- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I haven't used Altera tools for ages, but I'm working on a Cyclone 3 design now, so I'm trying to understand them.
The design is going to use many 20x20 signed multipliers. I had hoped that the synthesizer would be able to infer a 20 x 20 that used one 18 x 18, and did the rest in fabric, but I couldn't get that to work. I used the MegaWizard with the LPM_MULT. I set the Optimization to "Area" (otherwise it uses nothing but hardware multipliers) and set the latency to three (to allow some pipelining for the addition of the two 2x20 mults in fabric) and it seems to do pretty much what I expected. That was with Quartus 9.1. If I try to repeat this with Quartus 10, it won't let me set the latency to three. If I set it to two it does what I would expect, and runs too slow (as I would expect). Any idea what's going on? Am I being dumb, or are the tools broken?Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
seems like a bug with the new GUI, it should probably be <= 3 or < 4
after you generate your multiplier go into the .vhd and change the pipeline from 2 to 3. based on the fmax it seems like it took properly completely unrelated, i'd advise you to change your forum username, you might be a spam target with your email out in the open like that- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
line 83:
from: lpm_pipeline => 2, to: lpm_pipeline => 3,- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- after you generate your multiplier go into the .vhd and change the pipeline from 2 to 3. based on the fmax it seems like it took properly completely unrelated, i'd advise you to change your forum username, you might be a spam target with your email out in the open like that --- Quote End --- That worked. Thanks. Two related questions. Is there any way I can encourage inference of the structure I want, or am I stuck with the MegaWizard? How do I change my username (I poked around and couldn't find any obvious way)? Thanks Pete
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
i think you can take the instantiation of the lpm function out of the generated HDL that you edited, and use that component declaration and instantiation in your own HDL. you can probably even change parameters, just make sure they are legal since this is normally taken care of by the wizard.
you'll probably spend more time than you'd like writing HDL that will do the same as the MegaWizard (as far as performance and resource usage are concerned)- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think you'll have to mail the forum admins about your username.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page