鎖存器Latch概述
鎖存器(Latch)是一種對脈沖電平敏感的存儲單元電路,它們可以在特定輸入脈沖電平作用下改變狀態。鎖存,就是把信號暫存以維持某種電平狀態。鎖存器的最主要作用是緩存,其次完成高速的控制器與慢速的外設的不同步問題,再其次是解決驅動的問題,最后是解決一個I/O口既能輸出也能輸入的問題。鎖存器是利用電平控制數據的輸入,它包括不帶使能控制的鎖存器和帶使能控制的鎖存器。
鎖存器Latch結構
latch:鎖存器,是由電平觸發,結構圖如下:
鎖存器latch的優缺點
優點:
1、面積比ff小
門電路是構建組合邏輯電路的基礎,而鎖存器和觸發器是構建時序邏輯電路的基礎。門電路是由晶體管構成的,鎖存器是由門電路構成的,而觸發器是由鎖存器構成的。也就是晶體管-》門電路-》鎖存器-》觸發器,前一級是后一級的基礎。latch完成同一個功能所需要的門較觸發器要少,所以在asic中用的較多。
2、速度比ff快
用在地址鎖存是很合適的,不過一定要保證所有的latch信號源的質量,鎖存器在CPU設計中很常見,正是由于它的應用使得CPU的速度比外部IO部件邏輯快許多。
缺點:
1、電平觸發,非同步設計,受布線延遲影響較大,很難保證輸出沒有毛刺產生
2、latch將靜態時序分析變得極為復雜
觸發器Flip-flop結構
lip-flop:觸發器,是時鐘邊沿觸發,可存儲1bitdata,是register的基本組成單位,結構圖如下:
flip-flop的優缺點
優點:
1、邊沿觸發,同步設計,不容易受毛刺的印象
2、時序分析簡單
缺點:
1、面積比latch大,消耗的門電路比latch多
鎖存器Latch和觸發器flipflop的區別
1、鎖存器Latch和觸發器flipflop
鎖存器能根據輸入端把結果自行保持;觸發器是指由時鐘邊沿觸發的存儲器單元;由敏感信號(電平,邊沿)控制的鎖存器就是觸發器;
2、寫電路時,產生鎖存器的原因
if語句中,沒有寫else,默認保持原值,產生鎖存器,可能不是想要的結果;
case語句中,沒有寫完整default項,也容易產生鎖存器;
例子:
always@(aorb)
begin
if(a)q=b;
end
產生了鎖存器,如下
沒有鎖存器的情況
always@(aorb)
begin
if(a)q=b;
elseq=0;
end
3、避免使用D鎖存器,盡量使用D觸發器
D鎖存器
moduletest_latch(y,a,b);
outputy;inputa;inputb;regy;
always@(aorb)begin
if(a==1’b1)
y=b;
endendmodule
D觸發器
moduletest_d(y,clk,a,b);
outputy;inputclk;inputa;inputb;regy;
always@(posedgeclk)begin
if(a==1‘b1)
y=b;
endendmodule
從圖8可知,例10對應的電路是D觸發器。信號a被綜合成D觸發器的使能端,只有在時鐘上沿到來且a為高時,b信號的值才能傳遞給a;只要在時鐘上升沿期間信號b是穩定,即使在其他時候b還有毛刺,經過D觸發器后數據是穩定的,毛刺被濾除。
-
鎖存器
+關注
關注
8文章
906瀏覽量
41496 -
觸發器
+關注
關注
14文章
2000瀏覽量
61132
發布評論請先 登錄
相關推薦
評論