调用Rapidio ip核5.5版本,在ISE12.3平台上操作:
Rapidio进行Local Endpoint Access Nwrite时:Rapidio写数据正常;
Rapidio进行Local Endpoint Access Nread时:在TREQ接口上能接收到数据,而且和CPU的信息一样,只有treq_prio为0,而在资料上说是1;在进行RESPONSE时,只要CPU进行Nread操作,CPU的超级终端就死机,在读操作时,用chipscope抓RESPONSE信号,图形如下:
从以上图形来看,chipscope上的图形和资料上的图形几乎差不多。
Response的配置:
tresp_ftype = 4’d13;
tresp_ttype = 4’d8;
tresp_dest_id = treq_src_id = 8’h01;
tresp_tid = treq_tid = 8’h05;
tresp_status = 4’h00;
tresp_prio = 2’b10;或tresp_prio = 2’b01;
Data0 = 64’h0000_0000_0010_49c0;
Data1 = 64’h0000_0000_0010_49ca;
那个tresp_prio = 2’b10和tresp_prio = 2’b01这2种都试验过,结果一样,只要CPU进行Nread操作时,超级终端就死机。
那个tresp_dsc_n、tresp_prio在参考时序图上没有这2个信号,我把这2个信号去掉,结果也一样。
参考资料为:srio_ug503.pdf文档148页~165页