Forum Discussion

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

FPGA Maximum Resourses Question

When Altera lists the maximum resources like for Cyclone V Devices (A2)

Logic Elements 25K

ALM 9,434

Register 37,736

M10K 1,760kb

MLAB 196Kb

Is their double booking here, meaning MLAB is made up of ALM's, correct?

ALM's have logic Elements correct?

So is there a way to figure out the true resources of each device?

thanks

4 Replies

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

    Yes I read that, it's much too vague to answer my question, for instance is the LUT part of the listed CRAM, or part of the listed Logic Elements.

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

    I wouldn't really call it double-counting, as you're not supposed to add them or anything. They have different meanings and uses, so all presented:

    Logic Elements 25K - This is a metric meant to standardize across different architectures and even different FPGAs. There is no clear definition of what 1 Logic Element is, and as architectures have changed and added more capabiities, they count block XYZ as 1.15 or 1.25 or whatever Logic Elements. So for example, Cyclone V has ALMs which are significantly different than Cyclone IVs Logic Cells, and this is an effort to try and compare them. It's meant to make things easier, but at times can make things more difficult.

    ALM 9,434 - The Adaptive LUT structure. Because it's adaptive, it can be configured different ways and isn't always black-and-white either. The Fitter report for a design does ALMs and if you look in the details, does some extra accounting to achieve its number. It tells you how, and I do believe this is a more accurate representation than just counting a resource.

    Register 37,736 - Actually, this one probably is double-counted. An ALM can be one large LUT(like a 5,6 or7 input LUT) or two separate LUTs, like 2 4-inputs LUTs, a 5 input and a 3-input, plus a number of other combinations. There are 4 registers inside the ALM, but it is very unlikely you'll use more than 2. Most registers are tied to a LUT, and since you get a maximum of 2 per ALM, on average it is unlikely you'll get more than 2 LUTs per ALM.

    M10K 1,760kb - I prefer to think in number of M10Ks, of which there are 176. (Depending on RAM sizes, these don't always get fully utilized)

    MLAB 196Kb - These are made from logic, where a LAB is converted to an MLAB. I seldom see a lot of these being used, and usually are less than a few percent of the LABs used for logic. If you really tried to use a large number of these, you'd lose too much logic for most designs.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Ok So Logic Elements can be ignored, it's just a "Equivalent Logic Element" compared to previous devices, thanks

    There are four registers in the ALM so 4x9,434=37,736, so Registers are just how many registers in the ALM, and can be ignored, thanks

    For MLAB, it seems that must be create from ALM resources , but not sure how you can get 196kb from just 9,434 ALM's, I have to look into that.

    Thanks, you helped alot.