RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鎖存器、觸發(fā)器、寄存器和緩沖器的區(qū)別

MCU開發(fā)加油站 ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-26 10:57 ? 次閱讀

一、鎖存器

鎖存器(latch)對脈沖電平敏感,在時鐘脈沖的電平作用下改變狀態(tài)

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

鎖存器不同于觸發(fā)器,它不在鎖存數(shù)據(jù)時,輸出端的信號隨輸入信號變化,就像信號通過一個緩沖器一樣;一旦鎖存信號起鎖存作用,則數(shù)據(jù)被鎖住,輸入信號不起作用。鎖存器也稱為透明鎖存器,指的是不鎖存時輸出對于輸入是透明的。

鎖存器(latch):我聽過的最多的就是它是電平觸發(fā)的,呵呵。鎖存器是電平觸發(fā)的存儲單元,數(shù)據(jù)存儲的動作取決于輸入時鐘(或者使能)信號的電平值,當(dāng)鎖存器處于使能狀態(tài)時,輸出才會隨著數(shù)據(jù)輸入發(fā)生變化。(簡單地說,它有兩個輸入,分別是一個有效信號EN,一個輸入數(shù)據(jù)信號DATA_IN,它有一個輸出Q,它的功能就是在EN有效的時候把DATA_IN的值傳給Q,也就是鎖存的過程)。

應(yīng)用場合:數(shù)據(jù)有效遲后于時鐘信號有效。這意味著時鐘信號先到,數(shù)據(jù)信號后到。在某些運算器電路中有時采用鎖存器作為數(shù)據(jù)暫存器。

缺點:時序分析較困難。

不要鎖存器的原因有二:1、鎖存器容易產(chǎn)生毛刺;2、鎖存器在ASIC設(shè)計中應(yīng)該說比ff要簡單,但是在FPGA的資源中,大部分器件沒有鎖存器這個東西,所以需要用一個邏輯門和ff來組成鎖存器,這樣就浪費了資源。

優(yōu)點:面積小。

鎖存器比FF快,所以用在地址鎖存是很合適的,不過一定要保證所有的latch信號源的質(zhì)量,鎖存器在CPU設(shè)計中很常見,正是由于它的應(yīng)用使得CPU的速度比外部IO部件邏輯快許多。latch完成同一個功能所需要的門較觸發(fā)器要少,所以在asic中用的較多。

二、觸發(fā)器

觸發(fā)器(Flip-Flop,簡寫為 FF),也叫雙穩(wěn)態(tài)門,又稱雙穩(wěn)態(tài)觸發(fā)器。是一種可以在兩種狀態(tài)下運行的數(shù)字邏輯電路。觸發(fā)器一直保持它們的狀態(tài),直到它們收到輸入脈沖,又稱為觸發(fā)。當(dāng)收到輸入脈沖時,觸發(fā)器輸出就會根據(jù)規(guī)則改變狀態(tài),然后保持這種狀態(tài)直到收到另一個觸發(fā)。

觸發(fā)器(flip-flops)電路相互關(guān)聯(lián),從而為使用內(nèi)存芯片微處理器數(shù)字集成電路(IC)形成邏輯門。它們可用來存儲一比特的數(shù)據(jù)。該數(shù)據(jù)可表示音序器的狀態(tài)、計數(shù)器的價值、在計算機內(nèi)存的ASCII字符或任何其他的信息。

有幾種不同類型的觸發(fā)器(flip-flops)電路具有指示器,如T(切換)、S-R(設(shè)置/重置)J-K(也可能稱為Jack Kilby)和D(延遲)。典型的觸發(fā)器包括零個、一個或兩個輸入信號,以及時鐘信號和輸出信號。一些觸發(fā)器還包括一個重置當(dāng)前輸出的明確輸入信號。第一個電子觸發(fā)器是在1919年由W.H.Eccles和F.W.Jordan發(fā)明的。

觸發(fā)器(flip-flop)---對脈沖邊沿敏感,其狀態(tài)只在時鐘脈沖的上升沿或下降沿的瞬間改變。

