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