11-13-2016 06:55 AM
I have a two dimension array of size 64*64 whose data type is ap_uint<64> , I use the pragma array_partition dim=1 complete. The result shows it uses 128 bram_18Ks, not 64. I don't know why.(the total data bits of an 1D array should be 64*64 which is less than 18k)
11-13-2016 07:02 AM
The maximum data width of a BRAM18 in simple dual port mode is 36 bits (in true dual port mode it is 18). So to get a RAM that is 64 bits wide, it must use two BRAM18, in spite of the fact that a significant portion of the BRAM array is unused.
You don't tell us which architecture you are using, but for the 7-series this is summarized in the Memory Resources User Guide (UG473) in Table 1-5 (and other places).
Avrum
11-13-2016 07:02 AM
The maximum data width of a BRAM18 in simple dual port mode is 36 bits (in true dual port mode it is 18). So to get a RAM that is 64 bits wide, it must use two BRAM18, in spite of the fact that a significant portion of the BRAM array is unused.
You don't tell us which architecture you are using, but for the 7-series this is summarized in the Memory Resources User Guide (UG473) in Table 1-5 (and other places).
Avrum