FPGA中的亞穩(wěn)態(tài)咨詢題_第1頁
FPGA中的亞穩(wěn)態(tài)咨詢題_第2頁
FPGA中的亞穩(wěn)態(tài)咨詢題_第3頁
FPGA中的亞穩(wěn)態(tài)咨詢題_第4頁
FPGA中的亞穩(wěn)態(tài)咨詢題_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

千里之行,始于足下。第2頁/共2頁精品文檔推薦FPGA中的亞穩(wěn)態(tài)咨詢題1.應(yīng)用背景

1.1亞穩(wěn)態(tài)發(fā)生緣故

在FPGA系統(tǒng)中,假如數(shù)據(jù)傳輸中別滿腳觸發(fā)器的Tsu和Th別滿腳,或者復(fù)位過程中復(fù)位信號(hào)的釋放相關(guān)于有效時(shí)鐘沿的恢復(fù)時(shí)刻(recoverytime)別滿腳,就也許產(chǎn)生亞穩(wěn)態(tài),此刻觸發(fā)器輸出端Q在有效時(shí)鐘沿之后比較長(zhǎng)的一段時(shí)刻處于別確定的狀態(tài),在這段時(shí)刻里Q端在0和1之間處于振蕩狀態(tài),而別是等于數(shù)據(jù)輸入端D的值。這段時(shí)刻稱為決斷時(shí)刻(resolutiontime)。通過resolutiontime之后Q端將穩(wěn)定到0或1上,然而穩(wěn)定到0或者1,是隨機(jī)的,與輸入沒有必定的關(guān)系。

1.2亞穩(wěn)態(tài)發(fā)生場(chǎng)合

只要系統(tǒng)中有異步元件,亞穩(wěn)態(tài)算是無法幸免的,亞穩(wěn)態(tài)要緊發(fā)生在異步信號(hào)檢測(cè)、跨時(shí)鐘域信號(hào)傳輸以及復(fù)位電路等常用設(shè)計(jì)中。

1.3亞穩(wěn)態(tài)危害

由于產(chǎn)生亞穩(wěn)態(tài)后,寄存器Q端輸出在穩(wěn)定下來之前也許是毛刺、振蕩、固定的某一電壓值。在信號(hào)傳輸中產(chǎn)生亞穩(wěn)態(tài)就會(huì)導(dǎo)致與其相連其他數(shù)字部件將其作出別同的推斷,有的推斷到“1”有的推斷到“0”,有的也進(jìn)入了亞穩(wěn)態(tài),數(shù)字部件就會(huì)邏輯混亂。在復(fù)位電路中產(chǎn)生亞穩(wěn)態(tài)也許會(huì)導(dǎo)致復(fù)位失敗。如何落低亞穩(wěn)態(tài)發(fā)生的概率成了FPGA設(shè)計(jì)需要重視的一具注意事項(xiàng)。

2.理論分析

2.1信號(hào)傳輸中的亞穩(wěn)態(tài)

在同步系統(tǒng)中,輸入信號(hào)總是系統(tǒng)時(shí)鐘同步,可以達(dá)到寄存器的時(shí)序要求,因此亞穩(wěn)態(tài)不可能發(fā)生。亞穩(wěn)態(tài)咨詢題通常發(fā)生在一些跨時(shí)鐘域信號(hào)傳輸以及異步信號(hào)采集上。

它們發(fā)生的緣故如下:

(1)在跨時(shí)鐘域信號(hào)傳輸時(shí),由于源寄存器時(shí)鐘和目的寄存器時(shí)鐘相移未知,因此源寄存器數(shù)據(jù)發(fā)出數(shù)據(jù),數(shù)據(jù)也許在任何時(shí)刻到達(dá)異步時(shí)鐘域的目的寄存器,因此無法保證滿腳目的寄存器Tsu和Th的要求;

(2)在異步信號(hào)采集中,由于異步信號(hào)能夠在任意時(shí)刻點(diǎn)到達(dá)目的寄存器,因此也無法保證滿腳目的寄存器Tsu和Th的要求;

當(dāng)數(shù)據(jù)在目的寄存器Tsu-Th時(shí)刻窗口發(fā)生變化,也即當(dāng)數(shù)據(jù)的建立時(shí)刻或者保持時(shí)刻別滿腳時(shí),就也許發(fā)生亞穩(wěn)態(tài)現(xiàn)象。如圖3.1所示。

圖3.1亞穩(wěn)態(tài)產(chǎn)生示意圖

