(七)基本逻辑电路设计课件.ppt

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

常用的预定义的程序包有四种。 1) STD_LOGIC_1164程序包 它是IEEE库中最常用的程序包,是IEEE的标准程序包。其中包含了一些数据类型、子类型和函数的定义,这些定义将VHDL扩展为一个能描述多值逻辑(即除具有“0”和“1”以外还有其他的逻辑量,如高阻态“Z”、不定态“X”等)的硬件描述语言,很好地满足了实际数字系统的设计需求。 ;2) STD_LOGIC_ARITH程序包 它预先编译在IEEE库中,是Synopsys公司的程序包。此程序包在STD_LOGIC_1164程序包的基础上扩展了三个数据类型:UNSIGNED、SIGNED和SMALL_INT,并为其定义了相关的算术运算符和转换函数。;3) STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包 这两个程序包都是Synopsys公司的程序包,都预先编译在IEEE库中。这些程序包重载了可用于INTEGER型及STD_LOGIC和STD_ LOGIC_VECTOR型混合运算的运算符,并定义了一个由STD_LOGIC_VECTOR型到INTEGER型的转换函数。 4) STANDARD和TEXTIO程序包 这两个程序包是STD库中的预编译程序包。STANDARD程序包中定义了许多基本的数据类型、子类型和函数。 ;第七章 基本逻辑电路设计 ; (1) 键控8421BCD码编码器。键控8421BCD码编码器的真值表如表7-1所示。 ;【例7-1】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY enco_bcd IS PORT(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9: IN STD_LOGIC; a,b,c,d,s: OUT STD_LOGIC); END enco_bcd; ARCHITECTURE rtl OF debcd IS SIGNAL tmp_in: STD_LOGIC_VECTOR(9 DOWNTO 0); SIGNAL tmp_out: STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN Tmp_in=s9s8s7s6s5s4s3s2s1s0; PROCESS(tmp_in) BEGIN ;CASE tmp_in IS WHEN1111111111=tmp_out=00000; WHEN1111111110=tmp_out=00001; WHEN1111111101=tmp_out=00011; WHEN1111111011=tmp_out=00101; WHEN1111110111=tmp_out=00111; WHEN1111101111=tmp_out=01001; WHEN1111011111=tmp_out=01011; WHEN1110111111=tmp_out=01101; WHEN1101111111=tmp_out=01111; WHEN1011111111=tmp_out=10001; WHEN0111111111=tmp_out=10011; WHEN OTHERS=tmp_out=00000; ;END CASE; s=tmp_out(0); d=tmp_out(1); c=tmp_out(2); b=tmp_out(3); a=tmp_out(4); END PROCESS; END rtl; ; (2) 优先级编码器。优先级编码器常用于中断的优先级控制等电路,例如,74LS148是一个8位输入,3位二进制输出的优先级编码器。当其某一个输入有效时,就可以输出一个与之对应的3位二进制编码。另外,当同时有几个输入有效时,将输出优先级最高的那个输入所对应的二进制编码。 74LS148编码器的真值表如表7-2所示。其中有8个输入端in0~in7,一个输入使能端e1,一个3位的编码输出端a2~a0,cs为码群输出选通端,e0为码群输出有效信号。 ;表7-2 74LS148编码器真值表 ; 如前所述,CASE语句和IF语句都可以描述编码器。但是,由于CASE语句中的WHEN项是无顺序的,因此不能描述优先级编码器。IF语句是自上而下执行的,因此第一个判别项优先级最高,最后判别项优先级最低。这样,用IF语句描述的74LS148优先级编码器如例7-2所示。 ;BEGIN Tmp_in=in7in6in5in4in3in2in1in0; Tmp_out=a2a1a0c

文档评论(0)

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

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

1亿VIP精品文档

相关文档