数字秒表实验报告.docx

数字秒表实验报告.docx

ID:57440437

大小:93.95 KB

页数:5页

时间:2020-08-16

数字秒表实验报告.docx_第1页
数字秒表实验报告.docx_第2页
数字秒表实验报告.docx_第3页
数字秒表实验报告.docx_第4页
数字秒表实验报告.docx_第5页
资源描述:

《数字秒表实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数字秒表一、实验目的1、理解计时器的原理与Verilog/VHDL的编程方法;2、掌握多模块设计及层次设计的方法。二、实验原理秒计时器是由计数器和译码器、显示器组成,其核心是计数器与译码器。60秒计时器可由二个计数器分别完成:个位为十进制计数器,十位为6进制计数。个位计数器的计数信号由实验开发板上主频20MHZ分频产生的1Hz时钟信号提供,十位计数器的计数信号由个位的进位信号提供。然后由译码器对计数结果进行译码,送LED数码管进行显示。Clr为清零,set为开始。三、源程序十进制计数器:moduleCNT10(clr,clk,ena,q,cout);inputclr,cl

2、k,ena;output[3:0]q;outputcout;reg[3:0]q;regcout;always@(posedgeclkorposedgeclr)beginif(clr)beginq=4'b0000;cout=0;endelseif(ena)if(q==4'b1001)beginq=4'b0000;cout=1;endelsebeginq=q+1;cout=0;endendendmodule六进制计数器:moduleCNT6(clr,clk,ena,q,cout);inputclr,clk,ena;output[3:0]q;outputcout;reg[3:0

3、]q;regcout;always@(posedgeclkorposedgeclr)beginif(clr)beginq=4'b0000;cout=0;endelseif(ena)if(q==4'b0101)beginq=4'b0000;cout=1;endelsebeginq=q+1;cout=0;endendendmodule分频器:moduleFPQ(clk0,clk1);inputclk0;outputclk1;reg[26:0]Q1;regclk1;always@(posedgeclk0)if(Q1<)Q1<=Q1+1;elsebeginQ1<=0;clk1<=

4、~clk1;endendmodule四、实验任务1、采用层次设计的方法,设计一个包括顶层及底层模块的60秒计时器,底层模块用Verilog/VHDL设计(或者选用原理图输入法中宏功能元件),顶层用原理图设计。2、秒计时器应当具有系统复位功能;五、实验步骤1、新建工程,注意工程名与顶层文件一致,顶层文件是最终形成的图形文件。2、分模块设计:分别设计10进制、6进制计数器、分频器模块,并生成模块符号。注意:每个模块都按一下步骤做一遍(1)新建verilog文件,编辑好后添加到刚才建好的工程里面。(2)把当前编辑的文件设成顶层文件。(3)编译,把错误的改正。(4)新建仿真文件,

5、存盘的时候注意文件名要和当前模块名一致,设置仿真时间,建议是50us或者100us,设置好仿真输入,然后设置仿真输入文件为当前要仿真的文件,最后查看仿真结果发现没有错误之后就可以生成模块符号了。3、建顶层。4、进行引脚锁定,并下载至开发系统验证。六、仿真结果十进制计数器:十进制计数器仿真结果没有错误。六进制计数器:六进制计数器仿真结果没有错误。七、顶层电路图:八、总结:此次实验学会了分模块完成项目的方法,分模块的方法可以使问题简单化,层次化,思路更加明了,错误的地方容易修改,是菜鸟和老鸟都很合适的方法,尤其是菜鸟,更加能接受。另外,通过这次试验,我更加了解了QUARTUS

6、II的使用方法,对它的功能也更加熟练了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。