Skip to content

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
Install the python dependencies and FlooGen:

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\]