数字逻辑第7章(2)状态化简

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7.3.2 不完全给定同步时序电路状态表的化简 当原始状态表中含有不确定的次态或输出,即含有无关 项(d),它所对应的电路称为不完全给定同步时序电路。
例如,用四位触发器构成十进制计数器时,只需要16 个状态中的10个,在原始状态表中有6个状态的次态被标注 为无关项(无关态)。 若将非完全描述状态表变为完全描述状态表,当有n个 无关项,就会有2n张状态表,化简后会有 2n个繁简不同的 结果。因此,需要有新的逻辑工具简化设计过程。
隐含表 隐含表是状态化简的常用工具之一。它是在各个状态之间无一 遗漏的进行比较,且仅比较一次,达到找出等效状态的一种表格。 隐含表是一个直角三角形阶梯表,两直角边的网格数相同,它 等于原始状态表中的状态数减 1,用状态名进行顺序标注。
纵坐标“缺头”从上到下标注(缺少第一个状态);横坐标“少尾” 从左到右标注(缺少最后一个状态)。横纵坐标交汇的每个方格代 表一个状态对。若原始状态表有n种状态,则隐含表的小方格有n(n1)/2个。 X
从最大相容类(或相容类)中选出一个相容类的集合, 它必须满足以下三个条件。 a)覆盖性,包含原始状态表的全部状态。 b)最小性,相容类个数最少。 c)闭合性,所选相容类集合中的任一相容类,在原始 状态表中任一输入条件下产生的次态应该属于该集合 中的某一个相容类。 非完全描述状态表的化简,就是寻找一个最小闭覆盖。 将其中的每个相容类用一个新的状态符号表示,代入 原始状态表中,得到最小化状态表。 4)作出最小化状态表。
B C D E
BE
BC BE X X X X
X X
A
B
C
D
等效对为: (B,C),(D,E)
3)求出最大等效类 利用等效状态的对称性、自反性、传递性,求出等效类。 {B,C},{D,E},{A}。
等效类 {B,C},{D,E},{A} 均不包含在任何其他等效类 中, 所以 {A},{B,C},{D,E} 是最大等价类。
地绘在圆周上,然后把所有相容对用线段连接起来,得到的图。 在这种图中,所有点之间都有连线的多边形,构成一个最大
相容类。
S1 S4 S1
S1
S5
S2 S4 S3
S2
S2
S3
{S1, S2, S3}
S3 {S1, S2, S3, S4}
{S1, S2, S3, S4, S5}
3)利用闭覆盖表,求最小闭覆盖。
一个状态可称为等效类。
最大等效类
不是任何其它等效类子集的等效类称为最大等效类。
完全给定同步时序电路原始状态表的化简过程,就 是寻找最大等效类,将每个最大等价类中的所有状态合
并为一个新状态,从而得到最小状态表的过程。
化简后的状态数等于最大等效类的个数。
判断原始状态表中两个状态是否 等效(等价)
的标准:
所谓状态化简,就是采用某种化简技术从
原始状态表中消去多余状态,得到一个既能正
确描述给定的逻辑功能,又能使所包含的状态 数目达到最少的状态表——最小状态表。
最常用的化简方法——隐含表法
7.3.1 完全给定同步时序电路状态表的化简
完全给定同步时序电路是指其状态表中的所有
次态及输出都是确定的。
完全给定同步时序电路状态表的化简,是利 用状态之间的等效关系进行的。
Y( t 1) / Z
化简后的状态图:
0/0
S1
1/ 1
S2
0/1
0 S S1 S1 / 0 S2 S2 / 1
X
1 S2 / 1 S1 / 0
S (t 1) / Z
1/0
利用隐含表进行完全给定同步时序电路状态表的化简
一般步骤:
1)作隐含表 2)寻找等效对 3)求出最大等效类 注意:a)各最大等效类之间不应出现相同状态 b)原始状态表中的每一个状态必须属于某一个最 大等效类 4)作出最小化状态表
相容状态不具有传递性。
即:若(S1,S2) ,(S1,S3)是相容对,不一定有 S2和S3相容。
因为在判断两个状态是否相容时,不确定的输出 和不定的次态可以随意指定。
相容类 若干彼此相容的状态构成的集合。 例如:有相容对(S1, S2), (S2, S3), (S1, S3),
可构成相容类 {S1, S2, S3}.
非完全描述状态表的化简是建立在状态相容基础上的。
状态相容
假设状态SA和SB是非完全描述状态表中的两个状态,如果 对于所有的有效输入序列,分别从SA和SB出发,所得到的输出 响应序列(除不确定的那些位之外)完全相同,则两个状态是 相容的,记为(SA,SB)。或者说,状态SA和SB是相容对。
有效输入序列: 从状态表中的状态S出发,如果给定某输入序列所得到的 状态响应除最后一个次态外,其他次态都是确定的,那么,这 个输入序列对状态S是有效的。
S2
1/1
0/0
1/0
0/1 S5 S1,S2
1/1 S3,S4 0/1 S5 1/0
后继状态等效
0/0
S1
1/1 1/0 0/0
0/0
S2 1/1 1/0 0/0
S3 0/1
1/1 1/1
S4 0/1
0/0
S5
S6 1/0
S1,S2 1/1 0/1 0/0
次态循环
S3,S4 1/1
S5,S6
判别原始状态表中两个状态是否 等效(等价)的标准: 如果两个状态,对每一位可能的输入都满足下列两 个条件,则这两个状态等效。
1/0
S3
S4
S3
S4
次态相同
输入/输出 1/0 S1 1/0 0/0 S3 0/0 0/0 S3 S2 S1,S2 1/0
次态交错
输入/输出 1/0 S1 S2 1/0 S1,S2
1/0
0/0 S3
0/0
0/0 S3
次态维持
0/0 S1 1/1 S3 1/0 0/1 S5
0/0 S2 1/1 S4 1/0 0/1 0/0 S1 1/1 S3,S4 0/0
从整体上讲,原始状态表已经反映了各状态在
任意输入序列下的输出。
等效状态的三个特点:
●对称性:若(SA,SB),则(SB,SA)。
●自反性:对任何状态,(SA,SA)。 ●传递性:若(SA,SB)且(SB,SC),则(SA,SC)。 等效状态可以合并为一个状态,这种合并不会 改变电路的外部特性。
等效类
4)作最小化状态表 令S1={A},S2={B,C},S3={D,E}
0 S S1 S2 / 1 S2 S2 / 1 S3 S3 / 1
Y X
A B C D E
X
1 S2 / 0 S3 / 0 S2 / 1
0 C /1 C /1 B/1 D/1 D/1
1 B/0 E /0 E /0 B/1 B/1
S ( t 1) / Z
第一,它们的输出完全相同。 第二,它们的次态属于下列情况之一:
1)次态相同
3)后继状态等效
2)次态交错或者次态维持
4)次态循环
在原始状态表中判断状态的等效
X Y
A B C D E
0 B/0 A/0 A/0 E /1 E /1
1 E /1 E /1 D/1 B/0 B/0
输出不相等,则不等效。例如:C和D…
例1: 试化简图示的原始状态表
X Y
A B C D E
等效类:
最大等效类:
{A, B, C} {A, B, C}
{D, E} {D, E}
将所有最大等效类重新命名,令: S1={ A,B,C } S2={ D,E } 则可得到化简后的状态表
Y
X
A B C D E
(最小化状态表):
0 B/0 A/0 A/0 E /1 E /1
1 E /1 E /1 D/1 B/0 B/0
D E
F G
X
X A

