https://wiki.archlinux.org/api.php?action=feedcontributions&user=Hardolaf&feedformat=atomArchWiki - User contributions [en]2024-03-28T18:40:37ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Xilinx_Vivado&diff=482744Xilinx Vivado2017-07-23T17:16:41Z<p>Hardolaf: /* Vivado HLS testbench error with GCC */ Formatting</p>
<hr />
<div>[[Category:Development]]<br />
[[Category:Mathematics and science]]<br />
[[ja:Xilinx Vivado]]<br />
{{Style|Write a PKGBUILD}}<br />
ArchLinux is not officially supported by Vivado, but as happens with [[Xilinx ISE WebPACK]], most of its features can be used with a bit of hacking.<br />
<br />
== Prerequisites ==<br />
<br />
Xilinx Vivado can be downloaded from its official website [http://www.xilinx.com/products/design-tools/vivado.html]. Vivado only supports 64-bit systems, so you will need a working 64-bit ArchLinux install. It's recommended to download "Vivado HLx 2015.4: Full Installer For Linux Single File Download Image Including SDK" tarball, but make sure not to be in a hurry, as it's a large download (near 9 GB). Update tarballs can also be downloaded and installed later.<br />
<br />
=== Dependencies ===<br />
<br />
Installer needs ncurses5 libs, and will not work with ncurses 6 available at official repos. You can work-around this problem by installing {{AUR|ncurses5-compat-libs}} from the [[Arch User Repository]]. You will also need to install {{Pkg|lib32-libpng12}} for Xilinx Document Navigator to launch.<br />
<br />
== Installation ==<br />
<br />
You must install the main package, and it is also recommended to install the latest update patch.<br />
<br />
=== Vivado and SDK ===<br />
<br />
Once downloaded and unpacked the tarball, the install script must be patched to be able to properly detect the machine architecture. You can do it by going to the directory where installer is extracted and running:<br />
<br />
$ sed -i.original 's/uname -i/uname -m/' xsetup<br />
<br />
Install script will be patched and original will be backed up as {{ic|xsetup.original}}, just in case you need to restore it later. Once patched, just run the script; it should work perfect and install the suite without a problem:<br />
<br />
# ./xsetup<br />
<br />
It is recommended to install the suite at the default location {{ic|/opt/Xilinx}}, as further instructions in this page will assume the suite is installed there.<br />
<br />
=== Update patch ===<br />
<br />
It is recommended to install the latest update patch, and repeat the process each time a new patch is released. Note that update patches cannot be applied to WebPACK installs. If you installed Vivado WebPACK, skip this section.<br />
<br />
To install the update, repeat the same hack used to install the suite. Once downloaded and unpacked, go to the directory containing the extracted tarball, patch the install script and run it:<br />
<br />
$ sed -i.original 's/uname -i/uname -m/' xsetup<br />
# ./xsetup<br />
<br />
=== Licensing ===<br />
<br />
If you already have a license file, you can load it using Vivado License Manager. Unfortunately, if you want to obtain a WebPack license, further steps are needed. Vivado installs old stdc++ libraries, causing problems when spawning programs not included with Vivado Suite (like your default browser). To fix this, do the following steps:<br />
<br />
# cd /opt/Xilinx/Vivado/2015.4/lib/lnx64.o/<br />
# mv libstdc++.so.6 libstdc++.so.6.orig<br />
# ln -s /usr/lib/libstdc++.so.6<br />
<br />
Close any running Vivado Suite program, and launch license manager:<br />
<br />
$ /opt/Xilinx/Vivado/2015.4/bin/vlm<br />
<br />
If you try obtaining a WebPack license, your default browser should open, and the license should be generated normally. If Vivado License Manager fails to automatically load the generated license, download the .lic file, and manually load it.<br />
<br />
=== Digilent USB-JTAG Drivers ===<br />
To use Digilent Adept USB-JTAG adapters (e.g. the onboard JTAG adapter on the [http://www.zedboard.org ZedBoard]) from Vivado, you need to install the Digilent [http://store.digilentinc.com/digilent-adept-2-download-only/ Adept Runtime].<br />
<br />
Make sure you have installed {{AUR|fxload}} from the [[Arch User Repository]] . <br />
<br />
To install the Digilent Adept Runtime, it is recommended to install {{AUR|digilent.adept.runtime}} from the [[Arch User Repository]].<br />
<br />
In addition, installing {{AUR|digilent.adept.utilities}} may do good to configuring your board.<br />
<br />
== Launching programs ==<br />
<br />
To ease launching programs, you can create the following .desktop files for Vivado IDE, SDK and DocNav:<br />
<br />
{{hc|head=~/.local/share/applications/Xilinx-VivadoIDE.desktop|output=<br />
#!/usr/bin/env xdg-open<br />
[Desktop Entry]<br />
Version=1.0<br />
Type=Application<br />
Name=Xilinx Vivado IDE<br />
Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/Vivado/2015.4/settings64.sh && vivado"<br />
Icon=/opt/Xilinx/Vivado/2015.4/doc/images/vivado_logo.png<br />
Categories=Development;<br />
Comment=Vivado Integrated Development Environment}}<br />
<br />
{{hc|head=~/.local/share/applications/Xilinx-SDK.desktop|output=<br />
#!/usr/bin/env xdg-open<br />
[Desktop Entry]<br />
Version=1.0<br />
Type=Application<br />
Name=Xilinx SDK<br />
Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/SDK/2015.4/settings64.sh && xsdk"<br />
Icon=/opt/Xilinx/SDK/2015.4/data/sdk/images/sdk_logo.png<br />
Categories=Development;<br />
Comment=Xilinx Software Development Kit}}<br />
{{hc|head=~/.local/share/applications/Xilinx-DocNav.desktop|output=<br />
#!/usr/bin/env xdg-open<br />
[Desktop Entry]<br />
Version=1.0<br />
Type=Application<br />
Name=Xilinx Documentation Navigator <br />
Exec=sh -c "/opt/Xilinx/DocNav/docnav"<br />
Icon=/opt/Xilinx/DocNav/resources/doc_nav_application_48.png<br />
Categories=Development;<br />
Comment=Xilinx Documentation Navigator}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== libncurses.so.5 not found ===<br />
<br />
Xilinx Vivado requires version 5 of ncurses while ArchLinux has already updated to a newer version.<br />
<br />
To obtain this library, you can either search in your pacman cache to see if you already have a local copy:<br />
<br />
$ ls /var/cache/pacman/pkg/ | grep ncurses<br />
<br />
or download it from the [https://archive.archlinux.org/packages/n/ncurses/ Arch Linux Archive]<br />
<br />
After obtaining the package, simply extract {{ic|/usr/lib/libncurses.*}} to {{ic|/opt/Xilinx/Vivado/<version>/lib/lnx64.o/}}<br />
<br />
<br />
=== Synthesis segfaults ===<br />
<br />
See https://forums.xilinx.com/t5/Synthesis/Vivado-crashes-on-Arch-Linux-when-performing-synthesis/td-p/706847<br />
<br />
You'll need to recompile glibc (just take the PKGBUILD from the abs) with {{ic|--disable-lock-elision}}. Instead of patching the system libc in /usr/lib, copy the newly<br />
compiled {{ic|libpthread-2.25.so}} and {{ic|libc-2.25.so}} to {{ic|/opt/Xilinx/Vivado/2016.4/ids_lite/ISE/lib/lin64}}<br />
Don't forget to repeat this when glibc gets upgraded.<br />
<br />
=== Vivado HLS testbench error with GCC ===<br />
<br />
See https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/Testbench-error-with-gcc/td-p/756773<br />
<br />
This error has been observed in Vivado 2016.4, 2017.1, and 2017.2.<br />
<br />
Download an older version of GCC of GCC (2.17 or 2.18) and unpack it. Copy {{ic|glibc-2.17/misc/sys/cdefs.h}} to {{ic|$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/sys/}} directory.<br />
<br />
Open {{ic|$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/features.h}} and add the following:<br />
<br />
{{hc|head=$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/features.h|output=<br />
/* Whether to use feature set F. */<br />
#define __GLIBC_USE(F) __GLIBC_USE_ ## F}}</div>Hardolafhttps://wiki.archlinux.org/index.php?title=Xilinx_Vivado&diff=482743Xilinx Vivado2017-07-23T17:14:47Z<p>Hardolaf: Vivado HLS testbench error with GCC - Error observed in Vivado 2016.4, 2017.1, and 2017.2.</p>
<hr />
<div>[[Category:Development]]<br />
[[Category:Mathematics and science]]<br />
[[ja:Xilinx Vivado]]<br />
{{Style|Write a PKGBUILD}}<br />
ArchLinux is not officially supported by Vivado, but as happens with [[Xilinx ISE WebPACK]], most of its features can be used with a bit of hacking.<br />
<br />
== Prerequisites ==<br />
<br />
Xilinx Vivado can be downloaded from its official website [http://www.xilinx.com/products/design-tools/vivado.html]. Vivado only supports 64-bit systems, so you will need a working 64-bit ArchLinux install. It's recommended to download "Vivado HLx 2015.4: Full Installer For Linux Single File Download Image Including SDK" tarball, but make sure not to be in a hurry, as it's a large download (near 9 GB). Update tarballs can also be downloaded and installed later.<br />
<br />
=== Dependencies ===<br />
<br />
Installer needs ncurses5 libs, and will not work with ncurses 6 available at official repos. You can work-around this problem by installing {{AUR|ncurses5-compat-libs}} from the [[Arch User Repository]]. You will also need to install {{Pkg|lib32-libpng12}} for Xilinx Document Navigator to launch.<br />
<br />
== Installation ==<br />
<br />
You must install the main package, and it is also recommended to install the latest update patch.<br />
<br />
=== Vivado and SDK ===<br />
<br />
Once downloaded and unpacked the tarball, the install script must be patched to be able to properly detect the machine architecture. You can do it by going to the directory where installer is extracted and running:<br />
<br />
$ sed -i.original 's/uname -i/uname -m/' xsetup<br />
<br />
Install script will be patched and original will be backed up as {{ic|xsetup.original}}, just in case you need to restore it later. Once patched, just run the script; it should work perfect and install the suite without a problem:<br />
<br />
# ./xsetup<br />
<br />
It is recommended to install the suite at the default location {{ic|/opt/Xilinx}}, as further instructions in this page will assume the suite is installed there.<br />
<br />
=== Update patch ===<br />
<br />
It is recommended to install the latest update patch, and repeat the process each time a new patch is released. Note that update patches cannot be applied to WebPACK installs. If you installed Vivado WebPACK, skip this section.<br />
<br />
To install the update, repeat the same hack used to install the suite. Once downloaded and unpacked, go to the directory containing the extracted tarball, patch the install script and run it:<br />
<br />
$ sed -i.original 's/uname -i/uname -m/' xsetup<br />
# ./xsetup<br />
<br />
=== Licensing ===<br />
<br />
If you already have a license file, you can load it using Vivado License Manager. Unfortunately, if you want to obtain a WebPack license, further steps are needed. Vivado installs old stdc++ libraries, causing problems when spawning programs not included with Vivado Suite (like your default browser). To fix this, do the following steps:<br />
<br />
# cd /opt/Xilinx/Vivado/2015.4/lib/lnx64.o/<br />
# mv libstdc++.so.6 libstdc++.so.6.orig<br />
# ln -s /usr/lib/libstdc++.so.6<br />
<br />
Close any running Vivado Suite program, and launch license manager:<br />
<br />
$ /opt/Xilinx/Vivado/2015.4/bin/vlm<br />
<br />
If you try obtaining a WebPack license, your default browser should open, and the license should be generated normally. If Vivado License Manager fails to automatically load the generated license, download the .lic file, and manually load it.<br />
<br />
=== Digilent USB-JTAG Drivers ===<br />
To use Digilent Adept USB-JTAG adapters (e.g. the onboard JTAG adapter on the [http://www.zedboard.org ZedBoard]) from Vivado, you need to install the Digilent [http://store.digilentinc.com/digilent-adept-2-download-only/ Adept Runtime].<br />
<br />
Make sure you have installed {{AUR|fxload}} from the [[Arch User Repository]] . <br />
<br />
To install the Digilent Adept Runtime, it is recommended to install {{AUR|digilent.adept.runtime}} from the [[Arch User Repository]].<br />
<br />
In addition, installing {{AUR|digilent.adept.utilities}} may do good to configuring your board.<br />
<br />
== Launching programs ==<br />
<br />
To ease launching programs, you can create the following .desktop files for Vivado IDE, SDK and DocNav:<br />
<br />
{{hc|head=~/.local/share/applications/Xilinx-VivadoIDE.desktop|output=<br />
#!/usr/bin/env xdg-open<br />
[Desktop Entry]<br />
Version=1.0<br />
Type=Application<br />
Name=Xilinx Vivado IDE<br />
Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/Vivado/2015.4/settings64.sh && vivado"<br />
Icon=/opt/Xilinx/Vivado/2015.4/doc/images/vivado_logo.png<br />
Categories=Development;<br />
Comment=Vivado Integrated Development Environment}}<br />
<br />
{{hc|head=~/.local/share/applications/Xilinx-SDK.desktop|output=<br />
#!/usr/bin/env xdg-open<br />
[Desktop Entry]<br />
Version=1.0<br />
Type=Application<br />
Name=Xilinx SDK<br />
Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/SDK/2015.4/settings64.sh && xsdk"<br />
Icon=/opt/Xilinx/SDK/2015.4/data/sdk/images/sdk_logo.png<br />
Categories=Development;<br />
Comment=Xilinx Software Development Kit}}<br />
{{hc|head=~/.local/share/applications/Xilinx-DocNav.desktop|output=<br />
#!/usr/bin/env xdg-open<br />
[Desktop Entry]<br />
Version=1.0<br />
Type=Application<br />
Name=Xilinx Documentation Navigator <br />
Exec=sh -c "/opt/Xilinx/DocNav/docnav"<br />
Icon=/opt/Xilinx/DocNav/resources/doc_nav_application_48.png<br />
Categories=Development;<br />
Comment=Xilinx Documentation Navigator}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== libncurses.so.5 not found ===<br />
<br />
Xilinx Vivado requires version 5 of ncurses while ArchLinux has already updated to a newer version.<br />
<br />
To obtain this library, you can either search in your pacman cache to see if you already have a local copy:<br />
<br />
$ ls /var/cache/pacman/pkg/ | grep ncurses<br />
<br />
or download it from the [https://archive.archlinux.org/packages/n/ncurses/ Arch Linux Archive]<br />
<br />
After obtaining the package, simply extract {{ic|/usr/lib/libncurses.*}} to {{ic|/opt/Xilinx/Vivado/<version>/lib/lnx64.o/}}<br />
<br />
<br />
=== Synthesis segfaults ===<br />
<br />
See https://forums.xilinx.com/t5/Synthesis/Vivado-crashes-on-Arch-Linux-when-performing-synthesis/td-p/706847<br />
<br />
You'll need to recompile glibc (just take the PKGBUILD from the abs) with {{ic|--disable-lock-elision}}. Instead of patching the system libc in /usr/lib, copy the newly<br />
compiled {{ic|libpthread-2.25.so}} and {{ic|libc-2.25.so}} to {{ic|/opt/Xilinx/Vivado/2016.4/ids_lite/ISE/lib/lin64}}<br />
Don't forget to repeat this when glibc gets upgraded.<br />
<br />
=== Vivado HLS testbench error with GCC ===<br />
<br />
See https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/Testbench-error-with-gcc/td-p/756773<br />
<br />
This error has been observed in Vivado 2016.4, 2017.1, and 2017.2.<br />
<br />
Download an older version of GCC of GCC (2.17 or 2.18) and unpack it. Copy {{ic|glibc-2.17/misc/sys/cdefs.h}} to {{ic|$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/sys/}} directory.<br />
<br />
Open {{ic|$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/features.h}} and add the following:<br />
<br />
{{ic|/* Whether to use feature set F. */}}<br />
<br />
{{ic|#define __GLIBC_USE(F) __GLIBC_USE_ ## F}}</div>Hardolaf