Google ColaboratoryでいつでもどこでもFPGA開発(VivadoMagic編)
これまでVivadoのインストール方法について説明してきましたが、実際Colab上でVivadoを操作するとなるとTclによるコマンドライン操作がメインとなります。
普通に!vivado
と起動するとコマンドが全てパスワード入力のようになってしまい、自分の入力しているコマンドが分かりません。
今回、colab(IPython/Jupyter notebook)上で動作するvivadoマジックコマンドを作ったので紹介します。
概要
colabでは、いくつかマジックコマンドと呼ばれる%
から始まる特殊なコマンドが用意されてます。例えば普通に!cd /tmp
を実行するとカレントディレクトリは変更されないですが、%cd /tmp
にすると変更できます。このマジックコマンドは自分でも作ることができるので、vivadoのTclコンソールを操作するマジックコマンドを作りました。
使い方
ソースコードをダウンロードして、マジックコマンドの設定をします。
!pip install pexpect !git clone https://github.com/a5teri5m/vivado_magic.git from vivado_magic import VivadoMagic ip = get_ipython() vmagic = VivadoMagic(ip, prefix='/opt/Xilinx', version='2018.2') ip.register_magics(vmagic)
Vivadoを起動します。
vmagic.init()
****** Vivado v2018.2 (64-bit) **** SW Build 2258646 on Thu Jun 14 20:02:38 MDT 2018 **** IP Build 2256618 on Thu Jun 14 22:10:49 MDT 2018 ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
実際に使ってみます。1行のコマンドは%vivado
に続けてコマンドを指定します。
複数行のコマンドは%%vivado
の次の行からコマンドを書きます。%%vivado sample.tcl
とファイルを指定することもできます。
まとめ
とりあえずは、vivadoのTclが直接叩けるようになった。
おそらく、真面目に終了処理書いてないので、vivadoのプロセスがちゃんと終了されずに残るはずなので注意する。 あと、時間がかかる処理とか、出力が多いものとかも確かめてないのでダメかもしれない。 また暇なときに確認したり直したりする。