10 likes | 147 Views
Serial Port. DDR. Virtex FPGA. Spartan FPGA. RJ-45 Port. Ethernet PHY. PCI Interface. Gigabit Ethernet. FPGA Development Board. PHY. RS-232 Serial. Virtex FPGA. Front-End. DDR. Gigabit. BRAM. DDR. UART. DMA. Spartan FPGA. Memory. MAC. (32 KB). Controller. (256 MB).
E N D
Serial Port DDR Virtex FPGA Spartan FPGA RJ-45 Port Ethernet PHY PCI Interface Gigabit Ethernet FPGA Development Board PHY RS-232 Serial Virtex FPGA Front-End DDR Gigabit BRAM DDR UART DMA Spartan FPGA Memory MAC (32 KB) Controller (256 MB) PLB Bus Bridge Bridge I-Cache D-Cache I-Cache D-Cache Hardware (16 KB) (16 KB) (16 KB) (16 KB) Back-End SRAM SRAM Events DMA Controller (2 MB) PowerPC 405 PowerPC 405 Scratchpad Embedded Processor Embedded Processor (2 KB) (300 MHz) (300 MHz) PCI PCI Bus (64b / 66 MHz) RiceNIC: A Reconfigurable and Programmable Gigabit Network Interface Card Jeff Shafer, Dr. Scott RixnerRice Computer Architecture: http://www.cs.rice.edu/CS/Architecture Networks are Essential! NIC Features Performance • Software Programmability • Dual 300 MHz PowerPC processors • 256 MB DDR memory • 2MB SRAM (accessible from host and NIC) • Serial port for debugging • Descriptor control system • Hardware Acceleration • MAC / DMA controllers • TCP Checksum Offloading • Hardware Event notification • RiceNIC TCP stream throughput compared to commercial NIC • Networking is an integral part of computer systems • The role of a network interface is evolving • Significant new research is changing the hardware/software interface between the operating system and the network interface card (NIC) • Researchers need a flexible NIC to study this field • RiceNIC is a reconfigurable and programmable Gigabit Ethernet NIC that meets these research needs • NIC design is freely available for research/education! • NIC provides significant computation and storage resources and allows the user to customize NIC behavior in softwareand hardware. Development Platform Device Utilization Software Design • Avnet Virtex-II Pro Development Board • PowerPC processor runs custom packet-handling firmware • Interfaces with MAC to send/receive packets • Interfaces with DDR to store bulk frame data • Interfaces with DMA engine to transfer data to/from host • Custom Linux and FreeBSD device drivers • Space for future development System Architecture Virtex FPGA Placement PCI DMA Engine Ethernet MAC DDR Controller PowerPCProcessors NIC Control & Data Bus