含异步清零和同步时钟使能的加法计数器设计 下载本文

内容发布更新时间 : 2024/6/29 11:43:24星期一 下面是文章的全部内容请认真阅读。

广州大学学生实验报告

实验室: 电子信息楼 317EDA 2017 年 9月 18 日

学院 机电学院 年级、专电信业、班 151 姓名 苏伟强 学号 1507400051 实验课程名称 可编程逻辑器件及硬件描述语言 成绩 实验项目名称 实验2 含异步清零的同步时钟使能控制的加法计数器 指导老师 秦剑

一 实验目的

a) 学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术;

二 实验原理

图是一含计数使能、异步复位的4位加法计数器,例2-1是其VHDL描述。图中间是4位锁存器;rst是异步清信号,高电平有效;clk是锁存信号;D[3:0]是4位数据输入端。当ENA为‘1’时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为‘0’时保持上一次的输出。

三 实验设备

a) FPGA实验箱,Cyclone III EP3C40Q24C08

四 实验内容和结果

a) 编程

根据实验原理编程VHDL,rst是异步清信号,高电平有效;clk是锁存信号;CQ[3:0]是计数输出端,COUT是进位输出。上升沿计数,在计数到1111的时候进位(这里判断CQI的所有位为1时进位,表示计数到top值),清零,继续计数,将进位数据锁存在COUT端,不断更新。可以看到在进程中,首先判断rst信号是否为1,为1的话进行置位,优先级最高而且不受时钟信号控制(放在以时钟边沿测试表述clock’event and clock=’1’为条件语句的if语句以外),是异步置位。

b) 波形仿真

新建波形仿真文件,文件名和实体名称保持一致,可以看到,使能信号为1,在时钟信号的上升沿计数加一,如果有置位信号,则产生异步置位(置位最优先),计数到1111top值,进位并且自动清零,符合设计。

c) 引脚锁定和硬件调试

进入assignmen->assignment edit,category选择location,alt+1调出node finder,调出信号进行引脚绑定,引脚绑定的时候注意查看芯片引脚手册。如图为引脚锁定。选实验电路模式5,用键8(PIO7)控制RST;用键7(PIO6)控制ENA;计数溢出COUT接发光管D8(PIO15);OUTY是计数输出接数码1(PIO19-PIO16,低位靠右);时钟CLK接clock2(引脚号为54),通过跳线选择4Hz信号.下载到开发板中,可以看到,数码管在跳变,从0跳变到F,按键8可以进行置位,实验中如果接时钟信号频率过高,则没办法观察到明显的数码管显示。

d) RTL图观察

Tool->netlist viewers->RTL viewer观察RTL图。

分析:由图可见4位假发计数器由两大部分组成。第一是完成加一操作的存组合逻辑电路加法器。它右端输出的数始终比左端的数多1000,则输出为1001。第二是4位边沿触发方式锁存器。这是一个纯时序电路,计数信号CLK实际上是其锁存的信号。另外,在输出端还有一个反馈通道,它一方面将锁存器中的数据向外输出,一方面将此信号反馈回加一器,以作为下一次累加的基数。同时也发现输出接一个4位与门实现进位输出1。

e) 思考题

i. 是否可以不定义信号 CQI,而直接用输出端口信号完成加法运算,即: CQ <= CQ + 1 ?为

什么?

答:不能,因为CQ定义为out型数据,意思就是说CQ只能用于输出,然而,题目中给出的假设,CQ <= CQ + 1 ,在,=符号的两端都出现了CQ,表明CQ应当具有输入和输出两种端口模式特性,同时它的输入特性应该是具有反馈方式,即赋值符号“<=”右边的CQ来自左边的CQ的反馈,显然如果要这样的话,CQ的度端口模式为Buffer更为吻合。但是,表面上buffer具有双向端口inout的功能,但实际上其输入功能是不完整的,它只能将自己的输出的信号反馈回来,这并不意味着他具有输入功能。由于CQ1是内部信号,不必像端口信号那样需要定义他们的端口模式,即CQ1的数据流动方向是不受限制的。因此可以在CQ1<=CQ1+1(这里的+是重载的运算符)中用信号CQ1来完成累加的任务,然后累加的结果用语句CQ<=CQ1向端口Q输出。

五 实验分析总结

a) 在VHDL表述的时序模块中有这样的规律,一般的,凡是独立于时钟的异步控制 信号都放在以

时钟边沿测试表述clock’event and clock=’1’为条件语句的if语句以外,如异步复位信号,凡是依赖于时钟有效性的同步控制信号则放在边沿测试表述以内,如时钟使能信号。

b) 实验中如果时钟信号接高频率信号,则很难观察到计数的数码管显示,需要把技术的时钟频率降

下来,才能看到很明显的数码管跳变。

c) 详细的过程描述,实验过程中已经有详细给出。