《数字电路与系统(上)》由会员分享,可在线阅读,更多相关《数字电路与系统(上)(245页珍藏版)》请在金锄头文库上搜索。
1、,第3章 逻辑代数基础,数字电路使用二进制,即电路中的信号变量均为二值变量,只能有0、1两种取值。逻辑代数描述了二值变量的运算规律,它是英国数学家布尔(George Boole)于19世纪中叶在他的著作逻辑的数学分析及思维规律中提出的,也称布尔代数。逻辑代数是按逻辑规律进行运算的代数,是分析和设计数字逻辑电路不可缺少的基础数学工具。本章主要讨论逻辑代数的运算法则、基本规则以及逻辑函数的化简方法。,3.1 逻辑代数运算法则,逻辑代数中的变量只有0、1两种取值,逻辑函数的输入变量可以有多个,输出变量为一位的变量。逻辑代数基本运算包括非、或、与三种运算。,或运算也称为逻辑加法,用“+”表示,分别为0
2、 + 0 = 0,0 + 1 = 1,1 + 0 = 1,1 + 1 = 1。,与运算也称为逻辑乘法,用“ ”表示,分别为0 00,0 10,1 00,1 11。,3.1.1 逻辑代数的基本定律,3.1.2 逻辑代数的基本规则,1代入规则在任何一个逻辑代数等式中,如果等式两边出现的某一变量都用一个逻辑函数代替,则等式依然成立。,设 F 为逻辑函数,如果将该函数表达式中所有的“与”()换成“或”(+),“或”(+)换成“与”();“0”换成“1”,“1”换成“0”;原变量换成反变量,反变量换成原变量, 则所得到的逻辑函数即F的反函数,表达式为 。,2反演规则,运用反演规则时要注意以下两点: 运算
3、优先顺序不变; 不是单一变量上的反号保持不变。,3对偶规则,若 F 为一逻辑函数,如果将该函数表达式中所有“与”()换成“或”(+),“或”(+)换成“与”();“0”换成“1”,“1”换成“0”, 则所得到的逻辑函数即 F 的对偶式,表达式为 F 。 F 成立,F 也成立,同时有(F ) = F。,利用对偶规则可以使要证明的公式数减少一半。,解:,解:,3.1.3 逻辑代数常用公式,(3),(5),证明:,(6),(7)如果,推论:如果,则有, 则有,多变量异或运算中,运算结果只与变量为1的个数有关,与变量为0的个数无关。若有奇数个变量为1,则结果为1;若有偶数个变量为1,则结果为0。,3.
4、2 逻辑函数的标准形式,逻辑函数有两种标准形式,一种是“最小项之和”的形式,称为标准与或式;另一种是“最大项之积”的形式,称为标准或与式。,3.2.1 最小项和标准与或式,1最小项,多个变量的乘积形式称为与项,如AB、 。由 n 个变量组成的逻辑函数的最小项是包含这 n 个变量的与项,其中每个变量都以原变量或反变量形式出现一次,且只出现一次。这个与项称为最小项或称标准与项。若变量数为 n ,则有 2n 个最小项。,例如,三个变量A、B、C可以构成8个最小项:,表3.1列出了三变量最小项真值表。,表3.1 三变量最小项真值表,最小项具有下列性质。 (1)对于任意一个最小项,只有一组变量的取值使它
5、的值为1,而其他取值都使该最小项为0; (2)对于变量的任一组取值,任意两个最小项的乘积为0; (3)全体最小项之和为1。,最小项通常用 mi 表示,下标 i 即是最小项编号,用十进制表示。把使最小项为1的那组变量取值当成二进制数,所对应的十进制数就是该最小项的编号。例如,A、B、C 取101时, = 1,101对应十进制数 5 ,所以 编号为 m5 。,3.2.2 最大项和标准或与式,表3.2 三变量最大项真值表,表3.3 三变量最大项和最小项及其编号,2标准或与式,逻辑函数表达式为一组最大项之积的形式,称为标准或与式。标准或与式说明在变量取何值时逻辑函数等于0。,【例3.7】 一个三变量逻
6、辑函数的真值表见表3.4,请写出其标准或与表达式。,解:,3.2.3 最大项与最小项的关系,(1)最大项与最小项互补,即,,,例如,对于三变量A、B、C,有:,(2)对于同一函数,不在最小项中出现的编号,一定出现在最大项编号中。,【例3.8】 一个三变量逻辑函数真值表见表3.5,写出其标准与或表达式和标准或与表达式。,解:,可见,标准与或式包含了使函数为1的项,而标准或与式包含了使函数为0的项。两者从不同角度说明了同一函数。,3.3 逻辑函数的公式化简法,同一个逻辑函数可以有不同的表达式,而逻辑式的繁简程度可以相差甚远。在逻辑电路设计中,逻辑函数要用电路元件来实现。一般来说,表达式越简单,其表
7、示的逻辑关系越明显,所用的电路元件也越少,可以节省材料,降低成本,提高系统的可靠性。因此,常常需要对函数进行化简,找出其最简表达式。最简表达式也有多种形式,如与-或表达式、或-与表达式、与非-与非表达式、或非-或非表达式、与-或-非表达式、或-与-非表达式等。例如:,以上6种表达式是同一函数的不同形式,都是最简表达式。最简表达式的判断标准为:(1)项数最少;(2)每项中变量个数最少。公式化简逻辑函数是运用逻辑代数公式、定理、规则等对逻辑函数进行化简。,【例3.9】 化简,解:,【例3.10】 化简,解:,【例3.11】 化简,解:,3.4 逻辑函数的卡诺图化简法,用卡诺图(Karnaugh M
8、ap)化简逻辑函数具有简单、直观、方便的特点,较容易判断出函数是否得到最简结果。,3.4.1 卡诺图,用卡诺图表示逻辑函数,是将此逻辑函数的每个最小项按一定规律填入一个特定的方格图内,这个图称为卡诺图。图3.1为两变量(A,B)卡诺图。每个变量都有0和1两种取值,每个小格为一个最小项。,图3.1 两变量卡诺图,图3.2分别给出了三变量、四变量和五变量卡诺图,小格内为相应最小项的编号。,(b) 四变量,5,7,3,1,1,4,6,2,0,0,10,11,01,00,ABC,(a) 三变量,(c) 五变量 图3.2 卡诺图,3.4.2 用卡诺图表示逻辑函数,卡诺图是最小项构成的方格集合,只要把逻辑
9、函数化成标准与或式(最小项之和),就可以很容易填入卡诺图中。,【例3.12】 用卡诺图表示逻辑函数,解:首先将F化成标准与或式:,在卡诺图中相应最小项的位置填1,其余位置填0(0也可以不填),如图3.3所示。,图3.3 例3.12卡诺图,【例3.13】 已知逻辑函数Y 的卡诺图如图3.4所示,写出Y 的逻辑函数表达式。,解:,图3.4 例3.13卡诺图,3.4.3 用卡诺图化简逻辑函数,1求最简与或表达式,由卡诺图中小格的相邻性得知,相邻小格只有一个变量不同,因此可以合并方格为1的相邻格,保留相同的变量,消去不同的变量,达到化简的目的。化简的规则是:如果有2k个最小项相邻(k = 1,2,3,
10、)并排成一个矩形,则它们可以合并为一项,并消去k个因子,留下相同变量是1的写原变量、是0的写反变量,组成与项,各个与项之间为“或”的关系。用卡诺图求最简与或式的步骤是:(1)画出函数的卡诺图;(2)圈出矩形2k个格中的1;(3)写出最简与或表达式。同时要注意:(1)1格一个也不能漏圈;(2)1格可以被重复圈;(3)圈的面积尽可能大,圈的个数尽可能少;(4)每个圈中至少有一个未圈过的1。,【例3.14】 用卡诺图法化简函数,解:将函数X 填在卡诺图中(见图3.5),圈1,写出每个圈对应的与项,得到最简与或表达式:,【例3.15】 用卡诺图法化简函数,解:填卡诺图(见图3.6),圈1,得到最简与或
11、表达式:,【例3.16】 用卡诺图法化简函数,解:填卡诺图(见图3.7),圈1,得到最简与或表达式:,图3.7 例3.16图,2求最简或与表达式,求逻辑函数的最简或与表达式时,要在卡诺图上圈0。圈0和圈1的原则、方法相同,不同的是消去不同的变量后,留下相同变量是1的写反变量,是0的写原变量组成或项,圈之间为“与”关系。,图3.8 例3.17图,【例3.17】 用卡诺图将下列函数化简为最简或与式:,解:将函数 X 填入卡诺图(见图3.8),圈0,得到最简或与表达式:,将例3.17与例3.14相比较,得到结论:同一函数圈1和圈0得到的结果是相同的。最简与或式和最简或与式是从不同角度描述一个逻辑函数
12、。,【例3.18】 用卡诺图将下列函数化简为最简或与式:,解:方法1。将函数G在卡诺图中填0,注意函数中为原变量的填在变量0的位置,反变量填在变量1的位置,如图3.9(a)所示,圈0,得到最简或与式:,图3.9 例3.18图 (a),图3.9 例3.18图 (b),方法2。先写出函数G的对偶式G:,将G 填入卡诺图,见图3.9(b),圈1,化简成G 的最简与或式:,将G 对偶求得G的最简或与式:,3.4.4 具有随意项的逻辑函数化简,在实际逻辑电路中,有时会遇到这样的情况:在逻辑变量顺序排列组合中,某些取值组合与实际情况相违背,不可能存在或不允许存在,这些变量取值对应的函数值也就没有意义或不存
13、在。遇到这类问题时,将这些变量取值对应的函数值看成是1还是0,对函数功能没有影响。称这种变量取值组合成的最小项为随意项,在化简逻辑函数时可以根据化简的需要把其看成1或0。例如,有一个电机的正转、反转和停止工作分别用A、B、C变量表示,A = 1表示电机正转,B = 1表示反转,C = 1表示电机停止工作。很显然,电机在任何时候只能处于其中一种状态,即只能出现ABC为001、100或010中的一种,而不能是000、011、101、110或111中的任何一种,因此这5个最小项为约束项。这种约束条件用最小项恒为0表示其与函数功能无关,即:,图3.10 例3.19图,又如,在8421BCD码中,有6组
14、编码(10101111)是不使用的。在电路正常工作时,这6组代码不会出现。因此,与之对应的输出为1或0都不影响电路工作,这种最小项称为无关项。,在逻辑代数中,把约束项和无关项统称为随意项,用 表示,,在真值表和卡诺图中用 或 X 表示。,【例3.19】 用卡诺图化简函数:,解:画出函数 F 的卡诺图,见图3.10。将随意项0101作为1,圈1化简得:,将随意项0000和0010作为0,圈0化简得:,注意,任何一个随意项可以看成1或0,但不能既看成1,又看成0。,图3.11 例3.20图,【例3.20】 一大一小两台电机 ML 和 MS 向水箱泵水。当水箱内水位降到C 点(见图3.11)时,由小
15、电机 MS 单独泵水;降到 B 点时,由大电机 ML单独泵水;降到 A 点时两台电机同时泵水。试写出两电机工作的最简逻辑函数。,解:设水位A、B、C为逻辑变量,各变量值在低于相应水位时为1,不低于相应水位时为0;电机ML和MS为逻辑函数,工作为1,不工作为0。由此得到真值表(见表3.6)。,在真值表中,010、100、101、110这4组取值无意义,对应不可能存在的情况,在真值表中用表示,即其值为1或0对函数ML和MS无影响。,将ML、MS分别填入卡诺图中(见图3.12)。化简得:,图3.12 例3.20图,表3.6 例3.20真值表,3.4.5 引入变量卡诺图,我们知道,变量每增加一个,其函
16、数卡诺图的小格数就增加一倍。当变量超过5个时,其函数卡诺图的应用就会受到限制。可以用引入变量卡诺图(Variable Entered Map,VEM),使多变量卡诺图变得简单。引入变量卡诺图是将一个n 变量的函数分离出一个变量填入(n - 1)变量卡诺图中,使卡诺图的面积减小为原来的一半,从而化简了多变量卡诺图。例如,三变量函数:,分离出变量C作为引入变量,填入两变量(A,B)卡诺图中,如图3.13所示。,C+,图3.13 F的引入变量卡诺图,【例3.21】 用VEM化简函数:,解:将D作为引入变量,填入三变量ABC卡诺图中(见图3.14),化简得:,图3.14 例3.21图,【例3.22】 用VEM化简函数:,