syn.interface
コマンドは、HLS コンポーネントに適用されるデフォルトのインターフェイス設定をコンフィギュレーションします。これらの設定は、特定の最上位インターフェイス ポートに対して syn.directive.interface
を使用するとオーバーライドできます。
- syn.interface.clock_enable
-
デザインにクロック イネーブル ポート (
ap_ce
) を追加します。このクロック イネーブルは、アクティブ Low の場合、すべてのクロック動作が実行されないようにし、すべてのシーケンシャル動作をディスエーブルにします。デフォルトは false です。syn.interface.clock_enable=1
- syn.interface.default_slave_interface
-
デフォルトのスレーブ インターフェイスを指定します。
s_axilite
とnone
の 2 つのモードがあります。デフォルトはs_axilite
です。syn.interface.default_slave_interface=none
- syn.interface.m_axi_addr64
-
すべての
m_axi
インターフェイスで 64 ビットのアドレス指定をイネーブルにします。これはデフォルトでイネーブルになります。ディスエーブルの場合、m_axi
インターフェイスは 32 ビットのアドレス指定を使用します。syn.interface.m_axi_addr64=1
- syn.interface.m_axi_alignment_byte_size
-
すべての
m_axi
インターフェイスに対して、デフォルトのアライメント バイト サイズを指定します。このオプションを指定しない場合、デフォルトは Vitis カーネル フローの場合は 64 バイト、Vivado IP フローの場合は 1 バイトです。詳細は、『Vitis 高位合成ユーザー ガイド』 (UG1399) の「Vivado/Vitis フローのデフォルト」セクションを参照してください。syn.interface.m_axi_alignment_byte_size=16
ヒント: 0 は有効な値ではありません。 - syn.interface.m_axi_auto_id_channel
-
m_axi
インターフェイスのチャネル ID の自動割り当てを有効にします。これは、デフォルトではディスエーブルです。詳細は、『Vitis 高位合成ユーザー ガイド』 (UG1399) の「AXI4 マスター インターフェイス」を参照してください。syn.interface.m_axi_auto_id_channel=1
- syn.interface.m_axi_auto_max_ports
-
インターフェイス上の各引数またはポートに対して、個別の
m_axi
インターフェイス アダプターを自動作成できるようにします。これはデフォルトでイネーブルになっており、m_axi
インターフェイスを必要最低限に減らします。詳細は、『Vitis 高位合成ユーザー ガイド』 (UG1399) の「M_AXI バンドル」を参照してください。syn.interface.m_axi_auto_max_ports=1
- syn.interface.m_axi_buffer_impl
-
m_axi
アダプターに内蔵されているすべてのバッファーのインプリメンテーション リソースを指定します。選択肢は、auto
、lutram
、bram
、uram
です。デフォルトはbram
です。syn.interface.m_axi_buffer_impl=lutram
- syn.interface.m_axi_cache_impl
-
m_axi
アダプターに追加するキャッシュのインプリメンテーション リソースを指定します。選択肢は、auto
、lutram
、bram
、uram
です。デフォルトはauto
です。syn.interface.m_axi_cache_impl=lutram
- syn.interface.m_axi_conservative_mode
-
すべての
m_axi
アダプターを保守的なモードに設定し、関連する書き込みデータがすべて揃うまで書き込み要求の発行を待ちます (通常は、アダプターにバッファリングされるか、既に発行済み)。MAXI アダプター内のバッファーを使用して、バースト用 (読み出しと書き込みの両方) のすべてのデータを格納します。これはデフォルトでイネーブルで、書き込みレイテンシが多少長くなる可能性はありますが、メモリ サブシステムに対する同時要求 (読み出しまたは書き込み) により発生するデッドロックを解決できます。false
に設定すると、保守的モードをディスエーブルにします。syn.interface.m_axi_conservative_mode=0
- syn.interface.m_axi_flush_mode
-
すべての
m_axi
アダプターをフラッシュ可能にします。パイプライン ブロッキング (保守的モードが指定されない場合にデータ入力が欠落する、または出力空間が欠落する可能性あり) のためにバーストが中断された場合は、無効なデータが書き込みまたは読み出しされます。これは、デフォルトではディスエーブルです。syn.interface.m_axi_flush_mode=1
- syn.interface.m_axi_latency
-
m_axi
インターフェイスのレイテンシをグローバルに指定し、読み出しまたは書き込みの指定サイクル (レイテンシ) 前にバス要求を開始できるようにします。デフォルト値は、Vitis カーネル フローの場合は 64、Vivado IP フローの場合は 0 です。詳細は、『Vitis 高位合成ユーザー ガイド』 (UG1399) の「Vivado および Vitis フローのデフォルト」を参照してください。syn.interface.m_axi_latency=5
- syn.interface.m_axi_max_bitwidth
-
m_axi
インターフェイスのデータ チャネルの最大ビット幅を指定します。デフォルトは 1024 です。8 ~ 1024 の 2 のべき乗を指定する必要があります。実際のアクセスが必要なインターフェイスよりも多い場合、アクセスがマルチサイクル バーストに分割されるので、スループットが小さくなります。syn.interface.m_axi_max_bitwidth=128
- syn.interface.m_axi_max_read_burst_length
-
m_axi
インターフェイスすべてのバースト転送中に読み出されるデータ値の最大数をグローバルに指定します。デフォルトは 16 です。syn.interface.m_axi_max_read_burst_length=12
- syn.interface.m_axi_max_widen_bitwidth
-
自動的にポート幅を変更して、
m_axi
インターフェイスのバーストを選択した幅まで広げます。8 ~ 1024 の 2 のべき乗を指定し、-m_axi_alignment_size
に揃える必要があります。デフォルト値は、Vitis カーネル フローの場合は 512、Vivado IP フローの場合は 0 です。syn.interface.m_axi_max_widen_bitwidth=64
- syn.interface.m_axi_max_write_burst_length
-
m_axi
インターフェイスすべてのバースト転送中に書き込まれるデータ値の最大数をグローバルに指定します。デフォルトは 16 です。syn.interface.m_axi_max_write_burst_length=12
- syn.interface.m_axi_min_bitwidth
-
m_axi
インターフェイスのデータ チャネルの最小ビット幅を指定します。デフォルトは 8 ビットです。8 ~ 1024 の 2 のべき乗を指定する必要があります。実際のアクセスが必要なインターフェイスよりも少ない場合は、このオプションでスループットが必ずしも増加するというわけではありません。syn.interface.m_axi_min_bitwidth=64
- syn.interface.m_axi_num_read_outstanding
-
デザインが停止する前に、
m_axi
インターフェイスに対して応答なしで送信できる読み出し要求の数を指定します。これによって、デザイン内の内部ストレージで、つまり FIFO のサイズが変わります。num_read_outstanding*max_read_burst_length*word_size
デフォルト値は 16 です。syn.interface.m_axi_num_read_outstanding=8
- syn.interface.m_axi_num_write_outstanding
-
デザインが停止する前に、
m_axi
インターフェイスに対して応答なしで送信できる書き込み要求の数を指定します。これによって、デザイン内の内部ストレージで、つまり FIFO のサイズが変わります。num_write_outstanding*max_write_burst_length*word_size
デフォルト値は 16 です。syn.interface.m_axi_num_write_outstanding=8
- syn.interface.m_axi_offset
-
すべての
m_axi
インターフェイスのデフォルト オフセット メカニズムを指定します。次のオプションがあります。-
off
: オフセット ポートは生成されません。 -
slave
: オフセット ポートを生成して、それを自動的にs_axilite
インターフェイスにマップします。これがデフォルト値です。 -
direct
: アドレス オフセットをオフセット ポートを介して IP に直接渡すためのスカラー入力オフセット ポートを生成します。
syn.interface.m_axi_offset=slave
-
- syn.interface.register_io
-
すべてのスカラー入力、出力、または最上位関数のすべてのスカラー ポート用のレジスタをグローバルにイネーブルにします (配列は常にレジスタ入力されます)。オプションは、
off
、scalar_in
、scalar_out
、scalar_all
です。デフォルトはオフoff
です。syn.interface.register_io=scalar_out
- syn.interface.s_axilite_auto_restart_counter
-
カーネルの自動再起動動作をイネーブルにします。自動再起動機能をイネーブルにする場合は 1 を、ディスエーブルにする場合は 0 (デフォルト) を使用します。イネーブルの場合、ツールが
s_axilite
インターフェイスのap_ctrl_chain
制御プロトコルで自動再起動ビットを作成します。詳細は、『高位合成ユーザー ガイド』 (UG1399) の「自動再起動モード」を参照してください。syn.interface.s_axilite_auto_restart_counter=1
- syn.interface.s_axilite_data64
-
s_axilite
インターフェイスで 64 ビット データ幅をイネーブルにします。64 ビット データ幅をイネーブルにする場合は 1 を、ディスエーブルにする場合は 0 を使用します。デフォルトは 32 ビット データ幅です。syn.interface.s_axilite_data64=1
- syn.interface.s_axilite_interrupt_mode
-
s_axilite
インターフェイスの割り込みモードを読み出しでクリア (cor
) または書き込みでトグル (tow
) に指定します。読み出しでクリア割り込みは 1 回のトランザクションで完了しますが、tow
は 2 回のトランザクションが必要です。デフォルトの割り込みモードは、Tow
です。syn.interface.s_axilite_interrupt_mode=cor
- syn.interface.s_axilite_mailbox
- ストリーム以外の安定しない
s_axilite
引数用にメールボックスの作成をイネーブルにします。メールボックス機能は、『Vitis 高位合成ユーザー ガイド』 (UG1399) の「自動再起動モード」で説明するように、自動再起動カーネルの設定と管理に使用されます。 - syn.interface.s_axilite_status_regs
-
ECC がイネーブルになった BRAM または URAM ごとに 2 つのクリア オン リード (COR) カウンターを介して、
s_axilite
レジスタ ファイル内の ECC エラー ビットの露出をイネーブルにします。オプションは、機能をイネーブルにする場合はecc
、ディスエーブルにする場合はoff
です。デフォルトではオフになっています。syn.interface.s_axilite_status_regs=ecc
- syn.interface.s_axilite_sw_reset
-
s_axilite
アダプターの SW リセットをイネーブルにします。syn.interface.s_axilite_sw_reset=1