Electronic – Why are multipliers 18×18 Bit in FPGAs

fpga

I'm looking at different FPGAs for my dissertation project and I keep seeing that the multiplier blocks are 18×18 bit, why is this? Why are they not 16-bit?

Best Answer

Why not? Really, it's completely arbitrary. The cost in terms of chip area for 18×18 bits vs. 16×16 bits is negligible when compared to the area used for all the other resources (especially routing) on an FPGA. If you don't need the extra bits, just ignore them.

However, I think the common practice of making multiplier blocks 18×18 bits has its basis in the fact that the on-chip memories of many FPGAs are mutliples of 9 bits wide.

Why are memories 9 bits wide? Well, 9 bits allows you to store 8 bits plus parity, or 64 bits plus 8 bits of ECC (72 bits total). Applications that care about data integrity can make good use of such memories.

However, there are lots of applications that don't need the 9th bit for protection and would prefer to use it for extra precision in the data. It just wouldn't make sense to design a chip that can store data in 18-bit chunks, but can only process 16-bit chunks.