基于fpga的異步fifo設(shè)計與實現(xiàn)

基于fpga的異步fifo設(shè)計與實現(xiàn)

ID:10759662

大?。?70.00 KB

頁數(shù):5頁

時間:2018-07-08

基于fpga的異步fifo設(shè)計與實現(xiàn)_第1頁
基于fpga的異步fifo設(shè)計與實現(xiàn)_第2頁
基于fpga的異步fifo設(shè)計與實現(xiàn)_第3頁
基于fpga的異步fifo設(shè)計與實現(xiàn)_第4頁
基于fpga的異步fifo設(shè)計與實現(xiàn)_第5頁
資源描述:

《基于fpga的異步fifo設(shè)計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、基于FPGA的異步FIFO設(shè)計與實現(xiàn)AsynchronousFIFODesignandImplementationBasedonFPGA(1.清華大學電子工程系;2.中國科學院電子學研究所)熊紅兵1陳琦2Xiong,HongbingChen,Qi摘要:異步FIFO是用來適配不同時鐘域之間的相位差和頻率飄移的重要模塊。本文設(shè)計的異步FIFO采用了格雷(GRAY)變換技術(shù)和雙端口RAM實現(xiàn)了不同時鐘域之間的數(shù)據(jù)無損傳輸。該結(jié)構(gòu)利用了GRAY變換的特點,使得整個系統(tǒng)可靠性高和抗干擾能力強,系統(tǒng)可以工作在讀寫時鐘頻率漂移達到正負300PPM的惡劣

2、環(huán)境。并且由于采用了模塊化結(jié)構(gòu),使得系統(tǒng)具有良好的可擴充性。關(guān)鍵字:FIFO;雙口RAM;格雷碼;指針解釋;指針生成Abstract:AsynchronousFIFOisanimportantmodulewhichalwaysusedtoabsorbthephaseandfrequencyoffsetbetweendifferentclockdomainincommunicationarea.Inthispaper,anFIFOmoduleisdesignedusingGrayconverttechnologyanddual-portra

3、m,whichrealizingscathelesstransmitbetweendifferentclockdomain.TheadvancesofGray(Onlyonebitchangesbetweenneighboringtwoclock)improvesthereliabilityandanti-jammingcapabilityofthesystem.Andthesystemcanworknormallyinthebadconditionwhichthephaseandfrequencyoffsettargetto300PPM

4、.ItisprovedbyworkthattheFIFOmodulecanfulfillthedemandsofreal-timeofdatatransmittingsystem,andthemoduleispowerfulenoughformoredataprocessinthefuture.Keywards:FIFO;Dual-portRAM;Gray;Pointerinterpreter;Pointergenerator1.引言FIFO(先進先出隊列)是一種在電子系統(tǒng)得到廣泛應(yīng)用的器件,通常用于數(shù)據(jù)的緩存和用于容納異步信號的頻率或相

5、位的差異。該器件用在SDH設(shè)備上時,處于指針解釋和指針生成之間,用來緩沖數(shù)據(jù)流,以實現(xiàn)不同時鐘速度的匹配。經(jīng)過指針解釋(PI)的凈荷數(shù)據(jù)流進入FIFO中,包括8位數(shù)據(jù)位和一位J1字節(jié)標志位;指針生成(PG)部分根據(jù)PG部分的payload信號將數(shù)據(jù)從FIFO讀出,并生成新的指針。FIFO可以根據(jù)其內(nèi)部數(shù)據(jù)的空滿程度,決定是否向PG發(fā)出正/負調(diào)整申請信號。FIFO主要實現(xiàn)如下功能:l處理AU3級數(shù)據(jù)流的緩沖;l提供級聯(lián)模式;l給出指針正/負調(diào)整申請信號,閾值可設(shè);l可以插入fullscan,保證較高的可測試性。2.FIFO工作原理圖1FIF

6、O工作原理示意圖5FIFO的工作原理可用圖1來表示。整個系統(tǒng)分為兩個完全獨立的時鐘域,即讀時鐘域和寫時間域。FIFO的存儲介質(zhì)為一塊雙端口RAM,F(xiàn)IFO深度為64個字節(jié)??梢酝瑫r進行讀寫操作。為避免對同一個地址進行讀寫操作,復(fù)位或者溢出時將讀寫地址錯開。由圖1可以看出,寫地址產(chǎn)生模塊根據(jù)寫時鐘和寫有效信號產(chǎn)生遞增的寫地址,讀地址產(chǎn)生模塊根據(jù)讀時鐘和讀有效信號產(chǎn)生遞增的讀地址。FIFO的操作如下:在寫時鐘wr_clk的升沿,當wren有效時,將wr_data寫入雙口RAM中寫地址對應(yīng)的位置中;始終將讀地址對應(yīng)的雙口RAM中的數(shù)據(jù)輸出到讀數(shù)

7、據(jù)總線上。這樣就實現(xiàn)了先進先出的功能。由于空標志和滿標志控制了FIFO的操作,因此標志錯誤會引起操作的錯誤。如上所述,標志的產(chǎn)生是通過對讀寫地址的比較產(chǎn)生的,當讀寫時鐘完全異步時,對讀寫地址進行比較時,可能得出錯誤的結(jié)果。例如,在讀地址變化過程中,由于讀地址的各位變化并不同步,計算讀寫地址的差值,可能產(chǎn)生錯誤的差值,導(dǎo)致產(chǎn)生錯誤的滿標志信號。若將未滿標志置為滿標志時,可能降低了應(yīng)用的性能,降低寫數(shù)據(jù)速率;而將滿置標志置為未滿時,執(zhí)行一次寫操作,則可能產(chǎn)生溢出錯誤,這對于實際應(yīng)用來說是絕對應(yīng)該避免的??諛酥拘盘柕漠a(chǎn)生也可能產(chǎn)生類似的錯誤。從

8、以上分析中可以看出,異步FIFO之所以會發(fā)生錯誤是國為在地址變化時,由于多位地址各位變化時間不同,異步時鐘對其進行采樣時數(shù)值可能為不同于地址變化喪后數(shù)值的其他值,異步產(chǎn)生錯誤的空標志和滿標志,

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。