-
ブロック デザインの作成に示すように、Vivado IDE でプロジェクトと新しいブロック デザインを作成します。ブロック デザインが完成すると、キャンバスには次の図に示すようなデザインが表示されます。
- ブロック デザインを開いた状態で
をクリックします。 - 次の図のように、[Export Block Design] ダイアログ ボックスで Tcl ファイルの名前およびディレクトリを指定します。
または、[Tcl Console] ウィンドウに
write_bd_tcl
コマンドを入力します。write_bd_tcl <path to file>/<filename>.tcl
これで、ブロック デザインを作成し直す Tcl ファイルが作成されます。
注意:ユーザーの変更したパラメーターのみがこの Tcl ファイルに書き出されます。IP のデフォルトのパラメーター、およびパラメーター伝搬後にツールで変更されたパラメーターは書き出されません。
ブロック デザイン レイアウト情報は、デフォルトでは書き出されません。ブロック デザイン内のブロックのレイアウト情報を書き出すには、Tcl コマンドで -include_layout
オプションを指定します。
write_bd_tcl -include_layout <path to file>/<filename>.tcl
この Tcl ファイルには、作成された Vivado ツールのバージョンに関する情報が埋め込まれているので、別の Vivado Design Suite リリースでは使用できません。Tcl ファイルには、ブロック デザインに含まれる IP と、それらの設定および接続に関する情報も含まれます。
write_bd_tcl
で作成したスクリプトは、作成したリリースでのみ使用してください。ほかのバージョンの Vivado Design Suite では使用しないでください。
write_bd_tcl
コマンドでは、階層ブロックのみの Tcl スクリプトを生成することもでき、デザインのサブブロックまたは階層ブロックをほかのブロック デザインで再利用する必要がある場合などに便利です。たとえば、次の図の階層ブロック hier_mig
の内容を生成する Tcl スクリプトを生成できます。
これには、write_bd_tcl
Tcl コマンドを -hier_blk
オプションを使用して実行します。次に例を示します。
write_bd_tcl -hier_blks [get_bd_cells /hier_mig] ./mig_hierarchy.tcl
上記のコマンドで生成される Tcl スクリプトを別のブロック デザインに読み込むと、同じ階層を作成できます。Tcl コンソールに次を入力します。
source ./mig_hierarchy.tcl
この Tcl スクリプトを実行すると、[Tcl Console] ウィンドウで Tcl スクリプトの最後に次が表示されます。
##################################################################
# Available Tcl procedures to recreate hierarchical blocks:
# create_hier_cell_hier_mig parentCell nameHier
##################################################################
次のように、[Tcl Console] ウィンドウに示される上記の構文を使用します。
create_hier_cell_hier_mig / my_new_hierarchy
次の図に示すように、my_new_hierarchy
という新しい階層ブロックがブロック デザインに作成されます。
これで write_bd_tcl
コマンドで作成した Tcl スクリプトを source <path to
file>/<filename>.tcl
と入力してプロジェクトに読み込んで、ブロック デザインを作成し直すことができます。
カスタム IP がブロック デザインに含まれる場合、write_bd_tcl
コマンドで作成した Tcl スクリプトにプリチェックが含まれ、ブロック デザインの作成前にそのカスタム IP を含む IP リポジトリが追加されているかどうかがチェックされます。カスタム IP リポジトリがプロジェクトに追加されていない場合は、Tcl ファイルを読み込んだときに次のようなエラー メッセージが表示されます。
ERROR: [BD_TCL-115] The following IPs are not found in the IP Catalog:
xilinx.com:user:config_mb:1.0
Resolution: Please add the repository containing the IP(s) to the project.
エラー メッセージに記述されているように、Tcl ファイルを読み込む前にこの IP リポジトリをプロジェクトに追加しておく必要があります。IP リポジトリの追加方法は、 『Vivado Design Suite ユーザー ガイド: IP を使用した設計』 (UG896) の「リポジトリを管理」を参照してください。