Forum Discussion

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

Larger multipliers are faster?!

I'm designing some IIR filters in a Cyclone III, so I had a quick look to see how fast I could get a large multiplier to run. I used lpm_mult, with a latency of 2, and optimized for speed (latency 2 seemed to be fastest).

I got a 48x48 running at 148 MHz, and a 64x64 running at 202 MHz. This is quite counter-intuitive to me. What am I missing?

Thansk

Pete

10 Replies

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

    What timing requirement did you put on the clock? The fitter isn't going to work any harder than it needs to.

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

    I'm new to Altera, so perhaps I'm doing something dumb. I didn't explicitly input a timing requirement (I had noticed that the timing analyzer defaults to 1000 MHz, so had assumed that would make the fitter try hard). Do I need to enter my own timing requirement?

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

    You might actually get better performance by putting in a realistic timing requirement and seeing what performance you can achieve. You can continue to revise the requirement upward until it fails to meet timing (if your goal is to see "how fast" you can get it).

    Also, you ought to use the RTL viewer to get an idea of what each multiplier produced in terms of logic.

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

    yes. And increase it manually in order to find the real feasible limit

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

    I tried two approaches, and they both give similar results. I used the "Standard Fit" option in fitter settings, and I used "Auto Fit" while manually increasing the required fmax.

    I get the 48x48 to 192 MHz, and the 64x64 to 220 MHz.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Very strange indeed. I would advise to file a service request to altera. They should be able to tell you which one of the numbers is wrong, or if there is a special "superfast" carry chain that only gets used by 64bit operations

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

    --- Quote Start ---

    I would advise to file a service request to altera.

    --- Quote End ---

    Unfortunately they don't seem to accept service requests from me. I submitted one earlier (on what I think is a 10.0 bug), and they auto-replied saying that I would not be approved unless I could give them an email address that was associated with a company or a university. I'm a consultant, so I have neither. I replied asking them how consultants could deal with the system, and they didn't respond.

    All my designs in the last decade have been company X. This client requires Altera, but I'm finding the lack of support a disincentive to use Altera for future projects (where I have a choice).
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    try clicking the feedback button on the mySupport page and explain who your current end customer is

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

    I definitely wouldn't be tolerating any of that nonsense. Get in touch with the local FAE and sales rep and work the issue through them.

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

    --- Quote Start ---

    I'm designing some IIR filters in a Cyclone III, so I had a quick look to see how fast I could get a large multiplier to run. I used lpm_mult, with a latency of 2, and optimized for speed (latency 2 seemed to be fastest).

    I got a 48x48 running at 148 MHz, and a 64x64 running at 202 MHz. This is quite counter-intuitive to me. What am I missing?

    Thansk

    Pete

    --- Quote End ---

    Hi Pete,

    can you post your projects ? I tried the multiplier, but my larger mult is slower ( as expected )

    Kind regards

    GPK