Zynq Vivado project: Unterschied zwischen den Versionen

Aus Nicki Wiki
Zur Navigation springen Zur Suche springen
 
(34 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Part 1: [https://wiki.xnick.de/index.php/Zynq_Vivado_project Zynq Vivado project] <br>
Part 2: [https://wiki.xnick.de/index.php/Zynq_SDK Zynq SDK] <br>
Part 3: [https://wiki.xnick.de/index.php/Zynq_Petalinux Zynq Petalinux] <br>
Verwendetes Board Trenz TE0720.<br>
Verwendetes Board Trenz TE0720.<br>


Zeile 8: Zeile 5:
  sudo mkdir /opt
  sudo mkdir /opt
  sudo chown <owner>:<owner> /opt
  sudo chown <owner>:<owner> /opt
Für das Exportieren von *.xsa Dateien (für Petalinux) ist die mindest Version 2019.2 von Vivado erforderlich.<br>
Für das Exportieren von *.xsa Dateien (für Petalinux) ist die mindest Version 2020.2 von Vivado erforderlich.<br>
[https://www.xilinx.com/support/download.html Download Vivado]
[https://www.xilinx.com/support/download.html Download Vivado]


  sudo chmod +x Xilinx_Unified_2019.2_1106_2127_Lin64.bin
  sudo chmod +x Xilinx_Unified_2020.2_1118_1232_Lin64.bin
  ./Xilinx_Unified_2019.2_1106_2127_Lin64.bin
  ./Xilinx_Unified_2020.2_1118_1232_Lin64.bin


Installationverzeichnis /tools/Xilinx auswählen.
Installationverzeichnis /tools/Xilinx auswählen.
=== USB Treiber ===
Installation USB Treiber
cd /opt/Xilinx/Vivado/2020.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
sudo ./install_drivers


== Tools ==
== Tools ==
Zeile 31: Zeile 33:


=== Download board_files ===
=== Download board_files ===
Die board_files sind im Reference Designs enthalten. (Beispiel für [https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Modules_and_Module_Carriers/4x5/TE0720 TE0720 2019.2])
Die board_files sind im Reference Designs enthalten. (Beispiel für [https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Modules_and_Module_Carriers/4x5/TE0720/Reference_Design/2020.2/test_board TE0720 2020.2])
  TE0720 &rArr; Reference_Design &rArr; 2019.2 &rArr; test_board &rArr; TE0720-test_board-vivado_2019.2-build_8_20200325075301.zip
  TE0720 &rArr; Reference_Design &rArr; 2020.2 &rArr; test_board &rArr; TE0720-test_board-vivado_2020.2-build_6_20210719131744.zip


  cd zynq_project/board_files
  cd zynq_project/board_files
  curl -O https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Modules_and_Module_Carriers/4x5/TE0720/Reference_Design/2019.2/test_board/TE0720-test_board-vivado_2019.2-build_8_20200325075301.zip
  curl -O https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Modules_and_Module_Carriers/4x5/TE0720/Reference_Design/2020.2/test_board/TE0720-test_board-vivado_2020.2-build_6_20210719131744.zip
  unzip TE0720-test_board-vivado_2019.2-build_8_20200325075301.zip -d te0720_board_files
  unzip TE0720-test_board-vivado_2020.2-build_6_20210719131744.zip


=== board_files nach Vivado speichern ===
=== board_files nach Vivado speichern ===
Im Zip-File unter board_files den gewünschten Board-Ordner nach <code>/<pfad>/Vivado/<version>/data/boards/boards_files</code> kopieren.
Im Zip-File unter board_files den gewünschten Board-Ordner nach <code>/<pfad>/Vivado/<version>/data/boards/boards_files</code> kopieren.


  cp -R te0720_board_files/board_files/* /opt/Xilinx/Vivado/2019.1/data/boards/board_files/
  cp -R te0720_board_files/test_board/board_files/* /opt/Xilinx/Vivado/2020.2/data/boards/board_files/


== Vivado Project erstellen ==
== Vivado Project erstellen ==
* Projekt erstellen (Pfad: /home/BENUTZER/zynq_project/vivado_project)
* Projekt erstellen (Pfad: /home/BENUTZER/zynq_project/vivado_project)
* Board TE0720_1CFA
* Board <code>TE0720_1CFA</code>
:: Hinweis: Wurde das Board Repository aktualisiert, werden nicht die vorher heruntergeladenen board_files genutzt. (Lösung: löschen der xhub board_files)
:: Hinweis: Wurde das Board Repository aktualisiert, werden nicht die vorher heruntergeladenen board_files genutzt. (Lösung: löschen der xhub board_files)
* Create Block Design &rArr; + &rArr; processing system  
* Create Block Design &rArr; + &rArr; processing system  
** '''Wichtig!''' Jetzt ''Run Block Automation'' ausführen, NUR dann wird das preset von den board_files übernommen!
** '''Wichtig!''' Jetzt ''Run Block Automation'' ausführen, NUR dann wird das preset von den board_files übernommen!
** Danach können weitere IPs wie gpio, axi usw. eingefügt werden &rArr; ''Run Block Automation''
** Danach können weitere IPs wie gpio, axi usw. eingefügt werden &rArr; ''Run Block Automation'' or Validate Design (F6)
* Design Sources &rArr; rechtsklick &rArr; Create HDL Wrapper
* TAB Sources &rArr; Design Sources &rArr; design_NAME &rArr; rechtsklick &rArr; Create HDL Wrapper
* rechtsklick &rArr; DESIGN_NAME_i &rArr; Generate Output Products
* Mehrere Block Designs (BD): Gewünschte BD im Tab "Sources" &rArr; "Design Sources" &rArr; Rechtsklick &rArr; "Set as Top"
* rechtsklick &rArr; design_NAME_i &rArr; Generate Output Products
* Pinzuordnung &rArr; Open Elaborated Design
* Pinzuordnung &rArr; Open Elaborated Design
* Generate Bitstream
* Generate Bitstream
Zeile 57: Zeile 60:


== Petalinux export ==
== Petalinux export ==
* File &rArr; Export &rArr; Export Hardware... &rArr; Petalinux root folder (/tools/petalinux/2019.2/)
* File &rArr; Export &rArr; Export Hardware... &rArr; Petalinux root folder (/opt/petalinux/2020.2/)


== SDK export ==
== SDK export ==
* File &rArr; Export &rArr; Export Hardware... (include Bitstream)
* File &rArr; Export &rArr; Export Hardware... (include Bitstream)
* File &rArr; Launch SDK &rArr; OK
* File &rArr; Launch SDK &rArr; OK
== FSBL ==
Wurde das SDK nicht aus Vivado mit dem SDK-Arbeitsbereich heraus gestartet. Muss der Pfad des SDK-Arbeitsbereich angegeben werden.<br>
FSBL (First Stage Boot Loader) erstellen:
File &rArr; New &rArr; Application Project
Project name: fsbl &rArr; Next
Available Templates: Zynq FSBL &rArr; Finish


==Probleme==
==Probleme==
Zeile 84: Zeile 80:
|Vivado findet das Board über USB (FTDI) nicht
|Vivado findet das Board über USB (FTDI) nicht
|
|
  cd /opt/Xilinx/Vivado/2019.1/data/xicom/cable_drivers/lin64/install_script/install_drivers
  cd /opt/Xilinx/Vivado/2020.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
  sudo ./install_drivers
  sudo ./install_drivers
|-
|Installer hängt bei <code>generating installed device list</code>
|
sudo apt-get install libncurses5 libncurses5:i386
|-
|Das '''preset''' vom ausgwählten Board wird im "ZYNQ 7 Processing System" nicht angewendet.
|
sudo update-locale LANG=en_GB.utf8
sudo update-locale LC_NUMERIC="en_GB.utf8"
sudo update-locale LC_TIME="en_GB.utf8"
sudo update-locale LC_MONETARY="en_GB.utf8"
sudo update-locale LC_PAPER="en_GB.utf8"
sudo update-locale LC_NAME="en_GB.utf8"
sudo update-locale LC_ADDRESS="en_GB.utf8"
sudo update-locale LC_TELEPHONE="en_GB.utf8"
sudo update-locale LC_MEASUREMENT="en_GB.utf8"
sudo update-locale LC_IDENTIFICATION="en_GB.utf8"
|-
|
There is no active target available for server at localhost.
Targets(s) ",jsn-..." may be locked by another hw_server.
|
VirtualBox Manager &rArr; Ändern &rArr; USB &rArr; USB-3.0-Controller (xHCI)
|}
|}


== Quellen ==
== Quellen ==
[https://wiki.trenz-electronic.de/display/PD/TE+Board+Part+Files TE Board Part Files]
[https://wiki.trenz-electronic.de/display/PD/TE+Board+Part+Files TE Board Part Files]
<br><br>
Part 2: [https://wiki.xnick.de/index.php/Zynq_SDK Zynq SDK]<br>

Aktuelle Version vom 6. Oktober 2021, 05:39 Uhr

Verwendetes Board Trenz TE0720.

Installation

Vivado Installationsverzeichnis:

sudo mkdir /opt
sudo chown <owner>:<owner> /opt

Für das Exportieren von *.xsa Dateien (für Petalinux) ist die mindest Version 2020.2 von Vivado erforderlich.
Download Vivado

sudo chmod +x Xilinx_Unified_2020.2_1118_1232_Lin64.bin
./Xilinx_Unified_2020.2_1118_1232_Lin64.bin

Installationverzeichnis /tools/Xilinx auswählen.

USB Treiber

Installation USB Treiber

cd /opt/Xilinx/Vivado/2020.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
sudo ./install_drivers

Tools

Installation der nötigen Tools.

sudo apt install -y git pkg-config flex bison curl

Verzeichnisstruktur anlegen

Anlegen der Verzeichnis Struktur für ein Zynq Projekt:

mkdir zynq_project
mkdir zynq_project/vivado_project
mkdir zynq_project/repositories
mkdir zynq_project/board_files

Board Files

Wird ein Board von z.B. Trenz verwendet, können die board_files Vivado hinzugefügt werden.

Download board_files

Die board_files sind im Reference Designs enthalten. (Beispiel für TE0720 2020.2)

TE0720 ⇒ Reference_Design ⇒ 2020.2 ⇒ test_board ⇒ TE0720-test_board-vivado_2020.2-build_6_20210719131744.zip
cd zynq_project/board_files
curl -O https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Modules_and_Module_Carriers/4x5/TE0720/Reference_Design/2020.2/test_board/TE0720-test_board-vivado_2020.2-build_6_20210719131744.zip
unzip TE0720-test_board-vivado_2020.2-build_6_20210719131744.zip

board_files nach Vivado speichern

Im Zip-File unter board_files den gewünschten Board-Ordner nach /<pfad>/Vivado/<version>/data/boards/boards_files kopieren.

cp -R te0720_board_files/test_board/board_files/* /opt/Xilinx/Vivado/2020.2/data/boards/board_files/

Vivado Project erstellen

  • Projekt erstellen (Pfad: /home/BENUTZER/zynq_project/vivado_project)
  • Board TE0720_1CFA
Hinweis: Wurde das Board Repository aktualisiert, werden nicht die vorher heruntergeladenen board_files genutzt. (Lösung: löschen der xhub board_files)
  • Create Block Design ⇒ + ⇒ processing system
    • Wichtig! Jetzt Run Block Automation ausführen, NUR dann wird das preset von den board_files übernommen!
    • Danach können weitere IPs wie gpio, axi usw. eingefügt werden ⇒ Run Block Automation or Validate Design (F6)
  • TAB Sources ⇒ Design Sources ⇒ design_NAME ⇒ rechtsklick ⇒ Create HDL Wrapper
  • Mehrere Block Designs (BD): Gewünschte BD im Tab "Sources" ⇒ "Design Sources" ⇒ Rechtsklick ⇒ "Set as Top"
  • rechtsklick ⇒ design_NAME_i ⇒ Generate Output Products
  • Pinzuordnung ⇒ Open Elaborated Design
  • Generate Bitstream

Jetzt kann die Hardware für das SDK oder Petalinux exportiert werden.

Petalinux export

  • File ⇒ Export ⇒ Export Hardware... ⇒ Petalinux root folder (/opt/petalinux/2020.2/)

SDK export

  • File ⇒ Export ⇒ Export Hardware... (include Bitstream)
  • File ⇒ Launch SDK ⇒ OK

Probleme

Fehler Lösung
application-specific initialization failed: couldn't load file "librdi_commontasks.so": libtinfo.so.5: cannot open shared object file: No such file or directory
sudo apt update
sudo apt install libtinfo-dev -y
sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5
Vivado findet das Board über USB (FTDI) nicht
cd /opt/Xilinx/Vivado/2020.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
sudo ./install_drivers
Installer hängt bei generating installed device list
sudo apt-get install libncurses5 libncurses5:i386
Das preset vom ausgwählten Board wird im "ZYNQ 7 Processing System" nicht angewendet.
sudo update-locale LANG=en_GB.utf8
sudo update-locale LC_NUMERIC="en_GB.utf8"
sudo update-locale LC_TIME="en_GB.utf8"
sudo update-locale LC_MONETARY="en_GB.utf8"
sudo update-locale LC_PAPER="en_GB.utf8"
sudo update-locale LC_NAME="en_GB.utf8"
sudo update-locale LC_ADDRESS="en_GB.utf8"
sudo update-locale LC_TELEPHONE="en_GB.utf8"
sudo update-locale LC_MEASUREMENT="en_GB.utf8"
sudo update-locale LC_IDENTIFICATION="en_GB.utf8"
There is no active target available for server at localhost.
Targets(s) ",jsn-..." may be locked by another hw_server.
VirtualBox Manager ⇒ Ändern ⇒ USB ⇒ USB-3.0-Controller (xHCI)

Quellen

TE Board Part Files