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

ID 683091
日付 9/26/2022
Public
ドキュメント目次

5.9.2. readyLatency を使用するデータ転送

ソースまたはシンクで readyAllowance の値が指定されていない場合は、readyAllowance = readyLatencyです。 ソースとシンクを使用するデザインでは、ソースまたはシンクでこの機能を活用する場合を除いて、readyAllowance を追加する必要はありません。
図 28. バックプレッシャーを使用し、readyLatency=0 の転送次の図では、以下のイベントを示しています。
  1. ソースはサイクル 1 でデータを提供し、valid をアサートします。シンクの準備はできていません。
  2. ソースは、次のデータサイクルに移る前に、シンクが ready をアサートするサイクル 2 まで待機します。
  3. サイクル 3 で、ソースはデータを駆動します。同じサイクルで、シンクではデータを受信する準備ができています。転送はすぐに行われます。
  4. サイクル 4 では、シンクが ready をアサートしていますが、ソースは有効なデータを駆動していません。
図 29. バックプレッシャーを使用し、readyLatency=1 の転送以下の図はそれぞれ、readyLatency = 1 の場合と readyLatency = 2 の場合のデータ転送を表しています。どちらの場合も、ready は Ready サイクルの前にアサートされます。ソースは、1 または 2 サイクル後にデータを提供して valid をアサートすることにより応答します。readyLatency が 0 ではない場合、ソースでは、Ready ではないサイクルで valid をデアサートする必要があります。
図 30. バックプレッシャーを使用し、readyLatency=2 の転送