在數字電路理論中,時序邏輯電路是指電路任何時刻的穩態輸出不僅取決於當前的輸入,還與前一時刻輸入形成的狀態有關。這跟組合邏輯電路相反,組合邏輯的輸出只會跟目前的輸入成一種函數關係。換句話說,時序邏輯擁有儲存元件(記憶體)來存儲信息,而組合邏輯則沒有。
從時序邏輯電路中,可以建出兩種形式的有限狀態機:
- 摩爾型有限狀態機:輸出只跟內部的狀態有關。(因為內部的狀態只會在時脈觸發邊緣的時候改變,輸出的值只會在時脈邊緣有改變)
- 米利型有限狀態機:輸出不只跟目前內部狀態有關,也跟現在的輸入有關係。
時序邏輯因此被用來建構某些形式的電腦的記憶體,延遲跟儲存單元,以及有限狀態自動機。大部分現實的電腦電路都是混用組合邏輯跟時序邏輯。
同步時序電路中所有存儲元件都在時鐘脈衝CP的統一控制下,用觸發器作為存儲元件。幾乎現在所有的時序邏輯都是「同步邏輯」:有一個「時鐘」訊號,所有的內部記憶體('內部狀態')只會在時鐘的邊沿時候改變。在時序邏輯中最基本的儲存元件是正反器。
同步邏輯最主要的優點是它很簡單。每一個電路裡的運算必須要在時鐘的兩個脈衝之間固定的間隔內完成,稱為一個 '時鐘週期'。只有在這個條件滿足下(不考慮其他的某些細節),電路才能保證是可靠的。
同步邏輯也有兩個主要的缺點:
- 時鐘訊號必須要分佈到電路上的每一個正反器。而時鐘通常都是高頻率的訊號,這會導致功率的消耗,也就是產生熱量。即使每個正反器沒有做任何的事情,也會消耗少量的能量,因此會導致廢熱產生。
- 最大的可能時鐘頻率是由電路中最慢的邏輯路徑決定,也就是關鍵路徑。意思就是說每個邏輯的運算,從最簡單的到最複雜的,都要在每一個時脈的周期中完成。一種用來消除這種限制的方法,是將複雜的運算分開成為數個簡單的運算,這種技術稱為「流水線」。這種技術在微處理器中非常的顯著,用來幫處提升現今處理器的時鐘頻率。
觸發器是一種具有記憶能力、構成時序邏輯的基本單元電路。一個觸發器能「存儲」一位二進制數字信息:「0」或「1」。
- 一個觸發器有兩個穩定狀態:
- 「0」狀態:Q=0,=1;
- 「1」狀態:Q=1,=0。
- 觸發器(FF)應具有以下功能:
- 在新數據輸入之前(無觸發信號)時,觸發器一直保持原來的狀態(原數據)不變。
- 輸入信號觸發下,它能從一種狀態轉換為另一種狀態。即:FF能夠「接收」「保持」並「輸出」數字信息。
- 觸發器(FF)的分類:
- 從功能分:
- RS觸發器(置0、置1觸發器)
- JK觸發器(多功能觸發器)
- D觸發器(延遲觸發器)
- T觸發器(翻轉觸發器)
- 從結構分:
- 基本RS觸發器
- 同步觸發器(時鐘CP-FF)
- 主從觸發器
- 維持-阻塞觸發器(WZ-FF)
- CMOS邊沿觸發器
- 從觸發方式分:
- 電位觸發:
- 高電位觸發
- 低電位觸發
- 邊沿觸發:
- 上升沿觸發
- 下降沿觸發
非同步時序邏輯是循序邏輯的普遍本質,但是由於它的彈性關係,他也是設計上困難度最高的。最基本的儲存元件是鎖存器。鎖存器可以在任何時間改變它的狀態,依照其他的鎖存器訊號的變動,他們新的狀態就會被產生出來。非同步電路的複雜度隨著邏輯閘的增加,而複雜性也快速的增加,因此他們大部分僅僅使用在小的應用。然而,電腦輔助設計工具漸漸的可以簡化這些工作,允許更複雜的設計。
也可能建造出混合的電路,包含有同步的觸發器和異步的鎖存器(它們都是雙穩態元件)。