Skip to content

Projects Ideas List

Jong Hun Han edited this page May 17, 2017 · 1 revision

Background

Over time the NetFPGA (and NetFPGA SUME in particular) project has built a list of ideas for contributed projects that can be useful, but no hands are available to do it. If you would like to contribute a NetFPGA project, you might pursue this list to get a sense of the kinds of work available to do. Contributions are not limited to this list!

Please do contact us before starting on it though - sometimes items remain on the list after they are completed.

Ideas List

Open source CPLD design

Decription: The CPLD is used in the NetFPGA-SUME board to provide a fast programming interface from 2 FLASH devices to the FPGA. It uses SlaveMap interface. The CPLD designed by Digilent and providing the interface is not open-source. The goal of this project is to design a CPLD that will provide the same functionality and will be open-source.

Technical contact: NetFPGA Dev team, Cambridge

Requirements:

  • Experience in CPLD design

  • Verilog/VHDL knowledge

Open source FLASH programming

Decription: A CPLD is used in the NetFPGA-SUME board to provide a fast programming interface from 2 FLASH devices to the FPGA. It uses SlaveMap interface and the FLASH can not be directly programmed using JTAG / Xilinx's tools. Currently, a dedicated (closed-source) Digilent solution is used for FLASH programming. The goal of this project is two fold: 1. Design a small (verilog) module, to be included in all NetFPGA SUME projects, which allows access to the FLASH 2. Design a software to run on top of the host and program the FLASH through the FPGA (using the above module).

Technical contact: NetFPGA Dev team, Cambridge

Requirements:

  • Verilog knowledge

  • C knowledge

  • Experience in FLASH programming - optional

An OpenFlow switch

Decription: A simple OpenFlow switch project, possibly a port from previous platforms.

Technical contact: NetFPGA Dev team, Cambridge

Requirements:

  • Verilog knowledge

  • OpenFlow knowledge - recommended

SRAM based Output queues block

Decription: The reference designs are using small BRAM based output queues. The goal of this project is to write a SRAM based output queues module, that can provide maximum throughput.

Technical contact: NetFPGA Dev team, Cambridge

Requirements:

  • Verilog knowledge

DRAM based Output Queues module

Decription: The reference designs are using small BRAM based output queues. The goal of this project is to write a SRAM based output queues module, that can provide maximum buffering (i.e. support a huge number of buffers).

Technical contact: NetFPGA Dev team, Cambridge

Requirements:

  • Verilog knowledge

Partial Reconfiguration

Decription: Full reconfiguration of the board typically requires a reset cycle of the machine, e.g. for PCIe enumeration. The goal of this project is to enable partial reconfiguration of the NetFPGA SUME platform, e.g. without the PCIe and DMA engines or of the datapath only.

Technical contact: NetFPGA Dev team, Cambridge

Requirements:

  • Advanced knowledge of Vivado
Clone this wiki locally