混合存储立方体控制器IP内核用户指南

ID 683854
日期 5/02/2016
Public
文档目录

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内核数据路径响应接口。要确保应用程序可处理其所接收的每个响应,应用程序就必须仅发送有资源要处理的请求或缓冲响应。

图 17. 通过单端口连接RX应用程序的HMC控制器IP内核HMC控制器IP内核作为源运行而客户端作为接收方向的接收器运行。
图 18. 通过多端口连接RX应用程序的HMC控制器IP内核HMC控制器IP内核作为源运行而客户端作为接收方向的接收器运行。仅全角实例支持多端口,因此所有多端口实例都有一个512-bit数据接口。N是您通过Ports参数指定的端口数。
表 12.  每个数据路径响应接口的信号所有接口信号被core_clk时钟锁定。如果IP内核有多个端口,则端口号会作为信号名的一部分,如图所示。如果IP内核只有一个端口,该部分号码就不包含于信号名中,以便与之前版本IP内核的向后兼容性。如果IP内核有两个端口,就会有两组信号,一组n=0,另一组n=1。如果IP内核有三个端口,就有三组信号,其中n=0,1和2。如果IP内核有四个端口,就有四组信号,其中n=0,1,2和3。

信号名

方向

说明

dp<n>_rsp_valid

输出

显示所有dp<n>_rsp_tagdp<n>_rsp_cmddp<n>_rsp_errordp<n>_rsp_sopdp<n>_rsp_eopdp<n>_rsp_errstat信号都有效,并且在读响应载荷中,dp<n>_rsp_datadp<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内核将该信号设置为如下有效值:

  • 3'b000表示16-byte载荷或Write响应。
  • 3'b001表示32-byte载荷。
  • 3'b010i表示48-byte载荷(仅半角IP内核)。
  • 3'b011表示64-byte载荷。
  • 3'b100表示80-byte载荷(仅半角IP内核)。
  • 3'b101表示96-byte载荷(仅半角IP内核)。
  • 3'b110表示112-byte载荷(仅半角IP内核)。
  • 3'b111表示128-byte载荷。

无载荷的响应期间,未定义该信号值。无相关载荷的响应是关于具有值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_datadp_rsp_data最低重要字节中剩余的写载荷。例如,IP内核:

  • 传输dp_rsp_data[127:0]中的16-byte载荷。
  • 传输dp_rsp_data[255:0]中的32-byte载荷(从全角或半角IP内核)。
  • 在第四数据传输时钟周期中传输dp_rsp_data[127:0]半角IP内核112-byte载荷的最后(最重要)16字节。
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字段传递该值。