FPGA開発日記

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

Vivado 2015.3の新機能であるCore Containerについて調査

今さらながらVivado 2015.3 をインストールして、IP Managerを立ち上げてみると、Core Containerという新機能が追加されていた。

Core Containerは、IPマネージャで管理されている各IPを、1つのファイルで管理できるようになるという構造だ。これまで複数のファイルにディレクトリとして別れていたものが、一つのxcixというファイルで管理されるようになり、バージョン管理システムでも扱いやすくなる。

http://www.xilinx.com/support/documentation/sw_manuals/xilinx2015_3/ug896-vivado-ip.pdf

実際、Vivado 2015.3より前に作っていたIPを 2015.3のIP Managerで開くと、バージョンアップとCore Containerの変換の確認メッセージが表示された。 また、IPのメニューでも「Enabel Core Container」を選択することで既存のIPをCore Container形式に変換することができる。

f:id:msyksphinz:20151115195830p:plain

実際にやってみると、これまで各IPでディレクトリが作成されていたものが、xcixというファイルに統一されるようになった。

もちろん、Generate Output Filesを選択することにより、これまで通りシミュレーションや合成用のファイルを作成することができる。

github.com

こちらにもXilinxのトレーニングビデオがある。こちらの英語は比較的易しいのでおすすめ。

Xilinx® トレーニング : IP 用 Core Container の使用

これでディレクトリ構造を変更すると、基本IPの設定を埋め込んだファイルは<IPファイル名>.xcixにまとめられ、それ以外の生成ファイルは、ip_user_filesに作成される。 treeで表示するとこんな感じだ。L2から下は切り取っているが、ちゃんと下の方にはシミュレーションファイルなども生成されている。

tree . -L 2
.
├── axi_dram_128bit.xcix
├── ip_user_files
│   ├── ip
│   ├── ipstatic
│   ├── mem_init_files
│   ├── README.txt
│   └── sim_scripts
├── managed_ip_project
│   ├── managed_ip_project.cache
│   ├── managed_ip_project.hw
│   ├── managed_ip_project.runs
│   ├── managed_ip_project.sim
│   └── managed_ip_project.xpr
├── pulsar1_connect.xcix
└── README.md

ip_user_files/ip/axi_dram_128bit/axi_dram_128bit_sim_netlist.v
ip_user_files/ip/pulsar1_connect/pulsar1_connect_sim_netlist.v

このように、<IP名_sim_netlist.v>というファイルがシミュレーションファイルだ。 これに登録名を変えて、シミュレーション環境を再構築してみよう。