华农FPGA实验_实验五 十六进制7段数码管驱动电路的设计

一 实验目的

1、熟悉利用Quartus II 9.0 软件开发数字电路的基本流程以及熟悉Quartus II软件的操作。

2、了解使用VHDL语言和原理图设计进行HDL描述的实现方法。

3、掌握十六进制7段数码管驱动电路的基本设计思路,软件环境参数配置,时序仿真,管脚分配,并且利用JTAG接口进行下载的常规设计流程。

4、掌握使用SIGNALTAP II进行硬件采样的具体过程。

二 实验前的准备

1、将红色的MODUL_SEL拨码开关组合的1、2、8拨上,3、4、5、6、7拨下,使数码管显示当前模式为:C1.

2、检查JTAG TO USB转换接口和USB连接线的连接,并且将JTAG线连接到核心板上的JTAG接口(核心板的第二个十针的插口)处。

三 实验要求

掌握十六进制7段数码管显示译码的原理,实现对应的显示译码器VHDL设计方案。

四 实验内容

(一)十六进制7段数码显示译码器的设计

1、建立工程DECL7S,参考课本P140,结合实验设计4-4的实验原理,以文本输入的方式,给出十六进制7段数码显示译码器的VHDL设计方案。

2、将设计好的VHDL译码方案在Quartus II上进行编译、综合,并进行功能仿真,将仿真数据写入实验报告,并给出详细解释。

(二)十六进制7段数码显示译码器的硬件测试

1、引脚锁定(附录1)及硬件测试。将显示译码器的VHDL设计下载到FPGA上。

2、输入码用实验箱上的拨码组合控制,输出码用实验箱上的7个LED显示。

3、根据LED的显示情况对显示译码器硬件功能进行总结。

(三)计数器和显示译码器的连接设计

1、建立工程DIGIDISP,根据课本P140,图4-75的顶层文件原理图,将一个4位计数器和显示译码电路连接起来,使用原理图输入方法实现VHDL的设计。

2、对计数器和显示译码器相连接的设计方案进行综合、时序仿真,将仿真波形记录于实验报告中,并给出对应解释。

3、将计数器和显示译码器相连接的设计方案下载到FPGA中,要求,引脚锁定分别为CLOCK0与50MHz(或按键F1)锁定,RST0、ENA0与拨码SW1A、SW2A锁定,显示译码输出信号端口与LED[6..0]锁定,进位输出锁定LED7。

4、采用SIGNALTAP II采集数据,要求,CLOCK0与50MHz的时钟输入锁定,RST0、ENA0与拨码SW1A、SW2A锁定,显示译码输出信号端口与LED[6..0]锁定,进位输出锁定LED7。采用50MHz的采样信号,采样深度128,以ENA0的上升沿作为触发,对显示译码输出信号LED[6..0]和cout0的硬件信号进行采集,并将采集到的信号写入实验报告,并加以说明。

五 实验电路设计、仿真与硬件测试分析

  1. 组成模块设计代码图

十六进制计数器模块代码如图所示:

十六进制计数器模块代码图

DECL7S模块设计代码如图所示

DECL7S代码

计数器与译码器连接电路电路图如图所示

计数器与译码器连接电路电路图

  1. RTL图

十六进制计数器RTL图如图所示:

十六进制计数器RTL图

分析:

CLK

时钟信号,用于触发计数器的工作。

LOAD

加载信号,当为低电平('0')时,将输入的四位二进制数据加载到计数器。

如果加载信号(LOAD)为低电平,将输入的四位数据加载到计数器中。

如果加载信号为高电平,检查计数器值是否小于15,如果是,则递增计数器值,否则将计数器值重置为零。

DATA

四位二进制输入数据,用于加载到计数器。

DOUT

四位输出,表示当前计数器的值。输出当前计数器值到 DOUT。

COUT

进位输出,当计数器值达到15时为高电平('1'),否则为低电平('0')。如果计数器值等于 "1111"(十进制15),设置进位信号 COUT 为高电平,否则为低电平。

Q

一个四位的变量,用于存储当前计数值。

CLK

当时钟信号(CLK)的上升沿发生时,处理过程被触发。

十六进制DECL7S模块RTL图如图所示

十六进制DECL7S模块RTL图

分析:

A:四位输入二进制信号,用于选择要显示的数字。

LED7S:七段数码管的七个输出,用于显示对应的数字。

当输入信号 A 改变时,处理过程被触发。

使用 CASE 语句根据输入信号的不同值选择相应的输出值,将其赋给 LED7S。

输入值 A 的不同二进制模式分别对应不同的数字:

"0000" 对应 "1111111"

"0001" 对应 "0000110"

...

"1011" 对应 "0110001"

其他情况(WHEN OTHERS)设置 LED7S 为空(NULL)。

十六进制计数器与译码器连接RTL图如图所示

十六进制计数器与译码器连接RTL图

  1. 时序仿真图

十六进制计数器时序仿真图如图所示

十六进制计数器时序仿真图

十六进制DECL7S模块时序仿真图如图所示

十六进制DECL7S模块时序仿真图

总体电路连接部分引脚绑定图如图所示

总体电路连接部分引脚绑定图

十六进制计数器与译码器连接总体时序仿真图如图所示

十六进制计数器与译码器连接总体时序仿真图

  1. 硬件电路测试

硬件电路测试图

分析:把计数输出给显示的输入

6SignalTAP II运行结果

SignalTAP II运行结果

运行结果分析:

计数部分

实现了一个四位的十六进制计数器,可以通过时钟信号递增,并通过加载信号加载新的计数值。

进位信号 COUT

进位信号 COUT 在计数器值达到15时置为高电平,表示一个十六进制循环。

输出 DOUT 是当前计数器的二进制表示。

输出 DOUT

输出 DOUT 是当前计数器的二进制表示。

显示部分

将四位输入二进制数映射到相应的七段数码管输出,以显示对应的数字。

通过使用 CASE 语句,每个输入模式都有一个明确定义的输出。

六.实验结论

由仿真试验可知:

(1)设计功能正确,对应真值表,实现了十六进制7段数码管显示译码器的VHDL设计;

(2)该十六进制7段数码管驱动电路由一个十六进制计数器和一个译码器构成,十六进制计数器输出的7位分别接图3译码器的输入,译码器的输出接共阴极数码管,高位在左低位在右,数码管高电平有效。

由硬件测试可知

(1)硬件测试成功,成功绑定了对应端口。

(2)从Signal Tap II结果观察得知,可以实现计数,完成了实现了对应电路的设计。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值