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: 
Highlighted
Scholar ronnywebers
Scholar
674 Views
Registered: ‎10-10-2014

viewing (custom) ip register details in SDK debugger

Jump to solution

in the SDK UG I found that it's possible to monitor the registers of (some?) IP blocks  lik AXI GPIO, ... questions :

 

1) is this feature also available in Vivado/SDK 2015.4?

2) if I have a custom IP with AXI registers, can I build/add such register view myself?

3) if not, can I just simply add a memory address to the 'expressions' (=watch) window in SDK debugger? 

 

i.e. I'd like to view/add the UART LITE control and status registers to my watch window ,can this be done?

 

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
1 Solution

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

Re: viewing (custom) ip register details in SDK debugger

Jump to solution

Yes, this can be done in the IP wizard. However, it would require a respin of the Output products, HDF, and export to SDK.

So, the steps would be to in Vivado TCL

ipx::open_core <path to your custom IP xml>

ipx::add_register (see help below)

add_register.PNG

ipx::save_core

 

Make sure that the component XML is updated with the changes. Then generate Output Products, and re-export tot SDK.

 

Here, is what it looks like for the AXI GPIO:

Capture.PNG

 

 

5 Replies
Xilinx Employee
Xilinx Employee
646 Views
Registered: ‎10-21-2010

Re: viewing (custom) ip register details in SDK debugger

Jump to solution

Hi @ronnywebers,

 

Please see my responses in the same order as your questions.

 

1. Yes, this was first supported in 2015.3 SDK, for some IP like GPIO, I2C, etc.

2. Yes, you can build such data for custom IP. The data is in in IP-XACT format, but I don't know complete details. I can try to find out more if you're interested

3. You can view your IP registers via memory view or expressions view. However, memory view accesses a sequence of bytes from the starting address you specify, so if your IP generates a SLVERR for any unimplemented registers, then you'll run into errors. In expression view, you can probably add an expression like *((unsigned int *) <address>), but I haven't tried this myself (replace <address> with the address of your IP register)

Scholar ronnywebers
Scholar
630 Views
Registered: ‎10-10-2014

Re: viewing (custom) ip register details in SDK debugger

Jump to solution

thanks @sadanan,

 

indeed - as you answer in 3) -> for UART Lite one should not read from  the rx fifo register for example in the expressions view I guess, as this would remove a byte from the fifo (?)

 

if some doc is available, I am indeed interested. Maybe the files for GPIO, I2C can be found somewhere an act as a template/example?

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Moderator
Moderator
740 Views
Registered: ‎09-12-2007

Re: viewing (custom) ip register details in SDK debugger

Jump to solution

Yes, this can be done in the IP wizard. However, it would require a respin of the Output products, HDF, and export to SDK.

So, the steps would be to in Vivado TCL

ipx::open_core <path to your custom IP xml>

ipx::add_register (see help below)

add_register.PNG

ipx::save_core

 

Make sure that the component XML is updated with the changes. Then generate Output Products, and re-export tot SDK.

 

Here, is what it looks like for the AXI GPIO:

Capture.PNG

 

 

Scholar ronnywebers
Scholar
587 Views
Registered: ‎10-10-2014

Re: viewing (custom) ip register details in SDK debugger

Jump to solution

thanks @stephenm, that looks intersting! 

 

Q: I see a name and address_block field in the command, but how would one add the 'description,', 'size' and 'access' that I can see in your screenshot?

 

let's say I want to add the GPIO data register, would that be something like :

 

ipx::add_register GPIO 0x41200000 

 

but then how to add the size, access and description fields?

 

Are these part of the 'address_block object'? Is there a specific syntax for such 'address_block'? I tried searching UG835 (Tclk command ref) and UG1118 (creating and packaging custom IP), but didn'f find any info on the ip packager tcl commands (?) 

 

 

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Moderator
Moderator
581 Views
Registered: ‎09-12-2007

Re: viewing (custom) ip register details in SDK debugger

Jump to solution

You should be able to set the property on the register you created

 

set_property <param> <value> [ipx::get_registers <register>]