我正在尝试从Vivado 2015.4中的块存储器生成器生成的BROM中读取值,作为我的代码的结果,模拟开始时的第一个值是00000000,经过2个时钟周期后,它开始在用于初始化该值的.coe文件中读取我的第一个值。它假定读取地址16'h0000中的第一个值。 enter image description here我真的不知道我的测试台出了什么问题,因此,很高兴有人可以帮助我。谢谢。 这是我的代码。
`timescale 1 ns / 1 ps
module brom_tb();
reg clk;
reg en;
reg [15:0] addr;
wire [31:0] dout;
BROM_wrapper
uut(.BRAM_PORTA_addr(addr),.BRAM_PORTA_clk(clk),.BRAM_PORTA_dout(dout),
.BRAM_PORTA_en(en));
initial
begin
addr = 0;
clk = 1'b0;
en = 1'b1;
forever #5 clk=~clk;
end
always @(posedge clk)
begin
addr <= addr + 1;
end
endmodule