Was ist der Vitis Model Composer?

Der AMD Vitis™ Model Composer ist ein High-Level-Tool für Design und Simulationen, das die Entwicklung von Algorithmen mit der Hardware-Implementierung verbindet. Es ist tief in MathWorks MATLAB® und Simulink® integriert und ermöglicht Entwicklern:

  • Hardwarebeschleunigte Algorithmen zu entwickeln und grafisch in Simulink zu simulieren.
  • Frühzeitig eine Exploration des Entwurfsraums durchzuführen, ohne zuerst Low-Level-HDL oder KI-Engine-C-Code schreiben zu müssen.
  • Synthetisierbare Hardware-IP direkt aus MATLAB/Simulink-Modellen zu generieren, die für adaptive AMD SoCs und FPGAs konzipiert sind, einschließlich der neuesten Versal™ Chips mit KI-Engines.

Vitis Model Composer ist als Zusatzlizenz erhältlich, die zusammen mit AMD Vivado™ Design Suite (Standard oder Enterprise) und AMD Vitis™ Unified Software Platform arbeiten kann. Es ist besonders nützlich für Entwickler von Algorithmen, die einen modellbasierten Designansatz bevorzugen und den Übergang vom Algorithmus zur Hardware-Implementierung beschleunigen möchten.

Kernfunktionen des Vitis Model Composer

In der MATLAB- und Simulink-Umgebung können Sie Ihr Konzept analysieren und darstellen:

  • Optimierte KI-Engine-, HLS- und HDL-Blöcke zur Verwendung direkt im Simulink-Bibliotheksbrowser
  • Import benutzerdefinierter KI-Engines, HLS- und HDL-Code als Blöcke
  • Schnelle Simulationen in der Simulink-Umgebung
  • Vergleich der Ergebnisse mit „Golden References“ in der MATLAB- und Simulink-Umgebung
  • Nutzung von Zwischensignalen zum Debuggen von Konzepten und Anzeigen der Details

Co-Simulation eines heterogenen Systems:

  • Optimierte KI-Engines/HLS/programmierbare Logik (PL) zum direkten Einsatz im Bibliotheksbrowser oder Import von Code als Blöcke
  • Nahtlose Verbindung von KI-Engine-Arrays mit HLS-Kernel-Blöcken oder HDL-Blöcken

Steigerung der Produktivität durch Generierung von Code aus dem Konzept:

  • Graph-Code-Generierung mit Einschränkungen
  • RTL-Generierung (Verilog/VHDL)
  • Generierung von optimiertem HLS-Code mit eingefügten Pragmen
  • Generierung einer Testbench

Einfache Validierung Ihres Konzepts in der Hardware:

  • Data-Mover-Generierung, Systemcode-Verarbeitung, Konfigurationsdateien
  • Makefile-Generierung zur Erstellung des Hardwarekonzepts
  • Verschiebung des Konzepts in die Hardware mit nur einem Klick

Vitis Model Composer Designs erstellen und simulieren

Sie erhalten einen Überblick über das AMD Vitis™ Model Composer Tool und erfahren Sie, wie Sie HDL, HLS und AI Engine Designs erstellen und simulieren. Darüber hinaus wird erläutert, wie ein heterogenes Design erstellt wird (d. h. ein Design sowohl mit AI Engine als auch programmierbaren Logikkomponenten).

AMD Vitis™ Model Composer Hub Block verwenden

Eine Einführung in den AMD Vitis Model Composer Hub Block. Sie erfahren, wie Sie den Block verwenden, um Hardware auszuwählen, Code zu generieren, ein Design zu analysieren und zu verifizieren und schließlich auf Hardware zu validieren.

Entwicklung mit Versal AI Engines in Vitis Model Composer

Versal AI Engines sind spezielle Recheneinheiten, die für Aufgaben in den Bereichen maschinelles Lernen, DSP und Signalverarbeitung auf adaptiven AMD SoCs optimiert sind. Der Vitis Model Composer ermöglicht die effektive Nutzung dieser KI-Engines durch folgende Funktionen:

KI-Engine-Bibliotheksblöcke

  • Vordefinierte KI-Engine-IP-Blöcke: Hierzu gehören sofort einsatzbereite DSP- und Signalverarbeitungsblöcke wie z. B.:
    • FIR-Filter (endliche Impulsantwort, Finite Impulse Response)
    • FFT (schnelle Fourier-Transformationen, Fast Fourier Transform) und iFFT
    • DDS (Direct Digital Synthesis)
    • Mixer

