Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20704 Discussions

Larger multipliers are faster?!

Altera_Forum
Honored Contributor II
1,848 Views

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
0 Kudos
10 Replies
Altera_Forum
Honored Contributor II
474 Views

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

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
474 Views

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?

0 Kudos
Altera_Forum
Honored Contributor II
474 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
474 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
474 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
474 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
474 Views

 

--- 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).
0 Kudos
Altera_Forum
Honored Contributor II
474 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
474 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
474 Views

 

--- 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
0 Kudos
Reply