Research Article

High-Level Synthesis: Productivity, Performance, and Software Constraints

Table 4

Data Array Directives.

DirectiveDescription

array_mapMap 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_partitionSeparate an array into multiple smaller arrays-allow greater effective bandwidth by using multiple BRAMs in parallel
array_reshapeFirst 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_streamIf array access is in FIFO order, convert array from BRAM storage to a streaming buffer