FPGA片内ROM读写测试Verilog逻辑源码Quartus工程文件+文档说明,ALTERA 在 Quartus 软件里为我们已经提供了 ROM 的 IP 核, 我们只需通过 IP 核例化一个 ROM,
根据 ROM 的读时序来读取 ROM 中存储的数据。实验中会通过 Quartus 集成的在线逻辑分析仪Signaltap,我们可以观察 ROM 的读时序和从 ROM 中读取的数据,FPGA型号Cyclone4E系列中的EP4CE6F17C8,Quartus版本17.1。
timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
module rom_test(
input clk, //50MHz时钟
input rst_n //复位信号,低电平有效
);
//-----------------------------------------------------------
reg[4:0] rom_addr; //ROM输入地址
wire[7:0] rom_data; //ROM的数据
//产生ROM地址读取数据测试
always @(posedge clk or negedge rst_n)
if(rst_n==1'b0)
rom_addr <= 10'd0;
else
rom_addr <= rom_addr+1'b1;
//-----------------------------------------------------------
//实例化ROM
rom_ip rom_ip_inst
(
.clock (clk ), // input clock
.address (rom_addr ), // input [4 : 0] address
.q (rom_data ) // output [7 : 0] q
);
endmodule