基本概念

根据逻辑功能的不同特点,可以将数字电路分成两大类,一类称为组合逻辑电路(简称组合电路),另一类称为时序逻辑电路(简称时序电路)。

在组合逻辑电路中,任意时刻的输出仅仅取决于该时该的输人,与电路原来的状态无关。这就是组合逻辑电路在逻辑功能上的共同特点。(课本160页)

组合逻辑电路_组合逻辑电路

组合逻辑框图

输出与电路的历史状况无关,那么电路中就不能包含有存储单元。这就是组合逻辑电路在电路结构上的共同特点

分析、设计方法

分析方法

通常采用的分析方法是从电路的输人到输出逐级写出逻辑函数式,最后得到表示输出与输人关系的逻辑函数式。然后用公式化简法或卡诺图化简法将得到的函数式化简或变换,以使逻辑关系简单明了。为了使电路的逻辑功能更加直观,有时还可以将逻辑函数式转换为真值表的形式。

设计方法

一、进行逻辑抽象

逻辑抽象的工作通常是这样进行的:

  • 分析事件的因果关系,确定输人变量和输出变量。一般总是把引起事件的原因定为输人变量,而把事件的结果作为输出变量。
  • 定义逻辑状态的含意。以二值逻辑的0、1两种状态分别代表输人变量和输出变量的两种不同状态。这里0和1的具体含意完全是由设计者人为选定的。这项工作也称为逻辑状态赋值。
  • 根据给定的因果关系列出逻辑真值表。
二、写出逻辑函数式

为便于对逻辑函数进行化简和变换,需要把真值表转换为对应的逻辑函数式。

三、选定器件的类型

可以选择小规模集成的门电路也可以用中规模集成的常用组合逻辑器件或可编程逻辑器件等。

四、将逻辑函数化简或变换成适当的形式

在使用小规模集成的门电路进行设计时,为获得最简单的设计结果,应将函数式化成最简形式,即函数式中相加的乘积项最少,而且每个乘积项中的因子也最少。如果对所用器件的种类有附加的限制(例如只允许用单一类型的与非门) , 则还应将函数式变换成与器件种类相适应的形式(例如将函数式化作与非-与非形式)。

在使用中规模集成的常用组合逻辑电路设计电路时,需要将函数式变换为适当的形式,以便能用最少的器件和最简单的连线接成所要求的逻辑电路。

五、根据化简或变换后的逻辑函数式,画出逻辑电路的连接图
六、工艺设计

组合逻辑电路_译码器_02

组合逻辑电路的设计过程(课本165页)

对于一些复杂的组合逻辑电路在设计的时候,通常采用“自顶向下”与“自底向上”相结合的设计方法。这两种方法都是首先将电路逐级分解为若干个简单的模块,然后再将这些模块设计好并连接起来。

常用的组合逻辑电路

这些电路包括编码器、译码器、数据选择器、数值比较器、加法器、函数发生器、奇偶校验器/发生器等。

编码器

编码器(Encoder)的逻辑功能就是将输人的每一个高、低电平信号编成一个对应的二进制代码。目前经常使用的编码器有普通编码器和优先编码器两类。

普通编码器

在普通编码器中,任何时刻只允许输入一个编码信号,否则输出将发生混乱。

组合逻辑电路_组合逻辑电路_03

组合逻辑电路_编码器_04

组合逻辑电路_加法器_05

框图、真值表、表达式(课本168页)

优先编码器74HC141

在优先编码器(priorityencoder)电路中,允许同时输入两个以上的编码信号。不过在设计优先编码器时已经将所有的输入信号按优先顺序排了队,当几个输入信号同时出现时,只对其中优先权最高的一个进行编码。

组合逻辑电路_比较器_06

函数表达式为

组合逻辑电路_比较器_07

组合逻辑电路_编码器_08

YS'的低电平输出信号表示“电路工作,但无编码输入”。

组合逻辑电路_加法器_09

YEX'的低电平输出信号表示“电路工作,而且有编码输人”

注意:为了强调说明以低电平作为有效输入信号,有时也将反相器图形符号中表示反相的小圆圈画在输人端。

组合逻辑电路_加法器_10

在常用的优先编码器电路中,除了二进制编码器以外,还有一类称为二-十进制优先编码器。它能将I0' ~I9'10个输人信号分别编成10个BCD代码。在I0' ~I9'10个输入信号中I0'的优先权最高,I9'的优先权最低。(课本172页)74LS147

函数表达式为

组合逻辑电路_组合逻辑电路_11

组合逻辑电路_编码器_12

组合逻辑电路_组合逻辑电路_13

译码器74HC138

