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: 
Explorer
Explorer
4,518 Views
Registered: ‎07-18-2011

Remote Debugging with XVC

Jump to solution

Hello,

 

I would like to implement a remote debugging solution for our Kintex UltraScale designs using XVC. I've read through all of the available answer records, user guides, product guides and forum posts related to XVC. It seems that the Debug Bridge IP v2.0 core in the From_AXI_to_BSCAN configuration is the best solution for our needs. However, there is no documentation regarding the AXI interface for this core.

 

1. Can the stream of data read from the network socket be sent directly to the AXI interface, or is user logic required to parse and implement the XVC commands (a la XAPP1251)? And it's the latter case, what data then should be sent into the Debug Bridge core's AXI interface?

 

2. A few forum posts indicate that the hw_server in newer versions of Vivado use as undocumented XVC commands. Can you please explain how these new commands are used?

 

XVC seems like a powerful and flexible remote debugging solution. Please provide a little more information about the interface so that we can make use of it.

 

Thanks,

Dave

 

1 Solution

Accepted Solutions
Adventurer
Adventurer
6,980 Views
Registered: ‎02-14-2014

Re: Remote Debugging with XVC

Jump to solution

Quick test with 2017.2 and the ZCU102 ES2 works:

 

tactical@tactical-VirtualBox:~$ xsct
                                                                                                                                    
****** Xilinx Software Commandline Tool (XSCT) v2017.2
  **** Build date : Jun 15 2017-18:45:22
    ** Copyright 1986-2017 Xilinx, Inc. All Rights Reserved.

                                                            
xsct% connect                                                                                                                       
tcfchan#0
xsct% targets                                                                                                                       
  1  PS TAP                                                                                                                         
     2  PMU
     3  PL
  4  PSU
     5  RPU
        6  Cortex-R5 #0 (Halted)
        7  Cortex-R5 #1 (Lock Step Mode)
     8  APU
        9  Cortex-A53 #0 (Running)
       10  Cortex-A53 #1 (Running)
       11  Cortex-A53 #2 (Running)
       12  Cortex-A53 #3 (Running)

I'm then getting random errors which I suspect are just due to running 30MHz JTAG over a spaghetti pile of cables from the FT4232 mini module.

 

5 Replies
Adventurer
Adventurer
4,469 Views
Registered: ‎02-14-2014

Re: Remote Debugging with XVC

Jump to solution

1.  I think the answer is that there is an xvcd (XVC daemon) process needed which interprets the commands and reads/writes to the hardware.  There's a zynq reference design somewhere which uses that bridge core but it runs xvcd on the target hardware, I don't know how the Kintex communications would work.

 

2.  I use a version of xvcd running on my development host, derived from a modified xvcd here which talks to an FT4232 chip and uses it as a custom JTAG interface.  Once that's runnning the hw_server is run with:

hw_server -e "set auto-open-servers xilinx-xvc:localhost:2542"

 

And then I have to run xsdb and

xsdb% connect

 

After that the SDK, debuggers and Vivado Hardware Manager can find the JTAG interface.

 

Explorer
Explorer
4,409 Views
Registered: ‎07-18-2011

Re: Remote Debugging with XVC

Jump to solution

@lcameron 

 

Thanks for your response. Have you had success using this remote debugging scheme with 2017.x versions of Vivado?

0 Kudos
Highlighted
Adventurer
Adventurer
4,339 Views
Registered: ‎02-14-2014

Re: Remote Debugging with XVC

Jump to solution

I'm not sure if I've tried 2017.x yet.   If I do I'll update here.

 

0 Kudos
Adventurer
Adventurer
6,981 Views
Registered: ‎02-14-2014

Re: Remote Debugging with XVC

Jump to solution

Quick test with 2017.2 and the ZCU102 ES2 works:

 

tactical@tactical-VirtualBox:~$ xsct
                                                                                                                                    
****** Xilinx Software Commandline Tool (XSCT) v2017.2
  **** Build date : Jun 15 2017-18:45:22
    ** Copyright 1986-2017 Xilinx, Inc. All Rights Reserved.

                                                            
xsct% connect                                                                                                                       
tcfchan#0
xsct% targets                                                                                                                       
  1  PS TAP                                                                                                                         
     2  PMU
     3  PL
  4  PSU
     5  RPU
        6  Cortex-R5 #0 (Halted)
        7  Cortex-R5 #1 (Lock Step Mode)
     8  APU
        9  Cortex-A53 #0 (Running)
       10  Cortex-A53 #1 (Running)
       11  Cortex-A53 #2 (Running)
       12  Cortex-A53 #3 (Running)

I'm then getting random errors which I suspect are just due to running 30MHz JTAG over a spaghetti pile of cables from the FT4232 mini module.

 

Scholar ronnywebers
Scholar
1,430 Views
Registered: ‎10-10-2014

Re: Remote Debugging with XVC

Jump to solution

@lcameron, @david.hoffman, thanks for sharing this info, did you get any further on this in the mean time? Did you fix the USB JTAG issues?

 

For Zynq devices, it would be great if XVC would support not only Vivado hardware debug like ILA and VIO, but full remote SDK debug by putting a networked controller next to a Zynq device (much like the new SmartLynq cable from Xilinx)

 

I opened 2 related forum posts :

 

* UG908 contains contradictory information on Xilinx Virtual Cable (XVC)

* will Xilinx Virtual Cable (XVC) support remote debug of the ARM cores in the future?

 

I got some feedback from Xilinx on this, but I'm waiting for more :-)

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