Overview

The NetFPGA enables researchers and students to build working prototypes of high-speed, hardware-accelerated networking systems. The NetFPGA has been used in the classroom to teach students how to build Gigabit Ethernet (GigE) switches and Internet Protocol (IP) routers that use hardware rather than software to forward packets. The NetFPGA hardware can be used by researchers to prototype new types of clean-slate services for next-generation networks. The NetFPGA supports multiple usage models that allow a user to build a hardware-accelerated router with as little or as much customization as they desire.

The NetFPGA

The NetFPGA hardware is installed in a standard PCI slot of a host computer. The NetFPGA hardware includes a user-programmable Field Programmable Gate Array (FPGA) and parallel banks of Static RAM (SRAM) and DDR2 Dynamic RAM (DRAM). Packets can be sent to and from all four GigE ports at wire speed. Programming, control, and monitoring of the the platform are performed by the host over the PCI bus. The hardware platform is available now from Digilent Inc.

Open Platform

The NetFPGA is implemented as a project with an open-source hardware, open-source gateware, and open-source software. Developers can review and contribute to the source code of the projects as they see fit.

Documentation

The Guide describes how to use the NetFPGA and provides walkthroughs of the main usage models.

Project Sponsors

Hardware and tools available for university programs thanks to grants, donations, and/or partnerships from:

This research is supported by corporate gifts from Xilinx, Cisco, Huawei, Juniper Networks, Agilent Technologies, Micron, Cypress, Broadcom, Digilent, and Synplicity as well as grants from the National Science Foundation (NSF EIA-0305729 and CNS-0551703). Any opinions, findings, conclusions, or recommendations expressed in this material do not necessarily reflect the views of the NSF, Stanford University, or other corporate sponsors of this project.