FPGA開発日記

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

VivadoでIPを生成するフローをスクリプト化する

f:id:msyksphinz:20161010221337p:plain

Vivadoでは様々なIPを生成することが出来るが、それはIP GeneratorによってGUIで様々な操作を行う必要がある。

これは面倒なので、スクリプト化しておく。

github.com

VivadoのIPは、まずIP用のプロジェクトを作成する必要があるため、スクリプトは以下のディレクトリで構成している。

ip$ tree .
.
├── Makefile
├── axibram
│   ├── Makefile
│   └── vivado.tcl
└── gen_ip_project.tcl

1 directory, 4 files

まず、IP用プロジェクトを生成する。

create_project managed_ip_project ./managed_ip_project -force -part xc7k70tfbv676-1 -ip

次に、IPを生成する。ここでは、axibramを生成する。

github.com

create_ip -name blk_mem_gen \
        -vendor xilinx.com \
        -library ip -version 8.3 \
        -module_name blk_mem_gen_0 \
        -dir ./

これで、各種IPファイル群と、シミュレーションファイルが生成された。

.
├── Makefile
├── blk_mem_gen_0
│   ├── blk_mem_gen_0.veo
│   ├── blk_mem_gen_0.vho
│   ├── blk_mem_gen_0.xci
│   ├── blk_mem_gen_0.xml
│   ├── blk_mem_gen_0_ooc.xdc
│   ├── doc
│   │   └── blk_mem_gen_v8_3_changelog.txt
│   ├── hdl
│   │   └── blk_mem_gen_v8_3_vhsyn_rfs.vhd
│   ├── misc
│   │   └── blk_mem_gen_v8_3.vhd
│   ├── sim
│   │   └── blk_mem_gen_0.v
│   ├── simulation
│   │   └── blk_mem_gen_v8_3.v
│   ├── summary.log
│   └── synth
│       └── blk_mem_gen_0.vhd
├── vivado.jou
├── vivado.log
└── vivado.tcl