秒表計数器的设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

fv45ffsjjI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档