在电子技术中小数加减法简便运算运算电路图如何分析?推导公式如何理解?麻烦分析一下。

电子技术基础 (数字部分)4_电子技术基础(数字部分):数字电路(康华光版)_ppt_大学课件预览_高等教育资讯网
电子技术基础(数字部分):数字电路(康华光版):电子技术基础 (数字部分)4
分类: 格式: 日期:日
电子技术基础(数字部分)4 组合逻辑电路4.1组合逻辑电路的分析4.2组合逻辑电路的设计4.3组合逻辑电路中的竞争和冒险4.4常用组合逻辑集成电路4.5组合可编程电路4.6用 Verilog HDL描述 组合逻辑电路(自学)教学基本要求1.熟练掌握组合逻辑电路的分析方法和设计方法2.掌握编码器、译码器、数据选择器、数值比较器和加法器的逻辑功能及其应用;3.学会阅读 MSI器件的功能表,并能根据设计要求完成电路的正确连接。4.掌握可编程逻辑器件的表示方法,会用 PLD实现组合逻辑电路组合逻辑电路的一般框图Li = f (A1,A2,…,A n ) (i=1,2,…,m)工作特征,组合逻辑电路工作特点,在任何时刻,电路的输出状态只取决于同一时刻的输入状态而与电路原来的状态无关。序 关于组合逻辑电路结构特征,1、输出、输入之间没有反馈延迟通路,2、不含记忆单元=1L 1BCA Z=1L 2A 1 A2A nL 1L 2L m组合逻辑电路二,组合逻辑电路的分析步骤:4.1 组合逻辑电路分析1,由逻辑图写出各输出端的逻辑表达式;2,化简和变换逻辑表达式;3,列出真值表;4,根据真值表或逻辑表达式,经分析最后确定其功能。根据已知逻辑电路,经分析确定电路的的逻辑功能。一,组合逻辑电路分析三、组合逻辑电路的分析举例例 1 分析如图所示逻辑电路的功能。=1=1LBCA ZL Z C1.根据逻辑图写出输出函数的逻辑表达式2,列写真值表。)( CBAL10010110111011101001110010100000CBA BAZ001111003,确定逻辑功能:解:()A B CA B C输入变量的取值中有奇数个 1时,L为 1,否则 L为 0,电路具有为奇校验功能。如要实现偶校验,电路应做何改变?BA1CYXZ11&&&&&&例 2 试分析下图所示组合逻辑电路的逻辑功能。解,1、根据逻辑电路写出各输出端的逻辑表达式,并进行化简和变换。X = ABABAYCACAZ2、列写真值表BABACACAX = A真值表111011101001110010100000ZYXCBA000011110011110001011010BABAYCACAZ这个电路逻辑功能是对输入的二进制码求反码。最高位为符号位,0表示正数,1表示负数,正数的反码与原码相同;负数的数值部分是在原码的基础上逐位求反。3、确定电路逻辑功能 真值表111011101001110010100000ZYXCBA000011110011110001011010& & & & & & && & &1111DCBAY2 Y 1 Y 0( 1)写出逻辑函数表达式:D B ADCD B ADCY2ACDBCDCBDACDBCDCBDY1BDCDBDCDY0从逻辑函数式中不能直观地看出这个电路的逻辑功能和用途。需要把其转换成真值表的形式。例,试分析如下图电路的逻辑功能。解,( 2)作逻辑真值表:D C B A Y2Y1Y00 0 0 0 0 0 10 0 0 1 0 0 10 0 1 0 0 0 10 0 1 1 0 0 10 1 0 0 0 0 10 1 0 1 0 0 10 1 1 0 0 1 00 1 1 1 0 1 01 0 0 0 0 1 01 0 0 1 0 1 01 0 1 0 0 1 01 0 1 1 1 0 01 1 0 0 1 0 01 1 0 1 1 0 01 1 1 0 1 0 01 1 1 1 1 0 0ê? è? ê? 3?可以看出,当 DCBA表示的二进制数小于或等于 5时 Yo为 1,这个二进制数大于 5且小于 11时Y1为 1,当这个二进制数大于或等于 11时 Y2为 1。因此,这个逻辑电路可以用来判别输入的 4位二进制数数值的范围。D B ADCY2ACDBCDCBDY1BDCDY01、逻辑抽象:根据实际逻辑问题的因果关系确定输入、输出变量,并定义逻辑状态的含义;2,根据逻辑描述列出真值表;3,由真值表写出逻辑表达式 ;5,画出逻辑图。4,根据器件的类型,简化和变换逻辑表达式二、组合逻辑电路的设计步骤一、组合逻辑电路的设计:根据实际逻辑问题,求出所要求逻辑功能的最简单逻辑电路。4.2 组合逻辑电路的设计真值表电路功能描述组合逻辑电路的设计方法流图例,设计一个楼上、楼下开关的控制逻辑电路来控制楼梯上的路灯,使之在上楼前,用楼下开关打开电灯,上楼后,用楼上开关关灭电灯;或者在下楼前,用楼上开关打开电灯,下楼后,用楼下开关关灭电灯。设楼上开关为 A,楼下开关为 B,灯泡为 Y。并设 A,B闭合时为 1,断开时为 0;灯亮时 Y为 1,灯灭时 Y为 0。根据逻辑要求列出真值表。A B Y0 00 11 01 101101穷举法12逻辑表达式或卡诺图最简与或表达式化简 32BABAY已为最简与或表达式4逻辑变换5逻辑电路图 ABY=1用与非门实现 BABAYBAY用异或门实现真值表电路功能描述例,用与非门设计一个举重裁判表决电路。设举重比赛有 3个裁判,一个主裁判和两个副裁判。杠铃完全举上的裁决由每一个裁判按一下自己面前的按钮来确定。只有当两个或两个以上裁判判明成功,并且其中有一个为主裁判时,表明成功的灯才亮。设主裁判为变量 A,副裁判分别为 B和 C;表示成功与否的灯为 Y,根据逻辑要求列出真值表。1穷举法1A B C Y A B C Y0 0 00 0 10 1 00 1 100001 0 01 0 11 1 01 1 101112A B CCABCBAmmmY 7652逻辑表达式A BC 00 01 11 1001ABACY&&&3卡诺图最简与或表达式化简 45逻辑变换6逻辑电路图3化简 411 1Y= AB +AC 5 ACABY6例 某火车站有特快、直快和慢车三种类型的客运列车进出,试用两输入与非门和反相器设计一个指示列车等待进站的逻辑电路,3个指示灯一、二、三号分别对应特快、直快和慢车。列车的优先级别依次为特快、直快和慢车,要求当特快列车请求进站时,无论其它两种列车是否请求进站,一号灯亮。当特快没有请求,直快请求进站时,无论慢车是否请求,二号灯亮。当特快和直快均没有请求,而慢车有请求时,三号灯亮。解,1,逻辑抽象 。输入信号,I0,I1,I2分别为特快、直快和慢车的进站请求信号且有进站请求时为 1,没有请求时为 0。输出信号,L0,L1,L2分别为 3个指示灯的状态,且灯亮为 1,灯灭为 0。输 入 输 出I0 I1 I2 L0 L1 L20 0 0 0 0 01 × × 1 0 00 1 × 0 1 00 0 1 0 0 1根据题意列出真值表 (2) 写出各输出逻辑表达式。101 IIL?2102 IIIL?L0 = I0输 入 输 出I0 I1 I2 L0 L1 L20 0 0 0 0 01 × × 1 0 00 1 × 0 1 00 0 1 0 0 1真值表2,根据真值表写出各输出逻辑表达式。101 IIL? 2102 IIIL?L0 = I000 IL?101 IIL?2102 IIIL3,根据要求将上式变换为与非形式I 0L0L 1 I1I 2L2&111&&114,根据输出逻辑表达式画出逻辑图。00 IL? 101 IIL? 2102IIIL例 试设计一个码转换电路,将 4位格雷码转换为自然二进制码。可以采用任何逻辑门电路来实现。解,(1) 明确逻辑功能,列出真值表。设输入变量为 G3,G2,G1,G0为格雷码,当输入格雷码按照从 0到 15递增排序时,可列出逻辑电路真值表输出变量 B3,B2,B1和 B0为 自然二进制码。0 1 1 10 1 0 00 1 1 00 1 0 10 1 0 10 1 1 10 1 0 00 1 1 00 0 1 10 0 1 00 0 1 00 0 1 10 0 0 10 0 0 10 0 0 00 0 0 0B3 B2 B1 B0G3 G2 G1 G0输 出输 入1 1 1 11 0 0 01 1 1 01 0 0 11 1 0 11 0 1 11 1 0 01 0 1 01 0 1 11 1 1 01 0 1 01 1 1 11 0 0 11 1 0 11 0 0 01 1 0 0B3 B2 B1 B0G3 G2 G1 G0输 出输 入逻辑电路真值表0 0 0 00 0 0 01 1 1 11 1 1 1B 3G 0G 2G 3G 10 0 0 01 1 1 10 0 0 01 1 1 1B 2G 0G 2G 3G 1(2) 画出各输出函数的卡诺图,并化简和变换。33 GB2B? 2G3G2G3G2G3G1B? 1G? 2G3G 1G 2G3G 1G? 2G3G 1G( 2G3G )? 2G3G 1G? 2G3G )?2G3G 1G3G 2G? 1G0B3G 2G? 1G? 0G0 0 1 11 1 0 00 0 1 11 1 0 0B 1B 0G 2G 3G 10 1 0 11 0 1 00 1 0 11 0 1 0B 0G 0G 2G 3G 1(3) 根据逻辑表达式,画出逻辑图=1B 0B 1B 2B 3G 0G 1G 2G 3=1=1在组合电路中,当输入信号的状态改变时,输出端可能会出现不正常的干扰信号,使电路产生错误的输出,这种现象称为竞争冒险。竞争冒险是一种暂态,结束后逻辑恢复正常。4.3 组合逻辑电路中的竞争冒险4.3.1 产生的竞争冒险的原因竞争,当一个逻辑门的两个输入端的信号同时向相反方向变化,而变化的时间有差异的现象。冒险,两个输入端的信号取值的变化方向是相反时,如门电路输出端的逻辑表达式简化成两个互补信号相乘或者相加,由竞争而可能产生输出干扰脉冲的现象。1、产生竞争冒险的原因产生竞争冒险的原因:主要是门电路的 延迟时间 产生的。AA 1& Y1AAY1( a)( b)1 ≥ 1 Y2AAY2( a)( b)01 AAY 12 AAY当电路中存在由反相器产生的互补信号,且在互补信号的状态发生变化时产生冒险现象。2、消除竞争冒险的方法BCBAYY1ABC 00 01 11 100 0 0 0 11 0 1 1 1ABC123≥ 14&&有圈相切,则有竞争冒险ACBCBAY增加冗余项,消除竞争冒险Y1ABC≥ 1&&&( 1)增加冗余项,避免互补项相加若直接根据这个逻辑表达式组成逻辑电路,则可能出现竞争冒险。( 2)发现并消掉互补变量))(( CABAF在 B=C=0时 AAF?BCABACCABAF ))((在 B=C=0时,该逻辑式恒为 0,避免竞争冒险;当在 B=C=1时,该逻辑式恒为 1,也避免竞争冒险 。( 3)输出端并联电容器 (逻辑电路在较慢速度下工作 )容量为4―20pF之间1,)编码器 (Encoder)的概念与分类编码:赋予二进制代码特定含义的过程称为编码。如,8421BCD码中,用 1000表示数字 8如,ASCII码中,用 1000001表示字母 A等编码器:具有编码功能的逻辑电路。4.4.1 编码器4.4 若干典型的组合逻辑集成电路能将每一个编码输入信号变换为不同的二进制的代码输出。如 8线 -3线编码器:将 8个输入的信号分别编成 8个 3位二进制数码 输出。如 BCD编码器:将 10个编码输入信号分别编成 10个 4位码输出。编码器的逻辑功能,1,)编码器 (Encoder)的概念与分类编码器的分类:普通编码器和优先编码器。普通编码器:任何时候只允许输入一个有效编码信号,否则输出就会发生混乱。优先编码器:允许同时输入两个以上的有效编码信号。当同时输入几个有效编码信号时,优先编码器能按预先设定的优先级别,只对其中优先权最高的一个进行编码。1,)编码器 (Encoder)的概念与分类二进制编码器的结构框图普通二进制编码器1、编码器的工作原理I0I1Yn-1Y0Y11n2 -I二进制编码器2n个输入n位二进制码输出(1) 4线 ─2线普通二进制编码器 (设计 )1000010000100001Y0Y1I3I2I1I0( 2)逻辑功能表编码器的输入为高电平有效。Y 1Y 0I 0I 1I 2I 3( a)逻辑框图4输入二进制码输出110110001、编码器的工作原理IIIIIIIIYIIIIIIIIY该电路是否可以再简化?IIIIIIIIYIIIIIIIIYI 0I 1I 2I 31111&&&≥1Y 0Y 1&≥1(2.) 键盘输入 8421BCD码编码器(分析)2345678901S0S1S2S4S5S6S7S8S9VCC1k Ω × 10&&&&≥ 1&GSDCBAS3代码输出×≥使能标志×≥编码输入输 入 输 出S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 A B C D GS1 1 1 1 1 1 1 1 1 1 0 0 0 0 01 1 1 1 1 1 1 1 1 0 1 0 0 1 11 1 1 1 1 1 1 1 0 1 1 0 0 0 11 1 1 1 1 1 1 0 1 1 0 1 1 1 11 1 1 1 1 1 0 1 1 1 0 1 1 0 11 1 1 1 1 0 1 1 1 1 0 1 0 1 11 1 1 1 0 1 1 1 1 1 0 1 0 0 11 1 1 0 1 1 1 1 1 1 0 0 1 1 11 1 0 1 1 1 1 1 1 1 0 0 1 0 11 0 1 1 1 1 1 1 1 1 0 0 0 1 10 1 1 1 1 1 1 1 1 1 0 0 0 0 1该编码器为输入低电平有效2,键盘输入 8421BCD码编码器 功能表当所有的输入都为 1时,Y1Y0 =? Y1Y0 = 00无法输出有效编码。结论:普通编码器不能同时输入两个已上的有效编码信号I 0I 1I 2I 31111&&&≥1Y 0Y 1&≥1I2 = I3 = 1,I1= I0= 0时,Y1Y0 =? Y1Y0 = 003,优先编码器优先编码器的提出:实际应用中,经常有两个或更多输入编码信号同时有效。必须根据轻重缓急,规定好这些外设允许操作的先后次序,即优先级别。识别多个编码请求信号的优先级别,并进行相应编码的逻辑部件称为优先编码器。(2)优先编码器线 (4─2 线优先编码器 )(设计)( 1)列出功能表输 入 输 出I0 I1 I2 I3 Y1 Y01 0 0 0 0 0× 1 0 0 0 1× × 1 0 1 0× × × 1 1 1高低( 2)写出逻辑表达式( 3)画出逻辑电路(略)输入编码信号高电平有效,输出为二进制代码输入编码信号优先级从高到低为 I0I3 ~输入为编码信号 I3?I0 输出为 Y1 Y03321 IIIY +=33210 IIIIY +=优先编码器 CD4532的示意框图、引脚图2 集成电路编码器CD 4 532I 0I 1I 2I 3I 4I 5I 6I 7Y 0Y 1Y 2 EIEOGS12345678 9101 1121 314151 6 I 4I 5I 6I 7EIY 2Y 1GNDV CCEOGSI 3I 2I 1I 0Y 0I211111111111≥1≥1≥1≥1≥1≥1≥1&& 1& 1&& 1≥1≥1& 1GS1EO1 1&I1I7I6I5I4I3I0EIY2Y1Y0CD4532电路图优先编码器 CD4532功能表输 入 输 出EI I7 I6 I5 I4 I3 I2 I1 I0 Y2 Y1 Y0 GS EOL × × × × × × × × L L L L LH L L L L L L L L L L L L HH H × × × × × × × H H H H LH L H × × × × × × H H L H LH L L H × × × × × H L H H LH L L L H × × × × H L L H LH L L L L H × × × L H H H LH L L L L L H × × L H L H LH L L L L L L H × L L H H LH L L L L L L L H L L L H L为什么要设计 GS,EO输出信号?用二片 CD4532构成 16线 -4线优先编码器,其逻辑图如下图所示,试分析其工作原理。。CD 4 532 ( II )I0I1 I 2I3 I 4 I 5 I 6 I 7Y0Y1 Y 2EOEIGSCD 4 532 (I )I0I1 I 2 I 3 I 4 I 5 I 6 I 7Y0Y1 Y 2EOEIGSEI2EO2 EI 1EO1A8A9 A 10 A 11 A 12 A 13 A 14 A 15A0A1 A 2 A 3 A 4 A 5 A 6 A 7L0 L 1GS2L2GSG S1G3 G 2G1G0L3≥1≥ 1≥1≥10 00 0 0 0 0无编码输出0。CD 4 532( II )I0I1 I 2I3 I 4 I 5 I 6 I 7Y0Y1Y2EOEIGSCD 4 532( I )I0I1I2I3I4 I 5 I 6 I 7Y0Y1Y2EOEIGSEI2EO2 EI 1EO1A8A9A10A11A12A13 A 14A15A0A1A2A3A4A5A6A7L0 L1GS2L2GSG S1G3 G 2G1G0L3≥ 1≥ 1≥ 1 ≥ 11 10 0 0 00若无有效电平输入0 1 1 1那块芯片的优先级高?1若有效电平输入。CD 4 532( II )I0I1 I 2I3 I 4 I 5 I 6 I 7Y0Y1Y2EOEIGSCD 4 532( I )I0I1I2I3I4 I 5 I 6 I 7Y0Y1Y2EOEIGSEI2EO2 EI 1EO1A8A9A10A11A12A13 A 14A15A0A1A2A3A4A5A6A7L0 L1GS2L2GSG S1G3 G 2G1G0L3≥ 1≥ 1≥ 1 ≥ 11 01 0 0 00若有效电平输入1 1 1 1译码器的分类:译码,译码是编码的逆过程,它能将二进制码翻译成代表某一特定含义的信号,(即电路的某种状态 )1 译码器的概念与分类译码器,具有译码功能的逻辑电路称为译码器 。唯一地址译码器代码变换器将一系列代码转换成与之一一对应的有效信号。将一种代码转换成另一种代码。二进制译码器二 ―十进制译码器显示译码器常见的唯一地址译码器:4.4.2 译码器 /数据分配器2线 - 4线译码器的逻辑电路(分析)1A 111A 0&&&&E0Y1Y2Y3Y LHHHHHLHLHHLHLHHLHHLLHHHLLLLHHHH××HY3Y2Y1Y0A0A1E输出输 入功能表010 AAEY? 011 AAEY?012 AAEY? 013 AAEY?( 1.) 二进制译码器x 0x 1x n - 1y 0y 11-nyEI使能输入二进制译码器n 个输入端使能输入端2n个输出端设输入端的个数为 n,输出端的个数为 M则有 M=2n2,集成电路译码器(a) 74HC139集成译码器Y 0Y 1Y 2Y 3EA 0A 1A 0A 10Y1Y2Y3YE1 /2 7 4 x 1 3 9(1,)二进制译码器LHHHHHLHLHHLHLHHLHHLLHHHLLLLHHHH××HY3Y2Y1Y0A0A1E输出输 入功能表逻辑符号说明逻辑符号框外部的 符号,表示外部输入或输出信号 名称,字母上面的,―”号说明该输入或输出是低电平有效。符号框内部的输入、输出变量表示其内部的逻辑关系。在推导表达式的过程中,如果低有效的输入或输出变量 (如 )上面的,―”号参与运算 (如 E变为 E ),则在画逻辑图或验证真值表时,注意将其还原为低有效符号 。E 1A111&&&&Y0Y1Y2Y3A0Y0Y2Y1Y3EA1A0(b) 74HC138(74LS138)集成译码器A 0A 1A 21E2EE 37YG NDV CC1Y2Y3Y4Y5Y6Y0Y12345678 9101 1121 314151 6引脚图逻辑图74 HC 138Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7E 3E 2E 1A 0A 1A 274HC138集成译码器逻辑图E3A0A1A21 10Y1Y12Y3Y1 11 1&&&&&&&&1114Y5Y6Y7Y2E1E&&&&&&&&&74HC138集成译码器功能表2E 1E 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7YLHHHHHHHHHHLLHHLHHHHHHLHHLLHHHLHHHHHHLHLLHHHHLHHHHLLHLLHHHHHLHHHHHLLLHHHHHHLHHLHLLLHHHHHHHLHHLLLLHHHHHHHHLLLLLLHHHHHHHHH×××××LHHHHHHHH×××HX×HHHHHHHH××××H×A2E3输 出输 入A1 A02E 1E 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7YLHHHHHHHHHHLLHHLHHHHHHLHHLLHHHLHHHHHHLHLLHHHHLHHHHLLHLLHHHHHLHHHHHLLLHHHHHHLHHLHLLLHHHHHHHLHHLLLLHHHHHHHHLLLLLLHHHHHHHHH×××××LHHHHHHHH×××HX×HHHHHHHH××××H×A2E3输 出输 入A1 A00120 AAAY 0121 AAAY 0122 AAAY 0123 AAAY0125 AAAY 0126 AAAY0124 AAAY 0127 AAAYABCEY0Y1Y7Y5Y2Y6Y4Y31、已知下图所示电路的 输入信号的波形试画出译码器输出的波形。译码器的应用74 HC 138Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7E 3E 2E 1A 0A 1A 2+ 5 VEY 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7CBA74 H C 13 8Y0Y1+5VY2Y3Y4Y5Y6Y7E3E2E1A0A1A21/ 2 74 HC 13 9…………B0B1B2B3B4( 0)Y0Y1Y2Y3EA0A124L0L7L8L15L16L23L31L74 HC 13 8Y0Y1Y2Y3Y4Y5Y6Y7E3E2E1A0A1A2( I )74 HC 13 8Y0Y1Y2Y3Y4Y5Y6Y7E3E2E1A0A1A274 HC 13 8Y0Y1Y2Y3Y4Y5Y6Y7E3E2E1A0A1A2( II )( III )2,译码器的扩展用 74X139和 74X138构成 5线 -32线译码器~3线 C8线译码器的 ~ 含三变量函数的全部最小项。Y0 Y7基于这一点用该器件能够方便地实现三变量逻辑函数。3、用译码器实现逻辑函数。0120 AAAY 0m?74 HC 138Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7E 3E 2E 1A 0A 1A 2+ 5 VEY 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7ABC11 mCBAY77 mCBAY22 mBCAY,..当 E3 =1,E2 = E1 = 0时7620 mmmm74 HC 138Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7E 3E 2E 1A 0A 1A 27620 mmmmABCAL用一片 74HC138实现函数首先将函数式变换为最小项之和的形式在译码器的输出端加一个与非门,即可实现给定的组合逻辑函数,+ 5 VABCL &7620 YYYYA B CCABCBACBAL数据分配器:相当于多输出的单刀多掷开关,是一种能将从数据分时送到多个不同的通道上去的逻辑电路。数据分配器示意图数据输入通道选择信号Y 0Y 1Y 7用 74HC138组成 数据分配器用译码器实现数据分配器74 HC 138Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7E 3E 2E 1A 0A 1A 2A 0+ 5 VD = E 2E 1Y 0Y 0010YCBADEEY 232?当 ABC = 010 时,Y2=DCBA输 入 输 出E3 E2 E1 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7L L X X X X H H H H H H H HH L D L L L D H H H H H H HH L D L L H H D H H H H H HH L D L H L H H D H H H H HH L D L H H H H H D H H H HH L D H L L H H H H D H H HH L D H L H H H H H H D H HH L D H H L H H H H H H D HH L D H H H H H H H H H H D74HC138译码器作为数据分配器时的功能表集成二 C十进制译码器 - 744212345678 9101 1121 314151 6Y1Y2Y3Y4Y5Y6Y0G N D Y7Y8Y9A3A2A1A0VCCA0A1A2A311111111&&&&&&&&&&Y9Y8Y7Y6Y5Y4Y3Y2Y1Y0功能:将 8421BCD码译成为 10个状态输出。功能表十进制数BCD输入 输 出A3 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y90 L L L L L H H H H H H H H H1 L L L H H L H H H H H H H H2 L L H L H H L H H H H H H H3 L L H H H H H L H H H H H H4 L H L L H H H H L H H H H H5 L H L H H H H H H L H H H H6 L H H L H H H H H H L H H H7 L H H H H H H H H H H L H H8 H L L L H H H H H H H H L H9 H L L H H H H H H H H H H L对于 BCD代码以外的伪码( 1010~ 1111这 6个代码) Y0 ~ Y9 均为高电平。( 2) 集成二 C十进制译码器 ――7442显示译码器脉冲信号计数器 译码器 驱动器显示器K Hz1,七段显示译码器( 1)最常用的显示器有:半导体发光二极管和液晶显示器。abcdefg共阳极显示器abcdefg共阴极显示器abcdf ge显示器分段布局图b=c=f=g=1,a=d=e=0时c=d=e=f=g=1,a=b=0时共阴极真值表仅适用于共阴极 LED常用的集成七段显示译码器----------CMOS七段显示译码器 74HC4511a bc d ef gD 07 4 H C 4 5 1 1D 3 D 2 D 1 LT BL LELTHHLHHHHHLLHHHL9HHHHHHHLLLHHHL8LLLLHHHHHHLHHL7HHHHHLLLHHLHHL6HHLHHLHHLHLHHL5HHLLHHLLLHLHHL4HLLHHHHHHLLHHL3HLHHLHHLHLLHHL2LLLLHHLHLLLHHL1LHHHHHHLLLLHHL0gfedcba 字形输 出输 入十进制或功能 D3 D2 D1 D0BLLECMOS七段显示译码器 74HC4511功能表**××××HHH锁 存熄灭LLLLLLL××××HL×灭 灯HHHHHHH××××L××灯 测试熄灭LLLLLLLHHHHHHL15熄灭LLLLLLLLHHHHHL14熄灭LLLLLLLHLHHHHL13熄灭LLLLLLLLLHHHHL12熄灭LLLLLLLHHLHHHL11熄灭LLLLLLLLHLHHHL10LT gfedcba字形输 出输 入十进制或功能 BLLED3 D2 D1 D0CMOS七段显示译码器 74HC4511功能表 (续 )例 由 74HC4511构成 24小时及分钟的译码电路如图所示,试分析小时高位是否具有零熄灭功能。H 7 H 6 H 5 H 40( 0 )4 5 1 1 ×4显示器× 41( 0 )( I )( II )( III )a ~ g a ~ g a ~ g a ~ gLTLEBL( II I )D3 D 2 D 1 D 0LTLEBL( I )LTLEBL( II )LTLEBL1≥1H 3 H 2 H 1 H 0 M7M6M5M4M3M2M1M0D 3 D 2 D 1 D 0D 3 D 2 D 1 D 0D 3 D 2 D 1 D 04.3.3 数据选择器1、数据选择器的定义与功能数据选择的功能:在通道选择信号的作用下,将多个通道的数据分时传送到公共的数据通道上去的。数据选择器:能实现数据选择功能的逻辑电路。它的作用相当于多个输入的单刀多掷开关,又称,多路开关,。通道选择信号数据输出I 0I 112-nIS1S0E1 1 1I 0I1I2I3&≥ 1Y4选 1数据选择器2 位地址码输入端使能信号输入端,低电平有效1路数据输出端( 1)逻辑电路数据输入端( 2)工作原理及逻辑功能0 0I30 11 1 =1=0S 1 S 0 E1 1 1I 0I 1I 2I 3&≥ 1Y ISSISSISSISSY mImImImIY0××1YS0S1E地址使能 输出输 入功能表0 0 0 I00 0 1 I10 1 0 I20 1 1 I374LS151功能框 图D7YYE74HC151D6D5D4D3D2D1D0S2 S1 S02、集成电路数据选择器8选 1数据选择器 74HC1512、集成电路数据选择器ED0D1D2D3D4D5D6D7S0S1S2YY1111111&&&&&&&&&&≥1≥12个互补输出端8 路数据输入端1个使能输入端3 个地址输入端74LS151的逻辑图输 入 输 出使能选择 Y YE S2 S1 S0H X X X L HL L L L D0L L L H D1L L H L D2L L H H D3L H L L D4L H L H D5L H H L D6L H H H D73,74LS151的功能表0D1D2D3D4D5D6D7DDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSYiiimDY?70当 E=1时,Y=1 。当 E=0时① 数据选择器组成逻辑函数产生器控制 Di,就可得到不同的逻辑函数。5、数据选择器 74LS151的 应用当 D0 =D3=D5 = D7=0D1 =D2=D4= D6=1 时:当 D0 =D3=D5 = D7=1D1 =D2=D4= D6=0 时:D7YYE74LS151D6D5D4D3D2D1D0S2 S1 S0iiimDY?706421 mmmmY7530 mmmmY当 E=0时,比较 Y与 L,当 D3=D5=D6=D7= 1 D0=D1=D2=D4=0时,D7 E74HC151D6D5D4D3D2D1D0S2S1S0LYXYZ10Y=L例 1 试用 8选 1数据选择器 74LS151产生逻辑函数XYZYXYZXLZXYXYZYXYZXXYZYXYZXLZ)Z(Z0?E 2SX? 1SY? 0SZ?1100 DmDmDmDmDmDmDmDmY7653 mmmmL解,利用 8选 1数据选择器组成函数产生器的一般步骤a、将函数变换成最小项表达式b、将使器件处于使能状态c、地址 信号 S2,S1,S0 作为函数的输入变量d、处理数据输入 D0~D7信号电平。逻辑表达式中有mi,则相应 Di =1,其他的数据输入端均为 0。总结,用两片 74151组成二位八选一的数据选择器② 数据选择器的扩展位的扩展S2S1S0D00D01D02D03D04D05D06D07Y Y0Y174 HC 1510Y1YD0D1D2D3D4D5D6D7S0S2S1EYED10D11D12D13D14D15D16D17Y74 HC 151D0D1D2D3D4D5D6D7S0S2S1EY( 0)( I )字的扩展将 两片 74LS151连接成一个 16选 1的数据选择器,DCBAD0D1D2D3D4D5D6D7Y74 HC 151D0D1D2D3D4D5D6D7S0S2S1EYD8D9D1 0D1 1D1 2D1 3D1 4D1 5YD0D1D2D3D4D5D6D7S0S2S1EY1YY≥1&( 0)74 HC 151( I )0 1 0 0 1 1 0 1L74H C 151D 0 D 1 D 2 D 3 D 4 D 5 D 6D 7ES 2S 1S 0YS 2S 1S 0③ 实现并行数据到串行数据的转换S 0S 1LS 20 1 0 0 1 1 0 11,1位数值比较器 (设计 )数值比较器:对两个 1位数字进行比较( A,B),以判断其大小的逻辑电路。输入:两个一位二进制数 A,B。输出,F BA& =1,表示 A大于 BF BA& =1,表示 A小于 BF BA= =1,表示 A等于 B4.4.4 数值比较器BA11&&≥ 1F A > BF A = BF A < B1位数值比较器BA=F BA&BA=F BA&ABBA +=F BA=一位数值比较器真值表10011001010101010000FA=BFA&BFA&BBA输 出输 入2,2 位数值比较器:输入:两个 2位二进制数 A=A1 A0,B=B1 B0能否用 1位数值比较器设计两位数值比较器?比较两个 2 位二进制数的大小的电路当高位 ( A1,B1)不相等时,无需比较低位( A0,B0),高位比较的结果就是两个数的比较结果。当高位相等时,两数的比较结果由低位比较的结果决定。用一位数值比较器设计多位数值比较器的原则真值表001010100A0 &B0A0 &B0A0 =B0A1 =B1A1 =B1A1 =B1010×A1 &B1001×A1 &B1FA=BFA&BFA&BA0 B0A1 B1输 出输 入FA&B = (A1&B1) + ( A1=B1)(A0&B0)FA=B=(A1=B1)(A0=B0)FA&B = (A1&B1) + ( A1=B1)(A0&B0)两位数值比较器逻辑图A 1B 1A 0B 01 位数值比较器1 位数值比较器A 1 > B 1A 1 = B 1A 1 < B 1A 0 > B 0A 0 = B 0A 0 < B 0G1G2&&G3&≥ 1≥ 1 FA > BF A = BF A < BFA&B = (A1&B1) + ( A1=B1)(A0&B0) FA=B=(A1=B1)(A0=B0)FA&B = (A1&B1) + ( A1=B1)(A0&B0)3 集成数值比较器A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3I A > BI A < BI A = BF A < B FA = B F A > B74LS8512345678 9101 1121 314151 6 B3I A < BI A = BI A > BF A > BF A = BF A < BG N DV CCA 3B 2A 2A 1B 1A 0B 0(1,) 集成数值比较器 74LS85的功能74LS85的引脚图74LS85是四位数值比较器,其工作原理和两位数值比较器相同。74LS85的示意框图输 入 输 出A3 B3 A2 B2 A1 B1 A0 B0 IA&B IA&B IA=B FA&BFA&BFA=BA3 & B3 × × × × × × H L LA3 & B3 × × × × × × L H LA3 = B3 A2 & B2 × × × × × H L LA3 = B3 A2 & B2 × × × × × L H LA3 = B3 A2 = B2 A1 & B1 × × × × H L LA3 = B3 A2 = B2 A1 & B1 × × × × L H LA3 = B3 A2 = B2 A1 = B1 A0 & B0 × × × H L LA3 = B3 A2 = B2 A1 = B1 A0 & B0 × × × L H LA3 = B3 A2 = B2 A1 = B1 A0 = B0 H L L H L LA3 = B3 A2 = B2 A1 = B1 A0 = B0 L H L L H LA3 = B3 A2 = B2 A1 = B1 A0 = B0 × × H L L HA3 = B3 A2 = B2 A1 = B1 A0 = B0 H H L L L LA3 = B3 A2 = B2 A1 = B1 A0 = B0 L L L H H L4位数值比较器 74LS85的功能 表用两 片 74LS85组成 8位数值比较器(串联 扩展方式)。2,集成数值比较器的位数扩展输入,A=A7 A6A5A4A3 A2A1A0 B=B7B6B5B4B3 B2B1B0输出,F BA& F BA& F BA?高位片输出低位片A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 A 4 B 4 A 5 B 5 A 6 B 6 A 7 B 7A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3I A > BI A < BI A= BF A < B F A= B FA > BC 0I A > BI A < BI A= BF A < B F A= B FA > BC 1010F A < B F A = B F A > BB3A3~B0A0 B7A7~B4A4用两 片 74LS85组成 16位数值比较器(串联 扩展方式)。A0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 A 4 B 4 A 5 B 5 A 6 B 6 A 7 B 7A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3I A > BI A < BI A = B FA <BF A = B F A >BC 0I A > BI A < BI A = B FA <BF A = B F A >BC 1F A <BF A = B F A >B高位片输出低位片B3A3~B0A0 B7A7~B4A4 B11A11~B8A8 B15A15~B12A12010A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 A 4 B 4 A 5 B 5 A 6 B 6 A 7 B 7A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3I A > BI A < BI A = B FA <BF A = B F A >BC 0I A > BI A < BI A = B FA <BF A = B F A >BC 1F A <BF A = B F A >B采用串联扩展方式 数值比较器用 74HC85组成 16位数值比较器的并联扩展方式。A 0 B0A 12 B 12I A < BI A = BI A > BF A <BF A >BC 3A 1 B1A 2 B2A 3 B3A 1 5 B 1 5 A 8 B 8A 0 B0I A < BI A = BI A > BF A <BF A >BC 2A 1 B1A 2 B2A 3 B3A 4 B 4 A 0 B 0A 0 B0I A < BI A = BI A > BF A <BF A >BC 1A 1 B1A 2 B2A 3 B3A 0 B0I A < BI A = BI A > BF A <BF A >BC 0A 1 B1A 2 B2A 3 B3B 0 A 1 B 1 A 2 B 2 A 3 B 3A 0001001001001001F A <BF A >BF A = BC 4I A < BI A = BI A > BB3A3~B0A0B7A7~B4A4B11A11~B8A8B15A15~B12A12输出4.4.5 算术运算电路ABSC HAFAA iB iC i - 1 C iS i@在两个 1位二进制数相加时,不考虑低位来的进位的相加---半加@在两个二进制数相加时,考虑低位进位的相加---全加加法器分为半加器和全加器两种。半加器 全加器1、半加器和全加器两个 4 位二进制数相加,( 1) 1位半加器( Half Adder)不考虑低位进位,将两个 1位二进制数 A,B相加的器件。半加器的真值表逻辑表达式1000C011110101000SBA半加器的真值表AB=1& C =A BBASBABAS如用与非门实现最少要几个门?C = AB逻辑图( 2) 全加器( Full Adder)1110100110010100全加器真值表全加器能进行加数、被加数和低位来的进位信号相加,并根据求和结果给出该位的进位信号。0 1 0 11 0 1 0SiAiCi - 1Bi0 0 1 00 1 1 1CiAiCi - 1Bi111011101001110010100000CSCBA你能用 设计 全加器吗?用这两种器件组成逻辑函数产生电路,有什么不同?iiiiiCBAA B CCBACBACBASiiio)( CBAABBCACBAABCS ABC i CoBA?iCBAAB i)( CBA?≥ 1COCOABSC O CiC OC I于是可得全加器的逻辑表达式为加法器的应用1110100110010100全加器真值表111011101001110010100000CSCBAABC有奇数个 1时 S为 1;ABC有偶数个 1和全为 0时S为 0。-----用全加器组成三位二进制代码奇偶校验器用全加器组成八位二进制代码奇偶校验器,电路应如何连接?( 1)串行进位加法器如何用 1位全加器实现两个四位二进制数相加?A3 A2 A1 A0 + B3 B2 B1 B0 =?低位的进位信号送给邻近高位作为输入信号,采用串行进位加法器运算速度不高。2、多位数加法器0 B 0 A 1 B 1 A 2 B 2 A 3 B 3S 0 S 1 S 2 S 3C 3 C 0 C 1 C 2FA 0 FA 1 FA 2 FA 30定义两个中间变量 Gi和 Pi,Gi= AiBi( 2)超前进位加法器提高运算速度的基本思想:设计进位信号产生电路,在输入每位的加数和被加数时,同时获得该位全加的进位信号,而无需等待最低位的进位信号。定义第 i 位的进位信号( Ci ):1- iiiiii C)BA(BACCi= Gi+ Pi Ci-11- iiii CBAS)BA(p iii4位全加器进位信号的产生:C0= G0+P0 C-1C1= G1+P1 C0C1 = G1+P1 G0+ P1P0 C-1C2= G2+P2 C1C2 = G2+P2 G1+ P2 P1 G0+ P2 P1 P0C-1C3= G3+P3 C2 = G3+P3 ( G2+ P2 C1 )=G3+P3 G2+P3P2 C1=G3+P3 G2+P3P2 (G1+ P1C0 )C3 =G3+P3 G2+P3P2 G1+ P3P2 P1 (G0+ P0C-1)[Gi= AiBiCi= Gi+ Pi Ci-1?)BA(piii集成超前进位产生器 74LS182Cn + xCn + yCn + z3PP3Cn&&1≥ 1≥ 1≥ 1≥ 13GP32PP32GP31PP31GP30PP30GP3PGP3&&&&&&&&&&&&逻辑图74 L S 18 2C n + xC n + yC n + zGPC nG 0P 0G 1P 1G 2P 2G 3P 3逻辑符号超前进位集成 4位加法器 74LS283A 3B 2A 2B 1A 1B 0A 0C C174 HC 283B 3COS 3S 2S 1S 074HC283逻辑框图V CCB 3S 3COA 2S 2A 3B 212345678 9101 1121 314151 6 S 1B 0C C 1G N DA 1S 0A 0B 174HC283引脚图B3A3B2A2B1A1B0A0C -1&≥1&≥1&≥1&≥1&11 ≥1&&&&CO( C3)&P31 ≥1&&&&P21 ≥1&&&P11 ≥1&&P01= 1S3= 1S2= 1S1= 1S074HC283逻辑框图4,超前进位 加法器 74LS283的应用例 1,用两片 74LS283构成一个 8位二进制数加法器。 A 4 B 4 A 5 B 5 A 6 B 6 A 7 B 77 4 2 8 3 ( 2 ) 7 4 2 8 3 ( 1 )C C 1 CO C C 1 COS 3 S 2 S 1 S 0S 7 S 6 S 5 S 40C 7S 3 S 2 S 1 S 0S 3 S 2 S 1 S 0A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3在片内是超前进位,而片与片之间是串行进位。B 1 B 0 B 3 B 2 A 1 A 0 A 3 A 2S 37 4 2 8 3S 2 S 1 S 0C C 1 CO0余 3 码输出8421码输入余 3码输出1 10 0例,用 74283构成将 8421BCD码转换为余 3码的码制转换电路 。8421码 余 3码000000010010001101000101+0011+0011+0011CO3 减法运算在实际应用中,通常是将减法运算变为加法运算来处理,即采用加补码的方法完成减法运算。若 n位二进制的原码为 N原,则与它相对应的 2 的补码为N补 =2N-N原补码与反码的关系式N补 =N反 +1设两个数 A,B相减,利用以上两式可得A-B=A+B补 -2n=A+B反 +1-2n1) A-B? 0的情况。 2) A-B &0的情况 。结果 表明,在 ACB? 0时,如加补进位信号为 1,所得的差就是差的原码。在 ACB & 0时,如加补的进位信号 为 0,所得的差是差绝对值的补码。A=0101,B=0001 A= 0001,B=01010 1 0 1 A1 1 1 0 B 反+ 11 0 1 0 00 0 0 1 A1 0 1 0 B 反+ 10 1 1 0 0D 3 D 2 D 1 D 0= 11= 11= 11= 11 0C - 1 7 4 H C28 3 (I )A 0 A 1 A 2 A3B 0 B 1 B 2 B 3S 3 S 2 S 1 S 0COV1C - 1 1 74 HC 28 3(I )A 0 A 1 A 2 A 3 B 0 B 1 B 2 B 3S 3 S 2 S 1 S 0D 3? D2? D 1?D 0?1 1 1 1COA 0 A 1 A 2 A 3 B 0 B 1 B 2 B 30110输出为原码的 4位减法运算逻辑图4.5 组合可编程逻辑器件可编程逻辑器件是一种可以由用户定义和设置逻辑功能的器件。该类器件具有逻辑功能实现灵活、集成度高、处理速度快和可靠性高等特点。4.5.1 PLD的结构、表示方法及分类与门阵列或门阵列乘积项 和项PLD主体输入电路输入信号 互补输入输出电路输出函数反馈输入信号可由或阵列直接输出,构成组合输出;通过寄存器输出,构成时序方式输出 。1,PLD的基本结构输出或门阵列与门阵列输入B AY Z(b )与门阵列或门阵列乘积项 和项互补输入2,PLD的 逻辑符号表示方法(1)连接的方式硬线连接单元被编程接通单元被编程擦除单元(2)基本门电路的表示方式L= A + B + C + DDDDDDA B CF1=A?B?C与门 或门A B C DF1ABC& L ABC≥1 LDF1=A+B+C+DL 4A B A BL 3A B A BL 3A B A BA AA AENEN三态输出缓冲器输出恒等于 0的与门输出为 1的与门A AA输入缓冲器(3) 编程连接技术ALB C DLV CC A B C D熔丝PLD表示的与门 熔丝工艺的与门原理图VCC+(5V)R3kWLD1D2D3ABC 高电平A,B,C有一个输入低电平 0VA,B,C三个都输入高电平 +5V5V0V5V 低电平LVCCA B C D5V5V5VL=A?B?CLT 1 T 2 T3 T 4A B C DV CC连接 连接连接 断开A,B,C 中有一个为 0A,B,C 都为 1输出为 0;输出为 1。L=AC断开 连接连接 断开 L=ABCXX器件的开关状态不同,电路实现逻辑函数也就不同1 0 1 1(4) 浮 栅 MOS管开关用不同的浮栅 MOS管连接的 PLD,编程信息的擦除方法也不同。 SIMOS管连接的 PLD,采用紫外光照射擦除;Flotox MOS管和快闪叠栅 MOS管,采用电擦除方法。浮 栅 MOS管叠栅注入 MOS(SIMOS)管浮栅隧道氧化层 MOS(Flotox MOS)管快闪 (Flash)叠栅 MOS管当浮栅上带有负电荷时,使得 MOS管的开启电压变高,如果给控制栅加上 VT1控制电压,MOS管仍处于截止状态。若要擦除,可用 紫外线或 X射线,距管子 2厘米处照射 15-20分钟。当浮栅上没有电荷时,给控制栅加上大于 VT1的控制电压,MOS管导通。a.叠栅注入 MOS(SIMOS)管25V25VGND 5V 5ViDVT1 VT2 vGS浮栅无电子O编程前浮栅无电子 浮栅有电子编程前 编程后5V 5VGND 5V 5VGND导通截止LT 1 T 2 T3T 4A B C DV CCL=B?C连接 连接断开 断开连接 连接断开 断开1 1 1 1浮栅延长区与漏区 N+之间的交叠处有一个厚度约为 80A(埃 )的薄绝缘层 ――遂道区。当遂道区的电场强度大到一定程度,使漏区与浮栅间出现导电遂道,形成电流将浮栅电荷泄放掉。遂道 MOS管 是用电擦除的,擦除速度快。N+N+隧道P 型衬底源极s控制栅 g c漏极d浮栅g fdsg cg fb.浮栅隧道氧化层 MOS(Flotox MOS)管结构特点,1.闪速存储器存储单元MOS管的源极 N+区大于漏极N+区,而 SIMOS管的源极 N+区和漏极 N+区是对称的;2,浮栅到 P型衬底间的氧化绝缘层比 SIMOS管的更薄。c.快闪 叠栅 MOS管开关 ( Flash Memory) (自学)特点:结构简单、集成度高、编程可靠、擦除快捷。N+N+P 型衬底源极s控制栅 g c漏极d浮栅g fdsg cg f3.PLD的分类PROM PLA PAL GAL低密度可编程逻辑器件( LDPLD)EPLD CPLD FPGA高密度可编程逻辑器件( HDPLD)可编程逻辑器件( PLD)按集成密度划分为2、按结构特点划分简单 PLD (PAL,GAL)复杂的可编程器件 (CPLD),CPLD的代表芯片如,Altera的 MAX系列现场可编程门阵列 (FPGA)PLD中的三种与、或阵列与阵列B AL 1 L 0可编程或阵列固定与阵列、或阵列均可编程 (PLA)与阵列固定,或阵列可编程 (PROM)与阵列可编程,或阵列固定 (PAL和GAL等 )与阵列B AL 1 L0可编程或阵列可编程与阵列B AL 1 L0或阵列可编程固定按 PLD中的与、或阵列是否编程分4.5.2 组合逻辑电路的 PLD 实现例 1 由 PLA构成的逻辑电路如图所示,试写出该电路的逻辑表达式,并确定其逻辑功能 。写出该电路的逻辑表达式:B n A nSnCn + 1CnnnnnnnnnnnnnnnnnnnnnCBCABACCBACBACBACBAS1AnBnCnAnBnAnCnBnCn全加器AnBnCnAnBnCnB n A nSnCn + 1CnAnBnCn试写出该电路的逻辑表达式。AL0L1L2L3BCD1 2 3 4 5 6 7 8 9 101234567891011121 2 3 4 5 6 7 8 9 10DCBADCL0DCBDCBL2BDACBALL 03BCADBADCBL14.6 用 VerilogHDL描述组合逻辑电路用 VerilogHDL描述组合逻辑电路有三种不同抽象级别:组合逻辑电路的门级描述、组合逻辑电路的数据流描述、组合逻辑电路的行为级描述。VerilogHDL描述的电路就是该电路的 VerilogHDL模型。行为描述方式:一般使用下述语句描述,可以对组合、时序逻辑电路建模。1) initial 语句2) always 语句数据流描述方式:一般使用 assign语句描述,主要用于对组合逻辑电路建模。门级描述:一般使用 Primitive(内部元件)、自定义的下层模块对电路描述。主要用于层次化设计中。end基本门级元件模型元件符号 功能说明 元件符号 功能说明and 多输入端的与门 nand 多输入端的与非门or 多输入端的或门 nor 多输入端的或非门xor 多输入端的异或门 xnor 多输入端的异或非门buf 多输出端的缓冲器 not 多输出端的反相器bufif1 控制信号高电平有效的三态缓冲器 notif1 控制信号高电平有效的三态反相器bufif0 控制信号低电平有效的三态缓冲器 notif0 控制信号低电平有效的三态反相器多输入门多输出门三态门4.6.1 组合逻辑电路的门级建模门级建模,将逻辑电路图用 HDL规定的文本语言表示出来。Verilog 基本门级元件and n-input AND gatenand n-input NAND gateor n-input OR gatenor n-input NOR gatexor n-input exclusiveOR gatexnor n-input exclusiveNOR gatebuf n-output buffernot n-output inverterbufif0 tri-Io enablebufif1 tri-hi enablenotif0 tri-Io enablenotif1 tri-hi enable1、多输入门只允许有一个输出,但可以有多个输入。and A1( out,in1,in2,in3);输入2 xxx1zxxx1xxx01111110zx10输入 1nandnand真值表X- 不确定状态 Z- 高阻态and真值表x0zx0xx10100000zX10 输入 1and输入2xx xxx调用名XX1XZXX1XX11111XX100ZX10输入 1or输入2or真值表输入2XXXXZXXXXXXX011XX100ZX10输入 1xorxor真值表2、多输出门允许有多个输出,但只有一个输入。not N1( out1,out2,…,in);xx10zx10输 入buf输 出buf真值表输 出 xx01zx10输 入notnot真值表buf B1( out1,out2,…,in);out1in out2outN…out1in out2outN…bufif1真值表xxxzzxxxzx1/z1/z1z10/z0/z0z0zx10控制输入bufif1数据输入 xxxzzxxxzx0/z0/z0z11/z1/z10 zzx10控制输入notif1数据输入notif1真值表3、三态门有一个输出、一个数据输入和一个输入控制。如果输入控制信号无效,则三态门的输出为高阻态 z。图 4,6,3 三态门元件模型( a ) b u f i f 1 ( b ) n o ti f 1( a ) ( b )in o u tc t r lin o u tc t r l4、设计举例//Gate-level description of a 2-to-4-line decodermodule _2to4decoder(A1,A0,E,Y);input A,B,E;output [3:0]Y;wire A1not,A0not,Enotn1 (A1not,A1),n2 (A0not,A0),n3 (Enot,E);nandn4 (Y[0],A1not,A0not,Enot),n5 (Y[1],A1not,A0,Enot),n6 (Y[2],A1,A0not,Enot),n7 (Y[3],A1,A0,Enot);endmodule1A 111A 0&&&&E0Y1Y2Y3Y试用 Verilog语言 的门级元件描述 2线 -4线译码器,说明部分功能描述例 2 用 Verilog的门级元件进行描述由三态门构成的 2选 1数据选择器 。B LASE L//Gate-level description of a 2-to-1-line multiplexermodule _2to1muxtri (A,B,SEL,L);input A,B,SELoutput L;tri L;bufif1 (L,B,SEL);bufif0 (L,A,SEL);endmodule5、分层次的电路设计方法简介4位全加器的层次结构框图分层次的电路设计,在电路设计中,将两个或多个模块组合起来描述电路逻辑功能的设计方法。设计方法,自顶向下和自底向上两种常用的设计方法4 位全加器1 位全加器 1 位全加器 1 位全加器 1 位全加器半加器 或门 半加器 或门.,,,,,AB=1& C = ABBASmodule halfadder (S,C,A,B);input A,B;output S,C;//Instantiate primitive gatesxor (S,A,B);and (C,A,B);endmodule//Gate-level hierarchicaldescription of 4-bit adder// Description of half adder//Description of 1-bit full addermodule fulladder (S,CO,A,B,CI);input A,B,CI;output S,CO;wire S1,D1,D2; //内部节点信号//Instantiate the halfadderhalfadder HA1 (S1,D1,A,B);halfadder HA2 (S,D2,S1,CI);or g1(CO,D2,D1);endmoduleSABC i CoBA? iCBAAB i)( CBA?≥ 1COCOD1S1D2//Description of 4-bit full addermodule _4bit_adder (S,C3,A,B,C_1);input [3:0] A,B;input C_1;output [3:0] S;output C3;wire C0,C1,C2; //内部进位信号//Instantiate the fulladderfulladder FA0 (S[0],C0,A[0],B[0],C_1),FA1 (S[1],C1,A[1],B[1],C0),FA2 (S[2],C2,A[2],B[2],C1),FA3 (S[3],C3,A[3],B[3],C2);endmodule4.6.2 组合逻辑电路的数据流建模数据流建模能在较高的抽象级别描述电路的逻辑功能。通过逻辑综合软件,能够自动地将数据流描述转换成为门级电路。Verilog HDL的运算符类型 符号 功能说明 类型 符号 功能说明算术运算符(双目运算符)+-*/%二进制加二进制减二进制乘二进制除求模关系运算符(双目运算符)&&&=&===!=大于小于大于或等于小于或等于等于不等于位运算符(双目运算符)~&|^^~ 或 ~^按位取反按位与按位或按位异或按位同或缩位运算符(单目运算符)&~&|~|^^~ 或 ~^缩位与缩位与非缩位或缩位或非缩位异或缩位同或逻辑运算符!&&逻辑非逻辑与 移位运算符(双目运算&&&&右移左移位运算符与缩位运算的比较 A,4’b1010,B,4’b1111,A~^B=1010A^B=0101A|B=1111A&B=1010~A = 0101~B = 0000位运算~^A=1~^B=1^A=0^B=0|A=1~|B=0~&A=1&B=1&A=1&0&1&0=0缩位运算对同一个操作数的重复拼接还可以双重大括号构成的运算符 {{}}例如 {4{A}}=4’b1111,{2{A},2{B},C}=8’b。作用是将两个或多个信号的某些位拼接起来成为一个新的操作数,进行运算操作。位拼接运算符设 A=1’b1,B=2’b10,C=2’b00则 {B,C}= 4’b1000{A,B[1],C[0]}= 3’b110{A,B,C,3’b101}=8’b。一般用法:condition_expr?expr1:expr2;条件运算符是三目运算符,运算时根据条件表达式的值选择表达式。首先计算第一个操作数 condition_expr的值,如果结果为逻辑 1,则选择第二个操作数 expr1的值作为结果返回,结果为逻辑 0,选择第三个操作数 expr2的值作为结果返回。2、数据流建模举例连续赋值语句的执行过程是:只要逻辑表达式右边变量的逻辑值发生变化,则等式右边表达式的值会立即被计算出来并赋给左边的变量。注意,在 assign语句中,左边变量的数据类型必须是 wire型。数据流建模使用的基本语句是连续赋值语句 assign,该语句用于对 wire型变量进行赋值,它由关键词 assign开始,后面跟着由操作数和运算符组成的逻辑表达式。2选 1数据选择器的连续赋值描述是:wire A,B,SEL,L; //声明 4个连线型变量assign L=(A & ~SEL)|(B & SEL); //连续赋值//Dataflow description of a 2-to-4-line decoder,module decoder_df (A1,A0,E,Y);input A1,A0,E;output [3:0] Y;assign Y[0] = ~(~A1 & ~A0 & ~E);assign Y[1] = ~(~A1 & A0 & ~E);assign Y[2] = ~(A1 & ~A0 & ~E);assign Y[3] = ~(A1 & A0 & ~E);endmodule1A 111A 0&&&&E0Y1Y2Y3Y//Dataflow description of 2-to-1-line multiplexermodule mux2x1_df (A,B,SEL,L);input A,B,SEL;output L;assign L = SEL? A,B;endmodule用条件运算符描述了一个 2选 1的数据选择器。在连续赋值语句中,如果 SEL= 1,则输出 L= A;否则 L= B。4.6.3 组合逻辑电路的行为级建模行为级建模就是描述数字逻辑电路的功能和算法。一般使用 always结构,后面跟着一系列过程赋值语句,给 reg类型的变量赋值。if (condition_expr1) true_statement1;else if (condition_expr2) true_statement2;else if (condition_expr3) true_statement3;……else default_1、条件语句( if语句)条件语句就是根据判断条件是否成立,确定下一步的运算。if (condition_expr) true_if (condition_expr) true_else fale_Verilog语言中有 3种形式的 if语句:if后面的条件表达式一般为逻辑表达式或关系表达式。执行if语句时,首先计算表达式的值,若结果为 0,x或 z,按“假”处理;若结果为 1,按“真”处理,并执行相应的语句。是一种多分支条件选择语句,一般形式如下:case (case_expr)item_expr1,statement1;item_expr2,statement2;……default,default_ //default语句可以省略2、多路分支语句( case语句)//Behavioral description of 2-to-1-line multiplexermodule mux2to1_bh(A,B,SEL,L);input A,B,SEL;output L;reg L; //define register variablealways @(SEL or A or B)if (SEL == 1) L = //也可以写成 if (SEL) L=B;else L = A;endmodule例//Behavioral description of 4-to-1-line multiplexermodule mux4to1_bh(A,SEL,E,L);input [3:0] A;input [1:0] SEL;output L;reg L;always @(A or SEL or E)beginif (E==1) L = 0;elsecase (SEL)2’d0,L = A[0];2’d1,L = A[1];2’d2,L = A[2];2’d3,L = A[3];endcaseendendmodule
课件名称:课件分类:电子与通信课件类型:电子教案文件大小:8.08MB下载次数:77评论次数:27用户评分:6.4
1. 2. 3. 4.}

我要回帖

更多关于 小数加减法简便运算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信