config_interface - 2023.2 日本語

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

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 日本語

説明

インターフェイス合成中に各関数の RTL ポートをインプリメントするのに使用されるデフォルトのインターフェイス オプションを指定します。

構文

config_interface [OPTIONS]

オプション

-clock_enable[=true|false]
デザインにクロック イネーブル ポート (ap_ce) を追加します。デフォルトは false です。

クロック イネーブルは、アクティブ Low の場合、すべてのクロック動作が実行されないようにし、すべてのシーケンシャル動作がディスエーブルにします。

-default_slave_interface [none | s_axilite]
スレーブ インターフェイスのデフォルトを none (Vivado IP フローのデフォルト) または s_axilite (Vitis カーネル フローのデフォルト) に指定します (ターゲット フローの概要を参照)。
-m_axi_addr64[=true|false]
デザイン内のすべての m_axi ポートに対する 64 ビットのアドレス指定をグローバルにイネーブルにします。デフォルトでは Vitis フローでオンになりますが、それ以外ではオフになります。
-m_axi_alignment_byte_size <size>
m_axi インターフェイスのメモリ アライメント境界をビット幅で指定します。<size> 値は、有効な 2 のべき乗で指定する必要があります。0 は無効な値です。デフォルト値は、open_solution -flow_target vitis の場合は 64、-flow_target=vivado の場合は 1 で、シングル バイトに揃います。
重要: ポインターがランタイム時にアライメントされない場合、バースト動作が正しくなくなります。
-m_axi_auto_id_channel[=true|false]
m_axi インターフェイスのチャネル ID の自動割り当てを有効にします。詳細は、M_AXI チャネル を参照してください。
-m_axi_auto_max_ports[=true|false]
true の場合、INTERFACE プラグマまたは指示子を使用して明示的にバンドルされていない m_axi インターフェイスはすべて個別のインターフェイスにマップされるので、リソース使用量が増加します (複数のアダプター)。デフォルトは false で、m_axi ポートは 1 つのインターフェイスにまとめられます。
-m_axi_buffer_impl [auto | lutram | uram | bram]
すべての m_axi 内部バッファーに対するインプリメンテーションを選択します。選択肢は、autolutrambramuram です。デフォルトは bram です。
-m_axi_cache_impl [auto | lutram | uram | bram]

m_axi アダプターに追加するキャッシュのインプリメンテーション リソースを指定します。選択肢は、autolutrambramuram です。デフォルトは auto です。

