4组合逻辑电路4.1组合逻辑电路的分析4.2组合逻辑电路的设计4.3组合逻辑电路中的竞争和冒险4.4常用组合逻辑集成电路4.5组合可编程电路*4.6用VerilogHDL描述组合逻辑电路1.掌握组合逻辑电路的分析方法和设计方法;2.理解组合逻辑电路中的竞争和冒险产生的原因,掌握竞争和冒险存在判断以及消除的方法;3.掌握典型组合逻辑集成电路的逻辑功能,学会阅读MSI器件的功能表,能根据器件的功能正确应用;5.掌握PLD的表示方法,能用PLD实现组合逻辑电路。教学要求数字逻辑电路组合逻辑电路——无记忆功能时序逻辑电路——有记忆功能组合逻辑电路是指电路任意时刻的输出仅仅取决于该时刻的输入,而与电路原来的状态无关。其特点:①信号是单向传输,输出、输入之间没有反馈延迟通路;②无记忆功能,所以电路中不含具有记忆功能的元件。引言A1A2An组合逻辑电路···L1L2Lm···)A,,A,A(fLn21ii)m,,2,1(i数字逻辑电路的研究任务和研究方法⑴研究的两个任务①逻辑电路分析:对已知的逻辑电路,用逻辑函数来描述,并以此列出它的真值表,确定其功能。②逻辑电路设计:根据实际中提出的逻辑功能,设计出实现该逻辑功能的电路。⑵研究方法基本方法:用逻辑代数作为基本理论的传统方法。研究的关注点:输出与输入的逻辑关系。引言逻辑电路分析是指对一个给定的逻辑电路,找出其输出与输入之间的逻辑关系,分析清楚它的逻辑功能。逻辑电路分析是研究数字系统的一种基本技能。组合逻辑电路分析一般步骤如右列出输出函数真值表由给定的逻辑图写出输出函数表达式输出函数化简与变换逻辑功能评述4.1组合逻辑电路的分析例4.1.1逻辑电路如图,分析其功能。①写表达式BAZCZLC)BA(CBA②列真值表③功能评述由真值表可以看出,输入变量的取值中有奇数个1时,L为1,否则L为0,电路具有为奇校验功能。如要实现偶校验,电路应做何改变?LABC0000000101010110111010011101101100011101Z4.1组合逻辑电路的分析逻辑函数的波形图波形图比较直观地反映输出与输入之间的逻辑关系。为了避免出错,通常是根据输入波形变化分段,然后逐段画出输出波形。例如画出例4.1.1的波形例4.1.1的输出逻辑函数为:BAZCBAL例4.1.1的波形分析图000第1段,画出ABC=000波形第2段,画出ABC=001波形第3段,画出ABC=010波形1000104.1组合逻辑电路的分析例:逻辑电路如图,分析其功能。①写表达式ABPBCNACQACBCABFACBCAB②列真值表1111FAB000001010011100101110111C0000③功能评述由真值表可以看出,在输入3个变量中只要有2个或2个以上变量为1,则输出为1。电路功能概括为:三变量多数表决器。4.1组合逻辑电路的分析PNQ例4.1.2逻辑电路如图,分析其功能。①写表达式P1P2P3P4BAP1BAP2CAP4CAP3AX21PPYBABA43PPZCACA②输出函数化简与变换BABAYBABACACAZCACA4.1组合逻辑电路的分析BACA例4.1.2逻辑电路如图,分析其功能。输出函数BABAYCACAZAX③列真值表ABCXYZ000000001001010010011011100111101110110101111100④功能评述电路逻辑功能是对输入的二进制码ABC求反码XYZ。最高位为符号位,0表示正数,1表示负数,正数的反码与原码相同;负数的数值部分是在原码的基础上逐位求反。4.1组合逻辑电路的分析逻辑电路设计根据要求完成的逻辑功能,求出实现该功能的逻辑电路。逻辑电路设计是逻辑电路分析的逆过程。分析给定电路分析功能设计给定功能设计电路逻辑电路设计又称逻辑电路综合。组合逻辑电路设计一般步骤1.逻辑抽象(最关键):根据实际逻辑问题的因果关系确定输入、输出变量,并定义逻辑状态的含义;2.根据逻辑描述列出真值表;3.由真值表写出逻辑表达式;4.根据所采用的逻辑器件的类型,简化和变换逻辑表达式;5.画逻辑电路图。4.1组合逻辑电路的设计例:设计三变量表决器,其中A具有否决权。1.逻辑抽象分析要求,确定输入输出变量。输入:A、B、C“0”反对,“1”赞成输出:F“0”否决,“1”通过2.列真值表0000FAB000001010011100101110111C01113.化简ABC010001111000010011F的卡诺图ACABF=AB+AC要求用与非门实现,变换成“与非”形式ACABFAC·AB4.画逻辑电路图ABAC4.2组合逻辑电路的设计可以采用真值表的简洁表示例如,描述:A=0,B=1,则F=1;A=1,则F=14.2组合逻辑电路的设计FAB000001010011100101110111C01101111真值表FAB0000001001×1××C真值表11ABA表达式:F=A+AB=A+B例:某火车站有特快、直快和慢车三种类型的客运列车进出,试用两输入与非门和反相器设计一个指示列车等待进站的逻辑电路,3个指示灯一、二、三号分别对应特快、直快和慢车。列车的优先级别依次为特快、直快和慢车,要求当特快列车请求进站时,无论其它两种列车是否请求进站,一号灯亮。当特快没有请求,直快请求进站时,无论慢车是否请求,二号灯亮。当特快和直快均没有请求,而慢车有请求时,三号灯亮。解:1.逻辑抽象——确定输入、输出变量与状态输入信号:I0、I1、I2分别为特快、直快和慢车的进站请求信号且有进站请求时为1,没有请求时为0。输出信号:L0、L1、L2分别为3个指示灯状态,灯亮为1,灯灭为0。4.2组合逻辑电路的设计4.2组合逻辑电路的设计2.列真值表I0I1I2L0L1L20000001××10001×0100010013.由真值表写出逻辑表达式;101IIL2102IIIL00IL4.根据所采用的逻辑器件,变换为与非表达式;101IIL2102IIIL00IL5.画逻辑电路图4.2组合逻辑电路的设计例4.2.2试设计一个码转换电路,将4位格雷码转换为自然二进制码。可以采用任何逻辑门电路来实现。解:(1)明确逻辑功能,列出真值表设输入变量为G3、G2、G1、G0为格雷码,输出变量B3、B2、B1、B0为自然二进制码。列出逻辑电路真值表00000001001000110100010101100111100010011010101111001101111011110000000100110010011001110101010011001101111111101010101110011000输入格雷码G3G2G1G0输出二进制B3B2B1B0真值表4.2组合逻辑电路的设计例4.2.200000001001000110100010101100111100010011010101111001101111011110000000100110010011001110101010011001101111111101010101110011000输入格雷码G3G2G1G0输出二进制B3B2B1B0真值表00011110000111100000000011111111G3G2G1G0B3G300011110000111100000111100001111G3G2G1G0B2(2)用卡诺图化简输出函数和变换。23GG23GG33GB23232GGGGB4.2组合逻辑电路的设计例4.2.200000001001000110100010101100111100010011010101111001101111011110000000100110010011001110101010011001101111111101010101110011000输入格雷码G3G2G1G0输出二进制B3B2B1B0真值表00011110000111100011110000111100G3G2G1G0B100011110000111100110100101101001G3G2G1G0B0(2)用卡诺图化简输出函数和变换。123GGG123GGG123GGG123GGG1231231231231GGGGGGGGGGGGB4.2组合逻辑电路的设计例4.2.2(2)用卡诺图化简输出函数和变换。33GB23232GGGGB23GG1231231231231GGGGGGGGGGGGB)GGGG(G)GGGG(G1212312123)GG(G)GG(G123123123123GGG)GG(G01230GGGGB(3)根据逻辑表达式,画出逻辑图4.3组合逻辑电路中的竞争冒险前面,只研究了输入和输出稳定状态的关系,而没有考虑实际电路中信号的时延问题。实际上,信号经过任何逻辑门都需要一定的时间。信号经过不同路径传输的时间不同,会造成电路在信号变化的瞬间,可能与稳态下的逻辑功能不一致,产生错误输出,这种现象就是电路中的竞争冒险。4.3组合逻辑电路中的竞争冒险4.3.1产生竞争冒险的原因通过简单例子说明如图,L=A·B,A=0,B=1或A=1,B=0都有L=0若A:0→1,B:1→0A、B变化同时发生,L=0不变,若由于前级门电路延时的差异,使B:1→0滞后,则在瞬间输出一个错误的“1”。错误的“1”例如如图所示电路当A=1,B=1时无论C怎样变化,应该但在实际电路中,由于有竞争冒险,当变量C发生变化时,产生了错误的“0”。1CCLCdegLtpdCBACL分析A=B=1不变时,C变化产生错误“0”假定各种门的时延都是相同的tpd。g4.3组合逻辑电路中的竞争冒险de错误的“0”4.3.1产生竞争冒险的原因4.3组合逻辑电路中的竞争冒险基本概念竞争:当一个逻辑门的两个输入端的信号同时向相反方向变化,而变化的时间有差异的现象。冒险:两个输入端的信号取值的变化方向是相反时,如门电路输出端的逻辑表达式简化成两个互补信号相乘或者相加,由竞争而可能产生输出干扰脉冲的现象。CCLCCL4.3.1产生竞争冒险的原因1、代数法①检查是否存在具有竞争条件的变量,即是否X、X都存在。②其他变量各种取值依次代入函数表达式。XXF若出现:可能产生错误“0”具有竞争条件的变量:A、C考察A,BC各种取值依次代入FAF00BCAF01BCAF10BCAAF11BCBC=11时,A的变化可能使电路产生错误“0”。例:试判断ACBACAF描述组合逻辑电路是否产生竞争冒险考察C,AB各种取值依次代入FC的变化不可能使电路产生竞争冒险。CF00AB1F01ABCF10ABCF11AB4.3组合逻辑电路中的竞争冒险竞争冒险的判断X·XF若出现:可能产生错误“1”2、卡诺图法——适合描述电路的逻辑函数是与-或表达式。①作卡诺图。②画表达式中各与项的卡诺圈。③观察,若发现两个卡诺圈相切,则该电路可能存在竞争冒险。例:试判断CDACACBF描述的逻辑电路是否产生竞争冒险。111111110001111000011110ABCDF卡诺图BCACACD相切判断:由于存在两个卡诺圈相切,电路可能产生竞争冒险。进一步可知:相切发生在A=0,B=1,D=1时,当A=0,B=1,D=1时,C的变化可能使电路产生错误“0”。用代数法验证:将A=0,B=1,D=1代入F时:CCF11BC4.3组合逻辑电路中的竞争冒险竞争冒险的判断1.发现并消除互补变量例如,逻辑函数F=(A+B)(A+C)描述的电路。B=C=0时,F=A·A,可能出现竞争冒险。为消掉AA,变换逻辑函数式为F=AC+AB+BCB=C=1时,F=A+A+1,A的变化不可能使电路产生竞争冒险。4.3组合逻辑电路中的竞争冒险4.3.2消去竞争冒险的方法2