含异步清零和同步使能的加法计数器
一、 实验目的
1、 了解二进制计数器的工作原理。
2、 进一步熟悉QUARTUSII软件的使用方法和VHDL输入。
3、时钟在编程过程中的作用。
二、 实验原理
二进制计数器中应用最多、功能最全的计数器之一,含异步清零和同步使能的加法计数器的具体工作过程如下:
在时钟上升沿的情况下,检测使能端是否允许计数,如果允许计数(定义使能端高电平有效)则开始计数,否则一直检测使能端信号。在计数过程中再检测复位信号是否有效(低电平有效),当复位信号起作用时,使计数值清零,继续进行检测和计数。其工作时序如图4-3-1所示:
图4-3-1 计数器的工作时序
三、 实验内容
本实验要求完成的任务是在时钟信号的作用下,通过使能端和复位信号来完成加法计数器的计数。实验中时钟信号使用数字时钟源模块的1HZ信号,用一位拨动开关K1表示使能端信号,用复位开关RST表示复位信号,用LED模块的D1~D4来表示计数的二进制结果。实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。通过输入不同的值模拟计数器的工作时序,观察计数的结果。
四、 实验步骤
1、 打开QUARTUSII软件,新建一个工程。
2、 建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
3、 按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4、 编写完VHDL程序后,保存起来。方法同实验一。
5、 对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6、 编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
7、 根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。
如果是调用的本书提供的VHDL代码,则实验连线如下:
CLK:FPGA时钟信号,接数字时钟CLOCK4,并将这组时钟设为1HZ。
Ret:计数复位信号,接核心板按键开关RST。
EN:计数使能信号,接一个拨动开关K1(LOCK KEY AREA)。
CQ:计数进位信号,接一个LED灯D8(LED AREA)。
COUT:计数输出,接四个连续的LED灯D1-D4(LED AREA)。
8、 用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。
五、 实验现象与结果
以设计的参考示例为例,当设计文件加载到目标器件后,确认信号连接线已正确连接,将数字信号源的时钟选择为1HZ,使拨动开关K1置为高电平(使拨动开关向上),四位LED会按照实验原理中依次被点亮,当加法器加到9时,D8(进位信号)被点亮。当复位键(核心板上的RST键)按下后,计数被清零。如果拨动开关K1置为低电平(拨动开关向下)则加法器不工作。
六、 实验报告
1、 绘出仿真波形,并作说明。
2、 写出在VHDL编程过程中需要说明的规则。
3、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
4、改变时钟频率,看实验现象会有什么改变,试解释这一现象。