Intel-LogoFunktionale Einheit Simulationsumgebung Software
Benutzerhandbuch

Über dieses Dokument

In diesem Dokument wird die Simulation beschrieben.ample Accelerator Functional Unit (AFU) mit dem Intel
Accelerator Functional Unit (AFU) Simulation Environment (ASE)-Umgebung. Ausführliche Informationen zu den ASE-Funktionen und der internen Architektur finden Sie im Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE)-Benutzerhandbuch.
Die Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) ist eine Hardware- und Software-Co-Simulationsumgebung für jede Intel FPGA Programmable® Acceleration Card (Intel FPGA PAC). Diese Software-Co-Simulationsumgebung unterstützt derzeit die folgenden Intel FPGA PACs: 10 GX FPGA

  • Programmierbare Intel FPGA-Beschleunigungskarte D5005
  • Programmierbare Intel-Beschleunigungskarte mit Intel Arria®
    Die ASE bietet ein Transaktionsmodell für das Core Cache Interface (CCI-P)-Protokoll und ein Speichermodell für den an das FPGA angeschlossenen lokalen Speicher.
    Die ASE überprüft außerdem die Konformität der Accelerator Functional Unit (AFU) mit den folgenden Protokollen und APIs:
  • Die CCI-P-Protokollspezifikation
  • Der Avalon
    Spezifikation der Memory Mapped-Schnittstelle (Avalon-MM)
  • Die Open Programmable Acceleration Engine (OPAE)®

Tabelle 1. Acceleration Stack für Intel Xeon® CPU mit FPGAs Glossar

Begriff Abkürzung Beschreibung
Intel Acceleration Stack für Intel Xeon® CPU mit FPGAs Beschleunigungsstapel Eine Sammlung aus Software, Firmware und Tools, die eine leistungsoptimierte Verbindung zwischen einem Intel FPGA und einem Intel Xeon-Prozessor bereitstellt.
Intel FPGA Programmierbare Beschleunigungskarte (Intel FPGA PAC) Intel FPGA-PAC PCIe* FPGA-Beschleunigerkarte.
Enthält einen FPGA Interface Manager (FIM), der über einen PCIe-Bus mit einem Intel Xeon-Prozessor gekoppelt wird.
Skalierbare Intel Xeon-Plattform mit integriertem FPGA Integrierte FPGA-Plattform Intel Xeon plus FPGA-Plattform mit dem Intel Xeon und einem FPGA in einem einzigen Paket und gemeinsamer Nutzung eines zusammenhängenden Speichercaches über Ultra Path Interconnect (UPI).

Zugehörige Informationen
Benutzerhandbuch für die Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE)

Intel Corporation. Alle Rechte vorbehalten. Intel, das Intel-Logo und andere Intel-Marken sind Marken der Intel Corporation oder ihrer Tochtergesellschaften. Intel garantiert die Leistung seiner FPGA- und Halbleiterprodukte gemäß den aktuellen Spezifikationen gemäß der Standardgarantie von Intel, behält sich jedoch das Recht vor, jederzeit und ohne Vorankündigung Änderungen an Produkten und Dienstleistungen vorzunehmen. Intel übernimmt keine Verantwortung oder Haftung, die sich aus der Anwendung oder Verwendung der hierin beschriebenen Informationen, Produkte oder Dienstleistungen ergibt, es sei denn, Intel hat dem ausdrücklich schriftlich zugestimmt. Intel-Kunden wird empfohlen, die neueste Version der Gerätespezifikationen zu beziehen, bevor sie sich auf veröffentlichte Informationen verlassen und bevor sie Bestellungen für Produkte oder Dienstleistungen aufgeben.
*Andere Namen und Marken können Eigentum Dritter sein.
ISO 9001: 2015 registriert

Systemanforderungen

