编码译码双向总线.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文档。上传文档
查看更多
编码译码双向总线

实验报告 一、译码器 实验步骤: 译码器中最常见的是3—8译码器,它有3个二进制输入端a、b、c和8个译码输出端y0~y7。对输入a、b、c的值进行译码,就可以确定输出端y0~y7的哪一个输出端变为有效(低电平),从而达到译码的目的。 3-8译码器还有3个选通输入端g1、g2、g3。只有在g1 1,g2 0,g3 0时,译码器才能正常译码,否则y0~y7输出均为高电平。 实验代码及解释如下: library ieee; use ieee.std_logic_1164.all; entity decoder is --实体 port g1,g2,g3 : in std_logic; --选通输入端 a,b,c : in std_logic; --二进制输入端 y : out std_logic_vector 7 downto 0 --输出端,8位标准逻辑向量 ; end decoder; architecture decoder38 of decoder is --结构体,名称的首位不能是数字 signal input:std_logic_vector 2 downto 0 ; --信号量,3位标准逻辑向量 begin input a b c; --对信号量赋予变量 code:process g1,g2,g3,input --进程 begin if g1 1 and g2 0 and g3 0 then --用if语句,描绘选通情况下输入与输出的关系 case input is --用case语句罗列各个情况(case语句是无优先级的) when000 y when001 y when010 y when011 y when100 y when101 y when110 y when111 y end case; else --在未选通情况下,输出全1 y end if; end process; end decoder 仿真结果如下: 在选通即g1 1,g2 0,g3 0的情况下,输出均与预想的一致。未选通的情况下,输出全1,也与预想的一致。在仿真结果中明显看到输出有毛刺,有延迟,但属正常情况。 实验感想:3-8译码器不是一个很难的实验,只要搞懂了译码器的原理,利用行为描述就可以实现。由于是自己编写,编译过程中,遇到了很多小问题,例如结构体名首位写成数字,忘记了if语句的then等等,不过都在编译的时候解决了。仿真的时候没有遇到什么问题,只是延迟和毛刺较严重。 二、编码器 实验步骤: 此编码器是一个具有8位输入和3位输出的具有优先级的编码器,与3-8译码器是相对应的。编码器没有选通端,只有输入端和输出端。当其某个输入有效时,就输出对应的3位二进制编码。 library ieee; use ieee.std_logic_1164.all; entity coder is --实体 port input : in std_logic_vector 7 downto 0 ; --输入,8位标准逻辑向量 output : out std_logic_vector 2 downto 0 --输出,3位标准逻辑向量 ; end coder; architecture coder of coder is --结构体 begin code:process input --进程 begin if input 0 0 then --用if语句描绘编码的输入与输出,存在优先级 output 000; --优先级由0到7依次降低 elsif input 1 0 then output 001; elsif input 2 0 then output 010; elsif input 3 0 then output 011; elsif input 4 0 then output 100; elsif input 5 0 then output 101; elsif input 6 0 then output 110; else output 111; end if; end process; end architecture; 仿真结果如下: 仿真结果和预想的一致,在8位二进制输入的0~7位分别为0时,输出是0~7的3位二进制形式。也有明显的延时和毛刺。 实验感想

文档评论(0)

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

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

1亿VIP精品文档

相关文档