High-Level Synthesis: Productivity, Performance, and Software Constraints
Table 4
Data Array Directives.
Directive
Description
array_map
Map an array into a larger array-allow multiple small arrays to be combined into a larger array that can share a single BRAM resource
array_partition
Separate an array into multiple smaller arrays-allow greater effective bandwidth by using multiple BRAMs in parallel
array_reshape
First partition an array, then map the sub-arrays together back into a single array-creates an array with same total storage, but with fewer, wider entries for more efficient use of resources
array_stream
If array access is in FIFO order, convert array from BRAM storage to a streaming buffer