Hier sind die Systemanforderungen für die Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE)::

  • Ein 64-Bit-Linux-Betriebssystem. Diese Version validierte die folgenden Betriebssysteme:
    — Für Intel FPGA PAC D5005:
  • RHEL 7.6 mit Kernel 3.10.0-957
    — Für Intel PAC mit Intel Arria 10 GX FPGA:
  • RHEL 7.6 mit Kernel 3.10.0-957
  • Ubuntu 18.04 mit Kernel 4.15
  • Einer der folgenden Simulatoren:
    — 64-Bit Synopsys* VCS-MX-2016.06-SP2-1 RTL-Simulator
    — 64-Bit Mentor Graphics* Modelsim SE Simulator (Version 10.5c)
    — 64-Bit Mentor Graphics QuestaSim Simulator (Version 10.5c)
  • C-Compiler: GCC 4.7.0 oder höher
  • CMake: Version 2.8.12 oder höher
  • GNU C-Bibliothek: Version 2.17 oder höher
  • Python: Version 2.7
  • Intel Quartus® Prime Pro Edition Softwareversion 19.2 (1)

Einrichten der Umgebung

Sie müssen Ihre Simulationsumgebung einrichten und die OPAE-Software installieren, bevor Sie die ASE ausführen.

  1. Legen Sie die folgenden Umgebungsvariablen für Ihre Simulationssoftware fest:
    • Für VCS:
    $ export VCS_HOME=
    $ export PATH=$VCS_HOME/bin:$PATH
    Die Verzeichnisstruktur der VCS-Installation ist wie folgt:
    Software für die Simulationsumgebung der Funktionseinheit Intel Accelerator – Abbildung 1Stellen Sie sicher, dass Ihr System über eine gültige VCS-Lizenz verfügt.
    • Für Modelsim SE/QuestaSim:
    $ export MTI_HOME=
    $ export PATH=$MTI_HOME/linux_x86_64/:$MTI_HOME/bin/:$PATH
    Die Verzeichnisstruktur der Modelsim/Questa-Installation ist wie folgt:
    Software für die Simulationsumgebung der Funktionseinheit Intel Accelerator – Abbildung 2Stellen Sie sicher, dass Ihr System über eine gültige Modelsim SE/QuestaSim-Lizenz verfügt.
    • Für Intel Quartus Prime Pro Edition:
    $ export QUARTUS_HOME=
    Die Verzeichnisstruktur der Intel Quartus Prime-Installation ist wie folgt:
    Software für die Simulationsumgebung der Funktionseinheit Intel Accelerator – Abbildung 3Fügen Sie die Umgebungsvariable hinzu, um die Modelsim-Lizenz zu überprüfen:
    $ export MGLS_LICENSE_FILE=
  2. Export:
    $ export LM_LICENSE_FILE=
  3.  Extrahieren Sie das Laufzeitarchiv fileund installieren Sie OPAE-Bibliotheken, Binärdateien, Include files und ASE-Bibliotheken, wie im Abschnitt „Installieren des OPAE-Softwarepakets“ im entsprechenden Intel Acceleration Stack-Schnellstart-Benutzerhandbuch für Ihren Intel FPGA PAC beschrieben.

Ihre Umgebung muss korrekt eingerichtet sein, um eine AFU zu konfigurieren und zu erstellen. Insbesondere müssen Sie das OPAE Software Development Kit (SDK) ordnungsgemäß installieren. OPAE SDK-Skripte müssen sich auf PATH befinden und Folgendes enthalten: files und Bibliotheken, die dem C-Compiler zur Verfügung stehen müssen. Darüber hinaus müssen Sie sicherstellen, dass die Umgebungsvariable OPAE_PLATFORM_ROOT festgelegt ist. Weitere Informationen finden Sie unter Installieren des OPAE-Softwarepakets.
Um sicherzustellen, dass das OPAE SDK und ASE ordnungsgemäß installiert sind, bestätigen Sie in einer Shell, dass Ihr PATH afu_sim_setup enthält. afu_sim_setup sollte sich im Verzeichnis /usr/bin oder in befinden. wenn Sie OPAE aus dem Quellcode erstellt haben files.

Zugehörige Informationen

  • Benutzerhandbuch für die Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE)
  • Installieren des OPAE-Softwarepakets
    Für Intel PAC mit Intel Arria 10 GX FPGA.
  • Installieren des OPAE-Softwarepakets für Intel FPGA PAC D5005.

Simulation von hello_afu im Client-Server-Modus

