Forum Discussion

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

Stabilitiey of macro vs. mega functions in 3000

Over a decade ago, I designed a number of products with MAX-Plus, using

7000 series EPLDs. I use only the graphics editor. At that time I used

a lot of macrofunctions, 74166 shift registers and other counters and

registers. Then, Altera increased density and speed without changing

part numbers, and they then recommended that built in macrofunctions,

be replaced with megafunctions which were added to MAX.

Well, now I am trying to port some of that old code still with

macrofunctions to 3000 series. Must I change to megafunctions, or is

3000 more tolerant to the macros? Also, I prefer to use MAX-Plus ver.

10.23, but, can use Quartus if there is really a benefit in compiling

for best stability of results.

Thanks, Barry

2 Replies

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

    It depends on what you have learned in the intervening decade :)

    Do you know VHDL or Verilog and do you simulate your designs using Modelsim? If you don't, are you interested in learning?

    If I was given the task of updating your code, the first thing I would do is to create a testbench that verifies the functionality of the design. I'd use MAX+Plus II to synthesize your design, and then generate a Verilog or VHDL netlist. The testbench would be written in either Verilog or VHDL. That setup would be my 'reference' design.

    I'd then either convert the design to Verilog or VHDL, and use Megafunctions where needed. Though in your case, shift-registers, registers, and FSMs could be described directly in the language. The same testbench would be used to test this design, to confirm the functionality of the original design was reproduced.

    If you want to take a shot at updating to an HDL, you'll get help on this list.

    What function does your design implement?

    Cheers,

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

    I don't think you'll be seeing any difference in stability with either way with macrofunctions or megafunctions.

    I'd say that by using megafunctions, you might be able to simplify your design and let the tool implement better optimizations.

    Ie. instead of building an 8 bit counter with registers and 7483 4-bit adders, you can just create a 8 bit counter megafunction and be done with it.

    MAX-Plus is a dead end, software wise. Altera only recommends it for legacy designs.

    When I have to support a design that's been tested and deployed, I often avoid even changing Quartus version. But whenever I move to a different device, I go for the latest Quartus.

    So, since you're changing device, I'd change to Quartus.