顺序逻辑

在數位電路理論中，**序向邏輯電路**是指電路任何時刻的穩態輸出不僅取決於當前的輸入，還與前一時刻輸入形成的狀態有關。這跟組合邏輯電路相反，組合邏輯的輸出只會跟目前的輸入成一種函數關係。換句話說，時序邏輯擁有儲存元件（記憶體）來存儲信息，而組合邏輯則沒有。

從時序邏輯電路中，可以建出兩種形式的有限狀態機：

* 摩爾型有限狀態機：輸出只跟內部的狀態有關。（因為內部的狀態只會在時脈觸發邊緣的時候改變，輸出的值只會在時脈邊緣有改變）
* 米利型有限狀態機：輸出不只跟目前內部狀態有關，也跟現在的輸入有關係。

時序邏輯因此被用來建構某些形式的電腦的記憶體，延遲跟儲存單元，以及有限狀態自動機。大部分現實的電腦電路都是混用組合邏輯跟時序邏輯。

## 特點

* 功能特點：電路在某取樣周期內的穩態輸出 Y (n)，不僅取決於該取樣周期內的「即刻輸入 X (n)」，而且還與電路原來的狀態 Q (n) 有關。（通常 Q (n) 記錄了以前若干周期內的輸入情況）
* 結構特點：除含有組合電路外，時序電路必須含有存儲信息的有記憶能力的電路：正反器、暫存器、計數器等。

## 時序電路框圖

## 功能描述方法

* 邏輯表達式
  * 輸出方程組

$$
{\begin{cases}y_{1}=f_{1}(x_{1},x_{2},...x_{i},q_{1},q_{2},...q_{k})\\y_{2}=f_{2}(x_{1},x_{2},...x_{i},q_{1},q_{2},...q_{k})\\...\\y_{j}=f_{j}(x_{1},x_{2},...x_{i},q_{1},q_{2},...q_{k})\end{cases}}
$$

* * 驅動（激勵）方程組

$$
{\begin{cases}z_{1}=g_{1}(x_{1},x_{2},...x_{i},q_{1},q_{2},...q_{k})\\z_{2}=g_{2}(x_{1},x_{2},...x_{i},q_{1},q_{2},...q_{k})\\...\\z_{j}=g_{j}(x_{1},x_{2},...x_{i},q_{1},q_{2},...q_{k})\end{cases}}
$$

* * 狀態（次態）方程組

$$
{\begin{cases}q_{1_{(n+1)}}=h_{1}(z_{1},z_{2},...z_{k},q_{1_{(n)}},q_{2_{(n)}},...q_{k_{(n)}})\\q_{2_{(n+1)}}=h_{2}(z_{1},z_{2},...z_{k},q_{1_{(n)}},q_{2_{(n)}},...q_{k_{(n)}})\\...\\q_{k_{(n+1)}}=h_{k}(z_{1},z_{2},...z_{k},q_{1_{(n)}},q_{2_{(n)}},...q_{k_{(n)}})\end{cases}}
$$

## 時序電路分類

1. 按「功能、用途」分為：
  1. 暫存器；
  2. 計數（分頻）器；
  3. 順序（序列）脈衝產生器；
  4. 順序脈衝檢測器；
  5. 碼組變換器；…
2. 按各正反器的「動作特性」分為：
  1. 同步時序電路：電路中所有正反器的狀態變化同步進行。其時鐘方程：CP1= CP2=…= CPK= CP↓（或 CP↑）。即：所有 CP 端聯在一起，由 CP 訊號同一有效沿觸發。
  2. 異步時序電路：
    1. 電路中根本沒有 CP 同步訊號。
    2. 各正反器不是用同一 CP 脈衝的同一有效沿觸發的。
3. 摩爾（Moore）型和米里（Mealy）型
  1. 摩爾型：電路的輸出 Yn，只取決於各正反器的輸出 Q n，而與外輸入 X n 無關。即：Yn＝F（Q n）。
  2. 米里型：電路的輸出 Yn，不僅取決於各正反器的輸出 Q n，而且還與外輸入 X n 有關。即：Yn＝F（Q n，X n）。
4. 「完全描述的」和「非完全描述的」含有 K 個狀態變量（K 個正反器）的時序電路，最多可描述 K 個不同狀態。
  1. 若電路功能必須用個狀態來描述，則稱之為「完全描述的」（二進位的）；
  2. 若只用個狀態中的一部分來描述，則稱之為「非完全描述的」（非二進位的）。

