1/100计时器的FPGA实现
显示位选择译码电路的功能是根据八进制计数器count8的计数输出来产生用于选通一个LED七段显示数码管的choose信号。当计数器的输出为“000”时,选通信号choose就被译成“00000001”;当计数器的输出为“001”时,选通信号choose就被译成“00000010”以下依此类推。
根据上文所需要求,以及输入信号和输出信号之间的关系,计时器中控制模块的VHDL描述”附录: 6 显示模块:se模块、display模块”所示。
2.2 底层文件仿真与分析
2.2.1计时模块的时序仿真 仿真结果如图3-1所示。
图 3-1 计时模块仿真波形图
由仿真波形图可以看出,当系统电源复位信号RST为低电平时,若使能信号EN有效则计数器开始有效计数。图中显示出FQ_M,MIAO_Q2, MIAO_Q1,XIAO_Q1和XIAO_Q2信号间的计数与进位情况。在XIAO_Q2计数计满10以后XIAO_Q1产生进位信号,XIAO_Q1在计满10以后MIAO_Q1产生进位信号, MIAO_Q1在计满9以后MIAO_Q2产生进位信号, MIAO_Q2在计满5以后F_Q产生进位信号。仿真结果满足设计要求。 2.2.2 控制模块的时序仿真 仿真结果如图3-3所示。
14
1/100计时器的FPGA实现
图 3-2 控制模块仿真波形图
由仿真结果可知,当复位信号RST0有效时,计数允许信号EN无效;而当复位信号RST0效并且去除抖动后的启/停信号EN0有效时,计数允许信号EN有效,在下一次启/停信号EN0有效时又变成无效。EN信号即为乒乓信号,该信号在EN0有效时就进行一次反相的操作。将EN作为计数允许信号的选通信号。仿真结果满足设计要求。
15
1/100计时器的FPGA实现
3.顶层文件仿真与分析
3.1使用Quartus II 9.0自带仿真器对设计进行仿真
3.1.1 计时器的顶层设计
前面己经详细地讨论了计时器中各个模块的设计细节以及相应的VHDL描述。最后把这些模块组装起来,以形成计时器数字系统的完整设计。下面根据图2-6所示的计时器各个模块的连接关系,给出计时器的顶层设计的VHDL描述,其中5个模块单元是以元件的形式给出的。计时器的顶层设计的VHDL描述如“附录:1 1/100s计时器FPGA实现顶层模块”所示。
3.1.2 顶层模块的时序仿真与分析
图3-6 顶层模块仿真波形图
在波形图中,外部时钟信号CLK为频率20MHz的方波时钟脉冲信号,EN为外部启/停开关信号,RST为整体复位开关信号。有仿真结果可以得出当系统通过完全复位以后,打开EN开关以后计数器正常计数,并输出到显示模块中去。显示模块中WEI为“00000001”时XIAO_Q1被选通,并输出“0000110”即在LED七段数码管中显示为“1”其他各个LED七段数码管均输出“0111111”即显示为“0”。仿真结果满足设计要求。
16
1/100计时器的FPGA实现
4.硬件验证分析
4.1 FPGA开发板简介
本设计使用的是FPGA黑金开发板EP2C5Q208C8,该平台包括很多电路功能模块。在本设计中主要使用该板核心板和6个LED七段数码管。
图 4-1 FPGA黑金开发板 (DB2C5)
(1)该平台的主要参数如下:
CPU CycloneII系列 型号: EP2C5Q208C8 20万门、4608个逻辑单元,速度级为8 ,片内RAM为 存储器 其他 64Mbit SDRAM 16Mbit 并行FLASH 6位高亮LED 20M有源晶振 120Kbit,片内乘法器模块有13个,时钟管理单元PLL有2个
(2)核心芯片简介:
17

