RTL - RTL - 2026.1 日本語 - UG1399

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

Document_ID
UG1399
Release_Date
2026-06-23
Version
2026.1 日本語

説明

RTL (syn.rtl.* / config_rtl)

RTL 生成、リセット動作、FSM エンコード、およびプロファイリング機能を制御します。

注記: cosim_trace_generation はコンフィギュレーション ファイルの syn.rtl.cosim_trace_generation にマップされますが、対応する Tcl コマンドは config_export -cosim_trace_generation です (config_rtl ではありません)。

構文

表 1. コンフィギュレーションの表
オプション コンフィギュレーション ファイル 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