端口名称 | I/O | 描述 |
---|---|---|
qsts_out_op[7:0] | O | 即操作码,表示当前发出的包的类型。该字段的编码如下。 0x0:CMPT 标记响应 0x1:H2C-ST 标记响应 0x2:C2H-MM 标记响应 0x3:H2C-MM 标记响应 0x4-0xff:保留 |
qsts_out_data[63:0] | O | 各操作码的数据字段定义如下表所示。 |
qsts_out_port_id[2:0] | O | 端口 ID |
qsts_out_qid[11:0] | O | 队列 ID |
qsts_out_vld | O | 队列状态有效 |
qsts_out_rdy | I | 队列状态就绪。Ready 必须绑定到 1,以免阻塞状态输出。即使不使用此接口,ready 端口也必须绑定到 1。 |
qsts_out_data | 字段 | 描述 |
---|---|---|
[1:0] | err | CMPT 引擎报告的错误代码。 0:无错误 1:软件提供的完成 CIDX 更新错误 2:处理 C2H 包时收到描述符错误 3:由于完成环已满,C2H 引擎已将完成丢弃 |
[2] | retry_marker_req | 虽然已启用中断,但无法生成。如果接收到标记请求时,队列中的中断已处于未完成状态,那么就会发生这种情况。如确需发送中断,则用户逻辑必须等待并重试标记请求。 |
[25:3] | marker_cookie | 当 CMPT 引擎向队列状态端口接口发送标记式,它会将 CMPT 的低 23 位包含在队列状态端口接口上的标记响应中进行发送。因此,发出标记请求时,用户逻辑可将 23 位值布局在 CMPT 中,它将随标记响应接收到相同的 23 位。如果由于 CMPT 引擎遇到的错误而生成标记(而非用户逻辑提交的标记请求),那么此 23 位字段无效。 注释: 即使用户已在对主机执行 CMPT 写入中启用错误位和/或颜色位戳记,marker_cookie 也不会包含这些位。用户逻辑提交标记请求时包含的位就是它提供给 QDMA 的 CMPT 的低 23 位。
|
[26] | is_mrkr_rsp | 如果标记响应基于标记请求,则此位将为置位到 1。如果此位设为“0”,那么标记响应将基于错误。 |
[63:27] | rsv | 保留 |