説明
出力される 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
です。
例
出力 RTL ですべてのレジスタが非同期のアクティブ Low リセット信号でリセットされるように設定します。
config_rtl -reset all -reset_async -reset_level low
my_message.txt
ファイルの内容をコメントとしてすべての RTL 出力ファイルに追加します。
config_rtl -header my_mesage.txt