de IBY

めざせ知識の無駄遣い

Vivado 2021.1インストール覚え書き@Ubuntu 20.04

追記!!!

気が付いたら公式が対応していたようです.最初にlibtinfoをインストールしていれば全て解決するとのこと.何だったんだ…

https://support.xilinx.com/s/article/76616?language=ja

というわけで,以下の話は昔の話ということで……

Ubuntu 20.04 64ビット環境にVivado 2021.1(執筆時の最新版)をインストールしました.インストール中いろいろ紆余曲折があり,まとまった記事が無かったので記録に残そうと思います.

注意

この記事はLinux素人がインストールできた喜びから深夜テンションで書いた文章です.いろいろ抜けている箇所あると思うので,参考程度にしてください,,,

FPGAやるぞ!

という気分になったので,手始めによく使われている開発環境らしいVivadoをインストールすることにしました.Xilinx社のWebページに最新版のダウンロードが提示されていました.2021/7/18現在ではVivado ML Edition 2021.1 というのが最新版のようです.Linuxインストーラをダウンロードして,ターミナルで実行します.GUIが起動するので,無償版を選択してインストール….あとは待つだけです*1.が,

止まった…

最終段階のgenerating installed device listという箇所で止まりました.数時間待っても進みません.これは昔からある不具合のようで,検索するといろいろ出てきます.どうやら,手動でこの部分を進める必要がありそうです.

device list を手動で作る

環境変数をセットして,手動でこの部分の作業をやるようです.これをbashに打ちます:

$ LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/<installRoot>/Vivado/2021.1/lib/lnx64.o/:/<installRoot>/SDK/2021.1/lib/lnx64.o/:/<installRoot>/Vivado/2021.1/lnx64/tools/clang-3.9/lib /<installRoot>/Vivado/2021.1/bin/vivado -nolog -nojournal -mode batch -source /<installRoot>/Vivado/2021.1/scripts/sysgen/tcl/xlpartinfo.tcl -tclargs /<installRoot>/Vivado/2021.1/data/parts/installed_devices.txt

ネットに書かれているものとxlpartinfo.tclのパスが変わっているので気を付けましょう.<installRoot>は最初に指定したインストールディレクトリです.(デフォは/tools/Xilinx) 参考: 

実行された感じがしたら,インストーラのプロセスをkillする

↑のコマンドが終了したら*2インストーラのプロセスをkillします.

$ ps aux | grep -i xilinx | grep nolog

と打って,インストーラのプロセスをkillします.4プロセスくらい動いていて,すべてkillするとインストーラが次の段階に進みます.次の段階でもスタックするようであればそれも消します. 私は2回,合計8プロセス消しました.そのあとは自動で進みました.

librdi_commontasks.soをインストール

Successfully installed となったら,

$ source <installRoot>/Vivado/2021.1/settings64.sh
$ vivado

と打てば起動するはずです.が,私の環境では

application-specific initialization failed: couldn't load file "librdi_commontasks.so": libtinfo.so.5: cannot open shared object file: No such file or directory

と出て正常に起動しないようでした.libtinfoをインストールして,シンボリックリンクでlibtinfo.so.5を張り替えます:

$ sudo apt update
$ sudo apt install libtinfo-dev
$ sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5

参考

これで私の環境ではまずGUIは起動しました.この後,実際にシリアル通信とかをするときにまた何か起こるかもしれません.何かあり次第更新しようと思います(逆に,何も更新されてなかったらちゃんと動いているとしてください)

追記(2021.7.24)

上のやり方で無事に書き込みまで出来ました.が,一度プロジェクトを保存した後に再度開こうとすると Initializing language server.. という画面で止まりました.これはデフォルトの設定を変えれば解決します:Tools -> Settings -> Tool Settings -> Text Editor -> Syntax Checking -> Syntax checking という項目をSigasi からVivadoに変更して再起動してください.(参考

以上です.似たような環境の人の助けになればと思います.

*1:28GBあるということで,私のクソザコネット環境では3時間掛かりました...

*2:「instralled_devices.txtがないよ」的なメッセージが出ていましたが私の環境では以降の作業はうまくいきました