UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
205 Views
Registered: ‎11-26-2016

MPSoC APM Hardcores Numbering xSDK

Jump to solution

Hi,

In order to do some performance monitoring, I would like to use the internal APMs of the MPSoC. UG1085, Figure 15-1 shows where the APMs are located, further described in Chapter 15 - Axi Performance Monitor. However, when used with xSDK, the GUI names the APMs psu_apm_0-5 and I don't know where they are actually located since there is no numbering in the TRM.

How can I figure out which psu_apm the xSDK is referring to?

Regards,
so-lli1

Capture.PNG
0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
150 Views
Registered: ‎09-12-2007

Re: MPSoC APM Hardcores Numbering xSDK

Jump to solution

Skip to bottom for solution. I just gave a way to use XSCT to extract this infor from HDF:

You can use the XSCT to open the HDF and read the APM in the design

apm.PNG

You can dump the properties for each of these:

common::report_property [hsi::get_cells psu_apm_0]

properties.PNG

So, If I just cross reference this register in the docs:

register.PNG

I updated the script to jump dump these:

hsi::open_hw_design hardware_description.hdf
foreach apm [hsi::get_cells *apm*] {
puts $apm
puts [common::get_property CONFIG.C_S_AXI_BASEADDR [hsi::get_cells $apm]]
}
hsi::close_hw_design [hsi::current_hw_design]

dump.PNG

 

apm_reg.PNG

 

So, to clarify:

psu_apm_0: DDR_APM

psu_apm_1: APM_INTC_OCM

psu_apm_2: APM_LPD_FPD

psu_apm_5: AOM_CCI_INTC

This would be true for all designs as the address map on the PSU is hardened

3 Replies
Moderator
Moderator
151 Views
Registered: ‎09-12-2007

Re: MPSoC APM Hardcores Numbering xSDK

Jump to solution

Skip to bottom for solution. I just gave a way to use XSCT to extract this infor from HDF:

You can use the XSCT to open the HDF and read the APM in the design

apm.PNG

You can dump the properties for each of these:

common::report_property [hsi::get_cells psu_apm_0]

properties.PNG

So, If I just cross reference this register in the docs:

register.PNG

I updated the script to jump dump these:

hsi::open_hw_design hardware_description.hdf
foreach apm [hsi::get_cells *apm*] {
puts $apm
puts [common::get_property CONFIG.C_S_AXI_BASEADDR [hsi::get_cells $apm]]
}
hsi::close_hw_design [hsi::current_hw_design]

dump.PNG

 

apm_reg.PNG

 

So, to clarify:

psu_apm_0: DDR_APM

psu_apm_1: APM_INTC_OCM

psu_apm_2: APM_LPD_FPD

psu_apm_5: AOM_CCI_INTC

This would be true for all designs as the address map on the PSU is hardened

Adventurer
Adventurer
137 Views
Registered: ‎11-26-2016

Re: MPSoC APM Hardcores Numbering xSDK

Jump to solution

@stephenm: Thank you for sharing the nice trick in order to figure out the base address of the APMs and not just the final solution. I wonder why Xilinx does not use the names directly when the address offset is hardcoded...

0 Kudos
Moderator
Moderator
128 Views
Registered: ‎09-12-2007

Re: MPSoC APM Hardcores Numbering xSDK

Jump to solution

I have created a CR to have this added to the docs.

0 Kudos