Avalon® 接口规范

ID 683091
日期 5/27/2021
Public
文档目录

3.5.4. 流水线传输(Pipelined Transfers)

Avalon® -MM流水线读传输增加同步从器件的吞吐量,这些同步从器件需要几个周期才能返回第一次访问的数据。这样的器件通常可以在一段时间后每个周期返回一个数据值。新流水线读传输可以在先前传输的readdata返回之前启动。

流水线读传输有一个地址阶段(address phase)和一个数据阶段(data phase)。host 通过在地址阶段期间提供地址来启动一个传输。agent通过在数据阶段期间传送数据来完成传输。一个新传输(或者多个传输)的地址阶段可以在先前传输的数据阶段完成之前开始。此延迟称为流水线延迟(pipeline latency)。流水线延迟是从地址阶段结束到数据阶段开始的持续时间。

等待状态和流水线延迟的传输时序有以下主要差异:

  • 等待状态(wait-states)—等待状态决定地址阶段的长度。等待状态限制一个端口的最大吞吐量。如果agent需要一个等待状态来响应一个传输请求,那么端口需要每传输两个时钟周期。
  • 流水线延迟(Pipeline Latency)—流水线延迟决定独立于地址阶段数据返回的时间。无等待状态的流水线agent可以维持每周期一个传输。但是,agent可能需要几个周期的延迟才能返回数据的第一个单元。

可以同时支持等待状态和流水线读取。流水线延迟可以是固定的也可以是可变的。