由圖可知,當(dāng)產(chǎn)生亞穩(wěn)態(tài)后Tco時(shí)刻后會(huì)有Tmet(決斷時(shí)刻)的振蕩時(shí)刻段,當(dāng)振蕩結(jié)束回

到穩(wěn)定狀態(tài)時(shí)為“0”或者“1”,那個(gè)是隨機(jī)的。所以,會(huì)對(duì)后續(xù)電路推斷造成妨礙。

2.2復(fù)位電路的亞穩(wěn)態(tài)

2.2.1異步復(fù)位電路

在復(fù)位電路設(shè)計(jì)中,復(fù)位信號(hào)基本基本上異步的,常用異步復(fù)位電路Verilog描述如下:

always@(posedgeclkornegedgerst_n)

begin

if(!rst_n)a<=1’b0;

elsea<=b;

end

綜合出來復(fù)位電路模型如圖3.2所示:

圖3.2異步復(fù)位電路模型

如圖3.3所示,為復(fù)位電路復(fù)位時(shí)序圖。假如異步復(fù)位信號(hào)的撤銷時(shí)刻在Trecovery(恢復(fù)時(shí)刻)和Tremoval(移除時(shí)刻)之內(nèi),那勢(shì)必造成亞穩(wěn)態(tài)的產(chǎn)生,輸出在時(shí)鐘邊沿的Tco后會(huì)產(chǎn)生振蕩,振蕩時(shí)刻為Tmet(決斷時(shí)刻),最后穩(wěn)定到“0”或者“1”,就會(huì)也許造成復(fù)位失敗。

圖3.3異步復(fù)位時(shí)序

2.2.2同步復(fù)位電路的亞穩(wěn)態(tài)

在復(fù)位電路中,由于復(fù)位信號(hào)是異步的,所以,有點(diǎn)設(shè)計(jì)采納同步復(fù)位電路舉行復(fù)位,同時(shí)絕大多數(shù)資料關(guān)于同步復(fù)位電路都以為不可能發(fā)生亞穩(wěn)態(tài),事實(shí)上別然,同步電路也會(huì)發(fā)生亞穩(wěn)態(tài),不過幾率小于異步復(fù)位電路。

如下面verilog代碼對(duì)同步復(fù)位電路的描述。

always@(posedgeclk)

begin

if(!rst_n)a<=1’b0;

elsea<=b;

end

綜合出硬件電路如圖3.4所示。

圖3.4同步復(fù)位電路

在此,我們別討論同步復(fù)位的消耗資源咨詢題,只討論同步復(fù)位的亞穩(wěn)態(tài)產(chǎn)生事情。

當(dāng)輸入端Din為高電平,而且復(fù)位信號(hào)的撤銷時(shí)刻在clk的Tsu和Th內(nèi)時(shí)候,亞穩(wěn)態(tài)就隨之產(chǎn)生了。如圖3.5時(shí)序所示,當(dāng)復(fù)位撤銷時(shí)刻在clk的Tsu和Th內(nèi),輸入數(shù)據(jù)為“1”,經(jīng)過和輸入數(shù)據(jù)相與后的數(shù)據(jù)也在clk的Tsu和Th內(nèi),所以,勢(shì)必會(huì)造成類似異步信號(hào)采集的亞穩(wěn)態(tài)事情。

圖3.5同步復(fù)位電路時(shí)序圖

2.3亞穩(wěn)態(tài)產(chǎn)生概率以及串?dāng)_概率

在實(shí)際的FPGA電路設(shè)計(jì)中,常常人們想的是如何減少亞穩(wěn)態(tài)對(duì)系統(tǒng)的妨礙,非常少有人思考如何才干減少亞穩(wěn)態(tài)發(fā)生幾率,以及亞穩(wěn)態(tài)串?dāng)_的概率咨詢題。

2.3.1亞穩(wěn)態(tài)發(fā)生概率

由上面分析得知,系統(tǒng)亞穩(wěn)態(tài)發(fā)生的基本上由于clk的Tsu和Th別滿腳,又或者是復(fù)位信號(hào)的移除和恢復(fù)時(shí)刻別滿腳。常用FPGA器件的Tsu+Th約等于1ns,復(fù)位移除和恢復(fù)時(shí)刻相加約等于1ns。

