Array Partitioning
Contents

#pragma HLS array_partition ...
- Factor - how many splits
- Modes
block- [1-4], [5-9]cyclic- [1,3,5,7,9], [2,4,6,8]complete- [1], [2], [3], ...
dim(ension)- which part of the variable
Notes
- Cyclic is good for parallel sequential access
- Complete will use the max resources (since it fully splits everything)


Task latency =
size + 5
Aside: Dual-port RAM

For instances where there are only two accesses, we could get away with using a dual-port ram and not need to partition the array completely.
If we are using a partitioning factor of f=2, we only have at most 2^f = 2^2 = 4 IOs (assuming using dual-port), provided we keep
II=1Larger factors would require muxes and incur an increased
II