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