「Xilinx Vivado」の版間の差分
(→依存パッケージ: 同期) |
(→トラブルシューティング: 同期) |
||
111行目: | 111行目: | ||
パッケージを入手したら {{ic|/usr/lib/libncurses.*}} を {{ic|/opt/Xilinx/Vivado/<version>/lib/lnx64.o/}} に展開してください。 |
パッケージを入手したら {{ic|/usr/lib/libncurses.*}} を {{ic|/opt/Xilinx/Vivado/<version>/lib/lnx64.o/}} に展開してください。 |
||
+ | |||
+ | === 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 を参照。 |
||
+ | |||
+ | === Vivado HLS testbench error with GCC === |
||
+ | |||
+ | Vivado 2016.4, 2017.1, 2017.2 で発生するエラーです。 |
||
+ | |||
+ | 古いバージョンの GCC (2.17 あるいは 2.18) をダウンロードして解凍してください。そして {{ic|glibc-2.17/misc/sys/cdefs.h}} を {{ic|$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/sys/}} ディレクトリにコピーしてください。 |
||
+ | |||
+ | {{ic|$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/features.h}} を開いて以下を追加してください: |
||
+ | |||
+ | {{hc|head=$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/features.h|output= |
||
+ | /* Whether to use feature set F. */ |
||
+ | #define __GLIBC_USE(F) __GLIBC_USE_ ## F}} |
||
+ | |||
+ | 詳しくは https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/Testbench-error-with-gcc/td-p/756773 を参照。 |
2017年10月12日 (木) 00:28時点における版
Vivado は公式に Arch Linux をサポートしていませんが、Xilinx ISE WebPACK と同じように、多少のハックでほとんどの機能が利用できます。
目次
要件
Xilinx Vivado は公式ウェブサイトからダウンロードすることができます [1]。Vivado がサポートしているのは64ビット環境だけです。64ビットの Arch Linux をインストールしている必要があります。"Vivado HLx 2015.4: Full Installer For Linux Single File Download Image Including SDK" tarball をダウンロードすることが推奨されていますが、非常に大きなファイル (9 GB) なので焦ってダウンロードする必要はありません。アップデート tarball は後からダウンロードしてインストールすることも可能です。
依存パッケージ
インストーラは ncurses5 ライブラリを必要とします。公式リポジトリにある ncurses 6 では動作しません。Arch User Repository から ncurses5-compat-libsAUR をインストールすることで問題を回避できます。また、Xilinx Document Navigator を起動するには lib32-libpng12 のインストールが必要です。
インストール
メインパッケージをインストールします。また、最新の更新パッチもインストールすることが推奨されます。
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 をインストールするとボードの設定に役立ちます。
プログラムの起動
以下の .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/2015.4/settings64.sh && vivado" Icon=/opt/Xilinx/Vivado/2015.4/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/2015.4/settings64.sh && xsdk" Icon=/opt/Xilinx/SDK/2015.4/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
トラブルシューティング
libncurses.so.5 not found
Xilinx Vivado はバージョン5の ncurses を必要としますが Arch Linux の ncurses は新しいバージョンにアップデートされています。
pacman のキャッシュを検索して、ローカルコピーが存在しないか確認するか:
$ ls /var/cache/pacman/pkg/ | grep ncurses
もしくは Arch Linux Archive からダウンロードしてください。
パッケージを入手したら /usr/lib/libncurses.*
を /opt/Xilinx/Vivado/<version>/lib/lnx64.o/
に展開してください。
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 をアップグレードするたびに再コンパイルが必要です。
Vivado HLS testbench error with GCC
Vivado 2016.4, 2017.1, 2017.2 で発生するエラーです。
古いバージョンの GCC (2.17 あるいは 2.18) をダウンロードして解凍してください。そして glibc-2.17/misc/sys/cdefs.h
を $HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/sys/
ディレクトリにコピーしてください。
$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/features.h
を開いて以下を追加してください:
$HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/features.h
/* Whether to use feature set F. */ #define __GLIBC_USE(F) __GLIBC_USE_ ## F
詳しくは https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/Testbench-error-with-gcc/td-p/756773 を参照。