Die hello_afu Example ist eine einfache AFU-Vorlage, die die primäre CCI-P-Schnittstelle demonstriert. Das RTL erfüllt die Mindestanforderungen einer AFU und reagiert auf speicherabgebildete I/O-Lesevorgänge, um den Gerätefunktionsheader und die UUID der AFU zurückzugeben.
Abbildung 1. hello_afu-Verzeichnisbaum

Software für die Simulationsumgebung der Funktionseinheit Intel Accelerator – Abbildung 4

Notiz:
Dieses Dokument verwendetample> sich auf einen Ex beziehenample-Designverzeichnis, wie z. B. hello_afu in der Abbildung oben.
Die Software demonstriert die Mindestanforderungen für die Verbindung mit einem FPGA mithilfe des OPAE. Das RTL demonstriert die Mindestanforderungen für die Erfüllung des OPAE-Treibers und des hello_afu-Example Software.
filelist.txt gibt die files für RTL-Simulation und -Synthese.
Um die AFU erfolgreich zu konfigurieren und aufzubauenamples muss Ihre Umgebung korrekt eingerichtet sein, wie unter „Einrichten der Umgebung“ beschrieben.

Zugehörige Informationen

  • Benutzerhandbuch für die Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE)
  • Einrichten der Umgebung auf Seite 5

Entwickeln von AFUs mit dem OPAE SDK
Im Accelerator Functional Unit (AFU) Entwicklerhandbuch

4.1. Simulation im Client-Server-Modus

Das folgende Beispielample flow führt in die grundlegenden ASE-Skripte ein. Sie können alle ExampDateien mit der ASE, außer eth_e2e_e10 und eth_e2e_e40.
Die Simulation erfordert zwei Softwareprozesse: einen Prozess für die RTL-Simulation und einen zweiten Prozess zum Ausführen der verbundenen Software. Um eine RTL-Simulationsumgebung zu erstellen, führen Sie Folgendes in $OPAE_PLATFORM_ROOT/hw/s ausamples/hello_afu:
$ afu_sim_setup –Quelle hw/rtl/filelist.txt build_sim
Dieser Befehl erstellt eine ASE-Umgebung im Unterverzeichnis build_sim.
So erstellen und führen Sie den Simulator aus:
$ cd build_sim
$ machen
$ sim machen
Der Simulator gibt eine Meldung aus, dass er zur Simulation bereit ist. Außerdem wird eine Meldung ausgegeben, in der Sie aufgefordert werden, die Umgebungsvariable ASE_WORKDIR festzulegen.
Öffnen Sie eine weitere Shell zur Softwaresimulation. Sie müssen sicherstellen, dass die Umgebungsvariable OPAE_PLATFORM_ROOT festgelegt ist.
So erstellen und führen Sie die Software in der neuen Shell aus:
$ cd $OPAE_PLATFORM_ROOT
$ export ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/hello_afu/build_sim/Arbeit
$ cd $OPAE_PLATFORM_ROOT/hw/samples/hello_afu/sw
$ sauber machen
$ mache USE_ASE=1
$ ./hallo_afu

Notiz:
Der spezifische Pfadname für ASE_WORKDIR kann variieren. Verwenden Sie den von der Simulator-Eingabeaufforderung bereitgestellten Pfadnamen.
Die Software und der Simulator werden ausgeführt, protokollieren Transaktionen und werden beendet.

4.1.1. Simulationsprotokoll Files
Im Simulationsarbeitsverzeichnis werden die Wellenform, CCI-P-Transaktionen und das Simulationsprotokoll gespeichert. files.
Führen Sie die folgenden Schritte aus, um view die Wellenform-Datenbank:

  1. Wechseln Sie in das Verzeichnis, in dem Sie den Befehl „make sim“ ausgeführt haben.
  2. Typ:
    $ Welle machen
    Der Befehl make wave ruft die Wellenform auf viewäh.

