赛灵思
直播中

李蒙

8年用户 216经验值
私信 关注
[问答]

AXI流量生成器不会驱动QoS线路怎么办

我目前正在使用ZCU102板测试Zync Ultrascale + MPSoC。
并要求使用APM检查DDR子系统性能。
令人惊讶的是,AXI总线QoS没有明显的影响,我开始仔细研究在我的ILA中开发和实现的AXI QoS信号根本不会产生。
所以我测试了配置:
因此,配置显示CMDRAM写访问地址+3为0x000F0007。
反过来(根据AXI Traffic Generator v2.0 PG125 2017年4月5日)定义为:
因此,根据数据表,位19:16是0xF,它对应于AXI写端口QoS上的相同值。
但是用ILA检查AXI总线我看到awqos [3:0]被卡在0x0而不是预期的0xF
为了使AXI总线出现QoS,还需要做些什么?
我非常需要这些信息,因为我们必须为项目选择正确的Zync Ultrascale + MPSoC。
问候
戈兰

回帖(3)

段朝思

2020-5-21 14:15:07
只需将ATG设置为高级模式,即可支持QoS。
在原帖中查看解决方案
举报

段朝思

2020-5-21 14:26:43
查看Xilinx Verilog代码,如果在基本模式下使用AXI流量生成器,则不支持QoS:
生成if(C_ATG_BASIC_AXI4 == 0)开始:AXI4_AR_BASIC_NOassign arid_m [C_M_AXI_THREAD_ID_WIDTH-1:0] = mar_fifo_out [52:47]; assign arlen_m [7:0] = mar_fifo_out [39:32]; assign arvalid_m = mar_fifo_valid; assign arsize_m [
2:0] = mar_fifo_out [46:44]; assign arlock_m [0:0] = mar_fifo_out [40:40];
// arlock制作1位signalassign arburst_m [1:0] = mar_fifo_out [43:42];赋予arprot_m [2:0] = mar_fifo_out [55:53];赋值arcache_m [3:0] = mar_fifo_out [80:77
]; assign aruser_m [C_M_AXI_ARUSER_WIDTH-1:0] = {mar_fifo_out [100:93],mar_fifo_out [88:81]}; assign arqos_m [3:0] = mar_fifo_out [92:89]; endendgenerategenerate if(C_ATG_BASIC_AXI4 == 1
)begin:AXI4_AR_BASIC_YESassign arid_m [C_M_AXI_THREAD_ID_WIDTH-1:0] = mar_fifo_out [48:43]; assign arsize_m [2:0] = mar_fifo_out [42:40]; assign arlen_m [7:0] = mar_fifo_out [39:32];
assign arvalid_m = mar_fifo_valid; assign arlock_m [0:0] = 1'b0;
assign arburst_m [1:0] = 2'h1;赋值arprot_m [2:0] = 3'b000;赋值arcache_m [3:0] = 4'b0011;赋值aruser_m [C_M_AXI_ARUSER_WIDTH-1:0] = {C_M_AXI_ARUSER_WIDTH {1
'b0}};分配arqos_m [3:0] = 4'h0;
endendgenerate
举报

段朝思

2020-5-21 14:43:33
只需将ATG设置为高级模式,即可支持QoS。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分