鎖存器與觸發器
來源 https://zhuanlan.zhihu.com/p/363273167
常見存儲電路
RS鎖存器
鎖存器的機制為電平觸發。基本的RS鎖存器有兩個輸入端:set端和reset端。兩個輸出端:Q和Q非
以下圖為例:

- 當置位時,SD位為1,RD位為0 ——>Q為1,Q非為0
- 當復位時,SD位為0,RD位為1—— >Q為0,Q非為1
可以看出這時Q的狀態就是鎖存器的狀態
- 鎖存器可以存值的原理:
已復位為例,假設此時輸入端的激勵信號消失,那么SD和RD都為0。
此時G1門的輸入端的Q非應該為上次復位時的值1(時序電路的特點) - 禁止出現SD為1,RD也為1的情況。(既復位又置位),會導致Q的狀態不確定。
- RS鎖存器也可使用與非門實現(低電平有效)

D鎖存器
與非門實現的D鎖存器結構如下:

- 可以看出,當C=1時,該鎖存器有效。此時D的狀態決定了Qn+1的狀態

- 當C被拉高時,Q的狀態隨着D的狀態變化
- 當C被拉低時,鎖存此時D的狀態
但觸發器會出現空翻現象,即當C有效,D不斷變化時,一次時鍾來到期間,觸發器多次翻轉
主從D觸發器
觸發器是邊沿觸發的。主從D觸發器可以很好地解決空翻現象

- F1為主觸發器,F2為從觸發器
- 主從D觸發器為邊沿觸發
當激勵產生,CLK=0,D=1,F1工作,此時Q1=1,但F2只能等到下一拍才可觸發。下一拍CLK=1,Q1=1,F2工作,Q=1。 - 可以有效解決空翻

寄存器
寄存器的工作原理與D觸發器基本一致,可以保持當前值直到時鍾邊沿的到來。

右移位寄存器
移位寄存器就是根據D觸發器的特性串聯實現的,一次信號變化移動一位
- 第一次變化如下圖,第一位置1,其余位不變

- 第二次變化如下圖,第二位在時鍾邊沿到達時,由於觸發器的特性而置1

- 后面的變化與上面類似
觸發器是時序電路中一種非常常見的元器件,在時序電路中用來鎖存值,也與非阻塞賦值有關。
而在verilog編碼中要盡量防止鎖存器的出現。
============= End
