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

ID 683091
日付 12/21/2020
Public

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

ドキュメント目次

3.5.5. バースト転送

バーストでは、すべてのワードを個別に処理するのではなく、複数の転送を1つの単位として実行します。バーストにより、一度に複数のワードを処理することで効率が上がるスレーブポートのスループットを向上させることができます (SDRAMなど)。バーストを行うことによる実際の影響は、バーストの期間中に調停がロックされることです。バーストを行うAvalon-MMインターフェイスが読み出しと書き込みの両方をサポートする場合は、読み出しバーストと書き込みバーストの両方をサポートする必要があります。

バーストを行うAvalon-MMインターフェイスには、burstcount出力信号が含まれます。スレーブにburstcount入力がある場合、そのスレーブはバーストに対応しています。

burstcount信号は次のように動作します。

  • バーストの開始時に、burstcountはバースト内のシーケンシャルな転送数を示します。
  • burstcountの幅が <n> の場合、最大のバースト長は、2(<n>-1) です。正当な最小バースト長は1です。

スレーブ読み出しバーストをサポートするには、スレーブでは次の内容もサポートする必要があります。

  • 待機状態 (waitrequest信号を使用)
  • 可変レイテンシーでのパイプライン転送 (readdatavalid信号を使用)

バーストの開始時に、スレーブは、addressとバースト長の値であるburstcountを確認します。アドレスが <a>burstcountの値が <b> のバーストの場合、スレーブでは、アドレス <a> から開始する <b> の数の連続する転送を行う必要があります。バーストは、スレーブが <b番目> のデータワードを受信 (書き込み時) または返信 (読み出し時) した後に完了します。バーストを行うスレーブでは、それぞれのバーストで1度だけaddressburstcountをキャプチャーする必要があります。スレーブロジックでは、バースト内の最初の転送以外のアドレスを推断する必要があります。スレーブでは、入力信号のbeginbursttransferを使用することもできます。この信号は、インターコネクトがそれぞれのバーストの最初のサイクルでアサートするものです。