ストリーミング インターフェイス ページでは、カーネルの AXI4-Stream インターフェイスを設定できます。ストリーミング インターフェイスは、一部のプラットフォームでのみ使用可能なので、選択したプラットフォームでストリーミングがサポートされない場合、このページは表示されません。ストリーミング インターフェイスは、ホストからカーネルおよびカーネルからホストへの直接通信されるほか、ストリーミング データ転送 に示すように、継続して動作するカーネルにも使用されます。
図 1. RTL Kernel ウィザードの [Streaming Interfaces] ページ
- Number of AXI4-Stream interfaces
- カーネルに存在する AXI4-Stream インターフェイスの数を指定します。最大 32 のインターフェイスをカーネルごとにイネーブルにできます。ザイリンクスでは、インターフェイス数をできるだけ少なくして、使用されるエリア量を削減することをお勧めしています。
- Name
- インターフェイスの名前を指定します。互換性を最大限にするため、引数名はカーネル名と同じ識別規則に従います。
- Mode
- インターフェイスがマスターかスレーブかを指定します。AXI4-Stream スレーブ インターフェイスは読み出し専用インターフェイスで、RTL カーネルはホスト プログラムからの
clWriteStream
API を使用してデータを送信できます。AXI4-Stream マスター インターフェイスは書き込み専用インターフェイスで、ホスト プログラムはclReadStream
API を使用してデータをインターフェイスから受信できます。
- Width (bytes)
-
AXI4-Stream インターフェイスの
TDATA
幅 (バイト) を指定します。このインターフェイス幅は、2 のべき乗で 1 ~ 64 バイトに制限されます。
ストリーム インターフェイスは AXI4-Stream プロトコルの TDATA/TKEEP/TLAST
信号を使用します。ストリーム トランザクションには、一連の転送が含まれ、最後の転送は TLAST
信号がアサートされて終了します。ストリーム転送は、次に従っている必要があります。
-
AXI4-Stream 転送は
TVALID/TREADY
が両方ともアサートされると発生します。 -
TDATA
は 8、16、32、64、128、256、または 512 ビット幅である必要があります。 -
TKEEP
(毎バイト) はTLAST
が 0 の場合はすべて 1 である必要があります。 -
TKEEP
はTLAST
が 1 の場合に不揃いな尾部の信号を送信するのに使用できます。たとえば、4 バイト インターフェイスの場合、TKEEP
は0b0001
、0b0011
、0b0111
、0b1111
のいずれかにしかならず、それぞれ 1 バイト、2 バイト、3 バイト、4 バイトのサイズを指定します。 -
TKEEP
は (TLAST
が 1 の場合ですら) すべて 0 にはできません。 -
TLAST
はパケットの最後にアサートされる必要があります。 -
TREADY
入力/TVALID
出力はカーネルが開始しない場合は Low にして、転送を失わないようにする必要があります。