4.1.2. Design-Erklärungen
Die folgende file und Verzeichnisse definieren die AFU-Simulation:

  • $OPAE_PLATFORM_ROOT/hw/samples/ample>/hw/rtl/filelist.txt gibt RTL-Quellen an.
  • <AFU example> ist das Example-Verzeichnis, wie in der Abbildung des Verzeichnisbaums von hello_afu gezeigt.
  • filelist.txt listet SystemVerilog, VHDL und die AFU JavaScript Object Notation (.json) auf file.
  • Die AFU .json-Datei beschreibt die Schnittstellen, die die AFU benötigt. Sie enthält außerdem eine UUID zur Identifizierung der AFU, sobald sie auf ein FPGA heruntergeladen wurde.
  • hw/rtl/hello_afu.json definiert ccip_std_afu als Schnittstelle der obersten Ebene, indem afu-top-interface auf ccip_std_afu gesetzt wird. ccip_std_afu ist die grundlegende CCI-P-Schnittstelle, einschließlich Taktgeber, Reset und CCI-P TX- und RX-Strukturen. Fortgeschrittenere BeispieleampDateien definieren andere Schnittstellenoptionen.
  • Die .json file deklariert die AFU-UUID. Ein OPAE-Skript generiert die UUID. Das RTL lädt die UUID aus afu_json_info.vh.
  • sw/Makefile generiert afu_json_info.h. Die Software lädt die UUID aus afu_json_info.h.

4.1.3. Fehlerbehebung bei der Client-Server-Simulation
Wenn der Befehl afu_sim_setup fehlschlägt, bestätigen Sie Folgendes:

  • afu_sim_setup befindet sich auf Ihrem PATH. afu_sim_setup sollte in /usr/bin oder in wenn Sie OPAE aus dem Quellcode erstellt haben files.
  • Sie haben Python Version 2.7 oder höher installiert.

Wenn Sie den Simulator nicht erstellen und ausführen können, haben Sie Ihr RTL-Simulationstool wahrscheinlich nicht richtig installiert.
Wenn beim Erstellen und Ausführen der Software die Meldung „Fehler beim Aufzählen der AFCs“ angezeigt wird, haben Sie vergessen, in der Make-Befehlszeile USE_ASE=1 festzulegen. Die Software sucht nach einem physischen FPGA-Gerät. Um das Problem wiederherzustellen, wiederholen Sie die Schritte des Befehls „make clean“.

AFU Examples

Tabelle 2.
AFU Examples
Jede AFU exampDie Datei enthält eine ausführliche README-Datei file, mit einer Betriebsbeschreibung und Hinweisen zur Simulation des Entwurfs. Um den Simulationsprozess vollständig zu verstehen,view die README file in jeder AFU example.

AFU Beschreibung
hallo_mem_afu hello_mem_afu demonstriert eine AFU, die eine einfache Zustandsmaschine zum Zugriff auf den Speicher erstellt. Die Zustandsmaschine kann mehrere Zugriffsmuster auf lokalen Speicher ausführen, der direkt an FPGA-Pins angeschlossen ist, wie z. B. DDR4-DIMMs. Dieser Speicher unterscheidet sich vom Hostspeicher, auf den über CCI-P zugegriffen wird. Der Host verwaltet die Zustandsmaschine des hello_mem_afu-Controllers mithilfe von Memory-Mapped-I/O-Anfragen (MMIO) an Steuer- und Statusregister (CSRs).
hallo_intr_afu hello_intr_afu demonstriert die Anwendungsunterbrechungsfunktion in der ASE.
DMA an f1.1 (2) _ dma_afu demonstriert einen DMA-Grundbaustein für Speicherübertragungen vom Host zum FPGA, vom FPGA zum Host und vom FPGA zum FPGA. Bei der Simulation dieser AFU ist die für die DMA-Übertragung verwendete Puffergröße klein, um die Simulationszeit angemessen zu halten. Weitere Informationen finden Sie im Benutzerhandbuch zur DMA Accelerator Functional Unit (AFU).
nlb_mode_O nlb_mode_O ist ein CCI-P-System, das den Speicherkopiertest demonstriert. $0PAE_PLATFORM_ROOT/ sw/opae—cre/ease number>/sample/hello_fpga.c enthält nlb_mode_0.
$ sh regress.sh -a -r rtl_sim
-s < vcslmodelsimlquesta > [-i )
-B
streaming_dma streaming_dma demonstriert, wie Daten zwischen dem Hostspeicher und einem FPGA-Streaming-Port übertragen werden. Weitere Informationen finden Sie im Benutzerhandbuch zur Streaming DMA Accelerator Functional Unit (AFU).
hallo_afu hel lo_a fu ist eine einfache AFU, die die primäre CCI-P-Schnittstelle demonstriert. Das RTL erfüllt die Mindestanforderungen einer AFU und reagiert auf MMIO-Lesevorgänge, um den Gerätefunktionsheader und die UUID der AFU zurückzugeben.

