手順 3: デザインのコンパイル - 2023.2 日本語

Vivado Design Suite チュートリアル: Dynamic Function eXchange (UG947)

Document ID
UG947
Release Date
2023-11-29
Version
2023.2 日本語

DFX Controller IP は作成されましたが、デザインはまだコンパイルされていません。必要なフルおよびパーシャルのイメージをすべて使用して PROM イメージを作成するには、次のコマンドを使用して Tcl モードで次のスクリプトを実行する必要があります。

vivado -mode tcl -source design.tcl
design.tcl を実行すると、必要な IP すべてが生成され (DFX Controller を含む)、デザイン全体が合成およびインプリメントされ (3 つのコンフィギュレーション)、DFX Controller の Tcl API を使用して vs_count VSM がアップデートされ、ビットストリームが生成されます。
注記: IP のカスタマイズはスクリプト化されます。gen_ip_vcu108.tcl スクリプト (<Extract_Dir>/Sources/scripts にある) を開き、DFX Controller など、自動化された IP 作成のパラメーターをすべて確認します。IP の GUI を使用して作成する DFX Controller のインスタンスは、フル デザインの処理に実際には使用されないので、デザイン全体をコンパイルする手順 2 を完了させる必要はありません。
vivado -mode tcl -source create_prom_file_vcu108.tcl

create_prom_file_vcu108.tcl を実行すると、VCU108 の PROM イメージが作成されます。このスクリプトには、プロジェクト全体のビットストリーム アドレスのハードコード化された値が含まれています。このデザインが変更された結果、ビットストリーム サイズもフル/パーシャルに関係なく変更になる場合は、これらの値も変更する必要があります。ターゲット デバイスの変更、Pblock のサイズや形状の変更、ビットストリームの圧縮やフレームごとの CRC のオプションなどを変更すると、ビットストリーム サイズに影響します。

プロパティを設定してから write_cfgmem を呼び出すと、このスクリプトで PROM オプションが定義されます。DFX Controller は、データが AXI でバイトで格納されるので、バイト アドレスで機能します。このリニア フラッシュ PROM は、ハーフ ワード (16 ビット) でデータが格納されるので、ハーフ ワード アドレスが使用されます。ROM アドレスを 2 で割って AXI アドレスを計算します。たとえば shift_left アドレスは、DFX Controller をカスタマイズしたときに 00B00000 に設定されていますが、write_cfgmem を呼び出す場合は 00580000 (前出のアドレスの半分) になります。バイト アドレスの境界で各ストリームが開始するようにするため、開始アドレスは常に 1024 (0x0400) の倍数になります。

この演習ディレクトリにあるファイルは dfxc_bitstream_sizes_lab6.xlsx という名前です。このファイルでは、ビットストリーム サイズは、黄色くハイライトされたフィールドに基づいてユーザーによって入力されます。次のバイト境界での各パーシャル ビットストリームの開始アドレスは 16 進数で計算されます。青くハイライトされている値は、DFX Controller IP のカスタマイズ用で、この IP の GUI、gen_ip_vcu108.tcl スクリプト、配線後の API 変更用に使用される dfx_info_vcu108.tcl を使用して入力されます。緑色にハイライトされている値は、create_prom_file_vcu108.tcl スクリプトの PROM ファイル生成で使用され、アドレスを 2 で割った値です。