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