ZYNQのPS設定(IPのカスタマイズ設定)を他プロジェクトへ移植する方法
ZYBOなどのメジャーなZYNQ基板を使用する場合はZYNQのPS設定はボードファイルを使用することで自動で設定される。しかし自作やマイナーなボードファイルが用意されていないZYNQ基板を使用する場合はPS設定を自身で行わなければならない。
新しいプロジェクトを作成するたび毎回手動でPS設定を行っていたが設定忘れやミスが多発したので別VivadoプロジェクトのIPのカスタマイズ設定をエクスポート・インポートする方法を検証した。
動作環境
開発環境:Vivado 2018.3
PC:Windows10
移植したいIPカスタマイズ設定を抽出する
移植元のプロジェクトを開き、Vivado上部のFile→Export→Export Hardwareをクリックし、OKを押しハードウェアファイルを生成する。
プロジェクトフォルダ内のプロジェクト名.sdkフォルダにブロックデザイン名_wrapper.hdfが生成されるはずなのでそれを適当な場所にコピーする。
コピーしたhdfファイルの拡張子を.hdfから.zipに変更し解凍する。(hdfファイルの実態はハードウェア情報のファイルがアーカイブされたzipファイル)
解凍した中にブロックデザイン名.tclというファイルがあるのでテキストエディタで開く。
ブロックデザイン名.tcl内の以下のような記述部分を探し出す。(# Create instance: processing_system7で検索をかけると良い。)
# Create instance: processing_system7_0, and set properties
set processing_system7_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0 ]
set_property -dict [ list \
CONFIG.PCW_ACT_APU_PERIPHERAL_FREQMHZ {666.666687} \
CONFIG.PCW_ACT_CAN0_PERIPHERAL_FREQMHZ {23.8095} \
CONFIG.PCW_ACT_CAN1_PERIPHERAL_FREQMHZ {23.8095} \
中略
CONFIG.PCW_WDT_PERIPHERAL_DIVISOR0 {1} \
CONFIG.PCW_WDT_PERIPHERAL_ENABLE {0} \
] $processing_system7_0
「適当な名前.tcl」というファイルを作成し、先ほど見つけた部分の「set_property -dict [ list \
」から「 ] $processing_system7_0
」までをコピーして貼り付ける。
末尾の$processing_system7_0
を[get_bd_cells processing_system7_0]
に書き換える。
この「適当な名前.tcl」がIPカスタマイズ設定の抽出情報となる。
抽出したIPカスタマイズ設定を反映する
移植先のプロジェクトを開きブロックデザインにZYNQ7 Processing SystemのIPを追加する。
適当な名前.tclを移植先のプロジェクトフォルダ直下(.xprファイルとかがある場所)にコピーする。
移植先のプロジェクトのVivado下部のtclコマンド入力部に
source 適当な名前.tcl
を入力して実行すると抽出したIPカスタマイズ設定が反映される。
memo
IPカスタマイズ画面のPresetsのSave Configurationでエクスポートできそうだと思ったがなぜか使用できなかった。(Preset Nameを入力してもOKが押せない。。。)
IPカスタマイズ画面のImport XPS Settingsで上記の抽出tclを指定しても反映されなかった。
0 件のコメント:
コメントを投稿