Avalon® インターフェイスの仕様書

ID 683091
日付 12/21/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

6.2.2. 標準的なデータ転送

このセクションでは、ソース・インターフェイスからシンク・インターフェイスへのデータの転送を定義します。いずれの場合も、データソースとデータシンクは仕様に準拠している必要があります。ソース・プロトコル・エラーの検出は、データシンクが担うものではありません。

次の図は、 Avalon® ストリーミング・クレジット・インターフェイスで通常使用される信号を示しています。
図 33. 標準的な Avalon® ストリーミング・クレジット信号
この図が示すように、標準的な Avalon® ストリーミング・クレジット・ソース・インターフェイスは、validdataerrorchannel信号をシンクへ駆動します。シンクは、updateおよびcredit信号を駆動します。
図 34. 標準的なクレジットとデータの転送

上の図は、ソースとシンク間の標準的なクレジットとデータの転送を示しています。シンクでupdateがアサートされてからソースでupdateを受信するまでには、遅延が発生する場合があります。同様に、ソースでデータのvalidがアサートされてからシンクでデータを受信するまでに、遅延が発生する場合があります。シンクからソースへのクレジットパスとソースからシンクへのデータパスの遅延は、等しくなる必要はありません。これらの遅延は、0サイクルにすることもできます。すなわち、シンクでupdateをアサートした際に、ソースは同じサイクルでそれを認識します。また、ソースでvalidをアサートした際に、シンクは同じサイクルでそれを認識します。ソースにクレジットがない場合は、validをアサートすることができません。転送されたクレジットは累積されます。シンクがmaxCreditプロパティーに等しいクレジットをすでに転送しており、データを受信していない場合、シンクでは、少なくとも1つのデータを受信する、もしくはreturn_creditパルスをソースから受信するまで、updateをアサートすることができません。

シンクがソースにクレジットを提供している場合、シンクでは、ソースからのデータをバックプレッシャーすることができません。つまり、未処理のクレジットがある場合、シンクはソースからのデータを受け入れる必要があります。ソースでは、クレジットを受信していない、もしくは受信したクレジットが尽きている (つまり、受信したクレジットに代わってすでにデータを送信している) 場合は、validをアサートすることができません。

ソースにクレジットがない場合、ソースでは、クレジットを受信したサイクルと同じサイクルでデータの転送を開始することができません。同様に、シンクがmaxCreditプロパティーに等しいクレジットを転送し、データを受信している場合、シンクは、データを受信したサイクルと同じサイクルでupdateを送信することができません。これらの制約は、実装での複合ループを回避するために設定されています。