46222.jpg

Bild 1: FPGAs haben sich vom Logikbaustein zum Trägermedium leistungsstarker programmierbarer Systemintegration gewandelt.

Bild 1: FPGAs haben sich vom Logikbaustein zum Trägermedium leistungsstarker programmierbarer Systemintegration gewandelt.Xilinx

Schon seit einigen Jahren sind die feldprogrammierbaren Gate-Arrays (FPGA) durch konsequente Innovationsschritte über ihre Support-Funktion als programmierbare Logikbausteine weit hinausgewachsen (Bild 1).

Zu dieser stark erweiterten Funktionalität kommen dann noch die Forderungen nach höherer Produktivität beim System-Design und einer Verkürzung der Marktreifezeit, die mit bisherigen Entwicklungsumgebungen nicht in gewünschtem Maße befriedigt werden konnten. Vor allem machten sich Engpässe in zwei wesentlichen Bereichen störend bemerkbar: Integration und Implementierung.

In der Integrationsphase sind dies Wiederverwendbarkeit von Design-Elementen und IP (intellectual property)-Blöcken vorgefertigter Funktionalität, die Integration von Algorithmen in C sowie als RTL vorliegende IP, die Mischung von DSP, eingebetteten Funktionen, Verbindungsstrukturen mit Logik, wie auch die Verifizierung von Blöcken und ganzen Systemen.

Stärkere Anforderungen an die Implementierung stellen hierarchische Chip-Planung und Partitionierung, physikalische Optimierungen über mehrere Bereiche und Dies hinweg, multivariable Abwägungen „Design gegen Timing“ und die leidigen Änderungen in letzter Minute ECO (engineering change order), die einen Rattenschwanz an Folgen nach sich ziehen können.

Aus einem neuen Ansatz heraus, der auf die neuesten EDA-Technologien sowie die Akquisition entsprechend kompetenter Unternehmen aufbaut, ist die Design-Suite Vivado entstanden, deren Elemente im Bild 2 zusammengestellt sind: Eine integrierte Entwicklungsumgebung, die auf einem gemeinsam genutzten, skalierbaren Datenmodell basiert, auch Debug-Funktionalität mit Analyse umfasst und bis zu 100 Millionen Gatter beherrschen kann.

Bild 2: Elemente der FPGA-Design Suite Vivado, die bisherige Engstellen des Systementwurfs bei Integration und Implementierung beseitigt.

Bild 2: Elemente der FPGA-Design Suite Vivado, die bisherige Engstellen des Systementwurfs bei Integration und Implementierung beseitigt.Xilinx

Eine besonders auf IP und Systeme zugeschnittene Integration mit schneller Verifizierung überwindet den Integrationsengpass, während der schnelle, hierarchisch angelegte und vor allem deterministische Design-Abschluss die Implementierung beschleunigt und dabei noch letzte Änderungen zulässt.

Skalierbares Datenmodell

Die Kernfunktionen einer FPGA-Design-Suite begleiten alle Schritte der physikalischen Implementierung: Synthese, Flächenaufteilung, Platzierung, Verschaltung, Analyse von Leistungsbedarf und Timing sowie Optimierung und ECO. Mit Vivado hat Xilinx dafür einen zeitgemäßen Entwicklungsablauf geschaffen, der die Anwender zügig zum erfolgreichen Design-Abschluss führt.

Als Basis dient eine einziges, gemeinsam genutztes und skalierbares Datenmodell, auf das aus allen Design-Schritten zugegriffen werden kann: Synthese, Simulation, Flächenaufteilung, Platzierung mit Verschaltung und anderen. Dies ermöglicht umfassendes Debugging und Analysen, so dass dem Anwender transparenter Einblick in entscheidende Design-Metriken, wie Timing, Leistungsbedarf, Ressourcenausnutzung und Verschaltungsengstellen viel früher im Design-Prozess gewährt wird. Deren anfänglich geschätzte Startwerte gewinnen in dem Maße an Genauigkeit, in dem der Design-Prozess fortschreitet.