T觸發(fā)器(Toggle Flip-Flop,or Trigger Flip-Flop)設(shè)有一個輸入和輸出,當(dāng)時鐘頻率由0轉(zhuǎn)為1時,如果T和Q不相同時,其輸出值會是1。輸入端T為1的時候,輸出端的狀態(tài)Q發(fā)生反轉(zhuǎn);輸入端T為0的時候,輸出端的狀態(tài)Q保持不變。把JK觸發(fā)器的J和K輸入點連接在一起,即構(gòu)成一個T觸發(fā)器。

應(yīng)用場合:時鐘有效遲后于數(shù)據(jù)有效。這意味著數(shù)據(jù)信號先建立,時鐘信號后建立。在CP上升沿時刻打入到寄存器。

三、寄存器

寄存器(register):用來存放數(shù)據(jù)的一些小型存儲區(qū)域,用來暫時存放參與運算的數(shù)據(jù)和運算結(jié)果,它被廣泛的用于各類數(shù)字系統(tǒng)和計算機中。其實寄存器就是一種常用的時序邏輯電路,但這種時序邏輯電路只包含存儲電路。寄存器的存儲電路是由鎖存器或觸發(fā)器構(gòu)成的,因為一個鎖存器或觸發(fā)器能存儲1位二進(jìn)制數(shù),所以由N個鎖存器或觸發(fā)器可以構(gòu)成N位寄存器。 工程中的寄存器一般按計算機中字節(jié)的位數(shù)設(shè)計,所以一般有8位寄存器、16位寄存器等。

對寄存器中的觸發(fā)器只要求它們具有置1、置0的功能即可,因而無論是用同步RS結(jié)構(gòu)觸發(fā)器,還是用主從結(jié)構(gòu)或邊沿觸發(fā)結(jié)構(gòu)的觸發(fā)器,都可以組成寄存器。一般由D觸發(fā)器組成,有公共輸入/輸出使能控制端和時鐘,一般把使能控制端作為寄存器電路的選擇信號,把時鐘控制端作為數(shù)據(jù)輸入控制信號。

寄存器的應(yīng)用

可以完成數(shù)據(jù)的并串、串并轉(zhuǎn)換;

可以用做顯示數(shù)據(jù)鎖存器:許多設(shè)備需要顯示計數(shù)器的記數(shù)值,以8421BCD碼記數(shù),以七段顯示器顯示,如果記數(shù)速度較高,人眼則無法辨認(rèn)迅速變化的顯示字符。在計數(shù)器和譯碼器之間加入一個鎖存器,控制數(shù)據(jù)的顯示時間是常用的方法。

用作緩沖器;

組成計數(shù)器:移位寄存器可以組成移位型計數(shù)器,如環(huán)形或扭環(huán)形計數(shù)器。

四、移位寄存器

移位寄存器:具有移位功能的寄存器稱為移位寄存器。

寄存器只有寄存數(shù)據(jù)或代碼的功能。有時為了處理數(shù)據(jù),需要將寄存器中的各位數(shù)據(jù)在移位控制信號作用下,依次向高位或向低位移動1位。移位寄存器按數(shù)碼移動方向分類有左移,右移,可控制雙向(可逆)移位寄存器;按數(shù)據(jù)輸入端、輸出方式分類有串行和并行之分。除了D邊沿觸發(fā)器構(gòu)成移位寄存器外,還可以用諸如JK等觸發(fā)器構(gòu)成移位寄存器。

五、總線收發(fā)器/緩沖器

緩沖寄存器:又稱緩沖器緩沖器(buffer):多用在總線上,提高驅(qū)動能力、隔離前后級,緩沖器多半有三態(tài)輸出功能。當(dāng)負(fù)載不具有非選通輸出為高阻特性時,將起到隔離作用;當(dāng)總線的驅(qū)動能力不夠驅(qū)動負(fù)載時,將起到驅(qū)動作用。由于緩沖器接在數(shù)據(jù)總線上,故必須具有三態(tài)輸出功能。

