Neue Funktionen in NI LabVIEW FPGA
Webcast: Neue Funktionen in LabVIEW 2010 FPGA Neue Funktionen in LabVIEW 2010
Neue Funktionen in LabVIEW 8.6
Neue Funktionen in LabVIEW 8.5
Neue Funktionen in LabVIEW 8.2
Funktionen in LabVIEW 8.0
Funktionen in LabVIEW 7.1
Neue Funktionen in LabVIEW 2010IP-IntegrationsknotenDer IP-Integrationsknoten ersetzt den HDL-Schnittstellenknoten zur Integration von Drittanbieter-IP. Sie können sowohl bestehenden VHDL-Code als auch mit dem Xilinx Core Generator erstellte IP-Cores integrieren. Mit diesem Knoten kann zudem automatisch ein Simulationsmodell für das IP erstellt werden. Somit ist es möglich, das FPGA-Layout auf dem Entwicklungscomputer zu simulieren, auch wenn Code aus dem Xilinx Core Generator oder reiner VHDL-Code eingesetzt wird. Nach der Konfiguration des Knotens kann das IP wie jeder andere LabVIEW-Knoten mit Ein- und Ausgängen eingesetzt werden.
Neue Kompilierfunktionen mit Compile-Farm/Cloud-Software und Build-SpezifikationenLabVIEW FPGA nutzt nun Build-Spezifikationen für die Kompiliereigenschaften des jeweiligen VIs. Damit lassen sich Kompilierungen besser verwalten und Experimente mit unterschiedlichen Xilinx-Konfigurationen einfach durchführen. NI hat zudem ein Toolkit auf den Markt gebracht, mit dem sich Kompilierungen auf mehreren Maschinen durchführen lassen, so dass FPGA-Kompilierungen von den Entwicklungsmaschinen ausgelagert werden können. NI arbeitet daran, diese Technologie auch in die sogenannte Cloud-Software zu integrieren. Der LabVIEW FPGA Cloud Compile Service, eine Beta-Funktion von LabVIEW 2010, ermöglicht den Einsatz dedizierter High-End-Maschinen für umfangreiche FPGA-Kompilierungen.
Zyklusgenaue Simulation mit ModelSimMit LabVIEW 2010 ist es möglich, das LabVIEW-Blockdiagramm in einen Dateisatz zu exportieren, der in kommerzieller Simulationssoftware analysiert werden kann. Somit lassen sich zyklusgenaue Simulationen des LabVIEW-FPGA-Systems durchführen. Bitte beachten Sie, dass diese Funktion für Anwender gedacht ist, die bereits über Erfahrungen mit ModelSim und anderen FPGA-Entwurfswerkzeugen verfügen. Neue und verbesserte IPLabVIEW 2010 umfasst neue FPGA-IP für Statistiken, wie z. B. Mittelwert, Standardabweichung und Varianz. Des Weiteren bietet es einen neuen komplexen Multiplikator, einen Matrizen-Vektor-Multiplikator und eine vollständige Implementierung für den DSP48E-MAC-Block. Neue Speicher-IP ist zudem für das Lesen im Speicher für zwei Anschlüsse und für externen DRAM-Support verfügbar. Außerdem wurden auch CLIP-Verbesserungen vorgenommen. So steht nun ein Konfigurationsassistent als Ersatz für die XML-Generierung zur Verfügung und CLIP bietet allgemeine Unterstützung für VHDL. Dynamische Host-SchnittstellenverbindungBisher gestaltete es sich schwierig, die FPGA-Schnittstelle vom Host zum FPGA wiederzuverwenden, da die Referenzverbindung nur für ein einzelnes FPGA-VI oder die Bitdatei ausgelegt war. In LabVIEW 2010 steht nun eine dynamische Referenzverbindung zur Verfügung, mit der SubVIs, die für den Host mit FPGA-Schnittstellenreferenz erstellt wurden, einfacher wiederverwendet werden können. Bitte beachten Sie, dass das FPGA-VI immer noch eine namensbasierte Verbindung zu den Registern (Bedien- und Anzeigeelemente des Frontpanels) unterhält. Um die Funktion zu nutzen, muss sichergestellt werden, dass diese Namen auch wiederverwendet werden können. Zusätzlich kann die strikte Referenzverbindung (strikte Typdefinition), wenn nötig, weiter verwendet werden. Neue Funktionen in LabVIEW 2009Webcast: Neue Funktionen in LabVIEW 2009 FPGA Frühzeitige Einschätzung der Ressourcenverwendung und -geschwindigkeitAuf vielfachen Anwenderwunsch enthält LabVIEW 2009 nun eine Funktion, welche eine bessere Einschätzung der Nutzung von FPGA-Ressourcen schon vor der Kompilierung ermöglicht. Der Compiler in LabVIEW 2009 zeigt die ungefähre Größe und Geschwindigkeit des Designs nach der Synthese an und benachrichtigt den Anwender sobald die Daten zum Abruf bereit stehen. Fehlerbehebung bei Timing-Verstößen mit Hervorhebung des betroffenen PfadsBei Timing-Verstößen ist es oft schwierig, den betroffenen Pfad zu identifizieren und die Timing-Bedingungen durch effizienteres Programmieren und das Hinzufügen von Pipeline-Stufen zu reduzieren. In LabVIEW 2009 öffnet sich nun bei Timing-Verstößen ein Fenster, welches jedes VI des Pfads anzeigt und die Platzierung des VIs im FPGA-Blockdiagramm hervorhebt. Die Funktion bezieht sogar SubVIs mit ein, um den Ursprung des Timing-Verstoßes zu identifizieren. Neue und verbesserte durchsatzstarke Mathematik- und Signalverarbeitungs-IPDie neuen durchsatzstarken mathematischen VIs bieten Sinus-, Kosinus- und Exponenzialfunktionen, die mithilfe des Hochgeschwindigkeits-Handshaking-Protokolls in einer zeitgesteuerten Schleife ausgeführt werden können. Diese Funktionen können zudem mit anderen Funktionen wie FFT und Neuabtastung in einer durchsatzstarken Signalkette miteinander kombiniert werden. Funktionen zur Host-IntegrationLabVIEW 2009 bietet für die Host-Integration zwei wichtige Funktionen. LabVIEW verfügt über eine C-Schnittstelle, welche die Kommunikation mit dem in Hardware ablaufenden LabVIEW-FPGA-Programm in C ermöglicht. Die Funktion umfasst Lese-/Schreiberegister, DMA und Interrupts. Des Weiteren stellt LabVIEW 2009 neue Skalierungsbegleit-VIs für bestimmte FPGA-IP-Funktionen zur Verfügung. So beinhaltet LabVIEW beispielsweise ein VI zur Konvertierung von FFT-Rohdaten in Spektraldaten, ein VI zur Vorbereitung von Koeffizienten für FPGA-Filter-VIs und ein VI, das Frequenz-, Amplituden- und Phasenwerte in Werte für die Signalerzeugung umwandelt. Neue Funktionen in LabVIEW 8.6Webcast: Neue Funktionen des LabVIEW 8.6 FPGA Module Verbesserte Simulation des AnwendungsverhaltensFür eine effizientere Anwendungsentwicklung können Sie die Funktionen für die erweiterte Simulation des Anwendungsverhaltens nutzen, welche den Programmcode auf dem Entwicklungscomputer ausführen, so dass die Funktionen überprüft werden können, bevor der Code kompiliert wird. Zusätzlich können in LabVIEW 8.6 LabVIEW-Programme eingesetzt werden, die für Eingangsknoten im FPGA Testvektoren oder interaktive Werte simulieren. Sie können die Ausgänge erfassen, um das FPGA-Verhalten zu überprüfen und darzustellen, den Host auf dem Entwicklungscomputer zur gleichen Zeit wie den FPGA ausführen und Register- und DMA-Übertragungen zwischen dem FPGA und dem Host-Code simulieren. Mithilfe dieser neuen Funktionen können Sie eine Prüfstation für den FPGA-Code erstellen, um die Logik zu überprüfen und das gesamte System simulieren, ohne Programmcode zu kompilieren. FFT und weitere neue IPIn LabVIEW 8.6 können Sie FFT und Fenstertechniken auf dem FPGA implementieren. Bei dieser Funktion handelt es sich um eine der am häufigsten angefragten Funktionen, für die NI nun einen anpassbaren IP-Kern bereitstellt, der FFT, inverse FFT, unterschiedliche binäre Formate für Ein- und Ausgangsgrößen und Durchsatzeinstellungen unterstützt. Weitere Funktionen sind u. a. rationale Neuabtastung, Dividieren, Quadratwurzel, adaptive Filter und Funktionen für die Behandlung von Festkomma-Überlauf. Unterstützung für FestkommadatentypDer Festkommadatentyp wird nun auf fast allen FPGA-Funktionseingängen unterstützt. Dies beinhaltet Unterstützung für DMA, Speicher, Filter, PID, FFT und alle arithmetischen Funktionen. Zusätzlich bietet der Festkommadatentyp eine Option zum Hinzufügen eines Überlauf-Bits, das bei der Verbindung mit übertragen wird. NI wird die Unterstützung für Festkommadatentypen in zukünftigen Versionen weiter ausbauen, um das Arbeiten mit Zielgeräten, die über begrenzte Ressourcen verfügen, zu erleichtern. CLIP-Knoten (Component Level IP)Component-Level IP (CLIP) ist eine neue Methode für den Import und die Nutzung externer IP, die in einer Hardwarebeschreibungssprache (Hardware Description Language, HDL) geschrieben wurden. Mit CLIP durchgeführte Implementierungen werden parallel zum LabVIEW-Blockdiagramm ausgeführt, wobei die Kommunikation mit der IP über vom Benutzer erstellte I/O-Knoten erfolgt. Bei ausgewählten Hardwarezielen kann CLIP genutzt werden, um direkt mit den I/O-Pins zu kommunizieren. CLIP-Funktionen ermöglichen das Hinzufügen beliebiger IP zur FPGA-Plattform, die unter Umständen besser parallel ausgeführt werden als entsprechend dem Datenfluss, wie es beim derzeitigen HDL-Schnittstellenknoten der Fall ist. Funktionen in LabVIEW 8.5FPGA-ProjektassistentDer neue FPGA-Projektassistent unterstützt Sie bei der Erstellung eines vollständigen LabVIEW-Projekts, indem er für die Konfiguration des FPGA-Ziels und der I/O sorgt, so dass diese bereit zur Programmierung sind. Da der Projektassistent direkt an den bestehenden FPGA-Assistenten angebunden werden kann, lässt sich zügig funktionaler Code für Analog- und Digital-I/O-, Counter- und Inkrementaldrehgebermessungen erzeugen. Der FPGA-Projektassistent verfügt zudem über neue DMA-Optionen für FPGA- und Host-Code-Erzeugung.
Steuer-, Regel-, Filter- und Signalerzeugungs-IPDas LabVIEW FPGA Module 8.5 umfasst neue IP auf der FPGA-Palette und erweiterte bestehende IP für eine verbesserte Ressourcennutzung im FPGA.
Modularität und Funktionen zur CodewiederverwendungElemente für I/O-Namen: Platzieren Sie I/O-Knoten, Methoden und Eigenschaften in SubVIs und spezifizieren Sie das I/O-Element über eine Verbindung. Taktgeber: Legen Sie über eine Verbindung fest, welcher Takt (Onboard oder abgeleitet) in einer bestimmten zeitgesteuerten Schleife verwendet werden soll.
Erweiterter Rückkopplungsknoten: Platzieren Sie einen Rückkopplungsknoten an einer beliebigen Stelle im Blockdiagramm. Rückkopplungsknoten können nützlich für Zustandsspeicherung und Pipelining sein und sind jetzt mit allen Objekten, einschließlich SubVIs, kompatibel. LabVIEW Statechart ModuleNI bietet nun zusätzliche Möglichkeiten zur grafischen Programmierung von FPGAs. Viele Entwickler bevorzugen den Einsatz von Statecharts (Zustandsübergangsdiagrammen) für die Darstellung von Systemen. Mithilfe dieses neuen Moduls, das LabVIEW FPGA unterstützt, können Entwickler nicht nur FPGA-basierte Systeme mit Statecharts darstellen, sondern die Systeme auch grafisch programmieren. Erstmalige Unterstützung für FestkommadatentypLabVIEW umfasst einen neuen Festkommadatentyp, der insbesondere für die FPGA-Programmierung nützlich ist. Bis vor kurzem unterstützte LabVIEW nur ganzzahlige Werte. Mit der Unterstützung für den neuen Festkommadatentyp können Ingenieure bei der FPGA-Programmierung nun Brüche und arbiträre Bitbreitendatentypen verwenden. LabVIEW 8.5 bietet Festkommaunterstützung für eine geringe Anzahl an einfachen mathematischen und Vergleichsfunktionen. Zukünftige Versionen werden voraussichtlich erweiterte Unterstützung für diesen wichtigen Datentyp enthalten. Neue Funktionen in LabVIEW 8.2FPGA-Mathematik- und -Analyse-IPDas LabVIEW FPGA Module 8.2 umfasst neue native Analysefunktionen, so dass Programmcode für FPGA-typische grundlegende Signalverarbeitungs- und Steuerfunktionen wiederverwendet werden kann. Diese neuen IP beinhalten:
FPGA-AssistentMit dem FPGA-Assistenten lassen sich FPGA-I/O- und -Timing-Funktionen für intelligente Datenerfassungsanwendungen entwerfen. Mithilfe dieses konfigurationsbasierten Assistenten können Sie Timing und Synchronisation zwischen dem FPGA-Gerät und dem Host-VI auswählen. Nachdem das Timing festgelegt wurde, können Sie die Analog-, Digital-, Counter- und Inkrementaldrehgeber-I/O konfigurieren. Sie können Ihre Konfiguration anschließend speichern und einfachen FPGA- und Host-Code erzeugen. Anschließend können Sie zusätzlichen Code integrieren, um Anwendungsfunktionen, z. B. Steuer- und Regelalgorithmen, Datenprotokollierung und Datenvernetzung, zu vervollständigen.
Neue Speicher-VIsMit der neuen Speicher-Lesen/Schreiben-Schnittstelle können Sie auf die gesamten 80 kB des Speichers auf einem Gerät mit 1 Mio. Gatter bzw. 190 kB auf einem Gerät mit 3 Mio. Gattern zugreifen. Sie können den Speicher nutzen, um Daten für Signalverlaufserzeugung oder Datenprotokollierung abzulegen, ohne dafür Arrays zu verwenden, welche für eine ineffiziente Nutzung der FPGA-Gatter sorgen. Funktionen in LabVIEW 8.0LabVIEW-ProjektMit dem LabVIEW-Projekt können Sie VIs nicht nur in LabVIEW für Windows, dem LabVIEW FPGA Module, LabVIEW Real-Time Module und anderen LabVIEW-Modulen simultan ausführen und öffnen, Sie können zudem LabVIEW-FPGA-Anwendungen entwickeln. Nachfolgend sehen Sie, für welche FPGA-Ressourcen Sie das LabVIEW-Projekt verwenden können:
DMA-DatenübertragungDie DMA-Funktionen des LabVIEW FPGA Module 8.0 eliminieren Datendurchsatzbegrenzungen zwischen dem FPGA-Gerät und dem Host. Während die Ausführungsrate von FPGAs auf rekonfigurierbaren I/O-Geräten bis zu 20 MHz betragen kann, ist die maximale Daten-Streaming-Rate ohne DMA auf 1 MB/s begrenzt. Das LabVIEW FPGA Module 8.0 erweitert alle Geräte der R-Serie und CompactRIO-Geräte um DMA-Fähigkeiten und erhöht somit die Daten-Streaming-Rate zwischen dem FPGA und einer Host-Anwendung um das 20-fache im Vergleich zu anderen Implementierungen wie z. B. Interrupt Requests. Die DMA-Fähigkeit bietet eine direkte Verbindung für Daten auf dem FPGA zum RAM der Host-Maschine. Die Datenübertragung vom Gerät auf den Host über den Host-Prozessor führt oft zu Latenzen und Engpässen bei der Übertragung. Die Verwendung von Interrupt Requests beansprucht dabei Prozessortaktraten und erhöht die Gesamtlast des Host-Prozessors. LabVIEW 8 ermöglicht eine effizientere Gerät-zu-Host- und Host-zu-Gerät-Datenübertragung, welche den Prozessor umgeht und somit ein leistungsstärkeres Datenerfassungssystem für alle Anwendungen zur Verfügung stellt. Um den DMA-Zugriff verwenden zu können, müssen lediglich zwei Pufferspeicher erstellt werden – einer im Speicher des FPGA-Geräts und ein zweiter im Speicher des Host-Prozessors – und schon kann LabVIEW effizient und transparent Daten über den PCI-Bus übertragen. Das LabVIEW FPGA Module 8.0 nutzt im DMA-Modus konfigurierte FPGA-FIFOs, um Daten in den DMA-Speicher zu schreiben und daraus zu lesen und verwendet FPGA-Methoden auf dem Host-Gerät, um Daten aus dem Host-Speicher zu erstellen, zu lesen und zu schreiben. DMA erweitert rekonfigurierbare I/O-Hardware für Anwendungen wie gepufferte, intelligente Datenerfassung, Streaming digitaler Kommunikationsgeräte, Datenerfassung im Fahrzeuginnenraum und Online-Maschinenzustandsüberwachung.
Drag-and-drop-fähige FPGA-I/OMit LabVIEW FPGA können Sie über bestimmte Geräte-I/O-Funktionen zügig auf die I/O der rekonfigurierbaren Hardware zugreifen. (Die in diesem Dokument erwähnten LabVIEW-FPGA-Funktionenpaletten sind speziell auf FPGA-Ausführungsziele zugeschnitten und enthalten Funktionen, die nur verfügbar sind, wenn sie auf einem FPGA-Gerät oder einem FPGA-Geräteemulator ausgeführt werden.) Das LabVIEW FPGA Module ermöglicht den direkten Einzelpunktzugriff auf Analog- und Digital-I/O auf rekonfigurierbarer I/O-Hardware von National Instruments. Mit dem LabVIEW FPGA Module 8.0 können Sie I/O aus dem LabVIEW-Projekt direkt per Drag and drop im Blockdiagramm des FPGA-VIs ablegen. Das LabVIEW FPGA Module bietet viele Geräte-I/O-Funktionen, u. a.:
Funktionen in LabVIEW 7.1Zeitgesteuerte SchleifeDie zeitgesteuerte Schleifenstruktur von LabVIEW führt eine Schleife zu einem genau festgelegten Zeitpunkt aus. Sie können zeitgesteuerte Schleifen zur Entwicklung von VIs verwenden, die Timing-Fähigkeiten für verschiedene Abtastraten, Feedback-Erzeugung bei der Schleifenausführung, dynamische Änderungen von Timing-Eigenschaften oder mehrere Prioritätsebenen umfassen. In diesem Tutorium finden Sie weitere Informationen zu zeitgesteuerten Schleifen. Die zeitgesteuerte Schleife von LabVIEW FPGA ist eine spezielle zeitgesteuerte Schleife, mit der sich LabVIEW-FPGA-Anwendungen genauso effizient (in Bezug auf Geschwindigkeit und Größe) entwickeln lassen wie mit handkodierter HDL-Programmierung. Die zeitgesteuerte Schleife funktioniert ähnlich den getakteten Prozessen in VHDL. Jeglicher LabVIEW-Code in der Schleife entspricht kombinatorischer Logik im FPGA, bei dem Eingänge aus digitalen Eingangsfunktionen, Bedienelementen oder linken Schieberegistern und Ausgänge aus digitalen Ausgangsfunktionen, Anzeigeelementen und rechten Schieberegistern bestehen. Eine zeitgesteuerte Schleife kann genauso eingesetzt werden wie eine Standard-While-Schleife. Die zeitgesteuerte Schleife sorgt dafür, dass der gesamte in der Schleife befindliche Code innerhalb eines Takts (25 ns) ausgeführt wird. Obwohl die zeitgesteuerte Schleife einigen Einschränkungen unterliegt, z. B. muss sichergestellt werden, dass der gesamte Code innerhalb eines Takts ausgeführt werden kann, kann ihr Einsatz dennoch einen hochgradig effizienten Code für die Ausführung von Digital-I/O, einfachen Logik- und Signalverarbeitungsfunktionen zur Verfügung stellen. Erfahren Sie mehr über die Funktionen der zeitgesteuerten Schleife und I/O-Knoten in LabVIEW FPGA. HDL-SchnittstellenknotenSie können über den HDL-Schnittstellenknoten bestehende HDL-IP direkt in ein LabVIEW-FPGA-VI integrieren und den Code als einzelnen Funktionsblock in LabVIEW darstellen. Anschließend können Sie mit diesem Funktionsblock den Code in derselben oder anderen Anwendungen wiederverwenden. Sollten Sie einen Block mit HDL-Code in einem FPGA-VI einsetzen wollen, können Sie den VHDL-Code entweder direkt in den HDL-Schnittstellenknoten eingeben oder externe .vhd-Dateien verwenden, anstatt Code in LabVIEW neu zu schreiben.
Integration von benutzerdefiniertem VHDL-Code in LabVIEW-Blockdiagramme |

Jede Version des NI LabVIEW FPGA Module umfasst neue Funktionen, FPGA-IP (Intellectual Property), Leistungsverbesserungen und vorgesehene Fehlerbehebungen. 







