DZ0546102105194游敏2专业文件.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文档。上传文档
查看更多
南昌大学实验报告 学生姓名: 游敏 学 号: 6102105194 专业班级: 电子054班 实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 07.11.21 实验成绩: 实验二 设计模可变计数器实验 一、实验目的 学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术; 学习7段数码显示译码器设计; 学习VHDL的CASE语句应用及多层次(例化语句的使用)设计方法; 二、实验要求 ⑴计设置一位控制位M,要求M=0:模X计数;M=1:模Y计数;(X、Y值任选) ⑵计数结果用两位数码管显示,显示BCD码; ⑶给出此项设计的仿真波形; ⑷应用实验装置验证此加法器的功能。 三、实验基本原理 a.要实现模20和60的转换,首先由一个控制位m,当m=0时是模20计数,m=1时是模60计数。另外有一个clk信号,当en=‘1’,又出现clk信号时,允许计数器计数,此时若满足计数值小于9,计数器进行正常计数,执行语句cqi:=cqi+1,否则向高一位进一。由于是bcd码表示,用两位数码管表示,当m=0时十位是0000~0001,当大于1时,则清零,个位为 0000~1001,大于9则向十位进位。当m=1时,十位为0000~0101,个位为0000~1001,当十位大于5时清零,个位大于9则进1。 b.置一个可变的模值作比较器,计数器根据可变的模值计数,再把加法计数器结果由7段显示译码器输出,由于7段显示译码已在实验箱中实现,直接将计数输出送往数码管即可。 四、实验步骤 1. 建立工作库文件夹,输入设计项目原理图或VHDL代码并存盘。 实验用vhdl语言描述如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT IS PORT ( CLK : IN STD_LOGIC; RST : IN STD_LOGIC; EN : IN STD_LOGIC; MSet : IN STD_LOGIC; YOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUT : OUT STD_LOGIC); END COUNT; ARCHITECTURE behav OF COUNT IS SIGNAL CQI : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL SMOD : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN SMOD =WHEN MSet = 0 ELSE; P_REG1: PROCESS(CLK, RST, EN ,CQI,SMOD) BEGIN IF RST = 1 THEN CQI = (OTHERS = 0); ELSIF CLKEVENT AND CLK = 1 THEN IF EN = 1 THEN IF CQI SMOD THEN CQI = CQI + 1; ELSE CQI = (OTHERS = 0); END IF; END IF; END IF; IF CQI = SMOD THEN COUT = 1; ELSE COUT = 0 ; END IF ; END PROCESS P_REG1 ; P_REG2: PROCESS(CQI) VARIABLE CQII : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CQI 10 THEN CQII := CQI; ELSIF (CQI 9 AND CQI 20) THEN CQII := CQI+6; ELSIF (CQI 19 AND CQI 30) THEN CQII := CQI+12; ELSIF (CQI 29 AND CQI 40) THEN CQII := CQI+18; ELSIF (

文档评论(0)

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

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

1亿VIP精品文档

相关文档