第四章时序电路 Sequential circuits 432同步时序电路设计(书页163-168) 同步时序电路设计是其分析的逆过程,是根 据对电路逻辑功能的要求设计出具体的时序逻 辑电路。 同步时序电路是由触发器和组合逻辑构成, 其设计就是选择触发器和寻找组合电路,并将二 者有机连接构造出满足设计要求的时序逻辑电 路的过程。 设计步骤 组合逻辑电路设计要求是用真值表表述的, 与其对应,时序电路设计要求用状态表(或状态 图)表述。一旦得到了状态表,我们便可以用组 合电路的设计方法导出输出方程和激励方程并 进而画出逻辑图。所以,同步时序电路设计的关 键是找状态表。找状态表的过程就是设法把文字 描述的设计要求转化为状态表,这是非常重要的 第一步
第四章 时序电路 Sequential Circuits 4.32 同步时序电路设计(书页 163-168) 同步时序电路设计是其分析的逆过程,是根 据对电路逻辑功能的要求设计出具体的时序逻 辑电路。 同步时序电路是由触发器和组合逻辑构成, 其设计就是选择触发器和寻找组合电路,并将二 者有机连接构造出满足设计要求的时序逻辑电 路的过程。 设计步骤 组合逻辑电路设计要求是用真值表表述的, 与其对应,时序电路设计要求用状态表(或状态 图)表述。一旦得到了状态表,我们便可以用组 合电路的设计方法导出输出方程和激励方程并 进而画出逻辑图。所以,同步时序电路设计的关 键是找状态表。找状态表的过程就是设法把文字 描述的设计要求转化为状态表,这是非常重要的 第一步
(1)据设计要求建立原始状态表。由于其可 能包括多余状态,故称之为原始状态表。如首先 得到状态图,将其转化为状态表。 (2)状态化简。消除原始状态中的多余状 态,得到简化状态表。 (3)状态分配。将字符表示的状态指定一个 二元代码,得到代码形式状态表 (4)选择触发器类型。 (5)据简化的代码形式状态表导出触发器 的简化激励函数。 (6)根据简化的代码形式状态表导出电路 的简化输出函数。 (7)画出逻辑图。 (8)自启动检查。 设计要求 原始状态表 原始状态图 状态化简 最小化状态表 状态分配 代码形式的状态表 触发器选型 输出函数触发器的激励函数 逻辑图 图4.11时序电路设计流程图
(1) 据设计要求建立原始状态表。由于其可 能包括多余状态,故称之为原始状态表。如首先 得到状态图,将其转化为状态表。 (2) 状态化简。消除原始状态中的多余状 态,得到简化状态表。 (3) 状态分配。将字符表示的状态指定一个 二元代码,得到代码形式状态表。 (4) 选择触发器类型。 (5) 据简化的代码形式状态表导出触发器 的简化激励函数。 (6) 根据简化的代码形式状态表导出电路 的简化输出函数。 (7) 画出逻辑图。 (8) 自启动检查。 设计要求 图4.11 时序电路设计流程图 原始状态表 原始状态图 最小化状态表 代码形式的状态表 触发器选型 输出函数 触发器的激励函数 逻辑图 状态化简 状态分配
在实际工作中,完成逻辑设计后,还应利用 计算机辅助设计进行逻辑模拟,验证设计的正确 性。(略) 建立状态图和状态表 情况简单,可直接建立状态表。 情况复杂,先建立状态图,再转化为状态表 状态图必须准确地反映文字表述的设计要 求,必须仔细认真。不幸的是,这步工作没有严 格的步骤和规范的程序可循,只有掌握基本思 路,积累经验。 正确建立状态图三个要素: 1分析出输入变量的个数和情况; 2分析出电路应给出输出指示的条件; 3最为关键,分析出电路所应记住历史情 况(状态)的个数,及每种历史情况的准确描述。 状态设立方法: 次设态。 次正确的分析出电路所应具有的态 和态的准确涵义,然后以每个电路状态作为现 态,根据各种可能的输入分别判断出每种输入情 况下电路的输出和下一时刻转入的状态,画出所
在实际工作中,完成逻辑设计后,还应利用 计算机辅助设计进行逻辑模拟,验证设计的正确 性。(略) 建立状态图和状态表 情况简单,可直接建立状态表。 情况复杂,先建立状态图,再转化为状态表。 状态图必须准确地反映文字表述的设计要 求,必须仔细认真。不幸的是,这步工作没有严 格的步骤和规范的程序可循,只有掌握基本思 路,积累经验。 ➢ 正确建立状态图三个要素: 1.分析出输入变量的个数和情况; 2.分析出电路应给出输出指示的条件; 3.最为关键,分析出电路所应记住历史情 况(状态)的个数,及每种历史情况的准确描述。 ➢ 状态设立方法: 1.一次设态。 一次正确的分析出电路所应具有的态 和态的准确涵义,然后以每个电路状态作为现 态,根据各种可能的输入分别判断出每种输入情 况下电路的输出和下一时刻转入的状态,画出所
有状态之间的转移线,完成原始状态图的建立。 2.逐步设态。 先设定一初始状态,在此基础上,根据 各种输入情况下电路状态的变化,设立并命名新 态(特别要准确定义新态的涵义)。然后,对于 每个新态,再连续进行上述过程,直至不必再设 新态,完成原始状态图的建立。电路可能出现三 种状态转移情况:1.次态是本身,将转移线连回 本态。2次态是已建态,将转移线连至已建态。 3次态是新态,设立并命名新态。 3.由初始至输出设态 首先分析出电路产生输出指示的状态 转移过程,据此先由初始到输出设立一系列电路 状态,单向转移得到不完全的初始状态图。然后, 再补充各态中没有考虑的状态转移线,从而完成 原始状态图的建立。 电路状态设立过程可能重复,从而产生多余 态,多余态不会影响电路功能,可在状态化简时 消除。有时不必非要消除。关键是设态时不要发 生遗漏和错误
有状态之间的转移线,完成原始状态图的建立。 2.逐步设态。 先设定一初始状态,在此基础上,根据 各种输入情况下电路状态的变化,设立并命名新 态(特别要准确定义新态的涵义)。然后,对于 每个新态,再连续进行上述过程,直至不必再设 新态,完成原始状态图的建立。电路可能出现三 种状态转移情况:1.次态是本身,将转移线连回 本态。2.次态是已建态,将转移线连至已建态。 3.次态是新态,设立并命名新态。 3.由初始至输出设态 首先分析出电路产生输出指示的状态 转移过程,据此先由初始到输出设立一系列电路 状态,单向转移得到不完全的初始状态图。然后, 再补充各态中没有考虑的状态转移线,从而完成 原始状态图的建立。 电路状态设立过程可能重复,从而产生多余 态,多余态不会影响电路功能,可在状态化简时 消除。有时不必非要消除。关键是设态时不要发 生遗漏和错误
例:用同步时序电路实现对一串行随机输 入序列的101检测。输入X,输出Z。 为训练建立原始状态图的严谨性,导出下述 三种情况检测电路的原始状态图。 (1)对输入序列每三位进行一次判决, 若三位代码是101,则对应最后一个1时,输出 z为1,其它情况Z为0。 (2)每逢遇到输入序列为101时,输出Z 为1。但检测时用过的代码不可重复使用 (3)每逢遇到输入序列为101时,输出Z 为1。但检测时用过的代码可重复使用。(即前 一个101的最后一个1可以作为下一个101的 第一个1使用。) 先 后 试验序列X:010100101010 (1)z:000000001000 (2)Z:000100001000 (3)z:000100001010
例: 用同步时序电路实现对一串行随机输 入序列的 101 检测。输入 X,输出 Z。 为训练建立原始状态图的严谨性,导出下述 三种情况检测电路的原始状态图。 (1) 对输入序列每三位进行一次判决, 若三位代码是 101,则对应最后一个 1 时,输出 Z 为 1,其它情况 Z 为 0。 (2) 每逢遇到输入序列为 101 时,输出 Z 为 1。但检测时用过的代码不可重复使用。 (3) 每逢遇到输入序列为 101 时,输出 Z 为 1。但检测时用过的代码可重复使用。(即前 一个 101 的最后一个 1 可以作为下一个 101 的 第一个 1 使用。) 先―――――――――后 试验序列 X: 0 1 0 1 0 0 1 0 1 0 1 0 (1) Z: 0 0 0 0 0 0 0 0 1 0 0 0 (2) Z: 0 0 0 1 0 0 0 0 1 0 0 0 (3) Z: 0 0 0 1 0 0 0 0 1 0 1 0
(1)解:推导三位一判101检测电路原始 状态图。(选用逐步设态法。 1.设定初始状态S(判决起始等待输入) 2.当电路在S状态时,若此时输入X为0 转入新设次态S1,S态的涵义为:自初态始,电 路已输入过一个0。若输入X为1,转入新设次 态S2,S2态的涵义为:自初态始,电路已输入过 3.当电路在S状态时,若输入X为0,转 入新设次态S3,S3态的涵义为:自初态始,电路 已输入过00。若输入X为1,转入新设次态S4 s4态的涵义为:自初态始,电路已输入过01。 4.当电路在S2状态时,若输入X为0,转 入新设次态S,S5态的涵义为:自初态始,电路 已输入过10。若输入X为1,转入新设次态S6, S态的涵义为:自初态始,电路已输入过116 5.根据输入序列每三位判决一次的设计要 求,当电路在S3、S4S5、S6态时,由于电路均 已输入二个代码,下一个状态均应回到S态 6.输出审定:电路处于S3、S4S5、S态时
(1)解:推导三位一判 101 检测电路原始 状态图。(选用逐步设态法。) 1. 设定初始状态 S(判决起始等待输入)。 0 2. 当电路在S0状态时,若此时输入X 为0, 转入新设次态 S1,S1态的涵义为:自初态始,电 路已输入过一个 0。若输入 X 为 1,转入新设次 态 S2,S2态的涵义为:自初态始,电路已输入过 一个 1。 3.当电路在 S1状态时,若输入 X 为 0,转 入新设次态 S3,S3态的涵义为:自初态始,电路 已输入过 00。若输入 X 为 1,转入新设次态 S4, S4 态的涵义为:自初态始,电路已输入过 01。 4.当电路在 S2状态时,若输入 X 为 0,转 入新设次态 S5,S5态的涵义为:自初态始,电路 已输入过 10。若输入 X 为 1,转入新设次态 S6, S6 态的涵义为:自初态始,电路已输入过 11。 5.根据输入序列每三位判决一次的设计要 求,当电路在 S3、S4、S5、S6 态时,由于电路均 已输入二个代码,下一个状态均应回到 S0态。 6.输出审定:电路处于 S3、S4、S5、S6态时
与此时输入代码一起共三位应可判定输出。分析 可得,只有在S态且输入X为1时,表示电路已 输入序列101,输出Z应为1,其它情况Z皆为 0。同时,电路在S、S1、S2时,由于电路输入代 码不够三位,不需判定,输出Z应为0。 7.由上可得原始状态图与原始状态表。 0/0 0/0 1/0 0 1/0 0/0 1/0 1/10/0 101检测原始状态图(三位一判) 三位一判101检测电路原始状态表 下一个状态 输出Z 现在状态 000000 0000
与此时输入代码一起共三位应可判定输出。分析 可得,只有在 S6态且输入 X 为 1 时,表示电路已 输入序列 101,输出 Z 应为 1,其它情况 Z 皆为 0。同时,电路在 S0、S1、S2时,由于电路输入代 码不够三位,不需判定,输出 Z 应为 0。 7.由上可得原始状态图与原始状态表。 S0 0/ 0 1/0 S1 S2 S3 S4 S5 S6 0/0 0/0 0/0 0/0 0/0 0/0 1/ 0 1/1 1/0 1/0 1/0 1/0 三位一判 101 检测电路原始状态表 现在状态 下一个状态 输出 Z x=0 x=1 x=0 x=1 S0 S1 S2 0 0 S1 S3 S4 0 0 S2 S5 S6 0 0 S3 S0 S0 0 0 S4 S0 S0 0 0 S5 S0 S0 0 1 S6 S0 S0 0 0 101 检测原始状态图(三位一判)
(2)解:推导不重码101检测电路原始状 态图。(选用一次设态法。) 1.分析设态。 输入串码X。输出指示Z。输出条件:电路 连续输入101则z为1,被检测代码不可重用 由于代码不可重用,检测判决必须从判决收 到101后新收到一个1或0后从新开始。新开始 设为初态S在初态时,只有收到一个1才可能 进入检测判决,所以S为收到一个0或连续到多 个0。在初态时,收到一个1或连续多个1进入 检测判决态,设为S1。为检测101,检测判决 必须从S1开始记住收到10和101两种情况,分 别设S1和S2态。 分析设态综述如下: S0:判决收到101后,收到一个0或连续到 多个0。初态,没有进入检测判决起始。 S1:判决收到101后收到一个1,或连续收 到多个1。检测判决起始。 S2:检测判决起始后累计收到10。 S3:检测判决起始后累计收到101 连接转移。 当电路处于S:若X为0,则不进入检测判
(2)解:推导不重码 101 检测电路原始状 态图。(选用一次设态法。) 1. 分析设态。 输入串码 X。输出指示 Z。输出条件:电路 连续输入 101 则 Z 为 1,被检测代码不可重用。 由于代码不可重用,检测判决必须从判决收 到 101 后新收到一个 1 或 0 后从新开始。新开始 设为初态 S0。在初态时,只有收到一个 1 才可能 进入检测判决,所以 S0为收到一个 0 或连续到多 个 0。在初态时,收到一个 1 或连续多个 1 进入 检测判决态,设为 S1。为检测 101 ,检测判决 必须从 S1开始记住收到 10 和 101 两种情况,分 别设 S1和 S2态。 分析设态综述如下: S0:判决收到 101 后,收到一个 0 或连续到 多个 0。初态,没有进入检测判决起始。 S1:判决收到 101 后收到一个 1,或连续收 到多个 1。检测判决起始。 S2:检测判决起始后累计收到 10。 S3:检测判决起始后累计收到 101。 2. 连接转移。 当电路处于 S0:若 X 为 0,则不进入检测判
决起始,次态仍为初态S,输出Z为0;若X为 1,进入检测判决起始,次态为S,输出Z为0。 当电路处于S1态:若X为0,检测判决起始 后累计收到10,次态为S2输出Z为0;若X为 ,连续收到1,次态仍为判决起始态S1,输岀Z 为0。 当电路处于S2态:若X为0,连续收到0, 次态为回到初态S,输出Z为0;若X为1,累 计收到101,次态为S,输出Z为1。 当电路处于S3态:若X为0,判决后收到0 次态回到初态S,输出Z为0;若X为1,判决 后收到1,次态检测判决起始S1,输出Z为0。 由上得不重码101检测电路原始状图与表。 0/0 0/0 0/0 1/1 0/0 101检测原始状态图(不重码) 不重码101检测电路原始状态表 A下一个状态 现在状态 输出Z X=1 sss
决起始,次态仍为初态 S0,输出 Z 为 0;若 X 为 1,进入检测判决起始,次态为 S1,输出 Z 为 0。 当电路处于 S1态:若 X 为 0,检测判决起始 后累计收到 10,次态为 S2,输出 Z 为 0;若 X 为 1,连续收到 1,次态仍为判决起始态 S1,输出 Z 为 0。 当电路处于 S2态:若 X 为 0,连续收到 0, 次态为回到初态 S0,输出 Z 为 0;若 X 为 1,累 计收到 101,次态为 S3,输出 Z 为 1。 当电路处于 S3态:若 X 为 0,判决后收到 0, 次态回到初态 S0,输出 Z 为 0;若 X 为 1,判决 后收到 1,次态检测判决起始 S1,输出 Z 为 0。 由上得不重码 101 检测电路原始状图与表。 图4.13 例4.3不重码101检测电路 的原始状态图 S0 S1 S2 S3 0/0 0/0 1/0 1/1 0/0 1/0 0/0 1/0 不重码 101 检测电路原始状态表 现在状态 下一个状态 输出 Z x=0 x=1 x=0 x=1 S0 S0 S1 0 0 S1 S2 S1 0 0 S2 S0 S3 0 1 S3 S0 S1 0 0 101 检测原始状态图(不重码)
(3)解:推导可重码101检测电路原始状 态图。(选用由初始至输出设态法) 建立不完全初始状态图。 为检测判定累计输入101,设态S3;为检测 累计输入101,应记忆累计输入10,设态S2;为 检测收到累计输入10,应设态记忆输入1,设态 S1(连续收到1,或检测判定收到101后收到1); 为检测判定起始,应设态记忆没有进入检测判定 起始的初态,设态S(连续收到0)。 由上分析可设态如下,并得初始状态图中实 线部分。 S:初态,连续收到0。 S1:连续收到1,或检测判定101后收到1。 S2:累计收到10。 S3累计收到101。 0/0 0/0 0/0 0/0 1/1 1/0 101检测初始(原始)状态图(可重码
(3)解:推导可重码 101 检测电路原始状 态图。(选用由初始至输出设态法) 1.建立不完全初始状态图。 为检测判定累计输入 101,设态 S3;为检测 累计输入 101,应记忆累计输入 10,设态 S2;为 检测收到累计输入 10,应设态记忆输入 1,设态 S(连续收到 1 1,或检测判定收到 101 后收到 1); 为检测判定起始,应设态记忆没有进入检测判定 起始的初态,设态 S0(连续收到 0)。 由上分析可设态如下,并得初始状态图中实 线部分。 S0:初态,连续收到 0。 S1:连续收到 1,或检测判定 101 后收到 1。 S2:累计收到 10。 S3:累计收到 101。 图4.14 例4.3可重码101检测电路 的原始状态图 S0 S1 S2 S3 0/0 0/0 1/0 1/1 1/0 0/0 1/0 0/0 101 检测初始(原始)状态图(可重码)