Altera Cyclone IV FPGA und jtag-Debugging

Guten Tag allerseits, gibt es eine Methode, die mit dem jtag-Debugging auf einem Mikrocontroller (ATMEGA32) für die FPGA-Familie Cyclone IV vergleichbar ist? Ich versuche, meinen Verilog-Code zu debuggen, also möchte ich idealerweise nur in der Lage sein, Zyklen zu durchlaufen und den Wert eines bestimmten "Registers" zu lesen (nicht der richtige Begriff, da bin ich mir sicher). Ich habe mir die Dokumente angesehen und sie beschreiben viele verschiedene Optionen wie "Systemkonsole" und RTL usw. und ich habe von "Prüfständen" gehört, aber nicht wirklich verstanden, wie sie funktionieren. Ich erwarte (noch) keine Hilfe beim Verilog-Code, bin nur verwirrt darüber, welche Option (falls vorhanden) ich untersuchen soll.

Danke Ben.

Wie die beiden Autoren geantwortet haben, sind Simulation und Signalabgriff die am häufigsten verwendeten Ansätze. Ich betrachte den dritten Ansatz, der nicht gerade mit dem jtag-Debugging eines Mikrocontrollers vergleichbar ist. Eher vergleichbar mit Design-in mit Diagnose- und Überwachungscode in Ihrem Ziel: Wie Sie Ihre Kernlogik auf einem FPGA über das jtag-Programmierkabel von der Host-Entwicklungsmaschine direkt anzapfen . Das habe ich noch nicht herausgefunden, aber ich habe das Gefühl, dass die Antwort am Horizont liegt.

Antworten (2)

Simulation ist, was Sie wollen - lesen Sie, wie Sie eine einfache Testbench für Ihre Schaltung erstellen (Uhr anlegen und zurücksetzen). Binden Sie alle Eingaben, die für die einfachen Fälle ignoriert werden können, niedrig, arbeiten Sie daran, eine passende Maschine auf der Testbench-Seite der Simulation zu haben, um Ihr Design zumindest zu üben (wenn nicht zu überprüfen).
Es ist Zeitverschwendung, mit dem Debuggen eines FPGAs zu beginnen, es sei denn, Sie sind sich wirklich sicher (und dann ist es knapp).

Die Simulation gibt Ihnen einen Überblick über alle internen Knoten (Wires oder Flops), entweder in der ursprünglichen HDL, die Sie geschrieben haben, oder in der Netzliste, die sich nach der Synthese ergibt (hier können die echten Timing-Verzögerungen verwendet werden, aber im Allgemeinen möchten Sie das vermeiden).

Danke Sean. Ich werde mir jetzt auf jeden Fall mal einen Prüfstand anschauen.

Sie können ein FPGA-Design nicht einfach in Einzelschritten ausführen, es sei denn, diese Fähigkeit ist Teil des Designs selbst. Altera bietet jedoch einen eingebetteten Logikanalysator namens SignalTap an , mit dem Sie Signale in Echtzeit untersuchen können.

Aber es ist normalerweise besser, den Großteil des Debuggings im Simulator durchzuführen; Die Transparenz dessen, was vor sich geht, und die Möglichkeit, Dinge spontan zu ändern, ist so viel besser.