config_rtl - 2024.1 日本語

Vitis 高位合成ユーザー ガイド (UG1399)

Document ID
UG1399
Release Date
2024-05-30
Version
2024.1 日本語

説明

出力される RTL のさまざまな属性と、使用されるリセットの種類を設定します。RTL で特定の ID を使用できるようにもします。デフォルトでは、これらのオプションは最上位デザインおよびそのデザイン内のすべての RTL ブロックに適用されます。

構文

config_rtl [OPTIONS]

オプション

-deadlock_detection <none | sim | hw | hw_diagnosis>
エクスポートされた IP/XO ファイルの最上位 RTL でシミュレーションまたは合成デッドロック検出をイネーブルにします。設定できるオプションは次のとおりです。
  • none: デッドロック検出はディスエーブル
  • sim: デッドロック検出はシミュレーション/エミュレーションでのみイネーブル
  • hw: デッドロック検出は合成済みのシミュレーション可能な RTL IP でイネーブル。ap_local_deadlock および ap_local_block 信号を IP に追加して、ローカルおよびグローバルなデッドロック検出をイネーブルします。
  • hw_diagnosis: 生成された RTL コードに診断ロジックを追加することで、デッドロック検出をイネーブルにします。
-fsm_encoding [one_hot|sequential|johnson|gray|auto|none]
デフォルトは none です。RTL 合成ツールが従う RTL 属性の fsm_encoding の値を指定します。
  • auto: RTL 合成ツールで最適なステート マシン エンコーディングが決定されるようになります。
  • gray: グレイ ステート マシン エンコーディングを使用します。
  • johnson: ジョンソン ステート マシン エンコーディングを使用します。
  • one_hot: one_hot ステート マシン エンコーディングを使用します。
  • sequential: シーケンシャル ステート マシン エンコーディングを使用します。
  • none: ステート マシン エンコーディングをディスエーブルにし、ステート マシンをロジックとして合成します。
-fsm_safe_state [auto_safe_state|reset_state|power_on_state|default_state|none]
デフォルトは none です。RTL 合成ツールが従う RTL 属性の fsm_safe_state の値を指定します。この属性は、合成結果の質に影響し、エリアが大きくなってパフォーマンスが低下することがあります。
  • auto_safe_state: Hamming-3 エンコーディングが使用されます。
  • default_state: ステート マシンをデフォルト ステートに戻します。
  • power_on_state: ステート マシンを POWER_ON ステートに戻します。
  • reset_state: ステート マシンを RESET ステートに戻します。
  • none: RTL に属性が追加されていない場合、ステート マシンにはセーフ ステート ロジックは含まれません。
-header <string>
<string> ファイルの内容をコメントとしてすべての出力 RTL およびシミュレーション ファイルの冒頭に挿入します。
ヒント: このオプションを使用すると、出力 RTL ファイルにユーザー指定の ID が含まれるようになります。
-kernel_profile
カーネルのプロファイルに必要な最上位イベントとストール ポートを追加します。
-module_auto_prefix
最上位関数名に接頭辞を自動的に付けます。config_rtl -module_prefix オプションを使用した場合は無視されます。これはデフォルトでイネーブルになります。
-module_prefix <string>
すべての RTL エンティティ/モジュール名に追加するユーザー定義の接頭辞を指定します。
-mult_keep_attribute
keep 属性をイネーブルにします。
-register_all_io
デフォルトですべての I/O 信号にレジスタを付けます。デフォルトは false です。オプションを指定するとイネーブルになります。
-register_reset_num <int>
リセット信号に追加するレジスタの数を指定します。Vivado IP フローでは、デフォルトは 0 です。Vitis カーネル フローの場合、デフォルト値は 3 です。
-reset [none | control | state | all]
C/C++ コードで初期化される変数は RTL (およびビットストリーム) では常に同じ値に初期化されます。この初期化はパワーオン時にのみ実行され、デザインにリセットが適用されたときには繰り返されません。

-reset オプションの設定により、レジスタおよびメモリのリセット方法が決まります。

none
デザインにリセットを追加しません。
control
ステート マシンに使用されるレジスタや I/O プロトコル信号を生成するために使用される制御レジスタをリセットします。これがデフォルト設定です。
state
C/C++ コードのスタティック変数またはグローバル変数から生成された制御レジスタおよびレジスタ/メモリをリセットします。C/C++ コードで初期化されるスタティック変数またはグローバル変数は、初期値にリセットされます。
all
デザイン内のレジスタおよびメモリをすべてリセットします。C/C++ コードで初期化されるスタティック変数またはグローバル変数は、初期値にリセットされます。
-reset_async
すべてのレジスタで非同期リセットを使用します。このオプションを指定しない場合は、同期リセットが使用されます。
-reset_level (low | high)
リセット信号の極性をアクティブ Low またはアクティブ High にします。デフォルトは High です。
ヒント: AXI プロトコルにはアクティブ Low リセットが必要です。デザインが AXI インターフェイスを使用している場合、config_rtl -reset_level がアクティブ High であれば、ツールは警告を表示してこのリセット レベルを定義します。

出力 RTL ですべてのレジスタが非同期のアクティブ Low リセット信号でリセットされるように設定します。

config_rtl -reset all -reset_async -reset_level low

my_message.txt ファイルの内容をコメントとしてすべての RTL 出力ファイルに追加します。

config_rtl -header my_mesage.txt