Xilinx Vivado
Arch Linux 並不受 Vivado 的正式支持,但是從 Xilinx ISE WebPACK 的使用體驗上看,只需要一點修改便能正常使用所有功能。
安裝[編輯 | 編輯原始碼]
可以從官方網址[1]下載Xilinx Vivado。我們建議您下載「Vivado HLx <year>.<version>: All OS installer Single-File Download」。別心急,因為這個文件(寫作時最新版本為2020.3)有將近50GB。
AUR包[編輯 | 編輯原始碼]
vivadoAUR AUR 包可以由pacman管理安裝. 由於vivado安裝程序需要登錄後提交個人信息才能下載,因此需要像上面那樣手動下載,並將其放置在與 PKGBUILD 相同的目錄中. 該軟體包只構建最新的主要版本(< 年份 >.< 版本 >) , 而不是較小的更新(< 年份 >.< 版本 >.<更新版本> ) 。如果需要,請手動安裝 Vivado。
手動安裝[編輯 | 編輯原始碼]
依賴[編輯 | 編輯原始碼]
安裝程序需要 ncurses5 庫,並且不能使用官方倉庫裡的 ncurses6。您可以通過安裝 Arch User Repository 中的 ncurses5-compat-libsAUR 來解決這個問題。您可能需要安裝 libpng12包 與 lib32-libpng12包 以便使用 Xilinx Document Navigator。
SDK 2018.3(以及其他可能的版本)需要 gtk2 庫。如果您打算使用 SDK,您可能需要安裝 gtk2包.Vitis需要安裝 xorg-xlsclients包 來正常工作.
可以使用xilinx-vivado-dummyAUR[損壞的連結:package not found] 進行替代安裝所有這些依賴項。
在一些平鋪式窗口管理器上 (例如 dwm 和 Xmonad), 您可能需要在啟動 xsetup
之前設置這個環境變量(否則安裝 GUI 將不呈現).
$ export _JAVA_AWT_WM_NONREPARENTING=1
您必須安裝主程序包,並且還建議安裝最新的更新補丁。
默認的字體可能難以閱讀,並導致一些 UI 元素被切斷錯誤渲染。通過安裝 noto-fonts包 來修復。
PetaLinux Tools的依賴[編輯 | 編輯原始碼]
在啟動 petalinux-tools 之前,請安裝:
git包 diffstat包 unzip包 texinfo包 python包 chrpath包 wget包 xterm包 sdlAUR rpcsvc-proto包 socat包 cpio包 inetutils包 python2包 net-tools包 tftp-hpa包 python-virtualenv包 xorg-server-xvfb包 bison包 flex包 gnupg包 ncurses包 autoconf包 libtool包 tar包 gcc包 sdlAUR sdl2包 glib2包 screen包 pax包 pax-utils包 libstdc++5AUR python-django包 iproute2包 lib32-zlib包 openssl包 gawk包 python-pexpect包 python-pip包 python-gitpython包 python-jinja包 xz包 iputils包 python-pylint包
和AUR中的
pod2manAUR libselinuxAUR debianutilsAUR
啟用 multilib 庫 並安裝multilib-devel包組 包組
啟用 tftp-hpa包
$ sudo systemctl enable tftpd.service $ sudo systemctl start tftpd.service
Vivado 與 SDK[編輯 | 編輯原始碼]
建議在默認位置 /opt/Xilinx
安裝該套件,因為本頁中的進一步說明將假定該套件安裝在那裡。
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:
$ sed -i.original 's/uname -i/uname -m/' xsetup
Install script will be patched and original will be backed up as 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:
# ./xsetup
It is recommended to install the suite at the default location /opt/Xilinx
, as further instructions in this page will assume the suite is installed there.
更新補丁[編輯 | 編輯原始碼]
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.
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:
$ sed -i.original 's/uname -i/uname -m/' xsetup # ./xsetup
證書[編輯 | 編輯原始碼]
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:
# cd /opt/Xilinx/Vivado/2015.4/lib/lnx64.o/ # mv libstdc++.so.6 libstdc++.so.6.orig # ln -s /usr/lib/libstdc++.so.6
Close any running Vivado Suite program, and launch license manager:
$ /opt/Xilinx/Vivado/2015.4/bin/vlm
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.
Digilent USB-JTAG 驅動[編輯 | 編輯原始碼]
要使用來自 Vivado 的 Digilent Adept USB-JTAG 適配器(例如內置在 ZedBoard 上的 JTAG 適配器) ,你需要安裝 Digilent Adept Runtime。
要安裝 Digilent Adept Runtime,建議從 AUR 安裝 digilent.adept.runtimeAUR 。
此外,安裝 digilent.adept.utilitiesAUR 可以很好地配置你的開發板。
桌面與應用程式菜單快捷方式[編輯 | 編輯原始碼]
安裝過程必須作為 root 用戶運行,以便對/opt/Xilinx 進行寫訪問。如果需要應用程式菜單中的快捷方式,則必須將它們從根帳戶移動到/usr/share。桌面快捷方式應該移動到用戶桌面。
以下命令假定只有 Xilinx 已經安裝到根帳戶,並且用戶具有用戶名.
複製應用程式菜單快捷方式:
# mv /root/.local/share/applications/* /usr/share/applications/ # mv /root/.local/share/desktop-directories/* /usr/share/desktop-directories/ # mv /root/.config/menus/applications-merged/* /etc/xdg/menus/applications-merged/
複製桌面快捷方式:
# chown username /root/Desktop/* # mv /root/Desktop/* /home/username/Desktop/
Linux cable 驅動[編輯 | 編輯原始碼]
以 root 權限運行以下腳本:
$ {vivado_install_dir}/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_drivers
提示和技巧[編輯 | 編輯原始碼]
啟用屏幕縮放功能[編輯 | 編輯原始碼]
啟動 Vivado,然後按照以下方式啟用屏幕縮放功能:
Tools -> Setting -> Display -> Scaling
禁用WebTalk[編輯 | 編輯原始碼]
免費的WebPACK許可證不允許你禁用這一功能,該功能在生成比特流時將使用數據上傳到賽靈思的伺服器,但即使連接失敗,綜合仍會順利完成。一個簡單的方法是為Vivado工具設置一個無效的HTTPS代理,使其無法連結到伺服器。
/opt/Xilinx/Vivado/<version>/bin/setupEnv.sh
... export HTTPS_PROXY=localhost
這個方法不會污染您的工作環境,只是在工具啟動時配置的臨時環境,它不會破壞其他任何東西。
故障排除[編輯 | 編輯原始碼]
Synthesis segfaults[編輯 | 編輯原始碼]
See https://support.xilinx.com/s/feed/0D52E00006hpUycSAE?language=en_US
You will need to recompile glibc (just take the PKGBUILD from the abs) with --disable-lock-elision
. Instead of patching the system libc in /usr/lib, copy the newly
compiled libpthread-2.25.so
and libc-2.25.so
to /opt/Xilinx/Vivado/2016.4/ids_lite/ISE/lib/lin64
Do not forget to repeat this when glibc gets upgraded.
xsct segfault[編輯 | 編輯原始碼]
xsct might crash with message:
Xilinx/SDK/2018.1/bin/xsct: line 141: 5611 Segmentation fault (core dumped) "$RDI_BINROOT"/unwrapped/"$RDI_PLATFORM$RDI_OPT_EXT"/rlwrap -rc -f "$RDI_APPROOT"/scripts/xsdb/xsdb/cmdlist -H "$HOME"/.xsctcmdhistory "$RDI_BINROOT"/loader -exec rdi_xsct "${RDI_ARGS[@]}"
This is a problem with the rlwrap version bundled with vivado, probably due the lack of legacy vsyscall emulation in Arch Linux. To fix this issue either drop rlwrap altogether (losing history and autocompletion in xsct) or install rlwrap包 from the official repo, and edit the corresponding line in the xsct startup script:
../Xilinx/SDK/2018.1/bin/xsct
# Use rlwrap to invoke XSCT /usr/bin/rlwrap -rc -f "$RDI_APPROOT"/scripts/xsdb/xsdb/cmdlist -H "$HOME"/.xsctcmdhistory "$RDI_BINROOT"/loader -exec rdi_xsct "${RDI_ARGS[@]}" # OR run xsct without rlwrap #"$RDI_BINROOT"/loader -exec rdi_xsct "${RDI_ARGS[@]}"
Vivado HLS testbench error with GCC[編輯 | 編輯原始碼]
Vivado requires an older version of glibc (2.26 as of vivado 2018.1).
The solution proposed in this thread[失效連結 2021-11-19 ⓘ] from Xilinx forums suggests to update the fixed headers shipped by Xilinx.
For vivado version 2016, run:
# /opt/Xilinx/Vivado_HLS/<version>/lnx64/tools/gcc/libexec/gcc/x86_64-unknown-linux-gnu/4.6.3/install-tools/mkheaders /opt/Xilinx/Vivado_HLS/<version>/lnx64/tools/gcc/
For vivado 2017 and newer, run:
# /opt/Xilinx/Vivado/2018.1/lnx64/tools/gcc/libexec/gcc/x86_64-unknown-linux-gnu/4.6.3/install-tools/mkheaders /opt/Xilinx/Vivado/2018.1/lnx64/tools/gcc
Vivado Crashes with Wayland[編輯 | 編輯原始碼]
If Vivado crashes and the error file contains something similar to this:
hs_err_pid*.log
# # An unexpected error has occurred (11) # Stack: /opt/Xilinx/Vivado/2018.2/tps/lnx64/jre/lib/amd64/server/libjvm.so(+0x923da9) [0x7fced0c19da9] /opt/Xilinx/Vivado/2018.2/tps/lnx64/jre/lib/amd64/server/libjvm.so(JVM_handle_linux_signal+0xb6) [0x7fced0c203f6] /opt/Xilinx/Vivado/2018.2/tps/lnx64/jre/lib/amd64/server/libjvm.so(+0x9209d3) [0x7fced0c169d3] /usr/lib/libc.so.6(+0x368f0) [0x7fcf0ea408f0] /opt/Xilinx/Vivado/2018.2/tps/lnx64/jre/lib/amd64/libawt_xawt.so(+0x42028) [0x7fceb1a20028] /opt/Xilinx/Vivado/2018.2/tps/lnx64/jre/lib/amd64/libawt_xawt.so(+0x42288) [0x7fceb1a20288] /opt/Xilinx/Vivado/2018.2/tps/lnx64/jre/lib/amd64/libawt_xawt.so(Java_sun_awt_X11_XRobotPeer_getRGBPixelsImpl+0x17c) [0x7fceb1a1867c] [0x7fcec0cb94cf]
Switch to using Xorg instead of Wayland. The version of Java Vivado uses has compatibility problems with Wayland.