Debuggen von VHDL: Wie?
Ich bin ein Neuling in VHDL und kann nicht herausfinden, wie zum Debuggen von VHDL-code.
Gibt es eine software, die konnte wahrscheinlich geben Sie mir einen Einblick in die internen Signale von meinem VHDL-entity, wie die Zeit vergeht, oder ähnliches?
Bitte helfen.
- es gibt keine Einschränkung wie für das Betriebssystem , ich habe Zugang zu Windows und Linux
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als die anderen posts darauf hingewiesen hast, werden Sie wahrscheinlich brauchen eine simulator wie GHDL. Allerdings debug Ihre simulation, es gibt ein paar verschiedene Methoden:
Klassischen print-Anweisungen -- mischen Sie einfach in
writeline(output,[...])
in Ihrem prozeduralen code. Siehe das Beispiel "hello world". Wenn du Einsteiger bist, dann hinzufügen von print-Anweisungen wird von unschätzbarem Wert sein. Für die meisten der simulation Debuggen, dass ich ( und das gehört zu meinem job ), ich mache fast alle debug-basierend auf der print-Anweisung, die wir aufgebaut haben, in unsere design-und testbench. Es ist nur für das Letzte debug, oder bei schwierigeren Problemen, die ich die nächsten debug-Methode."Dumping" - die simulation ( für GHDL finden Sie auf dieser Seite und diese eine ). Dies ist ein Zyklus von Zyklus trace Ihr design ( oder eine Teilmenge von Ihr design). Es ist, als ob Sie hook up ein Logik-Analysator zu jeden einzelnen Draht in Ihrem design. Alle Infos, die Sie jemals wollen über Ihr design, aber auf einem sehr niedrigen Niveau-der signal-Ebene. Diese Methodik:
Erstellen die simulation "dump". Das Basis-format für so ein dump ist eine Value Change Dump oder VCD. Welchen simulator Sie verwenden, benötigen Sie zum Lesen der Dokumentation auf, wie zum erstellen einer VCD. ( Sie können die Suche auch "dump" Ihre Dokumente-Ihr-simulator kann eine andere Datei-format für seine dumps.)
Einmal erstellen Sie eine simulation dump, laden Sie dann Ihre dump in eine wave-form-viewer. Wenn Sie mit der gEDA Paket, dann würden Sie gtkwave zum anzeigen der Müllkippe.
Hinweis, Wenn Sie verwenden möchten GHDL und gtkwave zum Debuggen von VHDL-code, können Sie installieren Sie Sie auf ubuntu mit dem Befehl:
( vorausgesetzt, Sie haben root-Zugriff auf der Maschine läuft ubuntu)
Xilinx bietet eine Kostenlose version seiner design-suite: http://www.xilinx.com/tools/webpack.htm. Webpack enthält VHDL-simulator, obwohl ich das Letzte mal versuchte, habe ich mir gewünscht ModelSim der simulator besser. Es könnte jedoch geändert.
Wepack unterscheidet sich auch von ModelSim, da es nicht nur simulator, aber voll funktionsfähige FPGA-design-suite.
ModelSim Nachteil ist die Lizenz-soweit ich bin besorgt, es ist für Studenten kostenlos nur.
Anderen hier erwähnten sind wahrscheinlich besser geeignet, basierend auf Kosten und Verfügbarkeit. Doch die beste HDL/netlist-debugger, die ich verwendet habe, ist bei weitem Verdi.
Was du suchst ist ein VHDL-simulator. Es gibt mehrere alternativen zur Auswahl:
Simili die software ist als Kostenlose version mit eingeschränkter Leistung.
Sobald man den simulator installiert, die Sie benötigen, um zu lernen, wie es zu benutzen. In der Regel müssen Sie schreiben Sie eine testbench in VHDL zu, aber einige der Simulatoren lassen Sie erstellen die Reize Signale, die von einer grafischen Benutzeroberfläche aus. Sie finden eine große Anzahl von Beispielen von VHDL-basierten testbenches auf diese Seite: VHDL-Tutorials.
Im simulator Sie sind in der Lage, um visuell inspizieren Sie den Zustand Ihres design in der waveform viewer und auch in der Lage sein, um Haltepunkte in Ihrem code zu Debuggen, das design.
Nutzung einer Simulations-software wie
ModelSim -
. Diese Art von software ist in der Regel Recht teuer. Im Allgemeinen, wenn Sie mit Ihrem vhdl synthethizer bekommen Sie einige leichte Variante davon oder eine ähnliche software, die ist genug für kleinere Dinge.Für kleine jobs, die don ' T push the language spec alle die Art und Weise, GHDL funktioniert wie ein simulator IME. Wie schieben Sie Dinge weiter (und Sie müssen, Sie können nicht Debuggen, jede größere Stück von code just-in-Silizium) können Sie feststellen, Sie brauchen, um etwas Geld für so etwas wie der Mentor Modelsim/Questa oder Aldec ' s ActiveHDL/Riviera.
ersten, die ich erstellt Prüfstand um zu testen, meine Komponente verwendet isim simuliert dieser test bench, die ich eingefügt break-Punkte in den wichtigsten code-Bereiche, verwendet die step-in-Taste, um den Schritt in die code oder die run-Taste springen Sie zum nächsten break point
genauso, wie ich es gewohnt bin zu tun mit irgendeiner Programmiersprache
Den professionellen Weg zu "Debuggen" VHDL ist die Schaffung eines "testbench". Wie alles andere VHDL-es ist kompliziert. Hier ist ein "how to testbench" link: vhdl-Testbenches
Ich bin sehr faul. Ich bin auch nicht Professionell. Ich bevorzuge es, zu tun, was ist bekannt als "Zwang". Wenn Sie mit Xilinx, ModelSim, oder Vivado, dann haben Sie die Möglichkeit zu werfen, den VHDL-code in eine "simulation". Dort können Sie fügen Sie Signale, um eine Wellenform auf, wählen Sie die Signale (rechts anklicken) und Kraft, deren Werte '0' oder '1'. Dann nach "zwingt" Sie Ihre Eingabe, führen Sie die simulation für ein paar Nanosekunden und betrachten Sie die Ausgabe.