0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文徹底理解鎖存器

jf_78858299 ? 來源:ZYNQ ? 作者:ZYNQ ? 2023-04-25 11:00 ? 次閱讀

徹底理解鎖存器,讓你不再為鎖存器頭疼!

鎖存器(latch):是電平觸發(fā)的存儲單元,數據存儲的動作(狀態(tài)轉換)取決于輸入時鐘(或者使能)信號的電平值,盡當鎖存器處于使能狀態(tài)時,輸出才會隨著數據輸入發(fā)生變化。

分為普通鎖存器和門控鎖存器,普通鎖存器無控制信號,輸出狀態(tài)始終直接由輸入決定。在實際的數字系統(tǒng)中,為了協(xié)調各部分的工作,往往需要有一個特定的控制信號去控制鎖存器狀態(tài)轉換的時間,在控制信號無效時,輸出保持不變,不隨輸入變換;當控制信號有效時,輸出由輸入決定,跟隨輸入變化。

圖片

圖片

①正是因為門控鎖存器在控制信號有效的期間內,都可以接收輸入信號, 所以,激勵信

號的任何變化, 都將直接引起鎖存器輸出狀態(tài)的改變。這時輸入信號若發(fā)生多次變化,輸出

狀態(tài)也可能發(fā)生多次變化,這一現象稱為鎖存器的空翻。

②其次,當門控鎖存器的控制信號有效時,鎖存器就變成了一個組合電路,時序邏輯電

路的模型就等效為兩個各組合電路互為反饋的反饋系統(tǒng),因此,系統(tǒng)有可能會因為瞬態(tài)特性

不穩(wěn)定而產生振蕩現象。

觸發(fā)器(flip-flop)是邊沿敏感的存儲單元,數據存儲的動作(狀態(tài)轉換)由某一信號

的上升或者下降沿進行同步的(限制存儲單元狀態(tài)轉換在一個很短的時間內) 。(鐘控 D 觸

發(fā)器其實就是 D 鎖存器,邊沿 D 觸發(fā)器才是真正的 D 觸發(fā)器)

觸發(fā)器分為兩種,一種是主從觸發(fā)器和邊沿觸發(fā)器。主從觸發(fā)器在時鐘有效期內 (主觸

發(fā)器) 接收數據,在時鐘邊沿輸出狀態(tài)轉換。邊沿觸發(fā)器在時鐘邊沿期間, 觸發(fā)器才接收數

據并使輸出狀態(tài)轉換。

圖片

目前,主從觸發(fā)器基本上已經很少見了,實際使用的大都是邊沿觸發(fā)器。

寄存器(register):用來暫時存放參與運算的數據和運算結果。在實際的數字系統(tǒng)中,

通常把能夠用來存儲一組二進制代碼的同步時序邏輯電路稱為寄存器。

區(qū)別與聯系:由于觸發(fā)器內有記憶功能,因此利用觸發(fā)器可以方便地構成寄存器。由于

一個觸發(fā)器能夠存儲一位二進制碼,所以把 n 個觸發(fā)器的時鐘端口連接起來就能構成一個存

儲 n 位二進制碼的寄存器。

從寄存數據的角度來講,寄存器和鎖存器的功能是相同的;它們的區(qū)別在于寄存器是同

步時鐘控制,而鎖存器是電位信號控制。

一般的設計規(guī)則是:在絕大多數設計中避免產生鎖存器。它會讓您設計的時序完蛋,并

且它的隱蔽性很強,非老手不能查出。鎖存器最大的危害在于不能過濾毛刺 (使能信號有效

時,輸出狀態(tài)可能隨輸入多次變化,產生空翻) 。這對于下一級電路是極其危險的。所以,

只要能用 D 觸發(fā)器的地方,就不用鎖存器。

基本概念:

觸發(fā)器是指有時鐘邊沿觸發(fā)的存儲單元。鎖存器指一個由信號而不是時鐘控制的電平敏

感的設備。

鎖存器的工作原理

鎖存器不同于觸發(fā)器,鎖存器在不鎖存數據時,輸出端的信號隨輸入信號變化,就像信

號通過一個緩存器一樣;一旦鎖存信號起鎖存作用,則數據被鎖住,輸入信號不起作用。因

此鎖存器也稱為透明鎖存器,值得是不鎖存是輸出對輸入是透明的。

鎖存器具備下列三個缺點:

(1)對毛刺敏感,不能異步復位,因此在上電后處于不確定的狀態(tài)。

(2)鎖存器會使靜態(tài)時序分析變得非常復雜,不具備可重用性。(首先, 鎖存器沒有時

鐘參與信號傳遞,無法做 STA;其次,綜合工具會將 latch 優(yōu)化掉,造成前后仿真結果不一

致)

(3)在 PLD 芯片中,基本的單元是由查找表和觸發(fā)器組成的,若生成鎖存器反而需要

更多的資源。根據鎖存器的特點可以看出,在電路設計中,要對鎖存器特別謹慎,如果設計

經過綜合后產生出和設計意圖不一致的鎖存器,則將導致設計錯誤,包括仿真和綜合。因此,

