Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

FPGA Multiplication Resource Utilization

Hi,

I need to do 18x7 multiplication and my FPGA doesnt have the built in DSP blocks, so I am using behavioral code in the source code to do the multiplication. It is taking around 190 LUT to do this multiplication

Example: q_srrc_sum <= $signed(7'd63) * q_srrc; where q_srrc is an 18 bit vector

I need to do 16 of these and it takes lot of the area. Is there a better way to optimize this , so that the resource utilization is less.

Thank You

11 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    190 LUT seems a lot for multiplying by the constant 63 (0x3f if I read it right).

    That multiply should be one subtraction.

    If your multiplies are all by constants, you might be able to optimise them.

    I'm also surprised the multiply takes many more than 18x7 (126) LUT - since it can be made of that many full adders (3 input bits) with a delay of 18+7 (23 or so) logic steps.

    Reducing the resource either means using multi cycle multipliers, or muxing the values into a single multiplier.