同步fifo與異步fifo

同步fifo與異步fifo

ID:14211367

大小:104.00 KB

頁數(shù):7頁

時間:2018-07-26

同步fifo與異步fifo_第1頁
同步fifo與異步fifo_第2頁
同步fifo與異步fifo_第3頁
同步fifo與異步fifo_第4頁
同步fifo與異步fifo_第5頁
資源描述:

《同步fifo與異步fifo》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、l同步FIFO之VHDL描述同步FIFO的意思是說FIFO的讀寫時鐘是同一個時鐘,不同于異步FIFO,異步FIFO的讀寫時鐘是完全異步的。同步FIFO的對外接口包括時鐘,清零,讀請求,寫請求,數(shù)據(jù)輸入總線,數(shù)據(jù)輸出總線,空以及滿信號。下面分別對同步FIFO的對外接口信號作一描述:1.?時鐘,輸入,用于同步FIFO的讀和寫,上升沿有效;2.?清零,輸入,異步清零信號,低電平有效,該信號有效時,F(xiàn)IFO被清空;3.?寫請求,輸入,低電平有效,該信號有效時,表明外部電路請求向FIFO寫入數(shù)據(jù);4.?讀請求,輸入,低電平有效,該信號有效時,表明外部電路請求從FIFO中讀取數(shù)據(jù);5.?數(shù)據(jù)輸入總線,輸

2、入,當(dāng)寫信號有效時,數(shù)據(jù)輸入總線上的數(shù)據(jù)被寫入到FIFO中;6.?數(shù)據(jù)輸出總線,輸出,當(dāng)讀信號有效時,數(shù)據(jù)從FIFO中被讀出并放到數(shù)據(jù)輸出總線上;7.?空,輸出,高電平有效,當(dāng)該信號有效時,表明FIFO中沒有任何數(shù)據(jù),全部為空;8.?滿,輸出,高電平有效,當(dāng)該信號有效時,表明FIFO已經(jīng)滿了,沒有空間可用來存貯數(shù)據(jù)。使用VHDL描述的FIFO將以上面的接口為基礎(chǔ),并且可以參數(shù)化配置FIFO的寬度和深度。先把對外接口描述出來吧。------------------------------------------------------------------------------------

3、-----------------------Designer:skycanny--Date:2007-1-29--Description:SynchronousFIFOcreatedbyVHDLlibraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitysfifoisgeneric(width:positivedepth:positive);port(clk:instd_logic;rst:instd_logic;wq:instd_logic;

4、rq:instd_logic;data???????:instd_logic_vector(width-1downto0);q:instd_logic_vector(width-1downto0);empty:outstd_logic;full:outstd_logic);endentitysfifo;下面的框圖主要描述同步FIFO的內(nèi)部結(jié)構(gòu),畫出框圖有助于對電路結(jié)構(gòu)的理解,同樣也有助于RTL代碼的編寫:l異步FIFOFIFO(先進先出隊列)是一種在電子系統(tǒng)得到廣泛應(yīng)用的器件,通常用于數(shù)據(jù)的緩存和用于容納異步信號的頻率或相位的差異。FIFO的實現(xiàn)通常是利用雙口RAM和讀寫地址產(chǎn)生模塊來實現(xiàn)的

5、。FIFO的接口信號包括異步的寫時鐘(wr_clk)和讀時鐘(rd_clk)、與寫時鐘同步的寫有效(wren)和寫數(shù)據(jù)(wr_data)、與讀時鐘同步的讀有效(rden)和讀數(shù)據(jù)(rd_data)。為了實現(xiàn)正確的讀寫和避免FIFO的上溢或下溢,通常還應(yīng)該給出與讀時鐘和寫時鐘同步的FIFO的空標(biāo)志(empty)和滿標(biāo)志(full)以禁止讀寫操作。1異步FIFO功能描述圖1給出了FIFO的接口信號和內(nèi)部模塊圖。由圖1可以看出,寫地址產(chǎn)生模塊根據(jù)寫時鐘和寫有效信號產(chǎn)生遞增的寫地睛,讀地址產(chǎn)生模塊根據(jù)讀時鐘和讀有效信號產(chǎn)生遞增的讀地址。FIFO的操作如下:在寫時鐘wr_clk的升沿,當(dāng)wren有效時

6、,將wr_data寫入雙口RAM中寫地址對應(yīng)的位置中;始終將讀地址對應(yīng)的雙口RAM中的數(shù)據(jù)輸出到讀數(shù)據(jù)總線上。這樣就實現(xiàn)了先進先出的功能。???寫地址產(chǎn)生模塊還根據(jù)讀地址和寫地址關(guān)系產(chǎn)生FIFO的滿標(biāo)志。當(dāng)wren有效時,若寫地址+2=讀地址時,full為1;當(dāng)wren無效時,若寫地址+1=讀地址時,full為1。讀地址產(chǎn)生模塊還根據(jù)讀地址和寫地址的差產(chǎn)生FIFO的空標(biāo)志。當(dāng)rden有效時,若寫地址-1=讀地址時,empty為1;當(dāng)rden無效時,若寫地址=讀地址時,empty為1。按照以上方式產(chǎn)生標(biāo)志信號是為了提前一個時鐘周期產(chǎn)生對應(yīng)的標(biāo)志信號。由于空標(biāo)志和滿標(biāo)志控制了FIFO的操作,因此

7、標(biāo)志錯誤會引起操作的錯誤。如上所述,標(biāo)志的產(chǎn)生是通過對讀寫地址的比較產(chǎn)生的,當(dāng)讀寫時鐘完全異步時,對讀寫地址進行比較時,可能得出錯誤的結(jié)果。例如,在讀地址變化過程中,由于讀地址的各位變化并不同步,計算讀寫地址的差值,可能產(chǎn)生錯誤的差值,導(dǎo)致產(chǎn)生錯誤的滿標(biāo)志信號。若將未滿標(biāo)志置為滿標(biāo)志時,可能降低了應(yīng)用的性能,降低寫數(shù)據(jù)速率;而將滿置標(biāo)志置為未滿時,執(zhí)行一次寫操作,則可能產(chǎn)生溢出錯誤,這對于實際應(yīng)用來說是絕對應(yīng)

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

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

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