Equipment multipliers are big, you just need to live with it!
Multipliers will increase as the width of the input bits increases. Therefore, if you do not need the full 32 bits on one of your operands, then reducing this size to a minimum will reduce the size of the resulting equipment.
If you multiply by a fixed number, I think the compiler can do some optimizations to limit the size of the hardware. Or you can use different coding schemes for a fixed number, such as CSD , which will reduce the number of adders in the multiplier, which will further reduce its area.
If you need a lot of multipliers and have a fast clock, perhaps you can reuse a single hardware multiplier for many calculations. This means that you need to write some control / pipelining logic to plan the multiplication, and you may need some memory, but it can save you the whole area. In this case, you plan to create a datapath with a mini DSP.
Marty source share