Forum Discussion

John-Monahan's avatar
John-Monahan
Icon for New Contributor rankNew Contributor
3 years ago

Timing for Quartus Multiply .BDF module

I am using a large number of Quartus IP LPMMULT "Basic Functions" both in parallel and then in series to calculate a 32 bit number from a large number of 16 bit (unsigned) array of numbers.

Its a large branched tree. I assume each multiplication takes place with a low to high clock pulse. How do I know when the calculation is done to issue a clock pulse to the next adder using a pair of result[31..0] values from the previous multiplier.
---->Mult---->Mult---->Mult
|
---->Mult--->Mult----
|
---->Mul--->
Any help here from an expert would be appreciated -- I'm new to Quartus.

PS this may be the wrong location for this question, if so where is best.

3 Replies

  • I have a large number of 8 bit paired inputs which I later all add together. Essentially a large matrix dot product.

  • Hi John-Monahan,


    I have moved your question to the programmable devices board for better assistance.


    Regards,

    Jesus


    • FvM's avatar
      FvM
      Icon for Super Contributor rankSuper Contributor
      Hi,
      lpm_mult has a configurable latency (e.g. one clock cycle) it's set in Megawizard.

      Don't know how you arrive at 32 bit output for 8x8 multiply?

      lpm_mult IP supports up to 256×256 multiply in so far there's no need in cascading multiplier blocks manually.