第 6 章 时序电路的分析与设计第 6 章 时序电路的分析与设计
6.1 时序电路概述
6.2 同步时序逻辑电路的分析
6.3 异步时序电路的分析方法
6.4 同步时序电路的设计方法第 6 章 时序电路的分析与设计
6.1 时序电路概述
6.1.1 时序电路的特点逻辑电路分为两类:一类是组合逻辑电路,另一类是时序逻辑电路 。 在组合逻辑电路中,任一时刻的输出仅与该时刻输入变量的取值有关,而与输入变量的历史情况无关;在时序逻辑电路中,任一时刻的输出不仅与该时刻输入变量的取值有关,而且与电路的原状态,即与过去的输入情况有关 。
第 6 章 时序电路的分析与设计图 6-1 时序逻辑电路的结构框图与组合逻辑电路相比,时序逻辑电路有两个特点:第一,
时序逻辑电路包含组合逻辑电路和存储电路两部分,存储电路具有记忆功能,通常由触发器组成;第二,存储电路的状态反馈到组合逻辑电路的输入端,与外部输入信号共同决定组合逻辑电路的输出 。 组合逻辑电路的输出除包含外部输出外,还包含连接到存储电路的内部输出,它将控制存储电路状态的转移 。
存储电路组合逻辑电路
…
……
…x
1
x
n
z
1
z
m
q
1
q
j
y
1
y
k
第 6 章 时序电路的分析与设计在图 6-1时序逻辑电路的结构框图中,X( x1,x2,…,xn)
为外部输入信号; Q( q1,q2,…,qj) 为存储电路的状态输出,
也是组合逻辑电路的内部输入; Z( z1,z2,…,zm) 为外部输出信号; Y( y1,y2,…,yk) 为存储电路的激励信号,也是组合逻辑电路的内部输出 。 在存储电路中,每一位输出 qi(i = 1,
2,…,j )称为一个状态变量,j个状态变量可以组成 2j个不同的内部状态 。 时序逻辑电路对于输入变量历史情况的记忆就是反映在状态变量的不同取值上,即不同的内部状态代表不同的输入变量的历史情况 。
第 6 章 时序电路的分析与设计
),,,,,,,(
),,,,,,,(
),,,,,,,(
2121
212122
212111
n
j
nnn
n
nn
m
n
m
n
j
nnn
n
nnn
n
j
nnn
n
nnn
qqqxxxfz
qqqxxxfz
qqqxxxfz
…
),,,,,,,(
),,,,,,,(
),,,,,,,(
2121
212122
212111
n
j
nnn
n
nn
k
n
k
n
j
nnn
n
nnn
n
j
nnn
n
nnn
qqqxxxgy
qqqxxxgy
qqqxxxgy
),,,,,,,(
),,,,,,,(
),,,,,,,(
2121
1
21212
1
2
21211
1
1
n
j
nnn
k
nn
j
n
j
n
j
nnn
k
nnn
n
j
nnn
n
nnn
qqqyyyhq
qqqyyyhq
qqqyyyhq
…
…
第 6 章 时序电路的分析与设计其中,第一个方程组称为输出方程,第二个方程组称为驱动方程 ( 或激励方程 ),第三个方程组称为状态方程 。 方程中的上标 n和 n+1表示相邻的两个离散时间 ( 或称相邻的两个节拍 ),如 表示存储电路中每个触发器的当前状态 ( 也称现状态或原状态 ),表示存储电路中每个触发器的新状态 ( 也称下一状态或次状态 ) 。
以上三个方程组可写成如下形式:
njnn qqq,、,21
11211 njnn qqq,、、
),(
),(
),(
1 nnn
nnn
nnn
QYHQ
QXGY
QXFZ
第 6 章 时序电路的分析与设计从以上关系式不难看出:时序逻辑电路某时刻的输出 Zn
决定于该时刻的外部输入 Xn和内部状态 Qn;而时序逻辑电路的下一状态 Qn+1同样决定于 Xn和 Qn。 时序逻辑电路的工作过程实质上就是在不同的输入条件下,内部状态不断更新的过程 。 以上三个方程人们习惯写成如下形式:
),(
),(
),(
1
QYHQ
QXGY
QXFZ
n
第 6 章 时序电路的分析与设计
6.1.2 时序电路的分类图 6-2 同步二进制加法计数器
1 J
C 1
1 K
1 J
C 1
1 K
1 J
C 1
1 K
& &
FF
1
FF
0
FF
2
Z
CP
Q
2
Q
1
Q
0
第 6 章 时序电路的分析与设计图 6-3 异步二进制加法计数器
1 J
C 1
1 K
1 J
C 1
1 K
1 J
C 1
1 K
&
FF
1
FF
0
FF
2
CP
Z
Q
2
Q
1
Q
0
第 6 章 时序电路的分析与设计时序电路按输出信号的特点又可以分为米里 ( Mealy)
型和摩尔 (Moore)型时序电路两种 。 Mealy型时序电路的输出函数为 Z= F( X,Q),即某时刻的输出决定于该时刻的外部输入 X和内部状态 Q,如图 6-4所示的 Mealy型串行加法器电路 。 在该电路中,ai,bi为串行数据输入,si为串行数据输出,si=ai+bi+ci-1,或 si= ai+bi+Q。 Moore型时序电路的输出函数为 Z = F( Q),如图 6-5所示的 Moore型串行加法器电路 。 在该电路中串行数据输出 si=Q1。 Mealy型串行加法器电路和 Moore型串行加法器电路具有相同的逻辑功能,但 Moore型串行加法器电路的输出比 Mealy型串行加法器的输出迟一个节拍 。
第 6 章 时序电路的分析与设计图 6-4 Mealy型串行加法器电路
∑
C
I
C
O
1 D
C 1
CP
C
i - 1
a
i
b
i
S
i
FF
C
i
Q
第 6 章 时序电路的分析与设计图 6-5 Moore型串行加法器电路
∑
C
I
C
O
1 D
C 1
CP
C
i - 1
a
i
b
i
S
i
FF
0
1 D
C 1
FF
1
C
i
( S
i
)
Q
0
Q
1
第 6 章 时序电路的分析与设计
6.1.3 时序电路的功能描述
1,
),(
),(
),(
1
QYHQ
QXGY
QXFZ
n
第 6 章 时序电路的分析与设计
2,状态转移表状态转移表也称状态迁移表或状态表,是用列表的方式来描述时序逻辑电路输出 Z,次态 Qn+1和外部输入 X,现态 Q之间的逻辑关系 。
表 6-1 Mealy型时序电路状态表第 6 章 时序电路的分析与设计表 6-2 Moore型时序电路状态表第 6 章 时序电路的分析与设计表 6-3 Moore 型电路简化状态表第 6 章 时序电路的分析与设计
3,状态图图 6-6 时序逻辑电路状态图
00 01
1110
0 1 / 1
1 1 / 0
0 0 / 0
1 1 / 0 1 0 / 1
1 1 / 0
0 1 / 1
0 0 / 0
1 1 / 0
0 0 / 1
1 0 / 1
1 0 / 1
0 0 / 1
0 1 / 1
0 1 / 1
1 0 / 1
X
1
X
0
/ Z
Q
1
Q
0
( a )
0 0 / 0 0 1 / 0
1 0 / 01 1 / 1
( b )
Q
1
Q
0
/ Z
1
1
1 1 0
0
0
0
X
0 0 0 0 0 1 0 1 0 0 1 1
1 1 1 1 1 0 1 0 1 1 0 0
Q
2
Q
1
Q
0
( c )
第 6 章 时序电路的分析与设计
4.
时序图即为时序电路的工作波形图,它以波形的形式描述时序电路内部状态 Q,外部输出 Z随输入信号 X变化的规律,其具体画法将在下面讨论 。
以上几种同步时序逻辑电路功能描述的方法,各有特点,但实质相同,且可以相互转换,它们都是同步时序逻辑电路分析和设计的主要工具 。
第 6 章 时序电路的分析与设计
6.2
6.2.1
① 根据逻辑图求出时序电路的输出方程和各触发器的激励方程 。
② 根据已求出的激励方程和所用触发器的特征方程,
获得时序电路的状态方程 。
③ 根据时序电路的状态方程和输出方程,建立状态转移表,进而画出状态图和波形图 。
④ 分析电路的逻辑功能。
第 6 章 时序电路的分析与设计
【 例 6-1 】 分析图 6-7 所示同步时序电路的逻辑功能。
图 6-7 例 6-1 时序逻辑电路
1 J
C 1
1 K
1 J
C 1
1 K
FF
1
FF
0
CP
= 1
X
&
Z
Q
1
Q
1
Q
0
Q
0
第 6 章 时序电路的分析与设计解:
① 求输出方程和激励方程。
01
011
00 1
QQXZ
QXKJ
KJ
② 求状态方程。
00000
1
0
1010101111
1
1 )(
QQKQJQ
QQXQQXQQXQKQJQ
n
n
第 6 章 时序电路的分析与设计
③ 列状态表,画状态图。
表 6-4 例 6-1 时序电路状态表第 6 章 时序电路的分析与设计图 6-8 例 6-1 次态与输出卡诺图
ZcQbQa nn )(;)(;)( 1011
X
Q
1
Q
0
0 1
00
01
11
10
( a )
1
0
1
0
1
0
0 1
X
Q
1
Q
0
0 1
00
01
11
10
( b )
0
0
1
0
0
1
1 1
X
Q
1
Q
0
0 1
00
01
11
10
( c )
0
0
0
0
0
0
0 1
第 6 章 时序电路的分析与设计图 6-9 例 6-1 状态图
00 01
1011 Q
1
Q
0
1 / 0
1 / 0
1 / 1 1 / 0 0 / 0
0 / 0
0 / 0
X / Z
0 / 0
第 6 章 时序电路的分析与设计
④ 画波形图 。
设 Q1Q0的初始状态为 00,输入变量 X的波形如图 6-10第二行所示 。 根据表 6-4状态表即可画出波形图 。 例如第一个
CP来到前 X=0,Q1Q0=00,从表中查出,因此在画波形时应在第一个 CP来到后使 Q1Q0进入 01。 以此类推,
即可以画出 Q1Q0的整体波形如图 6-10第三,四行所示 。 外部输出,它是组合电路的即时输出,只要外部输入或内部状态一变化,外部输出 Z就会跟着改变,画波形时要特别注意 。
011011 nn QQ
01QQXZ?
第 6 章 时序电路的分析与设计图 6-10 例 6-1 时序图
X
Q
0
Q
1
Z
1 2 3 4 5 6 7 8 9
CP
第 6 章 时序电路的分析与设计
⑤ 逻辑功能分析 。
从以上分析可以看出,当外部输入 X=0时,状态转移按 00→ 01→ 10→ 11→ 00→ …规律变化,实现模 4加法计数器的功能;当 X=1时,状态转移按 00→ 11→ 10→ 01→ 00→ …规律变化,实现模 4减法计数器的功能 。 所以,该电路是一个同步模 4可逆计数器 。 X为加 /减控制信号,Z为借位输出 。
第 6 章 时序电路的分析与设计
【 例 6-2 】 分析图 6-11 所示同步时序电路的逻辑功能。
图 6-11 例 6-2 时序逻辑电路
1 D
C 1
FF
2
1 D
C 1
FF
1
1 D
C 1
FF
0
CP
≥1
Z
1
Z
0
Z
2
第 6 章 时序电路的分析与设计
D2=Q1,D1=Q0,
Z2=Q2,Z1=Q1,Z0=Q0
01010 QQQQD
解:
① 求输出方程和激励方程。
② 求状态方程。
0101001111212,,QQDQQDQQDQ nnn
第 6 章 时序电路的分析与设计
③ 列状态表,画状态图。
表 6-5 例 6-2 时序逻辑电路状态表第 6 章 时序电路的分析与设计图 6-12 例 6-2 状态图
0 0 0 0 0 1 0 1 0 1 0 1
Q
2
Q
1
Q
0
1 0 0
1 1 0 0 1 11 1 1
第 6 章 时序电路的分析与设计
④ 画波形图。
图 6-13 例 6-2 波形图
1 2 3 4 5 6
CP
Q
0
Q
1
Q
2
第 6 章 时序电路的分析与设计
⑤ 逻辑功能分析 。
从以上分析可以看出,该电路在 CP脉冲作用下,
把宽度为 T的脉冲以三次分配给 Q0,Q1 和 Q2各端,因此,该电路是一个脉冲分配器 。 由状态图和波形图可以看出,该电路每经过三个时钟周期循环一次,并且该电路具有自启动能力 。
第 6 章 时序电路的分析与设计
6.2.2 典型时序逻辑电路的分析
1,寄存器和移位寄存器
1)
寄存器用于寄存一组二进制代码,它被广泛用于各类数字系统和数字计算机中 。 因为一个触发器能存储一位二进制代码,所以用 n个触发器组成的寄存器能存储一组 n位二进制代码 。 对寄存器中使用的触发器只要求具有置 1,置 0的功能即可,因而无论是用基本 RS结构的触发器,还是用数据锁存器,主从结构或边沿触发结构的触发器,都能组成寄存器 。
第 6 章 时序电路的分析与设计
(1)
图 6-14是由基本 RS触发器构成的二拍接收四位数据寄存器 。 当清 0端为逻辑 1,接收端为逻辑 0时,寄存器保持原状态 。
当需将四位二进制数据存入数据寄存器时,需二拍完成:第一拍,发清 0信号 ( 一个负向脉冲 ),使寄存器状态为 0
( Q3Q2Q1Q0=0000) ;第二拍,将要保存的数据 D3D2D1D0送数据输入端 ( 如 D3D2D1D0=1101),再送接收信号 ( 一个正向脉冲 ),要保存的数据将被保存在数据寄存器中
( Q3Q2Q1Q0=1101) 。 从该数据寄存器的输出端 Q3Q2Q1Q0可获得被保存的数据 。
第 6 章 时序电路的分析与设计图 6-14 二拍接收四位数据寄存器
R S R S R SR S
& & &
清0
接收
Q
3
Q
2
Q
1
Q
0
D
0
D
1
D
2
D
3
&
第 6 章 时序电路的分析与设计
(2)
图 6-15是由数据锁存器构成的单拍接收四位数据寄存器 。
当接收端为逻辑 0时,寄存器保持原状态;当需将四位二进制数据存入数据寄存器时,单拍即能完成 ——将要保存的数据
D3D2D1D0送数据输入端 ( 如 D3D2D1D0=1101),再送接收信号 ( 一个正向脉冲 ),要保存的数据将被保存在数据寄存器中 ( Q3Q2Q1Q0=1101 ) 。 同 样 从 数 据 寄 存 器 的 输 出 端
Q3Q2Q1Q0可获得被保存的数据 。
对于功能完善的触发器,如主从 JK触发器,维持 —阻塞式 D触发器等,都可构成这类数据寄存器 。
第 6 章 时序电路的分析与设计图 6-15 单拍接收四位数据寄存器
C 1 1 D
接收
Q
3
Q
2
Q
1
Q
0
D
0
D
1
D
2
D
3
C 1 1 D C 1 1 D C 1 1 D
第 6 章 时序电路的分析与设计
2)
对于串行数据,则采用移位寄存器输入并加以保存 。
移位寄存器的功能和电路形式较多,按移位方向来分有左向移位寄存器,右向移位寄存器和双向移位寄存器;
按接收数据的方式可分串行输入和并行输入;按输出方式可分串行输出和并行输出 。
第 6 章 时序电路的分析与设计
(1)
图 6-16所示电路是由维持 —阻塞式 D触发器组成的四位单向移位 ( 右移 ) 寄存器 。 在该电路中,Ri为外部串行数据输入 ( 或称右移输入 ),Ro为外部输出 ( 或称移位输出 ),输出端 Q3Q2Q1Q0为外部并行输出,CP为时钟脉冲输入端 ( 或称移位脉冲输入端,也称位同步脉冲输入端 ),
清 0端信号将使寄存器清 0( Q3Q2Q1Q0 =0000) 。
在该电路中,各触发器的激励方程为
)2,1,0(,
,,,
13
1021323
nQDRD
QDQDQDRD
nni
i或第 6 章 时序电路的分析与设计图 6-16 四位单向移位 (右移 )寄存器
1 D
C 1
R
D
1 D
C 1
1 D
C 1
FF
3
FF
1
FF
2
CP
1 D
C 1
FF
0
R
D
R
D
R
D
Q
2
R
i
Q
1
Q
0
R
o
清0
Q
3
第 6 章 时序电路的分析与设计设输入 Ri=1011,则清 0后在移位脉冲 CP的作用下,移位寄存器中数码移动的情况如表 6-6所示,各触发器输出端
Q3Q2Q1Q0的波形如图 6-17所示 。
表 6-6 移存器数码移动状况第 6 章 时序电路的分析与设计图 6-17 移位寄存器工作波形图
1 2 3 4 5 6 7 8
CP
1 0 1 1
1
1
0
01 1 1
R
i
Q
3
Q
2
Q
1
Q
0
第 6 章 时序电路的分析与设计
(2) 双向移位寄存器图 6-18 四位双向移位寄存器
FF
4
CP
清0
1 D
C 1
R
D
S
D
&
&
≥1
FF
3
1 D
C 1
R
D
S
D
&
&
≥1
FF
2
1 D
C 1
R
D
S
D
&
&
≥1
FF
1
1 D
C 1
R
D
S
D
&
&
≥1
1
接收
M
Q
5
D
4
D
3
D
2
D
1
Q
0
Q
1
Q
2
Q
3
Q
4
第 6 章 时序电路的分析与设计图 6-18所示电路是由维持 —阻塞式 D触发器组成的四位双向移位寄存器 。 在该电路中,Q5为右移串行输入,Q0为左移串行输入,Q1为右移串行输出,Q4为左移串行输出,输出端
Q4Q3Q2Q1为并行输出端,CP为移位脉冲输入端,D4D3D2D1
为并行数据输入端,M端为工作方式控制端,清 0端信号将使寄存器清 0( Q4Q3Q2Q1 =0000),接收信号将并行输入数据 D4D3D2D1写入到移位寄存器中 。 本电路采用二拍接收并行数据的工作方式 。
第 6 章 时序电路的分析与设计由逻辑电路图可以写出组合电路的输出函数和激励函数 。
对于由 k级触发器构成的移位寄存器来讲,其激励函数和次
),.,,,2,1(,11111 kiQMMQQQMMQD iiniiii
当 M=1时,
111, iniii QQQD 电路实现右移功能。
当 M=0时,,,
111 iniii QQQD 电路实现左移功能。
第 6 章 时序电路的分析与设计
2,计数器计数器的主要功能是累计输入脉冲的个数 。 它不仅可以用来计数,分频,还可以对系统进行定时,顺序控制等,
是数字系统中应用最广泛的时序逻辑部件之一 。 计数器是一个周期性的时序电路,其状态图有一个闭合环,闭合环循环一次所需要的时钟脉冲的个数称为计数器的模值 M。 由
n个触发器构成的计数器,其模值 M一般应满足 2n-1< M≤2n。
计数器有许多不同的类型 。 按时钟控制方式来分,有异步,同步两大类; 按计数过程中数值的增减来分,有加法,减法,可逆计数器三类;按模值来分,有二进制,十进值和任意进制计数器 。
第 6 章 时序电路的分析与设计表 6-7 计数器分类第 6 章 时序电路的分析与设计
1) 同步二进制加法计数器图 6-19 同步二进制加法计数器
1 J
C 1
1 K
1 J
C 1
1 K
1 J
C 1
1 K
&
FF
3
FF
1
CP
Z
1 J
C 1
1 K
FF
0
R
D
R
D
R
D
R
D
R
D
&
FF
2
Q
3
Q
2
&
Q
1
Q
0
第 6 章 时序电路的分析与设计
012333
01222
0111
000
0123
1
QQQKJT
QQKJT
QKJT
KJT
QQQQZ
电路的输出函数和控制函数为将控制函数代入 T触发器的特征方程,可得状态转移函数:
QTQ n1
3012
1
3
201
1
2
10
1
1
0
1
0
)(
)(
QQQQQ
QQQQ
QQQ
QQ
n
n
n
n
第 6 章 时序电路的分析与设计表 6-8 同步二进制加法计数器状态表第 6 章 时序电路的分析与设计图 6-20 同步二进制加法计数器状态图
1 / 0 2 / 00 / 0 3 / 0 4 / 0 5 / 0 6 / 0 7 / 0
1 5 / 0 1 4 / 0 1 3 / 0 1 2 / 0 1 1 / 0 1 0 / 0 9 / 0 8 / 0
Q / Z
第 6 章 时序电路的分析与设计图 6-21 同步二进制加法计数器波形图
1
CP
Q
3
Q
2
Q
1
Q
0
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Z
第 6 章 时序电路的分析与设计
2) 同步十进制可逆计数器(加减控制式)
图 6-22 同步十进制可逆计数器
FF
0
1 J
C 1
1 K
& ≥ 1
FF
1
1 J
C 1
1 K
& ≥ 1
FF
2
1 J
C 1
1 K
& ≥ 1
FF
3
1 J
C 1
1 K
CP
&
&
1
&
M
Q
0
Q
1
Q
2 Q
3
C
B
第 6 章 时序电路的分析与设计由逻辑电路可以写出其输出函数和激励函数为
210210303
321101032110102
3210303210301
0
3210
30
)(
)(
)(
1
QQQMQQQQQMT
QQQQQMQMQQQQQQMQMQT
QQQQMQMQQQQQMQMQT
T
QQQQMB
QMQC
第 6 章 时序电路的分析与设计由 T触发器的特征方程 ( Qn+1=T Q) 和其激励函数可求得各触发器的状态方程 。 但由 T触发器的特征表已知:当
T=1时,触发器发生状态转换;当 T=0时,触发器保持原状态,因此,根据 Ti及 Qi的取值可直接求得 。 由此,可得到该电路有效状态的转移情况如表 6-9所示 。 根据表 6-9
可画出有效状态转移图如图 6-23所示 。 当 M=1,初始状态为全 0时的工作波形如图 6-24所示 。 该电路具有多余状态,
对多余状态的检查如表 6-10所示,不难看出该电路具有自启动特性 。
1?niQ
第 6 章 时序电路的分析与设计表 6-9 同步十进制可逆计数器状态表一(有效状态 )
第 6 章 时序电路的分析与设计 续表第 6 章 时序电路的分析与设计图 6-23 同步十进制可逆计数器状态图
1 20 3 4
9 8 7 6 5
1 / 1 0 / 1
0 / 0
0 / 0
1 / 0 1 / 0 1 / 0 1 / 0
0 / 0 0 / 0 0 / 0
0 / 0
0 / 0 1 / 0
0 / 0 0 / 0
1 / 01 / 01 / 01 / 0
第 6 章 时序电路的分析与设计图 6-24 可逆计数器 M=1时的波形图
1
CP
Q
3
Q
2
Q
1
Q
0
2 3 4 5 6 7 8 9 10
C
第 6 章 时序电路的分析与设计表 6-10 同步十进制可逆计数器状态表二(无效状态 )
第 6 章 时序电路的分析与设计
3,
图 6-25
(a) 逻辑电路图; (b) 状态图; (c) 工作波形图
FF
0
1 J
C 1
1 K
Q
0
C 1
Q
1
1 J
1 K
& & & &
FF
1
W
0
W
1
W
2
W
3
( a )
0 0 / 1 0 0 0
0 1 / 0 0 0 1
1 0 / 0 1 0 0
1 1 / 0 0 1 0
Q
0
Q
1
/ W
0
W
1
W
2
W
3
( b )
1
CP
W
1
W
0
Q
1
Q
0
2 3 4 5 6 7 8
W
2
W
3
( c )
CP
第 6 章 时序电路的分析与设计由电路可写出输出函数和激励函数为
01011010
103102101100
,,,
,,,
QKQJQKQJ
QQWQQWQQWQQW
结合 JK触发器的特征方程,可得新状态方程:
QKQJQ n 1
0101011110
1010100000
1
1
QQQQQQKQJQ
QQQQQQKQJQ
n
n
第 6 章 时序电路的分析与设计由输出函数和新状态方程可得状态转换表如表 6-11,
状态转换图和工作波形分别如图 6-25( b),( c) 所示 。
由工作波形图可清楚地看到,电路在时钟脉冲的作用下,
按一定顺序轮流地输出脉冲信号 。 由于电路能在时钟脉冲作用下将脉冲信号按顺序分配到各个输出端,故称其为脉冲分配器 。
第 6 章 时序电路的分析与设计表 6-11 脉冲分配器状态表第 6 章 时序电路的分析与设计
4,序列信号发生器图 6-26(a) 所示为序列信号发生器的逻辑电路图 。 由图可见,该电路由三个 D触发器构成的移位寄存器和与非门构成的组合电路组成 。 由电路可写出其输出函数和激励函数分别为
12012121100
2
,,QDQDQQQQQQD
QZ
结合 D触发器的特征方程 Qn+1=D,可得新状态方程:
11201121211010,,QDQQQQQQQQD nnn
第 6 章 时序电路的分析与设计图 6-26
(a) 逻辑电路图; (b) 状态图; (c)
&
&
&
&
1 D
C 1
1 D
C 1
1 D
C 1
FF
1
FF
2
FF
0
CP
Q
0
Q
1
Q
2
( a )
0 0 0 /
0
1 0 0 /
0
0 1 0 /
0
1 0 1 /
1
1 1 0 /
0
0 0 1 /
1
0 1 1 /
1
1 1 1 /
1
Q
0
Q
1
Q
2
/ Z
( b )
1
CP
Q
2
Q
1
Q
0
D
0
2 3 4 5 6 7 8
( c )
1 1 10 0 0 1 0
1001 1 11 0
10 0 001 1 1
0 01 1 1100
Z
第 6 章 时序电路的分析与设计表 6-12 序列信号发生器的状态表第 6 章 时序电路的分析与设计
6.3 异步时序电路的分析方法图 6-27 异步十进制加法计数器
1 J
C 1
1 K
1 J
C 1
1 K
1 J
C 1
1 K
&
FF
3
FF
1
CP
0
C1 J
C 1
1 K
FF
0
&
FF
2
Q
2
Q
0
Q
3Q
1
CP
1
CP
2
CP
3
第 6 章 时序电路的分析与设计由电路可写出其输出函数和激励函数为
1,
1
1,
1
3123
22
131
00
03
KQQJ
KJ
KQJ
KJ
QQC
结合 JK触发器的特征方程,可得新状态方程:QKQJQ n 1
3321
1
3
22
1
2
113
1
1
00
1
0
CPQQQQ
CPQQ
CPQQQ
CPQQ
n
n
n
n
第 6 章 时序电路的分析与设计式中的 CPi表示时钟信号,它不是一个逻辑变量 。 对下降沿动作的触发器而言,CPi=1仅表示输入端有下降沿到达;
对上升沿动作的触发器而言,CPi=1仅表示输入端有上升沿到达 ; CPi=0表示没有时钟信号有效沿到达,触发器保持原状态不变 。 该电路的状态表 ( 表 6-13) 须逐步完成,因为该状态表是针对 CP0而列,CP0仅加到 FF0。 因此,首先求出 FF0的状态转换关系,从而就获得了 CP1( CP3) 的变化情况;再求出 FF1和 FF3的状态转换关系,也获得了 CP2
的变化情况;最后求出 FF2的状态转换关系 。
第 6 章 时序电路的分析与设计例如,当 Q3Q2Q1Q0=0111时,CP0到达(下降沿),
CP1(CP3)产生下降沿,可求得,,此时
CP2也产生下降沿,因而可求出 。这样,当
Q3Q2Q1Q0=0111,CP0到达后,新状态为 Q3Q2Q1Q0=1000。
由状态表 6-13可画出脉冲异步十进制加法计数器的状态图如图 6-28所示。由状态图可以看出,该电路是一个十进制加法计数器,并具有自启动能力。图 6-29为该电路的工作波形图,
图中标出了第八个时钟脉冲到达后,各触发器的状态转换过程。
010nQ
010nQ 013nQ
012nQ
第 6 章 时序电路的分析与设计第 6 章 时序电路的分析与设计图 6-28 异步十进制加法计数器状态图
1 1 1 0 / 0 1 1 1 1 / 1 0 0 0 0 / 0 0 0 0 1 / 0 0 0 1 0 / 0 0 0 1 1 / 0
1 0 0 1 / 1
1 0 0 0 / 0 0 1 1 1 / 0 0 1 1 0 / 0 0 1 0 1 / 0
0 1 0 0 / 0
1 0 1 1 / 1 1 0 1 0 / 0
1 1 0 1 / 1 1 1 0 0 / 0
第 6 章 时序电路的分析与设计图 6-29 脉冲异步十进制加法计数器工作波形图
1
CP
0
Q
3
Q
2
Q
1
Q
0
2 3 4 5 6 7 8 9 10
C
第 6 章 时序电路的分析与设计
6.4 同步时序电路的设计方法图 6-30 同步时序电路设计过程设计要求原始状态图
( 状态表)
最简状态图
( 状态表)
二进制状态表输出函数激励函数逻辑电路图状态简化状态分配触发器选型自启动检查第 6 章 时序电路的分析与设计
6.4.1 建立原始状态图和状态表根据设计命题要求初步画出的状态图和状态表,称为原始状态图和原始状态表,它们可能包含多余状态 。 从文字描述的命题到原始状态图的建立往往没有明显的规律可循,因此,在时序电路设计中这是较关键的一步 。 画原始状态图,列原始状态表一般按下列步骤进行:
① 分析题意,确定输入,输出变量 。
② 设置状态 。 首先确定有多少种信息需要记忆,然后对每一种需要记忆的信息设置一个状态并用字母表示 。
③ 确定状态之间的转换关系,画出原始状态图,列出原始状态表。
第 6 章 时序电路的分析与设计
【 例 6-3】 建立,111”序列检测器的原始状态图和原始状态表 。
该电路的功能是当连续输入三个或三个以上,1”时,
电路输出为 1,否则输出为 0。
解:
① 确定输入变量和输出变量 。
设该电路的输入变量为 X,代表输入串行序列,输出变量为 Z,表示检测结果 。 根据设计命题的要求,可分析出输入 X和输出 Z之间的关系为
X 011011111011
Z 000000111000
第 6 章 时序电路的分析与设计
② 设置状态 。
状态是指需要记忆的信息或事件,由于状态编码还没有确定,所以它用字母或符号来表示 。 分析题意可知,该电路必须记住以下几件事:收到了一个 1;连续收到了两个 1;连续收到了三个 1。 因此,加上初始状态,共需四个状态,并规定如下:
S0,初始状态,表示电路还没有收到一个有效的 1。
S1,表示电路收到了一个 1的状态 。
S2,表示电路收到了连续两个 1的状态 。
S3,表示电路收到了连续三个 1的状态。
第 6 章 时序电路的分析与设计
③ 画状态图,列状态表 。
以每一个状态作为现态,分析在各种输入条件下电路应转向的新状态和输出 。 该电路有一个输入变量 X,因此,每个状态都有两条转移线,画状态图时应先从初始状态 S0出发当电路处于 S0状态时,若输入 X=0,则输出 Z=0,电路保持 S0
状态不变,表示还未收到过 1;若输入 X=1,电路应记住输入了一个 1,因此,电路应转向新状态 S1,输出 Z=0。 当电路处于 S1状态时,若输入 X=0,则输出 Z=0,电路回到 S0状态重新开始;若输入 X=1,电路应记住连续输入了两个 1因此,
电路应转向新状态 S2,输出 Z=0。 以此类推,可以画出完整的状态图如图 6-31所示,并可作状态表如表 6-14所示 。
第 6 章 时序电路的分析与设计图 6-31 例 6-3Mealy型原始状态图
S 0
0 / 0
S 1 S 2 S 3
0 / 0
1 / 0 1 / 0 1 / 1
0 / 0 0 / 0 X / Z
1 / 1
第 6 章 时序电路的分析与设计表 6-14 例 6-3Mealy型原始状态表第 6 章 时序电路的分析与设计当电路处于 S0状态时,表示电路还没有收到一个有效的 1,
则输出 Z=0;若输入 X=0,则电路保持 S0状态不变;若输入 X=1,
电路应记住输入了一个 1,电路应转向新状态 S1。 当电路处于
S1状态时,表示电路收到了一个 1,则输出 Z=0;若输入 X=0,
电路回到 S0状态重新开始;若输入 X=1,电路应记住连续输入了两个 1,因此,电路应转向新状态 S2。 当电路处于 S2状态时,
表示电路收到了两个 1,则输出 Z=0;若输入 X=0,电路回到 S0
状态重新开始;若输入 X=1,电路应记住连续输入了三个 1,
因此,电路应转向新状态 S3。 当电路处于 S3状态时,表示电路收到了三个 1,则输出 Z=1;若输入 X=0,电路回到 S0状态重新开始;若输入 X=1,根据题意,电路可保持原状态 S3不变即可 。
这样,就可以得到 Moore型结构的原始状态图如图 6-32所示,
并可作状态表如表 6-15所示 。
第 6 章 时序电路的分析与设计表 6-15 例 6-3 Moore型原始状态表第 6 章 时序电路的分析与设计图 6-32 例 6-3Moore型原始状态图
S 0 / 0
0
0
1 1 1
0 0 X =1
S 1 / 0 S 2 / 0 S 3 / 1 S i / Z
第 6 章 时序电路的分析与设计
【 例 6-4】 建立一个余 3码误码检测器的原始状态图和原始状态表 。
余 3码高位在前,低位在后串行地加到检测器的输入端 。
电路每接收一组代码,即在收到第四位代码时判断一下 。
若是错误代码,则输出为 1,否则输出为 0,电路又回到初始状态并开始接收下一组代码 。
解:
① 确定输入变量和输出变量 。
输入变量 X为串行输入余 3码,高位在前,低位在后;
输出变量 Z为误码输出。
第 6 章 时序电路的分析与设计
② 设置状态 。
该电路属于串行码组检测,对输入序列每四位一组进行检测后才复位,以表示前一组代码已检测结束并准备下一组代码的检测,因此,初始状态表示电路准备开始检测一组代码 。 本命题的状态图采用树形结构,从初始状态开始,每接收一位代码便设置一个状态 。 例如,电路处于初始状态 S0,收到余 3码的第一位 ( 最高位 ),代码可能是 1,也可能是 0。 若为 0,状态转到 S1分支;若为 1,状态转到 S2分支 。 当电路分别处于 S1或
S2状态时,表示电路将接收第二位代码,当第二位代码到达,
由 S1派生出 S3和 S4分支,由 S2派生出 S9和 S10分支 。 若电路处于
S5,表示已收到了输入序列的高三位 ( 余 3码的高三位 ) 为 000,
因而,不论收到第四位数码是 0还是 1,均应回到 S0状态 ( 一组代码检测结束 ),且输出 Z=1,表示收到的是错误代码 。
第 6 章 时序电路的分析与设计图 6-33 例 6-4 原始状态图
S
0
S
4
S
8
S
7
S
6
S
5
S
1
S
3
0 / 1
1 / 1
0 / 1
1 / 0
0 / 0
1 / 0
0 / 0
1 / 0
0 / 0
1 / 00 / 0
1 / 0
0 / 0 1 / 0
S
10
S
14
S
13
S
12
S
11
S
2
S
9
0 / 0
1 / 0
0 / 0
1 / 0
0 / 0
1 / 1
0 / 1
1 / 1
0 / 0
1 / 00 / 0
1 / 0
0 / 0 1 / 0
S
i
X / Z
0 / 0 1 / 0
第 6 章 时序电路的分析与设计
6.4.2 状态化简在建立原始状态图和原始状态表时,将重点放在正确地反映设计要求上,因而往往可能会多设置一些状态,
但状态数目的多少将直接影响到所需触发器的个数 。 对于具有 M个状态的时序电路来说,所需触发器的个数 n由下式决定:
nn M 22 1
可见,状态数目减少会使触发器的数目减少并简化电路 。
因此,状态简化的目的就是要消去多余状态,以得到最简状态图和最简状态表 。
第 6 章 时序电路的分析与设计
1,状态的等价设 Si和 Sj是原始状态表中的两个状态,若分别以 Si和
Sj为初始状态,加入任意的输入序列,电路均产生相同的输出序列,即两个状态的转移效果相同,则称 Si和 Sj是等价状态或等价状态对,记作 [ SiSj] 。 凡是相互等价的状态都可以合并成一个状态 。
第 6 章 时序电路的分析与设计在状态表中判断两个状态是否等价的具体条件如下:
第一,在相同的输入条件下都有相同的输出 。
第二,在相同的输入条件下次态也等价 。 这可能有三种情况:
① 次态相同 ;
② 次态交错 ;
③ 次态互为隐含条件。
第 6 章 时序电路的分析与设计表 6-16 原始状态表第 6 章 时序电路的分析与设计例如,在表 6-16 所示的原始状态表中,对于状态 S2和 S5,
当输入 X=0时,输出相同 ( 输出都为 1),次态也相同 ( 次态都为 S5) ;当输入 X=1时,输出相同 ( 输出都为 0),次态也相同
( 次态都为 S3) 。 即可以确定,若分别以 S2和 S5为初始状态,
加入任意的输入序列,电路均产生相同的输出序列 。 因此,状态 S2和 S5为等价状态,记作 [ S2S5] 。
再看 S6和 S7 两个状态 。 当输入 X=1时,输出相同,次态也相同;当输入 X=0时,次态交错 。 这说明无论以 S6还是以 S7为初始状态,在接收到输入 1以前将不断地在 S6和 S7之间相互转换,
且保持输出为 1;一旦收到了输入 1,则都转向 S5。 因此,从转移效果来看它们是相同的,这两个状态等价,记作 [ S6S7]
第 6 章 时序电路的分析与设计对于 S1和 S3这两个状态,当输入 X=1时,输出相同,
次态交错;当输入 X=0时,输出相同,次态分别是 S2和 S4,
而 S2和 S4是否等价的隐含条件是 S1和 S3等价,这就是互为隐含条件的情况,其转移效果也是相同的,所以 S1和 S3
等价,S2和 S4也等价,记作 [ S1S3],[ S2S4] 。
第 6 章 时序电路的分析与设计等价状态具有传递性:若 Si和 Sj等价,Si和 Sk等价,则 Sj
和 Sk也等价,记作 [ SjSk] 。 相互等价状态的集合称为等价类,凡不被其它等价类所包含的等价类称为最大等价类 。
例如,根据等价状态的传递性可知,若有 [ SiSj] 和
[ SiSk],则有 [ SjSk],它们都称为等价类,而只有
[ SiSjSk] 才是最大等价类 。 另外,在状态表中,若某一状态和其它状态都不等价,则其本身就是一个最大等价类 。
状态表的化简,实际就是寻找所有最大等价类,并将最大等价类合并,最后得到最简状态表 。 所以,表 6-16中所有最大等价类为 [ S1S3] [ S2S4S5] [ S6S7],化简后的状态表如表 6-17所示 。
第 6 章 时序电路的分析与设计表 6-17 最简状态表第 6 章 时序电路的分析与设计表 6-18 原始状态表第 6 章 时序电路的分析与设计
2,隐含表化简
1)
隐含表格是一种两项比较的直角三角形表格,对于表 6
18的原始状态表其隐含表如图 6-34( a) 所示 。 隐含表的纵坐标为 B,C,D,E,F,G六个状态 ( 缺头 ),横坐标为 A、
B,C,D,E,F六个状态 ( 少尾 ),表中的每一个小格用来表示一个状态对的等价比较情况 。 这种表格能保证每两个状态进行比较,而且可以逐步确定所有的等价状态,使用方便 。
第 6 章 时序电路的分析与设计
2)
对原始状态表中的每一对状态逐一比较,结果有三种情况:
① 状态对肯定不等价,在小格内填 × 。
② 状态对肯定等价,。
③ 状态是否等价取决于隐含条件的,则把隐含状态对填入,需作进一步比较 。
按上述规则将表 6 18顺序比较后,所得的隐含表如图 6-
34( b)所示。
第 6 章 时序电路的分析与设计图 6-34 隐含表简化状态
B
C
D
E
F
G
A B C D E F
( a )
CF
×
×
×
×
×
×
×
×
×
×
√
×
×
× ×
× ×
B
C
D
E
F
G
A B C D E F
( b )
BE
CF
AE
CD
DE
×
×
×
×
×
×
×
×
×
×
√
×
×
× ×
× ×
B
C
D
E
F
G
A B C D E F
( c )
√
√√
×
第 6 章 时序电路的分析与设计
3) 关连比较 ——对顺序比较中需要进一步比较的状态对进行比较从图 6-34( b) 可见,顺序比较后只有 C和 F已确定是等价状态对,记为 [ CF] 。 但 AB,AE,BE,DG是否为等价状态对还需要检查其隐含状态对,其余状态均不等价 。
状态 A和 B是否等价决定于隐含状态对 C,F。 因为 C,F
为等价,所以状态 A和 B为等价状态对,记为 [ AB] 。
状态 A和 E是否等价决定于隐含状态对 B,E,而状态 B和 E是否等价决定于隐含状态对 C,F和 A,E,而已有 [ CF],故又回到了自身,所以有 [ AE] 和 [ BE] 。
状态 D和 G是否等价决定于隐含状态对 C,D 和 D,E,
而状态对 C,D 和 D,E不等价,所以状态 D和 G不等价 。
第 6 章 时序电路的分析与设计
4)
根据以上求得的全部等价状态对,可求得该状态表的最大等价类为 [ ABE],[ CF],[ D] 和 [ G] 。
5)
从每一个最大等价类中选出一个为代表,现分别从最大等价类 [ ABE],[ CF],[ D] 和 [ G] 中选出 A,
C,D 和 G,作为简化后的四个状态,最后可作出最简状态表如表 6 - 19所示 。
第 6 章 时序电路的分析与设计表 6-19 最简状态表第 6 章 时序电路的分析与设计
6.4.3 状态分配状态分配是指将状态表中每一个字符表示的状态赋以适当的二进制代码,得到代码形式的状态表 ( 二进制状态表 ),以便求出激励函数和输出函数,最后完成时序电路的设计 。 状态分配合适与否,虽然不影响触发器的级数,但对所设计的时序电路的复杂程度有一定的影响 。 然而,要得到最佳分配方案是很困难的 。 这首先是因为编码的方案太多,如果触发器的个数为 n,实际状态数为 M,则一共有 2n种不同代码 。 若要将 2n种代码分配到 M个状态中去,并考虑到一些实际情况,有效的分配方案数为
!)!2(
)!12(
nMN n
n
第 6 章 时序电路的分析与设计可见,当 M增大时,N值将急剧增加,要寻找一个最佳方案很困难 。 此外,虽然人们已提出了许多算法,但也都还不成熟,因此在理论上这个问题还没解决 。
在众多算法中,相邻法比较直观,简单,便于采用 。 它有三条原则,即符合下列条件的状态应尽可能分配相邻的二进制代码:
① 具有相同次态的现态 。
② 同一现态下的次态 。
③ 具有相同输出的现态 。
三条原则以第一条为主,兼顾第二,第三条。
第 6 章 时序电路的分析与设计
【 例 6-5】 试对表 6-20所示的状态表进行状态分配 。
解,从表 6-20状态表可见,它有四个状态 S1,S2,S3、
S4,故电路使用两个触发器,即需要两个状态变量 Q1,Q0
进行编码 。 为方便起见,通常用卡诺图来表示分配结果 。
按原则一,S1S2,S2S3应分配相邻代码 。
按原则二,S1S3,S1S4,S2S3应分配相邻代码 。
按原则三,S2S3应分配相邻代码 。
根据三条原则,将状态分配方案填入图 6-35的卡诺图中,
它仅未满足 S1S3相邻 。 所以,分配结果为 S1 =00,S2=01,
S3=11,S4=10。 最后可得到二进制状态表如表 6-21所示 。
第 6 章 时序电路的分析与设计表 6-20 例 6-5 状态表 表 6-21 例 6-5二进制状态表第 6 章 时序电路的分析与设计图 6-35 例 6-5 编码表
S
1
Q
1
Q
0
0 1
0
1
S
2
S
3
S
4
第 6 章 时序电路的分析与设计
6.4.4 同步时序电路的设计举例
【 例 6-6】 试用 JK触发器完成,111”序列检测器的设计 。
表 6-22 状态表第 6 章 时序电路的分析与设计
① 状态化简 。
由表 6-22( a) 原始状态表用直接观测法可知,S2,S3为等价状态对,简化后可得如表 6-22( b) 最简状态表 。
② 状态分配 。
该时序电路共有三个状态,采用两个 JK触发器,状态变量为 Q1,Q0。
按原则一,S1S2相邻;按原则二,S0S1和 S0S2相邻; 按原则三,S0S1相邻 。 综合考虑后分配 S0S1和 S1S2相邻,这样就不能兼顾 S0S2相邻,状态分配编码表如图 6-36所示 。 最后状态分配为 S0=00,S1=10,S2=11。 状态分配后得到如表 6-22( c)
二进制状态表,它是一个非完全描述时序电路的设计 。
第 6 章 时序电路的分析与设计
S
0
Q
1
Q
0
0 1
0
1
图 6 - 3 6
S
1
S
2
第 6 章 时序电路的分析与设计
③ 确定激励函数和输出函数 。
根据状态表填写次态和输出函数卡诺图,从而求得次态和输出方程组,然后将各状态方程与所选用的触发器的特征方程对比,便可求出激励函数 。 这种方法称为状态方程法 。
当选用 JK触发器时,为了使状态方程与触发器的特征方程便于对比,尽可能将状态方程写成 的形式,因此,必须将次态卡诺图按现态 Qi=1和 Qi=0分成两个子卡诺图,然后分别在子卡诺图中画圈简化,这样就可方便地求得 Qi和 Qi的系数 Ji和 。
iK
iiiini QKQJQ 1
第 6 章 时序电路的分析与设计图 6-37 例 6- 6 次态与输出卡诺图
ZcQbQa nn )(;)(;)( 1011
×
Q
1
Q
0
X
0 1
00
01
1
0 1
×
0
0 1
( a )
11
10
×
Q
1
Q
0
X
0 1
00
01
0
0 1
×
0
0 1
( b )
11
10
×
Q
1
Q
0
X
0 1
00
01
0
0 0
×
0
0 1
( c )
11
10
第 6 章 时序电路的分析与设计在图 6-37(a),(b)中,粗虚线将卡诺图按 Qi=1和 Qi=0划分为两个子卡诺图,化简后得
001
1
0
11
1
1
XQQXQQ
XQQXQ
n
n
最后的激励函数和输出函数为
0
010
11
,
,
XQZ
XKXQJ
XKXJ
第 6 章 时序电路的分析与设计
④ 自启动检查。
图 6-38 例 6-6 状态图
00 10
1101
1 / 1
0 / 0
1 / 0
X / Z
Q
1
Q
0
0 / 0
0 / 0
1 / 1
0 / 0
1 / 0
第 6 章 时序电路的分析与设计表 6-23 完全状态表第 6 章 时序电路的分析与设计
⑤ 根据以上方程,画出,111”序列检测器的逻辑图如图 6-39所示。
图 6-39,111”序列检测器逻辑图
1 J
C 1
1 K
1 J
C 1
1 K
&
FF
0
Z
&
FF
1
Q
1
Q
0
1
CP
X
第 6 章 时序电路的分析与设计
【 例 6-7】 用 JK触发器设计一个五进制同步计数器,
000 001 011 101 110
解,本例属于给定状态时序电路设计问题 。
① 列状态表 。
根据题意,该时序电路有三个状态变量,设状态变量为 Q2,Q1,Q0,可作出二进制状态表如表 6 24所示,它是一个非完全描述时序电路的设计 。
第 6 章 时序电路的分析与设计表 6-24 例 6-7 状态表一第 6 章 时序电路的分析与设计图 6-40 表 6-24 次态卡诺图
101112 )(;)(;)( nnn QcQbQa
② 确定激励函数和输出函数。
×0×
1 ×
0
Q
2
Q
1
Q
0
00 01 11 10
0
1 0 1
( a )
0×
0 ×
0
Q
2
Q
1
Q
0
00 01 11 10
0
1 1 1
( b )
×0×
1 ×
1
Q
2
Q
1
Q
0
00 01 11 10
0
1 1 0
( c )
×
第 6 章 时序电路的分析与设计由次态卡诺图求出其状态方程和激励函数如下:
20200202
1
0
10110
1
1
12122121
1
2
,,
1,,
,,
QKQJQQQQQ
KQJQQQ
QKQJQQQQQ
n
n
n
③ 自启动检查 。
根据以上状态方程,检查多余状态的转移情况如表 6-25
所示,其完整的状态图如图 6-41所示 。
第 6 章 时序电路的分析与设计表 6-25 多余状态转移表第 6 章 时序电路的分析与设计图 6-41 例 6-7 状态图
1 1 1
0 0 11 1 0
0 1 11 0 10 1 0
Q
2
Q
1
Q
0
1 0 00 0 0
第 6 章 时序电路的分析与设计从图 6-41可以看出,该电路一旦进入状态 100,就不能进入计数主循环,因而该电路不能实现自启动,需要修改设计 。
在非完全描述时序电路中,由于存在无效状态,使得在激励函数的获取过程中出现了任意项 。 在求取激励函数时,如果某任意项被圈入,则该任意项被确认为 1,否则被确认为 0。 由于圈法的随意性,故无效状态的转移可能出现死循环而使电路不能自启动 。 当电路不能自启动时,
解决的方法有多种 。
第 6 章 时序电路的分析与设计第一种方法,将原来的非完全描述时序电路中没有描述的状态的转移情况加以定义,使其成为完全描述时序电路 。
如将表 6-24状态表中的无效状态的转移方向均定义为 000,则可得到一个完全描述时序电路的状态表如表 6-26。 显然,按照表 6-26设计的时序电路,不存在死循环问题,因为它是完全描述的 。 这种方法由于失去了任意项,会增加电路的复杂程度 。
表 6-26 例 6-7 状态表二第 6 章 时序电路的分析与设计第二种方法,改变原来的圈法 。 如果盲目地改变所有激励函数的圈法,则其工作量大,效果差 。 若在分析观察的基础上改变某激励函数的圈法,则能获得较满意的效果 。 观察
6-40 次态卡诺图,如果希望能尽量使用任意项,只能对
(a)和 (c)的圈法作修改 。 现对 (c)的圈法作修改,它仅改变 Q0
的转移,新的圈法如图 6 - 42所示 。
分析新圈法可知:状态 010将转移到 100( 原转移到 101,
现在最后一位 Q0转为 0),状态 100将转移到 101( 原转移到
100,现最后一位 Q0转为 1) 。 由分析可以看出,新圈法将克服死循环,也不增加激励函数的复杂程度 。
第 6 章 时序电路的分析与设计图 6-42 修整后圈法由新圈法得
2010
0201
1
0
,QKQJ
QQQQQ n
×0×
1 ×
1
Q
2
Q
1
Q
0
00 01 11 10
0
1 1 0
( c ) Q
n +1
0
第 6 章 时序电路的分析与设计表 6-27 多余状态转移表重新检查多余状态的转移情况如表 6-27所示,其状态图如图 6-43所示,可以看到该电路具有自启动能力 。 如果修改
6- 40(a)的圈法,可以得到同样的效果 。
第 6 章 时序电路的分析与设计
1 1 1
0 0 11 1 0
0 1 11 0 11 0 0
Q
2
Q
1
Q
0
0 0 0
图 6 - 4 3
0 1 0
第 6 章 时序电路的分析与设计
④ 画逻辑图。
图 6-44 例 6-7 逻辑图
1 J
C 1
1 J
C 1
FF
1
FF
0
1 J
C 1
FF
2
CP
Q
0
Q
2
1 K 1 K 1 K
Q
1
第 6 章 时序电路的分析与设计
【 例 6-8 】 用 D触发器设计一个模七同步加法计数器 。
解,本例属于给定状态时序电路设计问题 。
① 列状态表 。
根据题意,该时序电路有三个状态变量 。 设状态变量为 Q2,Q1,Q0,可作出二进制状态表如表 6-28所示,它是一个非完全描述时序电路的设计 。
② 确定激励函数和输出函数 。
由表 6-28状态表分别画出 Q2,Q1,Q0的次态卡诺图如图 6- 45(a),(b),(c)所示 。
第 6 章 时序电路的分析与设计表 6-28 例 6-8 状态表第 6 章 时序电路的分析与设计图 6-45 例 6-8 次态卡诺图
101112 )(;)(;)( nnn QcQbQa
0
00
1 ×
0
Q
2
Q
1
Q
0
00 01 11 10
0
1 0
1
1
( a )
01
0 ×
0
Q
2
Q
1
Q
0
00 01 11 10
0
1 1 1
( b )
101
0 ×
1
Q
2
Q
1
Q
0
00 01 11 10
0
1 0 0
( c )
第 6 章 时序电路的分析与设计当使用 D触发器实现时序电路时,由于 D触发器的特征方程为 Qn+1=D,因此,可从次态卡诺图直接求出 D触发器的激励函数:
01020
010121
12012
QQQQD
QQQQQD
QQQQD
第 6 章 时序电路的分析与设计
③ 自启动检查 。
观察次态卡诺图激励函数的圈法,多余状态 111的新状态为 100,电路的状态图如图 6-46所示,该电路具有自启动能力 。
图 6-46 例 6-8 状态图
0 0 0 0 0 1 0 1 10 1 0 1 0 0 1 0 1 1 1 0
1 1 1Q
2
Q
1
Q
0
第 6 章 时序电路的分析与设计
④ 画逻辑图。
图 6-47 例 6-8 逻辑图
FF
0
FF
1
FF
2
1 D
C 1
& ≥1 1 D
C 1
& ≥1 1 D
C 1
& ≥1
CP
Q
0
Q
1
6.1 时序电路概述
6.2 同步时序逻辑电路的分析
6.3 异步时序电路的分析方法
6.4 同步时序电路的设计方法第 6 章 时序电路的分析与设计
6.1 时序电路概述
6.1.1 时序电路的特点逻辑电路分为两类:一类是组合逻辑电路,另一类是时序逻辑电路 。 在组合逻辑电路中,任一时刻的输出仅与该时刻输入变量的取值有关,而与输入变量的历史情况无关;在时序逻辑电路中,任一时刻的输出不仅与该时刻输入变量的取值有关,而且与电路的原状态,即与过去的输入情况有关 。
第 6 章 时序电路的分析与设计图 6-1 时序逻辑电路的结构框图与组合逻辑电路相比,时序逻辑电路有两个特点:第一,
时序逻辑电路包含组合逻辑电路和存储电路两部分,存储电路具有记忆功能,通常由触发器组成;第二,存储电路的状态反馈到组合逻辑电路的输入端,与外部输入信号共同决定组合逻辑电路的输出 。 组合逻辑电路的输出除包含外部输出外,还包含连接到存储电路的内部输出,它将控制存储电路状态的转移 。
存储电路组合逻辑电路
…
……
…x
1
x
n
z
1
z
m
q
1
q
j
y
1
y
k
第 6 章 时序电路的分析与设计在图 6-1时序逻辑电路的结构框图中,X( x1,x2,…,xn)
为外部输入信号; Q( q1,q2,…,qj) 为存储电路的状态输出,
也是组合逻辑电路的内部输入; Z( z1,z2,…,zm) 为外部输出信号; Y( y1,y2,…,yk) 为存储电路的激励信号,也是组合逻辑电路的内部输出 。 在存储电路中,每一位输出 qi(i = 1,
2,…,j )称为一个状态变量,j个状态变量可以组成 2j个不同的内部状态 。 时序逻辑电路对于输入变量历史情况的记忆就是反映在状态变量的不同取值上,即不同的内部状态代表不同的输入变量的历史情况 。
第 6 章 时序电路的分析与设计
),,,,,,,(
),,,,,,,(
),,,,,,,(
2121
212122
212111
n
j
nnn
n
nn
m
n
m
n
j
nnn
n
nnn
n
j
nnn
n
nnn
qqqxxxfz
qqqxxxfz
qqqxxxfz
…
),,,,,,,(
),,,,,,,(
),,,,,,,(
2121
212122
212111
n
j
nnn
n
nn
k
n
k
n
j
nnn
n
nnn
n
j
nnn
n
nnn
qqqxxxgy
qqqxxxgy
qqqxxxgy
),,,,,,,(
),,,,,,,(
),,,,,,,(
2121
1
21212
1
2
21211
1
1
n
j
nnn
k
nn
j
n
j
n
j
nnn
k
nnn
n
j
nnn
n
nnn
qqqyyyhq
qqqyyyhq
qqqyyyhq
…
…
第 6 章 时序电路的分析与设计其中,第一个方程组称为输出方程,第二个方程组称为驱动方程 ( 或激励方程 ),第三个方程组称为状态方程 。 方程中的上标 n和 n+1表示相邻的两个离散时间 ( 或称相邻的两个节拍 ),如 表示存储电路中每个触发器的当前状态 ( 也称现状态或原状态 ),表示存储电路中每个触发器的新状态 ( 也称下一状态或次状态 ) 。
以上三个方程组可写成如下形式:
njnn qqq,、,21
11211 njnn qqq,、、
),(
),(
),(
1 nnn
nnn
nnn
QYHQ
QXGY
QXFZ
第 6 章 时序电路的分析与设计从以上关系式不难看出:时序逻辑电路某时刻的输出 Zn
决定于该时刻的外部输入 Xn和内部状态 Qn;而时序逻辑电路的下一状态 Qn+1同样决定于 Xn和 Qn。 时序逻辑电路的工作过程实质上就是在不同的输入条件下,内部状态不断更新的过程 。 以上三个方程人们习惯写成如下形式:
),(
),(
),(
1
QYHQ
QXGY
QXFZ
n
第 6 章 时序电路的分析与设计
6.1.2 时序电路的分类图 6-2 同步二进制加法计数器
1 J
C 1
1 K
1 J
C 1
1 K
1 J
C 1
1 K
& &
FF
1
FF
0
FF
2
Z
CP
Q
2
Q
1
Q
0
第 6 章 时序电路的分析与设计图 6-3 异步二进制加法计数器
1 J
C 1
1 K
1 J
C 1
1 K
1 J
C 1
1 K
&
FF
1
FF
0
FF
2
CP
Z
Q
2
Q
1
Q
0
第 6 章 时序电路的分析与设计时序电路按输出信号的特点又可以分为米里 ( Mealy)
型和摩尔 (Moore)型时序电路两种 。 Mealy型时序电路的输出函数为 Z= F( X,Q),即某时刻的输出决定于该时刻的外部输入 X和内部状态 Q,如图 6-4所示的 Mealy型串行加法器电路 。 在该电路中,ai,bi为串行数据输入,si为串行数据输出,si=ai+bi+ci-1,或 si= ai+bi+Q。 Moore型时序电路的输出函数为 Z = F( Q),如图 6-5所示的 Moore型串行加法器电路 。 在该电路中串行数据输出 si=Q1。 Mealy型串行加法器电路和 Moore型串行加法器电路具有相同的逻辑功能,但 Moore型串行加法器电路的输出比 Mealy型串行加法器的输出迟一个节拍 。
第 6 章 时序电路的分析与设计图 6-4 Mealy型串行加法器电路
∑
C
I
C
O
1 D
C 1
CP
C
i - 1
a
i
b
i
S
i
FF
C
i
Q
第 6 章 时序电路的分析与设计图 6-5 Moore型串行加法器电路
∑
C
I
C
O
1 D
C 1
CP
C
i - 1
a
i
b
i
S
i
FF
0
1 D
C 1
FF
1
C
i
( S
i
)
Q
0
Q
1
第 6 章 时序电路的分析与设计
6.1.3 时序电路的功能描述
1,
),(
),(
),(
1
QYHQ
QXGY
QXFZ
n
第 6 章 时序电路的分析与设计
2,状态转移表状态转移表也称状态迁移表或状态表,是用列表的方式来描述时序逻辑电路输出 Z,次态 Qn+1和外部输入 X,现态 Q之间的逻辑关系 。
表 6-1 Mealy型时序电路状态表第 6 章 时序电路的分析与设计表 6-2 Moore型时序电路状态表第 6 章 时序电路的分析与设计表 6-3 Moore 型电路简化状态表第 6 章 时序电路的分析与设计
3,状态图图 6-6 时序逻辑电路状态图
00 01
1110
0 1 / 1
1 1 / 0
0 0 / 0
1 1 / 0 1 0 / 1
1 1 / 0
0 1 / 1
0 0 / 0
1 1 / 0
0 0 / 1
1 0 / 1
1 0 / 1
0 0 / 1
0 1 / 1
0 1 / 1
1 0 / 1
X
1
X
0
/ Z
Q
1
Q
0
( a )
0 0 / 0 0 1 / 0
1 0 / 01 1 / 1
( b )
Q
1
Q
0
/ Z
1
1
1 1 0
0
0
0
X
0 0 0 0 0 1 0 1 0 0 1 1
1 1 1 1 1 0 1 0 1 1 0 0
Q
2
Q
1
Q
0
( c )
第 6 章 时序电路的分析与设计
4.
时序图即为时序电路的工作波形图,它以波形的形式描述时序电路内部状态 Q,外部输出 Z随输入信号 X变化的规律,其具体画法将在下面讨论 。
以上几种同步时序逻辑电路功能描述的方法,各有特点,但实质相同,且可以相互转换,它们都是同步时序逻辑电路分析和设计的主要工具 。
第 6 章 时序电路的分析与设计
6.2
6.2.1
① 根据逻辑图求出时序电路的输出方程和各触发器的激励方程 。
② 根据已求出的激励方程和所用触发器的特征方程,
获得时序电路的状态方程 。
③ 根据时序电路的状态方程和输出方程,建立状态转移表,进而画出状态图和波形图 。
④ 分析电路的逻辑功能。
第 6 章 时序电路的分析与设计
【 例 6-1 】 分析图 6-7 所示同步时序电路的逻辑功能。
图 6-7 例 6-1 时序逻辑电路
1 J
C 1
1 K
1 J
C 1
1 K
FF
1
FF
0
CP
= 1
X
&
Z
Q
1
Q
1
Q
0
Q
0
第 6 章 时序电路的分析与设计解:
① 求输出方程和激励方程。
01
011
00 1
QQXZ
QXKJ
KJ
② 求状态方程。
00000
1
0
1010101111
1
1 )(
QQKQJQ
QQXQQXQQXQKQJQ
n
n
第 6 章 时序电路的分析与设计
③ 列状态表,画状态图。
表 6-4 例 6-1 时序电路状态表第 6 章 时序电路的分析与设计图 6-8 例 6-1 次态与输出卡诺图
ZcQbQa nn )(;)(;)( 1011
X
Q
1
Q
0
0 1
00
01
11
10
( a )
1
0
1
0
1
0
0 1
X
Q
1
Q
0
0 1
00
01
11
10
( b )
0
0
1
0
0
1
1 1
X
Q
1
Q
0
0 1
00
01
11
10
( c )
0
0
0
0
0
0
0 1
第 6 章 时序电路的分析与设计图 6-9 例 6-1 状态图
00 01
1011 Q
1
Q
0
1 / 0
1 / 0
1 / 1 1 / 0 0 / 0
0 / 0
0 / 0
X / Z
0 / 0
第 6 章 时序电路的分析与设计
④ 画波形图 。
设 Q1Q0的初始状态为 00,输入变量 X的波形如图 6-10第二行所示 。 根据表 6-4状态表即可画出波形图 。 例如第一个
CP来到前 X=0,Q1Q0=00,从表中查出,因此在画波形时应在第一个 CP来到后使 Q1Q0进入 01。 以此类推,
即可以画出 Q1Q0的整体波形如图 6-10第三,四行所示 。 外部输出,它是组合电路的即时输出,只要外部输入或内部状态一变化,外部输出 Z就会跟着改变,画波形时要特别注意 。
011011 nn QQ
01QQXZ?
第 6 章 时序电路的分析与设计图 6-10 例 6-1 时序图
X
Q
0
Q
1
Z
1 2 3 4 5 6 7 8 9
CP
第 6 章 时序电路的分析与设计
⑤ 逻辑功能分析 。
从以上分析可以看出,当外部输入 X=0时,状态转移按 00→ 01→ 10→ 11→ 00→ …规律变化,实现模 4加法计数器的功能;当 X=1时,状态转移按 00→ 11→ 10→ 01→ 00→ …规律变化,实现模 4减法计数器的功能 。 所以,该电路是一个同步模 4可逆计数器 。 X为加 /减控制信号,Z为借位输出 。
第 6 章 时序电路的分析与设计
【 例 6-2 】 分析图 6-11 所示同步时序电路的逻辑功能。
图 6-11 例 6-2 时序逻辑电路
1 D
C 1
FF
2
1 D
C 1
FF
1
1 D
C 1
FF
0
CP
≥1
Z
1
Z
0
Z
2
第 6 章 时序电路的分析与设计
D2=Q1,D1=Q0,
Z2=Q2,Z1=Q1,Z0=Q0
01010 QQQQD
解:
① 求输出方程和激励方程。
② 求状态方程。
0101001111212,,QQDQQDQQDQ nnn
第 6 章 时序电路的分析与设计
③ 列状态表,画状态图。
表 6-5 例 6-2 时序逻辑电路状态表第 6 章 时序电路的分析与设计图 6-12 例 6-2 状态图
0 0 0 0 0 1 0 1 0 1 0 1
Q
2
Q
1
Q
0
1 0 0
1 1 0 0 1 11 1 1
第 6 章 时序电路的分析与设计
④ 画波形图。
图 6-13 例 6-2 波形图
1 2 3 4 5 6
CP
Q
0
Q
1
Q
2
第 6 章 时序电路的分析与设计
⑤ 逻辑功能分析 。
从以上分析可以看出,该电路在 CP脉冲作用下,
把宽度为 T的脉冲以三次分配给 Q0,Q1 和 Q2各端,因此,该电路是一个脉冲分配器 。 由状态图和波形图可以看出,该电路每经过三个时钟周期循环一次,并且该电路具有自启动能力 。
第 6 章 时序电路的分析与设计
6.2.2 典型时序逻辑电路的分析
1,寄存器和移位寄存器
1)
寄存器用于寄存一组二进制代码,它被广泛用于各类数字系统和数字计算机中 。 因为一个触发器能存储一位二进制代码,所以用 n个触发器组成的寄存器能存储一组 n位二进制代码 。 对寄存器中使用的触发器只要求具有置 1,置 0的功能即可,因而无论是用基本 RS结构的触发器,还是用数据锁存器,主从结构或边沿触发结构的触发器,都能组成寄存器 。
第 6 章 时序电路的分析与设计
(1)
图 6-14是由基本 RS触发器构成的二拍接收四位数据寄存器 。 当清 0端为逻辑 1,接收端为逻辑 0时,寄存器保持原状态 。
当需将四位二进制数据存入数据寄存器时,需二拍完成:第一拍,发清 0信号 ( 一个负向脉冲 ),使寄存器状态为 0
( Q3Q2Q1Q0=0000) ;第二拍,将要保存的数据 D3D2D1D0送数据输入端 ( 如 D3D2D1D0=1101),再送接收信号 ( 一个正向脉冲 ),要保存的数据将被保存在数据寄存器中
( Q3Q2Q1Q0=1101) 。 从该数据寄存器的输出端 Q3Q2Q1Q0可获得被保存的数据 。
第 6 章 时序电路的分析与设计图 6-14 二拍接收四位数据寄存器
R S R S R SR S
& & &
清0
接收
Q
3
Q
2
Q
1
Q
0
D
0
D
1
D
2
D
3
&
第 6 章 时序电路的分析与设计
(2)
图 6-15是由数据锁存器构成的单拍接收四位数据寄存器 。
当接收端为逻辑 0时,寄存器保持原状态;当需将四位二进制数据存入数据寄存器时,单拍即能完成 ——将要保存的数据
D3D2D1D0送数据输入端 ( 如 D3D2D1D0=1101),再送接收信号 ( 一个正向脉冲 ),要保存的数据将被保存在数据寄存器中 ( Q3Q2Q1Q0=1101 ) 。 同 样 从 数 据 寄 存 器 的 输 出 端
Q3Q2Q1Q0可获得被保存的数据 。
对于功能完善的触发器,如主从 JK触发器,维持 —阻塞式 D触发器等,都可构成这类数据寄存器 。
第 6 章 时序电路的分析与设计图 6-15 单拍接收四位数据寄存器
C 1 1 D
接收
Q
3
Q
2
Q
1
Q
0
D
0
D
1
D
2
D
3
C 1 1 D C 1 1 D C 1 1 D
第 6 章 时序电路的分析与设计
2)
对于串行数据,则采用移位寄存器输入并加以保存 。
移位寄存器的功能和电路形式较多,按移位方向来分有左向移位寄存器,右向移位寄存器和双向移位寄存器;
按接收数据的方式可分串行输入和并行输入;按输出方式可分串行输出和并行输出 。
第 6 章 时序电路的分析与设计
(1)
图 6-16所示电路是由维持 —阻塞式 D触发器组成的四位单向移位 ( 右移 ) 寄存器 。 在该电路中,Ri为外部串行数据输入 ( 或称右移输入 ),Ro为外部输出 ( 或称移位输出 ),输出端 Q3Q2Q1Q0为外部并行输出,CP为时钟脉冲输入端 ( 或称移位脉冲输入端,也称位同步脉冲输入端 ),
清 0端信号将使寄存器清 0( Q3Q2Q1Q0 =0000) 。
在该电路中,各触发器的激励方程为
)2,1,0(,
,,,
13
1021323
nQDRD
QDQDQDRD
nni
i或第 6 章 时序电路的分析与设计图 6-16 四位单向移位 (右移 )寄存器
1 D
C 1
R
D
1 D
C 1
1 D
C 1
FF
3
FF
1
FF
2
CP
1 D
C 1
FF
0
R
D
R
D
R
D
Q
2
R
i
Q
1
Q
0
R
o
清0
Q
3
第 6 章 时序电路的分析与设计设输入 Ri=1011,则清 0后在移位脉冲 CP的作用下,移位寄存器中数码移动的情况如表 6-6所示,各触发器输出端
Q3Q2Q1Q0的波形如图 6-17所示 。
表 6-6 移存器数码移动状况第 6 章 时序电路的分析与设计图 6-17 移位寄存器工作波形图
1 2 3 4 5 6 7 8
CP
1 0 1 1
1
1
0
01 1 1
R
i
Q
3
Q
2
Q
1
Q
0
第 6 章 时序电路的分析与设计
(2) 双向移位寄存器图 6-18 四位双向移位寄存器
FF
4
CP
清0
1 D
C 1
R
D
S
D
&
&
≥1
FF
3
1 D
C 1
R
D
S
D
&
&
≥1
FF
2
1 D
C 1
R
D
S
D
&
&
≥1
FF
1
1 D
C 1
R
D
S
D
&
&
≥1
1
接收
M
Q
5
D
4
D
3
D
2
D
1
Q
0
Q
1
Q
2
Q
3
Q
4
第 6 章 时序电路的分析与设计图 6-18所示电路是由维持 —阻塞式 D触发器组成的四位双向移位寄存器 。 在该电路中,Q5为右移串行输入,Q0为左移串行输入,Q1为右移串行输出,Q4为左移串行输出,输出端
Q4Q3Q2Q1为并行输出端,CP为移位脉冲输入端,D4D3D2D1
为并行数据输入端,M端为工作方式控制端,清 0端信号将使寄存器清 0( Q4Q3Q2Q1 =0000),接收信号将并行输入数据 D4D3D2D1写入到移位寄存器中 。 本电路采用二拍接收并行数据的工作方式 。
第 6 章 时序电路的分析与设计由逻辑电路图可以写出组合电路的输出函数和激励函数 。
对于由 k级触发器构成的移位寄存器来讲,其激励函数和次
),.,,,2,1(,11111 kiQMMQQQMMQD iiniiii
当 M=1时,
111, iniii QQQD 电路实现右移功能。
当 M=0时,,,
111 iniii QQQD 电路实现左移功能。
第 6 章 时序电路的分析与设计
2,计数器计数器的主要功能是累计输入脉冲的个数 。 它不仅可以用来计数,分频,还可以对系统进行定时,顺序控制等,
是数字系统中应用最广泛的时序逻辑部件之一 。 计数器是一个周期性的时序电路,其状态图有一个闭合环,闭合环循环一次所需要的时钟脉冲的个数称为计数器的模值 M。 由
n个触发器构成的计数器,其模值 M一般应满足 2n-1< M≤2n。
计数器有许多不同的类型 。 按时钟控制方式来分,有异步,同步两大类; 按计数过程中数值的增减来分,有加法,减法,可逆计数器三类;按模值来分,有二进制,十进值和任意进制计数器 。
第 6 章 时序电路的分析与设计表 6-7 计数器分类第 6 章 时序电路的分析与设计
1) 同步二进制加法计数器图 6-19 同步二进制加法计数器
1 J
C 1
1 K
1 J
C 1
1 K
1 J
C 1
1 K
&
FF
3
FF
1
CP
Z
1 J
C 1
1 K
FF
0
R
D
R
D
R
D
R
D
R
D
&
FF
2
Q
3
Q
2
&
Q
1
Q
0
第 6 章 时序电路的分析与设计
012333
01222
0111
000
0123
1
QQQKJT
QQKJT
QKJT
KJT
QQQQZ
电路的输出函数和控制函数为将控制函数代入 T触发器的特征方程,可得状态转移函数:
QTQ n1
3012
1
3
201
1
2
10
1
1
0
1
0
)(
)(
QQQQQ
QQQQ
QQQ
n
n
n
n
第 6 章 时序电路的分析与设计表 6-8 同步二进制加法计数器状态表第 6 章 时序电路的分析与设计图 6-20 同步二进制加法计数器状态图
1 / 0 2 / 00 / 0 3 / 0 4 / 0 5 / 0 6 / 0 7 / 0
1 5 / 0 1 4 / 0 1 3 / 0 1 2 / 0 1 1 / 0 1 0 / 0 9 / 0 8 / 0
Q / Z
第 6 章 时序电路的分析与设计图 6-21 同步二进制加法计数器波形图
1
CP
Q
3
Q
2
Q
1
Q
0
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Z
第 6 章 时序电路的分析与设计
2) 同步十进制可逆计数器(加减控制式)
图 6-22 同步十进制可逆计数器
FF
0
1 J
C 1
1 K
& ≥ 1
FF
1
1 J
C 1
1 K
& ≥ 1
FF
2
1 J
C 1
1 K
& ≥ 1
FF
3
1 J
C 1
1 K
CP
&
&
1
&
M
Q
0
Q
1
Q
2 Q
3
C
B
第 6 章 时序电路的分析与设计由逻辑电路可以写出其输出函数和激励函数为
210210303
321101032110102
3210303210301
0
3210
30
)(
)(
)(
1
QQQMQQQQQMT
QQQQQMQMQQQQQQMQMQT
QQQQMQMQQQQQMQMQT
T
QQQQMB
QMQC
第 6 章 时序电路的分析与设计由 T触发器的特征方程 ( Qn+1=T Q) 和其激励函数可求得各触发器的状态方程 。 但由 T触发器的特征表已知:当
T=1时,触发器发生状态转换;当 T=0时,触发器保持原状态,因此,根据 Ti及 Qi的取值可直接求得 。 由此,可得到该电路有效状态的转移情况如表 6-9所示 。 根据表 6-9
可画出有效状态转移图如图 6-23所示 。 当 M=1,初始状态为全 0时的工作波形如图 6-24所示 。 该电路具有多余状态,
对多余状态的检查如表 6-10所示,不难看出该电路具有自启动特性 。
1?niQ
第 6 章 时序电路的分析与设计表 6-9 同步十进制可逆计数器状态表一(有效状态 )
第 6 章 时序电路的分析与设计 续表第 6 章 时序电路的分析与设计图 6-23 同步十进制可逆计数器状态图
1 20 3 4
9 8 7 6 5
1 / 1 0 / 1
0 / 0
0 / 0
1 / 0 1 / 0 1 / 0 1 / 0
0 / 0 0 / 0 0 / 0
0 / 0
0 / 0 1 / 0
0 / 0 0 / 0
1 / 01 / 01 / 01 / 0
第 6 章 时序电路的分析与设计图 6-24 可逆计数器 M=1时的波形图
1
CP
Q
3
Q
2
Q
1
Q
0
2 3 4 5 6 7 8 9 10
C
第 6 章 时序电路的分析与设计表 6-10 同步十进制可逆计数器状态表二(无效状态 )
第 6 章 时序电路的分析与设计
3,
图 6-25
(a) 逻辑电路图; (b) 状态图; (c) 工作波形图
FF
0
1 J
C 1
1 K
Q
0
C 1
Q
1
1 J
1 K
& & & &
FF
1
W
0
W
1
W
2
W
3
( a )
0 0 / 1 0 0 0
0 1 / 0 0 0 1
1 0 / 0 1 0 0
1 1 / 0 0 1 0
Q
0
Q
1
/ W
0
W
1
W
2
W
3
( b )
1
CP
W
1
W
0
Q
1
Q
0
2 3 4 5 6 7 8
W
2
W
3
( c )
CP
第 6 章 时序电路的分析与设计由电路可写出输出函数和激励函数为
01011010
103102101100
,,,
,,,
QKQJQKQJ
QQWQQWQQWQQW
结合 JK触发器的特征方程,可得新状态方程:
QKQJQ n 1
0101011110
1010100000
1
1
QQQQQQKQJQ
QQQQQQKQJQ
n
n
第 6 章 时序电路的分析与设计由输出函数和新状态方程可得状态转换表如表 6-11,
状态转换图和工作波形分别如图 6-25( b),( c) 所示 。
由工作波形图可清楚地看到,电路在时钟脉冲的作用下,
按一定顺序轮流地输出脉冲信号 。 由于电路能在时钟脉冲作用下将脉冲信号按顺序分配到各个输出端,故称其为脉冲分配器 。
第 6 章 时序电路的分析与设计表 6-11 脉冲分配器状态表第 6 章 时序电路的分析与设计
4,序列信号发生器图 6-26(a) 所示为序列信号发生器的逻辑电路图 。 由图可见,该电路由三个 D触发器构成的移位寄存器和与非门构成的组合电路组成 。 由电路可写出其输出函数和激励函数分别为
12012121100
2
,,QDQDQQQQQQD
QZ
结合 D触发器的特征方程 Qn+1=D,可得新状态方程:
11201121211010,,QDQQQQQQQQD nnn
第 6 章 时序电路的分析与设计图 6-26
(a) 逻辑电路图; (b) 状态图; (c)
&
&
&
&
1 D
C 1
1 D
C 1
1 D
C 1
FF
1
FF
2
FF
0
CP
Q
0
Q
1
Q
2
( a )
0 0 0 /
0
1 0 0 /
0
0 1 0 /
0
1 0 1 /
1
1 1 0 /
0
0 0 1 /
1
0 1 1 /
1
1 1 1 /
1
Q
0
Q
1
Q
2
/ Z
( b )
1
CP
Q
2
Q
1
Q
0
D
0
2 3 4 5 6 7 8
( c )
1 1 10 0 0 1 0
1001 1 11 0
10 0 001 1 1
0 01 1 1100
Z
第 6 章 时序电路的分析与设计表 6-12 序列信号发生器的状态表第 6 章 时序电路的分析与设计
6.3 异步时序电路的分析方法图 6-27 异步十进制加法计数器
1 J
C 1
1 K
1 J
C 1
1 K
1 J
C 1
1 K
&
FF
3
FF
1
CP
0
C1 J
C 1
1 K
FF
0
&
FF
2
Q
2
Q
0
Q
3Q
1
CP
1
CP
2
CP
3
第 6 章 时序电路的分析与设计由电路可写出其输出函数和激励函数为
1,
1
1,
1
3123
22
131
00
03
KQQJ
KJ
KQJ
KJ
QQC
结合 JK触发器的特征方程,可得新状态方程:QKQJQ n 1
3321
1
3
22
1
2
113
1
1
00
1
0
CPQQQQ
CPQQ
CPQQQ
CPQQ
n
n
n
n
第 6 章 时序电路的分析与设计式中的 CPi表示时钟信号,它不是一个逻辑变量 。 对下降沿动作的触发器而言,CPi=1仅表示输入端有下降沿到达;
对上升沿动作的触发器而言,CPi=1仅表示输入端有上升沿到达 ; CPi=0表示没有时钟信号有效沿到达,触发器保持原状态不变 。 该电路的状态表 ( 表 6-13) 须逐步完成,因为该状态表是针对 CP0而列,CP0仅加到 FF0。 因此,首先求出 FF0的状态转换关系,从而就获得了 CP1( CP3) 的变化情况;再求出 FF1和 FF3的状态转换关系,也获得了 CP2
的变化情况;最后求出 FF2的状态转换关系 。
第 6 章 时序电路的分析与设计例如,当 Q3Q2Q1Q0=0111时,CP0到达(下降沿),
CP1(CP3)产生下降沿,可求得,,此时
CP2也产生下降沿,因而可求出 。这样,当
Q3Q2Q1Q0=0111,CP0到达后,新状态为 Q3Q2Q1Q0=1000。
由状态表 6-13可画出脉冲异步十进制加法计数器的状态图如图 6-28所示。由状态图可以看出,该电路是一个十进制加法计数器,并具有自启动能力。图 6-29为该电路的工作波形图,
图中标出了第八个时钟脉冲到达后,各触发器的状态转换过程。
010nQ
010nQ 013nQ
012nQ
第 6 章 时序电路的分析与设计第 6 章 时序电路的分析与设计图 6-28 异步十进制加法计数器状态图
1 1 1 0 / 0 1 1 1 1 / 1 0 0 0 0 / 0 0 0 0 1 / 0 0 0 1 0 / 0 0 0 1 1 / 0
1 0 0 1 / 1
1 0 0 0 / 0 0 1 1 1 / 0 0 1 1 0 / 0 0 1 0 1 / 0
0 1 0 0 / 0
1 0 1 1 / 1 1 0 1 0 / 0
1 1 0 1 / 1 1 1 0 0 / 0
第 6 章 时序电路的分析与设计图 6-29 脉冲异步十进制加法计数器工作波形图
1
CP
0
Q
3
Q
2
Q
1
Q
0
2 3 4 5 6 7 8 9 10
C
第 6 章 时序电路的分析与设计
6.4 同步时序电路的设计方法图 6-30 同步时序电路设计过程设计要求原始状态图
( 状态表)
最简状态图
( 状态表)
二进制状态表输出函数激励函数逻辑电路图状态简化状态分配触发器选型自启动检查第 6 章 时序电路的分析与设计
6.4.1 建立原始状态图和状态表根据设计命题要求初步画出的状态图和状态表,称为原始状态图和原始状态表,它们可能包含多余状态 。 从文字描述的命题到原始状态图的建立往往没有明显的规律可循,因此,在时序电路设计中这是较关键的一步 。 画原始状态图,列原始状态表一般按下列步骤进行:
① 分析题意,确定输入,输出变量 。
② 设置状态 。 首先确定有多少种信息需要记忆,然后对每一种需要记忆的信息设置一个状态并用字母表示 。
③ 确定状态之间的转换关系,画出原始状态图,列出原始状态表。
第 6 章 时序电路的分析与设计
【 例 6-3】 建立,111”序列检测器的原始状态图和原始状态表 。
该电路的功能是当连续输入三个或三个以上,1”时,
电路输出为 1,否则输出为 0。
解:
① 确定输入变量和输出变量 。
设该电路的输入变量为 X,代表输入串行序列,输出变量为 Z,表示检测结果 。 根据设计命题的要求,可分析出输入 X和输出 Z之间的关系为
X 011011111011
Z 000000111000
第 6 章 时序电路的分析与设计
② 设置状态 。
状态是指需要记忆的信息或事件,由于状态编码还没有确定,所以它用字母或符号来表示 。 分析题意可知,该电路必须记住以下几件事:收到了一个 1;连续收到了两个 1;连续收到了三个 1。 因此,加上初始状态,共需四个状态,并规定如下:
S0,初始状态,表示电路还没有收到一个有效的 1。
S1,表示电路收到了一个 1的状态 。
S2,表示电路收到了连续两个 1的状态 。
S3,表示电路收到了连续三个 1的状态。
第 6 章 时序电路的分析与设计
③ 画状态图,列状态表 。
以每一个状态作为现态,分析在各种输入条件下电路应转向的新状态和输出 。 该电路有一个输入变量 X,因此,每个状态都有两条转移线,画状态图时应先从初始状态 S0出发当电路处于 S0状态时,若输入 X=0,则输出 Z=0,电路保持 S0
状态不变,表示还未收到过 1;若输入 X=1,电路应记住输入了一个 1,因此,电路应转向新状态 S1,输出 Z=0。 当电路处于 S1状态时,若输入 X=0,则输出 Z=0,电路回到 S0状态重新开始;若输入 X=1,电路应记住连续输入了两个 1因此,
电路应转向新状态 S2,输出 Z=0。 以此类推,可以画出完整的状态图如图 6-31所示,并可作状态表如表 6-14所示 。
第 6 章 时序电路的分析与设计图 6-31 例 6-3Mealy型原始状态图
S 0
0 / 0
S 1 S 2 S 3
0 / 0
1 / 0 1 / 0 1 / 1
0 / 0 0 / 0 X / Z
1 / 1
第 6 章 时序电路的分析与设计表 6-14 例 6-3Mealy型原始状态表第 6 章 时序电路的分析与设计当电路处于 S0状态时,表示电路还没有收到一个有效的 1,
则输出 Z=0;若输入 X=0,则电路保持 S0状态不变;若输入 X=1,
电路应记住输入了一个 1,电路应转向新状态 S1。 当电路处于
S1状态时,表示电路收到了一个 1,则输出 Z=0;若输入 X=0,
电路回到 S0状态重新开始;若输入 X=1,电路应记住连续输入了两个 1,因此,电路应转向新状态 S2。 当电路处于 S2状态时,
表示电路收到了两个 1,则输出 Z=0;若输入 X=0,电路回到 S0
状态重新开始;若输入 X=1,电路应记住连续输入了三个 1,
因此,电路应转向新状态 S3。 当电路处于 S3状态时,表示电路收到了三个 1,则输出 Z=1;若输入 X=0,电路回到 S0状态重新开始;若输入 X=1,根据题意,电路可保持原状态 S3不变即可 。
这样,就可以得到 Moore型结构的原始状态图如图 6-32所示,
并可作状态表如表 6-15所示 。
第 6 章 时序电路的分析与设计表 6-15 例 6-3 Moore型原始状态表第 6 章 时序电路的分析与设计图 6-32 例 6-3Moore型原始状态图
S 0 / 0
0
0
1 1 1
0 0 X =1
S 1 / 0 S 2 / 0 S 3 / 1 S i / Z
第 6 章 时序电路的分析与设计
【 例 6-4】 建立一个余 3码误码检测器的原始状态图和原始状态表 。
余 3码高位在前,低位在后串行地加到检测器的输入端 。
电路每接收一组代码,即在收到第四位代码时判断一下 。
若是错误代码,则输出为 1,否则输出为 0,电路又回到初始状态并开始接收下一组代码 。
解:
① 确定输入变量和输出变量 。
输入变量 X为串行输入余 3码,高位在前,低位在后;
输出变量 Z为误码输出。
第 6 章 时序电路的分析与设计
② 设置状态 。
该电路属于串行码组检测,对输入序列每四位一组进行检测后才复位,以表示前一组代码已检测结束并准备下一组代码的检测,因此,初始状态表示电路准备开始检测一组代码 。 本命题的状态图采用树形结构,从初始状态开始,每接收一位代码便设置一个状态 。 例如,电路处于初始状态 S0,收到余 3码的第一位 ( 最高位 ),代码可能是 1,也可能是 0。 若为 0,状态转到 S1分支;若为 1,状态转到 S2分支 。 当电路分别处于 S1或
S2状态时,表示电路将接收第二位代码,当第二位代码到达,
由 S1派生出 S3和 S4分支,由 S2派生出 S9和 S10分支 。 若电路处于
S5,表示已收到了输入序列的高三位 ( 余 3码的高三位 ) 为 000,
因而,不论收到第四位数码是 0还是 1,均应回到 S0状态 ( 一组代码检测结束 ),且输出 Z=1,表示收到的是错误代码 。
第 6 章 时序电路的分析与设计图 6-33 例 6-4 原始状态图
S
0
S
4
S
8
S
7
S
6
S
5
S
1
S
3
0 / 1
1 / 1
0 / 1
1 / 0
0 / 0
1 / 0
0 / 0
1 / 0
0 / 0
1 / 00 / 0
1 / 0
0 / 0 1 / 0
S
10
S
14
S
13
S
12
S
11
S
2
S
9
0 / 0
1 / 0
0 / 0
1 / 0
0 / 0
1 / 1
0 / 1
1 / 1
0 / 0
1 / 00 / 0
1 / 0
0 / 0 1 / 0
S
i
X / Z
0 / 0 1 / 0
第 6 章 时序电路的分析与设计
6.4.2 状态化简在建立原始状态图和原始状态表时,将重点放在正确地反映设计要求上,因而往往可能会多设置一些状态,
但状态数目的多少将直接影响到所需触发器的个数 。 对于具有 M个状态的时序电路来说,所需触发器的个数 n由下式决定:
nn M 22 1
可见,状态数目减少会使触发器的数目减少并简化电路 。
因此,状态简化的目的就是要消去多余状态,以得到最简状态图和最简状态表 。
第 6 章 时序电路的分析与设计
1,状态的等价设 Si和 Sj是原始状态表中的两个状态,若分别以 Si和
Sj为初始状态,加入任意的输入序列,电路均产生相同的输出序列,即两个状态的转移效果相同,则称 Si和 Sj是等价状态或等价状态对,记作 [ SiSj] 。 凡是相互等价的状态都可以合并成一个状态 。
第 6 章 时序电路的分析与设计在状态表中判断两个状态是否等价的具体条件如下:
第一,在相同的输入条件下都有相同的输出 。
第二,在相同的输入条件下次态也等价 。 这可能有三种情况:
① 次态相同 ;
② 次态交错 ;
③ 次态互为隐含条件。
第 6 章 时序电路的分析与设计表 6-16 原始状态表第 6 章 时序电路的分析与设计例如,在表 6-16 所示的原始状态表中,对于状态 S2和 S5,
当输入 X=0时,输出相同 ( 输出都为 1),次态也相同 ( 次态都为 S5) ;当输入 X=1时,输出相同 ( 输出都为 0),次态也相同
( 次态都为 S3) 。 即可以确定,若分别以 S2和 S5为初始状态,
加入任意的输入序列,电路均产生相同的输出序列 。 因此,状态 S2和 S5为等价状态,记作 [ S2S5] 。
再看 S6和 S7 两个状态 。 当输入 X=1时,输出相同,次态也相同;当输入 X=0时,次态交错 。 这说明无论以 S6还是以 S7为初始状态,在接收到输入 1以前将不断地在 S6和 S7之间相互转换,
且保持输出为 1;一旦收到了输入 1,则都转向 S5。 因此,从转移效果来看它们是相同的,这两个状态等价,记作 [ S6S7]
第 6 章 时序电路的分析与设计对于 S1和 S3这两个状态,当输入 X=1时,输出相同,
次态交错;当输入 X=0时,输出相同,次态分别是 S2和 S4,
而 S2和 S4是否等价的隐含条件是 S1和 S3等价,这就是互为隐含条件的情况,其转移效果也是相同的,所以 S1和 S3
等价,S2和 S4也等价,记作 [ S1S3],[ S2S4] 。
第 6 章 时序电路的分析与设计等价状态具有传递性:若 Si和 Sj等价,Si和 Sk等价,则 Sj
和 Sk也等价,记作 [ SjSk] 。 相互等价状态的集合称为等价类,凡不被其它等价类所包含的等价类称为最大等价类 。
例如,根据等价状态的传递性可知,若有 [ SiSj] 和
[ SiSk],则有 [ SjSk],它们都称为等价类,而只有
[ SiSjSk] 才是最大等价类 。 另外,在状态表中,若某一状态和其它状态都不等价,则其本身就是一个最大等价类 。
状态表的化简,实际就是寻找所有最大等价类,并将最大等价类合并,最后得到最简状态表 。 所以,表 6-16中所有最大等价类为 [ S1S3] [ S2S4S5] [ S6S7],化简后的状态表如表 6-17所示 。
第 6 章 时序电路的分析与设计表 6-17 最简状态表第 6 章 时序电路的分析与设计表 6-18 原始状态表第 6 章 时序电路的分析与设计
2,隐含表化简
1)
隐含表格是一种两项比较的直角三角形表格,对于表 6
18的原始状态表其隐含表如图 6-34( a) 所示 。 隐含表的纵坐标为 B,C,D,E,F,G六个状态 ( 缺头 ),横坐标为 A、
B,C,D,E,F六个状态 ( 少尾 ),表中的每一个小格用来表示一个状态对的等价比较情况 。 这种表格能保证每两个状态进行比较,而且可以逐步确定所有的等价状态,使用方便 。
第 6 章 时序电路的分析与设计
2)
对原始状态表中的每一对状态逐一比较,结果有三种情况:
① 状态对肯定不等价,在小格内填 × 。
② 状态对肯定等价,。
③ 状态是否等价取决于隐含条件的,则把隐含状态对填入,需作进一步比较 。
按上述规则将表 6 18顺序比较后,所得的隐含表如图 6-
34( b)所示。
第 6 章 时序电路的分析与设计图 6-34 隐含表简化状态
B
C
D
E
F
G
A B C D E F
( a )
CF
×
×
×
×
×
×
×
×
×
×
√
×
×
× ×
× ×
B
C
D
E
F
G
A B C D E F
( b )
BE
CF
AE
CD
DE
×
×
×
×
×
×
×
×
×
×
√
×
×
× ×
× ×
B
C
D
E
F
G
A B C D E F
( c )
√
√√
×
第 6 章 时序电路的分析与设计
3) 关连比较 ——对顺序比较中需要进一步比较的状态对进行比较从图 6-34( b) 可见,顺序比较后只有 C和 F已确定是等价状态对,记为 [ CF] 。 但 AB,AE,BE,DG是否为等价状态对还需要检查其隐含状态对,其余状态均不等价 。
状态 A和 B是否等价决定于隐含状态对 C,F。 因为 C,F
为等价,所以状态 A和 B为等价状态对,记为 [ AB] 。
状态 A和 E是否等价决定于隐含状态对 B,E,而状态 B和 E是否等价决定于隐含状态对 C,F和 A,E,而已有 [ CF],故又回到了自身,所以有 [ AE] 和 [ BE] 。
状态 D和 G是否等价决定于隐含状态对 C,D 和 D,E,
而状态对 C,D 和 D,E不等价,所以状态 D和 G不等价 。
第 6 章 时序电路的分析与设计
4)
根据以上求得的全部等价状态对,可求得该状态表的最大等价类为 [ ABE],[ CF],[ D] 和 [ G] 。
5)
从每一个最大等价类中选出一个为代表,现分别从最大等价类 [ ABE],[ CF],[ D] 和 [ G] 中选出 A,
C,D 和 G,作为简化后的四个状态,最后可作出最简状态表如表 6 - 19所示 。
第 6 章 时序电路的分析与设计表 6-19 最简状态表第 6 章 时序电路的分析与设计
6.4.3 状态分配状态分配是指将状态表中每一个字符表示的状态赋以适当的二进制代码,得到代码形式的状态表 ( 二进制状态表 ),以便求出激励函数和输出函数,最后完成时序电路的设计 。 状态分配合适与否,虽然不影响触发器的级数,但对所设计的时序电路的复杂程度有一定的影响 。 然而,要得到最佳分配方案是很困难的 。 这首先是因为编码的方案太多,如果触发器的个数为 n,实际状态数为 M,则一共有 2n种不同代码 。 若要将 2n种代码分配到 M个状态中去,并考虑到一些实际情况,有效的分配方案数为
!)!2(
)!12(
nMN n
n
第 6 章 时序电路的分析与设计可见,当 M增大时,N值将急剧增加,要寻找一个最佳方案很困难 。 此外,虽然人们已提出了许多算法,但也都还不成熟,因此在理论上这个问题还没解决 。
在众多算法中,相邻法比较直观,简单,便于采用 。 它有三条原则,即符合下列条件的状态应尽可能分配相邻的二进制代码:
① 具有相同次态的现态 。
② 同一现态下的次态 。
③ 具有相同输出的现态 。
三条原则以第一条为主,兼顾第二,第三条。
第 6 章 时序电路的分析与设计
【 例 6-5】 试对表 6-20所示的状态表进行状态分配 。
解,从表 6-20状态表可见,它有四个状态 S1,S2,S3、
S4,故电路使用两个触发器,即需要两个状态变量 Q1,Q0
进行编码 。 为方便起见,通常用卡诺图来表示分配结果 。
按原则一,S1S2,S2S3应分配相邻代码 。
按原则二,S1S3,S1S4,S2S3应分配相邻代码 。
按原则三,S2S3应分配相邻代码 。
根据三条原则,将状态分配方案填入图 6-35的卡诺图中,
它仅未满足 S1S3相邻 。 所以,分配结果为 S1 =00,S2=01,
S3=11,S4=10。 最后可得到二进制状态表如表 6-21所示 。
第 6 章 时序电路的分析与设计表 6-20 例 6-5 状态表 表 6-21 例 6-5二进制状态表第 6 章 时序电路的分析与设计图 6-35 例 6-5 编码表
S
1
Q
1
Q
0
0 1
0
1
S
2
S
3
S
4
第 6 章 时序电路的分析与设计
6.4.4 同步时序电路的设计举例
【 例 6-6】 试用 JK触发器完成,111”序列检测器的设计 。
表 6-22 状态表第 6 章 时序电路的分析与设计
① 状态化简 。
由表 6-22( a) 原始状态表用直接观测法可知,S2,S3为等价状态对,简化后可得如表 6-22( b) 最简状态表 。
② 状态分配 。
该时序电路共有三个状态,采用两个 JK触发器,状态变量为 Q1,Q0。
按原则一,S1S2相邻;按原则二,S0S1和 S0S2相邻; 按原则三,S0S1相邻 。 综合考虑后分配 S0S1和 S1S2相邻,这样就不能兼顾 S0S2相邻,状态分配编码表如图 6-36所示 。 最后状态分配为 S0=00,S1=10,S2=11。 状态分配后得到如表 6-22( c)
二进制状态表,它是一个非完全描述时序电路的设计 。
第 6 章 时序电路的分析与设计
S
0
Q
1
Q
0
0 1
0
1
图 6 - 3 6
S
1
S
2
第 6 章 时序电路的分析与设计
③ 确定激励函数和输出函数 。
根据状态表填写次态和输出函数卡诺图,从而求得次态和输出方程组,然后将各状态方程与所选用的触发器的特征方程对比,便可求出激励函数 。 这种方法称为状态方程法 。
当选用 JK触发器时,为了使状态方程与触发器的特征方程便于对比,尽可能将状态方程写成 的形式,因此,必须将次态卡诺图按现态 Qi=1和 Qi=0分成两个子卡诺图,然后分别在子卡诺图中画圈简化,这样就可方便地求得 Qi和 Qi的系数 Ji和 。
iK
iiiini QKQJQ 1
第 6 章 时序电路的分析与设计图 6-37 例 6- 6 次态与输出卡诺图
ZcQbQa nn )(;)(;)( 1011
×
Q
1
Q
0
X
0 1
00
01
1
0 1
×
0
0 1
( a )
11
10
×
Q
1
Q
0
X
0 1
00
01
0
0 1
×
0
0 1
( b )
11
10
×
Q
1
Q
0
X
0 1
00
01
0
0 0
×
0
0 1
( c )
11
10
第 6 章 时序电路的分析与设计在图 6-37(a),(b)中,粗虚线将卡诺图按 Qi=1和 Qi=0划分为两个子卡诺图,化简后得
001
1
0
11
1
1
XQQXQQ
XQQXQ
n
n
最后的激励函数和输出函数为
0
010
11
,
,
XQZ
XKXQJ
XKXJ
第 6 章 时序电路的分析与设计
④ 自启动检查。
图 6-38 例 6-6 状态图
00 10
1101
1 / 1
0 / 0
1 / 0
X / Z
Q
1
Q
0
0 / 0
0 / 0
1 / 1
0 / 0
1 / 0
第 6 章 时序电路的分析与设计表 6-23 完全状态表第 6 章 时序电路的分析与设计
⑤ 根据以上方程,画出,111”序列检测器的逻辑图如图 6-39所示。
图 6-39,111”序列检测器逻辑图
1 J
C 1
1 K
1 J
C 1
1 K
&
FF
0
Z
&
FF
1
Q
1
Q
0
1
CP
X
第 6 章 时序电路的分析与设计
【 例 6-7】 用 JK触发器设计一个五进制同步计数器,
000 001 011 101 110
解,本例属于给定状态时序电路设计问题 。
① 列状态表 。
根据题意,该时序电路有三个状态变量,设状态变量为 Q2,Q1,Q0,可作出二进制状态表如表 6 24所示,它是一个非完全描述时序电路的设计 。
第 6 章 时序电路的分析与设计表 6-24 例 6-7 状态表一第 6 章 时序电路的分析与设计图 6-40 表 6-24 次态卡诺图
101112 )(;)(;)( nnn QcQbQa
② 确定激励函数和输出函数。
×0×
1 ×
0
Q
2
Q
1
Q
0
00 01 11 10
0
1 0 1
( a )
0×
0 ×
0
Q
2
Q
1
Q
0
00 01 11 10
0
1 1 1
( b )
×0×
1 ×
1
Q
2
Q
1
Q
0
00 01 11 10
0
1 1 0
( c )
×
第 6 章 时序电路的分析与设计由次态卡诺图求出其状态方程和激励函数如下:
20200202
1
0
10110
1
1
12122121
1
2
,,
1,,
,,
QKQJQQQQQ
KQJQQQ
QKQJQQQQQ
n
n
n
③ 自启动检查 。
根据以上状态方程,检查多余状态的转移情况如表 6-25
所示,其完整的状态图如图 6-41所示 。
第 6 章 时序电路的分析与设计表 6-25 多余状态转移表第 6 章 时序电路的分析与设计图 6-41 例 6-7 状态图
1 1 1
0 0 11 1 0
0 1 11 0 10 1 0
Q
2
Q
1
Q
0
1 0 00 0 0
第 6 章 时序电路的分析与设计从图 6-41可以看出,该电路一旦进入状态 100,就不能进入计数主循环,因而该电路不能实现自启动,需要修改设计 。
在非完全描述时序电路中,由于存在无效状态,使得在激励函数的获取过程中出现了任意项 。 在求取激励函数时,如果某任意项被圈入,则该任意项被确认为 1,否则被确认为 0。 由于圈法的随意性,故无效状态的转移可能出现死循环而使电路不能自启动 。 当电路不能自启动时,
解决的方法有多种 。
第 6 章 时序电路的分析与设计第一种方法,将原来的非完全描述时序电路中没有描述的状态的转移情况加以定义,使其成为完全描述时序电路 。
如将表 6-24状态表中的无效状态的转移方向均定义为 000,则可得到一个完全描述时序电路的状态表如表 6-26。 显然,按照表 6-26设计的时序电路,不存在死循环问题,因为它是完全描述的 。 这种方法由于失去了任意项,会增加电路的复杂程度 。
表 6-26 例 6-7 状态表二第 6 章 时序电路的分析与设计第二种方法,改变原来的圈法 。 如果盲目地改变所有激励函数的圈法,则其工作量大,效果差 。 若在分析观察的基础上改变某激励函数的圈法,则能获得较满意的效果 。 观察
6-40 次态卡诺图,如果希望能尽量使用任意项,只能对
(a)和 (c)的圈法作修改 。 现对 (c)的圈法作修改,它仅改变 Q0
的转移,新的圈法如图 6 - 42所示 。
分析新圈法可知:状态 010将转移到 100( 原转移到 101,
现在最后一位 Q0转为 0),状态 100将转移到 101( 原转移到
100,现最后一位 Q0转为 1) 。 由分析可以看出,新圈法将克服死循环,也不增加激励函数的复杂程度 。
第 6 章 时序电路的分析与设计图 6-42 修整后圈法由新圈法得
2010
0201
1
0
,QKQJ
QQQQQ n
×0×
1 ×
1
Q
2
Q
1
Q
0
00 01 11 10
0
1 1 0
( c ) Q
n +1
0
第 6 章 时序电路的分析与设计表 6-27 多余状态转移表重新检查多余状态的转移情况如表 6-27所示,其状态图如图 6-43所示,可以看到该电路具有自启动能力 。 如果修改
6- 40(a)的圈法,可以得到同样的效果 。
第 6 章 时序电路的分析与设计
1 1 1
0 0 11 1 0
0 1 11 0 11 0 0
Q
2
Q
1
Q
0
0 0 0
图 6 - 4 3
0 1 0
第 6 章 时序电路的分析与设计
④ 画逻辑图。
图 6-44 例 6-7 逻辑图
1 J
C 1
1 J
C 1
FF
1
FF
0
1 J
C 1
FF
2
CP
Q
0
Q
2
1 K 1 K 1 K
Q
1
第 6 章 时序电路的分析与设计
【 例 6-8 】 用 D触发器设计一个模七同步加法计数器 。
解,本例属于给定状态时序电路设计问题 。
① 列状态表 。
根据题意,该时序电路有三个状态变量 。 设状态变量为 Q2,Q1,Q0,可作出二进制状态表如表 6-28所示,它是一个非完全描述时序电路的设计 。
② 确定激励函数和输出函数 。
由表 6-28状态表分别画出 Q2,Q1,Q0的次态卡诺图如图 6- 45(a),(b),(c)所示 。
第 6 章 时序电路的分析与设计表 6-28 例 6-8 状态表第 6 章 时序电路的分析与设计图 6-45 例 6-8 次态卡诺图
101112 )(;)(;)( nnn QcQbQa
0
00
1 ×
0
Q
2
Q
1
Q
0
00 01 11 10
0
1 0
1
1
( a )
01
0 ×
0
Q
2
Q
1
Q
0
00 01 11 10
0
1 1 1
( b )
101
0 ×
1
Q
2
Q
1
Q
0
00 01 11 10
0
1 0 0
( c )
第 6 章 时序电路的分析与设计当使用 D触发器实现时序电路时,由于 D触发器的特征方程为 Qn+1=D,因此,可从次态卡诺图直接求出 D触发器的激励函数:
01020
010121
12012
QQQQD
QQQQQD
QQQQD
第 6 章 时序电路的分析与设计
③ 自启动检查 。
观察次态卡诺图激励函数的圈法,多余状态 111的新状态为 100,电路的状态图如图 6-46所示,该电路具有自启动能力 。
图 6-46 例 6-8 状态图
0 0 0 0 0 1 0 1 10 1 0 1 0 0 1 0 1 1 1 0
1 1 1Q
2
Q
1
Q
0
第 6 章 时序电路的分析与设计
④ 画逻辑图。
图 6-47 例 6-8 逻辑图
FF
0
FF
1
FF
2
1 D
C 1
& ≥1 1 D
C 1
& ≥1 1 D
C 1
& ≥1
CP
Q
0
Q
1