PLD-Tools Software-Evolution beim FPGA-Design

Redakteur: Holger Heller

Immer mehr PLDs kommen in kostensensiblen hochvolumigen Anwendungen zum Einsatz. Um deren Herausforderungen zu meistern, ist eine leicht nutzbare, flexible Design-Umgebung erforderlich.

Anbieter zum Thema

FPGAs finden sich immer häufiger in Anwendungen, deren Leistungsverbrauch möglichst gering sein soll. Entwickler benötigen daher eine Entwicklungsumgebung zur Untersuchung unterschiedlicher Design-Implementierungen, mit denen sie ihre Kosten-, Stromverbrauchs- und Performance-Ziele erreichen. Dies ist gerade dann von Bedeutung, wenn die Designs größer werden. Ein Beispiel dieser neuen Art vom Design-Software ist die Entwicklungsumgebung Lattice Diamond.

Diese Software-Umgebung entstand aus einem bereits bestehenden Grundstock an Implementierungs-Engines, I/O-Platzierungs- und IP-Wiederverwendungstechniken (IP-Reuse), Tools zur genauen Berechnung des Leistungsbedarfs sowie zur Durchführung von SSO-Analysen und aus Software-Tools für das Hardware-/Software-Systemdesign, die bereits in vorherigen Design-Software-Generationen zu finden waren.

Diamond erweitert jedoch die zuvorige Funktion der Lattice-Design-Tools in drei Bereichen: Untersuchung des Designs (Design-Exploration), leichte Nutzbarkeit (Ease-of-Use) und verbesserter Design-Flow. All diese drei Aspekte sind notwendig, um die Herausforderungen kostensensibler Designs zu meistern, die darüber hinaus auch noch eine möglichst geringe Verlustleistung aufweisen müssen.

Eine wichtige Eigenschaft zur Untersuchung des Designs ist das Hinzufügen von erweiterten Projekteigenschaften; auch das Hinzufügen von „Implementierungen“ und „Strategien“ gehört dazu.

  • Implementierungen ermöglichen mehrere Versionen eines Designs innerhalb eines einzigen Projekts; so lassen sich Designs leicht untersuchen. Implementierungen kommen primär zur Definition der Struktur des Designs zum Einsatz.
  • Strategien ermöglichen die Anwendung von Implementierungs-„Rezepten“ bei jeder beliebigen Implementierung innerhalb eines Projekts oder bei gemeinsamer Nutzung in mehreren Projekten. Strategien teilen den Software-Tools mit, wie ein Design ausgeführt oder implementiert werden sollte.
  • Design-Projekte ermöglichen es, Verilog, VHDL, EDIF und schematische Quellen innerhalb einer beliebigen Implementierung zu mischen.
  • Für Constraints (Einschränkungen), Timing-Analysen, Leistungsberechnungen und Hardware-Debugging-Tools werden mehrere Dateien unterstützt. Je nach Bedarf können Dateien angewählt und in den Zustand aktiv oder inaktiv versetzt werden – was Auswirkungen in zweierlei Richtung hat: wie individuelle Tools sich verhalten, wenn sie geöffnet werden, und als auch darauf, wie das Design implementiert wird.
  • Die Ansicht Run-Manager ermöglicht die parallele Verarbeitung mehrerer Implementierungen, um Design-Alternativen auf die besten Ergebnisse hin zu untersuchen. Run-Manager versetzt den Designer in die Lage, in einem Projekt selektiv Implementierungen auszuwählen und die Ergebnisse zu vergleichen.

Implementierungen definieren die strukturellen Design-Elemente eines Projekts; hierzu gehören Source-Code, Constraint-Files sowie alle Elemente, die für das Debugging eingefügt wurden. Man kann sich eine Implementierung als das Rohmaterial vorstellen, das für die Schaffung des Designs notwendig ist.

Artikelfiles und Artikellinks

(ID:25190440)