「Xilinx Vivado」の版間の差分
(ページの作成:「Category:開発 Category:計算と科学 en:Xilinx Vivado Vivado は公式に Arch Linux をサポートしていませんが、Xilinx ISE WebPACK と同...」) |
(タイル型WMを使用している場合のインスールについて追記) |
||
(他の1人の利用者による、間の3版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:電子設計自動化]] |
− | [[Category:計算と科学]] |
||
[[en:Xilinx Vivado]] |
[[en:Xilinx Vivado]] |
||
+ | [[zh-hans:Xilinx Vivado]] |
||
Vivado は公式に Arch Linux をサポートしていませんが、[[Xilinx ISE WebPACK]] と同じように、多少のハックでほとんどの機能が利用できます。 |
Vivado は公式に Arch Linux をサポートしていませんが、[[Xilinx ISE WebPACK]] と同じように、多少のハックでほとんどの機能が利用できます。 |
||
== 要件 == |
== 要件 == |
||
− | Xilinx Vivado は公式ウェブサイトからダウンロードすることができます [http://www.xilinx.com/products/design-tools/vivado.html] |
+ | Xilinx Vivado は公式ウェブサイトからダウンロードすることができます [http://www.xilinx.com/products/design-tools/vivado.html]。"Vivado HLx <year>.<version>: All OS installer Single-File Download" tarball をダウンロードすることが推奨されていますが、非常に大きなファイル (19 GB) なので焦ってダウンロードする必要はありません。アップデート tarball は後からダウンロードしてインストールすることも可能です。 |
=== 依存パッケージ === |
=== 依存パッケージ === |
||
− | インストーラは ncurses5 ライブラリを必要とします。公式リポジトリにある ncurses 6 では動作しません。[[Arch User Repository]] から {{AUR|ncurses5-compat-libs}} をインストールすることで問題を回避できます。また、Xilinx Document Navigator を起動するには {{ |
+ | インストーラは ncurses5 ライブラリを必要とします。公式リポジトリにある ncurses 6 では動作しません。[[Arch User Repository]] から {{AUR|ncurses5-compat-libs}} をインストールすることで問題を回避できます。また、Xilinx Document Navigator を起動するには {{Pkg|libpng12}} と {{Pkg|lib32-libpng12}} パッケージのインストールが必要です。 |
+ | |||
+ | SDK 2018.3 (あるいはそれよりも前のバージョンも) は gtk2 ライブラリを必要とします。SDK を使うときは {{Pkg|gtk2}} をインストールしてください。 |
||
== インストール == |
== インストール == |
||
メインパッケージをインストールします。また、最新の更新パッチもインストールすることが推奨されます。 |
メインパッケージをインストールします。また、最新の更新パッチもインストールすることが推奨されます。 |
||
+ | |||
+ | いくつかのタイル型ウィンドウマネージャでは、xsetupを立ち上げる前に、次の環境変数を設定しておく必要があります。設定しない場合、GUIが表示されません (DWMやXMonadで確認されています)。 |
||
+ | |||
+ | $ export _JAVA_AWT_WM_NONREPARENTING=1 |
||
=== Vivado と SDK === |
=== Vivado と SDK === |
||
+ | |||
+ | {{Warning |heading=Vivado 2018.1 |align=center |以下のパッチは 2018.1 バージョンでは必要なくなりました。xsetup ファイルを解凍して実行するだけで大丈夫です。}} |
||
tarball をダウンロード・解凍したら、マシンのアーキテクチャが正しく認識されるようにインストールスクリプトに変更を加えます。インストーラを解凍したディレクトリに移動してから次を実行してください: |
tarball をダウンロード・解凍したら、マシンのアーキテクチャが正しく認識されるようにインストールスクリプトに変更を加えます。インストーラを解凍したディレクトリに移動してから次を実行してください: |
||
29行目: | 37行目: | ||
=== 更新パッチ === |
=== 更新パッチ === |
||
+ | |||
+ | {{Warning |heading=Vivado 2018.1 |align=center |以下のパッチは 2018.1 バージョンでは必要なくなっています。}} |
||
新しいパッチがリリースされるたびに、最新の更新パッチをインストールすることが推奨されています。更新パッチは WebPACK には適用できないので注意してください。Vivado WebPACK をインストールした場合、このセクションは飛ばしてください。 |
新しいパッチがリリースされるたびに、最新の更新パッチをインストールすることが推奨されています。更新パッチは WebPACK には適用できないので注意してください。Vivado WebPACK をインストールした場合、このセクションは飛ばしてください。 |
||
38行目: | 48行目: | ||
=== ライセンス === |
=== ライセンス === |
||
+ | |||
+ | {{Warning |heading=Vivado 2018.1 |align=center |2018.1 Webpack バージョンでは明示的にライセンスファイルをダウンロードしなくても動作します。}} |
||
ライセンスファイルを既に持っている場合、Vivado License Manager を使ってファイルをロードすることができます。WebPack ライセンスを取得する場合は、以下の手順が必要です。 |
ライセンスファイルを既に持っている場合、Vivado License Manager を使ってファイルをロードすることができます。WebPack ライセンスを取得する場合は、以下の手順が必要です。 |
||
62行目: | 74行目: | ||
さらに、{{AUR|digilent.adept.utilities}} をインストールするとボードの設定に役立ちます。 |
さらに、{{AUR|digilent.adept.utilities}} をインストールするとボードの設定に役立ちます。 |
||
− | == |
+ | === Linux ケーブルドライバー === |
+ | root 権限で以下を実行: |
||
+ | |||
+ | # {vivado_install_dir}/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_drivers |
||
+ | |||
+ | == ヒントとテクニック == |
||
+ | |||
+ | === .desktop ファイルの作成 === |
||
+ | |||
+ | {{Note |2018.3 以降の場合、.desktop ファイルを手動で書く必要はありません。}} |
||
以下の .desktop ファイルを作成することで Vivado IDE, SDK, DocNav の起動が楽になります: |
以下の .desktop ファイルを作成することで Vivado IDE, SDK, DocNav の起動が楽になります: |
||
72行目: | 93行目: | ||
Type=Application |
Type=Application |
||
Name=Xilinx Vivado IDE |
Name=Xilinx Vivado IDE |
||
− | Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/Vivado/ |
+ | Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/Vivado/2018.1/settings64.sh && vivado" |
− | Icon=/opt/Xilinx/Vivado/ |
+ | Icon=/opt/Xilinx/Vivado/2018.1/doc/images/vivado_logo.png |
Categories=Development; |
Categories=Development; |
||
Comment=Vivado Integrated Development Environment}} |
Comment=Vivado Integrated Development Environment}} |
||
83行目: | 104行目: | ||
Type=Application |
Type=Application |
||
Name=Xilinx SDK |
Name=Xilinx SDK |
||
− | Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/SDK/ |
+ | Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/SDK/2018.1/settings64.sh && xsdk" |
− | Icon=/opt/Xilinx/SDK/ |
+ | Icon=/opt/Xilinx/SDK/2018.1/data/sdk/images/sdk_logo.png |
Categories=Development; |
Categories=Development; |
||
Comment=Xilinx Software Development Kit}} |
Comment=Xilinx Software Development Kit}} |
||
97行目: | 118行目: | ||
Categories=Development; |
Categories=Development; |
||
Comment=Xilinx Documentation Navigator}} |
Comment=Xilinx Documentation Navigator}} |
||
+ | |||
+ | === ディスプレイスケーリングの有効化 === |
||
+ | vivado を起動して以下からスケーリング率を設定: |
||
+ | |||
+ | Tools -> Setting -> Display -> Scaling |
||
== トラブルシューティング == |
== トラブルシューティング == |
||
− | === |
+ | === Synthesis segfaults === |
+ | |||
+ | {{ic|--disable-lock-elision}} を使って glibc を再コンパイルする必要があります (abs から PKGBUILD を取得してください)。{{ic|/usr/lib}} のシステムの libc にパッチを適用するかわりに、新しくコンパイルした {{ic|libpthread-2.25.so}} と {{ic|libc-2.25.so}} を {{ic|/opt/Xilinx/Vivado/2016.4/ids_lite/ISE/lib/lin64}} にコピーします。glibc をアップグレードするたびに再コンパイルが必要です。 |
||
+ | |||
+ | 詳しくは https://forums.xilinx.com/t5/Synthesis/Vivado-crashes-on-Arch-Linux-when-performing-synthesis/td-p/706847 を参照。 |
||
+ | |||
+ | === xsct segfault === |
||
+ | |||
+ | xsct は以下のメッセージを吐いてクラッシュすることがあります: |
||
+ | |||
+ | 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[@]}" |
||
+ | |||
+ | vivado に混載されている rlwrap の問題で、おそらく Arch Linux に古い vsyscall のエミュレーションがないために起こります。問題を解決するには、rlwrap を落とすか (xsct の履歴と自動補完が消失します)、{{Pkg|rlwrap}} パッケージをインストールして xsct の起動スクリプトの以下の行を編集してください: |
||
+ | |||
+ | {{hc|head=../Xilinx/SDK/2018.1/bin/xsct|output= |
||
+ | # 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 は古いバージョンの glibc を必要とします (vivado 2018.1 の場合は 2.26)。 |
||
+ | |||
+ | Xilinx フォーラムの [https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/Testbench-error-with-gcc/td-p/756773 こちらのスレッド] では Xilinx による固定ヘッダーを更新することが提案されています。 |
||
+ | |||
+ | vivado バージョン 2016 の場合、以下を実行: |
||
+ | |||
+ | # /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/ |
||
+ | |||
+ | vivado 2017 以降の場合、以下を実行: |
||
+ | # /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 |
||
− | Xilinx Vivado はバージョン5の ncurses を必要としますが Arch Linux の ncurses は新しいバージョンにアップデートされています。 |
||
+ | === Wayland で Vivado がクラッシュする === |
||
− | pacman のキャッシュを検索して、ローカルコピーが存在しないか確認するか: |
||
+ | Vivado がクラッシュしてエラーファイルに以下のような記述がある場合: |
||
− | $ ls /var/cache/pacman/pkg/ | grep ncurses |
||
+ | {{hc|head=hs_err_pid*.log|output= |
||
− | もしくは [https://archive.archlinux.org/packages/n/ncurses/ Arch Linux Archive] からダウンロードしてください。 |
||
+ | # |
||
+ | # 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] |
||
+ | }} |
||
+ | Wayland の代わりに Xorg を使うようにしてください。Vivado が使っているバージョンの Java は Wayland との互換性に問題を抱えています。 |
||
− | パッケージを入手したら {{ic|/usr/lib/libncurses.*}} を {{ic|/opt/Xilinx/Vivado/<version>/lib/lnx64.o/}} に展開してください。 |
2019年11月4日 (月) 17:27時点における最新版
Vivado は公式に Arch Linux をサポートしていませんが、Xilinx ISE WebPACK と同じように、多少のハックでほとんどの機能が利用できます。
目次
要件
Xilinx Vivado は公式ウェブサイトからダウンロードすることができます [1]。"Vivado HLx <year>.<version>: All OS installer Single-File Download" tarball をダウンロードすることが推奨されていますが、非常に大きなファイル (19 GB) なので焦ってダウンロードする必要はありません。アップデート tarball は後からダウンロードしてインストールすることも可能です。
依存パッケージ
インストーラは ncurses5 ライブラリを必要とします。公式リポジトリにある ncurses 6 では動作しません。Arch User Repository から ncurses5-compat-libsAUR をインストールすることで問題を回避できます。また、Xilinx Document Navigator を起動するには libpng12 と lib32-libpng12 パッケージのインストールが必要です。
SDK 2018.3 (あるいはそれよりも前のバージョンも) は gtk2 ライブラリを必要とします。SDK を使うときは gtk2 をインストールしてください。
インストール
メインパッケージをインストールします。また、最新の更新パッチもインストールすることが推奨されます。
いくつかのタイル型ウィンドウマネージャでは、xsetupを立ち上げる前に、次の環境変数を設定しておく必要があります。設定しない場合、GUIが表示されません (DWMやXMonadで確認されています)。
$ export _JAVA_AWT_WM_NONREPARENTING=1
Vivado と SDK
tarball をダウンロード・解凍したら、マシンのアーキテクチャが正しく認識されるようにインストールスクリプトに変更を加えます。インストーラを解凍したディレクトリに移動してから次を実行してください:
$ sed -i.original 's/uname -i/uname -m/' xsetup
インストールスクリプトに変更が加えられ、元のスクリプトは xsetup.original
としてバックアップされます。変更を加えたら、スクリプトを実行してください。特に問題なくスイートをインストールできるはずです:
# ./xsetup
スイートは既定の場所 /opt/Xilinx
にインストールすることを推奨します。
更新パッチ
新しいパッチがリリースされるたびに、最新の更新パッチをインストールすることが推奨されています。更新パッチは WebPACK には適用できないので注意してください。Vivado WebPACK をインストールした場合、このセクションは飛ばしてください。
アップデートをインストールするには、スイートのインストールと同じことをする必要があります。ダウンロード・解凍後、展開した tarball が存在するディレクトリに移動して、インストールスクリプトに変更を加えてから実行してください:
$ sed -i.original 's/uname -i/uname -m/' xsetup # ./xsetup
ライセンス
ライセンスファイルを既に持っている場合、Vivado License Manager を使ってファイルをロードすることができます。WebPack ライセンスを取得する場合は、以下の手順が必要です。
Vivado は古い stdc++ ライブラリをインストールするため、Vivado Suite に含まれていないプログラム (デフォルトブラウザなど) を実行するときに問題が発生します。修正するには、以下を実行してください:
# cd /opt/Xilinx/Vivado/2015.4/lib/lnx64.o/ # mv libstdc++.so.6 libstdc++.so.6.orig # ln -s /usr/lib/libstdc++.so.6
Vivado Suite プログラムを全て閉じてから、ライセンスマネージャを起動してください:
$ /opt/Xilinx/Vivado/2015.4/bin/vlm
WebPack ライセンスを取得しようとすると、デフォルトブラウザが開き、通常通りライセンスが生成されるはずです。Vivado License Manager が生成されたライセンスを自動的にロードしない場合、.lic ファイルをダウンロードして、手動でロードしてください。
Digilent USB-JTAG ドライバー
Vivado から Digilent Adept USB-JTAG アダプタ (例: ZedBoard のオンボード JTAG アダプタ) を使うには、Digilent Adept Runtime をインストールする必要があります。
Arch User Repository から fxloadAUR をインストールしてください。
Digilent Adept Runtime をインストールする際は、Arch User Repository から digilent.adept.runtimeAUR をインストールすることを推奨します。
さらに、digilent.adept.utilitiesAUR をインストールするとボードの設定に役立ちます。
Linux ケーブルドライバー
root 権限で以下を実行:
# {vivado_install_dir}/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_drivers
ヒントとテクニック
.desktop ファイルの作成
以下の .desktop ファイルを作成することで Vivado IDE, SDK, DocNav の起動が楽になります:
~/.local/share/applications/Xilinx-VivadoIDE.desktop
#!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Name=Xilinx Vivado IDE Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/Vivado/2018.1/settings64.sh && vivado" Icon=/opt/Xilinx/Vivado/2018.1/doc/images/vivado_logo.png Categories=Development; Comment=Vivado Integrated Development Environment
~/.local/share/applications/Xilinx-SDK.desktop
#!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Name=Xilinx SDK Exec=sh -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/SDK/2018.1/settings64.sh && xsdk" Icon=/opt/Xilinx/SDK/2018.1/data/sdk/images/sdk_logo.png Categories=Development; Comment=Xilinx Software Development Kit
~/.local/share/applications/Xilinx-DocNav.desktop
#!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Name=Xilinx Documentation Navigator Exec=sh -c "/opt/Xilinx/DocNav/docnav" Icon=/opt/Xilinx/DocNav/resources/doc_nav_application_48.png Categories=Development; Comment=Xilinx Documentation Navigator
ディスプレイスケーリングの有効化
vivado を起動して以下からスケーリング率を設定:
Tools -> Setting -> Display -> Scaling
トラブルシューティング
Synthesis segfaults
--disable-lock-elision
を使って glibc を再コンパイルする必要があります (abs から PKGBUILD を取得してください)。/usr/lib
のシステムの libc にパッチを適用するかわりに、新しくコンパイルした libpthread-2.25.so
と libc-2.25.so
を /opt/Xilinx/Vivado/2016.4/ids_lite/ISE/lib/lin64
にコピーします。glibc をアップグレードするたびに再コンパイルが必要です。
xsct segfault
xsct は以下のメッセージを吐いてクラッシュすることがあります:
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[@]}"
vivado に混載されている rlwrap の問題で、おそらく Arch Linux に古い vsyscall のエミュレーションがないために起こります。問題を解決するには、rlwrap を落とすか (xsct の履歴と自動補完が消失します)、rlwrap パッケージをインストールして xsct の起動スクリプトの以下の行を編集してください:
../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 は古いバージョンの glibc を必要とします (vivado 2018.1 の場合は 2.26)。
Xilinx フォーラムの こちらのスレッド では Xilinx による固定ヘッダーを更新することが提案されています。
vivado バージョン 2016 の場合、以下を実行:
# /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/
vivado 2017 以降の場合、以下を実行:
# /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
Wayland で Vivado がクラッシュする
Vivado がクラッシュしてエラーファイルに以下のような記述がある場合:
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]
Wayland の代わりに Xorg を使うようにしてください。Vivado が使っているバージョンの Java は Wayland との互換性に問題を抱えています。