可编程逻辑器件和EDA技术实验报告.doc

可编程逻辑器件和EDA技术实验报告.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可编程逻辑器件和EDA技术实验报告

可编程逻辑器件及EDA技术实验报告 一、组合逻辑电路设计 数字逻辑电路按照逻辑功能的特点分为两类,一类是组合逻辑电路,简称为组合电路;另一类是时序逻辑电路,简称为时序电路。组合电路的特点是电路任意时刻输出状态只取决该时刻的输入状态,而与该时刻钱的电路状态无关。 1、逻辑门电路设计 实验原理:逻辑门电路包括基本逻辑门电路和符合逻辑门电路。VHDL语言可以直接支持的逻辑运算符共有七种逻辑运算,它们是: NOT 逻辑非 AND 逻辑与 NAND 逻辑与非 OR 逻辑或 NOR 或非 XOR 异或 XNOR 异或非 实验内容:例3-2的参考程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee. std_logic_unsigned.all; entity example3_2 is port(a,b,c,d:in std_logic; f:out std_logic_vector(3 downto 0)); end example3_2; architecture behavioral of example3_2 is begin f(0)=(a and b)or(b and c)or(not b and not c); f(1)=(a and b and c)or not(not a or not b or not c); f(2)=(a xor b xor c)or(not(d)and(a or c)); f(3)=not ((a and b)xor (c and d))or((a and b and d)xor(b and c and d)); end behavioral; 实验分析:用逻辑运算符是实现了相对较为复杂的逻辑运算。参考程序中使用括号来强制控制逻辑运算的优先级,对于用VHDL设计,这种写法是必修的。用这种方法可以简单、快捷地完成逻辑电路设计。 电路结构图: 实验波形仿真如下图: 2、常用编码器设计 编码是指用文字、符号和数码等来表示某种信息的过程。在数字系统中,由于采用二进制运算来处理数据,因此通常是将信息编成若干位二进制代码,而在逻辑电路中,信号都是以高、低电平的形式给出的。实现编码的数字电路称作编码器(encoder),编码器的逻辑功能就是把输入的每一个高低电平信号编成一组对应的二进制代码。 实验原理:根据8线-3线优先编码器的真值表可得,优先编码器的编码输入、编码输出均为低电平有效,且有使能输入和使能输出功能。 实验内容:例3.4试用VHDL设计一个8线-3线优先编码器,编码器输出为反码输出。 它的程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity example3_4 is port(sin:in std_logic; i:in std_logic_vector(7 downto 0); a:out std_logic_vector(2 downto 0); e,s:out std_logic); end example3_4; architecture behavioral of example3_4 is begin process(sin,i) begin if sin=1 then a=111;e=1;s=1; else if i(7)=0 then a=000;e=0;s=1; elsif i(6)=0 then a=001;e=0;s=1; elsif i(5)=0 then a=010;e=0;s=1; elsif i(4)=0 then a=011;e=0;s=1; elsif i(3)=0 then a=100;e=0;s=1; elsif i(2)=0 then a=101;e=0;s=1; elsif i(1)=0 then a=110;e=0;s=1; elsif i(0)=0 then a=111;e=0;s=1; else a=111;e=1;s=0; end if; end if; end process; end behavi

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档