FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

VivadoのIPをgitなどのバージョン管理システムで取り扱う方法 (既存のIPを追加する)

既存のIPを、Managed IP Projectに追加するためには、どういたらいいんだろうか?

ここでは、pulsar1_connect(AXIバス)というIPを、IPとしてgit管理したいとする。

github.com

http://japan.xilinx.com/support/documentation/application_notes/j_xapp1165.pdf

http://japan.xilinx.com/support/documentation/sw_manuals_j/xilinx2013_2/ug896-vivado-ip.pdf

$ ls -lt
合計 13
-rw-r--r--+ 1 masayuki None 49 6月   6 20:59 README.md
d---------+ 1 masayuki None  0 6月   6 20:48 managed_ip_project
d---------+ 1 masayuki None  0 6月   6 20:44 axi_dram_128bit

$ cp ../path_of_original_ips/pulsar1_connect/ .
$ ls -lt
ls -lt
合計 13
-rw-r--r--+ 1 masayuki None 49 6月   6 20:59 README.md
drwxr-xr-x+ 1 masayuki None  0 6月   6 20:50 pulsar1_connect
d---------+ 1 masayuki None  0 6月   6 20:48 managed_ip_project
d---------+ 1 masayuki None  0 6月   6 20:44 axi_dram_128bit

これで、まずはGUIでIPの登録を行う。とは言っても、tclを叩くだけである。

Tcl Console上にて

cd path_of_fpga_ip_project  # 当該プロジェクトディレクトリへ
add_files pulsar1_connect/pulsar1_connect.xci

xciを追加することで、プロジェクトに追加される。スクリーキャプチャでも失敗しているが、まずはcdコマンドでIPの存在している場所に移らないと、うまく追加できないので注意。 登録してみると、なんかいろいろ追加されている。dcpとかも登録されているし。

f:id:msyksphinz:20150606213400j:plain

これらの余計なファイルまでgitに登録してしまうと、後々面倒なので、まずは全体をクリーンアップしようと思う。 右クリックで、[Reset Output Products]をクリックする。

f:id:msyksphinz:20150606213656j:plain

完了すると、生成されたファイルがクリーンアップされる。

f:id:msyksphinz:20150606213724j:plain

この状態でgitに登録してしまえば良い。

$ git add pulsar1_connect
$ git commit -a -m "Func: add pulsar1_connect
$ git push origin master

あとは、これらのIPを使用する側のプロジェクトでこのリポジトリをsubmoduleとしてクローンし、xciファイルなどをVivado上でIPとして使えば良い。