大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天我們來聊一聊FPGA學(xué)習(xí)中,亞穩(wěn)態(tài)現(xiàn)象。
說起亞穩(wěn)態(tài),首先我們先來了解一下什么叫做亞穩(wěn)態(tài)。亞穩(wěn)態(tài)現(xiàn)象:信號(hào)在無關(guān)信號(hào)或者異步時(shí)鐘域之間傳輸時(shí)導(dǎo)致數(shù)字器件失效的一種現(xiàn)象。
接下來主要討論在異步時(shí)鐘域之間數(shù)據(jù)傳輸所產(chǎn)生的亞穩(wěn)態(tài)現(xiàn)象,以及如何降低亞穩(wěn)態(tài)現(xiàn)象發(fā)生的概率(只能降低,不能消除),這在FPGA設(shè)計(jì)(尤其是大工程中)是非常重要的。
亞穩(wěn)態(tài)的產(chǎn)生:所有的器件都定義了一個(gè)信號(hào)時(shí)序要求,只有滿足了這個(gè)要求,才能夠正常的在輸入端獲取數(shù)據(jù),在輸出端輸出數(shù)據(jù)。正常的數(shù)據(jù)傳遞是:在觸發(fā)時(shí)鐘沿前必須有一小段時(shí)間(Tsu)用來穩(wěn)定輸入信號(hào)(0 or 1),觸發(fā)時(shí)鐘沿之后需要有一小段特定的時(shí)間(Th)再次穩(wěn)定一下,最后再經(jīng)過一個(gè)特定的始終到輸出延時(shí)(Tco)后才有效。如果數(shù)據(jù)的傳遞過程違反了這個(gè)時(shí)間約束,那么寄存器輸出就會(huì)出現(xiàn)亞穩(wěn)態(tài),此時(shí)輸出的詩句是不穩(wěn)定的(在0和1之間游蕩)。但是這種現(xiàn)象并不是絕對(duì)的,但是我們?cè)趯?shí)際設(shè)計(jì)中應(yīng)當(dāng)盡量避免這種現(xiàn)象。
同步時(shí)鐘系統(tǒng)由于是同步的,沒有兩個(gè)異步的觸發(fā)信號(hào)對(duì)信號(hào)的輸入輸出干擾,所以亞穩(wěn)態(tài)的幾率很小。
異步時(shí)鐘系統(tǒng):先舉個(gè)例子,如下:
always @(posedge clk or negedge rst_n)
begin
if(!rstn)
m<=1;
else
m<=0;
end
這是異步的,rst_n的觸發(fā)和clk的觸發(fā)各自不相干(造成的亞穩(wěn)態(tài)概率較高)。
always @(posedge clk)
begin
if(!rst_n)
m<=1;
else
m<=0;
end
這是同步的,rst_n在clk上升沿的時(shí)候才產(chǎn)生影響,此時(shí)造成的亞穩(wěn)態(tài)概率低很多。
異步時(shí)鐘系統(tǒng)充分的利用了寄存器的端口,無需增加另外的資源,但是亞穩(wěn)態(tài)的概率相對(duì)高;
同步時(shí)鐘系統(tǒng)少用了clk復(fù)位端口,額外消耗了了資源,但是降低了亞穩(wěn)態(tài)的發(fā)生概率。
上述異步例子中,如果clk上升沿時(shí),rst-n=0,那么執(zhí)行m<=1;但是rst_n和clk變化的時(shí)間差很短,不滿足穩(wěn)態(tài)時(shí)間要求的就會(huì)相互干擾,造成亞穩(wěn)態(tài)的發(fā)生。當(dāng)然有的人會(huì)認(rèn)為同步似乎也會(huì)產(chǎn)生這種影響,但是相對(duì)而言幾率小得多。
在此前提下,在特權(quán)同學(xué)的書中,提出了異步復(fù)位,同步釋放的電路概念。(電路網(wǎng)上好多),該電路目的:既不解決了同步復(fù)位的資源消耗問題,也極大的降低了異步復(fù)位的亞穩(wěn)態(tài)風(fēng)險(xiǎn)。
異步復(fù)位:當(dāng)rst_n= 0 時(shí),一個(gè)clk的上升沿,輸出的rstn_out=0,實(shí)現(xiàn)了異步復(fù)位功能(當(dāng)然這在只有一個(gè)寄存器的一級(jí)緩沖下也能實(shí)現(xiàn)),重點(diǎn)在于同步釋放環(huán)節(jié)。
同步釋放:當(dāng)rst_n在clk上升沿后很短的時(shí)間內(nèi)回歸1,那么就會(huì)造成前一級(jí)的亞穩(wěn)態(tài)的出現(xiàn),其實(shí)后一級(jí)也出現(xiàn)了,但是如果rst_n被認(rèn)為任然是0,那么輸出也就是0,如果被認(rèn)為是1,rstn_out接受的是前一級(jí)的上一個(gè)輸出值(還是0),這就是同步釋放的由來,完美解決問題。
這僅是本人學(xué)習(xí)初學(xué)FPGA的學(xué)習(xí)筆記,僅供參考。
今天就聊到這里,各位,加油。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
1. 應(yīng)用背景1.1亞穩(wěn)態(tài)發(fā)生原因在FPGA系統(tǒng)中,如果數(shù)據(jù)傳輸中不滿足觸發(fā)器的Tsu和Th不滿足,或者復(fù)位過程中復(fù)位信號(hào)的釋放相對(duì)于有效時(shí)鐘沿的恢復(fù)時(shí)間(recovery time)不滿足,就可能
發(fā)表于 01-11 11:49
本帖最后由 eehome 于 2013-1-5 09:55 編輯
1. 應(yīng)用背景1.1亞穩(wěn)態(tài)發(fā)生原因在FPGA系統(tǒng)中,如果數(shù)據(jù)傳輸中不滿足觸發(fā)器的Tsu和Th不滿足,或者復(fù)位過程中復(fù)位信號(hào)
發(fā)表于 04-25 15:29
返回到低電平, 這和輸入的數(shù)據(jù)無關(guān)。且在亞穩(wěn)態(tài)的過程中,觸發(fā)器的輸出可能在震蕩,也可能徘徊在一個(gè)固定的中間電平上。我們來看一個(gè)真實(shí)案例。見圖3. 在這個(gè)案例中,我們測(cè)試一個(gè)FPGA邏輯單元中的亞穩(wěn)態(tài)
發(fā)表于 12-04 13:51
亞穩(wěn)態(tài)是數(shù)字電路設(shè)計(jì)中最為基礎(chǔ)和核心的理論。同步系統(tǒng)設(shè)計(jì)中的多項(xiàng)技術(shù),如synthesis,CTS,STA等都是為了避免同步系統(tǒng)產(chǎn)生亞穩(wěn)態(tài)。異步系統(tǒng)中,更容易產(chǎn)生亞穩(wěn)態(tài),因此需要對(duì)異步系統(tǒng)進(jìn)行特殊的設(shè)計(jì)處理。
發(fā)表于 11-01 17:45
亞穩(wěn)態(tài)現(xiàn)象發(fā)生的概率(只能降低,不能消除),這在FPGA設(shè)計(jì)(尤其是大工程中)是非常重要的。亞穩(wěn)態(tài)的產(chǎn)生:所有的器件都定義了一個(gè)信號(hào)時(shí)序要求,只有滿足了這個(gè)要求,才能夠正常的在輸入端獲
發(fā)表于 08-01 09:50
說起亞穩(wěn)態(tài),首先我們先來了解一下什么叫做亞穩(wěn)態(tài)。亞穩(wěn)態(tài)現(xiàn)象:信號(hào)在無關(guān)信號(hào)或者異步時(shí)鐘域之間傳輸時(shí)導(dǎo)致數(shù)字器件失效的一種現(xiàn)象。
發(fā)表于 09-11 11:52
亞穩(wěn)態(tài)概述01 亞穩(wěn)態(tài)發(fā)生原因在 FPGA 系統(tǒng)中,如果數(shù)據(jù)傳輸中不滿足觸發(fā)器的 Tsu 和 Th 不滿足,或者復(fù)位過程中復(fù)位信號(hào)的釋放相對(duì)于有效時(shí)鐘沿的恢復(fù)時(shí)間(recovery time)不滿足
發(fā)表于 10-19 10:03
性的培訓(xùn)誘導(dǎo),真正的去學(xué)習(xí)去實(shí)戰(zhàn)應(yīng)用,這種快樂試試你就會(huì)懂的。話不多說,上貨。在FPGA中,同步信號(hào)、異步信號(hào)和亞穩(wěn)態(tài)的理解PGA(Field-Programmable Gate Array),即現(xiàn)場(chǎng)
發(fā)表于 02-28 16:38
基于FPGA的亞穩(wěn)態(tài)參數(shù)測(cè)量方法_田毅
發(fā)表于 01-07 21:28
?0次下載
輸出一些中間級(jí)電平,或者可能處于振蕩狀態(tài),并且這種無用的輸出電平可以沿信號(hào)通道上的各個(gè)觸發(fā)器級(jí)聯(lián)式傳播下去。 FPGA純工程師社群 亞穩(wěn)態(tài)產(chǎn)生原因 在同步系統(tǒng)中,觸發(fā)器的建立/保持時(shí)間不滿足,就可能產(chǎn)生亞穩(wěn)態(tài)。當(dāng)信號(hào)
發(fā)表于 07-23 11:03
?4721次閱讀
可能很多FPGA初學(xué)者在剛開始學(xué)習(xí)FPGA設(shè)計(jì)的時(shí)候(當(dāng)然也包括我自己),經(jīng)常聽到類似于”這個(gè)信號(hào)需要打一拍、打兩拍(寄存),以防止亞穩(wěn)態(tài)問題的產(chǎn)生“這種話,但是對(duì)這個(gè)打拍和
發(fā)表于 02-26 18:43
?8085次閱讀
亞穩(wěn)態(tài)在電路設(shè)計(jì)中是常見的屬性現(xiàn)象,是指系統(tǒng)處于一種不穩(wěn)定的狀態(tài),雖然不是平衡狀態(tài),但可在短時(shí)間內(nèi)保持相對(duì)穩(wěn)定的狀態(tài)。對(duì)工程師來說,亞穩(wěn)態(tài)的存在可以帶來獨(dú)特的性質(zhì)和應(yīng)用,如非晶態(tài)材料、晶體缺陷等
發(fā)表于 05-18 11:03
?4863次閱讀
說起亞穩(wěn)態(tài),首先我們先來了解一下什么叫做亞穩(wěn)態(tài)。亞穩(wěn)態(tài)現(xiàn)象:信號(hào)在無關(guān)信號(hào)或者異步時(shí)鐘域之間傳輸時(shí)導(dǎo)致數(shù)字器件失效的一種現(xiàn)象。
發(fā)表于 09-19 15:18
?1890次閱讀
在數(shù)字電路的設(shè)計(jì)與實(shí)現(xiàn)中,亞穩(wěn)態(tài)是一個(gè)不可忽視的現(xiàn)象。它可能由多種因素引發(fā),對(duì)電路的穩(wěn)定性和可靠性產(chǎn)生嚴(yán)重影響。本文將深入探討數(shù)字電路中亞穩(wěn)態(tài)的概念、產(chǎn)生原因、影響以及應(yīng)對(duì)策略,以期為讀者提供全面而深入的理解。
發(fā)表于 05-21 15:29
?1299次閱讀
評(píng)論