组合逻辑实验报告模板.docVIP

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

石家庄经济学院 实 验 报 告 学 院: 信息工程学院 专 业: 计算机应用 信息工程学院计算机实验中心制 学号 XXXXX 姓名 实验日期 实验室 计算机软件技术实验 指导教师 邹 惠 设备编号 实验内容 数据选择器 实验题目 数据选择器的设计 实验目的 1.掌握数据选择器的逻辑功能和特点; 2.熟悉VHDL实现数据选择器的方法; 3.进一步熟悉Quartus的使用。 实验要求 数据选择器又叫多路开关,它在选择控制(地址码)的控制下,从几个数据输入中选择一个并将其送到一个公共的输出端。数据选择器的功能类似一个多掷开关。4选1数据选择器原理示意图如图所示。在VHDL语言中,可以用case语句来生成一个数据选择器。 图1 数据选择器的原理图 设计4路数据选择器,要求: (1)输入: 4个数据,每个数据是4位的二进制数(用std_logic_vector(3 downto 0)数据类型定义)。 选择控制端2位,根据控制端的二进制编码,从4个输入数据中选择一个需要的数据送到输出端。 使能端,当使能端有效时,输入的4个数据中的某个数据输送到输出端,当使能端无效时,输出为高阻态“ZZZZ”。 (2) 输出:一个4位的二进制数。 实验步骤 1. 真值表 要设计的数据选择器的真值表如表1所示。 表1 数据选择器的真值表 E_1’ A1 A0 D0 D1 D2 D3 F 0 0 0 D0 × × × D0 0 0 1 × D1 × × D1 0 1 0 × × D2 × D2 0 1 1 × × × D3 D3 1 × × × × × × “ZZZZ” 2. 示意图 图为设计结果的外部引脚示意图。 图2 数据选择器的外部引脚示意图 3. VHDL实现 完整的VHDL设计及必要的注释说明: library ieee; use ieee.std_logic_1164.all; entity data_selector is port( d0,d1,d2,d3:in std_logic_vector(3 downto 0); --分别为4路4位输入 a0,a1:in std_logic; --根据a0a1组合的不同选择f要输出的数据 f:out std_logic_vector(3 downto 0); --4位的输出 e_1:in std_logic); --使能端 end data_selector; architecture data_selectorp of data_selector is --结构体 signal sel:std_logic_vector(1 downto 0); begin sel=a1a0; process(d0,d1,d2,d3,sel,e_1) begin if e_1=1 then f(3 downto 0)=ZZZZ; elsif sel=00 then f(3 downto 0)=d0; elsif sel=01 then f(3 downto 0)=d1; elsif sel=10 then f(3 downto 0)=d2; elsif sel=11 then f(3 downto 0)=d3; end if; end process; end data_selectorp; 采用文本编辑的方法,将每一路的输入定义为4位的数据,使能端e_1为1时,实现高阻态输出,为0时,实现的是正常的4选1的输出,a0、a1是控制选择哪路输出的信号,由sel的不同决定输出。在process语句中嵌套if语句实现该数据选择器的功能。 4. 测试及分析 完整的仿真图如图3所示。 图3 完整的仿真图 仿真结果分析: e_1=0时,a0 a1的输入为:00、01、10、11时,f的值分别为:d0(0001)、d2(0111)、d1(0011)、d3(1111); e_1=1时,输出为高阻态。 证明该仿真结果完全正确,说明该4位4路数据选择器编写正确。 总结 在本次4位4选1数据选择器的代码编写过程中,我对理论教材上数据选择器的学习有了一个更加清楚明白的认识,而且学会了使能端的应用,并且了解了什么是高阻态的输出,与如何设定电路的高阻态的输出。 1.在设计的过程中主要出项的问题就是不明白什么是高阻态输出,而且不知道如何在程序中运用高阻态进行程序的编写,通过向老师询问以及课本知识的仔细查阅,我理解了,高阻态时,也就是该数据选择器被禁用时的状态,当然还有“Z

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档