概念
狀態轉換表(state transition table)是表格形式的狀態轉換圖,兩者本質是相同的。狀態轉換表有兩種形式,一種是使用現態和次態表達時鐘脈衝到達前後的狀態變化,這種方法不需要單獨列出時鐘脈衝;另一種是按照時間前後順序依次將各個狀態列出,這種方法需要在狀態轉換表左側列出時鐘脈衝CP的變化秩序。
第一種方法,現態作為輸入列在左側,次態作為輸出列在右側。填寫狀態轉換表時,先將輸入按照普通真值表的填法,列出所有取值可能,一次全部填人,然後按照每行的現態去填寫相對應的次態,直到全部完成。
第二種方法在表格中為了表示先後順序(狀態轉換圖中的箭頭),用時鐘脈衝個數的順序遞增來表示狀態的先後順序。這種方法首先假設CP為0,從狀態轉換圖中任意選擇一個狀態,然後按照狀態轉換圖中的狀態轉換秩序(箭頭方向)在狀態轉換表中依次排列,並逐漸增大時鐘脈衝CP的數值。當狀態轉換圖中一個循環完成時,要畫一個箭頭從最末狀態指向第一個狀態,然後令CP為0,在剩餘狀態中再選一個狀態,根據這個狀態的轉換秩序依次向下排列,直到出現前面已經有過的狀態,然後用箭頭指向這個已有狀態,直到所有狀態都已經出現在狀態轉換表里。
在時序邏輯設計時,狀態轉換表主要用來將狀態轉換圖轉換為邏輯表達式。在時序邏輯分析時,狀態轉換表用來將邏輯表達式轉換為狀態轉換圖。
建立狀態轉換表
下面的方法可以用來建立狀態轉換表:
(1)確定電路中觸發器的輸入方程和輸出方程。
(2)利用以下方程,由觸發器的輸人方程導出次態方程:
D觸發器
D—CE觸發器
T觸發器
S—R觸發器
J—K觸發器
(3)為每一個觸發器畫出次態卡諾圖。
(4)將這些圖綜合成一個狀態轉換表。狀態轉換表中,觸發器的次態是現態和電路輸入信號的函式。
狀態轉換錶轉換為狀態轉換圖
如果是真值表形式的狀態轉換表,在畫狀態轉換圖時,任意從表中左側選擇一個狀態作為現態寫下來,從後面畫一個箭頭指向次態,這個次態為表中現態對應的右側狀態,然後再將這個次態作為現態,從後面畫一個新箭頭,再去表中查找對應次態,依次完成狀態轉換表中所列全部狀態即可完成整個狀態轉換圖。
如果是帶時鐘脈衝CP的狀態轉換表,在畫狀態轉換圖時,只需按時鐘脈衝CP的順序依次用箭頭將各個狀態連線起來就可以了,相對簡單一些。時序邏輯中除了現態作為輸入變數,次態作為輸出變數外,比較複雜些的時序邏輯都會額外具有輸入、輸出變數,在將狀態轉換錶轉換為狀態轉換圖時,必須妥善處理這些變數。