马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
最新遇到个问题,需要设置Slave对不同的ARID(0,1,2)的返回的读数据进行interleave。
参照AXI_UM中的例子,做了如下设置
Slv.new_buffer(buf0);
Slv.new_buffer(buf1);
Slv.new_buffer(buf2);
Slv.set_buffer_attr_bitvec( buf0, DW_VIP_AXI_AID, 0, 0);
Slv.set_buffer_attr_bitvec( buf1, DW_VIP_AXI_AID, 0, 1);
Slv.set_buffer_attr_bitvec( buf2, DW_VIP_AXI_AID, 0, 2);
Slv.set_buffer_attr_enable(buf0, DW_VIP_AXI_AID, 1);
Slv.set_buffer_attr_enable(buf1, DW_VIP_AXI_AID, 1);
Slv.set_buffer_attr_enable(buf2, DW_VIP_AXI_AID, 1);
Slv.set_buffer_attr_int(buf0, DW_VIP_AXI_RESP_READ_INTERLEAVE_SIZE, 0, 3);
Slv.set_buffer_attr_int(buf0, DW_VIP_AXI_RESP_READ_INTERLEAVE, 0, 1);
Slv.set_buffer_attr_int(buf0, DW_VIP_AXI_RESP_READ_INTERLEAVE, 1, 1);
Slv.set_buffer_attr_int(buf0, DW_VIP_AXI_RESP_READ_INTERLEAVE, 2, 1);
Slv.set_buffer_attr_int(buf1, DW_VIP_AXI_RESP_READ_INTERLEAVE_SIZE, 0, 3);
Slv.set_buffer_attr_int(buf1, DW_VIP_AXI_RESP_READ_INTERLEAVE, 0, 2);
Slv.set_buffer_attr_int(buf1, DW_VIP_AXI_RESP_READ_INTERLEAVE, 1, 1);
Slv.set_buffer_attr_int(buf1, DW_VIP_AXI_RESP_READ_INTERLEAVE, 2, 1);
Slv.set_buffer_attr_int(buf2, DW_VIP_AXI_RESP_READ_INTERLEAVE_SIZE, 0, 2);
Slv.set_buffer_attr_int(buf2, DW_VIP_AXI_RESP_READ_INTERLEAVE, 0, 1);
Slv.set_buffer_attr_int(buf2, DW_VIP_AXI_RESP_READ_INTERLEAVE, 1, 3);
Slv.add_to_match_list(buf0, 0);
Slv.add_to_match_list(buf1, 0);
Slv.add_to_match_list(buf2, 0);
现在仿真发现没实现预期效果,不知道是否有大侠能够指点一下,不甚感激 |