Jump to content

Referencing the memoryMap of a sub-component

Recommended Posts

I am working on a project where we have multiple independent IP designs which i'll call "cores".  Each core has its own set of registers accessed through a single register interface bus.  We also have subsystems which have some top level registers and instantiate multiple cores (sometimes multiple instances of the same core).  There is still a single register interface bus which is used to access all of the cores (each is instantiated with an base address offset such that none of there addresses overlap with other cores).

Each Core has a corresponding IP-Xact component description which defines the basic memoryMaps for that core. Basically the XML file consists of only the VLNV and the memoryMaps section.  So far this has worked fine for our needs at the core level.  However I'm not sure how to define the overall memoryMap of a subsystem consisting of multiple cores.

My understanding is that I need to make a component for the subsystem which defines its own top level registers in its memoryMaps section, however I don't see how I can reference the maps of other components within the subsystems' memory map.


My question would be:

 How can I define the memoryMap of the subsystem as a whole without having to literally copy the memoryMap of a core into the memoryMap of the subsystem.

Is there a fundemental flaw in the way I am thinking about this?


Share this post

Link to post
Share on other sites


A global system memory map can be computed. The component for which a global memory map is computed should have a master bus interface referencing an address space. The global memory map will then be computed in the address space by locating the peripheral component memory maps in that address space. The set of reachable peripherals is determined by interconnections between bus interfaces of component instances and the internal component bridges and channels. The addresses as seen by the master component are calculated along the paths from peripheral component instances to master component instances. Perhaps it helps to read the IP-XACT user guide available via http://www.accellera.org/images/downloads/standards/ip-xact/IP-XACT_User_Guide_2018-02-16.pdf

The computed global memory map can be written out as a single IP-XACT component memory map. This is typically an automated process and not done manually indeed.


Best regards,



Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now