SDSoCのPlatform作成手順

どこかにスクリプトを作ったはずなんだけどなぁと思ってたら簡単だったのでメモだけしてプロジェクトごと削除してしまったみたいだ。

SDSoC ハードウェア用Platform作成tcl

次のtclスクリプトはZynq-7000用である。

下記を適当に保存する。

set pfm [sdsoc::create_pfm zturn.hpfm]
sdsoc::pfm_name        $pfm "xilinx.com" "xd" "zturn" "1.0"
sdsoc::pfm_description $pfm "Z-Turn Board"
sdsoc::pfm_clock       $pfm FCLK_CLK0 ps7 0 false proc_sys_reset_0
sdsoc::pfm_clock       $pfm FCLK_CLK1 ps7 1 true  proc_sys_reset_1
sdsoc::pfm_clock       $pfm FCLK_CLK2 ps7 2 false proc_sys_reset_2
sdsoc::pfm_clock       $pfm FCLK_CLK3 ps7 3 false proc_sys_reset_3
#sdsoc::pfm_axi_port    $pfm M_AXI_GP0 ps7 M_AXI_GP
sdsoc::pfm_axi_port    $pfm M_AXI_GP1 ps7 M_AXI_GP
sdsoc::pfm_axi_port    $pfm S_AXI_ACP ps7 S_AXI_ACP
#sdsoc::pfm_axi_port    $pfm S_AXI_HP0 ps7 S_AXI_HP
sdsoc::pfm_axi_port    $pfm S_AXI_HP1 ps7 S_AXI_HP
sdsoc::pfm_axi_port    $pfm S_AXI_HP2 ps7 S_AXI_HP
sdsoc::pfm_axi_port    $pfm S_AXI_HP3 ps7 S_AXI_HP
for {set i 4} {$i < 16} {incr i} {
  sdsoc::pfm_irq       $pfm In$i xlconcat
}
sdsoc::generate_hw_pfm $pfm

pfm_name、pfm_descriptionをカスタムFPGA用に修正する。

zturn.hpfmはファイル名なのでこれも適宜修正する。

AXIバスはブロックデザインで使用しているバスはコメントアウトする。

つまり、SDSoCで使って良いポートだけを定義するのである。

あとは、Vivadoでこのスクリプトを実行するだけでOK。

プロジェクトを読みこませる行を追加して次のようにバッチで実行もいいかもね。

$ vivado -mode batch -source create_platform.tcl
write: 2017/04/08/ 01:01:33