组合电路的分析与设计
(参考书页,P44-58)
内容:组合逻辑电路
组合逻辑电路分析
组合逻辑电路设计
常用中规模组合逻辑电路组合逻辑电路的竞争冒险
3.1概述组合与时序。
组合逻辑电路由逻辑门构成,其任何时刻的输出由施加于输入的组合值确定,其所执行的操作可由一组逻辑表达式表述。
时序逻辑电路中采用存储器件,其输出是输入和存储值的函数,因此,其输出取不仅决于当前而且取决于过去的输入,电路特性是由输入和内部存储的时间序列所规定。
组合电路框图。
组合电路由逻辑门互联而成。
组合电路的真值表由2n个可能的输入组态及对应输出构成,其唯一确定与描述了电路的逻辑功能。
也可用对应电路m个输出的逻辑函数描述组合逻辑电路。对应n个输入,每个函数均为n变量逻辑函数。

前述章节知识是本章基础。
3.2组合逻辑电路分析组合电路分析就是由逻辑图确定电路功能。
分析过程:
组合电路分析第一步必须判定电路是组合而不是时序的,否则要用时序电路分析方法。
组合电路图中逻辑门的互联无反馈或存储器件。如门的输出经互联能回到同一门的输入,则存在反馈。
由函数式或真值表推知电路功能需经验。
由导出电路逻辑函数式的分析方法:
对所有门的输出标以不同符号。
写出所有门的逻辑表达式。
逐级叠代并化简,得输出逻辑表达式。
列真值表。
分析逻辑功能。
例:分析下图。




输入
DCBA
输出
Y2 Y1 Y0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
真值表
由导出电路真值表分析方法:
对所有门的输出设以不同符号表示的中间变量。
确定输入变量数,在表中列出其0到
2n-1二进数。
依次求出所设中间变量及输出值,完成真值表。
分析逻辑功能。
例:分析下图。
X
Y
Z
C
C
T1
T2
T3
S
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
0
1
全加器 (Full Adder)
3.3组合逻辑电路设计任务:从设计要求出发,得到逻辑图。
设计过程:
由设计要求确定输入输出变量并命名。
导出确定输入输出关系的真值表。
得出每个输出简化的逻辑表达式。
画逻辑图。
验证设计。
设计关键是把文字描述的设计要求正确地转换为真值表。
实际设计还要考虑:门数,输入端数,传输延时,互联线数,扇出等。
例:三变量输入,小于3时输出给于指示。
YZ
X
00
01
11
10
0
1
1
1
1
XYZ
F
000
001
010
011
100
101
110
111
1
1
1
0
0
0
0
0

码制变换译码器(Code Converters)的设计多输入多输出变量。
例:设计格雷码-二进码转换器。(参看P68)
例:设计BCD-余3码变换器。
真值表十进
输入 BCD
A B C D
输出 余三码
W X Y Z
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
CD
AB
00
01
11
10
00
01
1
1
1
11




10
1
1


CD
AB
00
01
11
10
00
1
1
1
01
1
11




10
1


 
 
CD
AB
00
01
11
10
00
1
1
01
1
1
11




10
1


CD
AB
00
01
11
10
00
1
1
01
1
1
11




10
1






有共享项。
例:设计BCD-七段显示译码器.
(对比书页P69)
ABCD
abcdefg
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
其它
1111110
0110000
1101101
1111001
0110011
1011011
1011111
1110000
1111111
1111111
0000000



 


对于多输出组合逻辑设计,应整体最简。注意共同项的利用。例中原用27个与门,可简化为用14个与门和7个或门。
公共项的寻找可利用卡诺图。(参看p51)。
3.4常用组合逻辑电路
1.译码器(Decoders)
把n位输入二进码转换为最多2n独立输出。称为n线-m线译码器。其输出对应最小项。
例:三线-八线译码器。








三线-八线译码器真值表。(略)
注意:对应任何可能输入组态,仅一输出为1,其它均为0。
可作为二进-八进制数转换器。
译码器可由与非门构成。
例:二线-四线译码器。




E
A1
A0
D0
D1
D2
D3
0
0
0
0
1
0
0
1
1
×
0
1
0
1
×
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
注意:变量加非表示负有效。例,表示其为0时译码使能(enable)。表示其为0时被选中。
使能和输出均可正有效或负有效。器件有多使能输入情况。
译码器的扩展。
利用使能端扩展。
用两个2-4译码器构成一个3-8译码器。
使能端的重要用途是将多个小的功能块互联为具有更多输入和输出功能块。
二-十译码器将输入BCD码的10个代码译成对应高或低电平的10个输出信号。
用译码器完成组合逻辑。
用n-2n译码器和m个或门可实现任何n输入和m个输出的组合逻辑电路。
原理:任何逻辑函数均可表示为最小项之和,译码器可产生所有最小项,外部或门可求得任意逻辑和。
例:用译码器和或门实现全加器。(见5页)


如的或项少,可用或非门以减少或门的输入线。若译码器用与非门,输出负有效,输出则可用与非门。此方案对于多输出和或项少的情况比较有利。
可编程器件原理。
用译码器作数据分路器。
使能端接数据输入,译码端输出跟随数据变化。(书页P66)
2.编码器(Encoders)(书页61-64)
译码器的逆操作。其有2n输入(或少于),n个输出线。对应输入产生相应二进编码输出。
例8-3编码器。其真值表如下。
输入
D7D6D5D4D3D2D1D0
输出
A2 A1 A0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
可得输出为:



两个问题:
1.输入两个或两个以上同时为1产生乱码。D3,D6同时为1,编码输出111。
2.输入都为0时,与D0为1相混。
优先编码器。
输入有优先级,有输入为0 指示。
输入
D3D2D1D0
输出
A1 A0 V
0 0 0 0
0 0 0 1
0 0 1 ×
0 1 ××
1 ×××
× × 0
0 0 1
0 1 1
1 0 1
1 1 1
D1D0
D3D2
00
01
11
10
00

01
1
1
1
1
11
1
1
1
1
10
1
1
1
1
A1卡诺图 A0卡诺图
 


D1D0
D3D2
00
01
11
10
00

1
1
01
11
1
1
1
1
10
1
1
1
1
编码器的级连扩展。(自学,书页p64)