译码器(Decoder)的逻辑功能是将每个输人的二进制代码译成对应的输出高、低电平信号或另外一个代码。因此,译码是编码的反操作。常用的译码器电路有二进制译码器、二-一十进制译码器和显示译码器三类。

二进制译码器

二进制译码器的输人是一组二进制代码,输出是一组与输人代码一一对应的高、低电平信号。

组合逻辑电路_译码器_14

组合逻辑电路_组合逻辑电路_15

框图、真值表(课本174页)

二极管与门阵列构成的译码器虽然比较简单,但也存在两个严重的缺点。其一是电路的输人电阻较低而输出电阻较高,其二是输出的高、低电平信号发生偏移(偏离输入信号的高、低电平)。因此,通常只在一些大规模集成电路内部采用这种结构,而在一些中规模集成电路译码器中多半采用三极管集成门电路结构。

74HC138就是用CMOS门电路组成的3线-8线译码器。(课本175页)

组合逻辑电路_译码器_16

组合逻辑电路_加法器_17

当门电路GS的输出为高电平(S=1)时,可由逻辑图写出

组合逻辑电路_比较器_18

这种译码器也称为最小项译码器。这3个控制端也称为“片选”输人端,利用片选的作用可以将多片连接起来以扩展译码器的功能。带控制输入端的译码器又是一个完整的数据分配器

二-十进制译码器

二-十进制译码器的逻辑功能是将输人BCD码的10个代码译成10个高、低电平输出信号。对于BCD代码以外的伪码(即1010

~1111 6个代码)Y0'~ Y9'均无低电平信号产生,译码器拒绝“翻译”,所以这个电路结构具有拒绝伪码的功能。(课本178页)

组合逻辑电路_译码器_19

组合逻辑电路_比较器_20

组合逻辑电路_比较器_21

显示译码器7448

为了能以十进制数码直观地显示数字系统的运行数据,目前广泛使用了七段字符显示器,或称为七段数码管。这种字符显示器由七段可发光的线段拼合而成。常见的七段字符显示器有半导体数码管和液晶显示器两种。

半导体数码管不仅具有工作电压低、体积小、寿命长、可靠性高等优点,而且响应时间短(一般不超过0.1 μs),亮度也比较高。它的缺点是工作电流比较大,每一段的工作电流在10 mA左右。

另一种常用的七段字符显示器是液晶显示器(LiquidCrystalDisplay,简称LCD)。利用动态散射效应实现。液晶显示器的最大优点是功耗极小,每平方厘米的功耗在1μW以下。它的工作电压也很低在1V以下仍能工作。因此,液晶显示器在电子表以及各种小型、便携式仪器、仪表中得到了广泛的应用。但是,由于它本身不会发光,仅仅靠反射外界光线显示字形,所以亮度很差此外,它的响应速度较低(在10 ~ 200 ms范围),这就限制了它在快速系统中的应用。

组合逻辑电路_加法器_22

  • 灯测试输入LT':只要令LT'=0,便可使被驱动数码管的七段同时点亮,以检查该数码管各段能否正常发光。平时应置LT'为高电平。
  • 灭零输入RBI':目的是为了能把不希望显示的零熄灭。
  • 灭灯输入/灭零输出BI'/RBO'
  • BI'/RBO'作为输入端使用时,称为灭灯输入控制端,定可将被驱动数码管的各段同时熄灭。
  • BI'/RBO'作为输出端使用时,称为灭零输出控制端,表示译码器已将本来应该显示的零熄灭了。

只需在整数部分把高位的RBO'与低位的RBI'相连,在小数部分将低位的RBO'与高位的RBI'相连,就可以把前、后多余的零熄灭了。在这种连接方式下,整数部分只有高位是零,而且被熄灭的情况下,低位才有灭零输人信号。同理,小数部分只有在低位是零,而且被熄灭时,高位才有灭零输人信号。

组合逻辑电路_加法器_23

数据选择器74HC153

在数字信号的传输过程中,有时需要从一组输人数据中选出某一个来,这时就要用到一种称为数据选择器(DataSelector)或多路开关(Mutiplexer)的逻辑电路。

组合逻辑电路_编码器_24

输出的逻辑表达式

组合逻辑电路_加法器_25

同时,上式也表明S'=0时数据选择器工作,S'=1时数据选择器被禁止工作,输出被封锁为低电平。

由上式可见,具有两位地址输人A1、A0的4选1数据选择器在S=1时输出与输人间的逻辑关系可以写成

组合逻辑电路_比较器_26

若将A1、A0作为两个输人变量,同时令D0~D3为第三个输人变量的适当状态(包括原变量、反变量、0和1),就可以在数据选择器的输出端产生任何形式的三变量组合逻辑函数。

