Artikel-ID: 000074592 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 04.09.2012

Warum wird die Quartus II Software nicht korrekt mit Vorzeichen gepackten Array-Variablen in SystemVerilog gehärtet?

Umgebung

  • Intel® Quartus® II Anmeldungs-Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Aufgrund eines Problems in der Quartus® II Software werden vorgezeichente Array-Variablen in SystemVerilog möglicherweise nicht korrekt synthetischen. Dieses Problem kann auftreten, wenn einer gepackten Array-Variable mit Vorzeichen eine eindimensionale Array-Variable zugewiesen wird, wenn der Indexbereich nicht explizit angegeben wird.

    Der folgende Code kann beispielsweise fälschlicherweise von der Quartus II Software hergestellt werden:

    logic clk;
    logic signed [3:0][31:0] packed_array_variable;
    logic signed [31:0] array_variable;

    always_ff @ (posedge clk)
        packed_array_variable[0] <= array_variable;
    Lösung

    Um dieses Problem zu umgehen, müssen Sie den Indexbereich explizit angeben, wenn einer gepackten Array-Variable eine eindimensionale Array-Variable zugewiesen wird.

    Ändern Sie beispielsweise im oben genannten Code die letzte Zeile in:

        packed_array_variable[0][31:0] <= array_variable;

    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.