Diese Blöcke modellieren die Funktionalität von KI-Engines und ermöglichen es Entwicklern, schnell Prototypen zu erstellen und auf KI-Engines basierende Algorithmen zu simulieren.

Kernel-Import und Datenfluss-Integration

  • Import benutzerdefinierter Kernels: Benutzer können benutzerdefinierte KI-Engine-Kernels (geschrieben in C++ oder HLS) als Blöcke in Simulink importieren. Dies ermöglicht es, benutzerdefinierten KI-Engine-Code mit grafischen Modellen zu mischen.
  • Import von Datenfluss-Graphen: Unterstützt den Import von KI-Engine-Datenfluss-Graphen, sodass Benutzer komplexe KI-Engine-Computing-Pipelines visuell konfigurieren und verbinden können.

Simulation gemischter Designs

  • Vitis Model Composer unterstützt gemischte Simulationen, bei denen KI-Engine-Blöcke neben programmierbaren Logikblöcken (HDL oder HLS) arbeiten. Entwickler haben damit die Möglichkeit, Interaktionen auf Systemebene, Timing und Datenverschiebung zwischen heterogenen Computing-Ressourcen zu überprüfen.

Visualisierung und Debugging

  • Simulink-Blöcke für Quelle und Senke können direkt mit KI-Engine-Blöcken verbunden werden, um Signale während der Simulation zu überwachen und zu visualisieren.
  • Die Unterstützung von Simulationen mit der Cycle-Approximate-Methode ist hilfreich bei der frühzeitigen Performance-Schätzung von KI-Engine-Workloads.

Neues

Highlights des Release 2025.2

Zusätzliche Blöcke für KI-Engine und HDL verfügbar

AIE, AIE-ML, AIE-ML v2 (z. B. Versal AI Core- und AI Edge-Serie und Versal AI Edge-Serie der 2. Generation)

  • Neu: Funktionsangleichung
  • Neu: Korrelation/Faltung
  • Neu: Kumulative Summe

HDL-Bibliotheksblöcke

  • Erweitert: FFT (native Gleitkomma-SSR = 32, 64 hinzugefügt)
  • Erweitert: FIR (Unterstützung von Fractional-Rate-Interpolation mit SSR)

Weitere Verbesserungen von Vitis Model Composer

  • HLS-AIE-Bridge-Blöcke unterstützen die Modellierung von Multirate- Systemen – bietet eine effiziente Methode zur Modellierung von Designs mit unterschiedlichen Taktdomänen und zur sicheren Datenübertragung ohne Beschädigung
  • Unterstützung für MATLAB® R2025b hinzugefügt
  • Unterstützung für Red Hat® Enterprise Linux® (RHEL) 9.6, 10.0 hinzugefügt

Unterstützung für mehrere KI-Engine-Subsysteme auf oberster Ebene

Zusätzliche Blöcke für KI-Engine und HDL verfügbar

KI-Engine

  • Bitonic-Sortierung (Versal AI Core-Serie, Versal AI Edge-Serie, Versal AI Edge-Serie der 2. Generation)
  • DFT/FFT (Versal AI Edge-Serie der 2. Generation)
  • FIR – Einzelrate, Halbband, Ratenänderung, Fractional-Resampler (Versal AI Edge-Serie der 2. Generation)
  • DDS/Mixer (Versal AI Edge-Serie der 2. Generation)

HDL-Bibliothek

  • Verbessertes FFT – zusätzliche SSR-Modi
    • SSR 8, 16, 32, 64 (natives Gleitkomma)
    • SSR 2, 4 (Festkomma)
  • Verbesserter Complex Multiplier – weniger DSP58-Ressourcen
    • Neue Unterstützung für CFLOAT MAC
    • Vector IFFT Float – neuer Block

Updates der Versal AI Engine DSP-Bibliothek für Vitis Model Composer:

  • AIE​(verfügbar für Versal AI Core, Versal Premium-Serie) 
    • FFT mit gemischter Radix 
    • Stockham FFT Performance-Verbesserungen 
    • TDM-FIR 
  • AIE-ML​(verfügbar für Versal AI Edge-Serie) 
    • TDM-FIR 
    • DDS (Direct Digital Synthesis – zur Erzeugung von Wellenformen) 
    • Mixer (für Frequenzverschiebung) 
  • AIE-MLv2​(verfügbar für Versal AI Edge-Serie der 2. Generation) 
    • FIR 
    • DFT 
    • DDS 
    • Mixer 

