第3章计算机中的逻辑电路 本章学习目标  了解逻辑代数的基础知识  掌握逻辑代数与逻辑电路之间的关系  掌握门电路与触发器的分类及功能  熟练掌握逻辑电路的分析与设计 各种信息必须经过数字化编码后才能在计算机内部被传送、存储和处理, 计算机中所处理的物理量均为数字量,采用二进制编码表示。二进制编码有两种可能的值: “1”或“0”。它们的逻辑属性可表示成“有”或“无”、“真”或“假”、“是”或“非”等,称其为逻辑值。组成计算机硬件逻辑电路的输入和输出端所对应的状态,就是这种逻辑值。 计算机中的逻辑电路在制造工艺上从分立元件电路发展到20世纪60年代的集成电路(采用半导体制作工艺,在一块较小的单晶硅片上集成许多晶体管及电阻器、电容器等元器件,并按照多层布线或隧道布线的方法将元器件组合成完整的电子电路),又从小规模集成电路(每个芯片集成10~100个晶体管)历经中规模集成电路(每个芯片集成100~1000个晶体管)、大规模集成电路(每个芯片集成1000~100000个晶体管)乃至现今的超大规模集成电路(每个芯片集成100000~1000000个晶体管)已得到了长足的发展。 按照逻辑电路的工作性质,可将其分为无记忆功能的组合逻辑电路和有记忆功能的时序逻辑电路两种。 计算机中的基本逻辑单元电路如图3.1所示。 图3.1计算机中的逻辑单元电路 所有逻辑单元电路都满足如下特点: (1) 每个单元都有若干输入端和输出端。 (2) 每端只有两种不同的稳定状态,“高”或“低”电平; 逻辑“真”或“假”; 或谓“1”或“0”。 组合逻辑电路输出端的状态只和当前输入端的状态有关。其基本单元电路为“门电路”。 时序逻辑电路输出端的状态不只和当前输入端的状态有关,与以前输入端的状态也有关系。其输入、输出端关系如图3.2所示。 图3.2计算机中的时序逻辑电路 时序逻辑电路的基本单元为“触发器”。 本章从功能角度介绍组合电路及时序电路的基本逻辑单元,讲述分析和设计逻辑电路的基本工具(逻辑代数)和方法。并力求使学生在完成本章学习后达到两个目的: (1) 在给出功能要求(文字说明或逻辑函数)的前提下,能用基本逻辑单元完成给定功能的电路设计。 (2) 在给出逻辑电路的前提下,能写出它的逻辑表达式,并大致描述其功能。 要求学生重点掌握基本门电路、触发器及寄存器的基本功能,并在此基础上进行电路的分析与设计。 3.1逻辑代数 逻辑代数最初是由英国数学家布尔(George Boole)首先提出来的,也被称为布尔代数。后来香农(Shannon)将布尔代数用到开关矩阵电路中,因而又称为开关代数。现在逻辑代数被广泛用于数字逻辑电路的分析和设计中,成为数字逻辑电路的理论基础。逻辑代数的变量称为逻辑变量。逻辑变量与普通代数变量不同,逻辑变量的取值只有“1”和“0”,也就是说逻辑电路中只有两种逻辑状态。这里的“1”和“0”可以由数字电路中电平的高低、开关的通断和信号的有无来表示。因此,它们已没有数量大小的概念,只表示两种不同的逻辑状态。 3.1.1基本逻辑运算与逻辑函数 逻辑代数中最基本的运算为“与”“或”和“非”运算。逻辑运算又被称为逻辑关系。 逻辑变量通过逻辑关系组成逻辑函数。相应地,有“与函数”“或函数”和“非函数”三种基本逻辑函数。 下面以电路为例来说明三种基本逻辑关系。 1. “与”逻辑 从图3.3(a)中的电路可以看出: 只有当两个开关同时闭合时,灯才会亮,否则,灯就不亮。从而可以得出这样的因果关系: 只有当决定事物某一结果的全部条件都具备时,这个结果才会发生,这种因果关系称为逻辑与,或者叫逻辑乘。表达式为: Y=A·B(31) 式中,Y是逻辑函数; A和B是逻辑变量。运算符号“·”表示与逻辑,习惯上与运算符号在变量间省略。与逻辑运算要有两个以上的变量。可以把开关的接通和断开状态对应称为“1”和“0”状态,这样A和B就有1和0两个值; 而灯的亮、灭也能表示为1和0,用Y来表示。这里所对应的逻辑关系就可以描述为: 当且仅当A和B都为1时,Y才为1,否则为0。 把所有逻辑变量和逻辑函数的值以表格的形式表示出来,称为真值表。真值表的左半部分是所有可能的变量取值的组合,右半部分是对应变量取值的函数值。真值表对于分析逻辑关系、简化逻辑运算都是非常有用的。二变量的与逻辑真值表如图3.4(a)所列,它清楚地表明了与逻辑关系。 如果在图3.3(a)中再串联一个开关,那么,只有三个开关都闭合时灯才能亮,任何一个开关处于断开状态,灯都是灭的。相应地,与运算也可以有多个变量。可以把与运算描述成: 当且仅当所有的变量都为1时,函数值才为1。或者: 只要有一个变量值为0,函数值就为0。 2. “或”逻辑 或逻辑关系如图3.3(b)所示,只要有一个开关接通,灯就会亮。在决定事物结果的各个条件中,只要有一个(或更多的)条件满足,结果就会发生,这种因果关系叫作逻辑或,也叫作逻辑加。这种逻辑关系表达式为: Y=A+B(32) 运算符号“+”表示或逻辑。或逻辑运算也要有两个以上的变量。图3.4(b)的真值表给出了或逻辑的真值表,可以看出其逻辑关系。 可以把或运算描述成: 当且仅当所有的变量都为0时,函数值才为0。或者: 只要有一个变量值为1,函数值就为1。 3. “非”逻辑 非逻辑关系表示的是一种变量和函数互为逆运算的过程,例如数码的取反运算。在图3.3(c)电路中,开关断开时,指示灯亮,开关闭合时指示灯反而不亮。此例表明,条件具备了,结果便不发生; 而条件不具备时,结果一定发生。这种因果关系叫作逻辑非,或逻辑反、逻辑否。这种逻辑关系表达式为: Y=(33) 运算符号“-”表示非逻辑,非逻辑运算只有一个变量。非函数又称A的反变量。从图3.4(c)的真值表可以看出非逻辑的逻辑关系。 图3.3用电路描述逻辑运算 图3.4各种基本逻辑运算的真值表 3.1.2组合逻辑运算与组合逻辑函数 “与”“或”“非”是逻辑代数中最基本的逻辑运算。而实际中的逻辑问题却往往比“与”“或”“非”关系复杂得多。复杂的逻辑问题需要用“与”“或”“非”组合逻辑运算来表示。组合逻辑运算对应组合逻辑函数。 1. 与非逻辑 把与逻辑运算和非逻辑运算相结合可实现与非逻辑,其逻辑式为: Y=A·B(34) 运算顺序是: 先进行与运算,然后再进行非运算。 图3.5与非、或非逻辑运算的真值表 与非逻辑真值表如图3.5(a)所示。由真值表可见,只有逻辑变量全部为1时,函数值才为0。 2. 或非逻辑 把或逻辑运算和非逻辑运算相结合可实现或非逻辑,其逻辑式为: Y=A+B(35) 运算顺序是: 先进行或运算,然后再进行非运算。 或非逻辑运算真值表如图3.5(b)所示。由真值表可见,只有逻辑变量全部为0,函数值才为1。 3. 异或逻辑 异或逻辑的逻辑关系为: 当变量中1的个数为奇数时,函数值为1,否则为0。“”是异或的运算符号。 对于只有两个变量的异或逻辑,当两个变量不同时,函数值为1; 而当两个变量相同时,函数值为0; 用与、或、非运算可以表示异或的逻辑关系。其表达式为: Y=AB=·B+A·(36) 其真值表如图3.6(a)所列。 两个变量的异或逻辑可以完成不考虑进位的二进制加法,即运算结果只有和而没有进位。所以也把异或运算称为“半加”。它在数字系统领域中应用广泛,可以用作数字运算、代码变换、信息检测和比较等。 4. 同或逻辑 同或逻辑的逻辑关系为: 当变量中1的个数为偶数时,函数值为1,否则为0。“⊙”是同或的运算符号。 对于只有两个变量的同或逻辑,当两个变量相同时,函数值为1; 而当两个变量不同时,函数值为0; 用与、 图3.6异或、同或逻辑运算的真值表 或、非运算可以表示同或的逻辑关系。其表达式为: Y=A⊙B=A·B+·(37) 其真值表如图3.6(b)所列。 相对于异或逻辑的“半加”,同或逻辑又被称为“半乘”。 3.1.3基本定律 如普通代数有其运算规律一样,逻辑代数运算也有其自身的规律。这些规律有些与普通代数相同,有些则是其自身所特有。熟悉这些规律就可以大大简化运算过程、提高运算速度和增加运算的准确性。 1. 公理 数字代数中,变量的取值只有“1”和“0”二值,根据逻辑运算定义,下面的式子是很容易理解和记忆的: A·0=0;A·1=A;A+0=A;A+1=1;A·A=A; A+A=A;A·=0;A+=1;A=A 2. 定律 逻辑代数运算的规律如表3.1所示。这些定律有些是公理,根据逻辑代数的性质就可以得出来,而有些则需要证明。证明的方法可以把所有逻辑变量和函数列成真值表,证明等式成立。其中反演定律也称为德·摩根定理,是个非常有用的公式。 表3.1逻辑代数的一般定律 定律公式定律公式 01定律A·0=0; A+1=1 结合律A·(B·C)=(A·B)·C; A+(B+C) =(A+B)+C 自等律A·1=A; A+0=A 分配律A·(B+C)=A·B+A·C; A+B·C =(A+B)·(A+C) 重叠率A·A=A; A+A=A 非非律A=A 互补律A·=0; A+=1 反演律A+B=·; A·B=+ 交换律A·B=B·A; A+B=B+A 吸收律A+A·B=A; A·(A+B)=A 3. 代入规则 任何一个含有变量A的逻辑等式中,所有变量A都可代之以另一个逻辑函数Y,等式仍然成立,这就是代入规则。 因为变量值仅有0和1两种,而逻辑函数的取值也一样,所以代换过程中的等式自然成立。利用代入规则可以把单变量公式推广为多变量的形式。 注意,在对复杂的逻辑式进行运算时,仍需遵守普通代数一样的运算优先顺序,即先算括号里的内容,然后算乘法,最后算加法。 【例31】用代入规则证明德·摩根定理也适用于多变量的情况。 解: 已知二变量的德·摩根定理为 A+B=·以及A·B=+ 现以(B+C)代入左边等式中B的位置,同时以(B·C)代入右边等式中B的位置,于是得到: A+(B+C)=·(B+C)=·· A·(B·C)=+(B·C)=++ 为了简化书写,除了乘法运算的“·”可以省略以外,对一个乘积项或逻辑式求反时,乘积项或逻辑式外边的括号也可以省略,如ABC、A+B+CD。 4. 反演规则 对一个原函数求反函数的过程称为反演。反演规则是说将原逻辑函数中所有的“·”变成“+”,“+”变成“·”; 0换成1; 1换成0; 原变量换成反变量,反变量换成原变量。这样所得到的新逻辑函数就是其反函数,或称为补函数。 应用反演规则可以很方便地求出反函数。 在使用反演规则时要注意: 仍需遵守“先括号,然后乘,最后加”的运算优先顺序; 再有,多个变量上的非号应保持不变,可视为一个子函数再进行反演。 【例32】已知Y=A(B+C)+CD,求。 解: 依据反演定律可直接写出 =(+)(+) =+++ =++ 5. 对偶规则 如果把任何一个逻辑表达式Y中的“·”变成“+”,“+”变成“·”,0换成1,1换成0,则得到一个新的逻辑式Y′,称为Y的对偶式。 例如: Y=A(B+C),则Y′=A+BC。 对偶规则是: 如果两逻辑表达式相等,则它们的对偶式也相等。 如果要证明两个逻辑式相等,也可以通过证明它们的对偶式相等来完成,因为有些情况下证明它们的对偶式相等更容易。 前面给出的公式中有许多都互为对偶式,因此,对偶规则在证明和化简逻辑函数中被广泛应用。 3.1.4逻辑表达式与真值表之间的相互转换 逻辑函数的函数值与逻辑变量之间的逻辑关系既可以用运算表达式(简称逻辑表达式)来表示,也可以用表格(真值表)来表示。下面介绍两种表示方法之间的相互转换。 1. 逻辑表达式转化为真值表 在转化时,先将所有变量的取值组合列在真值表的左半部分,为确保列出全部组合,一般以二进制的计数顺序填写; 再将所有取值组合中的变量值逐一代入逻辑式求出函数值,填在表的右半部分相应行上,即可得到真值表。 【例33】已知逻辑函数Y=A+C+B,求其真值表。 解: 将A、B、C的各种取值逐一代入Y式中计算,将计算结果列表,即得到如表3.2所示真值表。 表3.2真值表1 A B C Y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 有时为了运算方便,往往在表中插入中间函数列,如表3.3所示。 表3.3真值表2 A B C C B Y 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 1 2. 真值表转化为逻辑表达式 为便于理解转换的原理,先讨论一个具体的例子。 【例34】已知一个判别函数的真值表如表3.4所示,试写出它的逻辑表达式。 解: 由真值表3可见,当A、B、C三个输入变量取值为以下三种情况时,Y等于1。 A=0B=1C=1 A=1B=0C=1 A=1B=1C=0 表3.4真值表3 A B C Y 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 而当A=0、B=1、C=1时,必然使乘积项BC等于1; 当A=1、B=0、C=1时,必然使乘积项AC等于1; 当A=1、B=1、C=0时,必然使乘积项AB等于1; 而只要这三组取值有一组满足,Y就为1(如表3.5所示)。 表3.5真值表4 A B C Y 0 0 0 0 0 1 0 1 0 0 1 1 BC 1 0 0 1 0 1 AC 1 1 0 AB 1 1 1 因此Y的逻辑函数应当等于这三个乘积项之和,即: BC+AC+AB 通过例34可以总结出由真值表写出逻辑表达式的一般步骤: (1) 找出真值表中使逻辑函数Y为1的那些输入变量取值的组合。 (2) 每组输入变量取值的组合应对应一个乘积项,其中取值为1的用原变量表示,取值为0的用反变量表示。 (3) 将这些乘积项相加,即得到函数Y的逻辑表达式。 3.1.5逻辑函数的标准形式 即使都是采用乘积之和的形式,同一函数在化简前后仍会有不同的表示形式。 AC+BC+BC+ABC C+BC 上面两个表达式实际对应同一个函数。 因此,需要给出逻辑函数的标准形式。 最常见的标准形式有最小项之和及最大项之积两种。它们都有这样的特点: 逻辑函数的每一项中都包含全部变量,而且每一项中每个变量以原变量或反变量的形式出现一次。表达式中的每一项可以是积项,也可以是和项。下面给出两种逻辑函数的标准形式,即逻辑函数的最小项之和形式和逻辑函数的最大项之积形式。 1. 最小项之和形式 在逻辑函数中若m为包含n个因子的乘积项,而且这几个变量均以原变量或反变量的形式在m中出现一次,则称m为该组变量的最小项。 例如,A、B、C三个变量的最小项共有8个(即23个)分别为: ABC、ABC、ABC、ABC、ABC、ABC、ABC、ABC 所以说n变量的最小项应有2n个。 变量的每一组取值都使一个对应的最小项的值等于1。例如在三变量A、B、C的最小项中,当A=1、B=0、C=1时,AC=1。如果把AC的取值101看作一个二进制数,那么它所表示的十进制数就是5。为了今后使用的方便,将AC这个最小项记作m5。按照这一约定,可得到三个变量的全部最小项,简记为m0、m1、m2、m3、m4、m5、m6、m7。 根据同样的道理,把A、B、C、D这四个变量的16个最小项的记作m0~m15。 从最小项的定义出发可以证明它具有如下的重要性质:  变量的任何一组取值对应且仅对应一个最小项,并且这个最小项的值为1。  全体最小项之和为1。  任意两个最小项的乘积为0。  相邻的两个最小项之和可以消去一对因子合并成一项。 若两个最小项只有一个因子不同,则称这两个最小项具有相邻性。这两个最小项相加时能合并成一项并将一对不同的因子消去。如: B+AB=(+A)B=B 当表达式中的所有乘积项都是最小项时,该式就称为最小项表达式。以下给出三变量和四变量的最小项表达式的例子: F=C+BC+ABC F=CD+B+AD+ABCD 最小项表达式与真值表之间的一一对应关系可总结为:  真值表中的每一行取值对应一个最小项,三变量最小项与四变量最小项分别如表3.6和表3.7所示。 表3.6三变量最小项真值表 A B C 最小项 m 0 0 0 m0 0 0 1 C m1 0 1 0 B m2 0 1 1 BC m3 1 0 0 A m4 1 0 1 AC m5 1 1 0 AB m6 1 1 1 ABC m7 表3.7四变量最小项真值表 A B C D 最小项 m 0 0 0 0 m0 0 0 0 1 D m1 0 0 1 0 C m2 0 0 1 1 CD m3 0 1 0 0 B m4 0 1 0 1 BD m5 0 1 1 0 BC m6 0 1 1 1 BCD m7 1 0 0 0 A m8 1 0 0 1 AD m9 1 0 1 0 AC m10 1 0 1 1 ACD m11 1 1 0 0 AB m12 1 1 0 1 ABD m13 1 1 1 0 ABC m14 1 1 1 1 ABCD m15  最小项表达式中包含的最小项对应于真值表中函数值为“1”的行。  任何逻辑函数都有唯一的最小项表达式,任何形式的表达式都可以写成最小项表达式形式。例如: F(A,B,C)=C+BC+ABC=m1+m3+m7=∑m(1,3,7) F(A,B,C,D)=CD+B+AD+ABCD =m3+m4+m9+m15=∑m(3,4,9,15) 利用基本公式A+=1可以把任何一个逻辑函数化为最小项之和的标准形式。 这种标准形式在逻辑函数的化简以及计算机辅助分析和设计中有广泛的应用。 例如: 给定三变量逻辑函数为 Y=AB+BC 则可化为 Y=AC+BC=AC+(A+)BC=AC+ABC+BC 2. 最大项之积形式 在n个变量的逻辑函数中,若M为n个变量之和,而且这n个变量均以原变量或反变量的形式在M中出现一次,则称M为该组变量的最大项。 例如,三变量A,B,C的最大项共有8个(即23)分别为: (A+B+C),(A+B+),(A++C),(A++) (+B+C),(+B+),(++C),(++) 对于n个变量则有2n个最大项。可见,n变量的最大项数目和最小项数目是相等的。 变量的每一组取值都使一个对应的最大项的值为0。例如,在三变量A,B,C的最大项中,当A=1,B=0,C=1时,(+B+)=0。若是将最大项为0的ABC的取值视为一个二进制数,并以其对应的十进制数给最大项编号,则(+B+)可记作M5。 根据同样的道理,把A,B,C,D这4个变量的16个最大项的记作M0~M15。 根据最大项的定义可以得到它的主要性质:  在变量的任何取值组合下必有一个且只有一个最大项的值为0。  全体最大项之积为0。  任意两个最大项之和为1。  只有一个变量不同的两个最大项的乘积等于各相同变量之和,例如,(++C)(+B+C)=+C。 当和之积表达式中的所有和项都是最大项时,该式就为最大项表达式。以下给出三变量和四变量的最大项表达式的例子: F=(++C)(+B+C)(A+B+C) F=(++C+D)(+B++)(A+++D)(A+B+C+D) 最大项表达式与真值表的一一对应关系可总结为:  真值表中的每一行取值对应一个最大项。三变量最大项与四变量最大项分别如表3.8和表3.9所示。 表3.8三变量最大项真值表 A B C 最大项 M 0 0 0 A+B+C M0 0 0 1 A+B+ M1 0 1 0 A++C M2 0 1 1 A++ M3 1 0 0 +B+C M4 1 0 1 +B+ M5 1 1 0 ++C M6 1 1 1 ++ M7 表3.9四变量最大项真值表 A B C D 最大项 M 0 0 0 0 A+B+C+D M0 0 0 0 1 A+B+C+ M1 0 0 1 0 A+B++D M2 0 0 1 1 A+B++ M3 0 1 0 0 A++C+D M4 0 1 0 1 A++C+ M5 0 1 1 0 A+++D M6 0 1 1 1 A+++ M7 1 0 0 0 +B+C+D M8 1 0 0 1 +B+C+ M9 1 0 1 0 +B++D M10 1 0 1 1 +B++ M11 1 1 0 0 ++C+D M12 1 1 0 1 ++C+ M13 1 1 1 0 +++D M14 1 1 1 1 + + + M15  最大项表达式中包含的最大项对应于真值表中函数值为“0”的行。  任何逻辑函数都有唯一的最大项表达式,任何形式的表达式都可以写成最大项表达式形式,例如: F(A,B,C)=(++C)(+B+C)(A+B+) =M6·M4·M1=∏M(1,4,6) F(A,B,C,D)=(++C+D)(+B++)(A+++D) =M12·M11·M6=∏M(6,11,12) 利用基本公式A·=0可以把任何一个逻辑函数化为最小项之和的标准形式。 例如: 给定三变量逻辑函数为: Y=(A+B+)(B+C) 则可化为: Y=(A+B+)(A+B+C) =(A+B+)(A+B+C)(+B+C) 注意: 在展开时用到了加对乘的分配律。 【例35】已知一个函数的真值表如表3.10所示,试分别以最小项之和形式和最大项之积形式写出逻辑函数。 表3.10函数的真值表 A B C 最大项 最小项 F 0 0 0 A+B+C 0 0 0 1 A+B+ C 0 0 1 0 A++C B 0 0 1 1 A++ BC 1 1 0 0 +B+C A 0 1 0 1 +B+ AC 1 1 1 0 ++C AB 1 1 1 1 ++ ABC 1 解: 函数的最小项表达式为 F=BC+AC+AB+ABC 函数的最大项表达式为 F=(A+B+C)(A+B+)(A++C)(+B+C) 【例36】已知一个函数的真值表如表3.11所示,试分别以最小项之和形式和最大项之积形式写出它的逻辑函数。 表3.11函数的真值表 A B 最大项 最小项 F 0 0 A+B 1 0 1 A+ B 0 1 0 +B A 0 1 1 + AB 1 解: 函数的最小项表达式为 F=+AB 函数的最大项表达式为: F=(A+)(+B) 实际上,很容易证明两个式子相等。 F=(A+)(+B)=A+AB++B =0+AB++0=+AB 3.1.6逻辑表达式的化简 一个逻辑函数可以写成多个不同形式的逻辑表达式,即使同一种形式的表达式的繁简程度也不尽相同。简洁的逻辑式,不但逻辑关系明显,而且会以最少的元件构成逻辑电路实现这个逻辑函数。因此,往往需要对逻辑函数进行化简。 化简的目的是使逻辑函数中的项最少,每一项包含的因子也最少。 例如有两个逻辑函数: Y=ABC+C+ACD和Y=AC+C 列出真值表就可以看出,它们是同一个逻辑函数。显然,后面的式子要简单得多。 由于逻辑代数的基本公式和常用公式多以“与—或”形式给出,用于化简“与—或”逻辑函数比较方便。下面主要讨论“与—或”逻辑函数式的化简。有了最简的“与—或”函数式,再通过公式变换就可以得到其他类型的函数式了。究竟应该将函数式变换成什么形式,要视所用门电路的功能类型而定。但必须注意,将最简“与—或”函数式直接变换为其他类型的逻辑式时,得到的结果不一定是最简的; 同时,在逻辑设计中,最简的表达式不一定能得到最简电路。 下面介绍两种常用的化简方法: 代数化简法和卡诺图化简法。 1. 代数化简法 代数化简法就是利用逻辑代数的基本公理和定律对给定的逻辑函数表达式进行化简。常用的代数化简法有吸收法、消去法、并项法、配项法。 1) 吸收法 利用公式A+AB=A,吸收多余的与项进行化简。 例如: F=+BC+BD+E=·(1+BC+BD+E)= 2) 消去法 利用公式A+B=A+B,消去与项中多余的因子进行化简。 例如: F=A+B+C+D=A+B+C+D =A+B+C+D=A+B+C+D 3) 并项法 利用公式A+=1,把两项并成一项进行化简。 例如: F=ABC+AB+A·(BC+B) =A·(BC+B+BC+B)=A 4) 配项法 例如: 先通过乘以A+或加上A,增加必要的乘积项,然后再进行化简。 F=AB+C+BCD =AB+C+BCD(A+)=AB+C+ABCD+BCD =AB+C 有时对逻辑函数表达式进行化简,可以几种方法并用,综合几种方法化简。例如: F=BC+AB+AC+ABC =BC+ABC+AB+ABC+AC+ABC =AB·(C+)+AC·(B+)+BC·(A+) =AB+AC+BC 在这个例子中就使用了配项法和并项法两种方法。 2. 卡诺图化简法 卡诺图化简法是借助于卡诺图的一种几何化简法。代数化简法技巧性强,化简的结果是否最简不易判断; 而卡诺图化简法是一种肯定能得到最简结果的方法,但是它只适用于变量较少的情况。 1) 卡诺图的结构 若两个乘积项(或两个和项)只有一个变量取值相反,其他变量都相同,则这两项可以合并为一项。这样的项称为逻辑相邻项。例如(ABC+BC)=BC。 卡诺图是变形的真值表,用方格图表示自变量取值和相应的函数值。其构造特点是: 自变量取值按循环码排列,使卡诺图中任意两个相邻的方格对应的最小项(或最大项)只有一个变量不同,从而将逻辑相邻项转换为几何相邻项,方便合并。图3.7分别给出了三变量、四变量和五变量的卡诺图。 图3.7变量卡诺图 2) 在卡诺图上合并最小项(或最大项) 卡诺图上任意两个相邻的最小项(或最大项)可以合并为一个乘积项(或和项),并消去其中取值不同的变量。图3.8给出了两变量卡诺图中两个相邻项的合并情况。 图3.8卡诺图中两个相邻项的合并 卡诺图中四个相邻项也可以合并为一项,并消去其中两个取值不同的变量。图3.9给出了两变量卡诺图中四个相邻项的合并情况。 图3.9卡诺图中四个相邻项的合并 卡诺图中八个相邻项可以合并为一项,并消去其中三个取值不同的变量。图3.10给出了五变量卡诺图中八个相邻项合并的情况,也给出了五变量卡诺图中镜像相邻的最小项合并的情形。 图3.10五变量卡诺图中最小项的合并 卡诺图中合并的结果表示: 圈“1”将最小项合并为乘积项,所有卡诺圈对应的乘积项之和就是最简“与或式”。 乘积项的书写规则: 卡诺圈对应的自变量取值为“1”时,则该自变量在乘积项中取原变量形式; 取值为“0”时,为反变量形式。 圈“0”对应于最大项的合并,每个圈中的最大项合并为一个和项,所有卡诺圈对应的和项之积就是最简“或与式”。 和项中的书写规则: 取值为“0”的自变量写成原变量形式,取值为“1”的自变量写成反变量形式。 说明: 卡诺图上圈“1”的原则: 圈的个数最少,每个圈尽可能大。 为了防止化简后的表达式中出现冗余项,必须保证卡诺图中的每个圈中至少有一个“1”(或“0”)是不在其他圈中的。 3) 卡诺图化简逻辑表达式举例 【例37】用卡诺图化简F(A,B,C,D)=∑m(0,3,9,11,12,13,15),写出最简与或式。 解: (1) 画出四变量卡诺图,如图3.11所示。 (2) 填图(将最小项对应的“1”填入卡诺图)。 (3) 圈“1”(先圈孤立的“1”,再圈只有一种合并方式的两个“1”,然后是四个“1”……)。 (4) 读出(将化简结果读出,写出最简与或式)。 最简与或式为: F=+CD+AB+AD 【例38】用卡诺图化简函数F(A,B,C,D)=∑m(1,2,4,5,6,7,11),分别求出最简与或式和最简或与式。 解: 画出四变量卡诺图,如图3.12所示。 图3.11例37的卡诺图 图3.12例38的卡诺图 最简与或式为: F=ACD+D+C+B 最简或与式为: F=(A+B++)(B+C+D)(+C)(+D)(+) 3.2门电路 实现基本逻辑运算和复合逻辑运算的单元电路通称为门电路。基本门电路“与门”“或门”“非门”分别用于实现与、或、非三种基本逻辑运算。组合门电路对应实现组合逻辑运算。 图3.13计算机中的门电路 用基本的门电路可以构成复杂的逻辑电路,完成复合逻辑运算功能。逻辑电路是构成计算机及其他数字电路的重要基础。 门电路的功能可描述如图3.13。 所有门电路都满足如下特点: (1) 每个单元都有若干输入端,1个输出端。 (2) 每端只有两种不同的稳定状态,逻辑“真”或“假”,或称“1”或“0”。 3.2.1三种基本门 国内、国际常用的三种基本门电路的符号如图3.14和图3.15所示。 图3.14基本门电路的国内符号 图3.15基本门电路的国际符号 1. 与门 与门对应与运算。功能可描述为: 当且仅当所有的输入端状态都为1时,输出端状态才为1,否则为0; 或者只要有一个输入端为0,输出端就为0。 2. 或门 或门对应或运算。功能可描述为: 当且仅当所有的输入端状态都为0时,输出端状态才为0,否则为1; 或者只要有一个输入端为1,输出端就为1。 3. 非门 非门对应非运算。其输出端状态永远与输入端相反。 3.2.2门电路的真值表 也可把门电路的功能用真值表来概括。真值表中左半部分对应所有可能的输入状态组合(输入组合一般以二进制计数顺序填写),右半部分是相应于输入组合的输出状态。 两输入端与门、或门及非门真值表如表3.12所示。 表3.12两输入端与门、或门及非门真值表 ABFABFAF 00000001 01001110 100101 111111 总结与门、或门真值表,归纳如下: (1) 0和任何数相与都为0。 (2) 1和任何数相与都为另一个数本身。 (3) 1和任何数相或都为1。 (4) 0和任何数相或都为另一个数本身。 3.2.3门电路的波形图 真值表能全面反映出门电路输出端与输入端之间的逻辑关系,但却不能形象反映输出端与输入端之间瞬间的逻辑关系。而波形图能形象地表示出输出端与输入端之间瞬间的逻辑关系。 波形图是指逻辑电路中某点点位随时间变化的波形。 两输入端与门、或门的波形图如图3.16所示。 图3.16两输入端与门、或门波形图 图中很形象地描绘了与门、或门输出端随输入端状态变化的对应。 注意: 图中并没有标出时间轴,因为这里强调的是输出端和输入端之间的关系,具体对应的时间并不重要。 3.2.4几种常用组合门电路 前面介绍了基本门电路及其真值表、波形图。 正如复杂问题的解法可以通过相应的算法,最终化为四则运算等初等数学方法进行运算一样,任何复杂的逻辑问题,最终均可用“与”“或”“非”这三种基本逻辑运算的组合加以描述。常用的组合逻辑电路单元有“与非门”“或非门”“异或门”“同或门”等,它们都是计算机中广泛应用的基本组合逻辑电路单元。表3.13给出了这几种组合逻辑门电路的功能、符号(上面一个为国内符号、下面的为国际符号)、逻辑表达式及真值表。 表3.13常用组合门电路 运 算 名 称逻辑表达式真值表逻辑门符号运 算 特 征 与非F=A·B ABF 001 011 101 110 输入全为1时,输出F=0 或非F=A+B ABF 001 011 100 110 输入全为0时,输出F=1 异或F=AB =B+A ABF 000 011 101 110 输入奇数个1时,输出F=1 同或 (异或非)F=AB =AB =AB+ ABF 001 010 101 111 输入偶数个1时,输出F=1 “与非门”“或非门”在功能上相当于一个与门、或门再加上一个非门,都是先“与”“或”再“非”; “异或门”是输入相同时输出为0,输入不同输出则为1; 反之,“同或门”是输入相同则输出为1,输入不同则输出为0。 3.3逻辑电路的分析与设计 前两节介绍了各种常用门电路以及分析和设计逻辑电路的基本工具——逻辑代数。 下面通过一个实例来体验门电路的功能。 图3.17中包含了两个非门、三个与门和一个或门。整个电路有两个输入端、两个输出端。 图3.17逻辑电路实例 可根据各门的输入及输出的关系写出电路输出端S和C的表达式: S=A+B C=AB 为了搞清楚电路输出端和输入端状态之间的关系,可根据逻辑表达式得出此电路的输入输出关系真值表如3.14所示。 表3.14图3.17逻辑电路真值表 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 从真值表可以看出,如果把A和B看成被加数和加数,那么S和C正好对应这两个二进制数的和与进位。 由此可知,图3.17所示电路可实现两个一位二进制数相加的功能。 由上例可以看出,用逻辑门电路相互连接可产生任意逻辑函数。而实际上,任意逻辑函数又都对应一个相应逻辑电路的描述。可用逻辑函数来分析和设计逻辑电路。 3.3.1分析逻辑电路 分析逻辑电路的步骤如下。 (1) 从输入端开始,逐个查出每个门的输出,将此作为下一级的输入,再查出其输出,又作为下一级的输入,如此继续,直至产生函数值,写出输出端的逻辑表达式。 (2) 根据逻辑表达式填制逻辑电路输入输出真值表。 (3) 综合分析,给出逻辑电路的功能。 【例39】试根据图3.18写出此逻辑电路的逻辑表达式。 图3.18逻辑电路 解: 根据输入端和使用的门电路可以得出该逻辑电路的逻辑表达式: F=AB+BC 【例310】写出图3.19对应的每个Y的逻辑表达式,分析其功能。 图3.19逻辑电路 解: 根据逻辑图可以写出每一个输出端的逻辑表达式: Y0=,Y1=C,Y2=B,Y3=BC, Y4=A,Y5=AC,Y6=AB,Y7=ABC 根据逻辑表达式填制出的真值表如表3.15所示。 表3.15真值表 A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 通过分析真值表可以看出: 相对于一组可能的输入状态组合,电路中的8个输出端的状态有且仅有一个输出端的状态为高; 当把输入端ABC看成一个3位二进制数时,输出端为高的那个输出端的下标正好对应输入状态的二进制数所代表的值。 由此可知,如果把输入端看成二进制数的各位,输出端看成对应的八进制数字符号,此电路可以实现由二进制到八进制的数制转换,是一个进制转换器。 实际上,这是一个典型的三八译码器。 【例311】试分析图3.20中逻辑电路的功能。 图3.20逻辑电路 解: 此电路的8个输出端分别为8个与门的输出; 而每个与门的两输入端中有一个是一致的——E端,另一个输入端则是寄存器里寄存的数据位。 由于各个与门的输入输出关系很相似,所以,仅分析其一即可。由图可知,A′=E·A。 在介绍与门时,曾得出结论:  0和任何数相与都为0。  1和任何数相与都为另一个数本身。 因此: 当E端为0时,A′=0; E为1时,A′=A。也就是说,当E为0时,各输出端都为0; 而E为1时,各输出端为8位寄存器寄存的数据值。 由此可知,这是一个可控数据传输器。E为控制端,为0时封锁数据,为1时传输数据。 实际上,在分析上面电路功能时,并没有填制真值表。也就是说,在实际分析电路时,可根据情况适当跳过分析电路三步中的某步骤,不必教条。 3.3.2设计逻辑电路 设计逻辑电路的步骤如下。 (1) 根据给出的命题确定好输入、输出端,做出真值表。 (2) 由真值表写出逻辑表达式(可做适当化简,以简化电路、节省器件)。 (3) 选择逻辑器件实现电路。 【例312】试设计一电路: 三输入一输出,当输入端中有两个以上(含两个)的1时,输出为1,否则为0。 解: 首先根据要求填制真值表如3.16所示。 表3.16真值表 A B C F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 由真值表写出逻辑表达式: F=BC+AC+AB+ABC 按此表达式,可选取三个非门、四个与门及一个或门来实现电路,如图3.21所示。 图3.21逻辑电路 图3.21是表达式未经化简就直接用门电路实现。实际上,经过化简之后会节省很多门电路。 F=BC+AC+AB+ABC=BC+ABC+AC+ABC+AB+ABC =(+A)BC+(+B)AC+(C+C)AB=BC+AC+AB 根据上面的逻辑表达式,只要选择与门和或门就能构成逻辑电路,如图3.22所示。 图3.22逻辑电路 图3.22要比图3.21简化得多,并且根本就不用非门。由此可见,逻辑表达式的化简在电路设计时是十分必要的。 3.4触发器及寄存器 前面介绍的各种门电路属于没有记忆功能的组合电路。接下来介绍有记忆功能的时序电路。 时序电路的基本单元电路为触发器,能存放一位二进制信息; 多个触发器构成寄存器,用来存放多位二进制信息。 3.4.1触发器 能够存放一位二进制信息的触发器如图3.23所示。从功能的角度,触发器可分为RS触发器、D触发器、JK触发器以及T计数器4种。但任何类型的触发器都满足下面的特点: 图3.23计算机中的触发器 (1) 具有多个输入端。 (2) 两输出端,且状态永远相反。 (3) 触发器具有两个稳定状态: “0”代表触发器寄存的是0,此时Q=0; “1”代表触发器寄存的是1,此时Q=1。 (4) 多输入端中有两个输入端,分别为清0端(R)及置1端(S),R、S低电平有效,且不同时为0。 (5) R、S信号结束后,如无新代码输入,触发器就保持原来的“0”“1”状态不变,直到有新的代码输入,触发器的输出并不随着输入的消失而消失,这就是触发器的记忆功能。 1. RS触发器 RS触发器的逻辑符号及功能表如表3.17所示,它只有R和S两个输入端。R和S平时为高电平1,当变为低电平0时,进入有效工作状态。当S为0时,将触发器置为1状态,即Q为1,Q非为0; 当R为0时,将触发器置为0状态,即Q为0,Q非为1。S端又被称为置1端,相应地R端被称为置0或清0端。R和S不同时有效。 表3.17RS触发器功能表 输入输出 R S Q 0 0 不允许 0 1 0 1 1 0 1 0 1 1 Q 2. D触发器 D触发器的逻辑符号及功能表如表3.18所示,它除了R和S输入端外,还有D和CP两个输入端。D端为数据端,用于输入数据; CP(Clock Pulse)端为时钟端,用于控制工作时序。 表3.18D触发器功能表 时 钟 信 号 有正跳 无正跳 输入 D 0 1 0 1 输出 Q 0 1 Q D分两级工作。 第一级为R、S清0、置1级。只要R或S有效,就将触发器清0、置1,D和CP端不起作用。 第二级为D和CP联合控制级。当R、S无效时,在CP由低电平变为高电平的瞬间(形象地称这个瞬间的波形为正跳沿,相对而言,CP由高电平变为低电平称为负跳沿),触发器接收D端的数据,即Q=D。 3. JK触发器 JK触发器的逻辑符号及功能表如表3.19所示,它除了R和S输入端外,还有J、K和CP三个输入端。J、K端为数据端,用于输入数据; CP(Clock Pulse)端为时钟端,用于控制工作时序。 表3.19JK触发器功能表 时 钟 信 号 有负跳 输入输出 J K Q 0 0 Q 0 1 0 1 0 1 1 1 JK触发器也是分两级工作。 第一级为R、S清0、置1级。只要R或S有效,就将触发器清0、置1,J、K和CP端不起作用。 第二级为J、K和CP联合控制级。当R、S无效时,在CP由高电平变为低电平的瞬间(有负跳时),触发器由J、K联合决定触发器状态。当J=K=1时,在时钟的负跳沿,触发器翻转,即原来为0变为1,原来为1则变成0; 当J=K=0时,在时钟的负跳沿,触发器仍然保持原来的状态不变; 当J≠K时,在时钟的负跳沿,触发器接收J的状态,即Q=J。 JK触发器的逻辑功能比较全面,因此在各种寄存器、计算器、逻辑控制等方面应用最为广泛。但在某些情况,如二进制计数、移位、累加等,多用D触发器。由于D触发器线路简单,所以大量应用于移位寄存器等方面。 4. T与T′触发器 T′触发器与T触发器的工作中状态始终在0和1之间变换,就像在进行1位二进制计数一样,所以也被称为计数器。T′触发器为不可控计数器,T触发器为可控计数器。它们的逻辑符号及功能表分别如表3.20和表3.21所示。 表3.20T′触发器功能表 时 钟 信 号输出 有正跳 无正跳Q 表3.21T触发器功能表 时钟信号 有正跳 无正跳 输入 T 0 1 0 1 输出 Q Q Q T′触发器除了R和S输入端外,只有一个CP时钟端,在时钟的正跳沿,触发器翻为原来的反状态(翻转)。 T触发器比T′触发器多了一个控制端T。当T为1时触发器才可在时钟正跳沿翻转,T为0时触发器状态不变。 T′触发器与T触发器也是分两级工作。 下面举例来熟悉触发器的功能。 【例313】已知D触发器的D和CP端波形如图3.24所示,试绘出其输出端波形。 图3.24D和CP端波形 解: 图中未给出R、S端波形,说明R、S处于无效状态。只考虑二级D、CP决定触发器状态。 另外,题中未给出Q端的初始状态,所以需要考虑初始为0或1两种情况,或者也可以把前面未知状态时的波形省略。 由于触发器两个输出端状态相反,所以只绘出Q端波形,如图3.25所示。图中CP波形中上箭头标明了正跳沿点,也就是Q端接收D数据的点。 图3.25Q端波形 【例314】已知两个JK触发器连成如图3.26所示的电路,预置触发器为00,试画出当时钟信号连续来临时两个Q端的波形。 图3.26JK触发器连成的电路 解: 图中未给出R、S端波形,说明R、S处于无效状态,而J、K端都悬空(相当于高电平)。根据J、K触发器的功能表可以看出,两个触发器都处于翻转状态——即只要有时钟的负跳沿,触发器就变为原来的反状态。 Q0触发器的时钟端接至外部时钟端,只要外部始终有负跳沿,Q0就翻转。而Q1触发器的时钟端与Q0端相连,则只有在Q0由高变为低时,Q1才翻转。 随着时钟负跳沿的不断来临,Q0、Q1的波形如图3.27所示。 图3.27Q0与Q1波形图 Q1Q0的状态起始为00; 当第一个时钟负跳沿来临之后,变为01; 当第二个时钟负跳沿来临时,变为10; 第三个时钟负跳沿过后,变为11; 等第四个时钟负跳沿一过,又变为00。 可以推测,随着后继时钟负跳沿的来临,Q1Q0的状态将变为01、10、11、00。 实际上,这两个触发器如此连接,构成了一个两位的计数器,能记录4个时钟周期。 3.4.2寄存器 寄存器是由触发器组成的、用于存放多位二进制信息的器件。一个触发器是一个一位寄存器,多个触发器就可以组成一个多位的寄存器。由于寄存器在计算机中的作用不同,寄存器分为缓冲寄存器、移位寄存器、计数器等。 1. 缓冲寄存器 缓冲寄存器是用来暂存某个数据。图3.28是一个由4个D触发器组成的4位缓冲器。 图3.284位D触发器组成的缓冲寄存器 各触发器时钟端通过CLK(CLOCK)端统一控制,它们同时通过CLR(CLEAR)端清0,同时接收新数据。为了保证存储数据的准确性,在寄存器接收新数据之前,先把触发器统一清0,然后在时钟的正跳沿,寄存器把从X输入的数据保存在寄存器中。 JK触发器也实现缓冲寄存器的功能。关键是要让J和K处于不同的状态,然后把数据从J端接收。图3.29所示的JK触发器在功能上相当于D触发器。 无论是D触发器还是JK触发器构成的缓冲寄存器,都可用图3.30所示的符号来表示。 图3.29实现缓冲寄存器功能的JK触发器 图3.30n位缓冲寄存器符号 2. 移位寄存器 在计算机的工作中,在进行位运算、乘除法运算等好多场合要用到移位操作。移位寄存器能将存储的数据逐位向左或向右移动,以完成计算机运行过程中所需的功能。图3.31所示是用4个D触发器构成的4位右移寄存器。 图3.31由D触发器组成的4位右移寄存器 各触发器时钟端通过CLK统一控制,移位前不能清0。在时钟的正跳沿,寄存器里的各位数据依次右移,Q0=Q1,Q1=Q2,Q2=Q3,Q3接收新输入的数据Din。 JK触发器也可用来组成移位寄存器。此不赘述。 3. 可控缓冲寄存器 可控缓冲寄存器在原来的基础上增加了控制端LOAD。当LOAD端为高电平时,时钟跳变,寄存器接收新数据X,否则保持原来的数据不变,如图3.32所示。 图3.32用D触发器制成的可控缓冲寄存器 4. 可控移位寄存器 图3.33是一个比较实用的多功能寄存器,它能实现左移、右移、输入和保持功能,这些功能的实现是由控制端LOAD(输入)、LS(左移)、RS(右移)来控制的,同一时刻这三个控制端只能有一个有效(高电平有效),三者都无效时,保持原数据不变。CLR为清0端,CLK为统一时钟端,Lin、Rin分别为左移、右移时的数据输入端。 图3.33D触发器构成的多功能寄存器 3.4.3计数器 计数器也是由若干个触发器组成的寄存器,它的特点是能够把存储在其中的数据在时钟信号来临时加1或减1。计数器的种类也很多,有异步计数器和同步计数器等。所谓的异步和同步是指组成计数器的各触发器的输出端Q是先后到达计数后的稳定状态还是同时到达。同步计数器里的各触发器时钟统一控制,时钟信号来临后,各触发器的输出端Q同时到达计数后的稳定状态; 而异步计数器中各触发器的时钟分别控制,计数后各触发器Q端从低位到高位逐步达到稳定状态,高一位的触发器靠低一位的触发器Q端推动达到新的稳定状态,就像波浪逐级前行一样,所以,异步计数器又称行波计数器。 图3.34是一个由JK触发器组成的4位行波计数器。 图3.34JK触发器组成的4位行波计数器 各触发器的J、K端都悬空,为高电平,处于接收来自CLK的负跳沿就翻转的状态。最低位触发器的CP端接外部CLK端,高位触发器的CP端连接低位的Q端。低位的Q由1变为0时,高位的Q翻转。 计数时,CLR端有效低电平先将各位触发器清0,然后随着时钟信号的来临,Q3~Q0触发器的状态由0000变为0001,再变为0010,0011,0100,…,这个计数器是4位的,因此可以计16个数,0000~1111。 把时钟信号连续输入时计数器各触发器的状态用波形图表示出来,就能形象地理解计数器的计数过程,如图3.35所示。 计数器也可用T′触发器组成,如图3.36所示。 图3.354位JK触发器行波计数器工作波形图 图3.36T′触发器组成的4位行波计数器 各触发器处于接收来自CLK的正跳沿就翻转的状态。最低位触发器的CP端接外部CLK端,高位触发器的CP端连接低位的端。低位的Q由1变为0时,即由0变1时,高位的Q翻转。 波形如图3.37所示。 图3.374位T′触发器行波计数器工作波形图 T′触发器组成的行波计数器与JK触发器组成的计数器的不同点只在于前者是时钟正跳沿计数,而后者是时钟负跳沿计数。 3.5本章小结 本章在介绍逻辑代数和各种门电路的基础上学习了逻辑电路的分析和设计,又在介绍触发器的基础上学习了各种寄存器与计数器。对今后学习计算机各部件的组成及工作原理打下良好的基础。要求学生重点掌握门电路、触发器及寄存器的基本功能,了解逻辑电路的分析与设计。 3.6习题 一、 选择题 1. 现代计算机内的逻辑电路多采用()电路。 A. 分立元件B. 硅片 C. 小规模集成D. 超大规模集成 2. 逻辑电路的任何输入端和输出端都只有()稳定状态。 A. 2个B. 1个C. 不一定D. 10个 3. 只与当前的输入有关的是()。 A. 计数器B. 触发器C. 寄存器D. 门电路 4. 用来分析和设计逻辑电路的基本工具是()。 A. 逻辑代数B. 逻辑表达式C. 真值表D. 波形图 5. 可用来组成缓冲寄存器的触发器有()和D触发器。 A. RS触发器B. T′触发器 C. T触发器D. JK触发器 二、 填空题 1. 计算机中的逻辑电路按工作性质可分为和。 2. 组成组合电路的最基本单元电路为,而时序电路的最基本单元电路为。 3. 组合电路的输出只与有关,而时序电路的输出不只与有关,与以前的也有关。 4. 可全面描述逻辑电路输入与输出关系的表为。 5. 逻辑电路中某点电位随时间变化的图形叫。 三、 简答题 1. 简述分析和设计逻辑电路的大致步骤。 2. 简述组合电路与时序逻辑电路。 3. 简述门电路和触发器的特征。 4. 如何让JK触发器等同于D触发器和T′计数器? 四、 表达式化简,并用基本门电路设计逻辑电路 1. F=AB++B 2. F=AB+C+B 3. F=A+B+AC+ 4. F=A+C+BC+CD 5. F=AB+CD+CD+CD+CD 6. F=A+A+CD+(+)E 7. F=++ABCD 8. F=A+B 五、 电路设计题 1. 用JK触发器组成4位循环左移(最高位移给最低位)寄存器。 2. 用D触发器组成4位行波计数器。 3. 用JK触发器组成4位可控移位寄存器。要求可输入、保持、左移和右移。 4. 用基本门电路设计一可鉴别8421BCD码的电路。要求: 当4个输入端的组合属于8421BCD码里用于表示十进制数的数字符号的组合时,输出为1,否则为0。 3.7参考答案 一、 选择题 1. D2. A3. D4. A5. D 二、 填空题 1. 组合逻辑电路时序逻辑电路 2. 门电路触发器 3. 当前的输入当前的输入输入 4. 真值表 5. 波形图 三、 简答题 1. 答: 分析逻辑电路的步骤为: (1) 从输入端开始,逐个检查每个门的输出,将此作为下一级的输入,再将其输出作为下一级的输入,如此继续,直至产生函数值,写出输出端的逻辑表达式。 (2) 根据逻辑表达式做出逻辑电路输入输出真值表。 (3) 综合分析,给出逻辑电路的功能。 设计逻辑电路的步骤如下: (1) 根据给出的命题确定好输入、输出端,做出真值表。 (2) 由真值表写出逻辑表达式(可做适当化简,以简化电路、节省器件)。 (3) 选择逻辑器件实现电路。 2. 答: 所有逻辑单元电路都有若干个输入端、若干个输出端,每端只有两种不同的稳定状态,“高”或“低”电平,逻辑“真”或“假”,或谓“1”或“0”。组合逻辑电路输出端的状态只和当前输入端的状态有关。其基本单元电路为“门电路”。时序电路输出端的状态不仅和当前输入端的状态有关,与以前输入端的状态也有关系。 3. 答: 门电路特征: (1) 每个单元都有若干个输入端、1个输出端。 (2) 每端只有两种不同的稳定状态,逻辑“真”或“假”,或称“1”或“0”。 触发器特征: (1) 具有多个输入端。 (2) 两输出端,且状态永远相反。 (3) 触发器具有两个稳定状态: “0”代表触发器寄存的是0,此时Q=0; “1”代表触发器寄存的是1,此时Q=1。 (4) 多输入端中有两个输入分别为清0端(R)及置1端(S),R、S低电平有效,且不同时为0。 (5) 工作特点: R、S信号结束后,如无新代码输入,触发器就保持原来的状态不变,直到有新的代码输入。触发器的输出并不随着输入的消失而消失。此即所谓记忆功能。 4. 解: 四、 表达式化简,并用基本门电路设计逻辑电路 1. F=AB+ 2. F=C+B 3. F=A+ 4. F=A+C 5. F=AB+CD 6. F=A+CD 7. F=++CD 8. F=A+ 注: 电路设计略。 五、 电路设计题 1. 电路如下: 2. 电路如下: 3. 电路如下: 4. 解: 根据题意可列真值表如下。 A B C D F 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 由真值表得到表达式并化简: F=+D+C+CD+B+BD+ BC+BCB+A+B =+ 电路图如下。