Forum Discussion

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

Quartus 10.0 lpm modules

Hi all,

this has been treated here and that. Also a pool has been set by tentner (Should the lpm_counter and lpm_add_sub-megafunctions, etc. return to the MegaWizard?)

The release notes of QII 10.0 state:

"The MegaWizard Plug-In Manager no longer supports the following megafunctions: ALT3PRAM, ALTACCUMULATE,

ALTGXB, ALTSHIFT_TAPS, ALTSQRT, LPM_ABS, LPM_ADD_SUB, ....

You can compile designs that include the above megafunctions in the Quartus II software version 10.0, but you cannot create new instances or edit existing variations of these megafunctions."

The first questions are:

If the LPM_ADD_SUB and similar modules are no more available. Which should be the usage of the schematic editor according to Altera ideas?

Is there a plan to remove the schematic editor from future QuartusII releases?

I don't see the utility of a schematic editor where you can only instantiate basic AND, OR and NOT gates and complex components such as FP units (the ALT megacores).

Which are your ideas?

Further there things that are not clear to me. It seems the the above LPM components are still in the Megafunction libraries and it is possible to instantiate them, even if the Megawizard doesn't show them.

This is an example of usage of the LPM_ADD_SUB

I created a new Project in QuartusII 10.0 web edition.

The chosen device is a StratixII.

When I go through the symbol list in a newly created schematic file I can still see the LPM_ADD_SUB, LPM_COUNTER etc.

I can also place them on the schematic.

The difference with 9.1 is that the Launch Megawizard plug in checkbox is not enabled.

In QII 9.1 the placing the component automatically launches the Megawizard plug in Manager.

I can set bus width, pipelining, ADD/SUB etc. At the end I get a nice symbol that respects my whishes..

After "creating an HDL design file from current file" and added a test bench. The modelsim simulation works correctly.

The LE occupation is 8ALUTs in arithmetic mode and 24 pins.

In QII 10.0 the LPM_ADD_SUB component is not targeted to my wishes but a table is present on the right upper corner where the LPM parameters are shown.

I can also change them.

As example I can state that some I/O are not used in my design. The names disappear from the symbol but the signal lines are still there.

I can create an HDL file from the circuit.

The problems I found are the following:

1) Setting the parameters is cumbersome. Column width is too narrow ti read what you're going to select. Further for certain parameters it is not clear what to write.

For pipeline, as example, I set "NO" but this resulted in an error. It wants 0 if you want a circuit without pipelining.

2) The generated Verilog HDL cope recalls an empty lpm_add_sub0 module. I delete the call.

After these steps the project has been synthesized providing the same results as QII 9.1 and the ModelSim simulation is also working.

The above described project is added to this

So my last question is: Why the LPM_ADD_SUB is still instantiable if not supported by Megawizard?

Thx and sorry for the length of the post.

13 Replies