Vivado- und HLS-Funktionstests in einer Linux-Umgebung

1. Einleitung

Für die abgeschlossene Installation und den Betrieb von Vivado unter Linux stellt dieser Artikel hauptsächlich den Betriebsprozess von Vivado und HLS unter dem Linux-Betriebssystem anhand eines Falls vor, in dem das LED-Licht flackert, und führt einen einfachen Test der installierten Softwarefunktionen durch.
HLS synthetisiert die Kompilierung von C-Code in Verilog- oder VHDL-Code. Dieser Artikel analysiert kurz den von HLS generierten Code und behebt auch den Fehler „Fehler beim Generieren von IP“, der während des Kompilierungsprozesses auftreten kann.

2. Vivado_HLS generiert IP-Core

  1. Führen Sie Vivado_HLS aus:
    Der laufende Prozess von Vivado_HLS wurde in die Installation und den Betrieb von Vivado unter Linux eingeführt. Führen Sie das folgende Befehls-Shell-Skript aus, um HLS zu öffnen:
	source /opt/Xilinx/Vivado/2017.4/settings64.sh  ##Vivado在Linux下的安装路径
	vivado_hls

Bitte fügen Sie eine Bildbeschreibung hinzu

Öffnen Sie die Schnittstelle wie in der folgenden Abbildung gezeigt:

Bitte fügen Sie eine Bildbeschreibung hinzu

  1. Erstellen Sie ein neues Projekt Erstellen Sie ein neues Projekt und erstellen Sie das Projekt im Arbeitsplatzordner unter Dokumente für eine einfache Suche:

Bitte fügen Sie eine Bildbeschreibung hinzu

  1. Das Top-Level-Modul heißt Top Function:

Bitte fügen Sie eine Bildbeschreibung hinzu

  1. Wählen Sie die Teileauswahl des FPGA-Modells aus und bleiben Sie mit dem ausgewählten Modell konsistent:

Bitte fügen Sie eine Bildbeschreibung hinzu

  1. Erstellen Sie eine neue .cpp-Datei, der Codeinhalt ist sehr einfach, das heißt, das LED-Licht blinkt einmal alle 50 Millionen Taktzyklen, und der IP-Kern wird kompiliert und generiert:

Bitte fügen Sie eine Bildbeschreibung hinzu

Der IP-Core ist in der Abbildung dargestellt:

Bildbeschreibung hier einfügen

3. Vivado-Projekt ruft IP-Core auf

  1. Vivado ausführen:
    Der laufende Prozess von Vivado wurde in die Installation und den Betrieb von Vivado unter Linux eingeführt. Führen Sie das folgende Befehls-Shell-Skript aus, um Vivado zu öffnen:
	source /opt/Xilinx/Vivado/2017.4/settings64.sh  ##Vivado在Linux下的安装路径
	vivado
  1. Fügen Sie nach dem Erstellen eines neuen Projekts den Pfad hinzu, in dem sich das HLS-Projekt im IP-Katalog befindet, und Sie können sehen, dass der von HLS generierte IP-Core erfolgreich importiert wurde:

Bitte fügen Sie eine Bildbeschreibung hinzu

  1. Erstellen Sie ein neues bd-Projekt (Block Design), importieren Sie den IP-Core, ap_rst ist immer niedrig und die Schnittstellen ap_clk und led_V sind extern verbunden:

Bitte fügen Sie eine Bildbeschreibung hinzu

  1. ap_clk und led_V sind jeweils an den Quarzoszillator-Taktausgang und die LED-Schnittstelle gebunden:

Bitte fügen Sie eine Bildbeschreibung hinzu

  1. Nach erfolgreicher Synthese wird eine Bitstream-Datei generiert:

Bitte fügen Sie eine Bildbeschreibung hinzu

  1. Da der Takt 50 MHz beträgt, können Sie sehen, dass die LED nach dem Programmieren des Geräts einmal pro Sekunde blinkt:

Bildbeschreibung hier einfügen

Bitte fügen Sie eine Bildbeschreibung hinzu

4. HLS generiert eine Verilog-Codeanalyse

Öffnen Sie den von HLS generierten IP-Kern und Sie können den kompilierten Verilog-Code wie unten gezeigt sehen:

Bitte fügen Sie eine Bildbeschreibung hinzu
Die Benennung ist kompliziert und verwirrend, lässt sich aber anhand des Funktionsprinzips von LED-Leuchten einfach aus den Ein- und Ausgangsschnittstellen analysieren:

Der Zähler i_reg_39 ist im Grunde gleichbedeutend mit i_1_fu_56_p2, indem er einander Werte zuweist, um die vom Eingangstakt abhängige Zählerfunktion zu vervollständigen, und den Flip der Ausgangsschnittstelle led_V durch Vergleich mit 25M abzuschließen und die Funktion des Blinkens alle 50M zu realisieren Taktzyklen;

5. Probleme und Lösungen während des HLS-Betriebs

Problem auftritt:

Während des Kompilierens des umfassenden Projekts und des Generierens des IP-Kerns in HLS kann der Fehler „Fehler beim Generieren von IP“ auftreten, wie in der folgenden Abbildung dargestellt:

Bildbeschreibung hier einfügen

Lösung:

Dieses Problem wird normalerweise durch eine frühere HLS-Version verursacht. Dieses Projekt verwendet beispielsweise die Version 2017.4 von HLS, sodass die Systemzeit auf vor 2018 geändert werden muss, um den IP-Core erfolgreich zu generieren:

Bildbeschreibung hier einfügen

Supongo que te gusta

Origin blog.csdn.net/weixin_43361652/article/details/128169909
Recomendado
Clasificación