ChipEnet.com - Everything Ethernet

What is Ethernet ?

Ethernet is a magical way of exchanging data between any permutations of software threads and
FPGA logic. The software threads and FPGA logic may be separated by hundreds of meters and
executes on different PC boards. Ethernet allows the direct transfer of blocks of data and control
between software and FPGA hardware. Ethernet can connect dumb devices together and control
them or connect computers together for parallel processing. Ethernet can handle streaming
audio and video data streams, e.g. from cameras, with fixed latency and sustained bandwidth.
Bandwidth of up to 4 Gb/s is easily achieved with sub microsecond of latency and only 12 signal
pins per Gb/s of bandwidth.

Ethernet hardware is widely available and very low cost. Even better is the fact that Ethernet is
supported by many software programs and every Operating System. This wide spread software
support means no driver programming is required to interface to custom hardware. Not having
to write a driver to interface to custom hardware is an enormous advantage. By using widely
supported Ethernet as the interface, user level software can transfer data and control to and
from FPGA hardware with Ethernet MACs. Polling or interrupts are used to control the hardware.
Not having to write drivers also mean easy portability to different software platforms.


What is an Ethernet MAC ( Media Access Controller ) ?

An Ethernet MAC is a magical hardware module which will deliver data from one hardware
system to one or more other hardware systems. The MAC does everything necessary to perform
the data transfer. No special knowledge of Ethernet or any complicated bus protocols is required.
Just write into a Fifo or read from a Fifo. The data is checked for errors by a very powerful error
detection code. Using Ethernet MAC IP cores to interface to FPGA accelerators offers many
advantages. Simple programming, no drivers necessary, and the option to share the FPGA
accelerator with other desktop or server on the network are key advantages. The other option of
using PCI or PCI Express bus to connect to a desktop or server requires far more effort with
constant driver updates needed for every OS changes and more implementation constraints due
to PCI board size and power limitations.

ChipEnet Ethernet MAC IP cores enables easy control and interface of FPGA based accelerators.
FPGA accelerators are compelling because while current CPUs do run at multi-GHz rates, even the
newest CPUs can only handle a small number of threads of execution in parallel. In contrast, a
FPGA can handle hundreds or thousands of threads in parallel, albeit at a lower clock rate.

What's Real Time Ethernet ?

Ethernet was originally developed to connect workstations together and connecting computers
together has remained the dominant application. In its original form,
Ethernet had difficulty
maintaining bandwidth
and had trouble delivering packets reliably. Real Time Ethernet is using
Ethernet for connecting devices, such as cameras, and machines, which must operate in real
time. In these usage, reliable packet delivery, low fixed latency and sustained bandwidth are
important. With better scheduling, special connection topology, synchronized clocks and
innovative design, Ethernet has been enhanced to address the previous shortcomings.


Why FPGAs ?

FPGAs are fast in operation and quick to implement. Even the slowest FPGAs can achieve over
100Mhz cycle rate. Faster FPGAs easily go over 200Mhz in operation with large amount of logic
and memory.

FPGAs come in automotive and Mil spec grades. This mean you can implement a design for harsh
operating conditions very easily and at low cost without custom silicon.

FPGAs allow rapid prototyping and evaluation of an idea. There's nothing like executing an idea
in actual hardware to find out how good or bad it is. FPGAs allows adding test and monitoring
logic for better understanding of what is going on durring the testing stage and removing the
added logic for production.. You get a better understanding of what's going on and you achieve
this insight much faster than software simulation.