複製鏈接
請複製以下鏈接發送給好友

時序電路

鎖定
雖然每個數字電路系統可能包含有組合電路,但是在實際應用中絕大多數的系統還包括存儲元件,我們將這樣的系統描述為時序電路。
時序電路,是由最基本的邏輯門電路加上反饋邏輯迴路(輸出到輸入)或器件組合而成的電路,與組合電路最本質的區別在於時序電路具有記憶功能。
中文名
時序電路
外文名
Sequential Circuits
全    稱
時序邏輯電路
設    計
6步
特    點
具有記憶功能

時序電路基本介紹

雖然組合邏輯電路能夠很好地處理像加、減等這樣的操作,但是要單獨使用組合邏輯電路,使操作按照一定的順序執行,需要串聯起許多組合邏輯電路,而要通過硬件實現這種電路代價是很大的,並且靈活性也很差。為了實現一種有效而且靈活的操作序列,我們需要構造一種能夠存儲各種操作之間的信息的電路,我們稱這種電路為時序電路。
組合電路和存儲元件互聯後組成了時序電路。存儲元件是能夠存儲二進制信息的電路。存儲元件在某一時刻存儲的二進制信息定義為該時刻存儲元件的狀態。時序電路通過其輸入端從周圍接受二進制信息。時序電路的輸入以及存儲元件的當前狀態共同決定了時序電路輸出的二進制數據,同時它們也確定了存儲元件的下一個狀態。時序電路的輸出不僅僅是輸入的函數,而且也是存儲元件的當前狀態的函數。存儲元件的下一個狀態也是輸入以及當前狀態的函數。因此,時序電路可以由輸入、內部狀態和輸出構成的時間序列完全確定。
邏輯設計領域主要有兩種類型的時序電路,它們分類的標準取決於我們觀察到的輸入信息的時機和內部狀態改變的時機。同步時序電路 [1] synchronous sequential circuit)的行為可以根據其在離散的時間點上的信號信息來定義。而 [2]  異步時序電路asynchronous sequential circuit
時序電路的特點是:輸出不僅取決於當時的輸入值,而且還與電路過去的狀態有關。它類似於含儲能元件的電感或電容的電路,如觸發器、鎖存器計數器移位寄存器存儲器等電路都是時序電路的典型器件,時序邏輯電路的狀態是由存儲電路來記憶和表示的。

時序電路分析

時序電路的行為是由輸入、輸出和電路當前狀態決定的。輸出和下一狀態是輸入和當前狀態的函數。通過對時序電路進行分析,可以得到關於輸入、輸出和狀態三者的時序的一個合理描述。
如果一個電路包含這樣的觸發器,該觸發器的時鐘輸入是直接驅動或者有一個時鐘信號間接驅動的,同時這個電路在正常執行時不需加載直接置位和間接置位,那麼我們就稱這個電路為同步時序電路。觸發器可以是任何類型的,邏輯圖可以包括也可以不包括組合邏輯。

時序電路輸入方程

時序電路的邏輯圖通常包括觸發器和組合門。我們所使用地觸發器類型和組合電路的一系列布爾函數為我們提供了繪製時序電路邏輯圖所需要的全部信息。在組合邏輯電路中,觸發器輸入信號的產生,可以用一系列的布爾函數描述,我們稱這些布爾函數為觸發器的輸入方程(flip-flop input equation)。在這裏,我們同樣將採用傳統的表示方法,使用觸發器的輸入符號作為觸發器輸入方程中的變量,使用觸發器的輸出符號作為變量下標。在組合電路中,觸發器的輸入方程是一系列 [3]  布爾表達式,下表變量是組合電路的輸出符號。因為在電路中觸發器的輸出端始終與輸入端相連,所以命名為“觸發器的輸入方程”。
觸發器輸入方程為指定時序電路的邏輯圖提供了一種間接的代數表達方法。這些方程的字母符號隱含了所用的觸發器的類型,同時完全確定了驅動觸發器的組合邏輯電路。時間變量在觸發器輸入方程中沒有指明,但是已經暗含在觸發器C輸入端的時鐘之中。

時序電路狀態表

