数字逻辑第四章课后答案
更新时间:2024-03-14 08:01:01 阅读量: 综合文库 文档下载
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
习题4解答
4-1
试用与非门设计实现函数F(A,B,C,D)=Σm(0,2,5,8,11,13,15)的组合逻辑电路。
解:首先用卡诺图对函数进行化简,然后变换成与非-与非表达式。
化简后的函数
4-2
CD AB 00 01 00 1 0 01 0 1 11 10 0 1 1 0 11 10 0 0 1 1 1 0 0 0 A
& & BC& & & & & F& F?B?C?D?A?B?D?BCD?ACD?B?C?D?A?B?D?BCD?ACD?B?C?D?A?B?D?BCD?ACDD& 试用逻辑门设计三变量的奇数判别电路。若输入变量中1的个数为奇数时,输出为1,否则输出为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 Y 0 1 1 0 1 0 0 1 =1 A B C 逻辑图
=1 Y Y?A?B?C?A?B?C?A?B?C?A?B?C?(A?B)?C 4 - 1
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
4-3
用与非门设计四变量多数表决电路。当输入变量A、B、C、D有三个或三个以上为1时输出为1,输入为其他状态时输出为0。
解:
真值表: 先用卡诺图化简,然后变换成与非-与非表达式: A B C D 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1
Y?ABD?ABC?BCD?ACD?ABD?ABC?BCD?ACD?ABD?ABC?BCD?ACDY 0 0 0 0 0 0 1 0 0 1 0 1 1 1 AB 00 01 11 10 CD 00 01 0 0 0 0 0 0 1 0 11 10 0 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 逻辑图
A& B& & YC& 逻辑函数表达式: D
4-4
& 用门电路设计一个代码转换电路,输入为4位二进制代码,输出为4位循环码。
解:首先根据所给问题列出真值表,然后用卡诺图化简逻辑函数,按照化简后的逻辑函数画逻辑图。
4 - 2
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
真值表: 卡诺图化简: A B C D Y1 Y2 Y3 Y4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 0 AB CD 00 01 11 10 00 0 0 1 1 01 1 1 0 0 11 1 1 0 0 10 0 0 1 1 Y3的卡诺图
化简后的逻辑函数: Y1?AY2?AB?AB?A?B Y3?BC?BC?B?C
Y4?CD?CD?C?D 4 - 3
AB CD 00 01 11 10 00 0 0 0 0 01 0 0 0 0 11 1 1 1 1 10 1 1 1 1 Y1的卡诺图
AB CD 00 01 11 10 00 0 0 0 0 01 1 1 1 1 11 0 0 0 0 10 1 1 1 1 Y2的卡诺图 AB CD 00 01 11 10 00 0 1 0 1 01 0 1 0 1 11 0 1 0 1 10 0 1 0 1 Y4的卡诺图
逻辑图
Y1Y2Y3Y4=1 =1 =1 ABCD盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
4-5
图4.48所示是一个由两台水泵向水池供水的系统。水池中安置了A、B、C三个水位传感器。当水池水位低于C点时,两台水泵同时供水。当水池水位低于B点且高于C点时,由水泵M1单独供水。当水池水位低于A点且高于B点时,由水泵M2单独供水。当水池水位高于A点时,两台水泵都停止供水。试设计一个水泵控制电路。要求电路尽可能简单。
M1ABCM2图4.48 习题4-5的示意图
解:设水位低于传感器时,水位传感器的输出为1,水位高于传感器时,水位传感器的输出为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
如果利用约束项化简 如果不利用约束项化简
M1?BM2?C?ABM1 M2 0 0 × × × × × × A 0 1 BC 00 01 × × 11 10 × × 0 0 1 1 A 0 1 BC 00 01 × × 11 10 × × 0 1 1 0 0 1 × × 1 0 1 1 M1的卡诺图 M2的卡诺图
M1?ABM2?ABC?AB?C?A(B?C) 逻辑图
M1M2≥1 M1& M2& = & 1 BACABC(a) 用约束项化简 (b) 不用约束项化简
4 - 4
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
习题4-5的逻辑图
4-6
试用3线-8线译码器74HC138和门电路实现如下多输出逻辑函数并画出逻辑图。
Y1?ABC?A(B?C)Y2?AC?ABY3?(A?B)(A?C)Y4?ABC?A?B?C解:先将逻辑函数变换成最小项之和的形式 Y1?ABC?AB?AC?ABC?ABC?ABC?A?BCY2?ABC?A?B?C?ABC?AB?C Y?AB?AC?ABC?ABC?ABC?ABC3再变换成与74HC138一致的形式
Y 1?ABC?ABC?ABC?A?BC?m?m?m?m 53211 逻辑图
& & Y4
Y?ABC?A?B?C?ABC?AB?C 2?m7?m4?m3?m2Y3?ABC?ABC?ABC?ABC?m7?m5?m3?m2Y4?ABC?A?B?C?m7?m0A B C S 1S 2S3Y0Y1Y2 Y3 74HC138Y4Y5A2Y6A1Y7A0Y1 & Y2 & Y3 令74HC138的A2= A,A1=B,A0= C,
4-7
试用3线-8线译码器74HC138和逻辑门设计一组合电路。该电路输入X,输出Y均为3位二进制数。二者之间关系如下: 当2≤X<7时, Y=X-2
X<2时, Y=1 X=7时, Y=6
解:首先根据所给问题列出真值表。 X2 X1 X0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 Y2 Y1 Y0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 逻辑图
1 Y7 S3 Y6S2 Y5S1 Y4 A2 A1 A0 74HC138 & & Y2 Y1 Y0
X2 4 - 5 X1 X0 Y3Y2Y1Y0&
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
1 1 0 1 1 1 1 0 0 1 1 0 逻辑函数:
Y2?m6?m7?m6?m7
Y1?m4?m5?m7?m4?m5?m7
Y0?m0?m1?m3?m5?m0?m1?m3?m5
4-8 试用4选1数据选择器产生逻辑函数
Y?A?B?C?A?C?BC解:将逻辑函数变换成最小项之和的形式 Y?AB?C?ABC?A?B?C?ABC?ABC若用输入变量AB作为地址,C作为数据输入,则
Y?AB?C?AB?1?A?B?C?ABC 即A1=A,A0=B,D0= D2= C ,D1=1,D3=C。逻辑图如下图(a)所示。
若用输入变量AC作为地址, B作为数据输入,则
Y?AC?B?A?C?1?AC?B?ACB即A1=A,A0=C,D0=1, D2= B ,D1=D3= B。逻辑图如下图(b)所示。
ABC1 BAC1 1 1 A1 A0 D3 D2 D1 D0 A1 A0 D3 D2 D1 D0 4选1 数据选择器 4选1 数据选择器 Y Y YY
(a) AB作为地址 (b) AC作为地址
4-9
分析图4.49所示电路,写出输出Y的逻辑函数式并化简。
ABC1DD0A0 D0 D1 D2 D3 D4 D5 D6 D7 A1 8选1 数据选择器 A2 F Y 4 - 6
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
图4.49 习题4-9的电路
解:8选1数据选择器 C =A2,B=A1,A =A0,
D7= D3 =0,D2=1,D5=D4= D1= D0=D ,D6= D , 逻辑函数
Y?DCBA?DCBA?DCB?A?CBA?DC?BA?DC?B?A卡诺图化简
化简后的逻辑函数
4-10 试用8选1数据选择器产生逻辑函数
Y?AC?ABC?A?BCY?DBA?DB?DC?ABA DC 00 01 00 0 0 01 0 0 11 10 1 1 1 1 11 10 0 0 0 0 1 1 0 1 解:
Y?AC?ABC?A?BC?ABC?ABC?ABC?A?BC令A=A2,B=A1,C=A0,D7= D5= D2= D1=1,D6= D4= D3= D0=0,
逻辑图
01ABCA2 D0 D1 D2 D3 D4 D5 D6 D7 A1 8选1 数据选择器 A0 Z Y 4-11 试用3线-8线译码器74HC138和最少数量的二输入逻辑门设计一个不一致电路。当A、B、C 三个输入不一致时,输出为1,三个输入一致时,输出为0。
4 - 7
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
解:首先根据所给问题列出真值表。 真值表: 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
如果直接按照真值表写出逻辑函数表达式,很难用二输入逻辑门实现。但是,观察真值表不难发现,真值表中只有两行的Y为0,因此,按照真值表写出反函数表达式,应该容易用二输入逻辑门实现。
逻辑函数表达式: Y?A?B?C?ABC
Y?Y?A?B?C?ABCY 0 1 1 1 1 1 1 0 题目要求用3线-8线译码器74HC138实现,而74HC138的每个输出对应一个最小项的反,因此,还必须把逻辑函数式变换成与74HC138的逻辑函数相同的形式。
4 - 8
Y?A?B?C?ABC?A?B?C?ABC?m0?m7逻辑图
1 C B A Y7 S3 Y6S2 Y5S1 Y4 Y3 Y2A2 A1 Y1A0 Y74HC138 0& Y 盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
4-12
试用8选1数据选择器产生逻辑函数
Y?ACD?A?BCD?ABCD?BC?BC?D解:
Y?ACD?A?BCD?ABCD?BC?BC?D?ABCD?AB?CD?A?BCD?ABCD?ABCD?ABCD?ABCD?ABC?D?ABC?D
如果用ABC作为数据选择器的地址(A=A2,B=A1,C=A0),D作为数据,则函数变换成
Y?AB?CD?A?BCD?ABC?1?ABC?1?ABC?1?ABC?DD7= D6=D3 =1, D5= D0=0, D4= D1=D , D2= D ,
DD1CBAA0 D0 D1 D2 D3 D4 D5 D6 D7 A1 8选1 数据选择器 A2 F Y如果用BCD作为数据选择器的地址(B=A2,C=A1,D=A0),A作为数据,
则函数变换成
Y?ABCD?AB?CD?A?BCD?1?BCD?1?BCD?1?BC?D D7= D6= D4=1,D2= D0=0,
D5= D1=A, D3 = A 4-13
A0A1DCBA0 D0 D1 D2 D3 D4 D5 D6 D7 A1 8选1 数据选择器 A2 F Y根据表4.23所示的功能表设计一个函数发生器电路,用8选1数据选择器实现。
表4.23 习题4-13的功能表 S1 S0 Y 0 0 A⊙B 4 - 9
A?B盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
0 1 1 0 1 1
解:首先根据所给问题列出真值表。
A·B A+B 真值表: 卡诺图化简
S1 S0 A B 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 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1
化简后 Y?S1AB?S1S0AB?S1AB?S1AB?S1?S0?A?B用S1AB作为地址,S0作为数据输入,即S1=A2,A= A1,B = A0。函数变换Y?S1AB?S1S0AB?S1AB?S1AB?S1?S0?A?B?S0?S1?A?B?1?S1AB?1?S1AB?1?S1AB?S0?S1ABY 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 0 AB S1S0 00 01 00 1 0 01 0 0 11 10 0 0 1 1 11 10 1 1 0 1 0 0 1 1 为
D6= D5= D3 = 1,D1=D2= D4=0,D7= D0= S 0 ,因此,画出逻辑图如下:
0逻辑图
1S01 A0 D0 D1 D2 D3 D4 D5 D6 D7 A1 8选1 数据选择器 A2 F B
AS1Y 4 - 10
盛建伦:《数字逻辑与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 S3D7D6D5D4 8选1数据选择器D3YFD2D1D0A2A1A0D2D1D0图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)BA B = X按照变换后的逻辑函数画逻辑图。
4-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?BF IA?BIA?BB0B1B2B3YA?BYA?B4-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?DA1A01 1 W3?A1A0?DD4-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
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
1 1 0 0
1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0
1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1
根据系统框图写VHDL程序的Entity,用行为描述的方法,根据真值表写VHDL程序的Architecture。
VHDL程序如下: --Gray code to Binary code library ieee;
use ieee.std_logic_1164.all; entity gray2binary is
port( grayin : in std_logic_vector(3 downto 0); binaryout : out std_logic_vector(3 downto 0)); end gray2binary;
architecture behave of gray2binary is begin
with grayin select
binaryout <= \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ end behave;
4 - 16
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
4-22
用VHDL设计一个代码转换逻辑电路。把4位二进制代码转换成7段字符显示代码。能显示数字0~9和字母A,b,C,d,E,F。
解:电路的输入是4位代码,输出是7位代码。用D3~D0作为输入信号名,用Ya~Yg作为输出信号名,分别对应a、b、c、d、e、f、g这7个段。
系统框图 ……
列出代码转换逻辑的真值表。
表4.12 代码转换逻辑电路的真值表
D3 D2 D1 D0 Ya Yb Yc Yd Ye Yf Yg 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 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1
根据系统框图设计VHDL程序的entity,用行为描述的方法,根据真值表设
4 - 17
Ya Yb Yc Yd Ye Yf Yg 代码转换电路 D3 D2 D1 D0 … 显示字符 0 1 2 3 4 5 6 7 8 9 A b C d E F 字形 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
计VHDL程序的architecture。
library ieee;
use ieee.std_logic_1164.all; entity bcd2seg7 is
port( bcdin : in std_logic_vector(3 downto 0); segout : out std_logic_vector(6 downto 0)); end bcd2seg7;
architecture behav of bcd2seg7 is begin
with bcdin select
segout <= \ --display\ \ \ \
\ \ \
\ --display\ \
\ --display\ \ --display\ \ --display\ \ --display\ \ --display\ \ --display\ \ --display\ \end behave;
4-22 (有没有简单方法呢?)
用VHDL设计一个代码转换逻辑电路。把7位的ASCII码转换成7段字符显示代码。能显示数字0~9,字母A,b,C,d,E,F,H,L,o,P,U,等。
解:
ASCII码 7段字符显示代码 Yg 字形 0 字符 A6 A5 A4 A3 A2 A1 A0 Ya Yb Yc Yd Ye Yf 0 0 1 1 0 0 0 0 1 1 1 1 1 1 4 - 18
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
1 2 3 4 5 6 7 8 9 A b C d E F H L o P U
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 4-23 用VHDL设计一个16位全加器。 解:
4-24
用VHDL设计一个8位数值比较器。 解:
4-25 用VHDL设计一个四位超前进位加法器。 解:
4 - 19
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
-- 4-Bit carry-look-ahead Full Adder library ieee;
use ieee.std_logic_1164.all; entity FULL_ADDER1 is
port ( A, B : in bit_vector(3 downto 0); Cin : in bit;
S : out bit_vector(3 downto 0); Cout : out BIT); end FULL_ADDER1; --
architecture FULL_ADDERp of FULL_ADDER1 is signal sA,sB,sS : bit_vector(3 downto 0); signal sCin , sCout : bit ; signal sC : bit_vector(3 downto 0) ; signal sT : bit_vector(3 downto 0) ; signal sG : bit_vector(3 downto 0) ; begin sA <= A ; sB <= B ; sCin <= Cin ;
sT(0) <= sA(0) xor sB(0) ; --P0 sG(0) <= sA(0) and sB(0) ; --G0 sT(1) <= sA(1) xor sB(1) ; --P1 sG(1) <= sA(1) and sB(1) ; --G1 sT(2) <= sA(2) xor sB(2) ; --P2 sG(2) <= sA(2) and sB(2) ; --G2 sT(3) <= sA(3) xor sB(3) ; --P3
sG(3) <= sA(3) and sB(3) ; --G3 --
sC(0)<=sG(0) or (sT(0) And sCin) ; --C0
sC(1)<=sG(1) or (sT(1) and (sG(0) or (sT(0) and sCin))); --C1
sC(2)<=sG(2) or (sT(2) and (sG(1) or (sT(1) and (sG(0) or (sT(0) and sCin))))); --C2 sC(3)<=sG(3) or (sT(3) and (sG(2) or (sT(2) and (sG(1) or (sT(1) and (sG(0) or (sT(0) and sCin))))))); --C3
--
sS(0) <= sT(0) xor sCin ; --S0 sS(1) <= sT(1) xor sC(0) ; --S1 sS(2) <= sT(2) xor sC(1) ; --S2
4 - 20
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
sS(3) <= sT(3) xor sC(2) ; --S3 --
S <= sS ; Cout <= sC(3) ; end ;
4-26 试用两片74HC138实现8421 BCD码的译码。
解:输入的8421 BCD码的D0~D2位直接与74HC138的代码输入端连接,8421 BCD码的D3分别与74HC138的一个使能端连接。当D3=0时, Z0~Z7中的某个输出有效;D3=1时,Z8或Z9输出有效。
逻辑图:
D2 D1 D0 1 D3 Y7 S3 Y6S2 Y5S1 Y4 Y3Y2A2 A1 Y1A0 YY7 S3 Y6S2 Y5S1 Y4 Y3Y2A2 A1 Y1A0 Y74HC138 074HC138 0Z9Z8Z7Z0 4 - 21
盛建伦:《数字逻辑与VHDL逻辑设计》习题解答
4 - 22
正在阅读:
数字逻辑第四章课后答案03-14
C#课程设计 - 图书管理系统04-08
党委书记在镇人代会上的讲话08-26
NIT计算机考试操作题培训资料2016-03(简易操作步骤版)01-27
管理信息系统复习(2014)04-12
小学科学《仙人掌净化水》活动课设计05-30
100张记录汶川地震的照片看完已泪流满面05-17
合成催化剂升温还原方案10-28
外贸出口操作流程详解11-04
- 冀教版版五年级科学下册复习资料
- 微生物学复习提纲
- 2013—2014学年小学第二学期教研组工作总结
- 国有土地转让委托服务合同协议范本模板
- 我的固废说明书
- 企业管理诊断报告格式
- 东鼎雅苑施工组织设计
- 谈谈如何做好基层党支部书记工作
- 浮梁县环保局市级文明单位创建工作汇报
- 管理学基础知识
- 大学物理实验报告23 - PN结温度传感器特性1
- 计算机网络实践
- 酒桌上这四种情况下要坐牢,千万别不当回事……
- 国家康居示范工程建设技术要点
- 中国贴布行业市场调查研究报告(目录) - 图文
- 新课标下如何在高中物理教学中培养学生的创新能力初探
- 营养师冬季养生食谱每日一练(7月4日)
- 关注江西2017年第3期药品质量公告
- 建设海绵城市专题习题汇总
- 10万吨年环保净水剂建设项目报告书(2).pdf - 图文
- 第四章
- 课后
- 逻辑
- 答案
- 数字