4位加法计数器.docVIP

  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文档。上传文档
查看更多
1一、实验目的: 学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL技术。 二、原理说明: 图2.1是一含计数使能、异步复位和计数值并行预置功能4位加法计数器,例2.1是其VHDL描述。由图2-1所示, 4位锁存器; rst是异步清0信号,高电平有效; clk是锁存信号; D[3..0]是4位数据输入端。 ENA是使能信号,当ENA为1时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为0时将0000加载于锁存器。 三、实验内容: 1. 建CNT4B的工程(project) 在QUARTUSII软件下创建一工程,工程名为CNT4B,芯片名为EP1C3T144,选择FPGA目标器件,根据DE2的平台情况,选择cyclone II系列的EP2C35F672C6,注意工程路径不要放到安装路径; 2. 设计half_adder的VHDL模块 新建VHDL语言文件,输入如下半加器VHDL语言源程序,并存盘为CNT4B.vhd; LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT4B IS PORT (CLK : IN STD_LOGIC; RST : IN STD_LOGIC; ENA : IN STD_LOGIC; CLK_1,RST_1,ENA_1 : OUT STD_LOGIC; --for the test OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC); END CNT4B; ARCHITECTURE behav OF CNT4B IS SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS ( CLK, RST, ENA) BEGIN IF RST = 0 THEN CQI = 0000 ; OUTY = 0000 ; COUT =0 ; ELSIF CLKEVENT AND CLK = 1 THEN IF ENA = 1 THEN CQI = CQI + 1; COUT = CQI(0) AND CQI(1) AND CQI(2) AND CQI(3); END IF; END IF; OUTY = CQI ; END PROCESS P_REG1 ; CLK_1 = CLK; RST_1 = RST; ENA_1 = ENA; END behav; 3. 编辑测试用波形文件 4. 进行仿真 (1)设置仿真器进行功能仿真: (2)设置仿真器进行时序仿真: 5. 锁引脚 (1)由assignments-assignment editor,打开引脚锁定对话框,按下表进行锁定 (2)锁好引脚,进行全编译(compile),重新布局布线,时序仿真 6. 下载 。 将instance框中的名字改为CNT4B 。 在CNT4B框双击,弹出节点(noder)对话框,选择需要观察的节点:CQI,COUT,OUTY。 。 存盘为CNT4B.STP,加入到CNT4B的工程中 。 由File-new,弹出对话框,选择SIGNALTAP LOGIC ANALYZER FILE 。 为了采样时钟足够大,将CLK由DE2的27MHZ时钟代替,即将CLK 引脚锁定在PIN_D13 。 由Processing-start compile 对文件进行全编译 。 连接DE2板,在JTAG Chain Configuration进行配置,和下载文件调入 。 按instance框的 进入数据分析 。 拨动ENA键,给出触发的上升沿,得到采集数据如下(结果正确) l 将CLK 引脚锁定在PIN_G26,对文件进行全编译,连接DE2板,在JTAG Chain Configuration进行配置,下载文件调入,分别拨动ENA键,RST键,CLK键,现象分析如下: (1) 当ENA键,置上(即1)时,期间如果不拨动RST键进行清零复位,那么每拨动一下CLK键,计数一次,由0—15,当计数满16,再按动一次CLK键给出上升沿触发,则进位灯亮;期间如果拨动RST键进行清零复位,那么计数从零开始; (2) 当ENA键,置下(即0)时,无使能信号,不进行计数。 四、思考题: 1、在例2-1中是否可以不定义信号 CQ1,而直接用输出端口信号完成加法运算,即 : OUTY = OUTY + 1 ? 答:不可以,因为信号OUTY定义的端口模式是OUT,是单向输出模式,所以只能作为输出信号,不能在结构体内再用来作为输入信号;如果OUTY定义的端口模式是BUFFER,就可以将计数器输出的计数信号回读来作为下

文档评论(0)

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

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

1亿VIP精品文档

相关文档