数字逻辑基础第五章 异步时序电路异步时序电路的分类
基本型异步时序电路没有触发器,依靠电路反馈记忆状态,输入信号为电平型信号。
脉冲性异步时序电路依靠触发器记忆状态,输入为脉冲信号
(时钟信号),但是没有统一的时钟,并且将时钟作为显式的输入对待。
5.1 基本型异步时序电路分析
基本型异步时序电路的模型组合电路延时
x 1
x m
z 1
z n
Y 1
Y r
y 1
y r
延时输入变量系统状态 激励状态输出变量系统总态
{x1,...xm,y1,...yr}
基本型异步时序逻辑模型的描述
基本型异步时序电路的稳定条件是 y = Y。换句话说,在系统达到稳定以后,Y和 y总是相同的。
正因为如此,在基本型异步时序电路中不能将 y和
Y分别看作现态和次态。
)()(
),(
),(
2
1
ttt
f
f
Yy
yxz
yxY

基本型异步时序电路分析的例子
&
&
&
X 1
X 2
RE S
Y 1
Y 2
y 1
y 2
1
&
&
&
1
激励状态系统状态 假想的延时环节系统总态
2122
1211
yyxY
yyxY


1RES?
y1y2 Y1 Y2x
1x2=00 x1x2=01 x1x2=10 x1x2=11
00 00 01 10 11
01 01 01 01 01
10 10 10 10 10
11 11 11 11 11
时的 激励函数 和 系统流程表稳定状态
Y与 y相同非稳定状态
Y与 y不同状态转换过程
0000
dd01
dd10
01
10
00
dd
dd
状态转换图功能,类似抢答器初始总态基本型异步时序电路状态转换的特点
假定所有输入中每次只有一个输入发生改变,所以没有类似 00→11 的状态转换。
输入改变以后,到达的总态如果是不稳定总态,则状态转换过程将继续进行,直到到达稳定总态。
基本型异步时序电路分析的一般过程激励方程输出方程状态流程表标出稳定状态状态转换图或时序图电路功能描述正确区分各变量之间的关系 作状态转换图要包含所有稳定状态和所有转换途径作时序图时要考虑实际的输入情况结合实际的输入情况讨论电路的功能另一个例子的分析
电路
&
&
X 1
X 2
Y 1
Y 2
y 1
y 2
1
&
&
1
z
&
&
激励状态输入输出
激励函数和状态流程表
22112
112122211
yxyxY
yxyyxyxxY


x 1 x 2
y 1 y 2
00 01 11 10
10
11
01
00
00
00
0001 01
10
00 111110
11110100
00 00
初始状态共有 8个稳定状态
状态转换图 0000
1100 1111
0110
1011
1101
0101
1000
01
00
11
00
01
10
10
11
10
01
10
11
00
01
00
11
包含所有稳定状态和所有转换途径
在特定输入条件下的时序图
x 1
x 2
Y 2
Y 1
y 1
y 2
z
t 1 t 2 t 3t 0 t 8t 7t 6t 5t 4 t 11t 10t 9 t 12
11 yxz?
在输入 x1x2 = 00,01,11,10,00,01,11,01,11,10,00,10,00序列下,
x1x2y1y2 = 0000,0110,1111,1011,0000,0110,1111,0101,1101,
1000,0000,1000,0000
功能描述若在输入 x2为逻辑 1期间,输入 x1发生 0到 1的变化
(上升沿),则在随后的 x1第一个逻辑 1期间输出等于逻辑 0,其余时间均输出逻辑 1。
若输入 x2为逻辑 1,则无论输入 x1如何变化,输出总是逻辑 1。
5.2 基本型异步时序电路中的竞争与冒险
竞争的例子
&
&
X 1
X 2
Y 1
Y 2
y 1
y 2
1
&
&
1
&
&
1
&11122
212111211
yxyxY
xxyyxyxxY


发生竞争的总态转换过程
输入序列:
00→10→11→01→11
总态转换:
0000→1011→1111→
0110→?
x 1 x 2
y 1 y 2
00 01 11 10
10
11
01
00
00
00
01
00
10
10
111100
0101
01 11
01
10
10
临界竞争与非临界竞争
基本型异步时序电路在某个输入作用下,
从一个稳定状态转换到另一个稳定状态时,
如果有 多于一个的状态变量需要同时发生变化,则称电路存在竞争。
如果电路最终达到的稳定状态依赖于状态变量变化的次序,则称为临界竞争;
如果最终达到的稳定状态相同,则称为非临界竞争。
临界竞争的判别
在状态转换表中选择一个稳定总态,然后从这个稳定状态向某个相邻列转移。
考察在该列内的状态转换过程。若此转换过程中所有的转换途径都能够到达同一个稳定状态,则此转换过程不发生临界竞争。
改变输入变量以及改变初始稳定总态,重复上两步的判别。直至遍历从所有的稳定总态出发的每种可能的转换途径。
临界竞争的例子 1
x 1 x 2
y 1 y 2
00 01 11 10
10
11
01
00
11
11
01
10
01
01
111110
1100
11 00
00
00
00
不同的转换次序导致不同的结果:临界竞争不同的转换次序,相同的结果:非临界竞争临界竞争的例子 2
x 1 x 2
y 1 y 2
00 01 11 10
10
11
01
00
00
11
1100
11
01
00
11
状态循环,无法达到最终稳定状态。这是一种特殊的临界竞争临界竞争的消除
在电路中插入可控延迟元件
修改状态流程表中的非稳定状态,使得循环的结果到达目标状态
采用相邻的状态分配来消除临界竞争
增加状态变量修改状态流程表
x 1 x 2
y 1 y 2
00 01 11 10
10
11
01
00
01
11
1100
11
x 1 x 2
y 1 y 2
00 01 11 10
10
11
01
00
01
11
1000
11
有临界竞争 无临界竞争修改原则:不改变最终结果在原问题中,11是对应于 10的次状态,最终结果要求转换到 11。
相邻的状态分配
相邻状态:
相邻状态分配:
使每个稳定态与它的激励态相邻,可以避免临界竞争。
00 01
1110
000
011
010 110
111
100
101001
相邻状态分配的例子
x 1 x 2
s 00 01 11 10
D
C
B
A
A
AA
B
BBB
BB
C
C
D
D
DD
D
A
B
D
C
00
1110
01
x 1 x 2
s 00 01 11 10
01
11
10
00
00
0000
10
101010
1010
11
11
01
01
0101
01
当系统在状态 A发生输入改变( 00→01 )时,
激励态为 B,为了不发生临界竞争,要求 A与
B相邻。
原始问题 要求的相邻关系相邻编码后的状态流程表增加状态变量
原始问题
x 1 x 2
s 00 01 11 10
D
C
B
A
A
A A
D
ABB C
B
C
C
D
D
DB
C
A B
D C
原始问题的相邻关系复杂,无法采用相邻编码达到无临界竞争
增加状态变量后,做到相邻编码 x 1 x 2 = 0 0 = 0 1 = 1 1 = 1 0
D
C
B
A
G
F
E
000
001
100
A
101
110
011
010
y 1 y 2 y 3
A
A
A
B
B B
B
E
C C
DD
DD
C
C
FF
G
000
000
000
000001 001
001
001
010 010
010
010
100 100
100100
011
110 110
101
x 1 x 2 x 1 x 2 x 1 x 2
Y 1 Y 2 Y 3
A B
D C
G
F
E
000
101
110
011
010100
001
增加了两个中间状态,使得所有状态转换都是相邻的
5.3 基本型异步时序电路设计限制与要求
每次只允许一个输入变量发生改变
每次输入发生改变后,必须等待电路稳定后方可允许下一个输入发生变化
无冒险
无临界竞争基本型异步时序电路设计的一般过程原始问题状态转换图状态流程表化简状态分配激励函数输出函数逻辑图注意状态转换的相邻性,使得状态转换不发生临界竞争。
不能存在冒险自然语言描述,
也可以用波形图或其他方式描述例 设计一个异步时序电路,它有两个输入端 x
1x2,
一个输出端 z。当输入 x1x2 = 00时,输出 z =
0。若在 x1由 0变 1时 x2已经是逻辑 1,即 x2在
x1之前变为 1,则输出 z = x1x2。若 x1在 x2之前变为 1则输出 z= 0。
x 2
z
t 1 t 2 t 3t 0 t 4 t 9t 8t 7t 5 t 6
x 1
GFEADCBA A
状态转换图与状态流程表
X = 0 0
D
C
B
A
状态激励态
C/1 D/0B /0
A/0
01
11
01 00
10
00
X = 0 1
输出
X = 1 1 X = 1 0
G
F
E
D
C
B
A
G
F
E
G /0F /0E /0
00
00
10
00
11 01
10
11
11
B
B
A
A
A
A
C
F
C
F
EG
0
0
0
0
0
0
1D
E-
-
-
-
-
-
-
由于不允许同时改变两个输入变量,这些状态不可能经过化简
DCBA E F
D
C
B
G
E
F
D,E
B,G
B,G
C,F
C,F
B,G
C,F
B,G
D,E
C,F C,F C,F
A
D
C
B
G
E
F
S0
S2
S1
满足最小化、覆盖化和闭合性三个条件,从上述 3个最大相容类中选择 3个子集 {A,B,G},{C} 和 {D,E,F}来作为化简后的状态,记为 S0,S1和 S2
化简以后的状态流程表状态 激励态 输出x
1x2=00 x1x2=01 x1x2=11 x1x2=10
S0 S0 S0 S1 S2 0
S1 – S0 S1 S2 1
S2 S0 S0 S2 S2 0
状态分配
S1S0
S2
01
S3
00
10 11
原来的相邻关系修改后的相邻关系状态 y1y2 激励态 Y1Y2 输出 zx
1x2=00 x1x2=01 x1x2=11 x1x2=10
S0 00 00 00 01 10 0
S1 01 – 00 01 11 1
S3 11 – – – 10 1
S2 10 00 00 10 10 0
为了使状态相邻,增加过渡状态激励方程、输出方程 和逻辑图
2
2111212
21111
yz
yyxyxxY
xxyxY


&
x1
Y 1
Y 2
y 1
y 2
z
&
&
&
&
&
1
1
x2
5.4 脉冲型异步时序电路的分析和设计
脉冲型异步时序电路与同步时序电路的相同点
都以触发器作为记忆单元
都具有米利与摩尔两种模型,结构类似
脉冲型异步时序电路
触发器具有不同的时钟
时钟信号作为输入处理
同步时序电路
全部触发器具有统一的时钟
时钟信号是默认的,不作为输入处理脉冲型异步时序电路中的时钟
时钟信号的逻辑值在输入信号变化的有效边沿为 1,其余为 0
实际的输入信号中,只要有效边沿符合要求,信号脉冲的宽度可以是任意值
以下 3组脉冲,对于上升沿触发的触发器而言,输入序列相同
x 1
x 2
脉冲型异步时序电路分析的例子
激励方程与输出方程
触发器的输入方程
x
Q 2Q 1
1D
&
z
C1
1D
C1
&D 1 D 2
CP 1 CP 2
212221,,QxQzQDQD
cp1 = x,cp2 = xQ1
脉冲型异步时序电路的特点
状态方程
121
22222222)1(2
11121111)1(1
,xQcpxcp
cpQcpQcpQcpDQ
cpQcpQcpQcpDQ
n
n



在脉冲型异步时序电路中触发器的 cp表达式中,
只有当表达式右端的逻辑函数产生对该触发器有效的触发时,表达式左边的 cp = 1。
状态转换表
Q2Q1 cp2cp1 Q2(n+1)Q1(n+1) I=0 I=1 I=0 I=1
00 00 01 00 01
01 00 11 01 11
11 00 11 11 00
10 00 01 10 10
I = 1,输入 x 的下降沿
I = 0,除了输入 x 下降沿以外的所有时刻
状态转换图和时序图
11
10
01000 / 0
1 / 01 / 1
0 / 0
0 / 0
0 / 0
1 / 0
1 / 0
I / z
x
Q 2
Q 1
D 1
z
CP 2
CP 1
I =1
脉冲型异步时序电路的设计原始问题分析状态转换图状态转换表化简状态分配激励函数 逻辑图可能包含触发器的时钟信号的选择自然语言描述,
也可以用波形图或其他方式描述输出函数设计例 1
试用 T触发器设计满足下列功能的脉冲型异步时序电路。电路的功能描述是:只有当输入脉冲序列为 x1→ x1→ x2的情况下,在输入 x2的同时输出 z;
其余情况下都没有输出。
T触发器是指只有一个 T输入端的触发器。该触发器的状态方程如下:
tQtQQ n 1
问题分析
米利模型
定义系统状态:
状态 A:原始状态;
状态 B:已经输入序列为 x1;
状态 C:已经输入序列为 x1→ x1,在此状态下输入 x2可以产生输出。
状态转换图
A C
B
x
1
/ 0
x / z
x
1
/ 0
x
2
/ 1
x
1
/ 0
x
2
/ 0
x
2
/ 0
注意:由于异步时序电路限制每次只有一个输入变量变化,所以从某状态出发的状态转换线的数目与输入变量的数目相等对比:同步时序电路一般是输入变量的组合
状态编码和状态转换表现态 次态 / 输出 y1y2 Y1Y2 / zx
1 x2 x1 x2
A B/0 A/0 00 01/0 00/0
B C/0 A/0 01 10/0 00/0
C C/0 A/1 10 10/0 00/1
注意:所有输入没有组合状态!
激励卡诺图和输出卡诺图
y1y2 Y1Y2 / zx
1 x2
00 01/0 00/0
01 10/0 00/0
10 10/0 00/1
Q Qn+1 t
0 0 0
0 1 1
1 1 0
1 0 1
x
1
y
1
y
2
10
11
01
00
x
2
10
11
01
000
1
1 0
1
0
00
10
0 1
d ddd
t
1
t
2
10
11
01
00
1
0
0
0
0
0
dd
z
y
1
y
2
y
1
y
2
x
1
x
2
x
1
x
2
状态转换表
T触发器的激励表激励卡诺图 输出卡诺图注意:所有输入没有组合状态,卡诺圈不能将不同的输入圈在一起!
激励函数、输出函数和逻辑图
12
22112
12211
yxz
yxyxt
yxyxt


x1
y1
T
&
z
&
x2
y1
≥1
y2
T
&
&
≥1
T1
T2
设计例 2:异步计数器
试用 JK触发器设计一个 12进制异步加法计数器
问题分析 x
y 1
y 0
y 3
y 2
0 01110987654321 1
计数器类问题具有固定的时序,所以用时序图分析比较容易
状态转换表 状态 y3y2y1y0 Y3Y2Y1Y0S
0 0000 0001
S1 0001 0010
S2 0010 0011
S3 0011 0100
S4 0100 0101
S5 0101 0110
S6 0110 0111
S7 0111 1000
S8 1000 1001
S9 1001 1010
S10 1010 1011
S11 1011 0000
电路结构
x
1J
C1
y
0
1K
1J
C1
y
1
1K
1J
C1
y
2
1K
1J
C1
y
3
1K
输出变量输入变量问题:每个触发器的时钟、激励如何获得?
触发器 0 触发器 1 触发器 2 触发器 3
时钟的选择原则
x
y 1
y 0
y 3
y 2
0 01110987654321 1
1、在触发器的状态发生改变时必须有时钟信号,并且该时钟信号具有相同的极性(即都是正跳变或者都是负跳变)。
2、在触发器不发生状态改变时的时钟信号越少越好。
以 y3 为例,cp3 必须在这两个时刻出现,必须具有相同的极性,且越少越好。所以选 y1 作为 cp3 。
本例时钟的选择 x
y 1
y 0
y 3
y 2
0 01110987654321 1
cp0 = x,cp1 = y0,cp2 = y1,cp0 = y1
由于 Y0 在每个 cp0 有效时都翻转,所以触发器 0
只要简单地接成 T′触发器即可。
同理,触发器 1 也只要简单地接成 T′触发器。
激励卡诺图(触发器 2、触发器 3)
y
3
y
2
10
11
01
00
0
J
2
y
1
y
0
00 01 11 10
10
11
01
00
d
K
2
00 01 11 10
1d
d1
10
11
01
00
d
J
3
00 01 11 10
10
11
01
00
1
K
3
00 01 11 10
d1
d0
y
1
y
0
y
1
y
0
y
1
y
0
y
3
y
2
y
3
y
2
y
3
y
2
此激励卡诺图的获得过程与同步时序电路的过程类似。
不同之处在于,
触发器 2、触发器 3的时钟是 y1的下降沿,而 y1
的下降沿只有在状态 S3、
S7,S11才出现,所以在卡诺图中只有这 3个状态有效,其余状态均作为任意态处理。
激励函数和逻辑图
0 0 1 1
2 3 2 3 2 3
1,1
,1,,1
J K J K
J y K J y K


x
1J
C1
y 0
1K
1J
C1
y 1
1K
1J
C1
y 2
1K
1J
C1
y 3
1K
1
1111
1