它分輸入緩沖器和輸出緩沖器兩種。前者的作用是將外設(shè)送來的數(shù)據(jù)暫時存放,以便處理器將它取走;后者的作用是用來暫時存放處理器送往外設(shè)的數(shù)據(jù)。有了數(shù)控緩沖器,就可以使高速工作的CPU與慢速工作的外設(shè)起協(xié)調(diào)和緩沖作用,實現(xiàn)數(shù)據(jù)傳送的同步。

Buffer:緩沖區(qū),一個用于在初速度不同步的設(shè)備或者優(yōu)先級不同的設(shè)備之間傳輸數(shù)據(jù)的區(qū)域。通過緩沖區(qū),可以使進(jìn)程之間的相互等待變少,從而使從速度慢的設(shè)備讀入數(shù)據(jù)時,速度快的設(shè)備的操作進(jìn)程不發(fā)生間斷。

緩沖器主要是計算機領(lǐng)域的稱呼。具體實現(xiàn)上,緩沖器有用鎖存器結(jié)構(gòu)的電路來實現(xiàn),也有用不帶鎖存結(jié)構(gòu)的電路來實現(xiàn)。一般來說,當(dāng)收發(fā)數(shù)據(jù)雙方的工作速度匹配時,這里的緩沖器可以用不帶鎖存結(jié)構(gòu)的電路來實現(xiàn);而當(dāng)收發(fā)數(shù)據(jù)雙方的工作速度不匹配時,就要用帶鎖存結(jié)構(gòu)的電路來實現(xiàn)了(否則會出現(xiàn)數(shù)據(jù)丟失)。

緩沖器在數(shù)字系統(tǒng)中用途很多:

如果器件帶負(fù)載能力有限,可加一級帶驅(qū)動器的緩沖器;

前后級間邏輯電平不同,可用電平轉(zhuǎn)換器加以匹配;

邏輯極性不同或需要將單性變量轉(zhuǎn)換為互補變量時,加帶反相緩沖器;

需要將緩變信號變?yōu)檫呇囟盖托盘枙r,加帶施密特電路的緩沖器

數(shù)據(jù)傳輸和處理中不同裝置間溫度和時間不同時,加一級緩沖器進(jìn)行彌補等等。

鎖存器與觸發(fā)器的區(qū)別

鎖存器和觸發(fā)器是具有記憶功能的二進(jìn)制存貯器件,是組成各種時序邏輯電路的基本器件之一。

區(qū)別為:latch同其所有的輸入信號相關(guān),當(dāng)輸入信號變化時latch就變化,沒有時鐘端;flip-flop受時鐘控制,只有在時鐘觸發(fā)時才采樣當(dāng)前的輸入,產(chǎn)生輸出。當(dāng)然因為latch和flip-flop二者都是時序邏輯,所以輸出不但同當(dāng)前的輸入相關(guān)還同上一時間的輸出相關(guān)。

1、latch由電平觸發(fā),非同步控制。在使能信號有效時latch相當(dāng)于通路,在使能信號無效時latch保持輸出狀態(tài)。DFF由時鐘沿觸發(fā),同步控制。

2、latch對輸入電平敏感,受布線延遲影響較大,很難保證輸出沒有毛刺產(chǎn)生;DFF則不易產(chǎn)生毛刺。

3、如果使用門電路來搭建latch和DFF,則latch消耗的門資源比DFF要少,這是latch比DFF優(yōu)越的地方。所以,在ASIC中使用 latch的集成度比DFF高,但在FPGA中正好相反,因為FPGA中沒有標(biāo)準(zhǔn)的latch單元,但有DFF單元,一個LATCH需要多個LE才能實現(xiàn)。latch是電平觸發(fā),相當(dāng)于有一個使能端,且在激活之后(在使能電平的時候)相當(dāng)于導(dǎo)線了,隨輸出而變化。在非使能狀態(tài)下是保持原來的信號,這就可以看出和flip-flop的差別,其實很多時候latch是不能代替ff的。

