Transcript Document
W W W . Q U S T . E D U . C N 硬件描述语言 青岛科技大学 2015/4/10 (1) 宋廷强 [email protected] 实验6 时序逻辑设计 W W W . Q U S T . E D U . C N 实验目的 进一步熟悉基于FPGA的设计流程 熟悉实验开发装置 完成具体实验程序的设计、仿真以及编 译下载等过程。 2015/4/10 青岛科技大学 2 宋廷强 [email protected] 实验内容 W W W . Q U S T . E D U . C N 在1s脉冲的作用下,以循环扫描方式 依次点亮六个数码管,显示数字;同 时,在一个按键地作用下,可使所显 示的数字依次从0——9循环。 2015/4/10 青岛科技大学 3 宋廷强 [email protected] 实验设备 W W W . Q U S T . E D U . C N 计算机一台 FPGA实验设备一套 QuartusII开发系统一套 2015/4/10 青岛科技大学 4 宋廷强 [email protected] 实验原理 W W W . Q U S T . E D U . C N LED 数码显示器是数字系统实验里面经常使用的一 种显示器件,因为它经常显示的是十进制或十六进 制的数,所以我们就要对实验里面所用到的二进制 数进行译码,将它们转换成十进制的或是十六进制 的数。LED 数码显示器分为共阴和共阳两种,本实 验使用的是共阴的连接,高电平有效。输入信号为 D0,D1,D2,D3,相应的输出8 段为a,b,c, d,e,f,g,Dp。 真值表及数码管与FPGA引脚对应关系参见实验指导, 完成管脚映射 2015/4/10 青岛科技大学 5 宋廷强 [email protected] 实验跳线 W W W . Q U S T . E D U . C N JHL2第一脚(即IO78)连接到秒脉冲输 出端,JHL2第三脚(即IO80)连接到上 升沿单脉冲输出端。按下单脉冲按键即 可实现实验目的。 2015/4/10 青岛科技大学 6 宋廷强 [email protected] W W W . Q U S T . E D U . C N 逻辑设计思路 一个六进制计数器count6,在CLK的作用下,产生一 个从000——101的二进制循环,并输出到IO30、 IO31和IO32,分别选通第一——第六个数码管。 一个十进制计数器count10,在Select的作用下,产生一 个从0000——1001的二进制循环,再经由一个四位二进 制数到七位数字显示码的译码器47decoder,输出到 IO19、IO21、IO22、IO23、IO25、IO27、 IO28 ,使数码管分别显示0——9。 2015/4/10 青岛科技大学 7 宋廷强 [email protected] W W W . Q U S T . E D U . C N Count6 Count6是一个六进制计数器,能以二进制的自然数顺 序由000计数至101。 脚位: 脉冲输入端:Clk 清除控制端:Clrn 预置控制端:Load 使能端:En 输出端:Q2、Q1、Q0 串接进位端:Co 2015/4/10 青岛科技大学 8 宋廷强 [email protected] W W W . Q U S T . E D U . C N count6真值表 上周期输入 控制线 默认值 输出 Q2,Q1,Q0 Clk Clrn Load En D2,D1,D0 Q2,Q1,Q0 X X 0 X X X 000 X ↑ 1 0 X ABC ABC Q2,Q1,Q0 ↑ 1 1 0 X Q2,Q1,Q0 000 ↑ 1 1 1 X 001 001 ↑ 1 1 1 X 010 010 ↑ 1 1 1 X 011 011 ↑ 1 1 1 X 100 100 ↑ 1 1 1 X 101 101 ↑ 1 1 1 X 000 2015/4/10 青岛科技大学 9 宋廷强 [email protected] W W W . Q U S T . E D U . C N Count10 Count10是一个四位十进制计数器,能以二进制 自然数顺序,由0000计数至1001。 脚位:控制线:Clrn、Ent、Enp、Load、Clk 数据输入线:D3、D2、D1、D0 数据输出线:Q3、Q2、Q1、Q0 串接进位线:Co=Q3ANDQ0ANDEnt 2015/4/10 青岛科技大学 10 宋廷强 [email protected] W W W . Q U S T . E D U . C N Clr Clk n Enable D[3..0] Q[3..0] Loa d Ent En D3 D2 D1 D0 Q3 Q2 Q1 Q0 p ↑ 0 X X X X X X X 0 0 0 0 ↑ 1 0 X X A B C D A B C D ↑ 1 1 0 1 X X X X Q(不变) ↑ 1 1 1 0 X X X X Q(不变) X Q=Q+1 最高数到 “1001” ↑ 1 2015/4/10 青岛科技大学 1 1 1 X X X 11 宋廷强 [email protected] W W W . Q U S T . E D U . C N 47decoder 47decoder就是一个七段式译码器,可将四位二 进制数转成数字显示码,以供数码管显示所用 脚位:输入线:D[3..0] 输出线:S[6..0] 2015/4/10 青岛科技大学 12 宋廷强 [email protected] W W W . Q U S T . E D U . C N 输入线 输出线 D3 D2 D1 D0 S0 S1 S2 S3 S4 S5 S6 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 2015/4/10 青岛科技大学 13 宋廷强 [email protected] 实验步骤 W W W . Q U S T . E D U . C N 准备实验前查阅本实验相关内容资料, 写出预习实验报告 构思程序设计方法 编写Verilog代码或原理图程序 编写仿真程序,并比较修改 下载到实验平台,观察结果 2015/4/10 青岛科技大学 14 宋廷强 [email protected] 实验要求 W W W . Q U S T . E D U . C N 完成设计输入、仿真及下载过程 利用仿真手段测试功能 下载程序到实验版,连接相应连线 观察实验结果 完成实验报告 2015/4/10 青岛科技大学 15 宋廷强 [email protected]