Artikel-ID: 000090227 Inhaltstyp: Fehlermeldungen Letzte Überprüfung: 08.08.2023

Fehler (13224): Verilog HDL- oder VHDL-Fehler bei <your module="" name="">.sv(<your line="" number="">): Index <your index=""> liegt außerhalb des Bereichs [<your range="">] für '<your variable="">'</your></your></your></your></your>

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Aufgrund eines Problems in der Intel® Quartus® Prime Pro Edition Software Version 21.4 und früher, kann dieser Fehler während der Analyse- und Synthesephase auftreten. Dies liegt daran, dass die parametrisierten Schnittstellen die localparam-Logikvariablen der SystemVerilog-Schnittstelle nicht mit den Wrappervariablen der obersten Ebene überschreiben können.

    Im folgenden Beispiel werden die localparam-Logikvariablen ADDR_W und DATA_W der Schnittstelle mit den Parametern 4 und 1 nicht von den Wrappervariablen der obersten Ebene mit den Parametern 5 bzw. 8 überschrieben.

    Wrapper der obersten Ebene:

    Modul mem_wrapper #( int ADDR_W = 5, int DATA_W = 8 )

    ...

    mem_if #( ADDR_W, DATA_W ) mem_if ( i_clk_a );

    mem mem ( mem_if );

    ...

    Endmodul : mem_wrapper

    Schnittstelle:

    Schnittstelle mem_if #( int ADDR_W = 4, int DATA_W = 1 ) ( input clk );

    localparam-Logik [DATA_W - 1:0] INIT_V [2 ** ADDR_W] = '{default: '1};

    ...

    modport mem ( input clk, addr, wren, idat, output odat );

    Endschnittstelle : mem_if

    Modport:

    Modul mem ( mem_if.mem mem_if );

    Logik [mem_if. DATA_W - 1:0] mem [2 ** mem_if. ADDR_W];

    Ersten
    for(int i = 0; i < 2 ** mem_if. ADDR_W; i++)
    mem[i] = mem_if. INIT_V[i];

    ...

    Endmodule : Mem

    Lösung

    Um diesen Fehler zu vermeiden, verwenden Sie nicht die localparam-Logik in der SystemVerilog-Schnittstelle.

    Zum Beispiel:

    Schnittstelle:

    Schnittstelle mem_if #( int ADDR_W = 4, int DATA_W = 1 ) ( input clk );

    Logik [DATA_W - 1:0] INIT_V [2 ** ADDR_W] = '{Standard: '1};

    ...

    modport mem ( Eingabe clk, addr, wren, idat, Ausgabe odat, INIT_V);

    Endschnittstelle : mem_if

    Dieses Problem wurde ab der Intel® Quartus® Prime Pro Edition Software Version 22.4 behoben.

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 1 Produkte

    Intel® programmierbare Geräte

    Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.