4、latch將靜態(tài)時序分析變得極為復(fù)雜。

5、目前l(fā)atch只在極高端的電路中使用,如intel 的P4等CPU。 FPGA中有l(wèi)atch單元,寄存器單元就可以配置成latch單元,在xilinx v2p的手冊將該單元配置成為register/latch單元,附件是xilinx半個slice的結(jié)構(gòu)圖。其它型號和廠家的FPGA沒有去查證?!獋€人認(rèn)為xilinx是能直接配的而altera或許比較麻煩,要幾個LE才行,然而也非xilinx的器件每個slice都可以這樣配置,altera的只有DDR接口中有專門的latch單元,一般也只有高速電路中會采用latch的設(shè)計。altera的LE是沒有l(wèi)atch的結(jié)構(gòu)的,又查了sp3和sp2e,別的不查了,手冊上說支持這種配置。有關(guān)altera的表述wangdian說的對,altera的ff不能配置成latch,它使用查找表來實現(xiàn)latch。

一般的設(shè)計規(guī)則是:在絕大多數(shù)設(shè)計中避免產(chǎn)生latch。它會讓您設(shè)計的時序完蛋,并且它的隱蔽性很強,非老手不能查出。latch最大的危害在于不能過濾毛刺。這對于下一級電路是極其危險的。所以,只要能用D觸發(fā)器的地方,就不用latch。

有些地方?jīng)]有時鐘,也只能用latch了。比如現(xiàn)在用一個clk接到latch的使能端(假設(shè)是高電平使能),這樣需要的setup時間,就是數(shù)據(jù)在時鐘的下降沿之前需要的時間,但是如果是一個DFF,那么setup時間就是在時鐘的上升沿需要的時間。這就說明如果數(shù)據(jù)晚于控制信號的情況下,只能用latch,這種情況就是,前面所提到的latch timing borrow。基本上相當(dāng)于借了一個高電平時間。也就是說,latch借的時間也是有限的。

if語句和case不全很容易產(chǎn)生latch,需要注意。

VIA題目這兩個代碼哪個綜合更容易產(chǎn)生latch:

代碼1

always@(enable or ina or inb)beginif(enable)begindata_out = ina;endelsebegindata_out = inb;endend

代碼2

input[3:0] data_in;always@(data_in)begincase(data_in)0 : out1 = 1'b1;1,3 : out2 = 1'b1;2,4,5,6,7 : out3 = 1'b1;default: out4 = 1'b1;endcaseend

答案是代碼2在綜合時更容易產(chǎn)生latch。

對latch進(jìn)行STA的分析其實也是可以,但是要對工具相當(dāng)熟悉才行,不過很容易出錯。當(dāng)前PrimeTime是支持進(jìn)行l(wèi)atch分析的,現(xiàn)在一些綜合工具內(nèi)置的STA分析功能也支持,比如RTL compiler,Design Compiler。除了ASIC里可以節(jié)省資源以外,latch在同步設(shè)計里出現(xiàn)的可能還是挺小的,現(xiàn)在處理過程中大都放在ff里打一下。

鎖存器電平觸發(fā)會把輸入端的毛刺帶入輸出;而觸發(fā)器由于邊沿作用可以有效抑制輸入端干擾。

在 CMOS 芯片內(nèi)部經(jīng)常使用鎖存器,但是在PCB板級結(jié)構(gòu)上,建議用觸發(fā)器在時鐘邊沿上鎖存數(shù)據(jù)。這是因為在鎖存器閘門開啟期間數(shù)據(jù)的變化會直接反映到輸出端,所以要注意控制閘門信號的脈沖寬度,而對于觸發(fā)器,只考慮時鐘的邊沿。

