Я пытаюсь прочитать значение из BROM, которое я сгенерировал из Block Memory Generator в Vivado 2015.4, в результате моего кода первое значение, когда начинается симуляция, равно 00000000, и после 2 циклов тактовой частоты оно начинает прочитайте мое первое значение в файле .coe, который я использовал для инициализации значения. Предполагается, что первое значение прочитано по адресу 16'h0000. введите описание изображения здесь Я действительно не знаю, что не так с моим испытательным стендом, поэтому я рад, если кто-нибудь может мне помочь. Спасибо.
Вот мой код.
`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