1
第六章 异步时序逻辑电路
同步时序逻辑电路采用时钟脉冲对电路进行控制,由时钟脉冲决定
电路状态的转换。
异步时序逻辑电路不采用时钟脉冲控制,电路状态改变仅受输入信
号的控制。可分为脉冲异步时序逻辑电路和电平异步时序逻辑电路。
6,1 脉冲异步时序电路
引起触发器状态变换的脉冲信号由输入端直接提供,输入脉冲应满
足以下约束:
⑴ 输入脉冲宽度应保证触发器正常翻转
⑵ 输入脉冲间隔应保证后一个脉冲到来时,前一个脉冲引起的电
路变化结束。
⑶ 不允许两个或两个以上输入端同时出现脉冲
2
6,1,1 脉冲异步时序逻辑电路分析
用状态表、状态图、时间图为工具,分析步骤与同步电路相似。
例 1,分析异步时序逻辑电路图功能
解:电路由两个 J – K 触发器组成。输
出 Z 是输入和状态的函数,属于 Mealy 型。
⑴ 写出输出函数和激励函数表达式
⑵ 列出电路次态真值表
12yxyZ ?
xC1KJyC1KJ 1111222 ??????,,,
输入 现态 激励函数 次态
x y2 y1 J2 K2 C2 J1 K1 C1 y2(n+1) y1(n+1)
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
3
6,1,1 脉冲异步时序逻辑电路分析
J – K 触发器状态变化发生在时钟端负跳变时,在真值表中用,,
表示。 x = 0 时电路状态不变,因此在真值表中 x = 1。
⑶ 做出状态表和状态图
⑶⑷
现态 次态 y2(n+1) y1(n+1)
/Z
y2 y1 x = 1
0
0
1
1
0
1
0
1
0 1 / 0
1 0 / 0
1 1 / 0
0 0 / 1
0/0 0/0
00 01
x/Z 1/1 1/0
11 10
0/0 0/0
1/0
1/0
⑷ 画出时间图并说明电路
逻辑功能
分析表和图可知,电路为
模 4 加 1 计数器。当收到 4 个
输入脉冲时,产生进位脉冲。
x
y1
y2
Z
4
6,1,1 脉冲异步时序逻辑电路分析
例 2:分析异步时序逻辑电路图的功能
电路由两个 R – S
触发器组成。三个输入
端 x1,x2,x3,输出端
Z 是状态变量的函数,
属于 Moore 型。
⑴ 输出函数和激
励函数表达式为:
1212 yyyyZ ???
1221122311 yyxSyxyxxR ????,,
⑵ 根据激励函数表达式和 R – S 触发器功能表,可列出电路次态真
值表。 注意:三个输入中,每个时刻仅允许一个有脉冲(为 1) 。
122112 yyxSxS ??,
)( 1231232 yxxyxxR ????
5
6,1,1 脉冲异步时序逻辑电路分析
⑶ 根据真值表,可作出状态表和状态图。
假定电路状态转换发生在输入脉冲作用结束时,与脉冲后沿对齐。
输入 现态 激励函数 次态
x1 x2 x3 y2 y1 R2 S2 R1 S1 y2(n+1) y1(n+1)
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
6
6,1,1 脉冲异步时序逻辑电路分析
⑷ 画出时间图并说明电路逻辑功能,
现态 次态 y2(n+1) y1(n+1) 输出
y2 y1 x1 x2 x3 Z
0
0
1
1
0
1
0
1
10
10
10
10
00
00
11
00
00
00
00
01
0
1
0
0
x2,x3 x1
x1
00/0 10/0
x3
x2,x3 x1 x2 x1 x2
01/1 11/0
x3假定输入端 x1,x2,x3 出现
脉冲的顺序为,x1,x2,x1,x3、
x1, x2,x3, x1,x3,x2,根据
状态表和状态图作出时间图。
由状态图和时间图可知,当
3 个输入端依次顺序产生脉冲时,
输出一个, 1” 信号。
x1
x2
x3
y2
y1
Z
7
6,1,2 脉冲异步时序逻辑电路的设计
脉冲异步时序逻辑电路不采用统一时钟,设计步骤与同步时序逻辑
电路稍有差别。
电路设计时,应注意以下两点:
⑴ 不允许两个或两个以上输入同时为 1(出现脉冲),在形成状态
表或状态图时,只需考虑多个输入中仅有一个为 1 的情况。在确定激励
函数和输出函数时,可将多个输入同时为 1 情况,作为无关条件处理 。
Q Q(n+1) CP D
0 0 d 00 d
0 1 1 1
1 0 1 0
1 1 d 10 d
⑵ 当存储电路采用时钟
触发时,将时钟输入端作为
激励函数处理,可通过控制
输入端时钟脉冲的有无,控
制触发器翻转与否 。
根据这两点规定,4 种
常用触发器的激励表为:
激励表中,d 为任意。
Q Q(n+1) CP T
0 0 d 00 d
0 1 1 1
1 0 1 1
1 1 d 00 d
D 触发器激励表 T 触发器激励表
8
6,1,2 脉冲异步时序逻辑电路的设计
从表中可知,要求触发器状态不变时,有两种处理方法。一种是令
CP = d,输入端取相应值,另一种是令 CP = 0,输入端取任意值 。
例如,D 触发器 现态 Q = 0 时,当 D = 0 时无论 CP 为何值,或者当 CP =
0 时,无论 D 为何值,均可实现 Q(n+1) = 0,状态保持不变。
现态 Q = 1 时,当 D = 1 时无论 CP 为何值,或者当 CP = 0 时,无论 D 为
何值,均可实现 Q(n+1) = 1,状态保持不变。
Q Q(n+1) CP J K
0 0 d 0 d0 d d
0 1 1 1 d
1 0 1 d 1
1 1 d d 00 d d
Q Q(n+1) CP R S
0 0 d d 00 d d
0 1 1 0 1
1 0 1 1 0
1 1 d 0 d0 d d
J – K 触发器激励表 R – S 触发器激励表
9
6,1,2 脉冲异步时序逻辑电路的设计
例 1:用 T 触发器设计模 8 加 1 计数器,对输入端计数,收到第 8
个脉冲时,输出端 Z 产生进位输出脉冲。
解:模 8 计数器需采用三个触发器,状态变量用 y2,y1,y0 表示。
该电路为 Mealy 型,初态为 000。
⑴ 作出 状态表和状态图
⑵ 确定激励函数和输出函数
状态不变时,触发器 时钟端为 0,输入端任意;状态需改变时,触
发器时钟为 1,T 端为 1。由此可作出激励函数和输出函数真值表。
现态 次态 y2(n+1) y1(n+1) y0(n+1)
y2 y1 y0 x = 1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
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 / 0
0 0 0 / 1
000 001 010 011
111 110 101 100
x/Z
1/0 1/0 1/0
1/1 1/0
1/0 1/0 1/0
10
6,1,2 脉冲异步时序逻辑电路的设计
激励函数和输出函数真值表
根据上表,考虑 x = 0(无脉冲)时电路状态不变,可令各触发器时
钟端 Ci 为 0,各输入端 T 任意。可得激励函数和输出函数表达式:
⑶ 根据激励函数和输出函数表达式画出逻辑电路图
输入脉冲 现态 激励函数 输出
x y2 y1 y0 C2 T2 C1 T1 C0 T0 Z
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
d
d
d
1
d
d
d
1
0
1
0
1
0
1
0
1
d
1
d
1
d
1
d
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
012012001012 yyxyZ1TTTxCxyCyxyC ???????,,,,
11
6,1,2 脉冲异步时序逻辑电路的设计
例 2:用 D 触发器作为存
储元件,设计, x1 — x2 — x2
序列检测器。
电路有两个输入 x1, x2,
一个输出 Z。仅当 x1 输出一个
脉冲后 x2 连续输出两个脉冲,
输出 Z 由 0 变 1,x1 或 x2 再出
现脉冲则 Z 由 1 变 0。
输出时间图如下图。
解:该序列检测器仅与状
态有关,属于 Moore 型异步时
序电路。
x1
x2
Z
⑴ 作出原始状态图和状态表
设 初始状态为 A,表中用 x1 和 x2 分别表示 x1 和 x2 端有脉冲输入。
12
6,1,2 脉冲异步时序逻辑电路的设计
在状态 A,若接收的第一个脉冲为 x1,进入状态 B,若为 x2,停留
在状态 A,输出为 0。
在状态 B,若接收 x1,状态不变,若为 x2,进入状态 C,输出为 0 。
在状态 C,若接收 x1,返回状态 B,若为 x2,进入状态 D,输出为 1。
在状态 D,若接收 x1,返回状态 B,若为 x2,返回状态 A,输出为 0。
据此可作出状态表和状态图。
⑵ 状态编码
状态表中有 4 个状态,需采用两个触发器,用 y2,y1 表示 4 个状态。
现态 次态 输出x
1 x2 Z
A
B
C
D
B
B
B
B
A
C
D
A
0
0
0
1
x2 x1 x1
A/0 B/0
x2 x1 x1 x2
D/1 x2 C/0
13
6,1,2 脉冲异步时序逻辑电路的设计
状态编码方案可采用相邻编码法,其原则为:
⑴ 在相同输入条件下,具有相同次态的现态应尽可能分配相邻二
进制编码。
⑵ 在相邻输入条件下,同一现态的次态应尽可能分配相邻二进制
编码。
⑶ 输出完全相同的现态 应尽可能分配相邻二进制编码。
根据此原则,可设定编码方案及对应的二进制状态表。
编码方案 二进制状态表
状态 编码y
2 y1
A
B
C
D
0
1
0
1
0
0
1
1
现态 次态 y2(n+1) y1(n+1) 输出
y2 y1 x1 =1 x2 =1 Z
0
0
1
1
0
1
0
1
10
10
10
10
00
11
01
00
0
0
0
1
A B
C D
y2
y1
0
1
0 1
14
6,1,2 脉冲异步时序逻辑电路的设计
⑶ 确定激励函数和输出函数
假定次态和现态相同时,时钟端取值为 0,D 端取值任意;次态和
现态不同时,时钟端取值为 1,D 端取值与次态相同。
根据以上约定及二进制状态表,可作出激励函数和输出函数真值表。
激励函数和输出函数真值表
输入 现态 次态 激励函数 输出函数
x2 x1 y2 y1 y2(n+1) y2(n+1 C2 D2 C1 D1 Z
0 1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
d
d
0
1
0
1
d
0
d
0
0
0
0
1
1 0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
d
1
0
0
0
0
1
1
d
d
1
0
0
0
0
1
15
6,1,2 脉冲异步时序逻辑电路的设计
两个输入端同时为 0 时状态不变,不允许两个输入端同时为 1,因
此将两个输入端同时为 0 和两个输入端同时为 1 作为无关条件处理,可
得激励函数和输出函数卡诺图。
在 C2 的卡诺图中,将 x2,x1 同时为 1 作为无关条件处理,得到激
励函数表达式:
在 D2 的卡诺图中,将 x2,x1 同时为 0 和同时为 1 都作为无关条件
处理,得到激励函数表达式:
0 1 d 0
0 1 d 1
0 0 d 1
0 0 d 1
x2 x1 C2
y2 y1
00
01
11
10
00 01 11 10
d 1 d d
d 1 d 1
d d d 0
d d d 0
x2 x1 D2
y2 y1
00
01
11
10
00 01 11 10
2212212 yxyxyxC ???
22 yD ?
16
6,1,2 脉冲异步时序逻辑电路的设计
激励函数表达式:
在 D1 的卡诺图中,将 x2,x1 同时为 0
和同时为 1 都作为无关条件处理,得到激励
函数表达式:
在 Z 的卡诺图中,将 x2,x1 同时为 0 和
同时为 1 都作为无关条件处理,得到激励函
数表达式:
0 0 d 0
0 1 d 0
0 1 d 1
0 0 d 1
x2 x1 C1
y2 y1
00
01
11
10
00 01 11 10
d d d d
d 0 d d
d 0 d 0
d d d 1
x2 x1 D1
y2 y1
00
01
11
10
00 01 11 10
22111 yxyxC ??
d 0 d 0
d 0 d 0
d 1 d 1
d 0 d 0
x2 x1 Z
y2 y1
00
01
11
10
00 01 11 10
在 C1 的卡诺图中,将 x2,x1 同时为 1 作为无关条件处理,得到激
11 yD ?
12yyZ ?
17
6,1,2 脉冲异步时序逻辑电路的设计
⑷ 根据激励函数和输出函数表达式,画出逻辑电路图。
电路初态为 00( A 态)。根据时间图,第一个 x1 到来时,x1 和
经 G1 再经 G4 使 C2 产生跳变,触发器翻转,电路状态变为 10( B 态)。
第一个 x2 到来时,x2 与
y2 通过 G3 再经 G4 使 C2 产
生跳变,同时经 G6 使 C1 产
生跳变,两个触发器同时翻
转,电路状态变为 01( C
态)。
第二个 x1 到来时,x1
和 经 G1 再经 G4 使 C2 产
生跳变,同时 x1 和 y1 经 G5
再经 G6使 C1 产生跳变,两
个触发器同时翻转,电路状
态变为 10( B 态)。
2y
2y
18
6,1,2 脉冲异步时序逻辑电路的设计
第二个 x2 到来时,同样又将使电路状态变为 01( C 态)。
第三个 x2 到来时,与 y1 通过 G2 再经 G4 使 C2 产生跳变,高位触发
器翻转,电路状态变为 11( D 态)。 y2, y1 经 G7 输出,Z = 1。
第四个 x2 到来时,与 y2 通过 G3 再经 G4,G6 使 C2,C1 同时产生跳
变,两个触发器同时翻转,电路状态变为 00( A 态),使输出 Z = 0。
第三个 x1 到来时,同样又将使电路状态变为 10( B 态)
经以上分析可知,该电路为, x1 — x2 — x2” 序列检测器。当 x1 输
出一个脉冲后 x2 连续输出两个脉冲,输出 Z 由 0 变 1,x1 或 x2 再出现
脉冲则 Z 由 1 变 0。
19
6,2 电平异步时序逻辑电路
信号在短时间内发生两次变化称为脉冲,若高电平持续时间较长称
为电平,因此,电平是脉冲的一种特定形式。
6,2,1 电平异步时序逻辑电路的特点
1,电平异步时序逻辑电路的结构模型
电路同样由组合电路和存储电路组成,但存储电路是由反馈回路中
x1 Z1:,
xn 组合电路 Zm
yr … y1 Δ t1 Y1 … Yr
:
Δ tr
延迟
延迟
的延迟元件构成。延迟元件不采用
延迟线,而是利用组合电路本身固
有的分布延迟。
x1 ~ xn 为外部输入信号; Z1 ~
Zm 为外部输出信号; Y1 ~Yr为激励
状态; y1 ~ yr 为二次状态; Δ t1 ~
Δ tr 为反馈回路中的时间延迟。
20
6,2,1 电平异步时序逻辑电路的特点
电平异步时序逻辑电路结构模型特点:
⑴ 电路输出状态的改变是由输 入电位的变化直接引起。
⑵ 二次状态 y 是激励状态 Y 经 Δ t延迟 后的,重现”。
⑶ 输入信号的一次变化可能引起二次状态的多次变化。
2,输入信号的约束
输入信号的变化将引起输出和状态的变化,为保证电路可靠工作,
对输入信号做以下约束:
⑴ 不允许两个或两个以上信号同时变化
⑵ 电路进入稳定状态后才允许输入信号发生变化
3,流程表和总态图
使用流程表和总态图描述电路的工作过程和逻辑功能。
21
6,2,1 电平异步时序逻辑电路的特点
流程表用于反映电路输出信号、激励信号与电路输入信号、二次状
态之间关系。其格式为:
Meally 型流程表格式 Moore型流程表格式
流程表中的激励状态分为稳定状态(简称稳态)和非稳定状态(简
称非稳态),表中 与二次状态相同的激励状态为稳态(加圈),与二次
状态不相同的激励状态为非稳态 。
由于电平异步时序逻辑电路在输入信号作用下存在稳态和非稳态,
且在同一个输入信号作用下可能有多个稳态,因此除了流程表之外引入
总态和总态图概念。
二次状态 激励状态 / 输出输入 x
y Y / Z
二次状态 激励状态 输出输入 x
y Y Z
22
6,2,1 电平异步时序逻辑电路的特点
总态,电路输入和二次状态的组合,记作( x,y)。 在流程表中,
代表某个二次状态的行和代表某种输入取值的列的交叉点称为总态 。
当输入信号作 相邻变化 不引起电路状态变化时,在表内总态作水平
移动;当输入信号作相邻变化引起电路状态变化时,总态先作水平移动
至非稳态,再作垂直移动至稳态。
例:用与非门构成的 R – S 触发器为简单电平异步时序逻辑电路。
激励方程为:
R – S 触发器不允许两个输入同时为 1,其流程表为:
R – S 触发器状态表
yRSY ??
二次状态
y
激励状态 Y 输出
RS = 00 RS = 01 RS = 11 RS = 10
0
1
0
1
1
1
d
d
0
0
0
1
23
6,2,1 电平异步时序逻辑电路的特点
在触发器状态表中,共有 ( 00,0 ),
( 00,1 ), ( 01,1 ),(10,0) 四个稳态。
电路处于稳定状态 ( 00,0 ),输入 RS
由 00 变为 10 时,总态沿水平移动,到达
稳态 ( 10,0 ) ;输入 RS 由 00 变为 01 时,
( 00,0) / 0 ( 01,1) / 1
( 10,0) / 0 ( 00,1) / 1
R – S 触发器总态图
总态先作水平移动至非稳态 ( 01,0 ),此时激励状态由 0 变为 1,二次
状态也将由 0 变为 1,然后总态再作垂直移动,移动至稳态 ( 01,1 ) 。
要求输入信号作, 相邻变化,, 则 RS 值每次 变化仅允许一位发生
变化 。如允许 00→ 01,00→ 10,01→ 00,01→ 11,10→ 00,10→
11,11→ 01,11→ 10,不允许 00→ 11 或 01→ 10 。
按此规定,上例中若电路处于总态 ( 00,0 ),允许作 ( 00,0 ) →
( 01,1 ), ( 00,0 ) → ( 10,0 ) 移动;若电路处于总态 ( 01,1 ),允许
作 ( 01,1 ) → ( 00,1 ) 。
24
6,2,1 电平异步时序逻辑电路的特点
若电路处于总态 (00,1),允许作 (00,1) → ( 01,1 ),(00,1) →
(10,0);若电路处于总态 (10,0),允许作 (10,0) → ( 00,0) 。
总态 ( 01,1 ) 无法移动至 ( 00,0),这是因为 RS 由 01 变为 00 时,
二次状态不变,y 仍然为 1。同样,总态 (10,0) 无法移动至 ( 00,1),
这是因为 RS 由 10 变为 00 时,二次状态不变,y 仍然为 0。
6,2,2 电平异步时序逻辑电路分析
电路分析的步骤为:
⑴ 根据逻辑电路图写出激励函数和输出函数表达式
⑵ 作出流程表
⑶ 作出总态图或时间图
⑷ 说明电路逻辑功能
25
6,2,2 电平异步时序逻辑电路分析
例:分析以下电平异步时序逻辑电路
解:电路有两个外部输
入 x1,x2,两条反馈电路,
对应激励状态为 Y1,Y2,
二次状态为 y1,y2。外部输
出 Z 仅与状态有关,属于
Moore 型电路。
⑴ 输出函数和激励函
数表达式为:
⑵ 根据表达式,
可作出流程表。
12yyZ ?
1122122 yxxyxxY ??
1121 xyxY ??
二次状态 激励状态 Y2 Y1 输出
y2 y1 x2x1=00 x2x1=01 x2x1=11 x2x1=10 Z
0
0
1
1
0
1
1
0
00
00
00
00
01
01
01
01
01
01
11
11
10
01
01
10
0
0
1
0
26
6,2,2 电平异步时序逻辑电路分析
⑶ 作出总态图
为了直观描述电路
功能,还可作出时间响
应序列和时间图。假设
初态( x2x1,y2y1)为
( 01,01) / 0 ( 11,01) / 0
( 00,00) / 0 ( 10,01) / 0
( 10,10) / 0 ( 11,11) / 1
( 00,00),输入的变化序列为 00→ 10→ 11→ 01→ 00→ 01→ 11 → 10,
根据流程表可作出总态和输出响应序列。
时刻 ti,t0 t1 t2 t3 t4 t5 t6 t7
输入 x2x1, 00 10 11 01 00 01 11 10
总态,(00,00) (10,00)* (11,11) (01,11)* (00,00) (01,00)*
(x2x1,,y2y1) (10,10) (11,10)* (01,01) (00,01)* (01,01) (11,01) (10,01)
输出 Z,0 0 1 0 0 0 0 0
总态响应序列中加, *” 的总态为非稳定总态,表示总态转换时的
过渡拐点。
27
6,2,2 电平异步时序逻辑电路分析
t0 t1 t2 t3 t4 t5 t6 t7
x2
x1
y2
y1
Z
Δ t Δ t Δ t Δ t Δ t
⑷ 电路功能
从时间图上可看出,仅当 x2x1 输入序列为, 00 – 10 –11,时,输出
高电平信号,其他情况均输出低电平信号。因此该电路为, 00 – 10 –
11, 序列检测器。
28
6,2,3 电平异步时序逻辑电路的竞争
电平异步时序逻辑电路利用时间延迟实现记忆功能。时间延迟时间
的不同,可能产生竞争。若竞争的结果到达预定的稳态,称为非临界竞
争;若竞争的结果到达非预定的稳态,称为临界竞争。
例:某电平异步时序逻辑电路结构图和流程表为:
按两条反馈回路延迟时间的大小关系,讨论可能出现的竞争。
x1:
X2 组合电路Z
y1 Y1
y2 Y2
Δ t1
Δ t2
二次状态 激励状态 Y2 Y1 / 输出 Z
y2 y1 x2x1 = 00 x2x1 = 01 x2x1 = 11 x2x1 = 10
0
0
1
1
0
1
1
0
00 / 0
00 / 0
00 / 0
00 / 0
00 / 0
01 / 0
00 / 0
00 / 0
01 / 0
01 / 0
10 / 0
10 / 1
11 / 0
01 / 0
11 / 0
10 / 0
29
6,2,3 电平异步时序逻辑电路的竞争
⑴ 当电路处于稳态 ( 00,00 ),输入 x2x1 由 00 → 10 时,响应过程为:
① Δt2 =Δt1,二次状态 y2y1 同时响应激励状态变化,y2y1 将由 00 →
11。总态变化过程为 ( 00,00 )→( 10, 00 )→( 10, 11 )。 ( 10,00 ) 为
非稳态,起过渡作用,最终可达预定的稳态 ( 10,11 )。
② Δt2 < Δt1,二次状态 y2 对激励状态 Y2 的响应先于 y1 对激励状态
Y1 的响应,y2y1 将由 00 → 10 。总态变化过程为 ( 00,00 )→( 10,
00 )→( 10, 10 )。 ( 10,10 ) 为稳态,电路到达一个非预定稳态。
③ Δt2 > Δt1,二次状态 y2 对激励状态 Y2 的响应落后于 y1 对激励状
态 Y1 的响应,y2y1 将由 00 → 01 。总态变化过程为 ( 00,00 )→( 10,
00 )→( 10, 01 )。 ( 10,01 ) 为稳态,电路到达一个非预定稳态。
30
6,2,3 电平异步时序逻辑电路的竞争
此次输入信号的变化,因反馈延迟时间不同,使得 状态转移不可预
测,属于临界竞争 。
⑵ 当电路处于稳态 ( 10,11 ),输入 x2x1 由 10→ 00 时,响应过程为:
① Δt2 =Δt1,二次状态 y2y1 同时响应激励状态变化,y2y1 将由 11 →
00。总态变化过程为 ( 10,11 )→( 00, 11 )→( 00, 00 )。 ( 00,11 ) 为
非稳态,仅起过渡作用,最终可达预定的稳态 ( 00,00 )。
② Δt2 < Δt1,二次状态 y2 对激励状态 Y2 的响应先于 y1 对激励状态
Y1 的响应,y2y1 将由 11 → 01 。总态变化过程为 ( 10,11 )→( 00,
11 )→( 00, 01 ) →( 00, 00 ) 。 ( 00,11 ),( 00,01 ) 均为非稳态,起过
渡作用,最终可达预定的稳态 ( 00,00 )。
31
6,2,3 电平异步时序逻辑电路的竞争
③ Δt2 > Δt1,二次状态 y2 对激励状态 Y2 的响应落后于 y1 对激励状
态 Y1 的响应,y2y1 将由 11 → 10 。总态变化过程为 ( 10,11 )→( 00,
11 )→( 00, 10 ) →( 00, 00 ) 。 ( 00,11 ),( 00,10 ) 均为非稳态,起过
渡作用,最终可达预定的稳态 ( 00,00 )。
此次输入信号的变化,无论反馈延迟时间大小,都可到达预定状态,
状态转移可预测,属于非临界竞争 。
用流程表检查电路竞争的法则:
当从某一稳态出发,输入信号发生所允许的变化,引起两个或两个
以上激励状态发生变化时,由于反馈回路之间延迟时间的不同会使电路
产生竞争。
若输入信号变化所到达的列仅有一个稳态,则该竞争属于非临界竞
争;若输入信号变化所到达的列有两个或两个以上稳态,则该竞争属于
临界竞争 。
32
6,3 电平异步时序逻辑电路的设计
6,3,1 设计步骤
电平异步时序逻辑电路的设计步骤如下:
1,建立原始流程表
根据原始时间图或总态图形成流程表,建立过程如下:
⑴ 画出典型输入、输出时间图并设立相应状态
画时间图时应正确体现设计要求,满足不允许两个或两个以上输入
信号同时变化的约束条件,并尽可能反映输入信号在各种取值下允许发
生的变化。
⑵ 建立原始流程表
① 画出原始流程表,填入稳态和相应输出
② 填入非稳态并指定非稳态下的输出
③ 填入无关状态和无关输出
33
6,3,1 设计步骤
例:某逻辑电路有两个输入 x1 和 x2,一个输出 Z。输入输出关系为:
当 x1x2 = 00 时 Z = 0,此后 x1x2 = 01 或 x1x2 = 10 时 Z = 1;当 x1x2 = 11
时 Z = 1,此后 x1x2 = 01 或 x1x2 = 10 时 Z = 0。作出此电路流程表。
解,⑴ 画出典型输入、输出 时间图,并设立相应状态
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
x1
x2
Z
① ② ① ③ ④ ⑤ ④ ⑥ ① ② ④
图中,t0 为起始时刻,x1x2 = 00,Z = 0,用状态①表示。 t1 时刻,
x1x2 由 00→10, Z = 1,用状态②表示。 t2 时刻,x1x2 由 10→00, Z = 0,
与 t0 时刻相同,用状态①表示。 t3 时刻,x1x2 由 00→01, Z = 1,用状态
③表示。 t4 时刻,x1x2 由 01→11, Z = 1,用状态④表示。
34
6,3,1 设计步骤
t5 时刻,x1x2 由 11→10, Z = 0,用状态⑤表示。 t6 时刻,x1x2 由 10
→11, Z = 1,与 t4 相同,用状态④表示。 t7 时刻,x1x2 由 11→01, Z = 0,
用状态⑥表示。 t8 时刻,x1x2 由 01→00, Z = 0,与 t0 相同,用状态①表
示。 t9 时刻,x1x2 由 00→10, Z = 1,与 t1 相同,用状态②表示。 t10 时
刻,x1x2 由 10→11, Z = 1,与 t4 相同,用状态④表示。
⑵ 建立原始流程表
① 作原始流程表,
填入稳态和相应输出
时间图中标出 6
个稳态,将各稳态和
输出填入表内与二次
状态、输入取值对应
的行、列位置。
二次状态 激励状态 Y / 输出 Z
Y x1x2 =
00
x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
1 / 0
3 / 1
6 / 0
4 / 1
2 / 1
5 / 0
35
6,3,1 设计步骤
② 填入非稳态及
输出,完善流程表。
根据状态转移关
系和非稳态下输出法
则,在流程表中填入
非 稳态及输出。 非稳
态输出不变时直接填
数,变化时填 d。
③ 填入无关状态
和无关输出
对表中各稳态下
输入变化不允许到达
的列,填入无关状态
和输出, d”。
二次状态 激励状态 Y / 输出 Z
y x1x2 =
00
x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
1 / 0
1 / d
1 / d
1 / 0
1 / 0
3 / d
3 / 1
6 / d
6 / 0
4 / 1
4 / 1
4 / 1
4 / d
4 / d
2 / d
2 / 1
5 / d
5 / 0
二次状态 激励状态 Y / 输出 Z
y x1x2 =
00
x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
1 / 0
1 / d
1 / d
d /d
1 / 0
1 / 0
3 / d
d /d
3 / 1
6 / d
d /d
6 / 0
d /d
4 / 1
4 / 1
4 / 1
4 / d
4 / d
2 / d
2 / 1
d /d
5 / d
5 / 0
d /d
36
6,3,1 设计步骤
2,化简流程表
原始流程表的化简建立在状态相容基础上。原始流程表的每一行代
表一个稳态,相容状态的概念被引申到相容行的概念。
在检查激励状态时,按以下原则确定稳态、非稳态和任意状态的相
容性。
① 稳态 i 和非稳态 i 相容
② 若稳态 i 与稳态 j 相容,则稳态 i 与非稳态 j 相容,非稳态 i、
j 相容
③ 若稳态 i 和非稳态 i 均与任意状态, d” 相容,任意状态, d” 与
任意状态, d” 相容。
引入相容行概念后,原始流程表的化简与不完全给定状态表的化简
过程相同,其一般步骤为:
作隐含表,找出相容行;作合并图,求出最大相容行类;从相容行
类中选择一个最小闭覆盖;作出最简流程表。
37
6,3,1 设计步骤
例:化简以下原始流程表
解,① 作隐含表,找出相容行。
二次状态 激励状态 Y / 输出 Z
Y x1x2 =
00
x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
1 / 0
1 / d
1 / d
d /d
1 / 0
1 / 0
3 / d
d /d
3 / 1
6 / d
d /d
6 / 0
d /d
4 / 1
4 / 1
4 / 1
4 / d
4 / d
2 / d
2 / 1
d /d
5 / d
5 / 0
d /d
2 √
3 √ √
4 2,5 3,6
5 2,5 × √ √
6 3,6 √ × √√
1 2 3 4 5
2,5
3,6
根据相容行判断规则,经顺序比较和关联比较,
可找出相容行对。(表中打, √, 处为相容行对)
② 作合并图,求最大相容类
最大相容类为,( 1,2,3 ),( 4,5,6 ),( 3,
5 ),( 2,6 )。
1 2
6 3
5 4
38
6,3,1 设计步骤
③ 选择最小闭覆盖
从三个最大相容类中挑选 ( 1,2,3 ),( 4,5,6 ) 的集合,可满足
覆盖、最小、闭合条件,因此为原始流程表的最小闭覆盖。
④ 作出最简流程表
将最小闭覆盖中的两个最大相容类 ( 1,2,3 ),( 4,5,6 ) 分别用
二次状
态
激励状态 Y / 输出 Z
y x1x2 = 00 x1x2 =
01
x1x2 = 11 x1x2 =
10
A
B
A / 0
A / 0
A / 1
B /0
B /1
B / 1
A / 1
B / 0
A,B 表示,代入原
始流程表,可得最简
流程表。
3,状态编码
根据化简后的状态数目确定二进制代码的位数,并选择状态分配方
案,将每个状态用一个二进制代码表示。
在同步时序逻辑电路设计中,选择分配方案主要考虑化简。而在电
平异步时序逻辑电路设计中,选择分配方案主要考虑临界竞争 。
39
6,3,1 设计步骤
为消除临界竞争,在确定分配方案时采用 相邻状态,相邻分配 方法:
相邻状态是指稳态下输入取值作相邻变化时,需要 直接转换 的状态。
相邻分配是指分配给相邻状态的代码,为相邻代码(仅一位不同) 。按
此原则,可保证状态转移时仅有一个状态变量变化,可避免竞争。
为体现状态相邻关系,用圈表示状态,用箭头线段连接两个相邻状
态,可得到状态相邻图。 注意,A,B 相邻并不意味着 B,A 相邻 。
例:对下列流程表进行状态编码
二次状态 激励状态 Y / 输出 Z
y x1x2 = 00 x1x2 = 01 x1x2 = 11 x1x2 = 10
A
B
C
D
A
A
C
C
A
B
A
D
B
B
D
D
C
B
C
D
根据,相
邻状态” 原则,
流程表中 A,B,
A,C,C,D
为相邻状态。
由此可作出状
态相邻图。
40
6,3,1 设计步骤
根据,相邻分配” 原则,为 A、
B,A,C,C,D 分配的二进制代码
应为相邻代码,并确定状态分配方案。
二次状态 激励状态 Y2 Y1
y2 y1 x2x1 = 00 x2x1 = 01 x2x1 = 11 x2x1 = 10
0 0
0 1
1 1
1 0
00
00
10
10
00
01
11
00
01
01
11
11
10
01
11
10
A C
B D
y2
Y1
A C
B D
将流程表中
的状态用相应的
二进制编码表示,
可得对应的二进
制流程表。
0 1
0
1
4,确定激励状态和输出函数表达式
可根据二进制流程表作出激励函数、输出函数卡诺图,经化简后可
得到激励函数、输出函数最简表达式。
如上例中,1122212212 yxxyxyyyxY ????
1211121 yxyxxxY ???
41
6,3,2 电平异步时序逻辑电路设计举例
例:用与非门设计一个单脉冲发生器。电路输入 x1,x2,输出 Z。
不按按钮( x1 = 0)时,脉冲被封锁;按下按钮并释放( x1 由 0→ 1 再
由 1→ 0)后,Z 输入端产生一个完整的脉冲。每启动一次,必须在输
出一个完整脉冲后才可再次启动。
解,⑴ 建立原始流程表。根据题意可作出典型输入、输出时间图。
脉冲源 x2
单脉冲输出
手动控制 x1 单脉冲发生器
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12
x2
x1
Z
① ② ① ③ ④ ③ ④⑤ ⑥ ⑦ ① ② ①
42
6,3,2 电平异步时序逻辑电路设计举例
t0 起始时刻 x2x1 = 00,Z = 0,用状态①表示; t1 时刻 x2x1 = 10,无启
动信号,Z = 0,用状态②表示;
t2 时刻与 t0 时刻相同,用状态①表示; t3 时刻 x2x1 = 01,有启动信
号但无脉冲信号,Z = 0,用状态③表示;
t4 时刻 x2x1 = 11,此时启动信号和脉冲信号同时出现,Z = 0,用状
态④表示; t5 时刻与 t3 时刻相同,Z = 0,用状态③表示;
t6 时刻与 t4 时刻相同,Z = 0,用状态④表示; t7 时刻 x2x1 = 10,此
时 x2 端有启动信号结束后的不完整脉冲,Z = 0,用状态 ⑤ 表示;
t8 时刻 x2x1 = 00,此时启动信号已结束,但第一个完整脉冲未出现,
Z = 0,用状态⑥表示; t9 时刻,出现启动信号结束后第一个完整脉冲,
输出 Z 产生一个完整脉冲,用状态 ⑦ 表示。
此后电路重复此过程,每启动一次,输出一个完整脉冲。
根据时间图中设立的状态可建立原始流程表。
43
6,3,2 电平异步时序逻辑电路设计举例
规定每启动一次,
必须输出一个完整脉
冲后才能再次启动,
所以在稳态 ⑤ 不允许
输入从 10→ 11,在稳
态 ⑥ 不允许输入从
00→ 01,在稳态 ⑦ 不
允许输入从 10→ 11,
故在流程表响应位置
二次状态 激励状态 Y / 输出 Z
Y x1x2 = 00 x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
7
1 / 0
1 / 0
6 / 0
d / d
6 / 0
6 / 0
1 / d
3 / 0
d / d
3 / 0
3 / 0
d / d
d / d
d / d
d / d
4 / 0
4 / 0
4 / 0
d / d
d / d
d / d
2 / 0
2 / 0
d / d
5 / 0
5 / 0
7 / d
7 / 1
上填入任意状态和任意输出, d”。 不允许出现的状态进行同样处理 。
⑵ 化简流程表
根据相容行判断法则,可作出隐含表,从隐含表可得相容行对为 (1,
2),(3,4),(3,5),(3,6),(4,5),据此可作出状态合并图,其最大
相容行类为 (1,2),(3,4,5),(3,6),(7)。
44
6,3,2 电平异步时序逻辑电路设计举例
根据选择最小闭覆盖
条件,选择相容行类集
合 | (1,2),(3,4,5)、
(6),(7) |。 将相容行类分
别用 A,B,C,D 表示,
可得最简流程表。
⑶ 状态编码
根据流程表作出状态
2 √
3 1,6 1,6
4 2,5 2,5 √
5 1,6 √ √
6 2,7 √ 5,7 5,7
7 × × 1,6 5,7 ×1,6
1 2 3 4 5 6
1,6
2,5
1,6
2,7
1
7
2
6 3
5
4
二次状态 激励状态 Y / 输出 Z
Y x1x2 = 00 x1x2 =
01
x1x2 = 11 x1x2 =
10
A
B
C
D
A / 0
C / 0
C / 0
A / d
B / 0
B / d
d / d
d / d
B / 0
B / d
d / d
d / d
A / 0
B / 0
D / d
D / 1
相邻图。设二次状态
用 y2,y1 表示,A,B、
C,D 分别用 00,01、
11,10 表示,将状态
编码代入最简流程表,
得二进制流程表。
45
6,3,2 电平异步时序逻辑电路设计举例
⑷ 确定激励函数和输出函数表达式
根据二进制流程表,作出激励函数和输出函数卡诺图:
A D
B C
0 0 0 0
1 0 0 0
1 d d 1
0 d d 1
x2 x1 Y2
y2 y1
00
01
11
10
00 01 11 10
d 1 1 D
1 1 1 1
1 d d 0
d d d 1
x2 x1 Y1
y2 y1
00
01
11
10
00 01 11 10
0 0 0 0
0 0 0 0
0 d d d
d d d 1
x2 x1 Z
y2 y1
00
01
11
10
00 01 11 10
二次状态 激励状态 Y2 Y1 / 输出 Z
y2 y1 x2x1 = 00 x2x1 = 01 x2x1 = 11 x2x1 = 10
0 0
0 1
1 1
1 0
00 / 0
11 / 0
11 / 0
00 / d
01 / 0
01 / 0
d / d
d / d
01 / 0
01 / 0
d / d
d / d
00 / 0
01 / 0
10 / d
10 / 1
46
6,3,2 电平异步时序逻辑电路设计举例
根据卡诺图化简,可得到激励函数和输出函数表达式:
11222122222 yxxyxyyxyxY ????
2222 yxyxZ ??
⑸ 画出逻辑电路图
将激励函数和输出函数表
达式书写为,与非 —与非”
表达式,用与非门实现给定功
能的逻辑电路。
12211221121211 yyxxyyxxyyyxxY )()( ?????????
12211221 yyxxyyxx ?????? )(
47
第六章 异步时序逻辑电路
同步时序逻辑电路采用时钟脉冲对电路进行控制,由时钟脉冲决定
电路状态的转换。
异步时序逻辑电路不采用时钟脉冲控制,电路状态改变仅受输入信
号的控制。可分为脉冲异步时序逻辑电路和电平异步时序逻辑电路。
6,1 脉冲异步时序电路
引起触发器状态变换的脉冲信号由输入端直接提供,输入脉冲应满
足以下约束:
⑴ 输入脉冲宽度应保证触发器正常翻转
⑵ 输入脉冲间隔应保证后一个脉冲到来时,前一个脉冲引起的电
路变化结束。
⑶ 不允许两个或两个以上输入端同时出现脉冲
2
6,1,1 脉冲异步时序逻辑电路分析
用状态表、状态图、时间图为工具,分析步骤与同步电路相似。
例 1,分析异步时序逻辑电路图功能
解:电路由两个 J – K 触发器组成。输
出 Z 是输入和状态的函数,属于 Mealy 型。
⑴ 写出输出函数和激励函数表达式
⑵ 列出电路次态真值表
12yxyZ ?
xC1KJyC1KJ 1111222 ??????,,,
输入 现态 激励函数 次态
x y2 y1 J2 K2 C2 J1 K1 C1 y2(n+1) y1(n+1)
1
1
1
1
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
1
0
1
0
3
6,1,1 脉冲异步时序逻辑电路分析
J – K 触发器状态变化发生在时钟端负跳变时,在真值表中用,,
表示。 x = 0 时电路状态不变,因此在真值表中 x = 1。
⑶ 做出状态表和状态图
⑶⑷
现态 次态 y2(n+1) y1(n+1)
/Z
y2 y1 x = 1
0
0
1
1
0
1
0
1
0 1 / 0
1 0 / 0
1 1 / 0
0 0 / 1
0/0 0/0
00 01
x/Z 1/1 1/0
11 10
0/0 0/0
1/0
1/0
⑷ 画出时间图并说明电路
逻辑功能
分析表和图可知,电路为
模 4 加 1 计数器。当收到 4 个
输入脉冲时,产生进位脉冲。
x
y1
y2
Z
4
6,1,1 脉冲异步时序逻辑电路分析
例 2:分析异步时序逻辑电路图的功能
电路由两个 R – S
触发器组成。三个输入
端 x1,x2,x3,输出端
Z 是状态变量的函数,
属于 Moore 型。
⑴ 输出函数和激
励函数表达式为:
1212 yyyyZ ???
1221122311 yyxSyxyxxR ????,,
⑵ 根据激励函数表达式和 R – S 触发器功能表,可列出电路次态真
值表。 注意:三个输入中,每个时刻仅允许一个有脉冲(为 1) 。
122112 yyxSxS ??,
)( 1231232 yxxyxxR ????
5
6,1,1 脉冲异步时序逻辑电路分析
⑶ 根据真值表,可作出状态表和状态图。
假定电路状态转换发生在输入脉冲作用结束时,与脉冲后沿对齐。
输入 现态 激励函数 次态
x1 x2 x3 y2 y1 R2 S2 R1 S1 y2(n+1) y1(n+1)
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
6
6,1,1 脉冲异步时序逻辑电路分析
⑷ 画出时间图并说明电路逻辑功能,
现态 次态 y2(n+1) y1(n+1) 输出
y2 y1 x1 x2 x3 Z
0
0
1
1
0
1
0
1
10
10
10
10
00
00
11
00
00
00
00
01
0
1
0
0
x2,x3 x1
x1
00/0 10/0
x3
x2,x3 x1 x2 x1 x2
01/1 11/0
x3假定输入端 x1,x2,x3 出现
脉冲的顺序为,x1,x2,x1,x3、
x1, x2,x3, x1,x3,x2,根据
状态表和状态图作出时间图。
由状态图和时间图可知,当
3 个输入端依次顺序产生脉冲时,
输出一个, 1” 信号。
x1
x2
x3
y2
y1
Z
7
6,1,2 脉冲异步时序逻辑电路的设计
脉冲异步时序逻辑电路不采用统一时钟,设计步骤与同步时序逻辑
电路稍有差别。
电路设计时,应注意以下两点:
⑴ 不允许两个或两个以上输入同时为 1(出现脉冲),在形成状态
表或状态图时,只需考虑多个输入中仅有一个为 1 的情况。在确定激励
函数和输出函数时,可将多个输入同时为 1 情况,作为无关条件处理 。
Q Q(n+1) CP D
0 0 d 00 d
0 1 1 1
1 0 1 0
1 1 d 10 d
⑵ 当存储电路采用时钟
触发时,将时钟输入端作为
激励函数处理,可通过控制
输入端时钟脉冲的有无,控
制触发器翻转与否 。
根据这两点规定,4 种
常用触发器的激励表为:
激励表中,d 为任意。
Q Q(n+1) CP T
0 0 d 00 d
0 1 1 1
1 0 1 1
1 1 d 00 d
D 触发器激励表 T 触发器激励表
8
6,1,2 脉冲异步时序逻辑电路的设计
从表中可知,要求触发器状态不变时,有两种处理方法。一种是令
CP = d,输入端取相应值,另一种是令 CP = 0,输入端取任意值 。
例如,D 触发器 现态 Q = 0 时,当 D = 0 时无论 CP 为何值,或者当 CP =
0 时,无论 D 为何值,均可实现 Q(n+1) = 0,状态保持不变。
现态 Q = 1 时,当 D = 1 时无论 CP 为何值,或者当 CP = 0 时,无论 D 为
何值,均可实现 Q(n+1) = 1,状态保持不变。
Q Q(n+1) CP J K
0 0 d 0 d0 d d
0 1 1 1 d
1 0 1 d 1
1 1 d d 00 d d
Q Q(n+1) CP R S
0 0 d d 00 d d
0 1 1 0 1
1 0 1 1 0
1 1 d 0 d0 d d
J – K 触发器激励表 R – S 触发器激励表
9
6,1,2 脉冲异步时序逻辑电路的设计
例 1:用 T 触发器设计模 8 加 1 计数器,对输入端计数,收到第 8
个脉冲时,输出端 Z 产生进位输出脉冲。
解:模 8 计数器需采用三个触发器,状态变量用 y2,y1,y0 表示。
该电路为 Mealy 型,初态为 000。
⑴ 作出 状态表和状态图
⑵ 确定激励函数和输出函数
状态不变时,触发器 时钟端为 0,输入端任意;状态需改变时,触
发器时钟为 1,T 端为 1。由此可作出激励函数和输出函数真值表。
现态 次态 y2(n+1) y1(n+1) y0(n+1)
y2 y1 y0 x = 1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
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 / 0
0 0 0 / 1
000 001 010 011
111 110 101 100
x/Z
1/0 1/0 1/0
1/1 1/0
1/0 1/0 1/0
10
6,1,2 脉冲异步时序逻辑电路的设计
激励函数和输出函数真值表
根据上表,考虑 x = 0(无脉冲)时电路状态不变,可令各触发器时
钟端 Ci 为 0,各输入端 T 任意。可得激励函数和输出函数表达式:
⑶ 根据激励函数和输出函数表达式画出逻辑电路图
输入脉冲 现态 激励函数 输出
x y2 y1 y0 C2 T2 C1 T1 C0 T0 Z
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
d
d
d
1
d
d
d
1
0
1
0
1
0
1
0
1
d
1
d
1
d
1
d
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
012012001012 yyxyZ1TTTxCxyCyxyC ???????,,,,
11
6,1,2 脉冲异步时序逻辑电路的设计
例 2:用 D 触发器作为存
储元件,设计, x1 — x2 — x2
序列检测器。
电路有两个输入 x1, x2,
一个输出 Z。仅当 x1 输出一个
脉冲后 x2 连续输出两个脉冲,
输出 Z 由 0 变 1,x1 或 x2 再出
现脉冲则 Z 由 1 变 0。
输出时间图如下图。
解:该序列检测器仅与状
态有关,属于 Moore 型异步时
序电路。
x1
x2
Z
⑴ 作出原始状态图和状态表
设 初始状态为 A,表中用 x1 和 x2 分别表示 x1 和 x2 端有脉冲输入。
12
6,1,2 脉冲异步时序逻辑电路的设计
在状态 A,若接收的第一个脉冲为 x1,进入状态 B,若为 x2,停留
在状态 A,输出为 0。
在状态 B,若接收 x1,状态不变,若为 x2,进入状态 C,输出为 0 。
在状态 C,若接收 x1,返回状态 B,若为 x2,进入状态 D,输出为 1。
在状态 D,若接收 x1,返回状态 B,若为 x2,返回状态 A,输出为 0。
据此可作出状态表和状态图。
⑵ 状态编码
状态表中有 4 个状态,需采用两个触发器,用 y2,y1 表示 4 个状态。
现态 次态 输出x
1 x2 Z
A
B
C
D
B
B
B
B
A
C
D
A
0
0
0
1
x2 x1 x1
A/0 B/0
x2 x1 x1 x2
D/1 x2 C/0
13
6,1,2 脉冲异步时序逻辑电路的设计
状态编码方案可采用相邻编码法,其原则为:
⑴ 在相同输入条件下,具有相同次态的现态应尽可能分配相邻二
进制编码。
⑵ 在相邻输入条件下,同一现态的次态应尽可能分配相邻二进制
编码。
⑶ 输出完全相同的现态 应尽可能分配相邻二进制编码。
根据此原则,可设定编码方案及对应的二进制状态表。
编码方案 二进制状态表
状态 编码y
2 y1
A
B
C
D
0
1
0
1
0
0
1
1
现态 次态 y2(n+1) y1(n+1) 输出
y2 y1 x1 =1 x2 =1 Z
0
0
1
1
0
1
0
1
10
10
10
10
00
11
01
00
0
0
0
1
A B
C D
y2
y1
0
1
0 1
14
6,1,2 脉冲异步时序逻辑电路的设计
⑶ 确定激励函数和输出函数
假定次态和现态相同时,时钟端取值为 0,D 端取值任意;次态和
现态不同时,时钟端取值为 1,D 端取值与次态相同。
根据以上约定及二进制状态表,可作出激励函数和输出函数真值表。
激励函数和输出函数真值表
输入 现态 次态 激励函数 输出函数
x2 x1 y2 y1 y2(n+1) y2(n+1 C2 D2 C1 D1 Z
0 1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
d
d
0
1
0
1
d
0
d
0
0
0
0
1
1 0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
d
1
0
0
0
0
1
1
d
d
1
0
0
0
0
1
15
6,1,2 脉冲异步时序逻辑电路的设计
两个输入端同时为 0 时状态不变,不允许两个输入端同时为 1,因
此将两个输入端同时为 0 和两个输入端同时为 1 作为无关条件处理,可
得激励函数和输出函数卡诺图。
在 C2 的卡诺图中,将 x2,x1 同时为 1 作为无关条件处理,得到激
励函数表达式:
在 D2 的卡诺图中,将 x2,x1 同时为 0 和同时为 1 都作为无关条件
处理,得到激励函数表达式:
0 1 d 0
0 1 d 1
0 0 d 1
0 0 d 1
x2 x1 C2
y2 y1
00
01
11
10
00 01 11 10
d 1 d d
d 1 d 1
d d d 0
d d d 0
x2 x1 D2
y2 y1
00
01
11
10
00 01 11 10
2212212 yxyxyxC ???
22 yD ?
16
6,1,2 脉冲异步时序逻辑电路的设计
激励函数表达式:
在 D1 的卡诺图中,将 x2,x1 同时为 0
和同时为 1 都作为无关条件处理,得到激励
函数表达式:
在 Z 的卡诺图中,将 x2,x1 同时为 0 和
同时为 1 都作为无关条件处理,得到激励函
数表达式:
0 0 d 0
0 1 d 0
0 1 d 1
0 0 d 1
x2 x1 C1
y2 y1
00
01
11
10
00 01 11 10
d d d d
d 0 d d
d 0 d 0
d d d 1
x2 x1 D1
y2 y1
00
01
11
10
00 01 11 10
22111 yxyxC ??
d 0 d 0
d 0 d 0
d 1 d 1
d 0 d 0
x2 x1 Z
y2 y1
00
01
11
10
00 01 11 10
在 C1 的卡诺图中,将 x2,x1 同时为 1 作为无关条件处理,得到激
11 yD ?
12yyZ ?
17
6,1,2 脉冲异步时序逻辑电路的设计
⑷ 根据激励函数和输出函数表达式,画出逻辑电路图。
电路初态为 00( A 态)。根据时间图,第一个 x1 到来时,x1 和
经 G1 再经 G4 使 C2 产生跳变,触发器翻转,电路状态变为 10( B 态)。
第一个 x2 到来时,x2 与
y2 通过 G3 再经 G4 使 C2 产
生跳变,同时经 G6 使 C1 产
生跳变,两个触发器同时翻
转,电路状态变为 01( C
态)。
第二个 x1 到来时,x1
和 经 G1 再经 G4 使 C2 产
生跳变,同时 x1 和 y1 经 G5
再经 G6使 C1 产生跳变,两
个触发器同时翻转,电路状
态变为 10( B 态)。
2y
2y
18
6,1,2 脉冲异步时序逻辑电路的设计
第二个 x2 到来时,同样又将使电路状态变为 01( C 态)。
第三个 x2 到来时,与 y1 通过 G2 再经 G4 使 C2 产生跳变,高位触发
器翻转,电路状态变为 11( D 态)。 y2, y1 经 G7 输出,Z = 1。
第四个 x2 到来时,与 y2 通过 G3 再经 G4,G6 使 C2,C1 同时产生跳
变,两个触发器同时翻转,电路状态变为 00( A 态),使输出 Z = 0。
第三个 x1 到来时,同样又将使电路状态变为 10( B 态)
经以上分析可知,该电路为, x1 — x2 — x2” 序列检测器。当 x1 输
出一个脉冲后 x2 连续输出两个脉冲,输出 Z 由 0 变 1,x1 或 x2 再出现
脉冲则 Z 由 1 变 0。
19
6,2 电平异步时序逻辑电路
信号在短时间内发生两次变化称为脉冲,若高电平持续时间较长称
为电平,因此,电平是脉冲的一种特定形式。
6,2,1 电平异步时序逻辑电路的特点
1,电平异步时序逻辑电路的结构模型
电路同样由组合电路和存储电路组成,但存储电路是由反馈回路中
x1 Z1:,
xn 组合电路 Zm
yr … y1 Δ t1 Y1 … Yr
:
Δ tr
延迟
延迟
的延迟元件构成。延迟元件不采用
延迟线,而是利用组合电路本身固
有的分布延迟。
x1 ~ xn 为外部输入信号; Z1 ~
Zm 为外部输出信号; Y1 ~Yr为激励
状态; y1 ~ yr 为二次状态; Δ t1 ~
Δ tr 为反馈回路中的时间延迟。
20
6,2,1 电平异步时序逻辑电路的特点
电平异步时序逻辑电路结构模型特点:
⑴ 电路输出状态的改变是由输 入电位的变化直接引起。
⑵ 二次状态 y 是激励状态 Y 经 Δ t延迟 后的,重现”。
⑶ 输入信号的一次变化可能引起二次状态的多次变化。
2,输入信号的约束
输入信号的变化将引起输出和状态的变化,为保证电路可靠工作,
对输入信号做以下约束:
⑴ 不允许两个或两个以上信号同时变化
⑵ 电路进入稳定状态后才允许输入信号发生变化
3,流程表和总态图
使用流程表和总态图描述电路的工作过程和逻辑功能。
21
6,2,1 电平异步时序逻辑电路的特点
流程表用于反映电路输出信号、激励信号与电路输入信号、二次状
态之间关系。其格式为:
Meally 型流程表格式 Moore型流程表格式
流程表中的激励状态分为稳定状态(简称稳态)和非稳定状态(简
称非稳态),表中 与二次状态相同的激励状态为稳态(加圈),与二次
状态不相同的激励状态为非稳态 。
由于电平异步时序逻辑电路在输入信号作用下存在稳态和非稳态,
且在同一个输入信号作用下可能有多个稳态,因此除了流程表之外引入
总态和总态图概念。
二次状态 激励状态 / 输出输入 x
y Y / Z
二次状态 激励状态 输出输入 x
y Y Z
22
6,2,1 电平异步时序逻辑电路的特点
总态,电路输入和二次状态的组合,记作( x,y)。 在流程表中,
代表某个二次状态的行和代表某种输入取值的列的交叉点称为总态 。
当输入信号作 相邻变化 不引起电路状态变化时,在表内总态作水平
移动;当输入信号作相邻变化引起电路状态变化时,总态先作水平移动
至非稳态,再作垂直移动至稳态。
例:用与非门构成的 R – S 触发器为简单电平异步时序逻辑电路。
激励方程为:
R – S 触发器不允许两个输入同时为 1,其流程表为:
R – S 触发器状态表
yRSY ??
二次状态
y
激励状态 Y 输出
RS = 00 RS = 01 RS = 11 RS = 10
0
1
0
1
1
1
d
d
0
0
0
1
23
6,2,1 电平异步时序逻辑电路的特点
在触发器状态表中,共有 ( 00,0 ),
( 00,1 ), ( 01,1 ),(10,0) 四个稳态。
电路处于稳定状态 ( 00,0 ),输入 RS
由 00 变为 10 时,总态沿水平移动,到达
稳态 ( 10,0 ) ;输入 RS 由 00 变为 01 时,
( 00,0) / 0 ( 01,1) / 1
( 10,0) / 0 ( 00,1) / 1
R – S 触发器总态图
总态先作水平移动至非稳态 ( 01,0 ),此时激励状态由 0 变为 1,二次
状态也将由 0 变为 1,然后总态再作垂直移动,移动至稳态 ( 01,1 ) 。
要求输入信号作, 相邻变化,, 则 RS 值每次 变化仅允许一位发生
变化 。如允许 00→ 01,00→ 10,01→ 00,01→ 11,10→ 00,10→
11,11→ 01,11→ 10,不允许 00→ 11 或 01→ 10 。
按此规定,上例中若电路处于总态 ( 00,0 ),允许作 ( 00,0 ) →
( 01,1 ), ( 00,0 ) → ( 10,0 ) 移动;若电路处于总态 ( 01,1 ),允许
作 ( 01,1 ) → ( 00,1 ) 。
24
6,2,1 电平异步时序逻辑电路的特点
若电路处于总态 (00,1),允许作 (00,1) → ( 01,1 ),(00,1) →
(10,0);若电路处于总态 (10,0),允许作 (10,0) → ( 00,0) 。
总态 ( 01,1 ) 无法移动至 ( 00,0),这是因为 RS 由 01 变为 00 时,
二次状态不变,y 仍然为 1。同样,总态 (10,0) 无法移动至 ( 00,1),
这是因为 RS 由 10 变为 00 时,二次状态不变,y 仍然为 0。
6,2,2 电平异步时序逻辑电路分析
电路分析的步骤为:
⑴ 根据逻辑电路图写出激励函数和输出函数表达式
⑵ 作出流程表
⑶ 作出总态图或时间图
⑷ 说明电路逻辑功能
25
6,2,2 电平异步时序逻辑电路分析
例:分析以下电平异步时序逻辑电路
解:电路有两个外部输
入 x1,x2,两条反馈电路,
对应激励状态为 Y1,Y2,
二次状态为 y1,y2。外部输
出 Z 仅与状态有关,属于
Moore 型电路。
⑴ 输出函数和激励函
数表达式为:
⑵ 根据表达式,
可作出流程表。
12yyZ ?
1122122 yxxyxxY ??
1121 xyxY ??
二次状态 激励状态 Y2 Y1 输出
y2 y1 x2x1=00 x2x1=01 x2x1=11 x2x1=10 Z
0
0
1
1
0
1
1
0
00
00
00
00
01
01
01
01
01
01
11
11
10
01
01
10
0
0
1
0
26
6,2,2 电平异步时序逻辑电路分析
⑶ 作出总态图
为了直观描述电路
功能,还可作出时间响
应序列和时间图。假设
初态( x2x1,y2y1)为
( 01,01) / 0 ( 11,01) / 0
( 00,00) / 0 ( 10,01) / 0
( 10,10) / 0 ( 11,11) / 1
( 00,00),输入的变化序列为 00→ 10→ 11→ 01→ 00→ 01→ 11 → 10,
根据流程表可作出总态和输出响应序列。
时刻 ti,t0 t1 t2 t3 t4 t5 t6 t7
输入 x2x1, 00 10 11 01 00 01 11 10
总态,(00,00) (10,00)* (11,11) (01,11)* (00,00) (01,00)*
(x2x1,,y2y1) (10,10) (11,10)* (01,01) (00,01)* (01,01) (11,01) (10,01)
输出 Z,0 0 1 0 0 0 0 0
总态响应序列中加, *” 的总态为非稳定总态,表示总态转换时的
过渡拐点。
27
6,2,2 电平异步时序逻辑电路分析
t0 t1 t2 t3 t4 t5 t6 t7
x2
x1
y2
y1
Z
Δ t Δ t Δ t Δ t Δ t
⑷ 电路功能
从时间图上可看出,仅当 x2x1 输入序列为, 00 – 10 –11,时,输出
高电平信号,其他情况均输出低电平信号。因此该电路为, 00 – 10 –
11, 序列检测器。
28
6,2,3 电平异步时序逻辑电路的竞争
电平异步时序逻辑电路利用时间延迟实现记忆功能。时间延迟时间
的不同,可能产生竞争。若竞争的结果到达预定的稳态,称为非临界竞
争;若竞争的结果到达非预定的稳态,称为临界竞争。
例:某电平异步时序逻辑电路结构图和流程表为:
按两条反馈回路延迟时间的大小关系,讨论可能出现的竞争。
x1:
X2 组合电路Z
y1 Y1
y2 Y2
Δ t1
Δ t2
二次状态 激励状态 Y2 Y1 / 输出 Z
y2 y1 x2x1 = 00 x2x1 = 01 x2x1 = 11 x2x1 = 10
0
0
1
1
0
1
1
0
00 / 0
00 / 0
00 / 0
00 / 0
00 / 0
01 / 0
00 / 0
00 / 0
01 / 0
01 / 0
10 / 0
10 / 1
11 / 0
01 / 0
11 / 0
10 / 0
29
6,2,3 电平异步时序逻辑电路的竞争
⑴ 当电路处于稳态 ( 00,00 ),输入 x2x1 由 00 → 10 时,响应过程为:
① Δt2 =Δt1,二次状态 y2y1 同时响应激励状态变化,y2y1 将由 00 →
11。总态变化过程为 ( 00,00 )→( 10, 00 )→( 10, 11 )。 ( 10,00 ) 为
非稳态,起过渡作用,最终可达预定的稳态 ( 10,11 )。
② Δt2 < Δt1,二次状态 y2 对激励状态 Y2 的响应先于 y1 对激励状态
Y1 的响应,y2y1 将由 00 → 10 。总态变化过程为 ( 00,00 )→( 10,
00 )→( 10, 10 )。 ( 10,10 ) 为稳态,电路到达一个非预定稳态。
③ Δt2 > Δt1,二次状态 y2 对激励状态 Y2 的响应落后于 y1 对激励状
态 Y1 的响应,y2y1 将由 00 → 01 。总态变化过程为 ( 00,00 )→( 10,
00 )→( 10, 01 )。 ( 10,01 ) 为稳态,电路到达一个非预定稳态。
30
6,2,3 电平异步时序逻辑电路的竞争
此次输入信号的变化,因反馈延迟时间不同,使得 状态转移不可预
测,属于临界竞争 。
⑵ 当电路处于稳态 ( 10,11 ),输入 x2x1 由 10→ 00 时,响应过程为:
① Δt2 =Δt1,二次状态 y2y1 同时响应激励状态变化,y2y1 将由 11 →
00。总态变化过程为 ( 10,11 )→( 00, 11 )→( 00, 00 )。 ( 00,11 ) 为
非稳态,仅起过渡作用,最终可达预定的稳态 ( 00,00 )。
② Δt2 < Δt1,二次状态 y2 对激励状态 Y2 的响应先于 y1 对激励状态
Y1 的响应,y2y1 将由 11 → 01 。总态变化过程为 ( 10,11 )→( 00,
11 )→( 00, 01 ) →( 00, 00 ) 。 ( 00,11 ),( 00,01 ) 均为非稳态,起过
渡作用,最终可达预定的稳态 ( 00,00 )。
31
6,2,3 电平异步时序逻辑电路的竞争
③ Δt2 > Δt1,二次状态 y2 对激励状态 Y2 的响应落后于 y1 对激励状
态 Y1 的响应,y2y1 将由 11 → 10 。总态变化过程为 ( 10,11 )→( 00,
11 )→( 00, 10 ) →( 00, 00 ) 。 ( 00,11 ),( 00,10 ) 均为非稳态,起过
渡作用,最终可达预定的稳态 ( 00,00 )。
此次输入信号的变化,无论反馈延迟时间大小,都可到达预定状态,
状态转移可预测,属于非临界竞争 。
用流程表检查电路竞争的法则:
当从某一稳态出发,输入信号发生所允许的变化,引起两个或两个
以上激励状态发生变化时,由于反馈回路之间延迟时间的不同会使电路
产生竞争。
若输入信号变化所到达的列仅有一个稳态,则该竞争属于非临界竞
争;若输入信号变化所到达的列有两个或两个以上稳态,则该竞争属于
临界竞争 。
32
6,3 电平异步时序逻辑电路的设计
6,3,1 设计步骤
电平异步时序逻辑电路的设计步骤如下:
1,建立原始流程表
根据原始时间图或总态图形成流程表,建立过程如下:
⑴ 画出典型输入、输出时间图并设立相应状态
画时间图时应正确体现设计要求,满足不允许两个或两个以上输入
信号同时变化的约束条件,并尽可能反映输入信号在各种取值下允许发
生的变化。
⑵ 建立原始流程表
① 画出原始流程表,填入稳态和相应输出
② 填入非稳态并指定非稳态下的输出
③ 填入无关状态和无关输出
33
6,3,1 设计步骤
例:某逻辑电路有两个输入 x1 和 x2,一个输出 Z。输入输出关系为:
当 x1x2 = 00 时 Z = 0,此后 x1x2 = 01 或 x1x2 = 10 时 Z = 1;当 x1x2 = 11
时 Z = 1,此后 x1x2 = 01 或 x1x2 = 10 时 Z = 0。作出此电路流程表。
解,⑴ 画出典型输入、输出 时间图,并设立相应状态
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
x1
x2
Z
① ② ① ③ ④ ⑤ ④ ⑥ ① ② ④
图中,t0 为起始时刻,x1x2 = 00,Z = 0,用状态①表示。 t1 时刻,
x1x2 由 00→10, Z = 1,用状态②表示。 t2 时刻,x1x2 由 10→00, Z = 0,
与 t0 时刻相同,用状态①表示。 t3 时刻,x1x2 由 00→01, Z = 1,用状态
③表示。 t4 时刻,x1x2 由 01→11, Z = 1,用状态④表示。
34
6,3,1 设计步骤
t5 时刻,x1x2 由 11→10, Z = 0,用状态⑤表示。 t6 时刻,x1x2 由 10
→11, Z = 1,与 t4 相同,用状态④表示。 t7 时刻,x1x2 由 11→01, Z = 0,
用状态⑥表示。 t8 时刻,x1x2 由 01→00, Z = 0,与 t0 相同,用状态①表
示。 t9 时刻,x1x2 由 00→10, Z = 1,与 t1 相同,用状态②表示。 t10 时
刻,x1x2 由 10→11, Z = 1,与 t4 相同,用状态④表示。
⑵ 建立原始流程表
① 作原始流程表,
填入稳态和相应输出
时间图中标出 6
个稳态,将各稳态和
输出填入表内与二次
状态、输入取值对应
的行、列位置。
二次状态 激励状态 Y / 输出 Z
Y x1x2 =
00
x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
1 / 0
3 / 1
6 / 0
4 / 1
2 / 1
5 / 0
35
6,3,1 设计步骤
② 填入非稳态及
输出,完善流程表。
根据状态转移关
系和非稳态下输出法
则,在流程表中填入
非 稳态及输出。 非稳
态输出不变时直接填
数,变化时填 d。
③ 填入无关状态
和无关输出
对表中各稳态下
输入变化不允许到达
的列,填入无关状态
和输出, d”。
二次状态 激励状态 Y / 输出 Z
y x1x2 =
00
x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
1 / 0
1 / d
1 / d
1 / 0
1 / 0
3 / d
3 / 1
6 / d
6 / 0
4 / 1
4 / 1
4 / 1
4 / d
4 / d
2 / d
2 / 1
5 / d
5 / 0
二次状态 激励状态 Y / 输出 Z
y x1x2 =
00
x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
1 / 0
1 / d
1 / d
d /d
1 / 0
1 / 0
3 / d
d /d
3 / 1
6 / d
d /d
6 / 0
d /d
4 / 1
4 / 1
4 / 1
4 / d
4 / d
2 / d
2 / 1
d /d
5 / d
5 / 0
d /d
36
6,3,1 设计步骤
2,化简流程表
原始流程表的化简建立在状态相容基础上。原始流程表的每一行代
表一个稳态,相容状态的概念被引申到相容行的概念。
在检查激励状态时,按以下原则确定稳态、非稳态和任意状态的相
容性。
① 稳态 i 和非稳态 i 相容
② 若稳态 i 与稳态 j 相容,则稳态 i 与非稳态 j 相容,非稳态 i、
j 相容
③ 若稳态 i 和非稳态 i 均与任意状态, d” 相容,任意状态, d” 与
任意状态, d” 相容。
引入相容行概念后,原始流程表的化简与不完全给定状态表的化简
过程相同,其一般步骤为:
作隐含表,找出相容行;作合并图,求出最大相容行类;从相容行
类中选择一个最小闭覆盖;作出最简流程表。
37
6,3,1 设计步骤
例:化简以下原始流程表
解,① 作隐含表,找出相容行。
二次状态 激励状态 Y / 输出 Z
Y x1x2 =
00
x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
1 / 0
1 / d
1 / d
d /d
1 / 0
1 / 0
3 / d
d /d
3 / 1
6 / d
d /d
6 / 0
d /d
4 / 1
4 / 1
4 / 1
4 / d
4 / d
2 / d
2 / 1
d /d
5 / d
5 / 0
d /d
2 √
3 √ √
4 2,5 3,6
5 2,5 × √ √
6 3,6 √ × √√
1 2 3 4 5
2,5
3,6
根据相容行判断规则,经顺序比较和关联比较,
可找出相容行对。(表中打, √, 处为相容行对)
② 作合并图,求最大相容类
最大相容类为,( 1,2,3 ),( 4,5,6 ),( 3,
5 ),( 2,6 )。
1 2
6 3
5 4
38
6,3,1 设计步骤
③ 选择最小闭覆盖
从三个最大相容类中挑选 ( 1,2,3 ),( 4,5,6 ) 的集合,可满足
覆盖、最小、闭合条件,因此为原始流程表的最小闭覆盖。
④ 作出最简流程表
将最小闭覆盖中的两个最大相容类 ( 1,2,3 ),( 4,5,6 ) 分别用
二次状
态
激励状态 Y / 输出 Z
y x1x2 = 00 x1x2 =
01
x1x2 = 11 x1x2 =
10
A
B
A / 0
A / 0
A / 1
B /0
B /1
B / 1
A / 1
B / 0
A,B 表示,代入原
始流程表,可得最简
流程表。
3,状态编码
根据化简后的状态数目确定二进制代码的位数,并选择状态分配方
案,将每个状态用一个二进制代码表示。
在同步时序逻辑电路设计中,选择分配方案主要考虑化简。而在电
平异步时序逻辑电路设计中,选择分配方案主要考虑临界竞争 。
39
6,3,1 设计步骤
为消除临界竞争,在确定分配方案时采用 相邻状态,相邻分配 方法:
相邻状态是指稳态下输入取值作相邻变化时,需要 直接转换 的状态。
相邻分配是指分配给相邻状态的代码,为相邻代码(仅一位不同) 。按
此原则,可保证状态转移时仅有一个状态变量变化,可避免竞争。
为体现状态相邻关系,用圈表示状态,用箭头线段连接两个相邻状
态,可得到状态相邻图。 注意,A,B 相邻并不意味着 B,A 相邻 。
例:对下列流程表进行状态编码
二次状态 激励状态 Y / 输出 Z
y x1x2 = 00 x1x2 = 01 x1x2 = 11 x1x2 = 10
A
B
C
D
A
A
C
C
A
B
A
D
B
B
D
D
C
B
C
D
根据,相
邻状态” 原则,
流程表中 A,B,
A,C,C,D
为相邻状态。
由此可作出状
态相邻图。
40
6,3,1 设计步骤
根据,相邻分配” 原则,为 A、
B,A,C,C,D 分配的二进制代码
应为相邻代码,并确定状态分配方案。
二次状态 激励状态 Y2 Y1
y2 y1 x2x1 = 00 x2x1 = 01 x2x1 = 11 x2x1 = 10
0 0
0 1
1 1
1 0
00
00
10
10
00
01
11
00
01
01
11
11
10
01
11
10
A C
B D
y2
Y1
A C
B D
将流程表中
的状态用相应的
二进制编码表示,
可得对应的二进
制流程表。
0 1
0
1
4,确定激励状态和输出函数表达式
可根据二进制流程表作出激励函数、输出函数卡诺图,经化简后可
得到激励函数、输出函数最简表达式。
如上例中,1122212212 yxxyxyyyxY ????
1211121 yxyxxxY ???
41
6,3,2 电平异步时序逻辑电路设计举例
例:用与非门设计一个单脉冲发生器。电路输入 x1,x2,输出 Z。
不按按钮( x1 = 0)时,脉冲被封锁;按下按钮并释放( x1 由 0→ 1 再
由 1→ 0)后,Z 输入端产生一个完整的脉冲。每启动一次,必须在输
出一个完整脉冲后才可再次启动。
解,⑴ 建立原始流程表。根据题意可作出典型输入、输出时间图。
脉冲源 x2
单脉冲输出
手动控制 x1 单脉冲发生器
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12
x2
x1
Z
① ② ① ③ ④ ③ ④⑤ ⑥ ⑦ ① ② ①
42
6,3,2 电平异步时序逻辑电路设计举例
t0 起始时刻 x2x1 = 00,Z = 0,用状态①表示; t1 时刻 x2x1 = 10,无启
动信号,Z = 0,用状态②表示;
t2 时刻与 t0 时刻相同,用状态①表示; t3 时刻 x2x1 = 01,有启动信
号但无脉冲信号,Z = 0,用状态③表示;
t4 时刻 x2x1 = 11,此时启动信号和脉冲信号同时出现,Z = 0,用状
态④表示; t5 时刻与 t3 时刻相同,Z = 0,用状态③表示;
t6 时刻与 t4 时刻相同,Z = 0,用状态④表示; t7 时刻 x2x1 = 10,此
时 x2 端有启动信号结束后的不完整脉冲,Z = 0,用状态 ⑤ 表示;
t8 时刻 x2x1 = 00,此时启动信号已结束,但第一个完整脉冲未出现,
Z = 0,用状态⑥表示; t9 时刻,出现启动信号结束后第一个完整脉冲,
输出 Z 产生一个完整脉冲,用状态 ⑦ 表示。
此后电路重复此过程,每启动一次,输出一个完整脉冲。
根据时间图中设立的状态可建立原始流程表。
43
6,3,2 电平异步时序逻辑电路设计举例
规定每启动一次,
必须输出一个完整脉
冲后才能再次启动,
所以在稳态 ⑤ 不允许
输入从 10→ 11,在稳
态 ⑥ 不允许输入从
00→ 01,在稳态 ⑦ 不
允许输入从 10→ 11,
故在流程表响应位置
二次状态 激励状态 Y / 输出 Z
Y x1x2 = 00 x1x2 =
01
x1x2 = 11 x1x2 =
10
1
2
3
4
5
6
7
1 / 0
1 / 0
6 / 0
d / d
6 / 0
6 / 0
1 / d
3 / 0
d / d
3 / 0
3 / 0
d / d
d / d
d / d
d / d
4 / 0
4 / 0
4 / 0
d / d
d / d
d / d
2 / 0
2 / 0
d / d
5 / 0
5 / 0
7 / d
7 / 1
上填入任意状态和任意输出, d”。 不允许出现的状态进行同样处理 。
⑵ 化简流程表
根据相容行判断法则,可作出隐含表,从隐含表可得相容行对为 (1,
2),(3,4),(3,5),(3,6),(4,5),据此可作出状态合并图,其最大
相容行类为 (1,2),(3,4,5),(3,6),(7)。
44
6,3,2 电平异步时序逻辑电路设计举例
根据选择最小闭覆盖
条件,选择相容行类集
合 | (1,2),(3,4,5)、
(6),(7) |。 将相容行类分
别用 A,B,C,D 表示,
可得最简流程表。
⑶ 状态编码
根据流程表作出状态
2 √
3 1,6 1,6
4 2,5 2,5 √
5 1,6 √ √
6 2,7 √ 5,7 5,7
7 × × 1,6 5,7 ×1,6
1 2 3 4 5 6
1,6
2,5
1,6
2,7
1
7
2
6 3
5
4
二次状态 激励状态 Y / 输出 Z
Y x1x2 = 00 x1x2 =
01
x1x2 = 11 x1x2 =
10
A
B
C
D
A / 0
C / 0
C / 0
A / d
B / 0
B / d
d / d
d / d
B / 0
B / d
d / d
d / d
A / 0
B / 0
D / d
D / 1
相邻图。设二次状态
用 y2,y1 表示,A,B、
C,D 分别用 00,01、
11,10 表示,将状态
编码代入最简流程表,
得二进制流程表。
45
6,3,2 电平异步时序逻辑电路设计举例
⑷ 确定激励函数和输出函数表达式
根据二进制流程表,作出激励函数和输出函数卡诺图:
A D
B C
0 0 0 0
1 0 0 0
1 d d 1
0 d d 1
x2 x1 Y2
y2 y1
00
01
11
10
00 01 11 10
d 1 1 D
1 1 1 1
1 d d 0
d d d 1
x2 x1 Y1
y2 y1
00
01
11
10
00 01 11 10
0 0 0 0
0 0 0 0
0 d d d
d d d 1
x2 x1 Z
y2 y1
00
01
11
10
00 01 11 10
二次状态 激励状态 Y2 Y1 / 输出 Z
y2 y1 x2x1 = 00 x2x1 = 01 x2x1 = 11 x2x1 = 10
0 0
0 1
1 1
1 0
00 / 0
11 / 0
11 / 0
00 / d
01 / 0
01 / 0
d / d
d / d
01 / 0
01 / 0
d / d
d / d
00 / 0
01 / 0
10 / d
10 / 1
46
6,3,2 电平异步时序逻辑电路设计举例
根据卡诺图化简,可得到激励函数和输出函数表达式:
11222122222 yxxyxyyxyxY ????
2222 yxyxZ ??
⑸ 画出逻辑电路图
将激励函数和输出函数表
达式书写为,与非 —与非”
表达式,用与非门实现给定功
能的逻辑电路。
12211221121211 yyxxyyxxyyyxxY )()( ?????????
12211221 yyxxyyxx ?????? )(
47