Xilinx Vivado

出自 Arch Linux 中文维基

本文內容或本節內容已經過期。

原因: 請提供模板的第一個位置參數以概括原因。 (在Talk:Xilinx Vivado討論)

這篇文章或章節的翻譯不反映原文。

原因:Some content is not translated, appears abandoned.(在 Talk: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 來解決這個問題。您可能需要安裝 libpng12lib32-libpng12 以便使用 Xilinx Document Navigator。

SDK 2018.3(以及其他可能的版本)需要 gtk2 庫。如果您打算使用 SDK,您可能需要安裝 gtk2.Vitis需要安裝 xorg-xlsclients 來正常工作.

可以使用xilinx-vivado-dummyAUR[損壞的連結:package not found] 進行替代安裝所有這些依賴項。

在一些平鋪式窗口管理器上 (例如 dwmXmonad), 您可能需要在啟動 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 安裝該套件,因為本頁中的進一步說明將假定該套件安裝在那裏。

警告: 2018.1及以後版本不再需要以下補丁。請直接解壓後執行 xsetup 文件。

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.

更新補丁[編輯 | 編輯原始碼]

警告: 2018.1 及以後版本不再需要以下補丁。

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

證書[編輯 | 編輯原始碼]

警告: 2018.1及以後的 Webpack 版本不再需要手動下載證書文件。

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

確保您已經從 AUR 安裝了 fxloadAUR

要安裝 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.