一 实验目的
1、熟悉利用Quartus II 9.0 软件开发数字电路的基本流程以及熟悉Quartus II软件的操作。
2、了解使用VHDL语言和原理图设计进行HDL描述的实现方法。
3、了解8位数字频率计的原理和实现方案。
4、掌握数字频率计的基本设计思路,软件环境参数配置,时序仿真,管脚分配,并且利用JTAG接口进行下载的常规设计流程。
5、掌握使用SIGNALTAP II进行硬件采样的具体过程。
二 实验前的准备
1、将红色的MODUL_SEL拨码开关组合的1、2、8拨上,3、4、5、6、7拨下,使数码管显示当前模式为:C1。
2、检查JTAG TO USB转换接口和USB连接线的连接,并且将JTAG线连接到核心板上的JTAG接口(核心板的第二个十针的插口)处。
三 实验要求
学习自顶而下的VHDL的设计思想,建立不同模块功能设计方案的有机组合,完成指定8位数字频率计的数字系统的设计方案。
四 实验原理
根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1s的输入信号脉冲计数允许信号;1s计数结束后,计数值被锁入寄存器,计数器清零,为下一测频计数周期做好准备。
五 实验内容
1、测频控制信号可以由一个独立的发生器产生。根据测频原理,测频控制时序要求计数使能信号CNT_ENA能产生一个1s脉宽的周期信号,并对频率计中的测频计数器的使能端ENABL进行同步控制。当计数使能端CNT_ENA高电平时允许计数;低电平时停止计数,并保持其所记的脉冲数。
2、在停止计数期间,首先需要一个锁存信号LOAD的上升沿将计数器在前一秒的计数值锁存进锁存器REG中,并可输出至外部的十六进制7段译码器输出频率数值。
3、锁存信号后,必须有一清零信号RST_CNT对计数器清零,为下一秒计数器的后续操作作准备。
4、在实验报告中给出顶层设计原理图文件,设计方案的时序仿真波形,以及SIGNALTAP II的测试波形。可使用自设分频单元设定输出频率为65535 Hz进行频率测试。
六 设计电路仿真与运行分析
(1)8位数字频率计的设计代码
8位数字频率计的顶层代码
8位数字频率计的顶层代码图
8位数字频率计的FTCTRL测频控制电路代码
FTCTRL测频控制电路代码图
8位数字频率计的32位计数器模块代码
8位数字频率计的32位计数器模块代码图
8位数字频率计的32位锁存器代码
8位数字频率计的32位锁存器代码图
- 工作原理
如图位8位频率计的工作原理图。
8位频率计工作原理图
工作原理:待测信号输入后经过脉冲形成电路后形成计数的窄脉冲后产生计数闸门信号,即可得到频率。若闸门开启的时间为T,待测信号频率为f,在闸门时间T内计数器计数值为N,则待测信号频率为f=N/T。闸门时间通常取1S。
(3)8位数字频率计RTL图
8位数字频率计的RTL图
8位数字频率计RTL分析:
CLK1HZ:输入时钟信号,参数可调,频率1HZ。
FSIN:控制信号输入。
FTCTTRL(u1):是测频控制电路,要求其及计数使能信号CNT_EN能够产生一个1S脉宽周期信号。
COUNTER32B:32位计数器,由FTCTTRL的CNT_EN信号控制。
REG32B:32位锁存器,在停止计数期间,由LOAD信号的上升沿将计数器接收器在前1S的计数值锁存进锁存器REG32B中,起到保存数据的作用
(4)时序仿真结果测试
条件1的时序仿真分析:
设置系统的参数分别为:END time=100s;CLK1HZ信号设置为1S,即1HZ频率输入;FSIN=250ms,作为控制电路输入。设置好参数后启动仿真,观察DOUT信号仿真输出的结果。
条件1仿真时序结果图
从仿真时序图分析可知:当CLK1HZ为1S输入而FSIN为250ms的时候,CLK1HZ信号是FSIN的4倍,即频率计在这一周期内数得的频率数从理论上分析应该为4个,化简为二进制即为0100。用32位表示位“00000000000000000000000000000100”,与DOUT仿真时的输出一致,说明频率计可以实现计数,计数器的设计是成功的。
条件2的时序仿真分析:
设置系统的参数分别为ENDtime=100s;CLK1HZ信号设置为1S,即1HZ频率输入;FSIN=100ms。作为控制电路输入。设置好参数后启动仿真,观察DOUT仿真输出的结果
条件2时序仿真结果图
从仿真时序图分析可知:当CLK1HZ为1S输入而FSIN为100ms的时候,CLK1HZ信号是FSIN的10倍,即频率计在这一周期内数得的频率数从理论上分析应该为10个,化简为二进制即为1010。用32位表示位“00000000000000000000000000001010”,与DOUT仿真时的输出一致,说明频率计的设计是成功的。