時序電路設計又稱為時序電路綜合,它是時序電路分析的逆過程,即根據(jù)給定的邏輯功能要求,選擇適當?shù)倪壿嬈骷?,設計出符合要求的時序邏輯電路。本文介紹用觸發(fā)器及門電路設計同步時序邏輯電路的方法,這種設計方法的基本指導思想是使用盡可能少的時鐘觸發(fā)器和門電路來實現(xiàn)待設計的時序電路。
設計同步時序電路的一般過程如圖1所示。
圖1 同步時序電路的設計過程
具體的步驟及說明:
1.由給定的邏輯功能求出原始狀態(tài)圖
由于時序電路在某一時刻的輸出信號,不僅與當時的輸入信號有關,而且還與電路原來的狀態(tài)有關。因此設計時序電路時,首先必須分析給定的邏輯功能,從而求出對應的狀態(tài)轉換圖。這種直接由要求實現(xiàn)的邏輯功能求得的狀態(tài)轉換圖叫做原始狀態(tài)圖。正確畫出原始狀態(tài)圖,是設計時序電路的最關鍵的一步,具體的做法是:
(1)分析給定的邏輯功能,確定輸入變量,輸出變量及該電路應包含的狀態(tài),并用字母s0、s1…表示這些狀態(tài)。
(2)分別以上述狀態(tài)為現(xiàn)態(tài),考察在每一個可能的輸入組合作用下應轉到哪個狀態(tài)及相應的輸出,便可求得符合題意的狀態(tài)圖。
2.狀態(tài)化簡
根據(jù)給定要求得到的原始狀態(tài)圖不一定是最簡的,很可能包含多余的狀態(tài),即可以合并的狀態(tài),因此需要進行狀態(tài)化簡或狀態(tài)合并。狀態(tài)化簡是建立在狀態(tài)等價這個概念的基礎上的。所謂狀態(tài)等價,是指在原始狀態(tài)圖中,如果有兩個或兩個以上的狀態(tài),在輸入相同的條件下,不僅有相同的輸出,而且向同一個次態(tài)轉換,則稱這些狀態(tài)是等價的。凡是等價狀態(tài)都可以合并。如圖2中的狀態(tài)s2和s3,當輸入x=0時,輸出z都是0,且都向同一個次態(tài)s0轉換;當x=1時,輸出z都是1,次態(tài)都是s3,所以s2和s3是等價狀態(tài),可以合并為s2,取消s3,即將圖2中代表s3的圓圈及由該圓圈出發(fā)的所有連線去掉,將原先指向s3的連線改而指向s2,得到化簡后的狀態(tài)圖如圖9.1.3所示。 顯然,狀態(tài)化簡使狀態(tài)數(shù)目減少,從而可以減少電路中所需要觸發(fā)器的個數(shù)和門電路的個數(shù)。
圖2原始狀態(tài)圖
圖3圖2的簡化狀態(tài)圖
3.狀態(tài)編碼,并畫出編碼形式的狀態(tài)圖及狀態(tài)表
在得到簡化的狀態(tài)圖后,要對每一個狀態(tài)指定一個二進制代碼,這就是狀態(tài)編碼(或稱狀態(tài)分配)。編碼的方案不同,設計的電路結構也就不同。編碼方案選擇得當,設計結果可以很簡單。為此,選取的編碼方案應該有利于所選觸發(fā)器的驅動方程及電路輸出方程的簡化。為了便于記憶和識別,一般選用的狀態(tài)編碼都遵循一定的規(guī)律,如用自然二進制碼。編碼方案確定后,根據(jù)簡化的狀態(tài)圖,畫出編碼形式的狀態(tài)圖及狀態(tài)表。
4.選擇觸發(fā)器的類型及個數(shù)
按照下式選擇觸發(fā)器的個數(shù)n
2n-1<m≤2n
其中m是電路包含的狀態(tài)個數(shù)。
5.求電路的輸出方程及各觸發(fā)器的驅動方程
根據(jù)編碼后的狀態(tài)表及觸發(fā)器的驅動表可求得電路的輸出方程和各觸發(fā)器的驅動方程。
6.畫邏輯電路圖,并檢查自啟動能力