• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

Quartus同步FIFO设计verilog代码

06/09 15:28
720
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-23122516421Ab.doc

共1个文件

名称:Quartus同步FIFO设计verilog代码

软件:Quartus

语言:Verilog

代码功能:

同步FIFO设计。

内容及要求:

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

(1)存储器可以采用片内SRAM或者用触发器替代;

(2)输入数据片内生成,输出侧由ISA时序读操作进行;

(3)满、空指示驱动LED;

(4)SRAM双口;

(5)读写信号同步于工作时钟,工作时钟100M;

(6)使用实验室的开发箱或自备开发板完成设计;

(7)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、时序仿真、下载验证等。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 模块图

6. Testebnch

7. 仿真图

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

具体功能1/2/3对应如下:

1.写FIFO 4次,再读4次,FIFO读空

2.写FIFO 350次,然后同时读写5次,最后读5次,FIFO剩余345个空间

3.连续写FIFO 15次,FIFO写满

部分代码展示:

//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;//读数据
//FIFO深度为360,数据宽度为3
fifo_top?i_fifo_top
(
.?clk???(clk??),//时钟
.?rst_n???(rst_n??),//复位
.?data_in???(data_in??),//fifo写数据
.?wr_en?(wr_en),//写使能
.?rd_en?(rd_en),//读使能
.?data_out??(data_out?),//读数据
.?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
    下载

相关推荐