今さらながら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形式に変換することができる。
実際にやってみると、これまで各IPでディレクトリが作成されていたものが、xcixというファイルに統一されるようになった。
もちろん、Generate Output Filesを選択することにより、これまで通りシミュレーションや合成用のファイルを作成することができる。
こちらにも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>というファイルがシミュレーションファイルだ。 これに登録名を変えて、シミュレーション環境を再構築してみよう。