La simulación de un núcleo IP en Modelsim se retrasa un ciclo de reloj

5

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.

    
pregunta zijuexiansheng

1 respuesta

2

De repente, descubrí lo que está mal con mi programa . Es la escala de tiempo . Establecí la escala de tiempo en 1ps / 1ps, lo cual no es suficiente para que el ip core funcione correctamente. Cuando cambio la escala de tiempo a 1ns / 1ps, funciona correctamente.

    
respondido por el zijuexiansheng

Lea otras preguntas en las etiquetas