これらのカーネルには、Vitis HLS で指定された ap_ctrl_chain
または ap_ctrl_hs
プロトコルが必要です。推奨されるプロトコルは ap_ctrl_chain
です。
- カーネルは、関数の戻り時に
mode=ap_ctrl_chain
INTERFACE プラグマを指定する必要があります。 - カーネルは、ストリーミング インターフェイス (
axis
) をサポートします。 - また、カーネルはスカラー引数 (
s_axilite
) とメモリ マップ (m_axi
) 引数の両方を読み書きできます。
自動再起動カーネルは、いくつかの異なるシナリオで使用できます。
-
シナリオ 1: ストリーミング インターフェイスを使用したカーネルの自動再起動: ストリーミング インターフェイス (
axis
) でのみカーネルを自動再起動するので、カーネルがホスト アプリケーションとやり取りする必要はありません。この例は、カーネルにコンパイルされたコンフィギュレーション データを持つ高速フーリエ変換 (FFT) や、カーネルにコンパイルされた係数を持つ FIR フィルターなどです。 -
axis
インターフェイスを使用するかどうかを指定し、スカラーおよびメモリ マップ (m_axi
) 引数を使用してカーネルを自動再起動します。スカラーおよびメモリ マップ引数には、必要に応じて、カーネル パラメーターを更新するメールボックスが必要です。この例としては、リセット時にホスト アプリケーションによって記述された規則を含む単純な規則ベースのファイアウォールがあります。このファイアウォールには、ホスト コードで読み出すことができるドロップされたパケットのカウンターがありますが、すべての値が 1 回のカーネル実行から取得される必要があります。または、ハッシュ マップを使用してサーバーにデータを送信するロード バランサーが、サーバー リスト、サーバー マップ、および対応する IP アドレスを同時に更新する必要があります。