Archived: Zyklusgenaue Simulation mit LabVIEW FPGA

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Überblick

FPGA-Anwendungen (Field-Programmable Gate Arrays) werden zunehmend umfangreicher und komplexer. Entsprechend nimmt die Bedeutung der Simulation für die Validierung von IP zu, bevor ein zeitintensiver Kompilierprozess und die Fehlerbehandlung des Entwurfs durch Testroutinen erfolgen. In NI LabVIEW kann die Anwendungslogik im Hinblick auf Funktionalität und Timing simuliert werden. Zyklusgenaue Simulatoren innerhalb dieser Software testen die Timing-Bedingungen der Anwendung durch Bereitstellung einer Möglichkeit, die Signalausbreitung der Logik zu bewerten. Diese Simulatoren erlauben es auch, die gesamte FPGA-Anwendung zu testen. Sie integrieren dazu sowohl die Logik des LabVIEW-FPGA-Codes als auch die Component-Level IP (CLIP) bzw. die IP, die über einen Integrationsknoten implementiert wurde. In diesem Dokument wird die Integration von LabVIEW FPGA mit zyklusgenauen Simulatoren von Drittanbietern näher betrachtet. Mehr zu den Eigenschaften für die funktionale Simulation von LabVIEW FPGA liefert die Online-Hilfe zu LabVIEW FPGA.

 

Hinweis: Der Mentor Graphics Questa Advanced Simulator wird ab der Version 2018 des LabVIEW-FPGA-Moduls nicht mehr als Simulationswerkzeug in LabVIEW FPGA unterstützt.

 

Hinweis: Die Mentor Graphics ModelSim wird ab LabVIEW 2014 nicht mehr als Simulationswerkzeug in LabVIEW FPGA unterstützt.

Inhalt

Co-Simulation mit LabVIEW und Simulatoren von Drittanbieteren

Die Co-Simulation der FPGA-Anwendung erlaubt den höchsten Abstraktionsgrad, da der Anwender die Simulation direkt aus LabVIEW erstellen und ausführen kann. Dazu wird im Hintergrund ein hochentwickelter zyklusgenauer Simulator eines Drittanbieters genutzt.

Bei der Co-Simulation stellt LabVIEW dem geprüften IP Stimuli bereit, steuert die Ausführung des Simulators und erfasst die Antworten. Die konventionelle VHDL-basierte Testumgebung wird durch ein Host-VI ersetzt, das die Eingänge und die Ausführung mittels normaler Funktionen zur Kommunikation mit dem FPGA-Host steuert. Die Abstraktion der Testumgebung aufgrund bestehender LabVIEW-Fertigkeiten des Anwenders steigert einerseits die Produktivität und ermöglicht andererseits zyklusgenaue Simulationen mit den LabVIEW-FPGA-VIs ohne VHDL-Kenntnisse.

Abb. 1: Durch die zyklusgenaue Co-Simulation mit LabVIEW FPGA erübrigt sich der Bedarf an VHDL-Fachwissen durch die Unterstützung von in LabVIEW erstellten Testumgebungen.

Die Ausführung einer jeden FPGA-Hostfunktion bestimmt, wann der Simulator des Drittanbieters die nächste Komponente der Simulation ausführt. Wenn beispielsweise der Eigenschaftsknoten „Schreiben“ im LabVIEW-Host-VI läuft, dann wird ein entsprechender Stimulus für den Simulator erzeugt und die Simulationszeit fortgesetzt. Sobald der Simulator das Ergebnis berechnet hat, hält er die Ausführung an und wartet auf den nächsten Steuerbefehl von LabVIEW.

Die Ausführung des Simulators lässt sich noch präziser und flexibler steuern. Dazu stehen über die Palette „Simulation“ der FPGA-Host-Schnittstelle Funktionen zur Verfügung, um die aktuelle Simulationszeit abzufragen, eine bestimmte Wartezeit der Simulation zu erzwingen oder den Simulator anzuhalten.

Abb. 2: Die Palette „Simulation“ der FPGA-Host-Schnittstelle bietet Funktionen für eine feinere Steuerung der Ausführungszeit des Simulators vom Drittanbieter.

Die Co-Simulation mit LabVIEW-Testumgebungen wird durch ModelSim® und Questa® Advanced Simulator von Mentor Graphics unterstützt. Das Tutorium Zyklusgenaue Co-Simulation mit LabVIEW und Simulatoren von Mentor Graphics bietet eine Schritt-für-Schritt-Anleitung.

Simulationsexporte zur Verwendung mit dem Simulator des Drittanbieters erzeugen

Die zweite Möglichkeit zur zyklusgenauen Simulation, die auch maschinennäher ist, besteht darin, die LabVIEW-FPGA-Simulation direkt für die Verwendung mit dem Simulator des Drittanbieters zu erzeugen und zu exportieren. Im Gegensatz zur Co-Simulation ist dafür eine HDL-basierte Testumgebung erforderlich, die Stimuli liefert, die Testausführung steuert und Ausgaben erfasst sowie verifiziert. Um diese Methode mit LabVIEW FPGA zu nutzen, sollte der Anwender mit HDL-Simulatoren und VHDL vertraut sein. Der Vorteil dieser Methode liegt darin, dass diese Simulationsdateien neben ModelSim und Questa auch in den zyklusgenauen Simulator ISim von Xilinx importiert werden können, der Bestandteil von LabVIEW FPGA ist.

Abb. 3: Nach Änderung der von LabVIEW erzeugten Testumgebung können zyklusgenaue Simulationen in ModelSim, Questa oder ISim ausgeführt werden.

Ein Schritt des Simulationsexports besteht darin, dass LabVIEW die Vorlage einer Testumgebungsdatei erzeugt, die auf die spezifische FPGA-Anwendung des Nutzers angepasst ist. Anschließend kann zusätzlicher VHDL-Code hinzugefügt werden, so dass der Entwurf entsprechend ausgeführt wird.

Abb. 4: LabVIEW erzeugt die Vorlage einer VHDL-Testumgebung als Teil der Simulationsexportdateien, um die Entwicklung des Prüfstands zu beschleunigen.

Wie Simulationsdateien erzeugt, Testumgebungen bearbeitet und Simulationen in ISim ausgeführt werden, wird im Tutorium Zyklusgenaue Simulation mit Xilinx ISim geschildert.

Fazit

Damit die FPGA-Anwendung vor der Kompilierung und dem Serieneinsatz effizient simuliert werden kann, bietet LabVIEW FPGA Werkzeuge für eine funktionale und zyklusgenaue Timing-Simulation. Zyklusgenaue Simulatoren können wichtige Signalausbreitungskonflikte und unerwünschte Wechselwirkungen zwischen parallelem Programmcode aufdecken. In der Regel sind hierfür besonderes Fachwissen und ein Zeitaufwand erforderlich, der häufig größer ist als die ursprüngliche IP-Entwicklung.

Die zyklusgenaue Co-Simulation in LabVIEW FPGA mit ModelSim oder Questa von Mentor Graphics machen VHDL-Kenntnisse überflüssig und reduzieren die Entwicklungszeit von Testumgebungen erheblich, da auf Fertigkeiten im Umgang mit LabVIEW gesetzt wird.

Im Lieferumfang von LabVIEW FPGA ist der kostenlose zyklusgenaue Simulator ISim von Xilinx enthalten. LabVIEW erzeugt in diesem Fall allerdings die Vorlage einer VHDL-Testumgebung, die der Anwender modifizieren können muss, um den Entwurf entsprechend auszuführen. 

Mehr zu LabVIEW FPGA