脉异步时序电路的设计步骤基本上与同步时序电路的设计步骤一样。但须特别考虑:
⑴ 输入信号 x 及触发器的时钟信号 clk 取值为:
0—无脉冲 1—有脉冲
⑵ 采用简化的状态表和状态图。
⑶ 在确定控制函数时,不仅要确定各触发器的控制输入信号,而且还需确定各触发器的时钟信号。
?时钟信号 clk 应是现态 qn及输入 x 的函数.
?各触发器的输入控制信号 x应尽量使其仅为现态qn 的函数,
这样使其具有保证电路正常工作所需的建立和保持时间。
⑷ 状态不变时,令 clk = 0,这样触发器的数据端变量就可认为是无关最小项d ,这有利于函数的化简
例1 用d触发器设计一个“x1 – x1 – x2 ”序列检测器。
⑴ 建立原始状态图和状态表如图1所示。
图1 状态图
表
例1 状态表
yn+1/z x y
x1
x2
a
b/0
a/0
b
c/0
a/0
c
c/0
d/1
d
b/0
d/0
⑵ 状态化简
从原始状态表中可明显看到a、d等效, ad合并后可得到最小化状态表。
yn+1/z y
x1
x2
a
b/0
a/0
b
c/0
a/0
c
c/0
a/1
⑶ 状态分配
yn+1/z y
x1
x2
00
01/0
00/0
01
11/0
00/0
11
11/0
00/1
⑷ 确定控制函数及输出函数
① 作出 clk1、d1 、 clk2、d2 的卡诺图.
y1n+1 y2n+1 /z y1y2
x1
x2
00
01/0
00/0
01
11/0
00/0
11
11/0
00/1
10
dd/d
dd/d
在y1y2 = 10 时,若 x2 = 1时, 有一个错误的输出 1
因此修改输出函数表达式:
z = x2y1y2
(5)画出电路图
图2 例1的电路图