将任何一组输入变量及电路的初态的取值代入状态方程和输出方程,即可算出电路的状态和现态下的输出值;以得到的次态作为新的初态,和这时的输入变量取值一起再代入状态方程和输出方程计算,又得到一组新的次态和输出方程。如此下去,将全部的计算结果列成真值表的形式,就得到了状态转换表。
状态转换表(state transition table)是表格形式的
状态转换图,两者本质是相同的。状态转换表有两种形式,一种是使用现态和次态表达时钟脉冲到达前后的状态变化,这种方法不需要单独列出时钟脉冲;另一种是按照时间前后顺序依次将各个状态列出,这种方法需要在状态转换表左侧列出时钟脉冲CP的变化秩序。
第一种方法,现态作为输入列在左侧,次态作为输出列在右侧。填写状态转换表时,先将输入按照普通真值表的填法,列出所有取值可能,一次全部填人,然后按照每行的现态去填写相对应的次态,直到全部完成。
第二种方法在表格中为了表示先后顺序(状态转换图中的箭头),用时钟脉冲个数的顺序递增来表示状态的先后顺序。这种方法首先假设CP为0,从
状态转换图中任意选择一个状态,然后按照状态转换图中的状态转换秩序(箭头方向)在状态转换表中依次排列,并逐渐增大时钟脉冲CP的数值。当状态转换图中一个循环完成时,要画一个箭头从最末状态指向第一个状态,然后令CP为0,在剩余状态中再选一个状态,根据这个状态的转换秩序依次向下排列,直到出现前面已经有过的状态,然后用箭头指向这个已有状态,直到所有状态都已经出现在状态转换表里。
如果是
真值表形式的状态转换表,在画状态转换图时,任意从表中左侧选择一个状态作为现态写下来,从后面画一个箭头指向次态,这个次态为表中现态对应的右侧状态,然后再将这个次态作为现态,从后面画一个新箭头,再去表中查找对应次态,依次完成状态转换表中所列全部状态即可完成整个状态转换图。
如果是带
时钟脉冲CP的状态转换表,在画状态转换图时,只需按时钟脉冲CP的顺序依次用箭头将各个状态连接起来就可以了,相对简单一些。时序逻辑中除了现态作为输入变量,次态作为输出变量外,比较复杂些的时序逻辑都会额外具有输入、输出变量,在将状态转换表转换为
状态转换图时,必须妥善处理这些变量。