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

ID 683091
日付 12/21/2020
Public

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

ドキュメント目次

3.5.1. 一般的な読み出しおよび書き込み転送

このセクションでは、スレーブが制御するwaitrequestを使用する読み出しおよび書き込み転送をサポートする一般的なAvalon-MMインターフェイスについて説明します。スレーブでは、waitrequest信号をアサートすることにより、必要なサイクル数の間インターコネクトをストールすることができます。スレーブでwaitrequestを読み出し転送または書き込み転送のいずれかに使用する場合でも、スレーブでは、waitrequestを両方の転送に使用する必要があります。

スレーブは通常、クロックの立ち上がりエッジ後にaddressbyteenablereadまたはwrite、およびwritedataを受信します。スレーブでは、waitrequestをクロックの立ち上がりエッジ前にアサートし、転送を保留します。スレーブがwaitrequestをアサートすると、転送は遅延されます。waitrequestがアサートされている間、アドレスと他の制御信号は一定に保たれます。転送は、スレーブ・インターフェイスでwaitrequestがデアサートされた後の最初のclkの立ち上がりエッジで完了します。

スレーブ・インターフェイスでストールを行える時間に制限はありません。したがって、スレーブ・インターフェイスがwaitrequestを無期限にアサートしないようにする必要があります。次の図は、waitrequestを使用するreadおよびwrite転送を表しています。

注:

waitrequestは、readおよびwrite要求信号から切り離すことができます。waitrequestは、アイドルサイクル中にアサートすることが可能です。Avalon-MMマスターでは、waitrequestがアサートされている際にトランザクションを開始し、その信号がデアサートされるまで待機することが可能です。waitrequestreadおよびwrite要求から切り離すことで、システムのタイミングが改善される場合があります。切り離すことにより、readwritewaitrequest信号を含む複合ループが排除されます。さらに切り離す必要がある場合は、waitrequestAllowanceプロパティーを使用します。waitrequestAllowanceは、 Quartus® Prime Pro v17.1 Stratix® 10 ES Editionsのリリースから利用することができます。

図 7. Waitrequestを使用する読み出しおよび書き込み転送

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

  1. addressbyteenablereadは、clkの立ち上がりエッジ後にアサートされます。スレーブがwaitrequestをアサートしているため、転送はストールします。
  2. waitrequestがサンプリングされています。waitrequestがアサートされているため、サイクルは待機状態になります。addressreadwritebyteenableは一定に保たれます。
  3. clkの立ち上がりエッジ後に、スレーブはwaitrequestをデアサートします。スレーブは、readdataresponseをアサートします。
  4. マスターでreaddataresponse、およびデアサートされたwaitrequestをサンプリングしているため、転送は完了します。
  5. addresswritedatabyteenablewrite信号は、clkの立ち上がりエッジ後にアサートされます。スレーブがwaitrequestをアサートしているため、転送はストールします。
  6. clkの立ち上がりエッジ後に、スレーブはwaitrequestをデアサートします。
  7. スレーブで書き込みデータがキャプチャーされ、転送は終了します。