Die überwiegende Mehrheit der VHDL-Designs verwendet getaktete Logik , auch bekannt als synchrone Logik oder sequenzielle Logik . Ein getakteter Prozess wird nur durch ein Haupttaktsignal ausgelöst, nicht wenn sich eines der anderen Eingangssignale ändert. Der Grundbaustein der getakteten Logik ist
Testen Sie Ihren Fortschritt mit diesem VHDL-Quiz, nachdem Sie die Tutorials 12–17 aus der Basic VHDL Tutorial-Reihe abgeschlossen haben! Welche Aussage zum signierten Typ ist richtig? Sie können stellen höhere Werte dar als vorzeichenlose Typen Wenn die Bit ganz links ist 1, der Wert muss ne
In früheren Tutorials haben wir den wait for verwendet Anweisung, um die Zeit in der Simulation zu verzögern. Aber was ist mit Produktionsmodulen? Die wait for Aussage kann dafür nicht verwendet werden. Das funktioniert nur in der Simulation, weil wir den Elektronen in einem Stromkreis nicht einfach
Eine Prozedur ist eine Art Unterprogramm in VHDL, das uns dabei helfen kann, die Wiederholung von Code zu vermeiden. Manchmal besteht die Notwendigkeit, identische Operationen an mehreren Stellen im Design durchzuführen. Während das Erstellen eines Moduls für kleinere Operationen übertrieben sein ka
Ein endlicher Automat (FSM) ist ein Mechanismus, dessen Ausgabe nicht nur vom aktuellen Zustand der Eingabe abhängt, sondern auch von vergangenen Eingabe- und Ausgabewerten. Wann immer Sie einen zeitabhängigen Algorithmus in VHDL erstellen müssen oder wenn Sie vor dem Problem stehen, ein Computerpr
Funktionen sind Unterprogramme in VHDL, die zur Implementierung häufig verwendeter Algorithmen verwendet werden können. Eine Funktion nimmt null oder mehr Eingabewerte entgegen und gibt immer einen Wert zurück. Neben dem Rückgabewert unterscheidet sich eine Funktion von einer Prozedur dadurch, dass
Eine unreine Funktion kann jedes Signal innerhalb ihres Gültigkeitsbereichs lesen oder schreiben, auch solche, die nicht auf der Parameterliste stehen. Wir sagen, dass die Funktion Nebenwirkungen hat . Was wir mit Nebeneffekten meinen, ist, dass nicht garantiert ist, dass die Funktion bei jedem Auf
Es ist möglich, externe Signale von einer Prozedur zu treiben. Solange sich das Signal im Geltungsbereich der Prozedur befindet, kann darauf lesend oder schreibend zugegriffen werden, auch wenn es nicht in der Parameterliste aufgeführt ist. Prozeduren, die im deklarativen Bereich der Architektur de
Testen Sie Ihren Fortschritt mit diesem VHDL-Quiz, nachdem Sie Teil 4 der Basic VHDL Tutorial-Reihe abgeschlossen haben! Wie messen wir die Echtzeit in VHDL? Durch Verwendung eine Warte auf 1 ns-Anweisung Durch Zählen Taktperioden Durch Exploit Ausbreitungsverzögerung Richtig! Falsch! -
Die verknüpfte Liste ist eine dynamische Datenstruktur. Eine verknüpfte Liste kann verwendet werden, wenn die Gesamtzahl der Elemente nicht im Voraus bekannt ist. Es wächst und schrumpft im Speicher, relativ zur Anzahl der enthaltenen Elemente. Verkettete Listen werden am bequemsten unter Verwendun
Eine selbstprüfende Testbench ist ein VHDL-Programm, das die Korrektheit des zu testenden Geräts (DUT) überprüft, ohne sich auf einen Bediener zu verlassen, der die Ausgabe manuell überprüft. Die selbstüberprüfende Testbench läuft völlig selbstständig und gibt am Ende eine „OK“- oder „Failed“-Meldun
Eine interaktive Testbench ist ein Simulatoraufbau, bei dem Eingaben für das zu testende Gerät (DUT) von einem Bediener bereitgestellt werden, während die Testbench läuft. Meistens bedeutet dies, dass Sie Befehle in die Simulatorkonsole eingeben, um dem DUT einen Stimulus zu geben. Während Sie imme
Ringpuffer sind beliebte Konstrukte zum Erstellen von Warteschlangen in sequentiellen Programmiersprachen, sie können jedoch auch in Hardware implementiert werden. In diesem Artikel erstellen wir einen Ringpuffer in VHDL, um einen FIFO im Block-RAM zu implementieren. Bei der Implementierung eines F
Constrained Random Verification ist eine Testbench-Strategie, die auf der Generierung pseudozufälliger Transaktionen für das zu testende Gerät (DUT) beruht. Ziel ist es, durch zufällige Interaktion mit dem DUT eine funktionale Abdeckung einer Reihe vordefinierter Ereignisse zu erreichen. Open Sourc
Ich freue mich, Ihnen mitteilen zu können, dass der VHDL- und FPGA-Kurs, an dem ich in den letzten sechs Monaten gearbeitet habe, langsam abgeschlossen wird. Der Kurs befindet sich im Moment in der Beta-Phase und ich plane, ihn diesen Herbst zum ersten Mal zu starten. Für wen ist der FPGA-Kurs geeig
Ich war ein wenig genervt von den Besonderheiten der AXI-Schnittstelle, als ich das erste Mal Logik erstellen musste, um ein AXI-Modul anzubinden. Anstelle der regulären Steuersignale Beschäftigt/Gültig, Voll/Gültig oder Leer/Gültig verwendet die AXI-Schnittstelle zwei Steuersignale namens „Bereit“
Eine bequeme Möglichkeit, den Block-RAM mit Anfangswerten zu füllen, besteht darin, binäre oder hexadezimale Literale aus einer ASCII-Datei zu lesen. Dies ist auch eine gute Möglichkeit, ein ROM (Read-Only Memory) in VHDL zu erstellen. Schließlich sind RAM und ROM in FPGAs dasselbe, ROM ist ein RAM,
Das Lesen von Signalwerten aus einer Datei ist eine alternative Möglichkeit, Stimuli für das zu testende Gerät (DUT) zu erzeugen. Die Testbench-Sequenz und das Timing sind in einer Stimulus-Datei fest codiert, die von der VHDL-Testbench Zeile für Zeile gelesen wird. Auf diese Weise können Sie das Mu
Das Konvertieren der Bilddatei in ein Bitmap-Format ist die einfachste Möglichkeit, ein Bild mit VHDL zu lesen. Die Unterstützung für das BMP-Rastergrafik-Bilddateiformat ist in das Microsoft Windows-Betriebssystem integriert. Damit ist BMP ein geeignetes Bildformat zum Speichern von Fotos für die V
Dieses Video ist eine einführende Präsentation über FPGA und programmierbare Logiktechnologie. Ich habe diesen 45-minütigen Vortrag auf einer Veranstaltung von 7 Peaks Software in Bangkok, Thailand, am 19. November 2019 gehalten. Zu den Höhepunkten der Präsentation gehören: 05:07 Wer verwendet FP
VHDL