閂鎖(英語:latch),或稱鎖存器,是數位電路中非同步時序邏輯電路系統中用來儲存資訊的一種電子電路。一個閂鎖可以儲存一位元的資訊,通常會有多個一起出現,有些會有特別的名稱,像是 「4位元閂鎖」(可以儲存四個位元)或「8位元閂鎖」(可以儲存八個位元)等等。
「閂鎖」的各地常用名稱 | |
---|---|
中國大陸 | 鎖存器 |
臺灣 | 鎖存器、閂鎖 |
港澳 | 鎖存器 |
SR閂鎖
![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/92/SR_Flip-flop_Diagram.svg/220px-SR_Flip-flop_Diagram.svg.png)
最簡單的閂鎖是「SR閂鎖」,(又有稱為「RS閂鎖」),其中「S」表示「設定」(Set),「R」表示「重設」(Reset)。這種閂鎖是由一對相互交錯的NAND邏輯閘組成。儲存的位元是在輸出的地方用表示。
一般來說,在儲存模式中,輸入及的電壓都是高的,邏輯上的1(邏輯一)(換句話說,S及R的電壓應該是低的,邏輯上的0(邏輯零)),而輸出及則維持其原有的數值,其中為的相反。但當(設定)被設定為邏輯零而是邏輯一的時候,輸出就會變成邏輯一。之後無論是否回復到邏輯一,亦會維持邏輯一的狀態。另一方面,如果(重設)被設定為邏輯零而是邏輯一的時候,輸出就會變成邏輯零。同樣地,無論是否恢復到邏輯一,亦會維持邏輯零的狀態。要注意一點就是及都不可以同一時間為邏輯上的0,故我們要在設計上避免這一個情況出現。
SR閂鎖真值表
(注意:這裡用的是S及R,而非文中的及) | ||||
S | R | Q | Qnext | 解釋 |
0 | 0 | 0 | 0 | 維持 |
0 | 0 | 1 | 1 | 維持 |
0 | 1 | 0 | 0 | 重設 |
0 | 1 | 1 | 0 | 重設 |
1 | 0 | 0 | 1 | 設定 |
1 | 0 | 1 | 1 | 設定 |
1 | 1 | 0 | - | 不允許 |
1 | 1 | 1 | - | 不允許 |
門控D閂鎖
門控D閂鎖由SR閂鎖擴充而成,增加了兩個及閘,一個反閘和兩個輸入:資料()及門控(,或寫為時鐘脈衝,Clock Pulse 等)。S輸入端被設定為D AND G,同時R輸入端被設定為 AND G。當G為低電平(0)時,輸出保持不變(換言之, Qnext等於Q)。當G為高電平(1)時,輸出(Q)與D相同。
門控D閂鎖真值表 | ||||
輸入:門控 G | 輸入:資料 D | 狀態 Q | 狀態 Qnext | 備註 |
0 | 0 | 0 | 0 | G 為 0,故保持原狀態 |
0 | 0 | 1 | 1 | G 為 0,故保持原狀態 |
0 | 1 | 0 | 0 | G 為 0,故保持原狀態 |
0 | 1 | 1 | 1 | G 為 0,故保持原狀態 |
1 | 0 | 0 | 0 | G 為 1,置數 Qnext = D |
1 | 0 | 1 | 0 | G 為 1,置數 Qnext = D |
1 | 1 | 0 | 1 | G 為 1,置數 Qnext = D |
1 | 1 | 1 | 1 | G 為 1,置數 Qnext = D |
參考
- 正反器
- 透通閂鎖