Jump to content

Capturing register array information inside IPXACT XML

Recommended Posts

Hi there


IPXACT needs to capture array of registers properly in a design.


Currently there is only one tag ''spirit:dim" to represent an array of registers.

This does not enable us to capture an array of register effectively.


Consider the following cases:


1. An array of registers can be one dimensional with each element offset by offset address 0x10.


2. An Array of multidimensional registers something like this:

register_1[0][0] -> 0x0

register_1[0][1] -> 0x4

register_1[1][0] -> 0x10

register_1[1][1] -> 0x14




Is there any way to capture just the address relationship to an array instance within IP-XACT XML tags? (Without using vendorExtensions tag?)

We have not been able to capture the above said information inside IPXACT XML.(using only IP-XACT tags)


Requesting thoughts regarding the same.


Best regards

Balasubramanian G

Link to comment
Share on other sites

Hello Balasubramanian,


The word you are looking for is "stride".  Stride is the offset distance between elements of an array. IP-XACT 1685-2009 does not have a stride feature.  Due lack of participation and resources for the forthcoming IP-XACT version (hopefully 2014) the stride feature has been deferred until the committee reconvenes for the subsequent version.  We look forward to your participation.

In general an array is an indexed sequential collection of identical elements.  Stride is one property which is assumed identical between array elements. The second example violates this assumption of consistent stride between elements. Which standards or programming languages inspire the second example?


       Best Regards


                  Richard Weber

                  Semifore, Inc.

Link to comment
Share on other sites

Hi Richard


Thanks for your response.


We have SoC designs where 2-dimensional arrays are implemented.

The 2-dimensional arrays have two types of 'stride' values in them.

1st stride tries to increment address of the first dimension (consider this as COLUMN)

2nd stride tries to increment address of the second dimension (consider this as ROW)



REG_1[0][0]->0x0     REG_1[0][1]->0x4     REG_1[0][2]->0x8

REG_2[1][0]->0x10   REG_2[1][0]->0x14   REG_2[1][0]->0x18


COLUMN stride (=0x4) and ROW stride (=0x10) values make sure that each array element gets unique address. (Though there may be gaps introduced in between them).

SystemVerilog arrays are our motivation to map this RTL implementation into arrays. (IEEE 1800-2012)


Best regards

Balasubramanian G

Link to comment
Share on other sites

Hello Chris,


IP-XACT is actually two committees.  First, there is the Accellera IP-XACT committee.  I believe participation is limited to Accellera members, but, check with the chair of the committee. Second, there is the IEEE P1685 committee which is entity based.  Participation is limited to entity (company, university, government) members of the IEEE Standards Association.  The next version of IP-XACT is worked on by the Accellera committee first and then the result is contributed to the IEEE P1685 committee for refinement and eventual publication.  Once published by the IEEE P1685 committee, IP-XACT becomes an international standard.  The next opportunity for technical participation will be when the Accellera IP-XACT schema subcommittee reconvenes, and, this will probably be at least year from when the standard is published depending on industry participation.

Link to comment
Share on other sites

Hello Balasubramanian,


Many languages support multi-dimensional arrays of objects including System Verilog and IP-XACT. However,  I was hoping that you would provide a reference to a standard or a programming language which specifies the offset layout of the array in memory and includes the multiple stride feature you are requesting.  Our concern is that this multiple stride feature would not translate to the expected derived outputs of IP-XACT especially those for the software community.  Also, IP-XACT is not an authoring format.  You should be using a tool to generate the IP-XACT to resolve this issue.  Using SystemRDL to generate IP-XACT is one such path, but, there are other richer formats and platforms commercially available.

Link to comment
Share on other sites

  • 4 years later...
  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...