cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mathmaxsean
Explorer
Explorer
943 Views
Registered: ‎05-23-2017

custom struucture problem

Jump to solution

I have a structure :

 

typedef struct point
{
    float x[320]
} D_point

I define a variable in my kernel like this:

D_point example

 

I wonder does the compiler use register or Bram to create this "example"?

Is there a pragam(like #pragma HLS array_partition) that can patition the "example" to make all the elements be accessed in parallel?

 

 

 

Tags (2)
0 Kudos
1 Solution

Accepted Solutions
yunl
Xilinx Employee
Xilinx Employee
884 Views
Registered: ‎06-17-2008

There is no way to directly specify an array as registers. What you can do is to use 'array_partition complete' pragma to achieve that, like you already pointed out.  

View solution in original post

3 Replies
yunl
Xilinx Employee
Xilinx Employee
903 Views
Registered: ‎06-17-2008

HLS tool will decide if it is implemented in URAM/BRAM or LUTRAM(LUT and FF), if you would like to manually specify it, you may use below pragma:

#pragma HLS resource variable=x core=RAM_1P (The available core selections are available in HLS GUI)

 

 

mathmaxsean
Explorer
Explorer
893 Views
Registered: ‎05-23-2017

@yunl 

Thaks for your reply.

 

The GUI mentiones there are several memory choice:

-memory_style (auto|distribute|block|uram)

 

But I think all of them arr ram type.

What I want is spliting every element of the structure into to a single register.

Then I can accees all the elements simultaneously just like the ( #pragma HLS array_partition complete ) does.

 

Can i achieve that?

0 Kudos
yunl
Xilinx Employee
Xilinx Employee
885 Views
Registered: ‎06-17-2008

There is no way to directly specify an array as registers. What you can do is to use 'array_partition complete' pragma to achieve that, like you already pointed out.  

View solution in original post