「Xilinx Vivado」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
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.solibc-2.25.so/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) をダウンロードして解凍してください。そして 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 を参照。