新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于VHDL的異步FIFO設(shè)計

基于VHDL的異步FIFO設(shè)計

作者: 時間:2011-08-17 來源:網(wǎng)絡(luò) 收藏

摘要:經(jīng)常應(yīng)用于從一個時鐘域傳輸數(shù)據(jù)到另一個時鐘域。為解決過程中空滿標志判斷難以及FPGA亞穩(wěn)態(tài)的問題,提出一種新穎的方案,即利用格雷碼計數(shù)器(每次時鐘到來僅有1位發(fā)生改變)表示讀/寫指針,二級同步鏈為跨越不同時鐘域的讀/寫指針,以提供充足的穩(wěn)定時間,并通過對比格雷碼指針產(chǎn)生空滿標志位。該設(shè)計采用語言進行設(shè)計,利用ALTERA公司的FPGA得以實現(xiàn)。經(jīng)驗證進一步表明,模塊化的設(shè)計不僅避免了亞穩(wěn)態(tài)的產(chǎn)生,增大平均無故障工作時間(MBTF),也使工作效率大為提升。
關(guān)鍵詞:;;亞穩(wěn)態(tài);格雷碼

先進先出緩存電路讀/寫(FIFO)在大規(guī)模邏輯設(shè)計中被廣泛應(yīng)用,幾乎每個芯片都要涉及,同樣在空空導(dǎo)彈的數(shù)據(jù)傳輸體系中也得以大量應(yīng)用。FIFO類型可以分為兩種,第一種為同步FIFO,即讀/寫時鐘是同步的,這里的同步不僅僅是指讀/寫時鐘為同一個時鐘,即屬于同一個時終域。當讀/寫時鐘頻率為倍數(shù)關(guān)系,即相位關(guān)系確定時,也歸屬同步FIFO的范疇。另一種為異步FIFO,讀/寫時鐘頻率不成倍數(shù)關(guān)系或相位關(guān)系不確定,即跨時鐘域。異步FIFO可以在不同的時鐘域之間快速方便地傳輸實時數(shù)據(jù),因此在遙測數(shù)據(jù)傳輸中,異步FIFO實用性更好。然而如何正確地產(chǎn)生空滿標志以及如果解決亞穩(wěn)態(tài)問題是異步FIFO設(shè)計的難點。

1 FIFO結(jié)構(gòu)
首先,典型的FIFO結(jié)構(gòu)框圖如圖1所示。FIFO的數(shù)據(jù)存儲在具有獨立寫端口和讀端口的RAM中。讀指針r0_pointer指向下一個將要讀取的位置,寫指針wrpointer指向下一個將要寫入的位置,每1次寫操作后寫指針加1,讀操作使讀指針加1。狀態(tài)產(chǎn)生模塊中,full和empty表示FIFO讀/寫的臨界狀態(tài)。FIFO設(shè)計的關(guān)鍵是產(chǎn)生讀/寫地址和空滿標志??諠M標志是引起指針相等的操作。如果是復(fù)位或者讀操作引起
讀/寫指針相等,F(xiàn)IFO認為是空;如果原因是寫操作,那么FIFO認為是滿。異步FIFO設(shè)計的難點是如何同步跨時鐘域的指針以及空滿標志的產(chǎn)生。

本文引用地址:http://2s4d.com/article/178738.htm

a.jpg



2 亞穩(wěn)態(tài)
亞穩(wěn)態(tài)是當信號在無關(guān)的電路中或異步時鐘域之間傳輸時導(dǎo)致FPGA系統(tǒng)失效的一種現(xiàn)象。包括FPGA在內(nèi)的所有數(shù)字器件的寄存器都定義了信號時序要求,以保證每一個寄存器都能夠從輸入端獲取數(shù)據(jù)和在輸出端產(chǎn)生數(shù)據(jù)。為了確??煽康牟僮?,輸入信號必須在時鐘沿之前穩(wěn)定一段時間(寄存器建立時間tsu),并且在時鐘沿之后穩(wěn)定一段時間(寄存器保持時間th),然后寄存器輸出經(jīng)過一個特定的時鐘到輸出延時后有效。滿足此要求寄存器才可以正確的在輸入端獲取數(shù)據(jù)在輸出端產(chǎn)生數(shù)據(jù),否則輸出有可能是亞穩(wěn)態(tài)。在亞穩(wěn)態(tài)時,寄存器的輸出電壓在高低電平之間搖擺,即輸出將有可能是邏輯0(0 V)或者邏輯1(+5 V),或者是介于0~5 V中間的某個值。亞穩(wěn)態(tài)產(chǎn)生機制圖如圖2所示,當建立時間或者保持時間不滿足時序要求時便會產(chǎn)生亞穩(wěn)態(tài)。

b.jpg


在同步系統(tǒng)中,輸入信號必須總是滿足寄存器時序要求,所以亞穩(wěn)態(tài)不會發(fā)生。亞穩(wěn)態(tài)問題通常發(fā)生在當一個信號在無關(guān)的線路中或異步時鐘域中傳輸。一個寄存器進入亞穩(wěn)態(tài)和從亞穩(wěn)態(tài)進入穩(wěn)態(tài)的時間依賴于制造商的制造工藝和使用環(huán)境。大部分情況下,寄存器會很快的進入一個定義的穩(wěn)態(tài)中。在異步FIFO設(shè)計中就要避免亞穩(wěn)態(tài)的產(chǎn)生。


上一頁 1 2 3 下一頁

關(guān)鍵詞: 設(shè)計 FIFO 異步 VHDL 基于

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