門電路是構(gòu)建組合邏輯電路的基礎(chǔ),而鎖存器和觸發(fā)器是構(gòu)建時序邏輯電路的基礎(chǔ)。門電路是由晶體管構(gòu)成的,鎖存器是由門電路構(gòu)成的,而觸發(fā)器是由鎖存器構(gòu)成的。也就是晶體管- > 門電路- > 鎖存器- > 觸發(fā)器,前一級是后一級的基礎(chǔ)。鎖存器和觸發(fā)器它們的輸出都不僅僅取決于目前的輸入,而且和之前的輸入和輸出都有關(guān)系。

它們之間的不同在于:鎖存器沒有時鐘信號,而觸發(fā)器常常有時鐘觸發(fā)信號。

鎖存器是異步的,就是說在輸入信號改變后,輸出信號也隨之很快做出改變非???。而另外一方面,今天許多計算機是同步的,這就意味著所有的時序電路的輸出信號隨著全局的時鐘信號同時做出改變。觸發(fā)器是一個同步版鎖存器。

觸發(fā)器泛指一類電路結(jié)構(gòu),它可以由觸發(fā)信號 (如:時鐘、置位、復(fù)位等) 改變輸出狀態(tài),并保持這個狀態(tài)直到下一個或另一個觸發(fā)信號來到時。觸發(fā)信號可以用電平或邊沿操作,鎖存器是觸發(fā)器的一種應(yīng)用類型。

D觸發(fā)器和D鎖存器的區(qū)別

鐘控D觸發(fā)器其實就是D鎖存器,邊沿D觸發(fā)器才是真正的D觸發(fā)器,鐘控D觸發(fā)器在使能情況下輸出隨輸入變化,邊沿觸發(fā)器只有在邊沿跳變的情況下輸出才變化。

兩個鎖存器可以構(gòu)成一個觸發(fā)器,歸根到底還是dff是邊沿觸發(fā)的,而latch是電平觸發(fā)的。鎖存器的輸出對輸入透明的,輸入是什么,輸出就是什么,這就是鎖存器不穩(wěn)定的原因,而觸發(fā)器是由兩個鎖存器構(gòu)成的一個主從觸發(fā)器,輸出對輸入是不透明的,必須在時鐘的上升/下降沿才會將輸入體現(xiàn)到輸出,所以能夠消除輸入的毛刺信號。

寄存器與鎖存器的區(qū)別

寄存器與鎖存器的功能是提供數(shù)據(jù)寄存和鎖存。

寄存功能是指把數(shù)據(jù)暫時保存,需要時取出。鎖存功能是指總線電路中,鎖定數(shù)據(jù)輸出,使輸出端不隨輸入端變化。

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

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120230
  • 緩沖器
    +關(guān)注

    關(guān)注

    6

    文章

    1921

    瀏覽量

    45473
  • 鎖存器
    +關(guān)注

    關(guān)注

    8

    文章

    906

    瀏覽量

    41495
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2000

    瀏覽量

    61131

原文標(biāo)題:鎖存器、觸發(fā)器、寄存器和緩沖器的區(qū)別

