- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
秒表計数器的设计
PAGE1 / NUMPAGES6
数字系统设计实验报告
秒表计数器的设计
班 级:
学 号:
姓 名:
实验一 秒表计数器的设计
一、实验目的:
通过设计实现四种频率可选的二位显示秒表,以熟悉VHDL语言编程。
二、实验流程:
系统整体由分频器、多路选择器和计数器三个原件组成。
1.输入信号有4个,分别为复位信号(低有效)、时钟(提供整个系统的时钟信号)、选择器输入Sel1、Sel0(选择不同的频率输入)。
2.添加置位信号,以及添加置位信号后输入信号应为多少个。
3.输出引脚有8根,分别为个位count5(3 downto 0)和10位count10(3 downto 0)的计数(仿真结果使用16进制显示该两个输出信号的值)。
三、实验原理
1.分频器模块设计:
可选用计数器模块实现,如下所示:
if( rst = ’0’ ) then
count =”0000”
elsif( clk’event and clk = ‘1’) then
count = count+1;
end if;
clk2 = count(0);
clk4 = count(1);
clk8 = count(2);
clk16 = count(3);
2.多路选择器模块设计:
使用选择语句来实现:
case sel is
when “00” = clk = clk2;
when “01” = clk = clk4;
when “10” = clk = clk8;
when “11” = clk = clk16;
when others = null;
end case;
3.计数器模块的实现:
在本设计中总共要设计两个计数器分别用于实现个位(9-0),十位(5-0)的计数。
个位计数器:
process(clk1,rst,load)
begin
if(rst=0)then
count10=0000;
elsif(load=1)then
count10=counts10;
elsif( clk1event and clk1 =1) then
if( count10 1001 ) then
count10=count10+1;
else
count10=0000;
end if;
end if;
end process;
十位计数器:
process(count10(3),rst,load)
begin
if(rst=0)then
count5=0000;
elsif(load=1)then
count5=counts5;
elsif( count10(3)event and count10(3)=0) then
if( count50101 ) then
count5=count5+1;
else
count5=0000;
end if;
end if;
end process;
四、仿真结果及分析:
1.资源使用情况
结果分析:
由图可以看出所用资源较少。
2.仿真结果
其中,clk为系统时钟,rst为复位(清零)信号(低有效),load为置位信号(高有效),sel为频率选择信号,counts5和counts10、counto5和counto10、分别对应为:置位信号、秒钟输出。
五、实验心得:
这次实验比较基础,通过第一次的实验,我们了解了QuartusII软件的工作环境,学习并掌握了QuartusII软件的使用,学会了用软件进行编程及功能仿真、时序仿真的方法。
本次实验,让我们再一次熟悉了VHDL的编程,通过对分频器、多路选择器和计数器的模块编程,实现四种频率可选的二位显示秒表的功能。
附:源代码
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity exp2 is
port(clk,rst:in std_logic;
sel:in std_logic_vector(1 downto 0);
count5,count10:out std_logic_vector(3 downto 0));
end exp2;
architecture beha of exp2 is
signal clk1,clk2,clk4,clk8,clk16:std_logic;
signal count,ct1,ct2:std_logic_vector(3 downto 0);
begin
process(clk,rst)
begin
if(rst=0)then
文档评论(0)