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

ID 683091
日付 12/21/2020
Public

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

ドキュメント目次

5.9.1. readyLatencyおよびreadyAllowanceを使用するデータ転送

readyLatencyおよびreadyAllowanceを使用してデータを転送する場合は、次の規則が適用されます 。

  • readyLatencyが0の場合、readyAllowanceは0以上の値にすることができます。
  • readyLatencyが0より大きい場合、readyAllowancereadyLatency以上の値にすることができます。

readyLatency = 0readyAllowance = 0の場合、データは、readyおよびvalidの両方がアサートされている際にのみ転送されます。この場合、ソースは有効なデータを送信する前にシンクのready信号を受信しません。ソースは、可能な場合は常にデータを提供し、validをアサートします。ソースは、シンクがデータをキャプチャーしてreadyをアサートするまで待機します。ソースは任意でデータを変更することができます。シンクは、readyおよびvalidの両方がアサートされている際にのみ、ソースからの入力データをキャプチャーします 。

図 25. readyLatency = 0、readyAllowance = 0

readyLatency = 0readyAllowance = 0の場合、ソースはいつでもvalidをアサートすることができます。シンクは、ready = 1の場合にのみソースからのデータをキャプチャーします 。

次の図は、以下のイベントを表しています。

  1. サイクル1で、ソースがデータを提供し、validをアサートします。
  2. サイクル2で、シンクがreadyをアサートし、D0が転送されます。
  3. サイクル3で、D1が転送されます。
  4. サイクル4では、シンクがreadyをアサートしていますが、ソースは有効なデータを駆動していません。
  5. ソースはサイクル6でデータを提供し、validをアサートします。
  6. サイクル8では、シンクがreadyをアサートしているため、D2が転送されます。
  7. D3はサイクル9で転送され、D4はサイクル10で転送されます。
図 26. readyLatency = 0、readyAllowance = 1

readyLatency = 0readyAllowance = 1の場合、シンクでは、ready= 0の後にさらに1つのデータ転送をキャプチャーすることができます。

次の図は、以下のイベントを表しています。

  1. サイクル1では、ソースがデータを提供し、validをアサートします。シンクはreadyをアサートしています。D0が転送されます。
  2. D1はサイクル2で転送されます。
  3. サイクル3では、readyがデアサートされていますが、readyAllowance = 1の場合はさらに1つの転送が許可されるため、D2が転送されます。
  4. サイクル5では、validおよびreadyの両方がアサートされているため、D3が転送されます。
  5. サイクル6では、ソースがvalidをデアサートしているため、データは転送されません。
  6. サイクル7では、validがアサートされ、readyがデアサートされています。ただし、readyAllowance = 1の場合はさらに1つの転送が許可されるため、D4が転送されます。
図 27. readyLatency = 1、readyAllowance = 2

readyLatency = 1readyAllowance = 2の場合、シンクでは、readyがアサートされた1サイクル後にデータを転送することができます。また、readyのデアサート後は、さらに2サイクルの転送が許可されます。

次の図は、以下のイベントを表しています。

  1. サイクル0で、シンクはreadyをアサートします。
  2. サイクル1で、ソースがデータを提供し、validをアサートしています。転送はすぐに行われます。
  3. サイクル3では、シンクがreadyをデアサートしていますが、ソースは引き続きvalidをアサートし、有効なデータを駆動します。シンクでは、readyのデアサート後に2サイクルのデータをキャプチャーすることができます。
  4. サイクル6で、シンクはreadyをアサートします。
  5. サイクル7で、ソースがデータを提供し、validをアサートしています。このデータは受け入れられます。
  6. サイクル10では、シンクがreadyをデアサートしていますが、ソースはvalidをアサートし、有効なデータを駆動します。シンクでは、readyのデアサート後に2サイクルのデータをキャプチャーすることができます。

適応要件

次の表は、ソース・インターフェイスとシンク・インターフェイスで適応が必要かを示しています。

表 19.  ソースおよびシンクの適応要件
readyLatency readyAllowance 適応
ソースのreadyLatency = シンクのreadyLatency ソースのreadyAllowance = シンクのreadyAllowance 適応は必要ありません。シンクはすべての転送をキャプチャーすることができます。
ソースのreadyAllowance > シンクのreadyAllowance 適応が必要です。 readyのデアサート後に、ソースでは、シンクでキャプチャーすることができるよりも多くの転送を送信することができます。
ソースのreadyAllowance < シンクのreadyAllowance 適応は必要ありません。 readyのデアサート後に、シンクでは、ソースが送信することができるよりも多くの転送をキャプチャーすることができます。
ソースのreadyLatency > シンクのreadyLatency ソースのreadyAllowance = シンクのreadyAllowance 適応は必要ありません。 readyがアサートされると、ソースは、シンクがデータをキャプチャーできるようになった後に送信を開始します。readyがデアサートされると、ソースでは、シンクでキャプチャーできる数の転送を送信することができます。
ソースのreadyAllowance > シンクのreadyAllowance 適応が必要です。 readyのデアサート後に、ソースでは、シンクでキャプチャーすることができるよりも多くの転送を送信することができます。
ソースのreadyAllowance < シンクのreadyAllowance 適応は必要ありません。 readyのデアサート後に、ソースは、シンクでキャプチャーすることができるよりも少ない転送を送信します。
ソースのreadyLatency < シンクのreadyLatency ソースのreadyAllowance = シンクのreadyAllowance 適応が必要です。シンクでデータをキャプチャーできるようになる前に、ソースが転送の送信を開始することができます。
ソースのreadyAllowance > シンクのreadyAllowance 適応が必要です。シンクでデータをキャプチャーできるようになる前に、ソースが転送の送信を開始することができます。また、readyのデアサート後に、ソースでは、シンクでキャプチャーすることができるよりも多くの転送を送信することができます。
ソースのreadyAllowance < シンクのreadyAllowance 適応が必要です。シンクでデータをキャプチャーできるようになる前に、ソースが転送の送信を開始することができます。