一 实验目的
1、熟悉利用Quartus II 9.0 软件开发数字电路的基本流程以及熟悉Quartus II软件的操作。
2、了解使用VHDL语言和原理图设计进行HDL描述的实现方法。
3、掌握多阶时钟信号发生器的基本设计思路,软件环境参数配置,时序仿真,管脚分配,并且利用JTAG接口进行下载的常规设计流程。
4、掌握使用SIGNALTAP II进行硬件采样的具体过程。
二 实验前的准备
1、将红色的MODUL_SEL拨码开关组合的1、2、8拨上,3、4、5、6、7拨下,使数码管显示当前模式为:C1。
2、检查JTAG TO USB转换接口和USB连接线的连接,并且将JTAG线连接到核心板上的JTAG接口(核心板的第二个十针的插口)处。
三 实验要求
以十进制计数器为基本功能单元,设计一个多阶时钟输出信号发生器。时钟信号输入锁定片上自带的时钟引脚L1,即实现50MHz的时钟信号输入。时钟信号输出实现5M Hz、500K Hz、50K Hz、5K Hz、500 Hz、50 Hz、5 Hz、0.5 Hz多阶输出。
四 实验内容
建立本实验工程CLKGENE,工程文件夹名CLKGENE
(一)十进制计数器的设计
1、采用VHDL文本输入设计一个十进制计数器的设计方案,以CNT10.vhd的文件保存于本实验的工程目录下。
2、将十进制计数器的VHDL文件编译成符号文件CNT10.bsf,存放于工程目录下。
(二)多阶时钟输出信号发生器的设计
1、采用原理图输入的方法,以十进制计数器为基本功能单元,实现多阶时钟信号分频输出。
2、时钟信号输入锁定FPGA片上自带的时钟引脚L1,即实现50MHz的时钟信号输入。时钟信号输出实现5M Hz、500K Hz、50K Hz、5K Hz、500 Hz、50 Hz、5 Hz、0.5 Hz多阶输出。
3、对多阶时钟输出信号发生器的设计方案进行时序仿真,并根据波形详细描述设计的功能特点。(因频率跨度较大,可只对5M Hz、500K Hz的信号进行时序仿真)
(三)硬件功能测试
1、锁定引脚,并进行硬件下载测试。要求,时钟信号输入锁定FPGA片上自带的时钟引脚L1,即实现50MHz的时钟信号输入。时钟信号输出实现5M Hz、500K Hz、50KHz、以及0.5 Hz的4个信号输出与实验箱系统的LED3-LED0相连。通过手表测算估计0.5 Hz的信号输出的时间是否准确。
2、使用SIGNALTAP II 对本实验的多阶输出信号发生器进行实时测试。要求使用50MHz输出作为采样时钟,采样信号不设触发,采样深度2K,采集5M Hz、500K Hz、50KHz信号输出端口的实时信号。将实时采集的数据图形写进实验报告。
3、根据时序仿真波形、LED闪烁时间测试、以及SIGNALTAP II的实时采集波形,对该设计方案的实现情况进行详细分析。
五 电路设计、仿真与硬件测试分析
(1)十进制计数器(CNT10)设计代码图
CNT10的VHDL代码如图所示
CNT10的VHDL代码图
CNT10的作用:用于多阶时钟发生器的计数模块搭建,是十进制计数器,在该时钟信号发生器中有分频作用。多阶时钟信号发生器电路原理图
多阶时钟信号发生器电路设计的电路图
(3)多阶时钟信号发生器电路RTL图
多阶时钟信号发生器电路RTL图
多阶时钟信号发生器电路RTL图分析如下表所示:
时钟信号输入 | 一个50MHz的时钟通过锁定片上的L1时钟引脚输入,成为整个系统的基准时钟。 |
、 第一阶CNT10模块 | 基准时钟经过第一个CNT10模块,分频10倍输出5MHz。级联CNT10模块:每个CNT10模块接收前一模块输出,进一步分频10倍,实现每级输出为前一级的1/10频率。 |
多阶输出 | 通过级联多个CNT10模块,实现不同频率时钟输出,如第二级500KHz、第三级50KHz,直至最后一级0.5Hz的时钟信号。 |
- 多阶时钟信号发生器电路的时序仿真结果
如图为对应端口与硬件绑定的对应引脚图
时序仿真引脚绑定图
时序仿真结果图(密集)
时序仿真结果(放大)
(6)Signal TAP II逻辑分析仪信号采集结果
运行结果图
Signal TAP II逻辑分析:
基准时钟(50MHz): 最初的时钟信号呈现为频率最高的连续快速交替方波,其在多个十进制计数器的依次作用下实现分频作用,每个CNT10模块的输出波形周期为该CNT10模块输入信号的1/10。
5MHz输出 | 第一个CNT10模块的输出波形为基准时钟的1/10,方波周期为200ns(5MHz),每个高低状态持续100ns。 |
500KHz输出 | 第二级CNT10模块的输出波形为前一级输出的1/10,周期为2μs(500KHz),每个高低状态持续1μs。 |
50KHz输出 | 第三级CNT10模块的输出周期为20μs(50KHz),每个高低状态持续10μs。 |
5KHz | 以此类推,第四级输出周期为200μs(5KHz)。 |
500Hz | 以此类推,第五级输出周期为2ms(500Hz)。 |
50Hz | 以此类推, 第六级输出周期为20ms(50Hz)。 |
5Hz | 以此类推,第七级输出周期为200ms(5Hz)。 |
0.5Hz | 以此类推,最后一级输出周期为2秒(0.5Hz)。 |
多阶时钟信号发生器逻辑分析表
(7)实际硬件运行情况
实验硬件运行情况
六 实验结论
由仿真试验可知:
(1)设计功能正确,仿真实现了50MHz的时钟信号输入,时钟信号输出实现5MHz、500KHz、5KHz、500Hz、50Hz、5Hz、0.5Hz多阶输出的多阶时钟信号发生器设计;
(2)此多阶时钟信号发生器是基于多个十进制计数器按一定逻辑电路连接而成,仿真结果能实现功能,但每个上升沿并非绝对等长,故而仿真结果图有些许误差。
由硬件测试可知
(1)硬件测试成功,成功绑定了对应端口。
(2)从Signal Tap II结果观察得知,可以实现计数,完成了实现了对应电路的设计。