cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ronnywebers
Advisor
Advisor
7,708 Views
Registered: ‎10-10-2014

driver of custom IP does not get transferred during handoff from Vivado to SDK

Jump to solution

Vivado 2015.4

 

The title could also read 'design_1_wrapper_hw_platform_0' contains resources that are not in synq with ...\SDK\design_wrapper_hw_platform_0'.

 

I've come accross this issue already a few times, so I need to understand better how to resolve this - maybe the issue is not related to 'custom IP drivers', and it's just a matter of the wrapper getting out of synq, but I describe my situation as completely as possible. At the end of this description is also a warning dialog that might give a clue.

 

I've developed several custom  IP's with AXI lite regs, they all have their 'basic driver' as generated by the Vivado template.

 

The driver files look to be packaged properly into the IP package :

 

driver - ip package.png

 

I can see in the ip repo of my Vivado project that these drivers are present there too (they're checked out from git) :

 

drivers - disk.png

 

after bitstream generation and export hardware to SDK, I open the .hdf file to check if the driver files are present in 'design_1_wrapper.hdf', and they are :

 

drivers - hdf.png

 

 

the files are also present under the 'desing_1_wrapper_hw_platform_0' folder :

 

driver - sdk disk.png

 

so it looks like the 'desing_1_wrapper_hw_platform_0' folder contains all the needed files, and up to this point everything went as expected.

 

now the ISSUE :  the drivers files don't appear under the design_wrapper in SDK itself, the driver for SnapPort1 should be somewhere on the red arrow

 

 

driver - wrapper.png

the mss file shows the same :

 

driver - mss.png

 

-> it says 'generic' for the SnapPort1 driver, while the Snaport0 driver did get correctly picked up by the handoff...

 

any suggestions? Looks like a bug, in which SDK doesn't update it's project correctly ? what's the proper way to resolve this?

 

important note : when I right click in SDK on 'desing_1_wrapper_hw_platform_0' and select 'delete', then 'delete contents from disk', I get this warning dialog :

 

drivers - wrapper not in synq.png

 

so the 'problem' indicated here is indeed correct - it's out of sync ... now : how do I recover from this situation in a proper way, without corrupting my entire project and workspace?

 

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

Accepted Solutions
pvenugo
Moderator
Moderator
13,252 Views
Registered: ‎07-31-2012

Hi,

 

Follow these steps:

 

  • Delete the existing (corrupt) design1_wrapper_hw_platform_0 : in SDK right click -> Delete -> Delete project contents on disk
  • Then File -> New -> Others -> Xilinx -> Hardware Platform specification
  • As project name you can set exactly the same name as the one I deleted (design_1_wrapper_hw_platform_0)
  • Then delete existing bsp and re-generate the new BSP based on the hw_platform specification”

 

Regards

PV


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

8 Replies
htsvn
Xilinx Employee
Xilinx Employee
7,644 Views
Registered: ‎08-02-2007

hi ronny,

 

would that be possible to share the hdf or the project?

 

--hs

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Reply
ronnywebers
Advisor
Advisor
7,622 Views
Registered: ‎10-10-2014

@htsvn

I cannot share the full design here on the forum, but the .hdf is no issue - see attachment.

 

inside the .hdf there's a sysdef.xml, I can clearly see all the driver refs present there. It looks like the generation of the hw_platform_wrapper goes wrong. Also the dialog indicates that it's out of sync, which ... is true ...

 

so main question is : can I just 'delete' the wrapper and have SDK generate it again from the .hdf? But I'm a bit hesitating to delete this right away, as my workspace might get corrupted (out of experience)

 

 

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Reply
pvenugo
Moderator
Moderator
7,611 Views
Registered: ‎07-31-2012

Hi,

 

As I see at my end the drivers are in hierarchy as it should be in screenshot. Is the same you are seeing?

I have used your custom IP based hdf file in 2015.4 and seems to be that IP is not generic type and not tool bug.

 

Could you please re-check at your end and let me know?

 

Regards

PV


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
1.jpg
2.jpg
0 Kudos
Reply
ronnywebers
Advisor
Advisor
7,609 Views
Registered: ‎10-10-2014

on my side it still says 'generic'

 

I tried a re-export from Vivado, launched SDK - but nothing changes.

 

drivers - generic.png

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Reply
pvenugo
Moderator
Moderator
7,607 Views
Registered: ‎07-31-2012

Hi

You can delete top level wrapper of your block design and additionally right click on block design icon to Reset Output Products… and then click on Generate Output Products… .

This action will clean and regenerate source file.

Note: Make sure you close SDK GUI and manually delete SDK folder OR rename it ahead of next step.

 

After that new HDF file will be generated in vivado project and to be exported to SDK.

 

Hope these steps should help you.

 

Regards

PV


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
pvenugo
Moderator
Moderator
13,253 Views
Registered: ‎07-31-2012

Hi,

 

Follow these steps:

 

  • Delete the existing (corrupt) design1_wrapper_hw_platform_0 : in SDK right click -> Delete -> Delete project contents on disk
  • Then File -> New -> Others -> Xilinx -> Hardware Platform specification
  • As project name you can set exactly the same name as the one I deleted (design_1_wrapper_hw_platform_0)
  • Then delete existing bsp and re-generate the new BSP based on the hw_platform specification”

 

Regards

PV


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

ronnywebers
Advisor
Advisor
7,580 Views
Registered: ‎10-10-2014

thanks @pvenugo, the last steps you proposed did work.

 

I discovered by accident that to generate the wrapper after I deleted it, I can also quit SDK, and relaunch it. SDK did automatically pickup the .hdf file, and recreated the wrapper.

 

But it's good to know it can be done 'manually' too.

 

For the FSBL_bsp it was more complicated, as it's not a 'default' bsp - I recreated the FSBL and FSBL_bsp from scratch.

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Reply
petercaddick
Adventurer
Adventurer
796 Views
Registered: ‎04-01-2019

I don't follow. The soloution isn't clear. Please clarify how this fixes the issue

0 Kudos
Reply