秒表计数器的设计.docx

秒表计数器的设计.docx

ID:58839786

大小:197.47 KB

页数:7页

时间:2020-09-24

秒表计数器的设计.docx_第1页
秒表计数器的设计.docx_第2页
秒表计数器的设计.docx_第3页
秒表计数器的设计.docx_第4页
秒表计数器的设计.docx_第5页
资源描述:

《秒表计数器的设计.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数字系统设计实验报告秒表计数器的设计班级:学号:姓名:实验一秒表计数器的设计一、实验目的:通过设计实现四种频率可选的二位显示秒表,以熟悉VHDL语言编程。二、实验流程:系统整体由分频器、多路选择器和计数器三个原件组成。1.输入信号有4个,分别为复位信号(低有效)、时钟(提供整个系统的时钟信号)、选择器输入Sel1、Sel0(选择不同的频率输入)。2.添加置位信号,以及添加置位信号后输入信号应为多少个。3.输出引脚有8根,分别为个位count5(3downto0)和10位count10(3downto0)的计数(仿真结果使用16进制显示该两个输出信号的值

2、)。三、实验原理1.分频器模块设计:可选用计数器模块实现,如下所示:if(rst=’0’)thencount<=”0000”elsif(clk’eventandclk=‘1’)thencount<=count+1;endif;clk2<=count(0);clk4<=count(1);clk8<=count(2);clk16<=count(3);2.多路选择器模块设计:使用选择语句来实现:caseseliswhen“00”=>clk<=clk2;when“01”=>clk<=clk4;when“10”=>clk<=clk8;when“11”=>clk<

3、=clk16;whenothers=>null;endcase;3.计数器模块的实现:在本设计中总共要设计两个计数器分别用于实现个位(9-0),十位(5-0)的计数。个位计数器:process(clk1,rst,load)beginif(rst='0')thencount10<="0000";elsif(load='1')thencount10<=counts10;elsif(clk1'eventandclk1='1')thenif(count10<"1001")thencount10<=count10+1;elsecount10<="0000";en

4、dif;endif;endprocess;十位计数器:process(count10(3),rst,load)beginif(rst='0')thencount5<="0000";elsif(load='1')thencount5<=counts5;elsif(count10(3)'eventandcount10(3)='0')thenif(count5<"0101")thencount5<=count5+1;elsecount5<="0000";endif;endif;endprocess;四、仿真结果及分析:1.资源使用情况结果分析:由图可以看出所

5、用资源较少。2.仿真结果其中,clk为系统时钟,rst为复位(清零)信号(低有效),load为置位信号(高有效),sel为频率选择信号,counts5和counts10、counto5和counto10、分别对应为:置位信号、秒钟输出。五、实验心得:这次实验比较基础,通过第一次的实验,我们了解了QuartusII软件的工作环境,学习并掌握了QuartusII软件的使用,学会了用软件进行编程及功能仿真、时序仿真的方法。本次实验,让我们再一次熟悉了VHDL的编程,通过对分频器、多路选择器和计数器的模块编程,实现四种频率可选的二位显示秒表的功能。附:源代码l

6、ibraryIEEE;useIEEE.std_logic_1164.all;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityexp2isport(clk,rst:instd_logic;sel:instd_logic_vector(1downto0);count5,count10:outstd_logic_vector(3downto0));endexp2;architecturebehaofexp2issignalclk1,clk2,clk4,clk8,clk16:st

7、d_logic;signalcount,ct1,ct2:std_logic_vector(3downto0);beginprocess(clk,rst)beginif(rst='0')thencount<="0000";elsif(clk'eventandclk='1')thencount<=count+1;endif;clk2<=count(0);clk4<=count(1);clk8<=count(2);clk16<=count(3);endprocess;process(clk2,clk4,clk8,clk16,sel)begincaseseli

8、swhen"00"=>clk1<=clk2;when"01"=>clk1<=clk4;when

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

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

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