复习题 2.docx
《复习题 2.docx》由会员分享,可在线阅读,更多相关《复习题 2.docx(21页珍藏版)》请在冰豆网上搜索。
复习题2
数字逻辑考试复习题
一.数制与编码
1.考点:
(1)几种常用的计数体制,十进制、二进制、十六进制、八进制。
(2)不同数制之间的相互转换
(3)数制之间的加减乘除。
2.练习题:
(1)将二进制数10011.101转换成十进制数
(2)将十进制数241转化为二进制数。
(3)将16进制数20转为十进制数。
二.逻辑代数
1.考点:
(1)逻辑代数是分析和设计逻辑电路的工具。
应熟记基本公式与基本规则。
表一逻辑代数的基本公式
逻辑代数的基本规则:
a.代入规则
对于任何一个逻辑等式,以某个逻辑变量或逻辑函数同时取代等式两端任何一个逻辑变量后,等式依然成立。
例如,在反演律中用BC去代替等式中的B,则新的等式仍成立:
b.对偶规则
将一个逻辑函数L进行下列变换:
·→+,+→·
0→1,1→0
所得新函数表达式叫做L的对偶式.。
对偶规则的基本内容是:
如果两个逻辑函数表达式相等,那么它们的对偶式也一定相等。
基本公式中的公式l和公式2就互为对偶式。
c.反演规则
将一个逻辑函数L进行下列变换:
·→+,+→·;
0→1,1→0;
原变量→反变量,反变量→原变量。
所得新函数表达式叫做L的反函数。
利用反演规则,可以非常方便地求得一个函数的反函数。
(2)可用两种方法化简逻辑函数,公式法和卡诺图法。
公式法是用逻辑代数的基本公式与规则进行化简,必须熟记基本公式和规则并具有一定的运算技巧和经验。
a.合并项法
b.吸收法
c.消去法
d.配项法
卡诺图法是基于合并相邻最小项的原理进行化简的,特点是简单、直观,不易出错,有一定的步骤和方法可循。
2.练习题:
(1)利用公式证明下列等式:
(2)化简逻辑函数:
(3)用卡诺图化简逻辑函数:
三.组合逻辑电路的分析和设计
1.组合逻辑电路的分析:
例:
组合电路如图所示,分析该电路的逻辑功能。
2.组合逻辑电路的设计:
画出逻辑电路图:
利用VHDL语言来实现:
entitytestis
port(A,B,C:
inSTD_LOGIC;L:
outSTD_LOGIC);
endtest
architectureBehavioraloftestis
begin
L<=(AandB)or(BandC)or(AandC);
endBehavioral;
四.组合逻辑模块及其应用
1.译码器
2.数据选择器
练习题:
1.
2.
五.时序逻辑电路的分析与设计
1.锁存器和触发器
主要掌握边沿型的D触发器
2.会分析D触发器构成的时序电路
例题:
(1).分析下图时序电路,设移位寄存器的初始状态为0000,串行输入数码DI=1101,从高位到低位依次输入。
分别画出状态转移表和时序图。
并用VHDL语言实现下图。
解:
状态表:
时序图:
3.会设计时序电路,在设计时序电路过程中要有状态机思路。
例题:
(1)设计一个奇偶校验器,数输入信号X中1的个数,如果X中1的个数为奇数,输出Z为1;若X中1的个数为偶数,则输出Z为0。
画出状态图和状态表,分别用D触发器构成和VHDL语言实现。
画出状态图:
列出状态表:
利用D触发器来实现:
分别用0,1来表示S0,S1状态,画出次态和输出的卡诺图。
得出:
又因为:
D触发器方程:
所以:
根据逻辑表达式,画出电路图:
利用VHDL语言来实现:
--******************************
--*ParityChecker*
--*Filename:
MOORE_1*
--******************************
libraryIEEE;
useIEEE.std_logic_1164.all;
entityMOORE_1is
port(
CLK:
inSTD_LOGIC;
RESET:
inSTD_LOGIC;
X:
inSTD_LOGIC;
Z:
outSTD_LOGIC
);
endMOORE_1;
architectureMOORE_1_archofMOORE_1is
typeStateis(S1,S0);
signalPresent_State:
State;
signalNext_State:
State;
begin
BB:
process(CLK,RESET)
begin
ifRESET='1'then
Present_State<=S0;
elsifCLK'eventandCLK='1'then
Present_State<=Next_State;
endif;
endprocessBB;
AA:
process(Present_State,X)
begin
casePresent_Stateis
whenS0=>
ifX='0'then
Next_State<=S0;
else
Next_State<=S1;
endif;
Z<='0';
whenS1=>
ifX='0'then
Next_State<=S1;
else
Next_State<=S0;
endif;
Z<='1';
endcase;
endprocessAA;
endMOORE_1_arch;
注:
本题所实现的状态为Moore状态机,这种状态机的输出电位只与目前所处的状态有关,而与输入信号无立即的关系。
(2)
利用VHDL语言实现:
--***********************************
--*Detect"111"ThenOutput'1'*
--*Filename:
MEALY_1*
--***********************************
libraryIEEE;
useIEEE.std_logic_1164.all;
entityMEALY_1is
port(
CLK:
inSTD_LOGIC;
RESET:
inSTD_LOGIC;
X:
inSTD_LOGIC;
Z:
outSTD_LOGIC
);
endMEALY_1;
architectureMEALY_1_archofMEALY_1is
typeStateis(S2,S1,S0);
signalPresent_State:
State;
signalNext_State:
State;
begin
process(CLK,RESET)
begin
ifRESET='1'then
Present_State<=S0;
elsifCLK'eventandCLK='1'then
Present_State<=Next_State;
endif;
endprocess;
process(X,Present_State)
begin
casePresent_Stateis
whenS0=>
ifX='0'then
Next_State<=S0;
Z<='0';
else
Next_State<=S1;
Z<='0';
endif;
whenS1=>
ifX='0'then
Next_State<=S0;
Z<='0';
else
Next_State<=S2;
Z<='0';
endif;
whenS2=>
ifX='0'then
Next_State<=S0;
Z<='0';
else
Next_State<=S2;
Z<='1';
endif;
endcase;
endprocess;
endMEALY_1_arch;
注:
本题所实现的状态为Mealy状态机,这种状态机的输出电位不仅与目前所处的状态有关,而且与输入信号也有关联。
4.时序逻辑模块及应用。
(1)
与门