當(dāng)異步信號(hào)別是一組數(shù)據(jù),或者信號(hào)量較少,那就需要對(duì)異步信號(hào)舉行同步處理,例如對(duì)一具異步脈沖信號(hào)舉行采集,只要脈沖信號(hào)變化發(fā)生在時(shí)鐘Tsu和Th窗口內(nèi),那就非常也許會(huì)產(chǎn)生亞穩(wěn)態(tài),亞穩(wěn)態(tài)產(chǎn)生的概率似乎為:

概率=(建立時(shí)刻+保持時(shí)刻)/采集時(shí)鐘周期(公式3-1)

由公式3-1能夠看出,隨著clk頻率的增加,亞穩(wěn)態(tài)發(fā)生的幾率是增加的。

例如,為系統(tǒng)采納100M時(shí)鐘對(duì)一具外部信號(hào)舉行采集,采集時(shí)鐘周期為10ns,那采集產(chǎn)生亞穩(wěn)態(tài)的概率為:1ns/10ns=10%

同理采納300M時(shí)鐘對(duì)一具外部信號(hào)舉行采集,那產(chǎn)生亞穩(wěn)態(tài)的概率為:1ns/3.3ns=30%假如采納三相相位差為120°的時(shí)鐘對(duì)一具外部信號(hào)舉行采集,那產(chǎn)生亞穩(wěn)態(tài)的概率接近90%因此在異步信號(hào)采集過程中,要想減少亞穩(wěn)態(tài)發(fā)生的概率:

(1)落低系統(tǒng)工作時(shí)鐘,增大系統(tǒng)周期,亞穩(wěn)態(tài)概率就會(huì)減?。?/p>

(2)采納工藝更好的FPGA,也算是Tsu和Th時(shí)刻較小的FPGA器件;

2.3.2亞穩(wěn)態(tài)的串?dāng)_概率

使用異步信號(hào)舉行使用的時(shí)候,好的設(shè)計(jì)都會(huì)對(duì)異步信號(hào)舉行同步處理,同步普通采納多級(jí)D觸發(fā)器級(jí)聯(lián)處理,如圖3.6所示,采納三級(jí)D觸發(fā)器對(duì)異步信號(hào)舉行同步處理。

圖3.6三級(jí)寄存器同步

這種模型大部分資料都講的是第一級(jí)寄存器產(chǎn)生亞穩(wěn)態(tài)后,第二級(jí)寄存器穩(wěn)定輸出概率為90%,第三極寄存器穩(wěn)定輸出的概率為99%,假如亞穩(wěn)態(tài)尾隨電路向來傳遞下去,那就會(huì)另自我修護(hù)能力較弱的系統(tǒng)直截了當(dāng)崩潰。接下來我們分析這種串?dāng)_的概率咨詢題。

如圖3.7所示為一具正常第一級(jí)寄存器發(fā)生了亞穩(wěn)態(tài),第二級(jí)、第三極寄存器消除亞穩(wěn)態(tài)時(shí)序模型。

圖3.7三級(jí)寄存器消除亞穩(wěn)態(tài)

由上圖能夠看出,當(dāng)?shù)谝痪呒拇嫫靼l(fā)生亞穩(wěn)態(tài)后,通過Tmet的振蕩穩(wěn)定后,第二級(jí)寄存器能采集到一具穩(wěn)定的值。然而為啥第二級(jí)寄存器依然也許會(huì)產(chǎn)生亞穩(wěn)態(tài)呢?

由于振蕩時(shí)刻Tmet是受到非常多因素妨礙的,因此Tmet時(shí)刻又長(zhǎng)有短,因此當(dāng)Tmet時(shí)刻長(zhǎng)到大于一具采集周期后,那第二級(jí)寄存器就會(huì)采集到亞穩(wěn)態(tài)。如圖3.8所示。

圖3.8二級(jí)寄存器亞穩(wěn)態(tài)

由上圖可知,第二級(jí)也是一具亞穩(wěn)態(tài),因此在這種事情下,亞穩(wěn)態(tài)產(chǎn)生了串?dāng)_,從第一級(jí)寄存器傳到了第二級(jí)寄存器,同樣也也許從第二級(jí)寄存器串?dāng)_到第三級(jí)寄存器。如此會(huì)讓設(shè)計(jì)邏輯推斷出錯(cuò),產(chǎn)生亞穩(wěn)態(tài)傳輸,也許導(dǎo)致系統(tǒng)死機(jī)崩潰。

2.3.3亞穩(wěn)態(tài)振蕩時(shí)刻Tmet