在設計中需要避免產生意想不到的鎖存器。

如果組合邏輯的語句完全不使用 always 語句塊,就可以保證綜合器不會綜合出鎖存器,

例如:

assign a = din ? x : y;

上述語句不需要保持信號 a 的前一個狀態(tài),因此肯定不會產生鎖存器。

在基于 always 的組合邏輯描述語句中容易綜合出鎖存器的地方:1:if 語句的使用中缺

少 else 語句(前提是不是始終邊沿觸發(fā));2:case 語句中沒有給出全部的情況。

圖片

從上圖可以看出綜合出來的是鎖存器。

針對這種情路可以采用一些措施來防止生成鎖存器:給輸出變量幅初值;增加 else 語

句;將鎖存器改為帶使能的觸發(fā)器。如下:

圖片

此時綜合出來的就是選擇器。

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    6760

    瀏覽量

    88619
  • 電平
    +關注

    關注

    5

    文章

    356

    瀏覽量

    39775
  • 鎖存器
    +關注

    關注

    8

    文章

    904

    瀏覽量

    41391
收藏 人收藏

    評論

    相關推薦

    徹底理解Z-stack協(xié)議棧的工作機理與程序架構

    徹底理解Z-stack協(xié)議棧的工作機理與程序架構
    發(fā)表于 01-25 10:56

    51內核迪串口屏模擬手勢解鎖功能(九宮格&滑動)

    `用DGUS II(迪屏)模擬手勢解鎖功能,其中包括九宮格和滑動解鎖,詳細說明和文檔如下:、 、效果展示 效果展示1:九宮格解鎖 產品型
    發(fā)表于 10-31 10:51

    【答疑】關于鎖問題的討論

    邏輯才需要。問2:是不是只要組合邏輯的if else補充了,就不會生成鎖了?答:不定。這里的關鍵在于“保持不變”,千萬不要從“代碼層次”來理解,而應該從“功能的層次”來
    發(fā)表于 03-02 00:25

    和觸發(fā)原理

      1、掌握鎖、觸發(fā)的電路結構和工作原理;   2、熟練掌握SR觸發(fā)、JK觸發(fā)、D觸發(fā)
    發(fā)表于 08-18 16:39 ?0次下載

    ,鎖是什么意思

    ,鎖是什么意思 鎖定義位鐘控D觸發(fā)
    發(fā)表于 03-09 09:44 ?1.2w次閱讀

    74HC573鎖

    SL74hc573中資料(三態(tài)輸出的八D透明鎖),原理圖及各篇573詳細介紹。
    發(fā)表于 12-31 14:26 ?25次下載

    《深入理解Android》

    《深入理解Android》
    發(fā)表于 03-19 11:23 ?0次下載

    8張圖讓你徹底理解晶體管開關電路圖

    8張讓你徹底理解晶體管開關電路圖
    的頭像 發(fā)表于 02-05 12:41 ?1.1w次閱讀

    徹底講透電容— 充放電曲線的秘訣

    電流充放電曲線,怎么理解I=C(du/dt)和Q=CU,怎么理解電容電壓滯后電流90度,怎么用儀器測量電容】等。 帶有電容的電路分析往往不太容易下手,讓我們用篇文章徹底理順它,開始吧
    的頭像 發(fā)表于 10-25 20:35 ?4004次閱讀

    徹底了解射頻收發(fā)信機系統(tǒng)指標計算

    徹底了解射頻收發(fā)信機系統(tǒng)指標計算
    的頭像 發(fā)表于 12-12 13:45 ?1253次閱讀

    解鎖

      存儲電路由存儲器件組成,能存儲位二值信號的器件稱為存儲單元電路. 存儲單元電路大多是雙穩(wěn)態(tài)電路。
    的頭像 發(fā)表于 03-16 15:41 ?3.2w次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>詳<b class='flag-5'>解鎖</b><b class='flag-5'>存</b><b class='flag-5'>器</b>

    sr鎖不定狀態(tài)怎么理解

    當SD=1,RD=0時,或非門G2端以SD作為輸入,故G2輸出低電平,G2和RD作為G1的輸入,所以G1輸出為高電平,此時SR鎖輸出Q端為高電平,Q‘為低電平。
    的頭像 發(fā)表于 03-29 16:40 ?1420次閱讀
    sr鎖<b class='flag-5'>存</b><b class='flag-5'>器</b>不定狀態(tài)怎么<b class='flag-5'>理解</b>

    d鎖解決了sr鎖的什么問題

    存在些差異,D鎖定程度上解決了SR鎖
    的頭像 發(fā)表于 08-28 09:16 ?306次閱讀

    簡述鎖的工作時序

    (Latch)是數字電路中的種重要組件,其工作時序對于理解其功能和在電路中的應用至關重要。鎖
    的頭像 發(fā)表于 08-30 10:42 ?270次閱讀

    D鎖的基本實現

    在Verilog HDL中實現鎖(Latch)通常涉及對硬件描述語言的基本理解,特別是關于信號如何根據控制信號的變化而保持或更新其值。鎖
    的頭像 發(fā)表于 08-30 10:45 ?424次閱讀