時序電路的輸入、輸出和觸發器的狀態之間的函數關係可以用狀態表(state table)列舉出來。狀態表包括四個部分,分別標記為當前狀態(present state)、輸入(input)、下一狀態(next state)和輸出(output)。當前狀態表示觸發器A和B在任意給定時刻t的狀態。輸入部分表示在每個可能的當前狀態下的輸入X值。注意,對於每種可能的輸入組合,每個當前狀態都不斷重複出現。下一狀態表示觸發器在一個時鐘週期後的狀態,即t+1時刻的狀態。輸出部分表示t時刻在給定的當前狀態和輸入組合下輸出Y值。
由此推導出的狀態表包括了所有可能的當前狀態和輸入信號的二進制組合。

時序電路狀態圖

狀態表中的有用信息可以通過狀態圖以圖形化的方式表現出來。在狀態圖中,狀態用圓圈表示,狀態之間的轉換用連接這些圓圈的有向線段表示。狀態圖是通過狀態表直接得到的,與狀態表提供了相同的信息。每個圓圈內的二進制數值定義了觸發器的一個狀態。在米粒型電路中,狀態轉換的有向線段上都標記了兩個二進制數值,它們之間用斜線隔開,斜線前面的數值表示當前狀態的輸入,斜線後面的數值表示當前狀態和給定輸入下的輸出。一個連接到自身圓圈的有向線段意味着沒有發生狀態轉換。穆爾型電路在狀態轉換的有向線段上沒有斜線,取而代之的是,輸出是在圓圈中狀態值下的斜線下表示出來的。在狀態圖中,每個狀態的轉換有兩個輸入條件,用都點分開。當有兩個輸入變量時,每個狀態可能要有四個有向線段從響應的狀態圖中發出,這要依賴於狀態的數量和每個輸入組合的下一個狀態。
除了表示方式不同,狀態表和狀態圖是沒有區別的。狀態表易於從給定的邏輯圖和輸入方程中得出,而狀態圖可以直接從狀態表中得出。狀態圖給出了狀態的圖形化表示,更便於我們理解電路的操作過程。

時序電路設計

鍾控時序邏輯電路的設計從一組規格説明書開始,繼而得到邏輯圖或一系列布爾函數,再從中生成邏輯圖。時序電路和組合電路的不同之處在於,組合電路定義完全由真值表定義,而時序邏輯電路需要用狀態表定義。所以,時序電路設計的第一步就是得到狀態,或和狀態具有相同信息表達能力的其它邏輯表示形式,如狀態圖等。
同步時序電路是由觸發器和組合門組成的。電路設計包括選擇觸發器和設計組合邏輯結構,保證這個組合邏輯結構和觸發器組成的電路可以實現狀態規格説明書中的預期目標。所需觸發器的最小個數是由電路狀態的個數決定的;n個觸發器可以表示2^n個二進制狀態。組合電路是通過計算觸發器的輸入方程和輸出方程從狀態表中得到的。實際上,一旦觸發器的類型和數量確定或,設計步驟就由對一個時序電路的設計轉換為一個組合電路的設計。用這種方法,就可以使用組合電路設計技術。

時序電路設計步驟

下面提到的時序電路的設計步驟與組合電路類似,但還需要一些額外的步驟。
1.規格説明書:如果沒有,先寫出電路的規格説明書。
2.系統描述:從問題的陳述中得出狀態圖或狀態表。
3.狀態賦值:如果通過步驟1中只能得到狀態圖,則在從狀態圖中得到狀態表。並未狀態表中的每個狀態賦二進制代碼
4.得到觸發器的輸入方程:選擇一種或多種類型的觸發器,通過已經編碼的狀態表中的下一狀態得到觸發器的狀態方程。
5.得到輸出方程:通過狀態表中的輸出信號欄得到輸出方程。
6.優化:優化觸發器的輸入方程和輸出方程。
7.工藝映射:畫出電路由觸發器、與門或門和反向器所組成的邏輯圖。將這個邏輯圖轉換為由有效的觸發器和門工藝組成的新的邏輯圖。
8.驗證:驗證最終設計的正確性。
為了方便起見,我們一般都省略步驟7即工藝映射,而在示意圖中僅使用觸發器、與門、或門和反向器。
參考資料