Über dieses einheitliche Datenmodell kann Xilinx sein neues mehrdimensionales und analytisches Platzierungs- und Verbindungs-Tool mit dem RTL-Synthesewerkzeug, mit neuen mehrsprachigen Simulatoren und individuellen Tools, wie dem IP-Generator, dem Pin-Editor oder Flächenplaner verbinden. Durch diese enge Kopplung kann sich der Anwender, der weitgehend automatisierte Dienste anstößt, darauf verlassen, dass die meiste Arbeit korrekt erledigt wird. Aber auch der Power-Anwender, der gerne jeden Schritt individuell festlegen möchte, bekommt bessere Analyseergebnisse und stärkeren Durchgriff für seine Design-Vorstellungen.

Hierarchische Chip-Aufteilung mit schneller Synthese

Mit den wachsenden Fähigkeiten von FPGAs geraten die damit realisierten Systeme auf dem Chip immer umfangreicher. Nach dem Motto „Teile und Herrsche“ bietet Vivado dem Anwender dafür die Möglichkeit, große Designs aufzuteilen und jeweils getrennt zu synthetisieren, zu implementieren und dann zu verifizieren. Eine neue Art der Design-Bewahrung konserviert wiederholbare Timing-Ergebnisse und ermöglicht damit eine partielle Rekonfigurierung des Designs.

Ebenfalls neu gestaltet wurde die Synthese-Engine, die Millionen von Logikzellen handhaben kann. Sie bietet überragende Unterstützung für die synthetisierbare Untermenge von System Verilog – besser als jedes andere Tool auf dem Markt. Sie arbeitet auch dreimal schneller als XST, die von der Design Suite ISE bekannte Synthesetechnologie von Xilinx. Darüber hinaus bietet sie eine Quick-Option, mit der Entwickler rasch ein Gefühl für die Fläche als auch den Umfang des Designs gewinnen können. Das befähigt sie insbesondere, Fehler bis zu 15-mal schneller als vorher auf der RTL-Ebene oder im Gate-Level-Schaltplan aufzuspüren und zu beseitigen.

Multidimensionale Platzierung

Frühere Generationen von FPGA-Entwurfswerkzeugen gingen bei der Platzierung und Verbindung prinzipiell eindimensional vor: Das Timing war vorgegeben und ein heuristisches Optimierungsverfahren suchte pseudozufällig nach einem geeigneten Platz für die Logikzellen, deren Lage die Zeitvorgaben am besten erfüllten. Dieses Vorgehen machte bei den bisherigen, kleineren Designs von unter einer Million Gattern durchaus Sinn, da Zeitverzögerungen im Wesentlichen von den Logikzellen herrührten. Bei den heutigen umfangreichen Entwürfen und den verbesserten Silizium-Fertigungsprozessen tragen aber Verbindungen und ihre Verdichtung wesentlich stärker zu Verzögerungen bei, so dass die Ergebnisse der eindimensionalen Vorgehensweise bei größeren Komplexitäten immer mehr Unsicherheiten aufweisen dürften.

Bild 3: Die Vivado Design Suite implementiert große wie kleine Designs schneller und mit konsistenteren Ergebnissen als andere FPGA-Werkzeuge.

Bild 3: Die Vivado Design Suite implementiert große wie kleine Designs schneller und mit konsistenteren Ergebnissen als andere FPGA-Werkzeuge.Xilinx

Im Hinblick auf eine Zukunft im Multimillionen-Gate-Raum entwickelte Xilinx für Vivado eine moderne, multidimensionale analytische Platzierungs-Engine, deren Leistung den teuren Place-and-Route-Tools für ASICs Paroli bieten kann. Sie findet analytisch eine Lösung, die in erster Linie drei Dimensionen eines Designs minimiert: Timing, Dichte und Verdrahtungslänge. Das funktioniert auch für 10 Millionen Gatter schnell, deterministisch und mit gleichbleibend starker Ergebnisqualität. Da alle drei Faktoren simultan behandelt werden, sind weniger Iterationen nötig. Bild 3 verdeutlicht die Abhängigkeit der Laufzeit für Place-and-Route von der Bausteinkomplexität in Codezeilen LC (lines of code). Die bisher eingesetzte Entwicklungsumgebung ISE braucht, wie der Mitbewerb auch, 12 Stunden für die Bearbeitung von einer Million Codezeilen. Vivado dagegen schafft das gleiche Pensum in nur 4,6 Stunden mit dem angenehmen Nebeneffekt, dass die Laufzeit weniger variiert und damit wesentlich besser abgeschätzt werden kann.

