説明
RTL (syn.rtl.* / config_rtl)
RTL 生成、リセット動作、FSM エンコード、およびプロファイリング機能を制御します。
注記: cosim_trace_generation はコンフィギュレーション ファイルの syn.rtl.cosim_trace_generation にマップされますが、対応する Tcl コマンドは config_export -cosim_trace_generation です (config_rtl ではありません)。
構文
| オプション | コンフィギュレーション ファイル | Tcl | デフォルト | 型/値 | 説明 |
|---|---|---|---|---|---|
| deadlock_detection | syn.rtl.deadlock_detection=[none|sim|hw|hw_diagnosis] | config_rtl -deadlock_detection [none|sim|hw|hw_diagnosis] | sim | enum | デッドロック検出。none = 無効、sim = シミュレーション/エミュレーションのみ (デフォルト)、hw = 合成済み RTL IP でイネーブル、ap_local_deadlock および ap_local_block 信号を追加、hw_diagnosis = 生成された RTL に追加の診断ロジックを含むハードウェア検出。 |
| deadlock_diagnosis | syn.rtl.deadlock_diagnosis=true | config_rtl -deadlock_diagnosis | — | bool | 詳細なデッドロック診断出力をイネーブルにします。 |
| fsm_encoding | syn.rtl.fsm_encoding=[auto|gray|johnson|one_hot|sequential|none] | config_rtl -fsm_encoding [auto|gray|johnson|one_hot|sequential|none] | — | enum | FSM ステート エンコード スタイル。auto: ツールが選択。none: バイナリ。 |
| FSM_SAFE_STATE | syn.rtl.fsm_safe_state=[auto_safe_state|reset_state|power_on_state|default_state|none] | config_rtl -fsm_safe_state [auto_safe_state|reset_state|power_on_state|default_state|none] | none | enum | 不正な FSM ステートの場合に回復するステート。auto_safe_state = Hamming-3 エンコード、reset_state = RESET ステートに戻る、power_on_state = POWER_ON ステートに戻る、default_state = デフォルト ステートに戻る、none = セーフ ステート ロジックなし (属性は RTL に追加されない)。パフォーマンスが低下し、面積が増加する場合があります。 |
| header | syn.rtl.header=<file> | config_rtl -header <file> | — | path | すべての生成済み RTL ファイルの先頭に挿入されるヘッダー コメント ファイル。 |
| kernel_profile | syn.rtl.kernel_profile=true | config_rtl -kernel_profile | 0 | bool | 生成された RTL でカーネル プロファイリング カウンターをイネーブルにします。 |
| module_auto_prefix | syn.rtl.module_auto_prefix=true | config_rtl -module_auto_prefix | 1 | bool | 名前の衝突を回避するために、すべての RTL モジュール名に自動的にプレフィックスを追加します。 |
| module_prefix | syn.rtl.module_prefix=<prefix> | config_rtl -module_prefix <s> | — | 文字列 | 生成されるすべての RTL モジュール名に使用される接頭辞を指定します。 |
| mult_keep_attribute | syn.rtl.mult_keep_attribute=true | config_rtl -mult_keep_attribute | 0 | bool | 合成の最適化を防ぐために、乗算器出力に keep 属性を追加します。 |
| register_all_io | syn.rtl.register_all_io=true | config_rtl -register_all_io | 0 | bool | すべての最上位 I/O ポートをレジスタに格納します。 |
| register_reset_num | syn.rtl.register_reset_num=<N> | config_rtl -register_reset_num <N> | 0 | int | リセット信号のファンアウト用のパイプライン段数 (リセットのタイミング圧力を軽減します)。 |
| reset | syn.rtl.reset=[none|control|state|all] | config_rtl -reset [none|control|state|all] | control | enum | リセットする信号。none、control (制御ロジックのみ)、state (ステート レジスタ)、all。 |
| reset_async | syn.rtl.reset_async=true | config_rtl -reset_async | 0 | bool | 同期リセットの代わりに非同期リセットを使用します。 |
| reset_level | syn.rtl.reset_level=[high|low] | config_rtl -reset_level [high|low] | High | enum | リセット信号のアクティブ レベル。high (アクティブ High、デフォルト) または low (アクティブ Low)。 |
ヒント:
reset_level: AXI プロトコルにはアクティブ Low リセットが必要です。デザインが AXI インターフェイスを使用している場合、config_rtl -reset_level がアクティブ High であれば、ツールは警告を表示してこのリセット レベルを定義します。AXI デザインの場合は -reset_level low を設定します。
使用法
ini
[hls]
syn.rtl.reset=state
syn.rtl.reset_level=low
syn.rtl.fsm_encoding=one_hot
syn.rtl.module_prefix=myproj_
tcl
config_rtl -reset state -reset_level low -fsm_encoding one_hot -module_prefix myproj_
例
tcl
# Configure all registers to use an asynchronous active-Low reset:
config_rtl -reset all -reset_async -reset_level low
# Add a header comment from file to all output RTL files:
config_rtl -header my_message.txt