Cómo especificar la biblioteca para el componente Verilog de bajo nivel en VHDL testbench

0

He escrito un banco de pruebas VHDL para probar un diseño Verilog. Un módulo Verilog de nivel inferior crea una instancia de algunos FIFO a través de Altera Megawizard. El código FIFO leído está debajo:

// synopsys translate_off
'timescale 1 ps / 1 ps
// synopsys translate_on
module Sdram_RD_FIFO (
    aclr,
    data,
    rdclk,
    rdreq,
    wrclk,
    wrreq,
    q,
    wrusedw);

    input     aclr;
    input   [31:0]  data;
    input     rdclk;
    input     rdreq;
    input     wrclk;
    input     wrreq;
    output  [15:0]  q;
    output  [7:0]  wrusedw;
'ifndef ALTERA_RESERVED_QIS
// synopsys translate_off
'endif
    tri0      aclr;
'ifndef ALTERA_RESERVED_QIS
// synopsys translate_on
'endif

    wire [15:0] sub_wire0;
    wire [7:0] sub_wire1;
    wire [15:0] q = sub_wire0[15:0];
    wire [7:0] wrusedw = sub_wire1[7:0];

    dcfifo_mixed_widths dcfifo_mixed_widths_component (
                .aclr (aclr),
                .data (data),
                .rdclk (rdclk),
                .rdreq (rdreq),
                .wrclk (wrclk),
                .wrreq (wrreq),
                .q (sub_wire0),
                .wrusedw (sub_wire1),
                .rdempty (),
                .rdfull (),
                .rdusedw (),
                .wrempty (),
                .wrfull ());
    defparam
        dcfifo_mixed_widths_component.intended_device_family = "Cyclone IV E",
        dcfifo_mixed_widths_component.lpm_numwords = 256,
        dcfifo_mixed_widths_component.lpm_showahead = "OFF",
        dcfifo_mixed_widths_component.lpm_type = "dcfifo_mixed_widths",
        dcfifo_mixed_widths_component.lpm_width = 32,
        dcfifo_mixed_widths_component.lpm_widthu = 8,
        dcfifo_mixed_widths_component.lpm_widthu_r = 9,
        dcfifo_mixed_widths_component.lpm_width_r = 16,
        dcfifo_mixed_widths_component.overflow_checking = "ON",
        dcfifo_mixed_widths_component.rdsync_delaypipe = 4,
        dcfifo_mixed_widths_component.read_aclr_synch = "OFF",
        dcfifo_mixed_widths_component.underflow_checking = "ON",
        dcfifo_mixed_widths_component.use_eab = "ON",
        dcfifo_mixed_widths_component.write_aclr_synch = "OFF",
        dcfifo_mixed_widths_component.wrsync_delaypipe = 4;

endmodule

El dcfifo_mixed_widths es algo que se define en la biblioteca altera_mf en mi Modelsim. Si esto fuera un FIFO VHDL, podría decir simplemente biblioteca altera_mf; utilizar altera_mf.all. Sin embargo, dado que este es el módulo Verilog, no puedo hacerlo. Sin embargo, espero que ModelSim detecte lo que ya existe en una biblioteca llamada altera_mf.

Cuando comienzo la simulación, obtengo errores por FIFO que dice "# ** Error: (vsim-3033) D: /Project/DE2_115_CAMERA/Sdram_Control/Sdram_WR_FIFO.v (70): Instanciación de 'dcfifo_mixed_widths'. no se encontró la unidad ".

¿Cuál es la solución?

    
pregunta quantum231

0 respuestas

Lea otras preguntas en las etiquetas