• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產業(yè)圖譜

Quartus同步FIFO設計verilog代碼

06/09 15:28
297
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-23122516421Ab.doc

共1個文件

名稱:Quartus同步FIFO設計verilog代碼

軟件:Quartus

語言:Verilog

代碼功能:

同步FIFO設計。

內容及要求:

完成3bit寬、360深的同步FIFO。

(1)存儲器可以采用片內SRAM或者用觸發(fā)器替代;

(2)輸入數(shù)據(jù)片內生成,輸出側由ISA時序讀操作進行;

(3)滿、空指示驅動LED;

(4)SRAM雙口;

(5)讀寫信號同步于工作時鐘,工作時鐘100M;

(6)使用實驗室的開發(fā)箱或自備開發(fā)板完成設計;

(7)完成全部流程:設計規(guī)范文檔、模塊設計、代碼輸入、功能仿真、約束與綜合、時序仿真、下載驗證等。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 模塊圖

6. Testebnch

7. 仿真圖

仿真圖依次仿真了如下功能:

具體功能1/2/3對應如下:

1.寫FIFO 4次,再讀4次,F(xiàn)IFO讀空

2.寫FIFO 350次,然后同時讀寫5次,最后讀5次,F(xiàn)IFO剩余345個空間

3.連續(xù)寫FIFO 15次,F(xiàn)IFO寫滿

部分代碼展示:

//fifo?testbench
module?fifo_test();
reg?clk;
reg?rst_n;
reg?[2:0]?data_in;
reg?wr_en;
reg?rd_en;
wire?empty;
wire?full;
wire?[2:0]?data_out;//讀數(shù)據(jù)
//FIFO深度為360,數(shù)據(jù)寬度為3
fifo_top?i_fifo_top
(
.?clk???(clk??),//時鐘
.?rst_n???(rst_n??),//復位
.?data_in???(data_in??),//fifo寫數(shù)據(jù)
.?wr_en?(wr_en),//寫使能
.?rd_en?(rd_en),//讀使能
.?data_out??(data_out?),//讀數(shù)據(jù)
.?empty?(empty),//空信號
.?full??(full?)?//滿信號
);
initial?begin
$monitor("empty=%b?,?full=%b",?empty,full);//檢測空滿信號
end
initial?begin
rst_n=0;
data_in='d0;
wr_en=0;
rd_en=0;
#100;
rst_n=1;
#100;
repeat(4)begin//寫4次
data_in=data_in+'d1;
wr_en=1;
#20;
wr_en=0;
#1000;
end
#100;
repeat(4)begin//讀4次
rd_en=1;
#20;
rd_en=0;
#1000;
end
repeat(350)begin//寫350次
data_in=data_in+'d1;
wr_en=1;
#20;
wr_en=0;
#1000;
end
repeat(5)begin//讀寫5次
data_in=data_in+'d1;
wr_en=1;
rd_en=1;
#20;
wr_en=0;
rd_en=0;
#1000;
end
#100;
repeat(5)begin//讀5次
rd_en=1;
#20;
rd_en=0;
#1000;
end
repeat(15)begin//寫15次
data_in=data_in+64'd1;
wr_en=1;
#20;
wr_en=0;
#1000;
end
end
//產生時鐘
always?begin
clk=1;
#10;
clk=0;
#10;
end
endmodule

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=408

  • 2-23122516421Ab.doc
    下載

相關推薦