Getting Started
Prerequisites
Bender
FlooNoC uses Bender for hardware IPs and dependency management. Bender is available through Cargo or as pre-compiled binaries for Linux, macOS, and Windows:
cargo install bender
curl --proto '=https' --tlsv1.2 https://pulp-platform.github.io/bender/init -sSf | sh
Make sure that the Bender binary directory is in your PATH
, or set the BENDER
environment variable to the path of the Bender binary.
Python
Some parts of FlooNoC including the FlooGen generator are written in Python. The required Python version is 3.10 or higher. You can install Python from the official website.
Simulation Tools
Currently, we don't provide any open-source simulation setup such as Verilator. FlooNoC was internally tested and verified with QuestaSim-2023.4. To run the RTL simulations you need to have QuestaSim installed. By default, FlooNoC uses the vsim
command to run the simulations, which can be overridden by setting the VSIM
environment variable.
Installation
Clone the repository from GitHub:
git clone https://github.com/pulp-platform/FlooNoC.git
pip install .
Usage
Running the Testbenches
Now you can compile and run the testbenches with the following command:
make compile-sim
make run-sim VSIM_TB_DUT=tb_floo_dut
Generating a FlooNoC Network
where you replace tb_floo_dut
with the testbench that you want to simulate.
To generate a FlooNoC network using the FlooGen generator, you can use the following command:
floogen -c examples/floo_dut.yaml -o generated
Optional dependencies
For the development on FlooGen, it is recommended to install the dev
dependencies for python linting and testing:
pip install .[dev]
pip install .\[dev\]
For documentation generation, you can install the docs
dependencies:
pip install .[docs]
pip install .\[docs\]