950 likes | 1.17k Views
计算机学院 陈媛媛 chenyuanyuan@scu.edu.cn. 第三章 组合逻辑原理. 组合逻辑的定义. 逻辑电路中没有从输出到输入的反馈,且由功能完全的门系列构成,就称为 组合逻辑电路 。. ·. ·. Combinational Logic Functions. Inputs. ·. ·. Outputs. ·. ·. 真值表问题. 1. 开关方程与标准形式. 多变量卡诺图化简. 多输出函数. 2. 4. 6. Content. 卡诺图. 3. 混合逻辑组合电路. 5.
E N D
计算机学院 陈媛媛chenyuanyuan@scu.edu.cn 第三章 组合逻辑原理
组合逻辑的定义 逻辑电路中没有从输出到输入的反馈,且由功能完全的门系列构成,就称为组合逻辑电路。 · · Combinational Logic Functions Inputs · · Outputs · ·
真值表问题 1 开关方程与标准形式 多变量卡诺图化简 多输出函数 2 4 6 Content 卡诺图 3 混合逻辑组合电路 5
例:一个由电动马达带动的输送原料的传输装置,如果有原料要传送且保护联合开关没有打开,两个操作人员之一在位时可被启动。请设计出该问题的逻辑图表达式。例:一个由电动马达带动的输送原料的传输装置,如果有原料要传送且保护联合开关没有打开,两个操作人员之一在位时可被启动。请设计出该问题的逻辑图表达式。
构造真值表 问题描述 输入:令a,b分别表示两个操作人员1和操作人员2,操作人员在位用逻辑1表示,不在位则相应变量为逻辑0; 令s表示联合开关,开关闭合用逻辑1表示,开关断开为0; 令m表示原料的存在状态,有原料用逻辑1表示,无原料用0表示; 令M表示马达的状态,马达转动用逻辑1表示,停止转动用逻辑0表示。
将一个书面问题描述转换成真值表的过程 • 确定所包含的输入、输出变量 • 分析所给实际逻辑问题的因果关系,将引起事件的原因确定为输入变量,将事件所产生的结果作为输出函数。 • 为每个变量分配助记符或字母或标识 • 确定真值表的大小;看看有多少个输入组合y=2x 其中,x=输入变量数,y=组合数 • 构造一个包含所有输入变量组合的真值表 • 仔细研究问题描述,确定使给定输出为真的输入组合
S3 m3 S2 m2 m4 S1 m1 • 例3-4:一个传输系统从三个不同来源运输原材料,三个源汇集为一个单输出传输装置。四个传输装置有分离的马达,可分开控制。输出物品速度必须与源流速吻合。要实现这些,必须具备下列条件:如果源1有物品,源2和源3要关闭;如果源1空,则源2和源3或者两者都可开启。在不能从三个源获得物品的情况下,输出传输装置要关闭,如果没有物品,相应源传输装置应关闭。
S3 m3 S2 m2 m4 S1 m1 s1,s2,s3:源1,源2,源3,有物品为1,无物品为0 m1,m2,m3,m4:四个马达,开启为1,关闭为0。
练习1:某产品有A、B、C、D四项质量指标,其中A为主要指标,产品检验标准规定:当主要指标及两项次要指标都合格时,产品定为合格品,否则定为不合格品。对该问题(1)设定输入输出变量及其取值;(2)列出真值表。练习1:某产品有A、B、C、D四项质量指标,其中A为主要指标,产品检验标准规定:当主要指标及两项次要指标都合格时,产品定为合格品,否则定为不合格品。对该问题(1)设定输入输出变量及其取值;(2)列出真值表。 • (1)输入:各项质量指标A,B,C,D; 该项指标合格则等于1,否则等于0; 输出:S:产品合格等于1,否则等于0.
真值表问题 1 开关方程与标准形式 多变量卡诺图化简 多输出函数 2 4 6 Content 卡诺图 3 混合逻辑组合电路 5
列出真值表后,找出那些使函数值为 1 的变量取值组合,变量值为 1 的写成原变量,为0的写成反变量,这样对应于使函数值为1的每一个组合就可以写出一个乘积项,把这些乘积项加起来,可以得到函数的标准积之和。
真值表 • m7= a’bms m11=ab’ms m15=abms 写成积之和: M=a’bms+ab’ms+abms 化简后也可写作 M=bms+ab’ms 注意:积项的下标与输入变量组合的关系
m7= a’bms m11=ab’ms m15=abms M=a’bms+ab’ms+abms M=bms+ab’ms 乘积项:一个与门实现的项 bms, ab’ms 积之和:一个或门及两个或更多的与门实现 M=bms+ab’ms 最小项:特殊情况的乘积项 m7,m11,m15 标准积之和:M=m7+m11+m15 (1)每个乘积项都包含了全部输入变量(2)每个乘积项中的输入变量可以是原变量,或者反变量 (3)同一输入变量的原变量和反变量不同时出现在同一乘积项中。这样的乘积项我们称为最小项。
列出真值表后,找出那些使函数值为 0 的变量取值组合,变量值为0的写成原变量,为1的写成反变量,这样对应于使函数值为0的每一个组合就可以写出一个和项,把这些和项相乘,可以得到函数的标准和之积。
由真值表导出开关方程 构造真值表 • M0=a+b+m+s; M1=a+b+m+s’; M2=a+b+m’+s; M3=a+b+m’+s’; M4=a+b’+m+s; M5=a+b’+m+s’; M6=a+b’+m’+s;M8=a’+b+m+s; M9=a’+b+m+s’; M10=a’+b+m’+s; M12=a’+b’+m+s;M13=a’+b’+m+s’; M14=a’+b’+m’+s; M=M0M1M2M3M4M5M6M8M9M10M12M13M14 化简后也可写作 M=(a+b)(a+b’+m)(a+b’+m’+s)(a’+m)(a’+m’+s) 注意:和项的下标与输入变量组合的关系
M0=a+b+m+s; M1=a+b+m+s’; M2=a+b+m’+s; M3=a+b+m’+s’; M4=a+b’+m+s; M5=a+b’+m+s’; M6=a+b’+m’+s;M8=a’+b+m+s; M9=a’+b+m+s’; M10=a’+b+m’+s; M12=a’+b’+m+s;M13=a’+b’+m+s’; M14=a’+b’+m’+s; M=M0M1M2M3M4M5M6M8M9M10M12M13M14 M=(a+b)(a+b’+m)(a+b’+m’+s)(a’+m)(a’+m’+s) 和项:一个或门实现的项 a+b, a+b’+m 和之积:一个与门及两个或多个或门实现(a+b)(a+b’+m)(a+b’+m’+s)(a’+m)(a’+m’+s) 最大项:特殊情况的和项:M0,M1,…… 标准积之和:M=M0M1M2M3M4M5M6M8M9M10M12M13M14 (1)每一个和项中包含全部变量;(2)和项中的变量可以原变量形式出现,也可以反变量形式出现;(3)原、反变量不能同时出现在同一个和项中。 这样的和项我们称为最大项。
标准形式 简化形式 • 标准积之和:当输出变量为逻辑1时定义的最小项的完整系列 • M=a’bms+ab’ms+abms=m7+m11+m15 =∑m(7,11,15) • 标准和之积:当输出变量为逻辑0时定义的最大项的完整系列 • M=(a+b+m+s)(a+b+m+s’)(a+b+m’+s)(a+b+m’+s’)(a+b’+m+s)(a+b’+m+s’)(a+b’+m’+s)(a’+b+m+s)(a’+b+m+s’)(a’+b+m’+s)(a’+b’+m+s) (a’+b’+m+s’)(a’+b’+m’+s) =M0M1M2M3M4M5M6M8M9M10M12M13M14 =∏M(0,1,2,3,4,5,6,8,9,10,12,13,14)
练习:从真值表中生成开关方程,分别写出方程的积之和标准形式和和之积标准形式。练习:从真值表中生成开关方程,分别写出方程的积之和标准形式和和之积标准形式。 • 开关方程的积之和标准形式为S=m11+m13 + m14 + m15= ab’cd+abc’d+abcd’+abcd • 开关方程的和之积标准形式为S=M0•M1•M2•M3•M4•M5•M6•M7•M8•M9•M10•M12
将一个积之和方程转换成标准形式的方法: step1:在每个乘积项中标明所缺少的变量; step2:将缺少变量及其反变量之和同相应的乘积项相与:xy(z+z’); step3:应用分配律展开该项:xyz+xyz’. • 将一个和之积方程转换成标准形式的方法: step1:在每个和项中标明所缺少的变量; step2:将缺少变量及其反变量之积同相应的和项相或:x+y+zz’; step3:应用分配律展开该项:(x+y+z)(x+y+z’).
最小项与最大项的数字表示 • 最小项: 1)令正变量为1,反变量为0,写出每个乘积项的二进制表达式:ab’cd’:1010 2)将该二进制数转换为十进制数:(1010)2=(10)10 3)用mk(k为上述转换的十进制数)表示该最小项。 • 最大项: 1)令正变量为0,反变量为1,写出每个和项的二进制表达式:x+y’+z’:011 2)将该二进制数转换为十进制数:(011)2=(3)10 3)用Mk(k为上述转换的十进制数)表示该最大项。 最小项为最大项之反
例:将下列方程转换成相应的标准形式: 1.P=f(a,b,c)=ab’+ac’+bc (积之和) step1: ab’:缺少c; ac’:缺少b; bc:缺少a step2: P=ab’(c+c’)+a(b+b’)c’+(a+a’)bc step3: P= ab’c+ab’c’+abc’+ab’c’+abc+a’bc step4: P=m5+m4+m6+m7+m3 =∑m(3,4,5,6,7)
2.Y(a,b,c,d)=ab’c’d+bcd+a’d (积之和) step1: ab’c’d:无缺少项; bcd:缺少a; a’d:缺少b,c项 step2: Y=ab’c’d+(a+a’)bcd+a’(b+b’) (c+c’)d step3: Y=ab’c’d+abcd+a’bcd+a’bcd+a’b’cd+ab’c’d+abc’d step4: Y=m9+m15+m7+m3+m13 =∑m(3,7,9,13,15)
3.T=f(a,b,c)=(a+b’)(b’+c) (和之积) step1: a+b’:缺少c项;b’+c: 缺少a项; step2: T=(a+b’+cc’)(aa’+b’+c) step3: T=(a+b’+c)(a+b’+c’)(a+b’+c)(a’+b’+c) step4: T=M2M3M6=∏M(2,3,6)
4.Y(a,b,c,d)=(a+b)(b’+c’+d’) (和之积) step1: a+b: 缺少c,d项, b’+c’+d’:缺少a项; step2: T=(a+b+cc’+dd’)(aa’+b’+c’+d’) step3: T=(a+b+c+d)(a+b+c+d’)(a+b+c’+d)(a+b+c’+d’)(a+b’+c’+d’)(a’+b’+c’+d’) step4:T=M0+M1+M2+M3+M7+M15=∏M(0,1,2,3,7,15)
练习:将下列布尔函数分别化为标准积之和与标准和之积练习:将下列布尔函数分别化为标准积之和与标准和之积 P=f(w,x,y,z)=w’x+yz’ T=f(a,b,c,d)=(a+b’+c)(a’+d) • Ans: P=f(w,x,y,z)=wxyz’+wx’yz’+w’xyz+w’x’yz’+w’xy’z +w’xy’z’+w’xyz’ =∑m(2,4,5,6,7,10,14) T=f(a,b,c,d)= (a+b’+c+d) (a+b’+c+d’) (a’+b+c+d) (a’+b’+c+d) (a’+b+c’+d) (a’+b’+c’+d) =∏M(4,5,8,10,12,14)
最小项与最大项的相互转换 • step1:计算乘积项之和表达式中的每一个乘积项,即确定表示乘积项的二进制数; • step2:确定step1中没有包含的所有二进制数; • step3:为从step2得到的每一个二进制数写出相应的和项,并以和项之乘积形式表达。
例:把该最小项之和转换为最大项之积f1(a,b,c)= a’b’c + a’bc’ + ab’c’ + abc’ = m1 + m2 + m4 + m6 = ∑(1,2,4,6) = ∏(0,3,5,7) = (a+b+c)•(a+b’+c’)•(a’+b+c’)•(a’+b’+c’)
练习:把下面的最小项之和表达式转换为等价的最大项之积表达式:练习:把下面的最小项之和表达式转换为等价的最大项之积表达式:
组合逻辑的定义 1 标准形式 多变量卡诺图化简 多输出函数 2 4 6 Content 卡诺图 3 混合逻辑组合电路 5
卡诺图提供了简化布尔表达式的一种系统方法,如果正确使用,会得到尽可能简化的积之和或和之积表达式;卡诺图提供了简化布尔表达式的一种系统方法,如果正确使用,会得到尽可能简化的积之和或和之积表达式; • 卡诺图是用图示方法将各种输入变量取值组合下的输出函数值一一表达出来; • 卡诺图和真值表一样可以表示逻辑函数和输入变量之间的逻辑关系,每一个小方格对应着真值表中的一行取值组合; • 卡诺图中每一个小方格对应着逻辑函数中的一个最小项或最大项。
卡诺图与真值表 0、1方格:对应着输入 A反变量; 0,2方格:对应着输入B的反变量; 1、3方格:对应着输入B的正变量; 2、3方格:对应着输入A的正变量 相邻方格只有一位不同。
二变量卡诺图 AB A B 0 1 00 01 11 10 • 四变量卡诺图 0 m0 m2 m0 m2 m6 m4 0 1 m1 m3 1 m1 m3 m7 m5 AB CD 00 01 11 10 • 三变量卡诺图 00 m0 m4 m12 m8 C 01 m1 m5 m13 m9 m3 11 m7 m15 m11 10 m2 m6 m14 m10 相邻方格只有一位不同
2 0 1 0 0 1 B A 1 1 1 0 0 1 0 2 3 1 • 卡诺图与真值表 两个最小项相加可以消去互为反变量的因子 卡诺图形象地表达了变量各个最小项之间在逻辑上的相邻性。 仅有一个变量不同的小方格相邻 有一个以上变量不同的小方格不相邻
在卡诺图中,一个最小项对应图中一个变量取值的组合(反映在编号上)的小格子,两个逻辑相邻的最小项对应的小格子位置间有以下三种情况:在卡诺图中,一个最小项对应图中一个变量取值的组合(反映在编号上)的小格子,两个逻辑相邻的最小项对应的小格子位置间有以下三种情况: • ①相接—紧挨 • ②相对—各在任一行或一列的两头 • ③相重—对折起来位置相重合
将布尔方程转换为卡诺图 • step1:观察变量个数,确定卡诺图中变量个数; • step2:确定卡诺图中变量排列格式,以及卡诺图中每一格中变量的取值组合: • step3:如方程不是标准形式,将布尔方程转换为积之和标准形式; • step4:如标准形式为积之和,找到每一项取值组合在卡诺图中的位置,填1,其余位置填0。 • 注:如标准形式为和之积,也可直接填入卡诺图中,注意与积之和标准形式的区别。
AB 10 00 01 11 C 0 1 • 例:根据下面的布尔方程构造卡诺图: • 解:1.确定变量个数:三变量 • 2.确定卡诺图格式: • 格式1: 1 1 1 1 1
BC 10 00 01 11 A 0 1 • 格式2: 1 1 1 1 1
ab 10 00 01 11 c 0 1 • 例:根据下面布尔方程构造卡诺图: f(a,b,c) = ac’ + abc + bc’ 解: step1:观察变量个数:三变量; step2:确定卡诺图格式:
ab 10 00 01 11 c 0 1 step3:转换为标准形式: f(a,b,c) = ac’ + abc + bc’ =ac’(b+b’)+abc+(a+a’)bc’ =abc’+ab’c’+abc+abc’+a’bc’ =abc’+ab’c’+abc+a’bc’ step4: 填入卡诺图 1 1 1 1
XY XY 10 00 01 11 10 00 01 11 Z Z 1 1 1 1 1 0 0 1 1 1 1 1 1 • 练习:根据下面布尔方程构造卡诺图: • f1(x,y,z)= ∑ m(2,5,6,7) • f2(x, y, z)=∑m(0,1,2,3,6)
ab 10 00 01 11 c 0 1 • 例:写出下面卡诺图所表示的标准积之和,并写出其中可消去的项。 1 1 1 1 1 标准积之和: 可消去的项? 相邻项
两个最小项为一组 • 三变量卡诺图中变量的消去 最小项 只能1,2,4,8个最小项为一组 四个最小项为一组
YZ 00 01 11 10 WX m0 m1 m3 m2 00 m4 m5 m7 m6 01 m12 m13 m15 m14 11 m8 m9 m11 m10 10 • 四变量卡诺图 一个方格表示一个四变量的最小项; 若2个相邻方格组成一个长方形表示一个三变量的乘积项; 若4个相邻方格组成一个长方形表示一个二变量的乘积项; 若8个相邻方格组合成一个长方形,表示一个变量的输入值; 将16个方格合成一个,则代表逻辑1.
1 1 1 1 1 1 1 1 1 1 1 • 将下面的布尔方程填入卡诺图中 (A,B,C,D) = ∑m(0,1,2,3,4,5,6,7,8,10,13). step1:构造四变量卡诺图,标注输入变量 step2:将最小项填入相应位置的方格中 A’ B’D’ AB 00 01 11 10 CD 00 1 1 1 BC’D 1 1 1 01 1 1 11 1 1 1 10 g(A,B,C,D) = A’+B’D’+BC’D
ab 10 00 01 11 c 1 1 1 0 1 1 • 例:化简下面的布尔方程: f(a,b,c) = ac’ + abc + bc’ =a(b+b’)c’+abc+(a+a’)bc’ =abc’+ab’c’+abc+abc’+a’bc’ =abc’+ab’c’+abc+a’bc’ = ac’+ab+bc’ 化为标准最小项之和 消去a,得到bc’ 消去b,得到ac’ 消去c,得到ab
ab 10 00 01 11 c 0 1 • 例:化简下面的布尔方程: 消去A,C,得到B’ 1 1 1 1 1 消去B,得到A’C