这是用户在 2024-4-9 1:30 为 https://eb72aga9oq.feishu.cn/docx/MQ6ddNP8woGkO2xRLeQcigfQnPd 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?
输入“/”快速插入
添加图标
CPU Chain Master IP
时钟序号
数据内容
0
command
[15] nack: 0
[14] ack: 0
[7] type: 0 - read
[5:4] address cycles: 2
1
address[15:0]
2
address[31:16]
读响应报文
读1个32-bit word情况下波形:
附件不支持打印
{signal: [
{name: 'cpu_clk', wave: 'p......'},
{name: 'cpu_chain_vld', wave: '0.1..0.'},
{name: 'cpu_chain_data', wave: '.====x.', data: ['rsp', 'data[15:0]', 'data[31:16]']},
],
config: { hscale: 2 }
}
读N个32-bit word情况下报文格式:
时钟序号
数据内容
0
command
[15] nack: 0
[14] ack: 1
[7] type: 0 - read
[5:4] address cycles: 0
[3:0] data words: N-1
1
data[15:0]
2
data[31:16]
...
...
2*N
data[32*N-1 : 32*N-16]
异常响应
Ordt 经典异常行为:如果 Master 发出的写请求或读请求报文没有命中 CPU Chain 上任何一个 CSR 节点的地址,则写请求或读请求报文会回到 Master(注意写请求报文依然携带着数据)。
自研 CSR NOC 异常行为:如果 Master 发出的写请求或读请求报文没有命中 CSR NOC 中的任何一个 CSR 节点的地址,从 CSR NOC 向 Master 返回单拍响应报文,nack 位被置位。
读请求异常时,Master 需要向 User Interface 按照 req_len 指定数量返回无效数据,由于 CPU chain 的返回报文中不包含请求的数据量,Master IP 需要记录 outstanding 读请求的长度。
功能描述
User Interface 上的读写请求,转换成的读写请求报文发送到 CPU Chain 接口上。
CPU Chain 上接收的读写响应报文,转换成 User Interface 上的读写响应。
支持 outstanding 请求,outstanding 个数可配。
不支持乱序,请求与响应严格保序。
User Interface 上的 ID 从 req 到 rsp 透传,在 IP 内部无逻辑功能。
8
评论(15)
跳转至首条评论
请海伟补充 Crystal CSR NOC 可能向 CPU Master 范围的错误报文格式。
张睿凯2022年12月13日
招海伟2022年12月13日
地址错误我已经在 csr_noc 上处理了,生成 nack ;如果 response 发送到 noc 上也会被修改成 nack,存粹非法的报文好像会挂死,我想想是丢掉还是返回去
张睿凯2022年12月13日
异常的读写响应都是单排的吗?
招海伟2022年12月13日
写是单拍,读按上面协议给的,3 拍
招海伟2022年12月13日
要是单拍更合适,也可以改成单拍
张睿凯2022年12月13日
都单拍吧
招海伟2022年12月13日
Ok ,我看下 ordt 怎么给的
招海伟2022年12月13日
NOC中 debug 的寄存器要加不,现在所有门限都是写死的,中断没有报。@张睿凯
回复...
不支持乱序,请求与响应严格保序。
招海伟2022年12月13日
noc 收到的报文,给的响应都是保序的。
回复...
0