设计异步清零和同步时钟使能的加法计数器.doc

上传人:罗晋 文档编号:6059943 上传时间:2020-09-02 格式:DOC 页数:10 大小:2.20MB
返回 下载 相关 举报
设计异步清零和同步时钟使能的加法计数器.doc_第1页
第1页 / 共10页
设计异步清零和同步时钟使能的加法计数器.doc_第2页
第2页 / 共10页
设计异步清零和同步时钟使能的加法计数器.doc_第3页
第3页 / 共10页
设计异步清零和同步时钟使能的加法计数器.doc_第4页
第4页 / 共10页
设计异步清零和同步时钟使能的加法计数器.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《设计异步清零和同步时钟使能的加法计数器.doc》由会员分享,可在线阅读,更多相关《设计异步清零和同步时钟使能的加法计数器.doc(10页珍藏版)》请在三一文库上搜索。

1、肃节附表1:蒇广州大学学生实验报告莇开课学院及实验室:物理与电子工程学院-电子楼317室 2016 年 4 月 21 日 膃学 院蚃物 电腿年级、专业、班膅芃姓名膃Jason.P蚇学号膈莃实验课程名称芀EDA技术实验荿成绩羇莃实验项目名称蚁设计含异步清零和同步时钟使能的加法计数器肁指 导 教 师蚆一、二、 蒂实验目的:肂学习计数器的设计、仿真和硬件测试,进一步熟悉VerilogHDL设计技术。葿三、四、 蒅实验内容:薂蒃含异步清0和同步时钟使能的4位加法器芁蒈(1)实验原理:蚂上图是一含计数使能、异步复位的4位加法计数器,书中例3-15是其VerilogHDL描述。由图2-1所示,图中间是4位

2、锁存器;rst是异步清信号,高电平有效;clk是锁存信号;D3:0是4位数据输入端。当ENA为1时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为0时保持上一次的输出。薀(2)实验步骤:虿(2)-1按照发给大家的文件“Quartus II 9.0基本设计流程-VerilogHDL.ppt”所讲述的步骤,在QuartusII上对例3-15(第四版)(第五版p124例5-15)进行编辑、编译、综合、适配、仿真。说明例2-1各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。芇(2)-2引脚锁定以及硬件下载测试:螂若目标器件是EP3C40Q240C8N,建议选实验电路模式

3、5,用键8(PIO7)控制RST;用键7控制ENA;计数溢出COUT接发光管D8;OUTY是计数输出接数码1;时钟CLK接clock2,通过跳线选择4Hz信号。引脚锁定后进行编译、下载和硬件测试实验。将实验过程和实验结果写进实验报告。羁五、六、 莁实验HDL描述:肆module CNT10(CLK,RST,EN,LOAD,COUT,DOUT,DATA)肆input CLK,EN,RST,LOAD; /定义输入信号莂input3:0 DATA; /定义4位的并行加载数据DATA袈output3:0 DOUT; /定义4位的计数输出数据DOUT肈output COUT; /定义进位输出信号COUT

4、膆reg3:0 Q1; /定义4位的寄存器型中间变量Q1螂reg COUT;薀assign DOUT = Q1; /将内部寄存器的计数结果输出至DOUT袇always (posedge CLK or negedge RST) /时序过程芆begin膃if(!RST) Q1 = 0; /RST=0时,对内部寄存器单元异步清0肈else if(EN)薆begin /同步使能EN=1,则允许加载或计数薁if(!LOAD) Q1 = DATA; /当LOAD=0,向内部寄存器加载数据薅else if(Q19) Q1 =Q1+1; /当Q1小于9时,允许累加羅else Q1 =4b0000; /否则一个

5、时钟后清零返回初值蚀end蚀end羆always (Q1) /组合过程蒃if (Q1=4h9) COUT = 1b1;蚃else COUT = 1b0;螀endmodule莇膅四、仿真结果:蒂袀图1螈薃图2膁羀由图1的时序波形可见,当EN=0时,DOUT的输出数据3保持了一段时间;羅当EN=1,且在时钟CLK的上升沿时间范围LOAD=0时,4位输入数据DATA=0被加载,在LOAD=1后作为计数器的计数初值(图1);聿当EN=1,LOAD=1时,输入的数据不被加载;螄RST在任意时刻均有效,即使CLK非上升沿时,计数也能即刻清0(图2:计数到3后清0);螄当计数到9时,COUT输出进位1,如图

6、2所示。肀薆五、引脚锁定:螇袄蒁芈六、硬件测试结果:薅蒃莁程序下载芅袃薃袁羇袆蚃羈虿蚅螃荿膇莄袂硬件测试效果(模式5)螀衿硬件测试的结果现象为:当键1(RST)、键2(EN)、键3(LOAD)均处于高电平时,数码管1依照时钟信号的周期(CLOCK0=1Hz),从0依次变化到9,当计数到9时,LED灯(D8:COUT)亮起。膃数码管1显示的过程中,按下键1(RST)时(变为低电平),数码管1即刻清零;按下键2(EN)时(变为低电平),数码管1保持显示当前的数字(如上硬件测试效果图:保持显示数字5);按下键3(LOAD)时(变为低电平),数码管1显示的数字变为由键8-键5确定的DATA值(上图为:

7、0011B,就是十进制数3),恢复键1-键3的高电平状态,计数功能正常运行。袂膁七、实验心得:芇通过本次实验,使我进一步熟悉了QuartusII的VerilogHDL文本设计流程以及电路仿真和硬件测试。本次实验的重难点是引脚锁定,数码管的显示是需要先经过译码器的处理,所以我选择了模式5。通过对照实验电路结构图以及芯片引脚的定义表,正确进行引脚锁定,否则编译会出错或者达不到预期的效果。总的来说,本次实验还是有一定的挑战性。八、思考题:给出含异步清零和同步使能的16位二进制加减可控计数器的VerilogHDL描述。module UPDOWNCNT16(Q,COUT,DATA,LOAD,EN,CLK

8、,RST,UP_DOWN)input15:0 DATA;input LOAD,EN,CLK,RST,UP_DOWN;output15:0 Q;output COUT;reg15:0 Q;always (posedge CLK or negedge RST)beginif(!RST) Q=16h0000; /异步清零,低电平有效else if(EN) /计数使能端,高电平有效beginif(!LOAD) Q=DATA; /同步置数,低电平有效if(UP_DOWN) Q=Q+1; /UP_DOWN=1时,加计数else Q=Q-1; /UP_DOWN=0时,减计数endendalways (Q)if(Q=16hFFFF & UP_DOWN)COUT=1b1;else if(Q=16h0000 & !UP_DOWN)COUT=1b1; /COUT=1表示进位输出或COUT=1表示借位输出endmodule说明:各学院(实验中心)可根据实验课程的具体需要和要求自行设计和确定实验报告的内容要求和栏目,但表头格式按照“实验项目名称”栏以上部分统一。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1