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 hlsfolder.
- Rename .vfiles into.sv, add the following line to thep2p_250mhz.svfile:
`include "p2p_250mhz_regslice_both.sv"- Inside the plugin/p2psubstitute thep2p_250mhz.svfile with the generated one, and add thep2p_250mhz_regslice_both.svfile.
- Inside the plugin/p2p/box_250mhzfolder, substitute theuser_plugin_250mhz_inst.vhfile 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_0is the device name
- Now run program_fpga.sh