同理,用具有n位地址输入的数据选择器,可以产生任何形式输人变量数不大于n+1的组合逻辑函数

组合逻辑电路_组合逻辑电路_27

加法器

加法器是构成算术运算器的基本单元。

1位加法器
半加器

如果不考虑有来自低位的进位将两个1位二进制数相加,称为半加。实现半加运算的电路称为半加器。(课本192页)

逻辑表达式

组合逻辑电路_加法器_28

组合逻辑电路_编码器_29

半加器是由一个异或门和一个与门组成的

组合逻辑电路_加法器_30

全加器

在将两个多位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位3个数相加。这种运算称为全加,所用的电路称为全加器。

组合逻辑电路_译码器_31

逻辑表达式为

组合逻辑电路_组合逻辑电路_32

组合逻辑电路_组合逻辑电路_33

多位加法器74LS183/74LS283

两个多位数相加时每一位都是带进位相加的,因而必须使用全加器。

串行进位加法器

串行进位加法器(或称为行波进位加法器)这种加法器的最大缺点是运算速度慢。在最不利的情况下,做一次加法运算需要经过4个全加器的传输延迟时间。

组合逻辑电路_编码器_34

超前进位加法器74LS283

两个多位数中第i位相加产生进位输出(CO)i可表示为

组合逻辑电路_编码器_35

若将AiBi定义为进位生成函数Gi,同时将(Ai +Bi)定义为进位传送函数Pi,则上式改写为

组合逻辑电路_编码器_36

将上式展开后得到

组合逻辑电路_组合逻辑电路_37

从全加器的真值表写出第i位和Si的逻辑式得到

组合逻辑电路_编码器_38

有时也将上式变换为异或函数

组合逻辑电路_译码器_39

根据上述分析得出的4位超前进位加法器74LS283如下图所示

组合逻辑电路_加法器_40

现以第1位(i=1)为例,分析它的逻辑功能,门G22的输出X1、门G23的输出Y1及和S1分别为

组合逻辑电路_加法器_41

从两个加数送到输人端到完成加法运算只需三级门电路的传输延迟时间,而获得进位输出信号仅需一级反相器和一级与或非门的传输延迟时间。然而必须指出,运算时间得以缩短是用增加电路复杂程度的代价换取的。当加法器的位数增加时,电路的复杂程度也随之急剧上升。

组合逻辑电路_译码器_42

数值比较器74LS85

比较两个数值的大小。

1位数值比较器
  • A>B(即A=1、B=0),则AB'=1,故可以用AB'作为A>B的输出信号Y(A>B)
  • A<B(即A=0、B=1),则A'B=1,故可以用A'B作为A <B的输出信号Y(A<B)
  • A =B,则A⊕B=1,故可以用A⊕B作为A=B的输出信号Y(A=B)

组合逻辑电路_译码器_43

多位数值比较器

通过分析可以得到A>B、A<B、A=B的函数表达式

组合逻辑电路_比较器_44

I(A>B)、I((A<B)和I(A=B)是来自低位的比较结果。相比较的两数都只有4位,没有来自低位的比较结果时,应令I(A>B)=I((A<B)=0,Y(A=B)=1。由于A和B比较的结果只有A>B、A<B和A=B三种可能,所以“不是A>B或者A=B,就是A <B”、“不是A<B或者A=B,就是A>B”,因此又得到如下关系式

组合逻辑电路_加法器_45

组合逻辑电路_组合逻辑电路_46

电路中的竞争-冒险现象

产生及成因

尖峰脉冲,或称为电压毛刺,是电路内部的一种噪声。

将门电路两个输入信号同时向相反的逻辑电平跳变(一个从1变为0,另一个从0变为1)的现象称为竞争。应当指出,有竞争现象时不一定都会产生尖峰脉冲。只要存在竞争现象,输出就有可能出现违背稳态下逻辑关系的尖峰脉冲。由于竞争而在电路输出端可能产生尖峰脉冲的现象就称为竞争一冒险。

检查方法

如果存在

Y = A +A' 或 Y = A A'

则可判定存在竞争-冒险现象。

  • 计算机辅助软件
  • 实验检查
消除竞争-冒险现象的方法
  1. 接入滤波电容:接滤波电容的方法简单易行,但输出电压的波形随之变坏。因此,只适用于对输出波形的前、后沿无严格要求的场合。
  2. 引入选通脉冲:引人选通脉冲的方法也比较简单,而且不需要增加电路元件。但使用这种方法时必须设法得到一个与输入信号同步的选通脉冲,对这个脉冲的宽度和作用的时间均有严格的要求。
  3. 修改逻辑设计:修改逻辑设计的方法,倘能运用得当,有时可以收到令人满意的效果。