3 组合逻辑电路的分析和设计
可以用以下的逻辑函数来描述
).,,,, AA,A,f ( AL n321i ? ),.,,2,1( ni ?
特点,(1)输入、输出之间无反馈延迟通路
(2)电路中不含有记忆元件
3.1逻辑代数
3.组合逻辑电路的分析和设计
3.2 逻辑函数的卡诺图化简法
3.3 组合逻辑电路的分析
3.4 组合逻辑电路的设计
3.5 组合逻辑电路中的竞争冒险
3.1逻辑代数
逻辑代数和普通代数的异同
(1)两者都用字母来表示变量,)( xfy ?
),,( CBAfL ?
(2)变量的取值和含义不同
普通代数中变量代表数 ?? 到 ??
逻辑代数中变量只表示两种相
反的状态。只能取 0或 1
(3)运算规则不一样 普通代数, 加、减、乘。除等
逻辑代数, 与、或、非等
3.1逻辑代数
3.1.1 逻辑代数的基本定律和恒等式
3.1.2 逻辑代数的基本规则
3.1.3逻辑函数的代数变换与化简法
3.1.1 逻辑代数的基本定律和恒等式
定律的证明
(1) 检验等式两边的函数的真值表是否相同
(2)用更基本的定律证明
注意, 反映的是逻辑关系 不是数量关系
不能 套用初等代数的运算规则,不能移项。
3.1.2 逻辑代数的基本规则
(1)代入规则,对等式中的某个变量,都用同一个逻辑函
数代替时,等式依然成立
B(A+C)=BA+BC
B(A+D+C)=B(A+D)+BC
A A+D
(2)反演规则, L中的与 或,或 与 原变量 非变量
非变量 原变量 1 0,0 1
得 到 L
L= CDBA ? L =(A+B)( ) DC?
( 3)对偶规则
把 L中的与 或,或 与,1 0,0 1,
原、反变量不变,得到 L的对偶式
当某个逻辑恒等式成立时,其对偶式也成立
BAA+ =A+B
对偶式 BABAA ???? )(
3.1.3逻辑函数的代数变换与化简法
1,逻辑函数的变换
ABBABA ???L= BABA ??L=
L=AB+ BA
2,逻辑函数的化简
L=AC+ DC 与或表达式
L= DC+AC
DCAC ?=
利用反演律
)()( DCCA ???
=
DCDACA ??= DCCA ?=
= DCCA ? = (A+ )(C+D) C 或-与表达式
))(( DCCA ??= DCCA ???= 或非-或非表达式
DCCA ?=
与-或-非表达式
最简的与或表达式的特点:
(1)乘积项的数目最少-用的门电路的个数最少
(2)每项的变量个数最少-每个门的输入端最少
化简逻辑函数的方法
(1) 代数法
① 并项法 利用 1?? AA
② 吸收法 利用 AABA ??
BAFEBC DABAL ???? )(
③ 消去法 利用 A+ =A+B BA
CBCAABL ???
CBAAB )( ??=
CABAB ?=
CAB ?=
④ 配项法
化简,
3.2 逻辑函数的卡诺图化简法
3.2.1 最小项的定义及其性质
3.2.2 逻辑函数的最小项表达式
3.2.3用卡诺图表示逻辑函数
3.2.4 用卡诺图化简逻辑函数
3.2.1 最小项的定义及其性质
1.最小项的定义
在 变量逻辑函数中,如果 是包含 个因子的乘积项,
而且这 个变量均以原变量或反变量的形式在 中出现
一次,且只出现一次,就称 为这组变量的最小项
n n
n
m
m
m
A,B,C三变量的最小项 CBA CBA BCACBA
CBA CABCBA ABC
变量的最小项应有 个n n2
2,最小项的性质
最小项的性质
(1) 对于任意一个最小项,只有一组变量取值使它的值
为 1,在变量取其它各组值时,这个最小项的值都是 0。
(2) 不同的最小项,使它的值为 1的那一组变量取值也不同
(3) 对于变量的任一组取值,任意两个最小项的乘积为零
(4) 对于变量的任一组取值,全体最小项之和为 1
3,最小项的编号
对应的十进制数
用 来代表最小项,下标 就是最小项编号,是与二进制数所
im i
3.2.2 逻辑函数的最小项表达式
逻辑函数的最小项之和的形式, 逻辑函数的最小项表达式
3.2.3用卡诺图表示逻辑函数
1.卡诺图
把 变量的全部最小项各用一个小方格表示,并使具有逻辑
相邻性的最小项在几何位置上也相邻地排列起来,所得到的
图形叫做 变量的卡诺图n
n
2.卡诺图的特点 循环邻接
3.已知逻辑函数画卡诺图
(1) 把函数化成最小项之和的形式
(2) 在卡诺图中找出与函数表达式包括
的最小 项对应的方格填入 1,其它的方格填入 0
画出 下式的卡诺图
3.2.4 用卡诺图化简逻辑函数
1.化简的依据
如果两个相邻的方格均为 1,这两个相邻的最小项的
和将消去一个变量
2,化简的步骤
(1)把逻辑函数写成最小项表达式
L= ABCBABA ??? ))((
ABCBBBABAAA ???? )(=
)()( CCABCBABA ???=
CABABCCBABCA ???=
? )6,7,5,3(m=
(2)按最小项表达式填卡诺图,
凡 式中包含了的最小项,对应的
方格填 1,其余的方格填 0
(3)合并最小项,即把相邻为 1方格圈成一组,每一组
含有 个小方格,每个包围圈可以写出一个乘积项。n2
注意,
1.包围圈内的方格数必定是 2n个,n等于 0,1,2,3,…
2.相邻方格包括上下底相邻,左右边相邻和四角相邻。
3.同一方格可以被不同的包围圈重复包围,但新增包围
圈
4.包围圈内的 1方格数要尽可能多,即包围圈应尽可能大
中一定要有新的 1方格,否则该包围圈为多余。
ACABCCBA ??
ABCABABC ??
BCBCAABC ??
(4) 把所有与包围圈对应的乘积项相加
BCABACL ???
例 3.2.2 一个逻辑函数的输入是 4个逻辑变量 A,B、
C,D,它的真值表如下所示,用卡诺图法求化简
的与-或表达式及与非-与非表达式
解:( 1)由真值表画出卡诺图
( 2)画包围圈,合并最小项
A B C DCBADBADCL ????
(3)求与非-与非表达式
A B C DCBADBADCL ????
A B C DCBADBADCL ????
例 化简下面的逻辑函数
)1513,115,30(),,,( ???? ? mDCBAL
解:( 1)由 画出卡诺图L
( 2)用包围 1的方法化简
(3) 用包围 0的方法化简得
DCBL ???
DCBL ?
DCBL ???对 求非L
3,用卡诺图化简逻辑函数时无关项或任意项的应用
无关项或任意项:
的值可以是任意的,或者这些变量的取值根本不会出现
任意项在卡诺图中用,”来表示,在表达式中用 来表示。? d
指在真值表内对应于变量的某些取值,函数
例 设计一个逻辑电路,能够判断 1位十进制数是奇数还是偶
数,当十进制数是奇数时,电路的输出为 1,当十进制数是
偶数时,电路的输出是 0
解:第一步,列写真值表
第二步,将真值表的内容填入 4变量的卡诺图
第三步,画包围圈
DL ?
3.3 组合逻辑电路的分析
分析的步骤如下:
(1)由逻辑图写出各输出端的逻辑表达式;
(2)对逻辑表达式进行化简
(3)列出真值表
(4)根据真值表和表达式,判断电路的逻辑功能
例 已知组合逻辑电路如下图 所示,分析电路的逻辑功能
解,第一步, 根据逻辑图写出逻辑表达式为
CBAL ??? )(
CBA ???
第二步,列出真值表
第三步,分析真值表
例 一个双输入端、双输出端的组合逻辑电路
如下图所示,分析电路的逻辑功能
解,第一步, 由逻辑图写逻辑表达式
BAZ ??1 ABAZ ??2
BABZ ??3
21 ZZS ?? 32 ZZ ??
BABABA ????
)()( BABBAA ????
BABA ?? BA ??
ABZC ?? 1
第二步,列出真值表
第三步,分析真值表
符合两个 1位二进制数相加的规则
A,B是两个加数,S是它们的和,C是向高位的进位
可以实现两个 1位二进制数的相加 称为半加器
3.4 组合逻辑电路的设计
设计组合逻辑电路的 一般步骤
(1)根据对电路的逻辑功能的要求,列出真值表
(2)由真值表写出逻辑函数式,对逻辑函数进行简化和变换
(3)根据简化和变换以后的表达式,画出逻辑电路图
例 3.4.1
(1) 根据题意可以列出真值表
(2) 写出输出的逻辑表达式
(3)把上式变换为与非形式
设计一可逆的 4位码变换器。在控制信号 C=1
时,它将 8421码转换成格雷码; C=0时,将
格雷码转换成 8421码
例
列出真值表
(2)画出 C=1和 C=0时各输出函数的卡诺图
考虑 C变量
CXg 33 ?
CXXXXg )( 23232 ??
CXX )( 23 ??
CXXXXg )( 12121 ??
CXX )( 12 ??
CXXXXg )( 01010 ??
CXX )( 01 ??
C=0时
CXb 33 ?
CXXXXb )( 23232 ??
CXX )( 23 ??
CXXXXXXXXXXXXb )( 1231231231231 ????
CXXXXXXXXXX ])()[( 1232312323 ????
CXXXXXX ])()[( 123123 ????
CXXX )( 123 ???
CXXXXb )( 01230 ????
总的输出逻辑表达式为
3.5 组合逻辑电路中的竞争冒险
3.5.1 产生竞争冒险的原因
3.5.2 消除竞争冒险的方法
3.5.1 产生竞争冒险的原因
电路中存在由反相器产生的互补信号,
且在互补信号的状态发生变化时,就
有可能产生竞争冒险现象
3.5.2 消除竞争冒险的方法
1.发现并消掉互补变量
))(( CABAF ???
B=C=0时 AAF ?
BABCACF ???
2,增加乘积项
ABCBACL ???
3.输出端并联电容器
可以用以下的逻辑函数来描述
).,,,, AA,A,f ( AL n321i ? ),.,,2,1( ni ?
特点,(1)输入、输出之间无反馈延迟通路
(2)电路中不含有记忆元件
3.1逻辑代数
3.组合逻辑电路的分析和设计
3.2 逻辑函数的卡诺图化简法
3.3 组合逻辑电路的分析
3.4 组合逻辑电路的设计
3.5 组合逻辑电路中的竞争冒险
3.1逻辑代数
逻辑代数和普通代数的异同
(1)两者都用字母来表示变量,)( xfy ?
),,( CBAfL ?
(2)变量的取值和含义不同
普通代数中变量代表数 ?? 到 ??
逻辑代数中变量只表示两种相
反的状态。只能取 0或 1
(3)运算规则不一样 普通代数, 加、减、乘。除等
逻辑代数, 与、或、非等
3.1逻辑代数
3.1.1 逻辑代数的基本定律和恒等式
3.1.2 逻辑代数的基本规则
3.1.3逻辑函数的代数变换与化简法
3.1.1 逻辑代数的基本定律和恒等式
定律的证明
(1) 检验等式两边的函数的真值表是否相同
(2)用更基本的定律证明
注意, 反映的是逻辑关系 不是数量关系
不能 套用初等代数的运算规则,不能移项。
3.1.2 逻辑代数的基本规则
(1)代入规则,对等式中的某个变量,都用同一个逻辑函
数代替时,等式依然成立
B(A+C)=BA+BC
B(A+D+C)=B(A+D)+BC
A A+D
(2)反演规则, L中的与 或,或 与 原变量 非变量
非变量 原变量 1 0,0 1
得 到 L
L= CDBA ? L =(A+B)( ) DC?
( 3)对偶规则
把 L中的与 或,或 与,1 0,0 1,
原、反变量不变,得到 L的对偶式
当某个逻辑恒等式成立时,其对偶式也成立
BAA+ =A+B
对偶式 BABAA ???? )(
3.1.3逻辑函数的代数变换与化简法
1,逻辑函数的变换
ABBABA ???L= BABA ??L=
L=AB+ BA
2,逻辑函数的化简
L=AC+ DC 与或表达式
L= DC+AC
DCAC ?=
利用反演律
)()( DCCA ???
=
DCDACA ??= DCCA ?=
= DCCA ? = (A+ )(C+D) C 或-与表达式
))(( DCCA ??= DCCA ???= 或非-或非表达式
DCCA ?=
与-或-非表达式
最简的与或表达式的特点:
(1)乘积项的数目最少-用的门电路的个数最少
(2)每项的变量个数最少-每个门的输入端最少
化简逻辑函数的方法
(1) 代数法
① 并项法 利用 1?? AA
② 吸收法 利用 AABA ??
BAFEBC DABAL ???? )(
③ 消去法 利用 A+ =A+B BA
CBCAABL ???
CBAAB )( ??=
CABAB ?=
CAB ?=
④ 配项法
化简,
3.2 逻辑函数的卡诺图化简法
3.2.1 最小项的定义及其性质
3.2.2 逻辑函数的最小项表达式
3.2.3用卡诺图表示逻辑函数
3.2.4 用卡诺图化简逻辑函数
3.2.1 最小项的定义及其性质
1.最小项的定义
在 变量逻辑函数中,如果 是包含 个因子的乘积项,
而且这 个变量均以原变量或反变量的形式在 中出现
一次,且只出现一次,就称 为这组变量的最小项
n n
n
m
m
m
A,B,C三变量的最小项 CBA CBA BCACBA
CBA CABCBA ABC
变量的最小项应有 个n n2
2,最小项的性质
最小项的性质
(1) 对于任意一个最小项,只有一组变量取值使它的值
为 1,在变量取其它各组值时,这个最小项的值都是 0。
(2) 不同的最小项,使它的值为 1的那一组变量取值也不同
(3) 对于变量的任一组取值,任意两个最小项的乘积为零
(4) 对于变量的任一组取值,全体最小项之和为 1
3,最小项的编号
对应的十进制数
用 来代表最小项,下标 就是最小项编号,是与二进制数所
im i
3.2.2 逻辑函数的最小项表达式
逻辑函数的最小项之和的形式, 逻辑函数的最小项表达式
3.2.3用卡诺图表示逻辑函数
1.卡诺图
把 变量的全部最小项各用一个小方格表示,并使具有逻辑
相邻性的最小项在几何位置上也相邻地排列起来,所得到的
图形叫做 变量的卡诺图n
n
2.卡诺图的特点 循环邻接
3.已知逻辑函数画卡诺图
(1) 把函数化成最小项之和的形式
(2) 在卡诺图中找出与函数表达式包括
的最小 项对应的方格填入 1,其它的方格填入 0
画出 下式的卡诺图
3.2.4 用卡诺图化简逻辑函数
1.化简的依据
如果两个相邻的方格均为 1,这两个相邻的最小项的
和将消去一个变量
2,化简的步骤
(1)把逻辑函数写成最小项表达式
L= ABCBABA ??? ))((
ABCBBBABAAA ???? )(=
)()( CCABCBABA ???=
CABABCCBABCA ???=
? )6,7,5,3(m=
(2)按最小项表达式填卡诺图,
凡 式中包含了的最小项,对应的
方格填 1,其余的方格填 0
(3)合并最小项,即把相邻为 1方格圈成一组,每一组
含有 个小方格,每个包围圈可以写出一个乘积项。n2
注意,
1.包围圈内的方格数必定是 2n个,n等于 0,1,2,3,…
2.相邻方格包括上下底相邻,左右边相邻和四角相邻。
3.同一方格可以被不同的包围圈重复包围,但新增包围
圈
4.包围圈内的 1方格数要尽可能多,即包围圈应尽可能大
中一定要有新的 1方格,否则该包围圈为多余。
ACABCCBA ??
ABCABABC ??
BCBCAABC ??
(4) 把所有与包围圈对应的乘积项相加
BCABACL ???
例 3.2.2 一个逻辑函数的输入是 4个逻辑变量 A,B、
C,D,它的真值表如下所示,用卡诺图法求化简
的与-或表达式及与非-与非表达式
解:( 1)由真值表画出卡诺图
( 2)画包围圈,合并最小项
A B C DCBADBADCL ????
(3)求与非-与非表达式
A B C DCBADBADCL ????
A B C DCBADBADCL ????
例 化简下面的逻辑函数
)1513,115,30(),,,( ???? ? mDCBAL
解:( 1)由 画出卡诺图L
( 2)用包围 1的方法化简
(3) 用包围 0的方法化简得
DCBL ???
DCBL ?
DCBL ???对 求非L
3,用卡诺图化简逻辑函数时无关项或任意项的应用
无关项或任意项:
的值可以是任意的,或者这些变量的取值根本不会出现
任意项在卡诺图中用,”来表示,在表达式中用 来表示。? d
指在真值表内对应于变量的某些取值,函数
例 设计一个逻辑电路,能够判断 1位十进制数是奇数还是偶
数,当十进制数是奇数时,电路的输出为 1,当十进制数是
偶数时,电路的输出是 0
解:第一步,列写真值表
第二步,将真值表的内容填入 4变量的卡诺图
第三步,画包围圈
DL ?
3.3 组合逻辑电路的分析
分析的步骤如下:
(1)由逻辑图写出各输出端的逻辑表达式;
(2)对逻辑表达式进行化简
(3)列出真值表
(4)根据真值表和表达式,判断电路的逻辑功能
例 已知组合逻辑电路如下图 所示,分析电路的逻辑功能
解,第一步, 根据逻辑图写出逻辑表达式为
CBAL ??? )(
CBA ???
第二步,列出真值表
第三步,分析真值表
例 一个双输入端、双输出端的组合逻辑电路
如下图所示,分析电路的逻辑功能
解,第一步, 由逻辑图写逻辑表达式
BAZ ??1 ABAZ ??2
BABZ ??3
21 ZZS ?? 32 ZZ ??
BABABA ????
)()( BABBAA ????
BABA ?? BA ??
ABZC ?? 1
第二步,列出真值表
第三步,分析真值表
符合两个 1位二进制数相加的规则
A,B是两个加数,S是它们的和,C是向高位的进位
可以实现两个 1位二进制数的相加 称为半加器
3.4 组合逻辑电路的设计
设计组合逻辑电路的 一般步骤
(1)根据对电路的逻辑功能的要求,列出真值表
(2)由真值表写出逻辑函数式,对逻辑函数进行简化和变换
(3)根据简化和变换以后的表达式,画出逻辑电路图
例 3.4.1
(1) 根据题意可以列出真值表
(2) 写出输出的逻辑表达式
(3)把上式变换为与非形式
设计一可逆的 4位码变换器。在控制信号 C=1
时,它将 8421码转换成格雷码; C=0时,将
格雷码转换成 8421码
例
列出真值表
(2)画出 C=1和 C=0时各输出函数的卡诺图
考虑 C变量
CXg 33 ?
CXXXXg )( 23232 ??
CXX )( 23 ??
CXXXXg )( 12121 ??
CXX )( 12 ??
CXXXXg )( 01010 ??
CXX )( 01 ??
C=0时
CXb 33 ?
CXXXXb )( 23232 ??
CXX )( 23 ??
CXXXXXXXXXXXXb )( 1231231231231 ????
CXXXXXXXXXX ])()[( 1232312323 ????
CXXXXXX ])()[( 123123 ????
CXXX )( 123 ???
CXXXXb )( 01230 ????
总的输出逻辑表达式为
3.5 组合逻辑电路中的竞争冒险
3.5.1 产生竞争冒险的原因
3.5.2 消除竞争冒险的方法
3.5.1 产生竞争冒险的原因
电路中存在由反相器产生的互补信号,
且在互补信号的状态发生变化时,就
有可能产生竞争冒险现象
3.5.2 消除竞争冒险的方法
1.发现并消掉互补变量
))(( CABAF ???
B=C=0时 AAF ?
BABCACF ???
2,增加乘积项
ABCBACL ???
3.输出端并联电容器