インターフェイス コンフィギュレーション - 2023.2 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

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_axilitenone の 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 アダプターに内蔵されているすべてのバッファーのインプリメンテーション リソースを指定します。選択肢は、autolutrambramuram です。デフォルトは bram です。
syn.interface.m_axi_buffer_impl=lutram
syn.interface.m_axi_cache_impl
m_axi アダプターに追加するキャッシュのインプリメンテーション リソースを指定します。選択肢は、autolutrambramuram です。デフォルトは 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
すべてのスカラー入力、出力、または最上位関数のすべてのスカラー ポート用のレジスタをグローバルにイネーブルにします (配列は常にレジスタ入力されます)。オプションは、offscalar_inscalar_outscalar_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) の「自動再起動モード」で説明するように、自動再起動カーネルの設定と管理に使用されます。
使用可能なオプションは次のとおりです。
  • in: 入力引数のみに対してメールボックスをイネーブルにします。
  • out: 出力引数のみに対してメールボックスをイネーブルにします。
  • both: 入力および出力引数のメールボックスをイネーブルにします。
  • none: メールボックスは作成されません。これがデフォルト値です。
syn.interface.s_axilite_mailbox=in
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