Artikel-ID: 000096722 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 14.04.2024

Warum ist die Funktionalität meiner VHDL-2008 bedingten Signalzuweisung falsch?

Umgebung

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

    Aufgrund eines Problems in der Quartus® Prime Pro Edition-Software kann es vorkommen, dass der folgende Code nicht korrekt implementiert ist.

    example_process : Prozess (CLK)
    Beginnen
    Wenn rising_edge(clk), dann
    signal_1 <= input_a;
    signal_1 <= input_b, wenn select_signal;
    Ende, wenn;
    Prozess beenden example_process;

    Dies sollte ein registriertes Mux erstellen, erstellt aber stattdessen ein Register mit input_b , die mit der D-Eingabe verbunden sind und als Aktivierung verwendet select_signal.

    Dieser Code ist nur in VHDL-2008 gültig.

    Lösung

    Um dieses Problem zu umgehen, verwenden Sie stattdessen diesen Code.

    example_process : Prozess (CLK)
    Beginnen
    Wenn rising_edge(clk), dann
    signal_1 <= input_b, wenn select_signal anderes input_a;
    Ende, wenn;
    Prozess beenden example_process;

    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.