NetFPGA 是一款低功耗的开发平台,作为网络硬件教学和路由设计的设计工具。NetFPGA可以很方便的使得研究人员或者高校的学生搭建一个高速、硬件加速的网络系统。兴起于北美,最初只是斯坦福大学课堂教学使用的Project。NetFPGA把FPGA的可配置的特性带入了网络通讯领域,可以为更多的研究人员研究下一代网络提供了一个开放的平台。愈来愈多的人开始关注到NetFPGA的特性,并有很多人参与了基于NetFPGA的开源项目。
NetFPGA平台(如图1)包含了一个Xilinx Virtex-2 Pro 50 的FPGA,运行在125MHz的时钟频率下,用于用户自定义逻辑的设计;还包含了Xilinx Spartan-II FPGA,运行PCI接口控制器的控制逻辑,用于与主处理器的通信。两个2.25MB的外部SDRAM以及扩展的64MB的DDR SDRAM作出数据存储介质。平台还提供了四个千兆以太网接口,以配合在FPGA中的四个千兆以太网控制器软核。NetFPGA还包含了两个SATA连接器,使得在一个系统中多个NetFPGA板直接交换数据,而不需通过PCI总线。
图1 . NetFPGA的硬件组成
用于逻辑设计的Xilinx Virtex-2 Pro FPGA
用于PCI主接口的Xilinx Spartan
2*2.25MB ZBT SRAM
64MB DDR2 DRAM
物理层上的4个千兆以太网口
NetFPGA的系统架构(如图2所示)。在研究开发的过程中主要包括硬件层的设计(FPGA的逻辑层的设计)以及软件层的开发(对应硬件层的驱动开发以及应用程序的开发)。
购置的主机(配置越高越好),注意主板需留一个PCI-E给网卡使用,所以选主板的时候最好选择集成显卡。
图2. NetFPGA的系统框架
操作系统推荐的是CentOS 4.4,CentOS 4.5 CentOS 5.1;用户需要对Xilinx的FPGA进行配置,所以需要安装ISE9.1i软件;还有相关FPGA的工具,如ModelSim(FPGA逻辑仿真),ChipScope(片上逻辑分析)等。还需要安装NetFPGA Base package,在安装之前还需要Java和RPMforge yum工具包的支持。需要注意安装的每个软件的版本问题,因为彼此存在很大的依赖。
介绍来自 OSChina 博客