Compilé la biblioteca del núcleo de IP en Modelsim. La biblioteca de Xilinx está instalada en mi computadora y también creé una ROM usando las herramientas de Xilinx. Sin embargo, cuando simulo el núcleo de IP, encuentro que buscar datos de la ROM retrasará la simulación en un ciclo de reloj. ¿Cómo puedo lidiar con eso?
No quiero escribir un segundo conjunto de código, uno para la simulación y otro para descargar en el Spartan-3E. Programo en Verilog y lo siguiente es el banco de pruebas para el núcleo de IP:
'timescale 1ps / 1ps
module InstrMem_tb ;
reg clka ;
reg [31:0] dina ;
reg [7:0] addra ;
wire [31:0] douta ;
reg [0:0] wea ;
InstrMem
DUT (
.dina (dina ) ,
.addra (addra ) ,
.douta (douta ) ,
.wea (wea ) ,
.clka (clka ) );
initial begin
wea = 0;
dina = 0;
addra = 0;
clka = 0;
end
always
#50 clka = ~clka;
endmodule
Solo puedo obtener los datos en la dirección en el núcleo de IP denominado InstrMem en la segunda posición.