GitHub – Xilinx/Vitis_Model_Composer mit Version 2024.2

Neue HDL-Blöcke in Vitis Modell Composer:

  • Simple Dual-Port-RAM (neuer Block) 
  • Direct Digital Synthesis (DDS) Compiler (native Gleitkomma-Unterstützung hinzugefügt) 
  • FFT 
    • Native Gleitkomma-Unterstützung mit SSR=2, 4 hinzugefügt 
    • Zuordnung zu DSPFP32-Primitiven auf Versal Chips 

Weitere Verbesserungen

  • Verwendung von Vitis Debugger mit AIE/HLS-Kernels, die in Vitis Model Composer erstellt wurden 
  • Export des Vitis Subsystems aus Vitis Model Composer als VSS-Datei 
  • Zusätzliche Datentypen für Vitis Model Composer 
    • Unterstützung für cbfloat16 
    • Unterstützung für kaskadierte Signale: int8/uint8, int16/uint16/cint16, int32, uint32, cint32, float/cfloat 
  • Entwurfsregelprüfungen (Design Rule Checks, DRCs) zur Unterstützung der Erkennung und Meldung von Konzeptionsproblemen im Frühstadium des Erstellungsprozesses (z. B. Simulation) 
  • Schnelle Reaktionszeit für Codegenerierung 
    • Simulation wird pro Konzept nur einmal ausgeführt 
  • Speicherung von Hub-Blockkonfigurationen als JSON-Datei (für Batch-Verarbeitung, rasche Prototypenerstellung usw.) 

Unterstützung von Betriebssystem- und MATLAB-Versionen mit Release 2024.2 hinzugefügt

  • MATLAB R2024a 
  • Red Hat Enterprise Linux® (RHEL) 8.10, 9.4 

Neue Beispielkonzepte auf GitHub verfügbar

Herunterladen

Kaufen

Vitis Model Composer kann als Zusatzlizenz für Vivado Standard oder Enterprise Editions und Vitis Unified Software Platform erworben werden. 
Um das Produkt zu evaluieren, generieren Sie eine kostenlose 90-Tage-Evaluierungslizenz von der Website zur Produktlizenzierung

Ressourcen

KI-Engine-Bibliothek

  • Übung 1: Einführung in adaptive Versal™ SoCs und KI-Engine
  • Übung 2: Erstellung und Simulierung eines KI-Engine-Konzepts
  • Übung 3: Import von benutzerdefiniertem KI-Engine-Code
  • Übung 4: Generierung von KI-Engine-Code und Simulation mit Cycle-Approximate-Methode
  • Übung 5: KI-Engine-Konzepte in Vitis Analyzer
  • Übung 6: Hardwarevalidierung des adaptiven Versal Konzepts

HLS-Bibliothek

Mithilfe dieser Tutorials lernen Sie die HLS-Bibliothek von Vitis Model Composer kennen, erstellen ein einfaches Konzept mit HLS-Blöcken und erfahren, welche Datentypen von Vitis Model Composer unterstützt werden.

HDL-Bibliothek

Diese Tutorials zeigen Ihnen, wie Sie mithilfe der HDL-Bibliothek von Vitis Model Composer ein Konzept in Simulink® definieren und es anschließend zu einem FPGA synthetisieren. 

Fußnoten
  1. Basierend auf Tests am 10. August 2023 in 1.000 Designs der Vitis-Codebibliothek auf L2/L3 mit Vitis HLS Release 2023.2 gegenüber Vitis HLS 2023.1. Systemkonfiguration während des Tests: Intel Xeon E5-2690 v4 mit 2,6 GHz CPU, 256 GB RAM, RedHat Enterprise Linux 8.6. Die tatsächliche Performance kann abweichen. Systemhersteller wählen möglicherweise andere Konfigurationen, was zu anderen Ergebnissen führen kann. -VGL-04
  2. Die Benchmark-Tests wurden an allen 1208 C-Code-Designs der Vitis L1-Bibliothek mit Stand vom 12. Februar 2023 durchgeführt. Alle Designs wurden mit einem System mit 2P Intel Xeon E5-2690 CPUs mit CentOS Linux ausgeführt, SMT aktiviert, Turbo Boost deaktiviert. Die Hardwarekonfiguration hat der Erwartung nach keine Auswirkungen auf die Ergebnisse des Softwaretests. Die Ergebnisse können je nach Software- und Firmware-Einstellungen und -Konfigurationen variieren – VGL-03