Vivado IDE での Tcl スクリプトへのブロック デザインのエクスポート - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: IP インテグレーターを使用した IP サブシステムの設計 (UG994)

Document ID
UG994
Release Date
2023-10-18
Version
2023.2 日本語
Vivado IDE でブロック デザインを Tcl スクリプトに変換するには、次の手順に従います。
  1. ブロック デザインの作成に示すように、Vivado IDE でプロジェクトと新しいブロック デザインを作成します。ブロック デザインが完成すると、キャンバスには次の図に示すようなデザインが表示されます。

  2. ブロック デザインを開いた状態で File > Export > Export Block Design をクリックします。

  3. 次の図のように、[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 スクリプトを生成できます。

図 1. 階層の 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 という新しい階層ブロックがブロック デザインに作成されます。

図 2. エクスポートされたブロック デザイン

これで 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) の「リポジトリを管理」を参照してください。