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: 
Observer d_pso
Observer
431 Views
Registered: ‎08-02-2013

Vivado 2018.3 SDK elf upload very slow

Hi,

I have recently upgraded my Vivado version from 2017.4 to 2018.3. It seems that the new elf upload algorithm used by GDB (for a Zynq 7 device) is much slower than the previous one (what I experienced on Vivado 2017.4).

I am using a USB Platform Cable II on a Ubuntu 18.04 install. When I try and debug my app, I see some progress indication in the XSCT window and it reports an upload speed of 0.1MB/s (so several minutes for my app).

Uploading the same app (to the same board) on the same machine with SDK 2017.4 takes a few tens of seconds and shows nothing in the XSCT window (hence my hunch that the algorithm changed). How can I get my previous performance back?

Best regards.

0 Kudos
6 Replies
Moderator
Moderator
357 Views
Registered: ‎10-06-2016

Re: Vivado 2018.3 SDK elf upload very slow

Hi @d_pso,

Are you connecting to the target just using the "connect" command so the hw_server is launched in the background? or are you manually launching it? Just want to check you are not mismatching XSDB and hw_server version.

The second thing you should take care is to ensure your firewall is disabled, I mean, the connection between the System Debugger and the hw_server is done through a TCP port so eventually the firewall might have impact on the performance.

Regards


Ibai
Don’t forget to reply, kudo, and accept as solution.
0 Kudos
Observer d_pso
Observer
342 Views
Registered: ‎08-02-2013

Re: Vivado 2018.3 SDK elf upload very slow

Hi ibaie,

Thanks for your answer.


 


Are you connecting to the target just using the "connect" command so the hw_server is launched in the background? or are you manually launching it? Just want to check you are not mismatching XSDB and hw_server version.

I just click Debug in the debug configuration dialog box and the IDE starts uploading the bit stream and then the elf file. In the XSCT console window, I see "****** Xilinx hw_server 2018.3" among other stuff. (there is nothing when I use the same procedure with Vivado 2017.3)

 

> The second thing you should take care is to ensure your firewall is disabled, I mean, the connection between the System Debugger and the hw_server is done through a TCP port so eventually the firewall might have impact on the performance.

I don't think I ever activated any firewall. Anyway, I didn't measure the number of packets per second, but I doubt there are enough (especially since the packets are from localhost to localhost) to cause any problem with a firewall, unless either the OS, the Xilinx software or the firewall is severely flawed (we're not talking about gigabits per second here, although I wish we were).

Could you please tell me the expected download speeds using USB Platform Cable II? (for example by comparing a gdb launch from Vivado 2017.4 and from Vivado 2018.3)?

Best regards.

0 Kudos
Moderator
Moderator
323 Views
Registered: ‎10-06-2016

Re: Vivado 2018.3 SDK elf upload very slow

Hi @d_pso,

I do not recall any performance number on ELF downloading for Platform cable but at least it should be similar to the experience you got with the 2017.3 SDK release.

As you already mention we are not talking about high bandwidth traffic on the ELF download process but from usage experience I did saw sometimes issues in corporate environments with firewalls and antivirus systems impacting on SDK behavior.

If you still have SDK 2017.3 installed I guess you can do some extra debugging cross checking XSDB and HW server versions. So basically launch hw_server 2017.3 and use SDK 2018.3 and the opposite. Maybe that might give us bit more clues.

Regards


Ibai
Don’t forget to reply, kudo, and accept as solution.
0 Kudos
Observer d_pso
Observer
210 Views
Registered: ‎08-02-2013

Re: Vivado 2018.3 SDK elf upload very slow

Hi,

I did another test. In Vivado 2017.4, when I debug with the "System Debugger" instead of gdb, the upload is very slow also, AND I see the progress indication in the XSCT console window. So it looks like in Vivado 2017.4 gdb elf upload used a different algorithm than System Debugger and was much faster (56s instead of 10m30s so about 10 times faster!), whereas in Vivado 2018.3 both gdb and system debugger seem to upload the file using the same (SLOW) algorithm.

What are the differences in functionality between both algorithms? How can I configure things so they have the same behaviour?

Regards

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

Re: Vivado 2018.3 SDK elf upload very slow

you could try increase the frequency:

jtag_frq.PNG

0 Kudos
Observer d_pso
Observer
61 Views
Registered: ‎08-02-2013

Re: Vivado 2018.3 SDK elf upload very slow

Hi,

Sorry for not replying earlier.

1/ @stephenm I could not measure any change in the dowload time by changing the frequency;

2/ I seem to have somewhat pinpointed the problem. I have a very large (a few tens of MB) empty section (non-initialised variable declared inside), marked NOLOAD in the linker script. It seems like the new version is downloading it and the older version is not. I have not checked if the memory is erased to 0, because I don't care in this particular program, but there are other cases, where I have been using this kind of technique to keep some non-volatile memory, so that would break those programs!

Best regards.

0 Kudos