亞穩(wěn)態(tài)震蕩時(shí)刻Tmet關(guān)系到后級(jí)寄存器的采集穩(wěn)定咨詢題,Tmet妨礙因素包括:器件的生產(chǎn)工藝、溫度、環(huán)境以及寄存器采集到亞穩(wěn)態(tài)離穩(wěn)定態(tài)的時(shí)間等。甚至某些特定條件,如干擾、輻射等都會(huì)造成Tmet增長(zhǎng)。

3.應(yīng)用分析

有亞穩(wěn)態(tài)產(chǎn)生,我們就要對(duì)亞穩(wěn)態(tài)舉行消除,常用對(duì)亞穩(wěn)態(tài)消除有三種方式:

(1)對(duì)異步信號(hào)舉行同步處理;

(2)采納FIFO對(duì)跨時(shí)鐘域數(shù)據(jù)通信舉行緩沖設(shè)計(jì);

(3)對(duì)復(fù)位電路采納異步復(fù)位、同步釋放方式處理。

3.1.1對(duì)異步信號(hào)舉行同步提取邊沿

在異步通信或者跨時(shí)鐘域通信過程中,最常用的算是對(duì)異步信號(hào)舉行同步提取邊沿處理。對(duì)一具異步信號(hào)舉行提取上升沿通常采納程序清單4.1所示。

程序清單4.1雙極寄存器提取邊沿

inputsig_nsyn;

wiresig_nsyn_p;

reg[1:0]sig_nsyn_r;

always@(posedgeclkornegedgerst_n)

begin

if(!rst_n)sig_nsyn_r<=2’d0;

elsesig_nsyn_r<={sig_nsyn_r[0],sig_nsyn};

end

assignsig_nsyn_p=sig_nsyn_r[0]&~sig_nsyn_r[1];

這種邊沿提取方式關(guān)于一具穩(wěn)定的系統(tǒng)是別合適的,例如:當(dāng)?shù)谝患?jí)寄存器采集到亞穩(wěn)態(tài),那勢(shì)必造成sig_nsyn_p輸出亞穩(wěn)態(tài),如此就會(huì)對(duì)采納sig_nsyn_p的信號(hào)舉行推斷的電路造成妨礙,甚至推斷出錯(cuò)誤的值。

依照3.3.1小節(jié)的亞穩(wěn)態(tài)產(chǎn)生概率,假如在100M時(shí)種下那第一級(jí)寄存器產(chǎn)生亞穩(wěn)態(tài)的概率約為10%,隨著系統(tǒng)采集頻率升高,那產(chǎn)生亞穩(wěn)態(tài)的概率也會(huì)隨之上升。所以,在舉行異步信號(hào)跨頻提取邊沿時(shí)候,普通采納多舉行一級(jí)寄存器消除亞穩(wěn)態(tài),也許在系統(tǒng)穩(wěn)定性要求高的事情下,采納更多級(jí)寄存器來消除亞穩(wěn)態(tài),如程序清單4.2所示,即為采納4級(jí)寄存器消除亞穩(wěn)態(tài),相應(yīng)的邊沿信號(hào)產(chǎn)生的時(shí)刻就晚了兩個(gè)時(shí)鐘周期。

程序清單4.2多級(jí)寄存器提取邊沿信號(hào)

inputsig_nsyn;

wiresig_nsyn_p;

reg[3:0]sig_nsyn_r;

always@(posedgeclkornegedgerst_n)

begin

if(!rst_n)sig_nsyn_r<=2’d0;

elsesig_nsyn_r<={sig_nsyn_r[2::0],sig_nsyn};

end

assignsig_nsyn_p=sig_nsyn_r[2]&~sig_nsyn_r[3];

3.1.2FIFO舉行異步跨頻數(shù)據(jù)處理

當(dāng)數(shù)據(jù)流從一具時(shí)鐘域到另一具時(shí)鐘域的時(shí)候,絕大多數(shù)事情下都采納FIFO來作為中間緩沖,采納雙時(shí)鐘對(duì)數(shù)據(jù)緩沖,就能夠幸免亞穩(wěn)態(tài)的發(fā)生。

3.1.3異步復(fù)位,同步釋放

關(guān)于復(fù)位事情下的亞穩(wěn)態(tài),常常是由于恢復(fù)時(shí)刻和移除時(shí)鐘別滿腳造成的,所以,最常用的處理方式是采納異步復(fù)位、同步釋放。常用電路模型如所示。采納第二級(jí)寄存器輸出作為全局復(fù)位信號(hào)輸出。

程序清單4.3異步復(fù)位處理

wiresys

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論