Bild 4: Der multidimensionale analytische Algorithmus von Vivado optimiert das Layout nicht nur für bestes Timing, sondern auch niedrige Verbindungsdichte und kürzeste Verdrahtungslänge.

Bild 4: Der multidimensionale analytische Algorithmus von Vivado optimiert das Layout nicht nur für bestes Timing, sondern auch niedrige Verbindungsdichte und kürzeste Verdrahtungslänge.Xilinx

Was mit der neuen Entwicklungsumgebung erreicht werden kann, zeigt folgendes Entwurfsbeispiel: Die RTL-Beschreibung für die Zynq-7000 EPP Emulations-Plattform, ein sehr großes und komplexes Design, wurde sowohl in die ISE Design Suite als auch in die Vivado Design Suite zur automatisierten Behandlung eingegeben. Zielsystem war in beiden Fällen das größte FPGA von Xilinx, ein Virtex-7 2000T mit SSI. Während die Place-and-Route-Engine der Vivado Design Suite nur 5 Stunden zur Platzierung der 1,2 Millionen Logikzellen brauchte, war die ISE Design Suite (Version 13.4) erst nach 13 Stunden damit fertig. Die Ergebnisse unterscheiden sich signifikant und sind im Bild 4 zusammengestellt: Danach schaffte Vivado die Aufgabe mit wesentlich weniger Verdichtung (graue und gelbe Bereiche im Design) auf kleinerer Fläche, was die Verbindungslängen entscheidend reduziert. Außerdem kompiliert Vivado den notwendigen Speicher so effizient, dass nur 9 statt 16 GByte benötigt werden. Dies spart Chipfläche ein, die entweder für zusätzliche Funktionalität oder integrierte Optionen genutzt werden kann. Im einfachsten Fall reicht der nächstkleinere Baustein zur Realisierung der geforderten Funktionalität aus.

Verlustleistungsoptimierung

Heute gehört die Verlustleistung zu den kritischsten Aspekten einer FPGA-Entwicklung, die durch geeignete Methoden optimiert werden kann. In der Vivado Design Suite erledigt dies eine Taktsperre, wie sie auch in modernen ASIC-Entwicklungsumgebungen zu finden ist und die im letzten Jahr auch in die ISE Design Suite eingeführt wurde: Sie analysiert die Design-Logik und entfernt unnötige Schaltaktivitäten, indem sie den Takt dafür sperrt. Auf diese Weise lässt sich die dynamische Verlustleistung um bis zu 30 % reduzieren. Übrigens liefert das gemeinsam benutzte Datenmodell in jeder Stufe des Design-Ablaufs Abschätzungen des Leistungsbedarfs, so dass schon frühzeitig geeignete Maßnahmen ergriffen werden können.

Auch letzte Änderungen im Griff

Trotz noch so gewissenhafter Vorbereitung und genauer Planung lassen sich technische Änderungsanforderungen kaum vermeiden: Hier hilft der inkrementelle Arbeitsablauf, in dessen Rahmen sich kleine Design-Änderungen schnell verarbeiten lassen, indem einfach Teile des Designs neu implementiert werden. Dafür sorgt eine neue Erweiterung des ISE FPGA Editors zum Vivado Device Editor. Mit ihm lassen sich platzierte und verschaltete Designs noch nachträglich ändern: Verlegen von Instanzen, Neuverschaltung von Netzen, Anzapfen eines Registers mit Weiterleitung an primäre Ausgänge, etwa für die Fehlersuche mit dem Oszilloskop, und Parameteränderungen eines DCM (digital clock manager), ohne den weiten Weg über Synthese und Implementierung nehmen zu müssen.

Anpassung an Industriestandards

Als Xilinx vor viereinhalb Jahren begann, die Vivado Design Suite von Grund auf neu zu gestalten, war einer der Grundsätze, die proprietären Formate in der Entwicklungsumgebung durch Standards zu ersetzen. Damit entstand eine offene Entwicklungsumgebung, in der Anwender auch andere EDA-Tools und IP-Module von Drittanbietern nutzen können. So unterstützt die Vivado Design Suite Synopsys Design Constraints, den ARM-Verbindungsstandard AMBA AX14 IP und lässt leistungsfähige interaktive TCL-Scripts zu.

Unterstützung mit Gefühl

