描述
XPS的预期行为是:
USER应该能够通过在MHS中设置它们的值来覆盖OPTION_UPDATE参数值。
这种行为通常可以正常工作,但它不能用于跟踪axi_vdma_v2_0_1.mpd中的两个参数:
C_INTERCONNECT_M_AXI_MM2S_READ_FIFO_DEPTH
C_INTERCONNECT_M_AXI_S2MM_WRITE_FIFO_DEPTH
对于这两个参数,XPS不从MHS获取参数值,但总是从axi_vdma_v2_0_1.tcl的IP_DRC_TCL过程计算。
警告:EDK:4083 – IPNAME:axi_vdma,INSTANCE:axi_vdma_0 – PARAMETER:C_INTERCONNECT_M_AXI_MM2S_READ_FIFO_DEPTH在MHS中指定值32,但tcl将值覆盖为0
警告:EDK:4083 – IPNAME:axi_vdma,INSTANCE:axi_vdma_0 – PARAMETER:C_INTERCONNECT_M_AXI_S2MM_WRITE_FIFO_DEPTH在MHS中指定值512,但tcl将值覆盖为0
解
解决方法是将AXI VDMA pcore设置为本地,然后修改Tcl脚本axi_vdma_v2_1_0.tcl。
具体来说,程序iplevel_update_mm2s_fifo_depth和iplevel_update_s2mm_fifo_depth应修改如下:
##如果关闭存储转发,此过程将mm2s fifo深度设置为512。
##用户可以通过在system.mhs中明确设置fifo深度来覆盖它
proc iplevel_update_mm2s_fifo_depth {param_handle} {
设置mhsinst [xget_hw_parent_handle $ param_handle]
set sf_included [xget_hw_parameter_value $ mhsinst“C_INCLUDE_MM2S_SF”]
if {$ sf_included == 0} {
返回512
} else {
返回X <= X应替换为所需的读取FIFO深度(0,32或512)
}
}
##如果关闭存储转发,此过程将s2mm fifo深度设置为512。
##用户可以通过在system.mhs中明确设置fifo深度来覆盖它
proc iplevel_update_s2mm_fifo_depth {param_handle} {
设置mhsinst [xget_hw_parent_handle $ param_handle]
set sf_included [xget_hw_parameter_value $ mhsinst“C_INCLUDE_S2MM_SF”]
if {$ sf_included == 0} {
返回512
} else {
返回X <= X应替换为所需的写FIFO深度(0,32或512)
}
}
完成这些修改后,应重新扫描用户存储库。
没有回复内容