cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Martinwz
Visitor
Visitor
128 Views
Registered: ‎04-11-2021

Some questions about error directives used

Hi,

Recently,I was developing a FPGA project using vivado hls v2019.02. I had some questions about directives used in vivado hls. There is an example below.

If there was an array g_6[3]={1,2,3} in function "func_1", I used two directives "set_directive_array_reshape -type complete "func_1" g_6 " and  "set_directive_array_partition -type complete "func_1" g_6 " to optimize c design code. However, Vivado HLS reported error "cannot partition array 'g_6' : variable is not an array" ,“Pre-synthesis failed” and stopped synthesis process. So, are there any tool options to let vivado hls ignore those unnecessary or error directives automatically? 

 

Best wishes!

0 Kudos
1 Reply
kimon
Xilinx Employee
Xilinx Employee
55 Views
Registered: ‎09-19-2021

'Hi Martin, You shouldn't apply both directives at the same time. They're essentially mutually exclusive. This should be obvious when partitioning an array completely since this essentially converts it into an set of registers that can all be accessed in one cycle. Thus, this can then not be reshaped. The same is valid in the opposite case, which is what you have.

0 Kudos