HDL code and block designs for ZBNT, a system for generating, capturing and modifying network traffic.
- GUI: zbnt/gui
- Server: zbnt/server
- Python client: zbnt/python-client
This repository includes block designs for the following boards:
- ZedBoard with Ethernet FMC (2.5V version only)
- Ultra96 with 96B Quad Ethernet Mezzanine
- NetFPGA-1G-CML
- Vivado Design Suite 2022.1
- Linux device tree compiler (dtc)
- Python 3
- For building the bitstreams, a system with at least 16GB of RAM is highly recommended
- Clone this repository, make sure all dependencies are installed before proceeding.
- Initialize and fetch the required submodules:
git submodule init
git submodule update
- Add Vivado tools to PATH by sourcing the
settings64.sh
script in the installation directory:
source /opt/Xilinx/Vivado/2021.1/settings64.sh
cd
to the root directory of this repository and runmake
# Build bitstreams for all supported devices
make
# Build bitstreams only for the specified device
make zedboard
make ultra96
make netfpga_1g_cml
# Use the NUM_JOBS environment variable to control the number of parallel synthesis jobs
# The default value is 1, incrementing this number reduces synthesis time but increments
# the amount of RAM required.
NUM_JOBS=4 make zedboard
- The source code included in this repository is subject to the terms of the Mozilla Public License, v2.0. A copy is available in LICENSE.txt and Mozilla's website. This excludes code referenced as a submodule, located in the
external/
directory. - The block designs depend on IP cores available for free as part of the Xilinx Vivado Design Suite, and licensed under the terms of the Xilinx End User License. The source code for those cores is not distributed as part of this repository.