Übersicht
Designiterationen sind üblich, wenn Entwickler neue Funktionen hinzufügen und ihre Designs debuggen. In vielen Fällen handelt es sich bei diesen Iterationen um schrittweise Änderungen, und in den meisten Fällen finden diese Änderungen in einem kleinen Teil des Designs statt. Die AMD Vivado™ Design Suite bietet zwei wichtige Technologien, die die Designiterationszeiten deutlich reduzieren: Incremental Compile und Abstract Shell.
Incremental Compile
In der sich schnell weiterentwickelnden Welt des FPGA-Designs ist es bei der Entwicklung großer und komplexer Designs von kritischer Bedeutung, möglichst schnelle Designiterationen zu erzielen. Es ist üblich, iterative Änderungen am Quellcode, den Einschränkungen und den Einstellungen vorzunehmen. In einem herkömmlichen Flow würden diese Änderungen eine vollständige Neukompilierung des gesamten Designs erfordern, was zeitaufwändig und ressourcenintensiv sein kann.
Vivado Incremental Compile löst diese Herausforderung durch intelligente Identifizierung und Neukompilierung nur derjenigen Teile des Designs, die geändert wurden, anstatt eine vollständige Kompilierung durchzuführen. Dieser Ansatz verkürzt die Kompilierungszeit bei kleinen Designänderungen und hilft Ingenieuren, schnellere Designiterationen durchzuführen, sodass sie ihre Designänderungen schnell überprüfen können.
Die folgenden Benchmark-Daten zeigen die Kompilierungszeiten für die Standardkompilierung in Blau und den inkrementellen Flow in Rot für 68 Designs in der Version 2022.2 der Vivado Design Suite. Der Benchmark zeigt mit Incremental Compile eine durchschnittlich 1,4-mal schnellere Neukompilierung.
Benchmark-Ergebnisse von Incremental Compile für UltraScale+™ Chipdesigns mit 2022.2

Fußnote: Die Messungen werden vom Vivado™ Technikteam seit Oktober 2022 an 68 Designs durchgeführt, bei denen die Standardkompilierung mit der Incremental Compile des Vivado-Softwaretools 2022.2 verglichen wird. Sechs Outlier-Vergleiche mit einem mehr als 6-mal höheren Ergebnis wurden verworfen, um einen repräsentativeren Leistungsdurchschnitt zu erhalten. 5 % des Designs werden für den Vergleich inkrementell kompiliert. Die tatsächliche Verbesserung für kommerzielle Systeme kann je nach Faktoren wie Systemhardware, Software- und Treiberversionen und BIOS-Einstellungen variieren.
Zusammenfassend lässt sich sagen, dass Vivado Incremental Compile eine Funktion innerhalb der Vivado Design Suite ist, die es FPGA-Designern ermöglicht, effektiver zu arbeiten, was zu kürzeren Bearbeitungszeiten für Designänderungen führt und die Entwicklung von FPGAs beschleunigt.
Abstract Shell
Abstract Shell bietet einen hochmodernen Ansatz, um schnelle Kompilierungszeiten für große und komplexe Designs zu erzielen. Mit dieser Lösung ist es möglich, eine verschlankte Version eines Teils des Designs zu erstellen und gleichzeitig Kontext für den Rest des Designs bereitzustellen. Durch die Isolierung bestimmter Bereiche des Designs können Ingenieure mithilfe von Abstract Shell Module unabhängig implementieren und validieren, ohne dass eine vollständige Neukompilierung des Designs erforderlich ist. Abstract Shell ermöglicht es Designern, Teile des Designs zu markieren, die sich ändern bzw. die unverändert bleiben.
Die folgenden Benchmark-Daten zeigen eine durchschnittliche Beschleunigung der Kompilierungszeit um das 5-Fache mit Abstract Shell im Vergleich zu Full Shell. Die rote Zeile zeigt die Beschleunigung der Kompilierungszeit mit Abstract Shell-Durchläufen im Vergleich zu Full Shell-Durchläufen. Die blaue Leiste zeigt die durchschnittliche Beschleunigung der Kompilierungszeit um das 5-Fache in 55 Testfällen.
Abstract Shell zeigt positive Benchmark-Ergebnisse für UltraScale+ Chipdesigns mit 2021.1

Fußnote: Die Messungen werden vom Vivado™ Technikteam seit Juni 2021 an 55 Designs durchgeführt, bei denen die Standardkompilierung mit der Abstract Shell Kompilierung mit dem Vivado-Softwaretool 2021.1 verglichen wird. Die tatsächliche Verbesserung für kommerzielle Systeme kann je nach Faktoren wie Systemhardware, Software- und Treiberversionen und BIOS-Einstellungen variieren.
Zusammenfassend lässt sich sagen, dass Abstract Shell das FPGA-Design revolutioniert, indem es einen schnellen, effizienten und modularen Ansatz bietet, der die Art und Weise verändert, wie Ingenieure ihre FPGA-Designs erstellen, modifizieren, debuggen und optimieren.