AR# 47642

14.1 - EDK - XPS で MHS からのパラメーター値が認識されず、常に 2 つのインターコネクト パラメーターの IP_DRC_TCL プロシージャを基に計算される

説明

XPS の正しい動作 :

OPTION_UPDATE パラメーター値は MHS で明示的に指定しておくと上書きできるはずです。

通常は問題ないのですが、axi_vdma_v2_0_1.mpd の次の 2 つのパラメーターでは問題になります。

C_INTERCONNECT_M_AXI_MM2S_READ_FIFO_DEPTH
C_INTERCONNECT_M_AXI_S2MM_WRITE_FIFO_DEPTH

これら 2 つのパラメーターに対しては、XPS は MHS からのパラメーター値を認識せず、axi_vdma_v2_0_1.tcl からの IP_DRC_TCL プロシージャから計算を行います。

WARNING:EDK:4083 - IPNAME: axi_vdma, INSTANCE: axi_vdma_0 - PARAMETER: C_INTERCONNECT_M_AXI_MM2S_READ_FIFO_DEPTH has value 32 specified in MHS, but tcl is overriding the value to 0
WARNING:EDK:4083 - IPNAME: axi_vdma, INSTANCE: axi_vdma_0 - PARAMETER: C_INTERCONNECT_M_AXI_S2MM_WRITE_FIFO_DEPTH has value 512 specified in MHS, but tcl is overriding the value to 0

ソリューション


AXI VDMA pcore をローカルに設定し、Tcl スクリプト axi_vdma_v2_1_0.tcl を変更して、この問題を回避します。

具体的には、iplevel_update_mm2s_fifo_depth および iplevel_update_s2mm_fifo_depth のプロシージャを次のように変更します。

## This procedure sets the mm2s fifo depth to 512 if store and forward is turned off.
## users can overide this by explicitly setting fifo depth in the system.mhs
proc iplevel_update_mm2s_fifo_depth {param_handle} {
set mhsinst [xget_hw_parent_handle $param_handle]
set sf_included [xget_hw_parameter_value $mhsinst "C_INCLUDE_MM2S_SF"]
if {$sf_included == 0} {
return 512
} else {
return X <= X should be replaced with the read FIFO depth desired (0, 32 or 512)
}
}

## This procedure sets the s2mm fifo depth to 512 if store and forward is turned off.
## users can overide this by explicitly setting fifo depth in the system.mhs
proc iplevel_update_s2mm_fifo_depth {param_handle} {
set mhsinst [xget_hw_parent_handle $param_handle]
set sf_included [xget_hw_parameter_value $mhsinst "C_INCLUDE_S2MM_SF"]
if {$sf_included == 0} {
return 512
} else {
return X <= X should be replaced with the write FIFO depth desired(0, 32 or 512)
}
}

この変更を加えたら、ユーザー リポジトリをスキャンし直してください。
AR# 47642
日付 09/27/2012
ステータス アクティブ
種類 既知の問題
ツール