-m_axi_conservative_mode=<true|false>
このモードでは、書き込みデータがすべて揃うまでまで m_axi から書き込み要求は発行されません。MAXI アダプター内のバッファーを使用して、バースト用 (読み出しと書き込みの両方) のすべてのデータを格納します。これはデフォルトでイネーブル (true) で、書き込みレイテンシが多少長くなる可能性はありますが、メモリ サブシステムに対する同時要求 (読み出しまたは書き込み) により発生するデッドロックを解決できます。この機能をディスエーブルにするするには、false に設定します。
ヒント: 別の方法で最大書き込みバースト長よりも大きいバッファリングをインプリメントする場合、このモードを false に設定しておくと、この内部バッファリングを保存できます。
-m_axi_flush_mode
m_axi アダプターをフラッシュ可能にします。パイプラインがブロックされたためにバーストが中断された場合は無効なデータが書き込み/読み出しされる、-m_axi_conservative_mode が指定されていない場合はデータ入力が欠落する、または出力空間が欠落する可能性があります。デフォルトは false です。オプションを指定するとイネーブルになります。
-m_axi_latency <latency>
m_axi インターフェイスのレイテンシをグローバルに指定し、読み出しまたは書き込みの指定サイクル (レイテンシ) 前にバス要求を開始できるようにします。デフォルト値は、open_solution -flow_target vitis の場合は 64、-flow_target vivado の場合は 0 です。
-m_axi_max_bitwidth <size>
m_axi インターフェイスのデータ チャネルの最大ビット幅を指定します。デフォルトは 1024 です。8 ~ 1024 の 2 のべき乗を指定する必要があります。実際のアクセスが必要なインターフェイスよりも多い場合、アクセスがマルチサイクル バーストに分割されるので、スループットが小さくなります。
-m_axi_max_read_burst_length <size>
m_axi インターフェイスすべてのバースト転送中に読み出されるデータ値の最大数をグローバルに指定します。デフォルトは 16 です。
-m_axi_max_widen_bitwidth <size>
自動的にポート幅を変更して、m_axi インターフェイスのバーストを選択した幅まで広げます。8 ~ 1024 の 2 のべき乗を指定し、-m_axi_alignment_size に揃える必要があります。デフォルト値は open_solution -flow_target vitis の場合 512 で、-flow_target vivado の場合 0 です。
-m_axi_max_write_burst_length <size>
m_axi インターフェイスすべてのバースト転送中に書き込まれるデータ値の最大数をグローバルに指定します。デフォルトは 16 です。
-m_axi_min_bitwidth <size>
m_axi インターフェイスのデータ チャネルの最小ビット幅を指定します。デフォルトは 8 ビットです。8 ~ 1024 の 2 のべき乗を指定する必要があります。実際のアクセスが必要なインターフェイスよりも少ない場合は、このオプションでスループットが必ずしも増加するというわけではありません。
-m_axi_num_read_outstanding <size>
デザインが停止する前に、m_axi インターフェイスに対して応答なしで送信できる読み出し要求の数を指定します。デフォルト値は 16 です。これによって、デザイン内の内部ストレージで、つまり FIFO のサイズが変わります。
num_read_outstanding*max_read_burst_length*word_size
-m_axi_num_write_outstanding <size>
デザインが停止する前に、m_axi インターフェイスに対して応答なしで送信できる書き込み要求の数を指定します。デフォルト値は 16 です。これによって、デザイン内の内部ストレージで、つまり FIFO のサイズが変わります。
num_write_outstanding*max_write_burst_length*word_size
-m_axi_offset [off | direct | slave]
デザイン内のすべての m_axi インターフェイスのオフセット ポートをグローバルに制御します。
off
オフセット ポートは生成されません。これが Vivado IP フローのデフォルト値です。
direct
アドレス オフセットをオフセット ポートを介して IP に直接渡すためのスカラー入力オフセット ポートを生成します。
slave
オフセット ポートを生成して、それを自動的に AXI4-Lite スレーブにマップします。これがデフォルト値です。
-register_io [off | scalar_in | scalar_out | scalar_all]
すべての入力、出力、または最上位関数のすべてのポート用のレジスタをグローバルにイネーブルにします。デフォルトはオフoffです。
-s_axilite_auto_restart_counter [ 0 | 1 ]
カーネルの自動再起動動作をイネーブルにします。自動再起動機能をディスエーブルにするには、0 を使用し、イネーブルにするには 1 を使用します。イネーブルの場合、ツールが s_axilite インターフェイスの ap_ctrl_chain 制御プロトコルで自動再起動ビットを作成します。詳細は、 『Vitis 統合ソフトウェア プラットフォーム資料: アプリケーション アクセラレーション開発』 (UG1393)「連続して実行されるカーネル」を参照してください。
-s_axilite_data64[=true|false]
s_axilite インターフェイスのデータ幅を 64 ビットに設定します。
-s_axilite_interrupt_mode[=cor|tow]
s_axilite インターフェイスの割り込みモードを読み出しでクリア (cor) または書き込みでトグル (tow) に指定します。読み出しでクリア割り込みは 1 回のトランザクションで完了しますが、 tow は 2 回のトランザクションが必要です。デフォルトの割り込みモードは、Tow です。
-s_axilite_mailbox [both | in | out]
ストリーム以外の安定しない s_axilite 引数用にメールボックスの作成をイネーブルにします。メールボックス機能は、 『Vitis 統合ソフトウェア プラットフォーム資料: アプリケーション アクセラレーション開発』 (UG1393)「連続して実行されるカーネル」 で説明される決して終了しないカーネルの設定と管理に使用されます。
引数の値は、次のように指定します
  • both: 入力および出力引数のメールボックスをイネーブルにします。
  • in: 入力引数のみに対してメールボックスをイネーブルにします。
  • out: 出力引数のみに対してメールボックスをイネーブルにします。
  • none: メールボックスは作成されません (デフォルト)。
-s_axilite_status_regs [ecc | off]
ECC がイネーブルになった BRAM または URAM ごとに 2 つのクリア オン リード (COR) カウンターを介して、s_axilite レジスタ マップ内の ECC エラー ビットの露出をイネーブルにします。
off
ステータス レジスタは生成されません。これがデフォルト設定です。
ecc
BRAM および URAM の ECC エラーのカウンターをイネーブルにします。
-s_axilite_sw_reset[=false|true]
s_axilite アダプターのカーネルのソフトウェア リセットをイネーブルにします。

次に、クロック イネーブル ポートを IP に追加する例を示します。

config_interface -clock_enable