[Addition]非确定状态下的状态化简

上一篇文章花了不少篇幅讲到状态的归并化简.但对于非完全确定状态表(即有无关项的)表格效果不佳.这次从另外一个地方(http://ranxb.cn/2018/01/06/数字电路第六章:同步时序逻辑电路——上(状态编码之前)/#同步时序逻辑电路的设计)找到了一篇文章补上.这篇文章的其他部分也可以作为上一篇未尽部分的参考.


不确定的次态输出

这种电路的状态表包含着不确定的次态或输出,所以,是一种不完全确定电路。并不是任何输出序列都是有效的。不完全确定状态表的化简是基于相容状态的,再利用任意项可使状态表化的更简。

  • 相容状态——在不完全确定表中,假设S1和S2为初始状态,如果对于所有的有效输入序列从状态S1和S2出发他们相应的输出序列(只针对输出)(除不确定的那些之外)是完全相同的,那么状态S1和S2是相容的,或者说S1和S2是相容对,记作(S1,S2)
    相容状态的条件——在所有可能输入条件下,两个状态对应的输出相同,或者其中一个(或两个)输出为任意值;并且它们的次态相同、交错、循环、相容,或者其中一个(或两个)为任意状态,那么这两个状态是相容的。
  • 相容类——由彼此相容的状态构成的集合,处于同一相容类中的所有状态之间都是两两相容的。
  • 非传递性——状态等效具有传递性,而状态相容不具有传递性。 因此,若要求(S1, S2,S3)相容,则必须(S1,S2), (S2,S3),(S1,S3)都是相容对。也就是说,相容类中所有状态之间都分别是两两相容的
  • 最大相容类——若一个相容类不是任何其他相容类的子集,则该相容类称为最大相容类。
    相容对无传递性,同一状态可出现在多个最大相容类中

Example:

在这里插入图片描述
对于上图这样的一个表格,AB同输入下输出相同(无效态d可认为是通配符*),X=0下循环(A->B,B->A),X=1下均指向C(通配符注意),所以满足输出条件和次态条件,AB等效.
又BC满足输出条件,次态可认为相同,所以BC相容.
但AC并不相容,因为没有传递性.


非确定的电路设计

  1. 作隐含表,寻找相容状态对
    利用隐含表寻找相容对的过程与化简完全确定状态表时寻 找等效对的过程相同,但判断规则不同。
  2. 利用状态合并图,求出最大相容类
    将状态表的所有状态以“点”的形式均匀地绘在圆周上,然后把所有相容对用线段连接起来。若某些顶点任意两点之间都有连线,则这些顶点状态的集合构成一个最大相容类。
  3. 利用闭覆盖表,求最小闭覆盖
    从最大相容类(或相容类)中选出相容类的集合,该相容类集合 满足以下3个条件:
    a. 覆盖—即所选相容类集合应包含原始状态表的全部状态。
    b. 最小—即所选相容类集合中相容类个数应最少。
    c. 闭合—即所选相容类集合中的任一相容类,在原始状态表中任一输入条件下产生的次态组合应该属于该集合中的某一个相容类。(?)
    校验表大致如下:
    在这里插入图片描述
    同样,d视作通配符,怎么简单怎么设定.
    在表的左边自上而下列出所选相容类,表的中间覆盖部分自左到右列出全部状态,表的右边闭合部分列出各相容类在输入各种取值组合下的次态组合。必须指出,这里所说的相容类包括最大相容类和它们的子类。
    找到了覆盖闭合最小之后,就可以画出最简状态表:
    在这里插入图片描述接下来就是按照常规思路继续设计了.有不确定态的主要是相容和等效的区别,判定规则和性质的不同特别需要注意.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值