1、 桂林电子科技大学
实验报告
2015-2016学年第二学期
开 课 单 位 海洋信息工程学院
适用年级、专业 13级电子信息工程
课 程 名 称 EDA技术与应用
主 讲 教 师 覃琴
实 验 名 称 计数器的编程设计
学 号 1316030515
姓 名 魏春梅
2、
实验四 计数器的编程设计
一、实验目的
学会用Verilog HDL文本输入法设计加法计数器电路,并通过电路仿真和硬件验证,进一步了解加法计数器的功能和特性。
学会用Verilog HDL文本输入法设计减法计数电路,并通过电路仿真和硬件验证,进一步了解减法计数器的功能和特性。
二、实验原理
2位十进制加减法计数器电路的元件符号如图6.1所示,其中clk是时钟端,上升沿触发,clr异步清零,低电平有效;en使能控制端,高电平有效;sel是加减控制端,当sel为1时,计数器计数,当s
3、el为0时,计数器减计数;q是计数器的输出端,cout是计数器的进位输出端。
2位十进制加减法计数器元件符号图
三、实验设备
EDA实训仪1台
计算机1台(装有QuartusII软件)
四、实验内容
在QuartusII软件中,按照实验原理中2位十进制加减法计数电路的元件符号图,用Verilog HDL编程设计2位十进制加减法计数器电路,然后进行编辑、编译、仿真、引脚锁定,并下载到EDA实训仪中进行验证。
注:用EDA实训仪上的拨动开关S2~S0分别作为计数器异步清零输入端clr、使能端en和加减法控制端sel;按键K8作为计数器的时钟输入端clk,用数码管SEG1和SEG0
4、作为计数器的十位和个位输出端q;发光二极管L0作为计数器的进位输出端cout。
五、实验预习要求
复习理论课本有关计数器的内容,并认真阅读实验指导书,分析,掌握实验原理,熟悉理论课本中Quartus II软件的使用方法。
按照实验内容的要求,编写相应的实验程序,写出相应的实验步骤。
1、 Verilog HDL程序
2、仿真波形图
3、结果图
六、实验总结
用Verilog HDL进行加计数器和减计数器电路设计的方法
1、新建工程
2、新建Verilog HDL文件
3、编辑源程序
异步
5、清零输入端clr、下降沿有效。使能端en和加减法控制端sel(sel为高电平时做加法,sel为低电平时做减法。);时钟输入端clk,上升沿为有效边沿,当clr下降沿到来时,计数器被清零;clr无效时,clk上升沿上升沿到来时,计数器状态将加1或者减1。用数码管SEG1和SEG0作为计数器的十位和个位输出端q;发光二极管L0作为计数器的进位输出端cout。
同步清除,同步预置,异步清除,异步预置的区别
同步清除:复位变量clr不包含在always块的敏感变量表中,因此只有时钟clk在上升沿到来的时候,复位语句才能执行。构成同步复位。
异步清除:复位变量clr也包含always块的敏感变量表中,因此不受时钟变量的制约,当clr的上升沿到来的时刻电路立即被清除,构成异步复位电路。
同步预置:输入端获得置数信号后,只是为置数创造了条件,还需要再输入一个计数脉冲CP,计数器才能将预置数置入。
异步预置:即时钟触发条件满足时检测清零信号是否有效,如果有效的话,无视触发脉冲,立即清零。
通过这次实验让我了解了异步清零加减法计数器的原理,和设计过程。同时也学会了在怎么排除困难。