cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
3,282 Views
Registered: ‎08-26-2014

SDK does not update the changes made in the block design

Jump to solution

Hello,

 

I have a running and quite complicated block design in Vivado. I am performing changes in the block design (like updating an IP block generated with HLS) but the changes seem to not be updated on SDK. The steps I do are these:

 

  1. Modify the BD by updating an HLS generated IP.
  2. Then it asks me to generate the selected output products, I click yes.
  3. Then I click on generate the bitstream and it runs the synthesis, the implementation and finally generates the bitstream.
  4. Then I click on export hardware including the bitstream.
  5. SDK sees the change and updates the hw platform and the BSP
  6. I modify the software to check the new changes but the system does not respond to the changes I have made. Why?

 

I have had this problem since the beginning when I was using 2014.x and now using 2017.2. So what I did previously was that even if SDK updates the application project with the modified bitstream, I created a new application project every time, and that worked.

 

I did similar in Vivado. if I had a working block design and I had to do some major changes, I created a complete new project rather than creating a new block design in the same project.

 

But recently I decided to give it a try because of the complexity of the project I am working on. So I created a new block design in the same Vivado project when I had to do a major change, copying the blocks from the working block design I already had. It seemed to work but only after creating the HDL wrapper, setting the design as top, generating the bitstream, exporting the hardware and creating a new software application (with a new BSP) from the newly created hw platform.

 

However, after doing some modifications to the block design, it seems that it is programming the old bitstream even though I have created a new application software using the new design HW platform, creating a new BSP as well and selecting the new hw platform. But it simply does not updates the changes made on the hardware.

 

Can someone write down all the intermediate steps so I see what I am doing wrong? Because I think I do all the steps properly. So either is me or Vivado who has bugs.

 

Thanks guys.

 

Cerilet

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator
4,023 Views
Registered: ‎09-12-2007
3 Replies
Highlighted
Scholar
Scholar
3,241 Views
Registered: ‎03-22-2016

@cerilet From my experience, yes, the upgrade is not perfect. 

What I do: 

- disable automatic rebuild in SDK

- close SDK

- generate & export bitstream

- open SDK, wait for parsing to finish

- clean BSP & project

- right click BSP, regenerate sources

- rebuild BSP/project

Note that the SDK itself warns you it will NOT rebuild any link scripts, you will have to modify it by hand.

What I end up doing if a link script build is needed is to create a new Hello World project and then use a merge tool/emacs to copy/paste the relevant sections to the old project. 

 

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
Highlighted
Moderator
Moderator
4,024 Views
Registered: ‎09-12-2007
Highlighted
Explorer
Explorer
3,167 Views
Registered: ‎08-26-2014

Thanks @stephenm, that was apparently the problem when using Vivado 2017.2.

 

However, I will do the same procedure as @hbucher when modifying the block design and creating a new bitstream to be sure that everything has been updated correctly.

 

Thanks both for your answers!

 

Cerilet

0 Kudos