锁存器
| 「閂鎖」的各地常用名稱 | |
|---|---|
| 中国大陸 | 锁存器 |
| 港澳 | 鎖存器 |
| 臺灣 | 鎖存器、閂鎖 |
閂鎖(英語:latch),或稱闩锁,是數位電路中非同步时序邏輯電路系統中用來儲存資訊的一種電子電路。一個锁存器可以儲存一位元的資訊,通常會有多個一起出現,有些會有特別的名稱,像是 「4位锁存器」(可以儲存四個位元)或「8位锁存器」(可以儲存八個位元)等等。
SR锁存器
[编辑]
最簡單的锁存器是“SR锁存器”(又称为“RS锁存器”),其中“S”表示“設定(Set)”,“R”表示“重設(Reset)”,儲存的位元是在輸出的地方用Q表示。當S被啟動時,會將輸出Q設為邏輯1,而當R被啟動時,會將輸出Q設為邏輯0。
而鎖存器輸入端R和S依據啟動的條件的不同,可分為“高態動作”以及“低態動作”兩種類型。當輸入邏輯1而啟動時,為“高態動作”,當輸入邏輯零啟動時為“低態動作”。以下使用低態動作的SR鎖存器做為範例進行說明。這種锁存器是由一對相互交錯的NAND邏輯閘組成。
一般來說,在存儲模式中,輸入端S及R的電壓都是高電位,為邏輯上的1,而輸出Q及Q則維持其原有的數值,其中Q為Q的相反。但當S被設定為邏輯0,R設定為邏輯1的時候,輸出Q就會變成邏輯1。之後無論S是否恢復到邏輯1,Q仍會維持邏輯1的狀態。另一方面,如果R被設定為邏輯0而S是邏輯1的時候,輸出Q就會變成邏輯0。同樣地,無論R是否恢復到邏輯1,Q仍會維持邏輯0的狀態。
要注意一點就是S及R都不可以同一時間為邏輯上的0,因為當兩端皆輸入零,Q與Q都會輸出1,而這跟Q與Q互為相反的定義矛盾,故我們要在設計上避免這一個情況出現。
| SR锁存器真值表(低態動作) | ||||
| Q | Qnext | 解釋 | ||
| 0 | 0 | 0 | - | 不允許 |
| 0 | 0 | 1 | - | 不允許 |
| 0 | 1 | 0 | 1 | 設定 |
| 0 | 1 | 1 | 1 | 設定 |
| 1 | 0 | 0 | 0 | 重設 |
| 1 | 0 | 1 | 0 | 重設 |
| 1 | 1 | 0 | 0 | 維持 |
| 1 | 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 |