Artikel-ID: 000086149 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 16.03.2021

Schwerwiegender Fehler: Segmentverletzung: faulting address=(ascii), PC=(ascii): 0:

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 20.4 und früher kann diese schwerwiegende Fehlermeldung in der Synthesestufe angezeigt werden, wenn eine VHDL rekursive Funktion mit einem Zwischenwert aufgerufen wird, der auf eine Konstante oder auf den Anfangswert einer in der Funktion angegebenen Variable gesetzt ist.

     

    Code-Beispiel:

    Funktions-function_2
    (

    konstante RECURSION_DEPTH: natürlich)

    Rückgabe natürlich ist

    konstante retval :natural := -- konstante oder initialisierte Variable, gleiches Ergebnis

    function_1(

    RECURSION_DEPTH => RECURSION_DEPTH);

    Beginnen

    Rückgabe retval;

    ende function_2;

     

     

    Lösung

    Um dieses Problem zu umgehen, weisen Sie den Wert einer Konstante zu, und weisen Sie ihn einer Variable zu, wobei die Zuweisung im Körper der Funktion erfolgt ist.

    Beachten Sie, dass die Zuweisung des Wertes zu der Variable im Körper der Funktion erfolgen muss. Sie darf nicht als anfängliche Wertzuweisung im deklarativen Teil der Funktion durchgeführt werden, da letzteres den gleichen Absturz wie die Einstellung einer Konstante zur Folge hat.

    Beispiel:

    Funktions-function_2
    (

    konstante RECURSION_DEPTH: natürlich)

    Rückgabe natürlich ist

    Variable Retval : natürlich;

    Beginnen

    retval := function_1(

    RECURSION_DEPTH => RECURSION_DEPTH);

    Rückgabe retval;

    ende function_2;

    Dieses Problem wird ab der Intel® Quartus® Prime Pro Edition Software Version 21.3 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.