盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
4-14 图4.50所示是由3线8线译码器74HC138和8选1数据选择器构成的电路。试分析
① 当数据C2C1C0= D2D1D0时,输出F=? ② 当数据C2C1C0≠D2D1D0时,输出F=?
解:
① 当数据C2C1C0= D2D1D0时,输出F=0 ② 当数据C2C1C0≠D2D1D0时,输出F=1
这个电路可以检验数据C2C1C0与 D2D1D0是否相同。 4-15
设计用3个开关控制一个电灯的逻辑电路,要求改变任何一个开关的状态都能控制电灯由亮变灭或者由灭变亮。用数据选择器实现。
1Y7Y6Y5 Y474HC138 Y3Y2Y1A2A1A0Y0C2C1C0S1 S2 S3D7D6D5 8选1数据选择器D4D3YFD2D1D0A2A1A0D2D1D0图4.50 习题4-14的电路
解:用A、B、C分别表示3个开关的状态,Z=1表示电灯亮,Z=0表示电灯灭。令ABC=000时的状态Z=0。(注:此处先用格雷码写出变化表比较容易得真值表,初始状态也很重要)
真值表: 逻辑函数表达式: A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Z 0 1 1 0 1 0 0 1 Z?A?B?C?A?B?C?A?B?C?A?B?C 4 - 11
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
C3个变量,可以用4选1数据选择器实现。 若用输入变量AB作为地址, C作为数据输入,
AB1 A1 A0 D3 D2 D1 D0 即A1=A,A0=B,D0= D3=C,D1=D2= C 。
4-16
逻辑图
4选1 数据选择器 Y Z试用逻辑门设计一个带控制端的半加/半减器,控制端X=1时为半加器,X=0时为半减器。
解:根据所给问题列出真值表。A、B为加/减的两个数。做加法运算时,S为半加/半减的和/首先差的输出,CO为进位输出。做减法运算时,S为差的输出,CO为借位输出。
半加器的功能是S=A+B。半减器的功能是S=A-B。 真值表: X A B 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
S CO 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 逻辑函数不能化简,但是可以变换成异或表达式。
S?X?AB?XAB?XAB?XAB?X(A?B)?X(A?B)S =1 CO & ?A?BCO?X?AB?XAB = ?(X?A)B按照变换后的逻辑函数画逻辑图。
A B X4-17
试用3线-8线译码器74HC138和门电路设计一个1位二进制全减器电路。输入是被减数、减数和来自低位的借位;输出是两数之差和向高位的借位信号。
解:全减器的功能是Si=Ai-Bi-Ci。首先根据所给问题列出真值表。 真值表: 逻辑函数:
Ai Bi Ci Si CO S?Ai?BiC?AiBCi?ABi?Ci?ABCiiiiiii 4 - 12
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 CO?Ai?BiCi?AiBiCi?AiBiCi?AiBiCi把逻辑函数式变换成与74HC138的逻辑函数相同的形式: Si?Ai?BiCi?AiBiCi?AiBi?Ci?AiBiCi?m1?m2?m4?m71247 ?m?m?m?m
4-18
1CO?Ai?BiCi?AiBiCi?AiBiCi?AiBiCi?m1?m2?m3?m7?m1?m2?m3?m7逻辑图
Ai Bi Ci Y7 3S Y6S2 Y5S1 Y4 A2 A1 A0 74HC138 & Si
Y3Y2Y1Y0& CO
试用4位数据比较器CC14585设计一个判别电路。若输入的数据代码D3D2D1D0>1001时,判别电路输出为1,否则输出为0。
解:从CC14585的一个端口输入数据D3D2D1D0,另一个端口输入1001。 CC14585的扩展输入端IA>B和IA=B必须接高电平,IA
1 0 0 1 逻辑图
D0 D1 D2 D3 1 A0A1A2CC14585A3IA?BYA?BIA?BYA?BIA?BYA?BB0B1B2B3F 4-19 试根据表4.24的功能表,用逻辑门设计一个数据分配器(Demultiplexer)。A1、A0为地址输入,D为数据输入,W3、W2、W1、W0为数据输出。数据分配器的功能正好与数据选择器相反,是按照所给的地址把一个输入数据从N个输出通路中选择一个输出,如图4.51所示。
表4.24 习题4-19的功能表
4 - 13
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
A1 A0 D 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
DW3 W2 W1 W0 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 W3W2W1W0 DeMUX A1A0图4.51 数据分配器
解:表4.24的功能表可以简化为
A1 A0 W3 W2 W1 W0 0 0 0 0 0 D 0 1 0 0 D 0 1 0 0 D 0 0 1 1 D 0 0 0 逻辑函数 W0?A1?A0?D
逻辑图
W3& W2& W1& W0& W1?A1A0?DW2?A1A0?DW3?A1A0?DA1A01 1 D4-20
试比较图4.52所示两个逻辑电路的功能。
F1 & 1 01DCBAA0 D0 D1 D2 D3 D4 D5 D6 D7 A1 8选1 数据选择器 A2 Y Y 15Y14Y13Y12Y11Y10Y9Y8Y7Y6Y5Y4Y3Y2Y1Y04-16译码器 A3A2A1A0AF2 4 - 14 BCD盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
图4.52 习题4-20的电路
解:根据图4.52写出逻辑函数式。
8选1 数据选择器的连接关系是:
D6= D7= D,D1=0,D2= 1,D5= D4= D3= D0= D ,A2=A,A1= B,A0= C ,所以,
F2?ABC?D7?ABC?D6?ABC?D5?AB?C?D4?ABC?D3?ABC?1?A?B?C?D0?ABCD?ABCD?ABCD?AB?C?D?ABCD?ABC?A?B?C?D?ABCD?ABCD?ABCD?AB?C?D?ABCD?ABCD?ABC?D?A?B?C?DF1?m15?m13?m10?m8?m6?m5?m4?m0?ABCD?ABCD?ABCD?AB?C?D?ABCD?ABCD?ABC?D?A?B?C?D?ABCD?ABCD?ABCD?AB?C?D?ABCD?ABCD?ABC?D?A?B?C?D比较FI和F2的,可看出,两个电路的逻辑函数相同,所以逻辑功能也相同。
4-21
用VHDL设计一个代码转换电路,输入为4位循环码,输出为4位二进制代码。
解:首先画出代码转换电路的系统框图,如
根据所给问题列出真值表。 G3 G2 G1 G0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0
B3 B2 B1 B0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1
G3 B3 代码转换电路 ……… … G0 B0 4 - 15