## 同步序向邏輯電路

同步時序電路中所有存儲元件都在時鐘脈衝 CP 的統一控制下，用正反器作為存儲元件。幾乎現在所有的時序邏輯都是「同步邏輯」：有一個「時鐘」訊號，所有的內部記憶體（' 內部狀態 '）只會在時鐘的邊沿時候改變。在時序邏輯中最基本的儲存元件是正反器。

同步邏輯最主要的優點是它很簡單。每一個電路裡的運算必須要在時鐘的兩個脈衝之間固定的間隔內完成，稱為一個 ' 時鐘週期 '。只有在這個條件滿足下（不考慮其他的某些細節），電路才能保證是可靠的。

同步邏輯也有兩個主要的缺點：

1. 時鐘訊號必須要分佈到電路上的每一個正反器。而時鐘通常都是高頻率的訊號，這會導致功率的消耗，也就是產生熱量。即使每個正反器沒有做任何的事情，也會消耗少量的能量，因此會導致廢熱產生。
2. 最大的可能時鐘頻率是由電路中最慢的邏輯路徑決定，也就是關鍵路徑。意思就是說每個邏輯的運算，從最簡單的到最複雜的，都要在每一個時脈的周期中完成。一種用來消除這種限制的方法，是將複雜的運算分開成為數個簡單的運算，這種技術稱為「流水線」。這種技術在微處理器中非常的顯著，用來幫處提升現今處理器的時鐘頻率。

### 描述同步序向邏輯電路的方法

* 功能表
* 特性表
* 特性方程
* 狀態圖
* 狀態表
* 激發表
* 時間圖

### 同步序向邏輯電路的存儲元件 —— 正反器

正反器是一種具有記憶能力、構成序向邏輯的基本單元電路。一個正反器能「存儲」一位二進位數位信息：「0」或「1」。

1. 一個正反器有兩個穩定狀態：
  1. 「0」狀態：Q＝0，＝1；
  2. 「1」狀態：Q＝1，＝0。
2. 正反器（FF）應具有以下功能：
  1. 在新數據輸入之前（無觸發訊號）時，正反器一直保持原來的狀態（原數據）不變。
  2. 輸入訊號觸發下，它能從一種狀態轉換為另一種狀態。即：FF 能夠「接收」「保持」並「輸出」數位信息。
3. 正反器（FF）的分類：
  1. 從功能分：
    1. RS 正反器（置 0、置 1 正反器）
    2. JK 正反器（多功能正反器）
    3. D 正反器（延遲正反器）
    4. T 正反器（翻轉正反器）
  2. 從結構分：
    1. 基本 RS 正反器
    2. 同步正反器（時鐘 CP-FF）
    3. 主從正反器
    4. 維持 - 阻塞正反器（WZ-FF）
    5. CMOS 邊沿正反器
  3. 從觸發方式分：
    1. 電位觸發：
      1. 高電位觸發
      2. 低電位觸發
    2. 邊沿觸發：
      1. 上升沿觸發
      2. 下降沿觸發

## 非同步邏輯（異步邏輯）

非同步時序邏輯是循序邏輯的普遍本質，但是由於它的彈性關係，他也是設計上困難度最高的。最基本的儲存元件是閂鎖。閂鎖可以在任何時間改變它的狀態，依照其他的閂鎖訊號的變動，他們新的狀態就會被產生出來。非同步電路的複雜度隨著邏輯閘的增加，而複雜性也快速的增加，因此他們大部分僅僅使用在小的應用。然而，電腦輔助設計工具漸漸的可以簡化這些工作，允許更複雜的設計。

也可能建造出混合的電路，包含有同步的正反器和異步的閂鎖（它們都是雙穩態元件）。

## 參考文獻

* K**atz, R, and Boriello, G. _Contemporary Logic Design_. 2nd ed. Prentice Hall. 2005. ISBN 0-201-30857-6.**
* Zvi Kohavi, Niraj K. Jha. _Switching and Finite Automata Theory_. 3rd ed. Cambridge University Press. 2009. ISBN 978-0-521-85748-2
* V. O. Vasyukevich. (2009). _Asynchronous logic elements. Venjunction and sequention_ — 118 p.

## 相關條目

* 時序收斂