徹底理解鎖存器,讓你不再為鎖存器頭疼!
鎖存器(latch):是電平觸發(fā)的存儲單元,數(shù)據(jù)存儲的動(dòng)作(狀態(tài)轉(zhuǎn)換)取決于輸入時(shí)鐘(或者使能)信號的電平值,盡當(dāng)鎖存器處于使能狀態(tài)時(shí),輸出才會(huì)隨著數(shù)據(jù)輸入發(fā)生變化。
分為普通鎖存器和門控鎖存器,普通鎖存器無控制信號,輸出狀態(tài)始終直接由輸入決定。在實(shí)際的數(shù)字系統(tǒng)中,為了協(xié)調(diào)各部分的工作,往往需要有一個(gè)特定的控制信號去控制鎖存器狀態(tài)轉(zhuǎn)換的時(shí)間,在控制信號無效時(shí),輸出保持不變,不隨輸入變換;當(dāng)控制信號有效時(shí),輸出由輸入決定,跟隨輸入變化。
①正是因?yàn)殚T控鎖存器在控制信號有效的期間內(nèi),都可以接收輸入信號, 所以,激勵(lì)信
號的任何變化, 都將直接引起鎖存器輸出狀態(tài)的改變。這時(shí)輸入信號若發(fā)生多次變化,輸出
狀態(tài)也可能發(fā)生多次變化,這一現(xiàn)象稱為鎖存器的空翻。
②其次,當(dāng)門控鎖存器的控制信號有效時(shí),鎖存器就變成了一個(gè)組合電路,時(shí)序邏輯電
路的模型就等效為兩個(gè)各組合電路互為反饋的反饋系統(tǒng),因此,系統(tǒng)有可能會(huì)因?yàn)樗矐B(tài)特性
不穩(wěn)定而產(chǎn)生振蕩現(xiàn)象。
觸發(fā)器(flip-flop)是邊沿敏感的存儲單元,數(shù)據(jù)存儲的動(dòng)作(狀態(tài)轉(zhuǎn)換)由某一信號
的上升或者下降沿進(jìn)行同步的(限制存儲單元狀態(tài)轉(zhuǎn)換在一個(gè)很短的時(shí)間內(nèi)) 。(鐘控 D 觸
發(fā)器其實(shí)就是 D 鎖存器,邊沿 D 觸發(fā)器才是真正的 D 觸發(fā)器)
觸發(fā)器分為兩種,一種是主從觸發(fā)器和邊沿觸發(fā)器。主從觸發(fā)器在時(shí)鐘有效期內(nèi) (主觸
發(fā)器) 接收數(shù)據(jù),在時(shí)鐘邊沿輸出狀態(tài)轉(zhuǎn)換。邊沿觸發(fā)器在時(shí)鐘邊沿期間, 觸發(fā)器才接收數(shù)
據(jù)并使輸出狀態(tài)轉(zhuǎn)換。
目前,主從觸發(fā)器基本上已經(jīng)很少見了,實(shí)際使用的大都是邊沿觸發(fā)器。
寄存器(register):用來暫時(shí)存放參與運(yùn)算的數(shù)據(jù)和運(yùn)算結(jié)果。在實(shí)際的數(shù)字系統(tǒng)中,
通常把能夠用來存儲一組二進(jìn)制代碼的同步時(shí)序邏輯電路稱為寄存器。
區(qū)別與聯(lián)系:由于觸發(fā)器內(nèi)有記憶功能,因此利用觸發(fā)器可以方便地構(gòu)成寄存器。由于
一個(gè)觸發(fā)器能夠存儲一位二進(jìn)制碼,所以把 n 個(gè)觸發(fā)器的時(shí)鐘端口連接起來就能構(gòu)成一個(gè)存
儲 n 位二進(jìn)制碼的寄存器。
從寄存數(shù)據(jù)的角度來講,寄存器和鎖存器的功能是相同的;它們的區(qū)別在于寄存器是同
步時(shí)鐘控制,而鎖存器是電位信號控制。
一般的設(shè)計(jì)規(guī)則是:在絕大多數(shù)設(shè)計(jì)中避免產(chǎn)生鎖存器。它會(huì)讓您設(shè)計(jì)的時(shí)序完蛋,并
且它的隱蔽性很強(qiáng),非老手不能查出。鎖存器最大的危害在于不能過濾毛刺 (使能信號有效
時(shí),輸出狀態(tài)可能隨輸入多次變化,產(chǎn)生空翻) 。這對于下一級電路是極其危險(xiǎn)的。所以,
只要能用 D 觸發(fā)器的地方,就不用鎖存器。
基本概念:
觸發(fā)器是指有時(shí)鐘邊沿觸發(fā)的存儲單元。鎖存器指一個(gè)由信號而不是時(shí)鐘控制的電平敏
感的設(shè)備。
鎖存器的工作原理:
鎖存器不同于觸發(fā)器,鎖存器在不鎖存數(shù)據(jù)時(shí),輸出端的信號隨輸入信號變化,就像信
號通過一個(gè)緩存器一樣;一旦鎖存信號起鎖存作用,則數(shù)據(jù)被鎖住,輸入信號不起作用。因
此鎖存器也稱為透明鎖存器,值得是不鎖存是輸出對輸入是透明的。
鎖存器具備下列三個(gè)缺點(diǎn):
(1)對毛刺敏感,不能異步復(fù)位,因此在上電后處于不確定的狀態(tài)。
(2)鎖存器會(huì)使靜態(tài)時(shí)序分析變得非常復(fù)雜,不具備可重用性。(首先, 鎖存器沒有時(shí)
鐘參與信號傳遞,無法做 STA;其次,綜合工具會(huì)將 latch 優(yōu)化掉,造成前后仿真結(jié)果不一
致)
(3)在 PLD 芯片中,基本的單元是由查找表和觸發(fā)器組成的,若生成鎖存器反而需要
更多的資源。根據(jù)鎖存器的特點(diǎn)可以看出,在電路設(shè)計(jì)中,要對鎖存器特別謹(jǐn)慎,如果設(shè)計(jì)
經(jīng)過綜合后產(chǎn)生出和設(shè)計(jì)意圖不一致的鎖存器,則將導(dǎo)致設(shè)計(jì)錯(cuò)誤,包括仿真和綜合。因此,
在設(shè)計(jì)中需要避免產(chǎn)生意想不到的鎖存器。
如果組合邏輯的語句完全不使用 always 語句塊,就可以保證綜合器不會(huì)綜合出鎖存器,
例如:
assign a = din ? x : y;
上述語句不需要保持信號 a 的前一個(gè)狀態(tài),因此肯定不會(huì)產(chǎn)生鎖存器。
在基于 always 的組合邏輯描述語句中容易綜合出鎖存器的地方:1:if 語句的使用中缺
少 else 語句(前提是不是始終邊沿觸發(fā));2:case 語句中沒有給出全部的情況。
從上圖可以看出綜合出來的是鎖存器。
針對這種情路可以采用一些措施來防止生成鎖存器:給輸出變量幅初值;增加 else 語
句;將鎖存器改為帶使能的觸發(fā)器。如下:
此時(shí)綜合出來的就是選擇器。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7292瀏覽量
93382 -
電平
+關(guān)注
關(guān)注
5文章
367瀏覽量
40982 -
鎖存器
+關(guān)注
關(guān)注
8文章
947瀏覽量
43306
發(fā)布評論請先 登錄
一文讀懂Allegro先進(jìn)磁性開關(guān)和鎖存器

評論