[erlang-questions] FPGA coming around the corner

Paulo Alexandre Ferreira <>
Fri Jan 7 22:25:06 CET 2011

First, let's get the meaning of "core" straight. For the software people core
means one PROCESSOR core. For the hardware guys core mean one "block of 

You can have one USB interface core, one PCI interface core, and so on.

On the work of Dr. Vanderbauwhede the cores are more like "processing 
elements" than traditional processor cores.

One can see that on one of his papers:


The work is remarkable but is not about 1000 "traditional processors" on a 
chip. It is about "coarse grained" reconfigurable computing.

But Erlang is a very interesting model for FPGAs for several reasons.

One is the message passing model. As long as the messages are delivered with
the right content, the system works ok. So one could grab a slow part of an 
Erlang system, and implement them in hardware.

For instance, could have an FPGA board in a computer implementing the crypto 

Another interesting thing is heterogeneous computing. In "traditional" 
multicore processors, all the processors are equal.  But, in an Erlang system 
some processes are more complex, and other processes are simple.

If we want all the processes running at the same time, why give all the 
processes the same kind of processor?

With FPGAs one can build the "right"  processor for each process, if we have 
the resources to give each process an "hardware block".

Some interesting (and hard to do) things are dynamic processes but I like the 
topic and in "my spare time" I managed to write some things about it:



 Hope some of you like it, and that some of you tell me I am wrong and why.  
;-) ;-) ;-)

 And once again, many thanks for Erlang.

Paulo Ferreira

DEI-ISEP (http://www.dei.isep.ipp.pt)

More information about the erlang-questions mailing list