Forum Discussion
Altera_Forum
Honored Contributor
10 years ago --- Quote Start --- Thanks for your reply wzk6_3_8. This is just the estimation. I'm in the process of running the full compilations to compare, however in my experience kernels with estimated usages of over 100% typically fail hardware compilation. But if everything else remains constant (only the type of the data changes), why would the overhead of the kernel change? --- Quote End --- The width of the arithmetic operations impacts the DSP usage as seen in your experiments. The difference in ALM usage (i.e. logic) is not in the kernel datapath, it is in the load/store units that access the memory. The alignment of loads/stores impacts the ALM usage. With char* pointers, each load/store access is only 1-byte aligned and this does not allow much optimization. With short* pointers, each address is 2-byte aligned (i.e. the least significant address bit is zero) and this allows Quartus to perform some optimizations. The difference for each load/store unit is a few hundred ALMs (depends on the alignment). With 3 load/store * 50 copies, this overhead becomes big, considering there is nothing else in the kernel.