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

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

3.5.5.2. 読み出しバースト

読み出しバーストは、可変レイテンシーでのパイプライン読み出し転送に類似しています。読み出しバーストには、明確なアドレスフェーズとデータフェーズがあります。readdatavalid は、エージェントが有効な readdata を提供していることを示します。パイプライン読み出し転送とは異なり、単一の読み出しバーストアドレスにより、複数のデータ転送が行われます。

次の規則は、読み出しバーストに適用されます。

  • ホストがエージェントに直接接続している場合、burstcount<n> は、エージェントから <n> ワードの readdata を戻してバーストを完了させる必要があることを意味します。インターコネクトでホストとエージェントのペアを接続している場合、インターコネクトでは、ホストからエージェントに送信される読み出しコマンドを抑制することができます。例えば、ホストで byteenable の値が 0 の読み出しコマンドを送信している場合に、インターコネクトで読み出しを抑制することができます。この場合、エージェントは読み出しコマンドに応答しません。
  • エージェントで各ワードを提供する際は、readdata を提供して readdatavalid を 1 サイクルの間アサートします。readdatavalid をデアサートすると、バーストのデータフェーズは遅延しますが、終了しません。
  • burstcount > 1 の読み出しの場合、Intelでは、すべての byteenable をアサートすることを推奨しています。
注: Intel® では、バーストに対応するエージェントに読み出しの副作用がないことを推奨しています。この仕様は、要求を満たすためにホストがエージェントから読み出すバイト数を保証するものではありません。
図 15. 読み出しバースト次の図は、2 つのバーストホストが同じエージェントにアクセスするシステムを表しています。ホスト B では、ホスト A にデータが返される前に読み出し要求を駆動できることに注意してください。

このタイミング図内の数字は、次の遷移を示しています。

  1. ホスト Aは、clk の立ち上がりエッジ後に address (A0)、burstcountread をアサートします。エージェントは waitrequest をアサートし、beginbursttransfer を除くすべての入力をあと 1 クロックサイクルの間一定に保ちます。
  2. エージェントは、clk のこの立ち上がりエッジで A0 および burstcount をキャプチャーします。新しい転送は、次のサイクルで開始することが可能です。
  3. ホスト B は、address (A1)、burstcountread を駆動します。エージェントは waitrequest をアサートし、beginbursttransfer を除くすべての入力を一定に保ちます。最初の読み出し要求の読み出しデータが最短で返された場合は、この時点になります。
  4. エージェントは、有効な readdata を提供し、readdatavalid をアサートすることで、ホスト A の最初のデータワードを転送します。
  5. ホスト A の 2 番目のワードが転送されます。エージェントは readdatavalid をデアサートし、読み出しバーストを一時停止します。エージェント・ポートでは、任意のクロックサイクル数の間、readdatavalid をデアサートすることができます。
  6. ホスト B の最初のワードが返されます。