Zugehörige Informationen

  • Benutzerhandbuch zur DMA Accelerator Functional Unit (AFU)
    Informationen zum Kompilieren und Ausführen von dma_afu auf Ihrem Intel PAC mit Intel Arria 10 GX FPGA.
  • Benutzerhandbuch zur Streaming DMA Accelerator Functional Unit (AFU)
    Informationen zum Kompilieren und Ausführen von streaming_dma_afu auf Ihrem Intel PAC mit Intel Arria 10 GX FPGA.
  • Benutzerhandbuch zur DMA-Beschleuniger-Funktionseinheit: Intel FPGA-programmierbare Beschleunigungskarte D5005
    Informationen zum Kompilieren und Ausführen von dma_afu auf Ihrem Intel FPGA PAC D5005.
  • Benutzerhandbuch zur Funktionseinheit des Streaming-DMA-Beschleunigers: Intel FPGA-programmierbare Beschleunigungskarte D5005
    Informationen zum Kompilieren und Ausführen von dma_afu auf Ihrem Intel FPGA PAC D5005.

Fehlerbehebung

Wenn während der Simulation der folgende Fehler auftritt, beheben Sie ihn mit den folgenden Schritten.
Fehlermeldung
# [SIM] Im aktuellen Verzeichnis läuft vermutlich noch eine ASE-Instanz!
# [SIM] Prüfen auf PID 28816
# [SIM] Die Simulation wird beendet … Sie können den Simulationsprozess mit SIGKILL beenden.
# [SIM] Überprüfen Sie auch, ob .ase_ready.pid file wird entfernt, bevor fortgefahren wird. Lösung

  1. Geben Sie kill ase_simv ein, um Zombie-Simulationsprozesse zu beenden und alle temporären files, die durch fehlgeschlagene Simulationsprozesse oder Blockaden entstehen.
  2. Löschen Sie die Datei .ase_ready.pid file, gefunden im Verzeichnis $ASE_WORKDIR.

ASE-Kurzanleitung – Archiv

Intel Acceleration Stack-Version Benutzerhandbuch
2.0 Kurzanleitung für das Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE)
1. Kurzanleitung für das Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE)
1. Kurzanleitung für das Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE)
1.0 Kurzanleitung für das Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE)

Dokumentrevisionsverlauf für das ASE-Kurzstart-Benutzerhandbuch

Dokumentversion Intel Acceleration Stack-Version Änderungen
2020.03.06 1.2.1 und 2.0.1 Folgendes wurde aktualisiert:
• Systemanforderungen
2019.08.05 2.0 • Die Version der Intel Quartus Prime Pro Edition wurde in den Systemanforderungen aktualisiert.
• Das Hello_afu wurde in AFU Ex hinzugefügtamples.
• Informationen zur Simulation im Regressionsmodus entfernt.
• Neuer Abschnitt hinzugefügt: ASE-Kurzstart-Benutzerhandbuch-Archive.
2018.12.04 1. Ubuntu-Unterstützung hinzugefügt.
2018.08.06 1. Die Systemanforderungen, die Verzeichnisstruktur und die entsprechenden fileNamen.
2018.04.10 1.0 Erstveröffentlichung.

683200 | 2020.03.06
TCL HH42CV1 Link-Hub – Symbol 8Feedback senden

Dokumente / Ressourcen

Software für die Simulationsumgebung der Funktionseinheit Intel Accelerator [pdf] Benutzerhandbuch
Beschleuniger-Funktionseinheit, Simulationsumgebungssoftware, Beschleuniger-Funktionseinheit-Simulationsumgebung, Software, Beschleuniger-Funktionseinheit-Simulationsumgebungssoftware

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *