Intel 750856 Agilex FPGA-Entwicklungsboard
Produktinformationen
Dieses Referenzdesign ist für das Intel Agilex F-Series FPGA Development Board. Es nutzt den Partial Reconfiguration External Configuration Controller Intel FPGA IP und verfügt über eine einfache PR-Region. Das Hardware-Setup für den externen Host des Intel Agilex-Geräts besteht aus einem externen Gerät (Helper-FPGA), einem DUT-FPGA und Ihrem externen Host-Design. Das Host-Design im externen Gerät ist für das Hosten des PR-Prozesses verantwortlich. Die PR-Pins werden zum Verbinden beider Geräte verwendet und können beliebige verfügbare Benutzer-I/Os sein.
Anweisungen zur Produktverwendung
Externe Host-Konfiguration
Führen Sie die folgenden Schritte aus, um die Konfiguration eines externen Hosts durchzuführen:
- Erstellen Sie ein Host-Design in einem externen Gerät, um den PR-Prozess zu hosten.
- Verbinden Sie die PR-Pins des externen Geräts mit dem Partial Reconfiguration External Configuration Controller Intel FPGA IP im DUT-FPGA.
- Streamen Sie Konfigurationsdaten vom Host-Design an die Pins der Intel Agilex Avalon Streaming-Schnittstelle, die den PR-Handshaking-Signalen von der IP entsprechen.
Teilweise Neukonfiguration über Konfigurationspins
Der folgende Ablauf beschreibt den Vorgang der teilweisen Rekonfiguration über Konfigurationspins:
- Aktivieren Sie den pr_request-Pin, der mit der Intel FPGA IP des Partial Reconfiguration External Configuration Controller verbunden ist.
- Die IP gibt ein Besetztsignal aus, um anzuzeigen, dass der PR-Prozess ausgeführt wird (optional).
- Wenn das Konfigurationssystem für einen PR-Vorgang bereit ist, wird der avst_ready-Pin aktiviert, was anzeigt, dass es bereit ist, Daten zu akzeptieren.
- Streamen Sie die PR-Konfigurationsdaten über die avst_data-Pins und den avst_valid-Pin und folgen Sie dabei der Avalon-Streaming-Spezifikation für Datenübertragung mit Gegendruck.
- Das Streaming stoppt, wenn der avst_ready-Pin deaktiviert wird.
- Deaktivieren Sie den avst_ready-Pin, um anzuzeigen, dass für den PR-Vorgang keine weiteren Daten erforderlich sind.
- Der Partial Reconfiguration External Configuration Controller Intel FPGA IP deaktiviert das Besetztsignal, um das Ende des Prozesses anzuzeigen (optional).
Teilweise Neukonfiguration über Konfigurationspins (externer Host) Referenzdesign
Dieser Anwendungshinweis demonstriert die teilweise Neukonfiguration über Konfigurationspins (externer Host) auf dem FPGA-Entwicklungsboard der Intel® Agilex® F-Serie.
Referenzdesign beendetview
Mit der partiellen Rekonfigurationsfunktion (PR) können Sie einen Teil des FPGA dynamisch neu konfigurieren, während das verbleibende FPGA-Design weiterhin funktioniert. Sie können in Ihrem Design mehrere Personas für eine bestimmte Region erstellen, die sich nicht auf den Betrieb in Bereichen außerhalb dieser Region auswirken. Diese Methode ist in Systemen effektiv, in denen mehrere Funktionen zeitweise dieselben FPGA-Geräteressourcen nutzen. Die aktuelle Version der Intel Quartus® Prime Pro Edition-Software führt einen neuen und vereinfachten Kompilierungsablauf für teilweise Neukonfiguration ein. Dieses Intel Agilex-Referenzdesign verwendet die Intel FPGA IP des Partial Reconfiguration External Configuration Controller und verfügt über eine einfache PR-Region.
Einrichtung der externen Host-Hardware des Intel Agilex-Geräts
Externe Host-Konfiguration
Bei der externen Host-Konfiguration müssen Sie zunächst ein Host-Design in einem externen Gerät erstellen, um den PR-Prozess zu hosten, wie das Intel Agilex Device External Host Hardware Setup zeigt. Das Host-Design streamt Konfigurationsdaten an die Intel Agilex Avalon-Streaming-Schnittstellen-Pins, die den PR-Handshaking-Signalen entsprechen, die vom Intel FPGA IP des Partial Reconfiguration External Configuration Controller kommen. Die PR-Pins, die Sie zum Verbinden beider Geräte verwenden, können beliebige verfügbare Benutzer-E/As sein.
Die folgende Sequenz beschreibt die teilweise Neukonfiguration über Konfigurationspins:
- Bestätigen Sie zunächst den pr_request-Pin, der mit der Intel FPGA IP des Partial Reconfiguration External Configuration Controller verbunden ist.
- Die IP gibt ein Besetztsignal aus, um anzuzeigen, dass der PR-Prozess ausgeführt wird (optional).
- Wenn das Konfigurationssystem bereit ist, einen PR-Vorgang durchzuführen, wird der avst_ready-Pin aktiviert, der anzeigt, dass es bereit ist, Daten zu akzeptieren.
- Beginnen Sie mit dem Streamen der PR-Konfigurationsdaten über die Pins avst_data und avst_valid und beachten Sie dabei die Avalon-Streaming-Spezifikation für die Datenübertragung mit Gegendruck.
- Das Streaming stoppt, wenn der avst_ready-Pin deaktiviert wird.
- Nach dem Streamen aller Konfigurationsdaten wird der avst_ready-Pin deaktiviert, um anzuzeigen, dass für den PR-Betrieb keine weiteren Daten erforderlich sind.
- Der Partial Reconfiguration External Configuration Controller Intel FPGA IP deaktiviert das Besetztsignal, um das Ende des Prozesses anzuzeigen (optional).
- Sie können die Pins pr_done und pr_error überprüfen, um zu bestätigen, ob der PR-Vorgang erfolgreich abgeschlossen wurde. Wenn ein Fehler auftritt, beispielsweise ein Fehler bei der Versions- und Autorisierungsprüfung, wird der PR-Vorgang beendet.
Zugehörige Informationen
- Intel Agilex FPGA-Entwicklungskit der F-Serie Web Seite
- Benutzerhandbuch für das FPGA-Entwicklungskit der Intel Agilex F-Serie
- Intel Quartus Prime Pro Edition-Benutzerhandbuch: Teilweise Neukonfiguration
Teilweise Neukonfiguration Externer Konfigurationscontroller Intel FPGA IP
Der Partial Reconfiguration External Configuration Controller ist erforderlich, um Konfigurationspins zum Streamen von PR-Daten für den PR-Betrieb zu verwenden. Sie müssen alle Top-Level-Ports des Partial Reconfiguration External Configuration Controller Intel FPGA IP mit dem pr_request-Pin verbinden, um den Handshaking des Hosts mit dem Secure Device Manager (SDM) vom Kern aus zu ermöglichen. Der SDM bestimmt entsprechend Ihrer MSEL-Einstellung, welche Arten von Konfigurationspins verwendet werden sollen.
Teilweise Neukonfiguration Externer Konfigurationscontroller Intel FPGA IP
Teilweise Neukonfiguration der Parametereinstellungen des externen Konfigurationscontrollers
Parameter | Wert | Beschreibung |
Besetztschnittstelle aktivieren | Aktivieren or
Deaktivieren |
Ermöglicht das Aktivieren oder Deaktivieren der Busy-Schnittstelle, die ein Signal ausgibt, um anzuzeigen, dass die PR-Verarbeitung während der externen Konfiguration ausgeführt wird.
Standardeinstellung ist Deaktivieren. |
Teilweise Neukonfiguration externer Konfigurations-Controller-Ports
Anschlussname | Breite | Richtung | Funktion |
pr_request | 1 | Eingang | Zeigt an, dass der PR-Prozess beginnen kann. Das Signal ist eine Leitung, die nicht synchron zu einem Taktsignal ist. |
pr_error | 2 | Ausgabe | Zeigt einen teilweisen Neukonfigurationsfehler an:
• 2'b01 – allgemeiner PR-Fehler • 2'b11 – inkompatibler Bitstream-Fehler Bei diesen Signalen handelt es sich um Leitungen, die mit keiner Taktquelle synchron sind. |
pr_done | 1 | Ausgabe | Zeigt an, dass der PR-Prozess abgeschlossen ist. Das Signal ist eine Leitung, die nicht synchron zu einem Taktsignal ist. |
start_addr | 1 | Eingang | Gibt die Startadresse der PR-Daten im Active Serial Flash an. Sie aktivieren dieses Signal, indem Sie eine der beiden Optionen auswählen Avalon®-NS or Aktive Serielle für die Aktivieren Sie Avalon-ST-Pins oder aktive serielle Pins Parameter. Das Signal ist eine Leitung, die nicht synchron zu einem Taktsignal ist. |
zurücksetzen | 1 | Eingang | Aktives High, synchrones Reset-Signal. |
out_clk | 1 | Ausgabe | Taktquelle, die von einem internen Oszillator erzeugt wird. |
beschäftigt | 1 | Ausgabe | Das IP aktiviert dieses Signal, um die laufende PR-Datenübertragung anzuzeigen. Sie aktivieren dieses Signal, indem Sie auswählen Aktivieren für die Aktivieren Sie die Busy-Schnittstelle Parameter. |
Anforderungen an das Referenzdesign
Die Verwendung dieses Referenzdesigns erfordert Folgendes:
- Installation der Intel Quartus Prime Pro Edition Version 22.3 mit Unterstützung für die Intel Agilex-Gerätefamilie.
- Verbindung zum Intel Agilex F-Series FPGA-Entwicklungsboard auf dem Tisch.
- Download des Designbeispielsample an folgendem Ort verfügbar: https://github.com/intel/fpga-partial-reconfig.
Um das Design herunterzuladen, z. Bampauf:
- Klicken Sie auf Klonen oder herunterladen.
- Klicken Sie auf ZIP herunterladen. Entpacken Sie die Datei fpga-partial-reconfig-master.zip file.
- Navigieren Sie zum Unterordner „tutorials/agilex_external_pr_configuration“, um auf das Referenzdesign zuzugreifen.
Exemplarische Vorgehensweise für das Referenzdesign
Die folgenden Schritte beschreiben die Implementierung einer teilweisen Neukonfiguration über Konfigurationspins (externer Host) auf dem Intel Agilex F-Series FPGA-Entwicklungsboard:
- Schritt 1: Einstieg
- Schritt 2: Erstellen einer Designpartition
- Schritt 3: Zuweisen von Platzierungs- und Routing-Regionen
- Schritt 4: Hinzufügen der IP des externen Konfigurationscontrollers für teilweise Neukonfiguration
- Schritt 5: Personas definieren
- Schritt 6: Revisionen erstellen
- Schritt 7: Kompilieren der Basisrevision
- Schritt 8: Vorbereitung von PR-Implementierungsrevisionen
- Schritt 9: Programmieren des Boards
Schritt 1: Erste Schritte
Um das Referenzdesign zu kopieren files in Ihre Arbeitsumgebung und stellen Sie das blinking_led Flat Design zusammen:
- Erstellen Sie in Ihrer Arbeitsumgebung ein Verzeichnis, agilex_pcie_devkit_blinking_led_pr.
- Kopieren Sie den heruntergeladenen Unterordner „tutorials/agilex_pcie_devkit_blinking_led/flat“ in das Verzeichnis agilex_pcie_devkit_blinking_led_pr.
- Klicken Sie in der Intel Quartus Prime Pro Edition-Software auf File ➤ Öffnen Sie Project und wählen Sie blinking_led.qpf aus.
- Um die Hierarchie des flachen Designs zu erläutern, klicken Sie auf Verarbeitung ➤ Start ➤ Analyse und Synthese starten. Alternativ können Sie in der Befehlszeile den folgenden Befehl ausführen: quartus_syn blinking_led -c blinking_led
Erstellen einer Designpartition
Sie müssen Designpartitionen für jede PR-Region erstellen, die Sie teilweise neu konfigurieren möchten. Mit den folgenden Schritten erstellen Sie eine Designpartition für die u_blinking_led-Instanz.
Design-Partitionen erstellen
- Klicken Sie im Projektnavigator mit der rechten Maustaste auf die Instanz u_blinking_led und klicken Sie auf Design Partition ➤ Reconfigurable. Neben jeder Instanz, die als Partition festgelegt ist, wird ein Design-Partitionssymbol angezeigt.
- Klicken Sie auf Zuweisungen ➤ Fenster „Partitionen entwerfen“. Das Fenster zeigt alle Designpartitionen im Projekt an.
- Bearbeiten Sie den Partitionsnamen im Fenster „Partitionen entwerfen“, indem Sie auf den Namen doppelklicken. Benennen Sie für dieses Referenzdesign den Partitionsnamen in pr_partition um
- Notiz: Wenn Sie eine Partition erstellen, generiert die Intel Quartus Prime-Software basierend auf dem Instanznamen und dem Hierarchiepfad automatisch einen Partitionsnamen. Dieser Standardpartitionsname kann je nach Instanz variieren.
- Um den finalisierten statischen Bereich aus der Basisrevisionskompilierung zu exportieren, doppelklicken Sie im Post Final Export auf den Eintrag für root_partition File Spalte und geben Sie blinking_led_static ein. gdb.
Exportieren des Post-Final-Snapshots im Design-PartitionsfensterStellen Sie sicher, dass blinking_led.qsf die folgenden Zuweisungen enthält, die Ihrer rekonfigurierbaren Designpartition entsprechen:
Zugehörige Informationen
„Designpartitionen erstellen“ im Intel Quartus Prime Pro Edition-Benutzerhandbuch: Teilweise Neukonfiguration
Zuweisen einer Platzierungs- und Routingregion für eine PR-Partition
Für jede von Ihnen erstellte Basisrevision platziert der PR-Designablauf den entsprechenden Persona-Kern in Ihrer PR-Partitionsregion. So suchen und weisen Sie die PR-Region im Gerätegrundriss für Ihre Basisrevision zu:
- Klicken Sie im Projektnavigator mit der rechten Maustaste auf die Instanz u_blinking_led und klicken Sie auf Logiksperrbereich ➤ Neuen Logiksperrbereich erstellen. Die Region wird im Logic Lock Regions-Fenster angezeigt.
- Ihr Platzierungsbereich muss die blinking_led-Logik einschließen. Wählen Sie den Platzierungsbereich aus, indem Sie den Knoten im Chip Planner suchen. Klicken Sie mit der rechten Maustaste auf den Namen der Region „u_blinking_led“ im Fenster „Logic Lock Regions“ und klicken Sie auf
Knoten lokalisieren ➤ Im Chip Planner suchen. Der Bereich u_blinking_led ist farblich gekennzeichnet
Chip-Planer-Knotenstandort für blinking_led
- Geben Sie im Fenster „Logiksperrbereiche“ die Koordinaten des Platzierungsbereichs in der Spalte „Ursprung“ an. Der Ursprung entspricht der unteren linken Ecke der Region. Zum BeispielampBeispiel: Um einen Platzierungsbereich mit (X1 Y1)-Koordinaten als (163 4) festzulegen, geben Sie den Ursprung als X163_Y4 an. Die Intel Quartus Prime-Software berechnet automatisch die (X2 Y2)-Koordinaten (oben rechts) für den Platzierungsbereich, basierend auf der von Ihnen angegebenen Höhe und Breite.
- Notiz: In diesem Tutorial werden die (X1 Y1)-Koordinaten (163 4) und eine Höhe und Breite von 20 für den Platzierungsbereich verwendet. Definieren Sie einen beliebigen Wert für den Platzierungsbereich. Stellen Sie sicher, dass der Bereich die blinking_led-Logik abdeckt.
- Aktivieren Sie die Optionen Reserviert und Core-Only.
- Doppelklicken Sie auf die Option Routing-Region. Das Dialogfeld „Logic Lock Routing Region Settings“ wird angezeigt.
- Wählen Sie als Routing-Typ Fest mit Erweiterung aus. Wenn Sie diese Option auswählen, wird automatisch eine Erweiterungslänge von 2 zugewiesen.
- Notiz: Der Routing-Bereich muss größer sein als der Platzierungsbereich, um dem Fitter zusätzliche Flexibilität zu bieten, wenn die Engine verschiedene Personas routet.
Fenster „Logic Lock Regions“.Stellen Sie sicher, dass die blinking_led.qsf die folgenden Zuweisungen enthält, die Ihrer Grundrissplanung entsprechen:
Zugehörige Informationen
„Grundriss des partiellen Rekonfigurationsdesigns“ im Intel Quartus Prime Pro Edition-Benutzerhandbuch: Partielle Rekonfiguration
Hinzufügen der teilweisen Neukonfiguration des externen Konfigurationscontrollers Intel FPGA IP
Der Partial Reconfiguration External Configuration Controller Intel FPGA IP ist mit dem Intel Agilex PR-Steuerblock verbunden, um die Bitstromquelle zu verwalten. Sie müssen diese IP zu Ihrem Design hinzufügen, um eine externe Konfiguration zu implementieren. Befolgen Sie diese Schritte, um den Partial Reconfiguration External Configuration Controller hinzuzufügen
Intel FPGA IP zu Ihrem Projekt:
- Geben Sie Teilweise Neukonfiguration in das IP-Katalog-Suchfeld ein (Extras ➤ IP-Katalog).
- Doppelklicken Sie auf „Teilweise Neukonfiguration – Externer Konfigurationscontroller Intel FPGA IP“.
- Geben Sie im Dialogfeld „IP-Variante erstellen“ external_host_pr_ip als ein File Geben Sie einen Namen ein und klicken Sie dann auf Erstellen. Der Parametereditor erscheint.
- Wählen Sie für den Parameter „Besetzte Schnittstelle aktivieren“ die Option „Deaktivieren“ (Standardeinstellung). Wenn Sie dieses Signal verwenden müssen, können Sie die Einstellung auf „Aktivieren“ umstellen.
Aktivieren Sie den Parameter „Busy Interface“ im Parametereditor
- Klicken File ➤ Speichern und beenden Sie den Parametereditor, ohne das System zu generieren. Der Parametereditor generiert die IP-Variante external_host_pr_ip.ip file und fügt hinzu: file zum blinking_led-Projekt. AN 991: Teilweise Neukonfiguration über Konfigurationspins (externer Host) Referenzdesign 750856 | 2022.11.14 AN 991:
- Notiz:
- a. Wenn Sie external_host_pr_ip.ip kopieren file Bearbeiten Sie im PR-Verzeichnis manuell die Datei blinking_led.qsf file um die folgende Zeile einzufügen: set_global_assignment -name IP_FILE pr_ip.ip
- b. Platzieren Sie die IP_FILE Einsatz nach dem DEZA_FILE Zuweisungen (blinking_led. dc) in Ihrer blinking_led.qsf file. Diese Reihenfolge gewährleistet eine angemessene Einschränkung des IP-Kerns des Partial Reconfiguration Controller.
- Notiz: Um die Uhren zu erkennen, muss die .sdc file für die PR-IP muss jeder .sdc folgen, der die Uhren erstellt, die der IP-Kern verwendet. Sie erleichtern diese Bestellung, indem Sie sicherstellen, dass die .ip file für den PR-IP-Core erscheint nach jeder .ip files oder .sdc files, mit denen Sie diese Uhren in der .qsf-Datei definieren file für die Überarbeitung Ihres Intel Quartus Prime-Projekts. Weitere Informationen finden Sie im Benutzerhandbuch zu Partial Reconfiguration IP Solutions.
Aktualisieren des Top-Level-Designs
Um die Datei top.sv zu aktualisieren file mit der PR_IP-Instanz:
- Um die external_host_pr_ip-Instanz zum Top-Level-Design hinzuzufügen, entkommentieren Sie die folgenden Codeblöcke in top.sv file:
Definition von Personas
Dieses Referenzdesign definiert drei separate Personas für die einzelne PR-Partition. So definieren und integrieren Sie die Personas in Ihr Projekt:
- Erstellen Sie drei SystemVerilog files, blinking_led.sv, blinking_led_slow.sv und blinking_led_empty.sv in Ihrem Arbeitsverzeichnis für die drei Personas.
Referenzdesign-Personas
Notiz:
- blinking_led.sv ist bereits als Teil der verfügbar files Sie kopieren aus dem Unterverzeichnis flat/. Diesen können Sie einfach wiederverwenden file.
- Wenn Sie die SystemVerilog files aus dem Intel Quartus Prime Texteditor, deaktivieren Sie die Add file zum aktuellen Projekt Option, beim Speichern der files.
Revisionen erstellen
Der PR-Designablauf nutzt die Projektrevisionsfunktion in der Intel Quartus Prime-Software. Ihr anfänglicher Entwurf ist die Basisrevision, in der Sie die statischen Bereichsgrenzen und rekonfigurierbaren Bereiche auf dem FPGA definieren. Aus der Basisrevision erstellen Sie mehrere Revisionen. Diese Revisionen enthalten die unterschiedlichen Implementierungen für die PR-Regionen. Allerdings verwenden alle PR-Implementierungsrevisionen dieselben Platzierungs- und Routing-Ergebnisse der obersten Ebene wie die Basisrevision. Um ein PR-Design zu erstellen, müssen Sie für jede Persona eine PR-Implementierungsrevision erstellen. Darüber hinaus müssen Sie für jede der Revisionen Revisionstypen zuordnen. Die verfügbaren Revisionstypen sind:
- Teilweise Neukonfiguration – Basis
- Teilweise Neukonfiguration – Persona-Implementierung
In der folgenden Tabelle sind der Revisionsname und der Revisionstyp für jede Revision aufgeführt:
Revisionsnamen und -typen
Revisionsname | Revisionstyp |
blinkende_led.qsf | Teilweise Neukonfiguration – Basis |
blinkende_led_default.qsf | Teilweise Neukonfiguration – Persona-Implementierung |
blinking_led_slow.qsf | Teilweise Neukonfiguration – Persona-Implementierung |
blinking_led_empty.qsf | Teilweise Neukonfiguration – Persona-Implementierung |
Festlegen des Basisrevisionstyps
- Klicken Sie auf Projekt ➤ Revisionen.
- Wählen Sie unter Revisionsname die blinking_led-Revision aus und klicken Sie dann auf Als aktuell festlegen.
- Klicken Sie auf Übernehmen. Die blinking_led-Revision wird als aktuelle Revision angezeigt.
- Um den Revisionstyp für blinking_led festzulegen, klicken Sie auf Zuweisungen ➤ Einstellungen ➤ Allgemein.
- Wählen Sie als Revisionstyp Partielle Neukonfiguration – Basis aus und klicken Sie dann auf OK.
- Stellen Sie sicher, dass blinking_led.qsf jetzt die folgende Zuweisung enthält: ##blinking_led.qsf set_global_assignment -name REVISION_TYPE PR_BASE
Erstellen von Implementierungsrevisionen
- Um das Dialogfeld Revisionen zu öffnen, klicken Sie auf Projekt ➤ Revisionen.
- Um eine neue Revision zu erstellen, doppelklicken Sie auf < >.
- Geben Sie unter Revisionsname blinking_led_default an und wählen Sie blinking_led für Basierend auf Revision aus.
- Wählen Sie als Revisionstyp Partielle Neukonfiguration – PersonaImplementation aus.
Revisionen erstellen
- Legen Sie auf ähnliche Weise den Revisionstyp für die Revisionen blinking_led_slow und blinking_led_empty fest.
- Stellen Sie sicher, dass jede .qsf file Enthält jetzt die folgende Zuweisung: set_global_assignment -name REVISION_TYPE PR_IMPL set_instance_assignment -name ENTITY_REBINDING \ place_holder -to u_blinking_led wobei place_holder der Standard-Entitätsname für die neu erstellte PR-Implementierungsrevision ist.
Projektrevisionen
Kompilieren der Basisrevision
- Um die Basisrevision zu kompilieren, klicken Sie auf Verarbeitung ➤ Kompilierung starten. Alternativ kompiliert der folgende Befehl die Basisrevision: quartus_sh –flow compile blinking_led -c blinking_led
- Untersuchen Sie den Bitstrom files, die in der Ausgabe generiert werden_files-Verzeichnis.
Generiert Files
Name | Typ | Beschreibung |
blinking_led.sof | Basisprogrammierung file | Wird für die Vollchip-Basiskonfiguration verwendet |
blinking_led.pr_partition.rbf | PR-Bitstream file für Basispersona | Wird zur teilweisen Neukonfiguration der Basispersona verwendet. |
blinking_led_static.qdb | .qdb-Datenbank file | Fertiggestellte Datenbank file Wird zum Importieren der statischen Region verwendet. |
Zugehörige Informationen
- „Grundriss des partiellen Rekonfigurationsdesigns“ im Intel Quartus Prime Pro Edition-Benutzerhandbuch: Partielle Rekonfiguration
- „Inkrementelles Anwenden von Grundrissbeschränkungen“ im Intel Quartus Prime Pro Edition-Benutzerhandbuch: Teilweise Neukonfiguration
Vorbereitung von Überarbeitungen der PR-Implementierung
Sie müssen die PR-Implementierungsrevisionen vorbereiten, bevor Sie den PR-Bitstrom für die Geräteprogrammierung kompilieren und generieren können. Dieses Setup umfasst das Hinzufügen der statischen Region .qdb file als Quelle file für jede Implementierungsrevision. Darüber hinaus müssen Sie die entsprechende Entität der PR-Region angeben.
- Um die aktuelle Revision festzulegen, klicken Sie auf Projekt ➤ Revisionen, wählen Sie blinking_led_default als Revisionsnamen aus und klicken Sie dann auf Als aktuell festlegen.
- Um die richtige Quelle für jede Implementierungsrevision zu überprüfen, klicken Sie auf Projekt ➤Hinzufügen/Entfernen Files im Projekt. Die blinking_led.sv file erscheint im file Liste.
Files Seite
- Wiederholen Sie die Schritte 1 bis 2, um die andere Implementierungsrevisionsquelle zu überprüfen files:
Name der Implementierungsrevision | Quelle File |
blinking_led_default | blinking_led.sv |
blinking_led_empty | blinking_led_empty.sv |
blinking_led_slow | blinkende_led_langsam.sv |
- Um die .qdb zu überprüfen file Klicken Sie auf Zuweisungen ➤ Fenster „Partitionen entwerfen“, um die mit der Root-Partition verknüpfte Partition zu erstellen. Bestätigen Sie, dass die Partitionsdatenbank File Gibt die blinking_led_static.qdb an file, oder doppelklicken Sie auf die Partitionsdatenbank File Zelle, um dies anzugeben file. Alternativ weist der folgende Befehl dies zu file: set_instance_assignment -name QDB_FILE_PARTITION \ blinking_led_static.qdb -to |
- Geben Sie in der Zelle Entity Re-binding den Entitätsnamen jeder PR-Partition an, die Sie in der Implementierungsrevision ändern. Für die Implementierungsrevision blinking_led_default lautet der Entitätsname blinking_led. In diesem Tutorial überschreiben Sie die u_blinking_led-Instanz aus der Basisrevisionskompilierung mit der neuen blinking_led-Entität.
Notiz: Der Implementierungsrevision wird automatisch eine Platzhalterentitäts-Neubindungszuweisung hinzugefügt. Sie müssen jedoch den Standard-Entitätsnamen in der Zuweisung in einen geeigneten Entitätsnamen für Ihr Design ändern.
Name der Implementierungsrevision | Neubindung von Entitäten |
blinking_led_default | blinkende_LED |
blinking_led_slow | blinking_led_slow |
blinking_led_empty | blinking_led_empty |
Neubindung von Entitäten
- Um den Entwurf zu kompilieren, klicken Sie auf Verarbeitung ➤ Kompilierung starten. Alternativ kompiliert der folgende Befehl dieses Projekt: quartus_sh –flow compile blinking_led –c blinking_led_default
- Wiederholen Sie die obigen Schritte, um die Revisionen blinking_led_slow und blinking_led_empty vorzubereiten: quartus_sh –flow kompilieren blinking_led –c blinking_led_slow quartus_sh –flow kompilieren blinking_led –c blinking_led_empt
Notiz: Sie können alle Fitter-spezifischen Einstellungen angeben, die Sie während der Kompilierung der PR-Implementierung anwenden möchten. Fitterspezifische Einstellungen wirken sich nur auf die Passform der Persona aus, ohne Auswirkungen auf den importierten statischen Bereich.
Programmieren des Boards
In diesem Tutorial wird ein Intel Agilex F-Series FPGA-Entwicklungsboard auf dem Tisch verwendet, außerhalb des PCIe*-Steckplatzes in Ihrem Host-Computer. Stellen Sie vor der Programmierung der Platine sicher, dass Sie die folgenden Schritte ausgeführt haben:
- Schließen Sie das Netzteil an das Intel Agilex F-Series FPGA-Entwicklungsboard an.
- Verbinden Sie das Intel FPGA Download-Kabel mit dem USB-Anschluss Ihres PCs und dem Intel FPGA Download-Kabel-Anschluss auf der Entwicklungsplatine.
So führen Sie das Design auf dem Intel Agilex F-Series FPGA-Entwicklungsboard aus:
- Öffnen Sie die Intel Quartus Prime-Software und klicken Sie auf Extras ➤ Programmierer.
- Klicken Sie im Programmer auf Hardware Setup und wählen Sie USB-Blaster.
- Klicken Sie auf „Automatisch erkennen“ und wählen Sie das Gerät AGFB014R24AR0 aus.
- OK klicken. Die Intel Quartus Prime-Software erkennt und aktualisiert den Programmierer mit den drei FPGA-Geräten auf der Platine.
- Wählen Sie das Gerät AGFB014R24AR0 aus und klicken Sie auf Ändern File und laden Sie blinking_led_default.sof file.
- Aktivieren Sie „Programmieren/Konfigurieren“ für blinking_led_default.sof file.
- Klicken Sie auf Start und warten Sie, bis der Fortschrittsbalken 100 % erreicht.
- Beobachten Sie, wie die LEDs auf der Platine mit der gleichen Frequenz blinken wie das ursprüngliche flache Design.
- Um nur den PR-Bereich zu programmieren, klicken Sie mit der rechten Maustaste auf blinking_led_default.sof file im Programmer und klicken Sie auf PR-Programmierung hinzufügen File.
- Wählen Sie blinking_led_slow.pr_partition.rbf aus file.
- Deaktivieren Sie „Programmieren/Konfigurieren“ für blinking_led_default.sof file.
- Aktivieren Sie „Programmieren/Konfigurieren“ für blinking_led_slow.pr_partition.rbf file und klicken Sie auf Start. Beobachten Sie auf der Platine, wie LED[0] und LED[1] weiterhin blinken. Wenn der Fortschrittsbalken 100 % erreicht, blinken LED[2] und LED[3] langsamer.
- Um die PR-Region neu zu programmieren, klicken Sie mit der rechten Maustaste auf die .rbf-Datei file im Programmer und klicken Sie auf PR-Programmierung ändern File.
- Wählen Sie die .rbf-Datei aus fileEs ist Aufgabe der anderen beiden Personas, das Verhalten auf der Tafel zu beobachten. Laden der blinking_led_default.rbf file bewirkt, dass die LEDs mit einer bestimmten Frequenz blinken, und lädt blinking_led_empty.rbf file bewirkt, dass die LEDs eingeschaltet bleiben.
Programmierung des FPGA-Entwicklungsboards der Intel Agilex F-Serie
Hardware-Testablauf
Die folgenden Sequenzen beschreiben den Testablauf für Referenzdesign-Hardware.
Einrichtung der externen Host-Hardware des Intel Agilex-Geräts
Programmieren Sie das Hilfs-FPGA (externer Host).
Die folgende Sequenz beschreibt die Programmierung des Hilfs-FPGA, der als externer PR-Prozess-Host fungiert:
- Geben Sie die Avalon-Streaming-Schnittstelleneinstellung an, die dem von Ihnen ausgewählten Modus entspricht (x8, x16 oder x32).
- Initialisieren Sie die Plattform, indem Sie das Hilfs-FPGA mit dem Intel Quartus Prime Programmer und dem angeschlossenen Konfigurationskabel programmieren.
- Lesen Sie mithilfe des Hilfs-FPGA die Signale CONF_DONE und AVST_READY. CONF_DONE sollte 0 sein, AVST_READY sollte 1 sein. Logisch hoch an diesem Pin zeigt an, dass der SDM bereit ist, Daten von einem externen Host zu akzeptieren. Dieser Ausgang ist Teil des SDM-I/O.
Notiz: Der CONF_DONE-Pin signalisiert einem externen Host, dass die Bitstromübertragung erfolgreich war. Verwenden Sie diese Signale nur zur Überwachung des gesamten Chipkonfigurationsprozesses. Weitere Informationen zu diesem Pin finden Sie im Intel Agilex Configuration User Guide.
Programmieren Sie den DUT-FPGA mit Full-Chip-SOF über einen externen Host. Die folgende Sequenz beschreibt die Programmierung des DUT-FPGA mit dem Full-Chip-SRAM-Objekt File (.sof) unter Verwendung der Host-Avalon-Streaming-Schnittstelle:
- Schreiben Sie den gesamten Chip-Bitstrom in den externen DDR4-Speicher des Hilfs-FPGA (externer Host).
- Konfigurieren Sie das DUT-FPGA mit der vollständigen Chip-.sof-Datei mithilfe der Avalon-Streaming-Schnittstelle (x8, x16, x32).
- Lesen Sie die Statussignale der DUT-FPGA-Konfiguration. CONF_DONE sollte 1 sein, AVST_READY sollte 0 sein.
Timing-Spezifikationen: Teilweise Neukonfiguration des externen Controllers Intel FPGA IP
Programmieren Sie das DUT-FPGA mit der First Persona über einen externen Host
- Wenden Sie den Freeze auf die Ziel-PR-Region im DUT-FPGA an.
- Aktivieren Sie mithilfe der Intel Quartus Prime-Systemkonsole pr_request, um die teilweise Neukonfiguration zu starten. AVST_READY sollte 1 sein.
- Schreiben Sie den ersten PR-Persona-Bitstream in den externen DDR4-Speicher des Hilfs-FPGA (externer Host).
- Konfigurieren Sie mithilfe der Avalon-Streaming-Schnittstelle (x8, x16, x32) das DUT-FPGA mit dem ersten Persona-Bitstream neu.
- Um den PR-Status zu überwachen, klicken Sie auf Extras ➤ Systemkonsole, um die Systemkonsole zu starten. Überwachen Sie in der Systemkonsole den PR-Status:
- pr_error ist 2 – Neukonfiguration läuft.
- pr_error ist 3 – die Neukonfiguration ist abgeschlossen.
- Wenden Sie Unfreeze auf die PR-Region im DUT-FPGA an.
Notiz: Wenn während des PR-Vorgangs ein Fehler auftritt, beispielsweise ein Fehler bei der Versions- oder Autorisierungsprüfung, wird der PR-Vorgang beendet.
Zugehörige Informationen
- Benutzerhandbuch zur Intel Agilex-Konfiguration
- Intel Quartus Prime Pro Edition-Benutzerhandbuch: Debug-Tools
Dokumentrevisionsverlauf für AN 991: Teilweise Neukonfiguration über Konfigurationspins (externer Host) Referenzdesign für Intel Agilex F-Series FPGA Development Board
Dokumentversion | Intel Quartus Prime-Version | Änderungen |
2022.11.14 | 22.3 | • Erstveröffentlichung. |
AN 991: Teilweise Neukonfiguration über Konfigurationspins (externer Host). Referenzdesign: für Intel Agilex F-Series FPGA Development Board
Antworten auf die häufigsten FAQs:
- Q Was ist PR über Konfigurationspins?
- A Externe Host-Konfiguration auf Seite 3
- Q Was benötige ich für dieses Referenzdesign?
- A Referenzdesignanforderungen auf Seite 6
- Q Wo bekomme ich das Referenzdesign?
- A Referenzdesignanforderungen auf Seite 6
- Q Wie führe ich PR über externe Konfiguration durch?
- A Exemplarische Vorgehensweise zum Referenzdesign auf Seite 6
- Q Was ist eine PR-Persona?
- A Personas definieren auf Seite 11
- Q Wie programmiere ich das Board?
- A Programmieren Sie das Board auf Seite 17
- Q Welche PR-Probleme und Einschränkungen sind bekannt?
- A Intel FPGA-Supportforen: PR
- Q Haben Sie eine PR-Ausbildung?
- A Technischer Schulungskatalog für Intel FPGA
Online-Version Feedback senden
- AUSWEIS: 750856
- Version: 2022.11.14
Dokumente / Ressourcen
![]() |
Intel 750856 Agilex FPGA-Entwicklungsboard [pdf] Benutzerhandbuch 750856, 750857, 750856 Agilex FPGA-Entwicklungsplatine, Agilex FPGA-Entwicklungsplatine, FPGA-Entwicklungsplatine, Entwicklungsplatine, Platine |