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. |