第六章 异步时序电路的分析与设计 6.1 脉冲异步时序电路概述 6.2 脉冲异步时序电路的分析 6.3 脉冲异步时序电路的设计
第六章 异步时序电路的分析与设计 6.1 脉冲异步时序电路概述 ••• x1 xn z1 zm y1 yl 异步时序电路的特点: 第六章 异步时序电路的分析与设计 6.1 脉冲异步时序电路概述 组合电路 存储电路 ••• x1 xn z1 zm y1 yl Y1 Yr CLK1~r 异步时序电路的特点: 输入信号X 呈无规律性 只有当 X 到来时,电路才能发生变化 所有触发器的时钟信号也是由组合电路产生,且不一定同时到来,也呈无规律性
⒈ 脉冲异步时序电路与同步时序电路相同点是: ⑴ 状态的改变都依赖于外加脉冲。 ⑵ 存储元件都是触发器。 ⒈ 脉冲异步时序电路与同步时序电路相同点是: ⑴ 状态的改变都依赖于外加脉冲。 ⑵ 存储元件都是触发器。 ⒉ 脉冲异步时序电路与同步时序电路的差异是: ⑴ 脉冲异步时序电路无外加的统一的时钟脉冲。 ⑵ 输入变量x为脉冲信号,由输入脉冲直接引起电路的状态改变。 ⑶ 由次态逻辑产生各触发器控制输入信号(Y1, Y2 , …,Yr) ,而且还产生时间有先后的各触发器的时钟控制信号( CLK1 , CLK2 , …,CLKr ) 。 ⒊ 脉冲异步时序电路输入的限制: ⑴ 不允许两根或两根以上输入线上同时有输入脉冲。 ⑵ 在上一个输入脉冲引起的电路状态变化未稳定以前,不允许加入新的输入脉冲。
脉冲异步时序电路的电路结构 Mealy 型电路结构 Moore 型电路结构 输入 控制变量 z1,z2,···,zm 输出 现态 逻辑 状态 x1,x2,···,xn CLK1,CLK2,···,CLKr 控制变量 y1,y2,···,yr z1,z2,···,zm 输出 现态 Y1,Y2,···,Yr 逻辑 状态 存储器 次态 输入 x1,x2,···,xn CLK1,CLK2,···,CLKr 控制变量 y1,y2,···,yr z1,z2,···,zm 输出 现态 Y1,Y2,···,Yr 逻辑 状态 存储器 次态 Moore 型电路结构
6.2 脉冲异步时序电路的分析 脉冲异步时序电路的分析步骤基本上与同步电路一样,仅作以下修改: 6.2 脉冲异步时序电路的分析 脉冲异步时序电路的分析步骤基本上与同步电路一样,仅作以下修改: ⑴ 输入变量取值为 1 表示有脉冲信号,取值为 0 表示无脉冲信号。 触发器的时钟输入端也按上述规定。 ⑵ 控制函数包括触发器的控制输入(Y1,Y2 , …,Yr)及触发器的时钟输入( CLK1 , CLK2 , …, CLKr ) 。 ⑶ 两个或两个以上的输入变量不能同时为 1 ; 输入变量全为 0 时,电路状态不变。
例1 试分析如图所示电路。 D1 = y1 D2 = y1 CLK1 = x y1 + x y2 CLK2 = x y2 + x y1 例1 试分析如图所示电路。 CLK Q D 1 & z y2 /y2 /y1 y1 x CLK1 CLK2 D2 D1 D1 = y1 D2 = y1 CLK1 = x y1 + x y2 CLK2 = x y2 + x y1 Z = x y1 y2
分析步骤如下: ⑴ 列出输出函数和控制函数表达式: D1 = y1 D2 = y1 CLK1 = x y1 + x y2 CLK2 = x y2 + x y1 Z = x y1 y2 D1 = y1 D2 = y1 CLK1 = x y1 + x y2 CLK2 = x y2 + x y1 Z = x y1 y2
分析步骤如下: ⑴ 列出输出函数和控制函数表达式: D1 = y1 D2 = y1 ⑵ 列出状态真值表和次态真值表,见下页。 当 x = 0 时,电路状态不变,讨论(略); 当 x = 1 时,列次态真值表的原则是: 当 CLK = 0 时, 则 Qn+1= Q 当 CLK = 1 时, 则 Qn+1= D D1 = y1 D2 = y1 CLK1 = x y1 + x y2 CLK2 = x y2 + x y1 Z = x y1 y2
现态 输入 次态 y2 y1 x y2n+1y1n+1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 组 合 电 路 输 出 状态真值表和次态真值表 现态 输入 次态 y2 y1 x CLK2 CLK1 D2 D1 Z y2n+1y1n+1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 组 合 电 路 输 出 D1 = y1 D2 = y1 CLK1 = x y1 + x y2 CLK2 = x y2 + x y1 Z = x y1 y2
现态 输入 次态 y2 y1 x y2n+1y1n+1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 组 合 电 路 输 出 状态真值表和次态真值表 现态 输入 次态 y2 y1 x CLK2 CLK1 D2 D1 Z y2n+1y1n+1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 组 合 电 路 输 出 1 00 10/0 01 00/0 10 11/0 11 00/1 x y2y1 y2n+1 y1n+1/Z
⑶ 画出状态表和状态图 1 00 10/0 01 00/0 10 11/0 11 00/1 状态图 状态表 x y2y1 ⑶ 画出状态表和状态图 00 01 11 10 1/0 1/1 1 00 10/0 01 00/0 10 11/0 11 00/1 x y2y1 y2n+1 y1n+1/z 状态图 状态表 由以上分析可以看出,此电路是一个带进位的模 3 计数器。且具有自恢复功能。
⑷ 画出时间序列图 1 00 10/0 01 00/0 10 11/0 11 00/1 状态图 状态表 x y2y1 x y2 y1 z ⑷ 画出时间序列图 00 01 11 10 1/0 1/1 1 00 10/0 01 00/0 10 11/0 11 00/1 x y2y1 y2n+1 y1n+1 /z 状态图 状态表 x y2 y1 z
例2 试分析如图所示的脉冲异步时序电路。 该电路包含两个/S - /R 锁存器, 有三根输入线x3 x2 x1 ,是一个 例2 试分析如图所示的脉冲异步时序电路。 该电路包含两个/S - /R 锁存器, 有三根输入线x3 x2 x1 ,是一个 Moore 型电路。 ≥ 1 & Q R S z y1 y2 /y1 /y2 /R2 /R1 /S1 /S2 x3 x2 x1 ⑴ 列出输出函数及控制函数 的表达式 /S2 = x1 y1 /R2 = x3 + x2 y1 /S1 = x2 y2y1 /R1 = x1 y2 + x2 y1 z = y2 + y1 = y2 y1
⑵ 列出状态真值表及次态真值表 当 x3 = x2 = x1 = 0 时,则 S2 = R2 = S1 = R1 = 1 电路不变,讨论(略) 。 当 x3 、x2 、x1 有效且不能同时为 1 时, 则 若 S = 0 则 yn+1 = 1 若 R = 0 则 yn+1 = 0 若 S = R = 0 则 禁忌 若 S = R = 1 则 yn+1 = y
⑵ 列出状态真值表及次态真值表 现态 输入 组 合 电 路 输 出 y2 y1 x3 x2 x1 /S2 /R2 /S1 /R1 Z 组 合 电 路 输 出 y2 y1 x3 x2 x1 /S2 /R2 /S1 /R1 Z 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 /S2 = x1 y1 /R2 = x3 + x2 y1 /S1 = x2 y2y1 /R1 = x1 y2 + x2 y1 Z = y2 + y1 = y2 y1
⑵ 列出状态真值表及次态真值表 现态 输入 组 合 电 路 输 出 y2 y1 x3 x2 x1 /S2 /R2 /S1 /R1 Z 组 合 电 路 输 出 y2 y1 x3 x2 x1 /S2 /R2 /S1 /R1 Z 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 /S2 = x1 y1 /R2 = x3 + x2 y1 /S1 = x2 y2y1 /R1 = x1 y2 + x2 y1 Z = y2 + y1 = y2 y1
⑵ 列出状态真值表及次态真值表 现态 输入 组 合 电 路 输 出 次态 y2 y1 x3 x2 x1 /S2 /R2 /S1 /R1 Z 组 合 电 路 输 出 次态 y2 y1 x3 x2 x1 /S2 /R2 /S1 /R1 Z y2n+1 y1n+1 0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 Si = 0 ↓ yn+1 = 1 Ri = 0 ↓ yn+1 = 0 Si Ri = 00 禁忌 SiRi = 11 ↓ yn+1 = y
⑵ 列出状态真值表及次态真值表 y2y1 00 10 01 11 现态 输入 组 合 电 路 输 出 次态 y2 y1 x3 x2 x1 组 合 电 路 输 出 次态 y2 y1 x3 x2 x1 /S2 /R2 /S1 /R1 Z y2n+1 y1n+1 0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 Si = 0 ↓ yn+1 = 1 Ri = 0 ↓ yn+1 = 0 Si Ri = 00 禁忌 SiRi = 11 ↓ yn+1 = y y2y1 x3 x2 x1 00 10 01 11 y2n+1 y1n+1
⑶ 画出状态表和状态图 y2y1 00 10 01 1 11 状态图 ⑷ 电路功能说明: x2 x1 x3 11/0 00/0 10/0 01/1 ⑶ 画出状态表和状态图 y2y1 x3 x2 x1 Z 00 10 01 1 11 00/0 x3 01/1 x1 10/0 x2 11/0 y2n+1 y1n+1 状态表 状态图 ⑷ 电路功能说明: 从状态 00 出发,顺序输入 x1 →x2 →x3 ,则电路状态变化为 10 – 11 – 01,输出 Z 为 0 – 0 – 1。
⑶ 画出状态表和状态图 y2y1 00 10 01 1 11 状态图 ⑷ 电路功能说明: x3 ⑶ 画出状态表和状态图 x2 x1 x3 11/0 00/0 10/0 01/1 x2 y2y1 x3 x2 x1 Z 00 10 01 1 11 y2n+1 y1n+1 状态表 状态图 ⑷ 电路功能说明: 当电路处于状态 01,输入 x3 、x1均不能改变电路状态,仅在输入 x2 时,电路回转到状态 00 ,输出由1 变为 0。
⑶ 画出状态表和状态图 y2y1 00 10 01 1 11 状态图 ⑷ 电路功能说明: x3 ⑶ 画出状态表和状态图 x2 x1 x3 11/0 00/0 10/0 01/1 x2 y2y1 x3 x2 x1 Z 00 10 01 1 11 y2n+1 y1n+1 状态表 状态图 ⑷ 电路功能说明: 因此,此电路是“ x1 – x2 – x3 ”序列检测器。当输出为 1 后,只有输入 x2 才能使其恢复至初态。
6.3 脉冲异步时序电路的设计 脉冲异步时序电路的设计步骤基本上与同步的一样,但须特别考虑: 6.3 脉冲异步时序电路的设计 脉冲异步时序电路的设计步骤基本上与同步的一样,但须特别考虑: ⑴ 输入信号 x 及触发器的时钟信号 CLK 取值为: 0—无脉冲 1—有脉冲 ⑵ 采用简化的状态表和状态图。 ⑶ 在确定控制函数时,不仅要确定各触发器的控制输入信号, 而且还需确定各触发器的时钟信号。 时钟信号 CLK 应是现态 y 及输入 x 的函数 各控制信号 Y 应尽量仅为现态 y 的函数 这样能保证电路正常工作所需的 Y 的建立和保持时间。 ⑷ 状态不变时,令 CLK = 0,这样触发器的数据端变量就可视为是无关最小项d ,有利于函数的化简。
例 用D触发器设计一个“x1 – x1 – x2 ”序列检测器。 ⑴ 建立原始状态图和状态表 x2/0 x1/0 x2/1 B D A C yn+1/Z x1x2 y x1 x2 A B/0 A/0 B C/0 C D/1 D D/0
⑵ 状态化简 从原始状态表中可明显 看到AD等效, AD合并后可 得到最小化状态表。 x1x2 y x1 x2 A B/0 A/0 B ⑵ 状态化简 从原始状态表中可明显 看到AD等效, AD合并后可 得到最小化状态表。 yn+1/Z x1x2 y x1 x2 A B/0 A/0 B C/0 C D/1 D D/0 x1x2 y yn+1/Z x1 x2 A B/0 A/0 B C/0 C A/1
⑵ 状态化简 ⑶ 状态分配 K=2 从原始状态表中可明显 看到AD等效, AD合并后可 得到最小化状态表。 y2 y1 1 A B C ⑵ 状态化简 ⑶ 状态分配 K=2 从原始状态表中可明显 看到AD等效, AD合并后可 得到最小化状态表。 y2 y1 1 A B C x1x2 y yn+1/Z x1 x2 A B/0 A/0 B C/0 C A/1 x1x2 y1y2 y1n+1 y2n+1 /Z x1 x2 00 01/0 00/0 01 11/0 11 00/1
⑷ 确定控制函数及输出函数 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 x1 x2 00 01/0 00/0 y1y2 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d 作出 CLK1、D1 、 CLK2、D2 的卡诺图, 按下列原则进行: ① y1y2 =10 状态不存在,无关项d 则 CLK、 D的卡诺图填 d y1n+1 y2n+1 /Z x1x2 x1x2 x1x2 y1y2 d y1y2 d y1y2 d CLK1 CLK2 Z d d D1 D2
⑷ 确定控制函数及输出函数 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d x1x2 y1y2 则 CLK、 D 的卡诺图填 d。 y1n+1 y2n+1 /Z x1x2 x1x2 x1x2 y1y2 d y1y2 d y1y2 d CLK1 CLK2 Z d d D1 D2
⑷ 确定控制函数及输出函数 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d x1x2 y1y2 则 CLK的卡诺图填 0, D 的卡诺图填 d, Z 的卡诺图填 0 。 y1n+1 y2n+1 /Z x1x2 x1x2 x1x2 y1y2 d y1y2 d y1y2 d CLK1 CLK2 Z d d D1 D2
⑷ 确定控制函数及输出函数 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d x1x2 y1y2 当 y1n+1 = y1 时,电路不改变, CLK1 = 0,D1 = d (好) y1n+1 y2n+1 /Z x1x2 x1x2 x1x2 y1y2 d y1y2 d y1y2 d CLK1 CLK2 Z d d D1 D2
⑷ 确定控制函数及输出函数 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d x1x2 y1y2 同样 当y2n+1 = y2 时,电路不改变, CLK2 = 0,D2 = d (好) y1n+1 y2n+1 /Z x1x2 x1x2 x1x2 y1y2 d y1y2 d y1y2 d CLK1 CLK2 Z d d D1 D2
⑷ 确定控制函数及输出函数 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d x1x2 y1y2 当y1n+1 ≠ y1 时,电路改变, CLK1 = 1,D1 = y1n+1 y1n+1 y2n+1 /Z x1x2 x1x2 x1x2 y1y2 d 1 y1y2 d y1y2 d CLK1 CLK2 Z d 1 d D1 D2
⑷ 确定控制函数及输出函数 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d x1x2 y1y2 同样 当y2n+1 ≠ y2 时,电路改变, CLK2 = 1,D2 = yn+1 y1n+1 y2n+1 /Z x1x2 x1x2 x1x2 y1y2 d 1 y1y2 d 1 y1y2 d CLK1 CLK2 Z d 1 d 1 D1 D2
⑷ 确定控制函数及输出函数 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d x1x2 y1y2 ⑥ 填输出 Z y1n+1 y2n+1 /Z x1x2 x1x2 x1x2 y1y2 d 1 y1y2 d 1 y1y2 d 1 CLK1 CLK2 Z d 1 d 1 D1 D2
⑷ 确定控制函数及输出函数 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d y1y2 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d ⑦ 寻找最小覆盖 CLK1 = x2y1 + x1y1y2 D1 = y1 CLK2 = x2y2 + x1y2 D2 = y2 Z = x2y1 y1n+1 y2n+1 /Z x1x2 x1x2 x1x2 y1y2 d 1 y1y2 d 1 y1y2 d 1 CLK1 CLK2 Z d 1 d 1 D1 D2
⑸ 画出电路图 CLK Q D 1 & z y1 /y2 /y1 y2 CLK2 CLK1 D1 D2 x2 x1
关于电路挂起的讨论 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 dd/d x1x2 y1y2 在设计中 y1y2 = 10为多余状态,必须讨论:如果发生某种干扰使电路处于y1y2 = 10状态时有否挂起情况。 ① 当 x1 = 1, CLK1 = 0, D1 = 0 → y1n+1= y1 = 1; CLK2 = 1, D2 = 1 → y2n+1=D2 = 1 ; 输出 Z = 0 x1x2 x1x2 y1y2 d 1 y1y2 d 1 CLK1 CLK2 d 1 d 1 d 1 Z D1 D2
⑺ 关于电路挂起的讨论 x1 x2 00 01/0 00/0 01 11/0 11 00/1 10 x1x2 y1y2 ② 当 x2 = 1 CLK1 = 1, D1 = 0 → y1n+1= D1 = 0; CLK2 = 0, D2 = 1 → y2n+1= y2 = 0; 输出 Z = 1 此电路无挂起状况。 但在y1y2 = 10, x2 = 1时,有一个错误的输 出 1,修改输出函数表达式: Z = x2y1y2 x1x2 x1x2 y1y2 d 1 y1y2 d 1 CLK1 CLK2 d 1 d 1 d 1 Z D1 D2
第六章 习题 无 !