4.1.2. 应用程序响应接口
数据路径响应接口,或应用程序响应接口为IP内核提供一个512-bit或256-bit数据总线和专用信号以获得到应用程序的HMC响应信息。全角IP内核具有1至4个512-bit数据总线,而半角IP内核具有一个256-bit数据总线。此接口支持高达128字节载荷的Read响应。全角实例中,最大载荷大小将接口限制为2个或更少core_clk时钟周期的数据突发。半角实例中,最大载荷大小将接口限制为4个或更少core_clk时钟周期的数据突发。载荷大小不是总线大小倍数的写请求携带最后时钟周期中数据总线的较低顺序位的载荷结尾。
所有半角实例中,如果关闭全角实例中的Response re-ordering,HMC控制器通过其在数据路径响应接口上发送的每个响应返还原请求的9-bit标记。应用程序必须使用该标记来匹配相应请求的响应。
可背压IP内核数据路径响应接口。要确保应用程序可处理其所接收的每个响应,应用程序就必须仅发送有资源要处理的请求或缓冲响应。
| 信号名 |
方向 |
说明 |
|---|---|---|
| dp<n>_rsp_valid | 输出 |
显示所有dp<n>_rsp_tag,dp<n>_rsp_cmd,dp<n>_rsp_error,dp<n>_rsp_sop,dp<n>_rsp_eop和dp<n>_rsp_errstat信号都有效,并且在读响应载荷中,dp<n>_rsp_data和dp<n>_rsp_size也有效。 应用程序必须接受全部有效交易。不可背压HMC控制器IP内核数据路径响应接口。 IP内核在多周期读数据传输期间保持该信号置位。 |
| dp<n>_rsp_tag[8:0] | 输出 |
对于该信号,标记及其原始请求是一个完整响应。 只有在处理完该响应后,才可再次使用此标记。 IP内核在多周期读数据传输期间保留该信号的值。 如果开启Response re-ordering,则该信号不可用。这种情况下,IP内核内部管理标记。 |
| dp<n>_rsp_cmd[5:0] | 输出 |
显示与响应此相关联的数据包命令。请参阅HMC规范v1.1中的表25来了解命令编码。该信号仅持有无错响应码;IP内核将错误响应路由到将寄存器。 IP内核在多周期读数据传输期间保持该信号的值。 |
| dp<n>_rsp_size[2:0] | 输出 |
显示与该响应关联的载荷大小。如果当前响应为Read响应,则显示dp<n>_rsp_data中的载荷大小。 在相关负载的响应期间,IP内核将该信号设置为如下有效值:
无载荷的响应期间,未定义该信号值。无相关载荷的响应是关于具有值1的dp<n>_rsp_cmd[0]的响应。 IP内核在多周期读数据传输期间保持该信号的值。 |
| dp<n>_rsp_data[511:0](用于全角IP内核) dp_rsp_data[255:0](用于半角IP内核) |
输出 |
读响应数据。 无载荷的响应期间,未定义该信号值。无相关载荷的响应是关于具有值1的dp<n>_rsp_cmd[0]的响应。 如果载荷大小不是数据总线宽度的整数倍,则在最后的数据传输周期中,IP内核传输dp<n>_rsp_data或dp_rsp_data最低重要字节中剩余的写载荷。例如,IP内核:
|
| dp<n>_rsp_error | 输出 |
表示相应已完成请求有误,且不会自动重试。如果HMC控制器IP内核接收到带有非零ERRSTAT or DINV字段的外部HMC器件Read或Write响应数据包,就会置位此信号。 IP内核在多周期读数据传输期间保持该信号的值。 |
| dp<n>_rsp_sop | 输出 | 数据包开始。IP内核在全部响应交易的第一个周期置位此信号。 |
| dp<n>_rsp_eop | 输出 | 数据包结束。IP内核在全部响应交易的最后一个周期置位此信号。 |
| dp<n>_rsp_errstat[6:0] | 输出 | 错误状态。IP内核直接从外部HMC器件的ERRSTAT字段传递该值。 |