I have developed a MicroBlaze block diagram using IP Integrator and then selected "Export Hardware for SDK" in Vivado Design Suite.
In SDK I receive an error when building the board support package.
The block diagram has a 32-bit external port connected to an interrupt controller.
Any value greater than a single bit wide (i.e. more than one interrupt input) causes this error in SDK.If this external port is changed to be a single bit wide (i.e. left and right are set to 0)... then this error in SDK disappears.
08:08:12 no such element in array
In order to develop the app I need to generate a standalone board support package.
If I change the interrupt port width to [0:0] and then export hardware to SDK, the BSP can be successfully generated.
However, if I create a peripheral test application, then I receive the error below.
This was previously working in Vivado 2013.4.
What is causing these errors?
Are there any workarounds available?
19:45:43 ERROR : Failed to create Application
19:45:43 ERROR :
java.lang.Exception: Error occurred while generating contents for application. Please check the SDK log for further details.
19:49:08 ERROR : [Common 17-263] There was a syntax error while parsing filter expression: 'NAME==' at position '4'
ERROR: [Hsm 55-1542] Problem in running tapp TCL procs for axi_timer_0
There is a patch for this issue.
There are 2 .tcl files that need to copied to the respective install directories.
Copy the "intc.tcl" file to
Copy the "xillib_hw.tcl" file to
With these updated tcl files, you will be able to create the application and bsp.
The error below will still be generated:
08:41:16 ERROR : Internal error: Num intr inputs 32 not the same as > length of xget_interrupt_sources 1 hsm_error
The issue is that there is no information about the width of the external port in the exported XML file from Vivado.
You can comment that line out or proceed as it will not prevent compilation.
This issue will be fixed in the 2014.3 release.