X C
E F
G
C/0 C/0
C/1
E/1 G/0
D/0
B
D
请同学自己求出最大等效类、作出最小状态表
7.3.2 不完全给定同步时序电路状态表的化简(了解)
特点:原始状态图(表)中含有无关状态 化简:如何利用无关态
硬件描述语言中的if_else语句和case语句的default 分支可以有效的处理无关状态。 所以,传统的不完全给定同步时序电路状态表的 化简方法不作为教学要求,但课件保留,供学生自学 时参考。
Y
A B C D E
0 B/0 A/0 A/0 E /1 E /1
1 E /1 E /1 D/1 B/0 B/0
B C D E
A
B
C
D
Y( t 1) / Z
例1: 化简图示状态表。
X Y
A B C D E
0 C /1 C /1 B/1 D/1 D/1
1 B/0 E /0 E /0 B/1 B/1
所有的有效输入序列:
指有效输入序列的长度和结构是任意的。
非完全描述原始状态表
对于状态B
现态 A B C
次态/输出 输入X=0
A/d C/1 D/0
输入X=1
d/d B/0 d/1
输入序列0010是有效的,因为它 产生的次态响应序列是CDBC, 是确定的。
D E
d/d A/0
B/d C/1
而输入序列0100是无效的,因为 它产生的次态响应序列是C???, 是不确定的。
Y( t 1) / Z
例2:化简图示原始状态表
因为CF等效,所以AB等效
现态 A B C D
次态/输出 输入X=0 C/0 F/0 F/0 D/1 输入X=1 B/1 A/1 G/0 E/0
B
C
CF
X
X BE
CF等效且AE,BE次态 循环,所以AE等效, X BE也等效。
X AE CF X X X X X X CD DE X X E X F
输出相等时: 1)次态相等,等效。如状态D 和E等效; 2)次态交错,等效。如状态A 和B等效; 3)后继状态等效,等效。此例 中B和C是否等效,要看E和 D是不是等效,因为E和D等 效,所以B和C等效。
Y( t 1) / Z
根据等效的传递性可知,A和B等效,B和C等效,则A和C等效 等效对: (A, B) (B, C) (A, C) (D, E)
有 关 概 念 状态等效 假设状态SA和SB是完全给定同步时序电路状态 表中的两个状态,如果对于所有可能的输入序列, 分别从SA和SB出发,所得到的输出响应序列完全相 同,且次态相同或次态交错或次态循环或后继状态 等效,则两个状态是等效(等价)的,称SA和SB为 等效对,记作:(SA,SB)。可以合并为一个状态。 否则,不等效。 所有可能的输入序列,指输入序列的长度和结 构是任意的。
若干彼此等价的状态构成的集合。
由(SA,SB)和(SB,SC),可以推出(SA,SC), 进而可知SA、 SB 、SC属于同一等价类,记作: (SA,SB), (SB,SC) { SA , SB ,SC }
在等效关系中,等效对是狭义的概念,针对两个状态
而言。等效类是广义的概念,针对若干个状态而言,甚至
第二,它们的次态属于下列情况之一: 1)次态相同 2)次态交错或者次态维持 3)后继状态相容 4)次态循环 (注:一方给定,一方不给定的次态均当作相同)
用隐含表法进行非完全描述状态表的化简的一般步骤: 1)作隐含表,寻找相容状态对。 2)利用完全图(状态合并图),求出最大相容类。
完全图是一种将非完全描述状态表的状态,以“点”的形式均匀
如果两个状态,对每一位可能的输入都满足下
列两个条件,则这两个状态等效。
第一,它们的输出完全相同。 第二,它们的次态属于下列情况之一:
1)次态相同
2)次态交错或者次态维持 3)后继状态等效 4)次态循环
在原始状态图上判别状态的等效
输入/输出
S1 0/0 1/0 S2 0/0 1/0 S1,S2
0/0
7.3 状态化简 通过原始状态图就可以得到一张原始状态表。 本节提出的问题是:这张状态表中的状态数是不是 最少?这直接关系到电路的繁简和优化。 当采用硬件描述语言建模时,关系到PLD器件 中逻辑资源的有效占用。
为求得最简状态表,需要我们将等价的状态从
原始状态表中解析出来,进行化简后形成一张最简 状态表(最小状态表)。
B C D E
BE
BC BE X X X X X X
Y( t 1) / Z
1)作隐含表
A
B
C
DBiblioteka Baidu
2)求等效对 ● 顺序比较 所有“状态对”逐一检查、比较。 等效:方格内画 ; 不等效:方格内画 x ; 与其它状态对有关:方格内填写相关状态对。
●关联比较 若相关状态对都等效,则方格对应的状态对等效。不增 加标志。 若相关状态对有一个不等效,则方格对应的状态对不等 效。画 / 。
最大相容类
不是任何其它相容类子集的相容类。 由于相容状态无传递性,同一原始状态表的各最大相 容类之间可能存在相同状态。
判别原始状态表中两个状态是否 相容的标准: 如果两个状态,对每一位可能的输入都满足下列两个 条件,则这两个状态相容。 第一,它们的输出相同(一方输出给定,一方输出为
无关项,均当作相同)。
相关文档
最新文档