Welcome to the Hpps24 SmartNIC repository! This project was developed as part of the High Performance Processors and Systems course. The primary goal was to port the SmartNIC Enso and create a packet filtering module that analyzes MAC addresses. This module is integrated into AMD's OpenNIC framework, enhancing its capabilities for network management and performance.
- Use Vitis_HLS 2023.2 to generate the verilog files, create a new project and add the source files inside the
hls
folder. - Rename
.v
files into.sv
, add the following line to thep2p_250mhz.sv
file:
`include "p2p_250mhz_regslice_both.sv"
- Inside the
plugin/p2p
substitute thep2p_250mhz.sv
file with the generated one, and add thep2p_250mhz_regslice_both.sv
file. - Inside the
plugin/p2p/box_250mhz
folder, substitute theuser_plugin_250mhz_inst.vh
file with the provided one.
This instructions are meant to be used with the script provided by OpenNIC-shell. As the program_fpga.sh script seems to fail because of the program_fpga.tcl, here are some instructions to fix it.
- Move into open-nic-shell/script
- Inside board_settings, edit the file of the corresponding board (au250.tcl in this example)
- Add
set hw_device xcu250_0
, wherexcu250_0
is the device name - Now run program_fpga.sh