文章出處:【微信號:mcugeek,微信公眾號:MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA的設(shè)計中為什么避免使用

    文章都對有個誤解,我們后面會詳細(xì)說明。 這篇文章,我們包含如下內(nèi)容: ①、
    的頭像 發(fā)表于 11-16 11:42 ?8459次閱讀
    FPGA的設(shè)計中為什么避免使用<b class='flag-5'>鎖</b><b class='flag-5'>存</b><b class='flag-5'>器</b>

    、觸發(fā)器、寄存器和緩沖器區(qū)別

    電路的緩沖器(5)數(shù)據(jù)傳輸和處理中不同裝置間溫度和時間不同時,加一級緩沖器進(jìn)行彌補等等。觸發(fā)器
    發(fā)表于 10-09 16:19

    寄存器觸發(fā)器區(qū)別

    緩沖器;4. 組成計數(shù):移位寄存器可以組成移位型計數(shù),如環(huán)形或扭環(huán)形計數(shù)寄存器
    發(fā)表于 07-03 11:50

    觸發(fā)器、、寄存器三者的區(qū)別

    稱為寄存器。由于觸發(fā)器內(nèi)有記憶功能,因此利用觸發(fā)器可以方便地構(gòu)成寄存器。由于一個觸發(fā)器能夠存儲一位二進(jìn)制碼,所以把n個
    發(fā)表于 09-11 08:14

    【轉(zhuǎn)】數(shù)字電路三劍客:、觸發(fā)器寄存器

    結(jié)果。其實寄存器就是一種常用的時序邏輯電路,但這種時序邏輯電路只包含存儲電路。寄存器的存儲電路是由
    發(fā)表于 10-27 22:38

    請問一下緩沖器有何作用呢

    引腳置高后,輸出就會保持現(xiàn)有的狀態(tài),直到把該引腳清0后才能繼續(xù)變化。緩沖寄存器又稱緩沖器,它分輸入緩沖器和輸出緩沖器兩種。輸入
    發(fā)表于 03-01 07:00

    觸發(fā)器原理

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

    和緩沖器的作用是什么?

    和緩沖器的作用是什么? 廣泛用于計算機
    發(fā)表于 03-09 09:48 ?2.5w次閱讀

    寄存器觸發(fā)器區(qū)別介紹

    本文開始介紹了寄存器分類、特點與用途,其次介紹了觸發(fā)器的分類與觸發(fā)器的作用,最后介紹了寄存器觸發(fā)器區(qū)
    發(fā)表于 04-11 14:39 ?2.7w次閱讀
    <b class='flag-5'>寄存器</b>和<b class='flag-5'>觸發(fā)器</b>的<b class='flag-5'>區(qū)別</b>介紹

    觸發(fā)器區(qū)別

    有兩個輸入,一個是有效信號EN,一個是輸入數(shù)據(jù)信號DATA_IN,有一個輸出Q,它的功能就是在EN有效的時候把DATA_IN的值傳給Q,也就是
    的頭像 發(fā)表于 11-29 11:02 ?2.6w次閱讀

    觸發(fā)器、寄存器的關(guān)聯(lián)與區(qū)別及其相應(yīng)的verilog描述

    1:、觸發(fā)器、寄存器的關(guān)聯(lián)與區(qū)別 首先應(yīng)該明確
    的頭像 發(fā)表于 12-19 12:25 ?1.2w次閱讀

    一文詳細(xì)區(qū)分寄存器、觸發(fā)器

    你有沒有遇到過這樣奇怪的事:你一直以為自己知道某件事,但當(dāng)你試著向別人解釋它時,你才發(fā)現(xiàn)自己的論述中存在漏洞和邏輯上的差異?這就是我最近所遇到的情況,當(dāng)時有人問我觸發(fā)器之間的
    的頭像 發(fā)表于 01-30 15:21 ?3143次閱讀

    觸發(fā)器的概念及其區(qū)別

    請簡述觸發(fā)器的概念,并分析二者的區(qū)別。
    的頭像 發(fā)表于 08-15 09:24 ?6357次閱讀
    <b class='flag-5'>鎖</b><b class='flag-5'>存</b><b class='flag-5'>器</b>與<b class='flag-5'>觸發(fā)器</b>的概念及其<b class='flag-5'>區(qū)別</b>

    觸發(fā)器區(qū)別和聯(lián)系

    觸發(fā)器是數(shù)字邏輯電路中兩種重要的元件,它們在不同的應(yīng)用場景中發(fā)揮著關(guān)鍵作用。雖然觸發(fā)器
    的頭像 發(fā)表于 12-25 14:50 ?1794次閱讀

    、觸發(fā)器寄存器區(qū)別

    在數(shù)字電路和計算機系統(tǒng)中,、觸發(fā)器寄存器都是關(guān)鍵的存儲元件,它們在功能、結(jié)構(gòu)和使用場景上存在一定的差異。本文將對這三者進(jìn)行詳細(xì)的介紹
    的頭像 發(fā)表于 05-23 15:28 ?2222次閱讀
    RM新时代网站-首页