オブジェクトのキャッシュ - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: Tcl スクリプト機能の使用 (UG894)

Document ID
UG894
Release Date
2023-11-17
Version
2023.2 日本語

オブジェクトまたはオブジェクトのリストを Tcl 変数にキャッシュし、再利用します。

たとえば、同じネットのリストをスクリプトで複数回使用する場合は、同じクエリを繰り返し実行するのは効率的ではありません。Vivado ツールの Tcl コマンドは効率的に実行されますが、Tcl クエリを実行するたびに Tcl インタープリターとアプリケーションの 下位 C++ コードの間を行き来することになります。この C++/Tcl のアクセスに時間がかかるので、できる限り避けるようにします。

Vivado の異なるフィルター機能をできる限り利用します。効果的な検索パターン、-of_objects オプション、-filter オプション、および filter コマンドを使用することで実行時間を短縮できます。これらの機能はアプリケーションの下位にインプリメントされており、実行時間およびメモリの点で非常に効率的です。

クエリの結果をキャッシュして、そのオブジェクトのリストに対して filter コマンドを実行してオブジェクトのサブリストを作成できます。また、インメモリ デザインにアクセスせずに、標準 Tcl コマンドを使用して Tcl 変数に代入された結果を解析できます。

set allCells [get_cells * -hier]
lsort $allCells ; # Returns a sort ordered list of all cells
filter $allCells {IS_PRIMITIVE} ; # Returns only the primitive cells
filter $allCells {!IS_PRIMITIVE} ; # Returns non-primitive cells