ECOMP (was:Re: OO vs. CO)

Matthias Lang <>
Mon Mar 10 22:27:01 CET 2003

David Wallin writes:

 > > then (some additional work was done, and very little now
 > > remains before one could start testing an FPGA version.)

 > Is FPGA hardware ?

Is a Lisp program data? ;-)

An ASIC is a bunch of gates which you lay out at a chip fab by using
lithographic techniques. Its function is set in stone.

An FPGA is a bunch of gates which you can "wire up" any way you like
by programming it. Roughly, you write a file like this:

   Pin A1 is connected to NAND-gate 7, input 1
   NAND-gate 7's output is connected to flipflop 9
   Flipflip 9 is connected to ....

and use it to program the FPGA. Once programmed, the FPGA behaves
exactly like an ASIC. When you pull the power plug, the FPGA forgets
what it was programmed as, so next time you can program it as
something else. It can be an ECOMP one minute and a Java CPU the
next. FPGAs can do everything ASICs can. In theory.

In practice, FPGAs are slower, use more power and have lower gate
density than ASICs. ECOMP probably just fits in a large-ish FPGA,
which means it would sit in a small corner of an ASIC.

That last part is important. If your product contains custom ASICs,
then maybe one of the ASICs has a 'spare' corner and a bunch of spare
pins. Then you could put ECOMP there "for free". 

 > What quantities of the chip need to be produced to make it feasible?

There are many ways to turn a design into hardware and they're all
different tradeoffs between speed, cost-per-gate, cost-per-device, ...

_Very_ roughly, an FPGA costs maybe $100 per device and you can
probably get a development board with a compiler for not much more.
An ASIC costs maybe $5 per device and getting the manufacturing set up
costs perhaps $200k.


More information about the erlang-questions mailing list