Bei der Neugestaltung achtete Xilinx sehr darauf, die Art, in der Entwickler arbeiten, weitgehend zu automatisieren, ohne ihnen vorzuschreiben, wie sie zu entwickeln haben. Unabhängig davon, ob diese in C, C++, System C, VHDL, Verilog oder System Verilog, Matlab oder Simulink starten und Xilinx-IP oder die anderer Anbieter verwenden, bietet die Umgebung einen Weg zur Automatisierung der unterschiedlichsten Arbeitsweisen und steigert damit ihre Produktivität, selbst wenn ein Entwickler darauf bestehen sollte, alles mit Kommandozeile oder Batch-Läufen über TCL zu bearbeiten.

IPs verpacken, integrieren und katalogisieren

Die neue Entwicklungsumgebung verfügt über spezielle IP-Dienste: Der IP-Packager vereinfacht die Erzeugung, der IP-Integrator erleichtert deren Integration und ein erweiterbarer IP-Katalog sorgt für die Archivierung. Damit wird der steigenden Bedeutung von IP-Modulen Rechnung getragen, die unter anderem zur Produktivitätssteigerung und Entwurfssicherheit beitragen. Derzeit unterstützen mehr als 20 IP-Anbieter die neue Suite.

High Level Synthese

Als eine der stärksten neuen Funktionen der Vivado Design Suite kann Vivado HLS (high level synthesis) angesehen werden, eine Umgebung zur Algorithmenentwicklung aus C, C++ und System C heraus. Ihr größter Vorteil liegt darin, dass eine Entwicklung von Algorithmen auf deren Niveau um Größenordnungen schneller geht als mit RTL. Dies bedeutet kürzere Simulationszeiten, aber auch die Möglichkeit, eine Machbarkeit der Algorithmen zu ergründen und darüber hinaus auf architektonischer Ebene Kompromisse zwischen Durchsatz, Latenz und Verlustleistung zu finden.

Bild 5: High Level Synthese beschleunigt die Entwicklung von Algorithmen für FPGAs um Größenordnungen.

Bild 5: High Level Synthese beschleunigt die Entwicklung von Algorithmen für FPGAs um Größenordnungen.Xilinx

Das neue Tool lässt sich sehr vielfältig einsetzen, darum soll hier nur ein Beispiel für die mögliche Vorgehensweise beschrieben werden: Der Anwender verfasst eine Repräsentation seines Designs in C, C++ oder System C und eine Testbench, die das gewünschte Verhalten beschreibt (Bild 5). Dann wird das Systemverhalten durch eine GNU Compiler Collection/G++ oder einen Visual C++ Simulator verifiziert. Ist das Verhalten in Ordnung, dann erzeugt die Vivado HLS-Synthese daraus ein RTL-Design: Verilog oder VHDL. Dies lässt sich dann auf unterschiedliche Weise simulieren. Im nächsten Schritt folgen mit Vivado die physikalische Implementierung in ein FPGA und der Hardware-Test. Alternativ kann der Entwurf mit dem IP-Packager in ein wiederverwendbares IP-Modul umgesetzt werden und mit dem IP-Integrator oder dem Systemgenerator in ein Design eingefügt werden.

Verfügbarkeit

Bild 6: Zwei Editionen der Vivado Design Suite unterstützen die FPGA-Entwicklung passgerecht und nachhaltig.

Bild 6: Zwei Editionen der Vivado Design Suite unterstützen die FPGA-Entwicklung passgerecht und nachhaltig.Xilinx

Während die ISE Design Suite von Xilinx für unterschiedliche Einsatzbereiche in vier Versionen angeboten wird (Logik, Embedded, DSP und System), sind für die Vivado Design Suite zwei Editionen vorgesehen (Bild 6). Die grundlegende Design Edition enthält neben der Tool-Kette von der Synthese bis zum Bitstrom auch die neuen IP-Tools, während die System Edition darüber hinaus noch den Systemgenerator und die High Level Synthese HLS umfasst. Parallel dazu wird Xilinx die bewährte IDE Design Suite auch künftig unterstützen und weiterentwickeln, mit der Projekte für Bauteile diesseits der 28-nm-Generation erfolgreich gestaltet werden.

Tom Feist

: ist Senior Marketing Direktor für Design Methodologie bei Xilinx.

(jj)

Sie möchten gerne weiterlesen?

Unternehmen

Xilinx GmbH

Willy-Brandt-Allee 4
81829 München
Germany