同步fifo和異步fifo的verilog實現(xiàn)

同步fifo和異步fifo的verilog實現(xiàn)

ID:3156864

大小:56.00 KB

頁數(shù):0頁

時間:2017-11-20

同步fifo和異步fifo的verilog實現(xiàn)_第頁
預(yù)覽圖正在加載中,預(yù)計需要20秒,請耐心等待
資源描述:

《同步fifo和異步fifo的verilog實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫

1、FIFO是英文FirstInFirstOut的縮寫,是一種先進先出的數(shù)據(jù)緩存器,他與普通存儲器的區(qū)別是沒有外部讀寫地址線,這樣使用起來非常簡單,但缺點就是只能順序?qū)懭霐?shù)據(jù),順序的讀出數(shù)據(jù),其數(shù)據(jù)地址由內(nèi)部讀寫指針自動加1完成,不能像普通存儲器那樣可以由地址線決定讀取或?qū)懭肽硞€指定的地址。?FIFO一般用于不同時鐘域之間的數(shù)據(jù)傳輸,比如FIFO的一端是AD數(shù)據(jù)采集,另一端是計算機的PCI總線,假設(shè)其AD采集的速率為16位100KSPS,那么每秒的數(shù)據(jù)量為100K×16bit=1.6Mbps,而PCI總線的速度為33MHz,總線寬度32bit,其最大傳輸速率為1056Mbps,在兩個不同的時鐘域間

2、就可以采用FIFO來作為數(shù)據(jù)緩沖。另外對于不同寬度的數(shù)據(jù)接口也可以用FIFO,例如單片機位8位數(shù)據(jù)輸出,而DSP可能是16位數(shù)據(jù)輸入,在單片機與DSP連接時就可以使用FIFO來達到數(shù)據(jù)匹配的目的。?FIFO的分類根據(jù)FIFO工作的時鐘域,可以將FIFO分為同步FIFO和異步FIFO。同步FIFO是指讀時鐘和寫時鐘為同一個時鐘。在時鐘沿來臨時同時發(fā)生讀寫操作。異步FIFO是指讀寫時鐘不一致,讀寫時鐘是互相獨立的。?FIFO設(shè)計的難點在于怎樣判斷FIFO的空/滿狀態(tài)。為了保證數(shù)據(jù)正確的寫入或讀出,而不發(fā)生益處或讀空的狀態(tài)出現(xiàn),必須保證FIFO在滿的情況下,不能進行寫操作。在空的狀態(tài)下不能進行讀操作

3、。怎樣判斷FIFO的滿/空就成了FIFO設(shè)計的核心問題。.........................................................................................................................................同步FIFO的Verilog代碼之一在modlesim中驗證過。/******************************************************Afifocontrollerverilogdescription.**************

4、****************************************/modulefifo(datain,rd,wr,rst,clk,dataout,full,empty);input[7:0]datain;inputrd,wr,rst,clk;output[7:0]dataout;outputfull,empty;wire[7:0]dataout;regfull_in,empty_in;reg[7:0]mem[15:0];reg[3:0]rp,wp;assignfull=full_in;assignempty=empty_in;//memoryreadoutassigndatao

5、ut=mem[rp];//memorywriteinalways@(posedgeclk)begin???if(wr&&~full_in)mem[wp]<=datain;end//memorywritepointerincrementalways@(posedgeclkornegedgerst)begin???if(!rst)wp<=0;???elsebegin?????if(wr&&~full_in)wp<=wp+1'b1;???endend//memoryreadpointerincrementalways@(posedgeclkornegedgerst)begin???if(!rst)r

6、p<=0;???elsebegin?????if(rd&&~empty_in)rp<=rp+1'b1;???endend//Fullsignalgeneratealways@(posedgeclkornegedgerst)begin???if(!rst)full_in<=1'b0;???elsebegin?????if((~rd&&wr)&&((wp==rp-1)

7、

8、(rp==4'h0&&wp==4'hf)))?????????full_in<=1'b1;?????elseif(full_in&&rd)full_in<=1'b0;???endend//Emptysignalgenerateal

9、ways@(posedgeclkornegedgerst)begin???if(!rst)empty_in<=1'b1;???elsebegin?????if((rd&&~wr)&&(rp==wp-1

10、

11、(rp==4'hf&&wp==4'h0)))???????empty_in<=1'b1;?????elseif(empty_in&&wr)empty_in<=1'b0;???endendendmo

當(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)系客服處理。