From: Marcus on
Hi all,

I just wanna get some feedback if I understood this correctly:

Althoug there is something out called gate-equivalent, it essentially
does not make sense to compare FPGA with ASIC implementations. The
reason is that ASICs actually require one gate for each logical
operation in a logical expression. For instance, d = a AND b OR c
requires two logical gates. In contrast, on FPGAs there are LUTS
that permit to implement any complex expression with up to 4 inputs
that do not produce more than 1 output. So that is basically the
reason why this gate-equivalent metric is not accurate since we
can never be sure how many logical expression are combined in a LUT.

Does this argumentation make a bit of sense?

Thanks
From: Rob Gaddi on
On Fri, 12 Mar 2010 00:55:39 +0000
Marcus <MJones(a)hotmail.com> wrote:

> Hi all,
>
> I just wanna get some feedback if I understood this correctly:
>
> Althoug there is something out called gate-equivalent, it essentially
> does not make sense to compare FPGA with ASIC implementations. The
> reason is that ASICs actually require one gate for each logical
> operation in a logical expression. For instance, d = a AND b OR c
> requires two logical gates. In contrast, on FPGAs there are LUTS
> that permit to implement any complex expression with up to 4 inputs
> that do not produce more than 1 output. So that is basically the
> reason why this gate-equivalent metric is not accurate since we
> can never be sure how many logical expression are combined in a LUT.
>
> Does this argumentation make a bit of sense?
>
> Thanks

It's not even as simple as that. While you could design that
combinational circuit as a casacade of two logic gates, you could also
roll it into a 3-input compound gate and save a couple of transistors.
Then if the output could stand inversion, you'd save a couple more by
making your output D# instead of D. That's assuming that everything
remains CMOS; if you needed to really get aggressive you could play
tricks with dynamic logic that you just can't do in an FPGA.

--
Rob Gaddi, Highland Technology
Email address is currently out of order
From: glen herrmannsfeldt on
Marcus <MJones(a)hotmail.com> wrote:

> I just wanna get some feedback if I understood this correctly:

> Althoug there is something out called gate-equivalent, it essentially
> does not make sense to compare FPGA with ASIC implementations. The
> reason is that ASICs actually require one gate for each logical
> operation in a logical expression. For instance, d = a AND b OR c
> requires two logical gates. In contrast, on FPGAs there are LUTS
> that permit to implement any complex expression with up to 4 inputs
> that do not produce more than 1 output. So that is basically the
> reason why this gate-equivalent metric is not accurate since we
> can never be sure how many logical expression are combined in a LUT.

> Does this argumentation make a bit of sense?

Well it does, but that doesn't stop people from doing it.

It is nice to have a rough idea what size design is likely
to fit into which FPGA size. If the FPGAs were only LUTs, then,
on average, there might be a convenient conversion factor.

Now that Block RAMs, multipliers, and even PowerPC processors
are part of some FPGAs, it makes the process more complicated.
FPGA vendors tend to count gates in those modules, though it is
rare for a design to use them all.

The common metric for ASICs is to count gates in terms of the
number of transistor in a two input NAND gate (four in CMOS),
and so divide the number of transistors by that number.
That is a convenient unit, which may or may not scale.

It seems that the real problem with gate measurements for FPGAs
is that the vendors use a system that results in larger values
than on is actually likely to get on a real design. That is
confusing when one actually does it. Similar to EPA gas mileage,
where we never get the stated mileage with actual driving.

-- glen
From: Muzaffer Kal on
On Fri, 12 Mar 2010 00:55:39 +0000, Marcus <MJones(a)hotmail.com> wrote:

>Hi all,
>
>I just wanna get some feedback if I understood this correctly:
>
>Althoug there is something out called gate-equivalent, it essentially
>does not make sense to compare FPGA with ASIC implementations. The
>reason is that ASICs actually require one gate for each logical
>operation in a logical expression. For instance, d = a AND b OR c
>requires two logical gates. In contrast, on FPGAs there are LUTS
>that permit to implement any complex expression with up to 4 inputs
>that do not produce more than 1 output. So that is basically the
>reason why this gate-equivalent metric is not accurate since we
>can never be sure how many logical expression are combined in a LUT.
>
>Does this argumentation make a bit of sense?

If it were that simple, one could come up with pretty useable metrics
to compare them. Alas the situation is quite a bit more complicated
which makes comparison difficult. The main difference between an ASIC
and an FPGA is that FPGAs have embedded hard-macro blocks which have
to be properly accounted. These embedded blocks are either direct
replacement for gates (ala DSP blocks which have wide
multiplier/adders which can be implemented in ASIC gates) or other
embedded block which need extra IP in an ASIC (ala PLLs, Serial
transceivers, memory etc.)
Another condition which complicates this calculation is that not all
logic which is available in an FPGA is usable in a given design
because of routing restrictions. When you add the issue of having to
use some of the FPGA LUTs just as buffers for routing replacement or
to drive large fanout, it gets even more complicated.
The bottom line is that if one is willing to separate the ASIC area
requirement into IP blocks which are needed and the logic area which
can be mapped to FPGA fabric + FPGA embedded IP, it's possible to do a
pretty good comparison. But there is no simple rule of thumb which can
give you the equivalent gate size of an FPGA without significant
consideration of the actual design being mapped.
--
Muzaffer Kal

DSPIA INC.
ASIC/FPGA Design Services

http://www.dspia.com
From: d_s_klein on
On Mar 11, 4:55 pm, Marcus <MJo...(a)hotmail.com> wrote:
> Hi all,
>
> I just wanna get some feedback if I understood this correctly:
>
> For instance, d = a AND b OR c requires two logical gates.
>

Not always true. It depends on the library, and the ability of the
synthesis tool to utilize the library.

The gate equivalent metrics all have a bit of bogus built in, and as
others have pointed out, it is not as simple as you assert.

RK