数字电路答案第四章 时序逻辑电路2.docx
- 文档编号:12771924
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:34
- 大小:205.49KB
数字电路答案第四章 时序逻辑电路2.docx
《数字电路答案第四章 时序逻辑电路2.docx》由会员分享,可在线阅读,更多相关《数字电路答案第四章 时序逻辑电路2.docx(34页珍藏版)》请在冰豆网上搜索。
数字电路答案第四章时序逻辑电路2
解:
分析习题4.3图(a)所示的锁存器逻辑图,当锁存命令CP=1,输入信号D被封锁,锁存器的输出状态保持不变;当锁存命令CP=0,锁存器输出
,Q=D;当锁存命令CP出现上升沿,输入信号D被封锁。
根据上述分析,画出锁存器输出Q及
的波形如习题4.3图(c)所示。
习题4.4习题图4.4是作用于某主从JK触发器CP、J、K、
D及
D端的信号波形图,试绘出Q端的波形图。
解:
主从JK触发器的
D、
D端为异步清零和复位端,且为低有效。
只有当
时,在CP下降沿的作用下,J、K决定输出Q状态的变化。
Q端的波形如习题4.4图所示。
习题4.5习题4.5图(a)是由一个主从JK触发器及三个非门构成的“冲息电路”,习题4.5图(b)是时钟CP的波形,假定触发器及各个门的平均延迟时间都是10ns,试绘出输出F的波形。
30ns
解:
由习题4.5图(a)所示的电路连接可知:
,
。
当
时,在CP下降沿的作用下,且经过10ns,状态Q发生翻转,再经过30ns,F发生状态的改变,
。
时,经过10ns,状态Q=0。
根据上述对电路功能的分析,得到Q和F的波形如习题4.5图(c)所示。
习题4.6习题4.6图(a)是一个1检出电路,图(b)是CP及J端的输入波形图,试绘出
D端及Q端的波形图(注:
触发器是主从触发器,分析时序逻辑图时,要注意CP=1时主触发器的存储作用)。
RD
解:
分析习题4.6图(a)的电路连接:
;分段分析习题4.6图(b)所示CP及J端信号波形。
(1)CP=1时,设Q端初态为0,则
。
J信号出现一次1信号,即一次变化的干扰,且K=0,此时Q端状态不会改变;
(2)CP下降沿到来,Q端状态变为1,
,此时CP=0,异步清零信号无效;
(3)CP出现上升沿,产生异步清零信号,使Q由1变为0,在很短的时间里
D又恢复到1;
(4)同理,在第2个CP=1期间,由于J信号出现1信号,在CP下降沿以及上升沿到来后,电路Q端和
D端的变化与
(2)、(3)过程的分析相同,其波形如习题4.6图(c)所示。
结论:
该电路可以实现1信号的检出功能。
习题4.7习题4.7图(a)是用主从JK触发器构成的信号检测电路,用来检测CP高电平期间uI是否有输入脉冲,若CP、uI电压如习题4.7图(b)所示,试画出输出电压uO的波形。
(c)
解:
分析习题4.7图(a)的电路连接:
;分段分析习题4.7图(b)给定的信号波形。
(1)CP=1时,设Q端初态为0,则
。
uI信号出现一次1信号,即一次变化的干扰,且K=1,此时Q端状态不变;
(2)CP下降沿到来,Q端状态由0变为1,
,此时CP=0,异步清零信号无效;
(3)CP出现上升沿,异步清零信号有效,使Q端由1变为0,当Q变为0后,
D又恢复为1;
(4)同理,在以后的CP=1期间,uI信号出现一次1信号,在CP下降沿以及上升沿到来后,电路Q端和
D端的变化与
(2)、(3)过程的分析相同,其波形如习题4.7图(c)所示。
习题4.8习题4.8图(a)是由一个维持阻塞D触发器及一个边沿JK触发器构成的电路,图(b)是输入信号,试绘出Q1及Q2的波形。
解:
分析习题4.8图(a)的电路连接:
该电路是同步电路,由D触发器和JK触发器组成,D触发器的D端接外部输入信号,JK触发器J端与D触发器的Q端相连,且K=1。
输出波形分析如习题4.8图(c)所示。
习题4.9试利用触发器的特征方程式写出习题4.9图(a)、(b)、(c)中各触发器次态输出Qn+1与现态Qn和A、B之间的逻辑函数式。
Q2
B
解:
习题4.9图(a)由D触发器组成,D触发器的特征方程为:
,根据电路连接
,将D代入特征方程,因此触发器次态Qn+1与现态Qn和A之间的逻辑函数式为:
习题4.9图(b)由JK触发器组成,JK触发器的特征方程为:
,根据电路连接
,将J、K代入特征方程,因此触发器次态输出Qn+1与现态Qn和A、B之间的逻辑函数式为:
习题4.9图(c)由D触发器组成,根据电路连接
,将D代入特征方程,因此触发器次态输出Qn+1与现态Qn和A、B之间的逻辑函数式为:
习题4.10设习题4.10图中各触发器初始状态为0,试画出各触发器在CP作用下Q端的波形。
解:
各触发器在CP作用下Q端的波形如习题4.10图(i)所示。
Q
Qh
习题4.11已知电路如习题4.11图(a)所示,若CP及A波形如题图(b)所示,各触发器初态为0,试画出各触发器输出端Q1和Q2的波形。
Q2
解:
分析习题4.11图(a)的电路连接:
该电路是同步电路,由JK触发器组成。
Q1和Q2波形分析如习题4.11图(c)所示。
习题4.12分析习题4.12图(a)所示同步时序电路,作出它的状态转换表和状态转换图。
作出当电平输入X序列为1011100时电路的时序波形图,设初态为0。
Z
解:
驱动方程:
状态方程:
输出方程:
状态转换表如习题4.12表所示。
习题4.12表状态转换表
输入
初态
次态
输出
X
Qn
Qn+1
Z
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
根据状态转换表求出状态转换图如习题4.12图(b)所示。
当电平输入X序列为1011100时电路的时序波形图如习题4.12图(c)所示。
习题4.13习题4.13图(a)所示同步计数器,由JK触发器构成。
写出状态转换表与状态转换图,并说明该计数器的模是多少?
解:
根据逻辑电路列写下列方程:
驱动方程:
Q2Q1Q0
状态方程:
根据状态方程,求出状态转换表如习题4.13表所示。
习题4.13表状态转换表
初态
次态
Q2nQ1nQ0n
Q2n+1Q1n+1Q0n+1
000
001
001
010
010
011
011
100
100
000
101
010
110
010
111
000
由状态转换表得到状态转换图如习题4.13图(b)所示。
Q2Q1习题4.14分析习题4.14图(a)所示时序电路,画出状态转换图,并说明该电路的逻辑功能。
解:
根据逻辑电路列写下列方程:
驱动方程:
状态方程:
根据状态方程,求出状态转换表如习题4.14表所示。
习题4.14表状态转换表
输入
初态
次态
X
Q2nQ1n
Q2n+1Q1n+1
0
00
00
0
01
00
0
10
10
0
11
10
1
00
11
1
01
01
1
10
01
1
11
11
由习题4.14表画出状态转换图如习题4.14图(b)所示。
电路记录了输入1010序列。
习题4.15试画出习题4.15图(a)所示电路的状态转换表及状态转换图,说明它是几进制计数器?
解:
根据逻辑电路列写下列方程:
驱动方程:
状态方程:
根据状态方程,求出状态转换表如习题4.15表所示。
习题4.15表状态转换表
初态
次态
Q2nQ1nQ0n
Q2n+1Q1n+1Q0n+1
000
011
001
011
010
101
011
111
100
001
101
000
110
101
111
110
由状态转换表得到状态转换图如习题4.15图(b)所示,这是一个可以自启动的五进制计数器。
(a)
习题4.16试分析习题4.16图所示时序电路的逻辑功能。
解:
根据逻辑电路列写下列方程:
X
驱动方程:
状态方程:
根据状态方程,求出状态转换表如习题4.16表所示。
习题4.16表状态转换表
输入
初态
次态
X
Q2nQ1n
Q2n+1Q1n+1
0
00
01
0
01
10
0
10
11
0
11
00
1
00
11
1
01
00
1
10
01
1
11
10
由状态转换表可知这是一个可控计数器,当控制端X=1时,实现减法计数;X=0时,实现加法计数。
习题4.17分析习题4.17图(a)所示同步时序电路的功能,并作出当电平输入X=110111110010的序列时,电路的时序波形图(设初态Q1、Q2均为0)。
CP
X
Q1
Q2
Z
解:
根据逻辑电路列写下列方程:
驱动方程:
状态方程:
输出方程:
根据状态方程,求出状态转换表如习题4.17表所示。
习题4.17表状态转换表
输入
初态
次态
输出
X
Q2nQ1n
Q2n+1Q1n+1
Z
0
00
00
0
0
01
00
0
0
10
00
0
0
11
00
0
1
00
01
0
1
01
10
0
1
10
11
0
1
11
11
1
根据状态转换表及电平输入X=110111110010的序列,画出电路的时序波形如习题4.17图(b)所示。
该电路在连续输入3个或3个以上的1信号时输出为1。
习题4.18试分析习题4.18图所示电路的逻辑功能。
Q3
解:
根据逻辑电路列写下列方程:
驱动方程:
状态方程:
根据状态方程,求出状态转换表如习
题4.18表所示。
习题4.18表状态转换表
初态
次态
Q3nQ2nQ1n
Q3n+1Q2n+1Q1n+1
000
001
001
010
010
101
101
011
011
111
111
110
110
100
100
001
由状态转换表所示的状态变化可以看出该电路是一个可以自启动的7进制计数器。
习题4.19设计一个同步时序电路,识别串行输入码X中的01码,即当X中有01码时输出Z为1,而其他输入码时,输出Z为0,用JK触发器实现。
用VHDL实现上述功能的行为描述。
解:
根据设计要求,电路应有一个输入信号X和一个输出信号Z。
该时序电路只有一个输入,所以每个现态可能有两个转移方向。
设电路的初态为A,若输入X为1,停在状态A,电路输出为0;若输入X为0,意味着出现了需要识别01序列的第一位代码0,电路从初态A进入次态B,电路输出仍为0。
状态B表示有一个代码0输入。
若电路处于状态B,输入X为0时,可能是又一个序列开始的第一位代码0,电路停在状态B,输出Z为0;若输入X为1,表示出现了被识别01序列的第二位代码1,电路输出为1,电路回到初始状态A。
表4.19(b)状态转换表
X
Qn
0
1
0
1
1/0
1/0
0/0
0/1
Sn+1╱Z
习题4.19表(a)原始状态转换表
X
Sn
0
1
A
B
B/0
B/0
A/0
A/1
Sn+1╱Z
根据上述分析,求出原始状态转换表如习题4.19表(a)所示。
表中X为输入,Sn为现态,Sn+1为次态,Z为输出。
将原始状态转换表用二进制代码进行
编码,表中有A、B两个状态,用一位编
1
码0和1分别代表A、B两个状态,得到
习题4.19表(b)的状态转换表。
由于状态转换表比较简单,可直接写
出状态方程和输出方程:
根据状态方程以及题目规定使用的JK
触发器,求触发器的驱动方程:
最后,根据驱动方程和输出方程画出逻辑图如习题4.19图所示。
该电路的VHDL描述如下:
libraryieee;
useieee.std_logic_1164.all;
entityxiti4_19is
port(clk,reset:
instd_logic;
x:
instd_logic;
z:
outstd_logic);
endxiti4_19;
architecturebeofxiti4_19is
typefsm_stis(s0,s1);--状态的枚举类型定义
signalcurrent_state,next_state:
fsm_st;--状态信号的定义
begin
reg:
process(reset,clk)--时序进程
begin
ifreset='1'thencurrent_state<=s0;--异步复位
elsifrising_edge(clk)then
current_state<=next_state;--状态转换
endif;
endprocess;
com:
process(current_state,x)--组合进程
begin
casecurrent_stateis
whens0=>--现态s0
ifx='1'thennext_state<=s0;z<='0';--输入不同,次态不同
elsifx='0'thennext_state<=s1;z<='0';
endif;
whens1=>--现态s1
ifx='0'thennext_state<=s1;z<='0';--输入不同,次态和输出不同
elsifx='1'thennext_state<=s0;z<='1';
endif;
endcase;
endprocess;
endbe;
习题4.20设计一个两输入端X1、X2的时序电路,只有在连续两个时钟或两个以上时钟作用期间,两个输入都一致时,才能使输出为1,用D触发器实现。
解:
根据设计要求,电路有两个输入信号X1、X2和一个输出信号Z。
该时序电路有两个输入,所以每个现态可能有四个转移方向。
设电路的初态为A,若输入X1X2=00或X1X2=11,表示输入一致,电路从初态A进入次态B,输出为0;若输入X1X2=01或X1X2=10,表示输入不一致,电路停在状态A,输出为0。
电路处于状态B,若输入X1X2=00或X1X2=11,表示连续输入一致,电路停在状态B,输出为1;若输入X1X2=01或X1X2=10,表示输入不一致,电路从状态B进入状态A,输出为0。
根据上述分析,求出原始状态转换表如习题4.20表(a)所示。
表中X1、X2为输入,Sn为现态,Sn+1为次态,Z为输出。
习题4.20表(a)原始状态转换表
X1X2
Sn
00
01
10
X2
习题4.20图
Q
1D
C1
Q
CP
&
X1
Z
=
11
A
B/0
A/0
A/0
B/0
B
B/1
A/0
A/0
B/1
Sn+1\Z
用一位编码0和1分别代表A、B两个状态,
得到习题4.20表(b)的状态转换表。
表4.20(b)状态转换表
X1X2
Sn
00
01
10
11
0
1/0
0/0
0/0
1/0
1
1/1
0/0
0/0
1/1
Sn+1\Z
根据状态转换表求状态方程:
根据状态方程以及题目规定使用的D触发器,求触发器的驱动方程:
根据状态转换表求输出方程:
根据驱动方程和输出方程画出逻辑图如习题4.20图所示。
习题4.21设计一个串行检测器,要求连续输入3个或3个以上的1时,电路输出为1,否则输出为0,要求采用JK触发器实现。
用VHDL实现上述功能的行为描述。
解:
根据设计要求,电路应有一个输入信号X和一个输出信号Z。
该时序电路只有一个输入,所以每个现态可能有两个转移方向。
设电路的初态为A,若输入X为0,停在状态A,电路输出为0;若输入X为1,意味着出现了需要识别111序列的第一位代码1,电路进入次态B,电路输出仍为0。
状态B表示有一个代码1输入。
若电路处于状态B,输入X为0时,电路返回状态A,输出Z为0;若输入X为1,表示出现了111序列的第二位代码1,电路进入下一状态C,输出为0。
状态C表示连续两个1输入。
若电路处于状态C,输入X为0时,电路返回状态A,输出Z为0;若输入X为1,表示出现了111序列的第三位代码1,电路停在状态C,输出为1。
状态C表示连续三个或三个以上1输入。
&
根据上述分析,求出原始状态转换表如习题4.21表(a)所示。
表中X为输入,Sn为现态,Sn+1为次态,Z为输出。
习题4.21表(a)原始状态转换表
Sn
X
A
B
C
0
A/0
A/0
A/0
1
B/0
C/0
C/1
Sn+1/Z
用两位状态编码Q1Q0的取值00、01、
11分别代表A、B和C三个状态,得到习题
4.21表(b)的状态转换表。
表4.21(b)状态转换表
Sn
X
00
01
11
10
0
00/0
00/0
00/0
×
1
01/0
11/0
11/1
×
Sn+1\Z
根据状态转换表画出次态及输出卡诺图,如习题4.21图(a)所示,卡诺图化简后,求状态方程和输出方程:
根据状态方程以及题目规定使用的JK触发器,求触发器的驱动方程:
最后,根据驱动方程和输出方程画出逻辑图如习题4.21图(b)所示。
用VHDL实现上述功能的程序清单如下:
libraryieee;
useieee.std_logic_1164.all;
entityxiti4_21is
port(clk,reset:
instd_logic;
x:
instd_logic;
z:
outstd_logic);
endxiti4_21;
architecturebeofxiti4_21is
typefsm_stis(s0,s1,s2);--状态的枚举类型定义
signalcurrent_state,next_state:
fsm_st;--状态信号的定义
begin
reg:
process(reset,clk)--时序进程
begin
ifreset='1'thencurrent_state<=s0;--异步复位
elsifrising_edge(clk)then
current_state<=next_state;--状态转换
endif;
endprocess;
com:
process(current_state,x)--组合进程
begin
casecurrent_stateis
whens0=>--现态s0,输入1个1,状态转s1,否则停在s0
ifx='0'thennext_state<=s0;z<='0';
elsifx='1'thennext_state<=s1;z<='0';
endif;
whens1=>--现态s1,输入2个1,状态转s2,否则转s0
ifx='0'thennext_state<=s0;z<='0';
elsifx='1'thennext_state<=s2;z<='0';
endif;
whens2=>--现态s2,输入3个或3个以上个1,输出为1
ifx='0'thennext_state<=s0;z<='0';
elsifx='1'thennext_state<=s2;z<='1';
endif;
endcase;
endprocess;
endbe;
习题4.22设计巴克码序列检测器。
巴克码是一种具有尖锐的自相关性的编码,常用在信息传输设备中作同步信号。
有几种巴克码,1110010序列码就是一种常用的巴克码,要求采用JK触发器实现。
解:
根据设计要求,电路应有一个巴克码输入信号X和一个检测输出信号Z。
设电路的初态为A,状态B表示有一个1输入,状态C表示11输入,状态D表示输入111,状态E表示输入1110,状态F表示输入11100,状态G表示输入111001,状态H表示输入1110010。
根据输入信号、输出信号、状态的定义以及题目的要求,得到状态转换表如习题4.22表(a)所示。
习题4.22表(a)状态转换表
Sn
X
A
B
C
D
E
F
G
H
0
A/0
A/0
A/0
E/0
F/0
A/0
H/1
A/0
1
B/0
C/0
D/0
D/0
B/0
G/0
C/0
B/0
分析状态转换表,状态A、H是等价状态对,合并状态用状态A表示,由此得到简化状态转换表习题4.22表(b)所示。
习题4.22表(b)简化状态转换表
Sn
X
A
B
C
D
E
F
G
0
A/0
A/0
A/0
E/0
F/0
A/0
A/1
1
B/0
C/0
D/0
D/0
B/0
G/0
C/0
用3位二进制编码Q2Q1Q0的7种取值表示状态A~G,电路采用的编码方案不同,将得到不同的设计结果,这里采用的编码定义如下:
A=000、B=001、C=100、D=110、E=010、F=011、G=101。
根据简化状态转换表作出全状态转换表如习题4.22表表(c)所示。
根据全状态转换表作出各激励信号卡诺图,如习题4.22图(a)所示,化简后,求激励方程和输出方程:
习题4.22表(c)全状态转换表
输入
现态
次态
激励信号
输出
X
Q2
Q1
Q0
Q2
Q1
Q0
J2
K2
J1
K1
J0
K0
Z
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
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
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
1
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路答案第四章 时序逻辑电路2 数字电路 答案 第四 时序 逻辑电路