Skip to content

Commit

Permalink
docs: Add repository structure
Browse files Browse the repository at this point in the history
  • Loading branch information
fischeti committed Sep 9, 2024
1 parent 4e0e3a1 commit 9387e1e
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 14 deletions.
13 changes: 0 additions & 13 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,3 @@ _FlooNoC_, is a Network-on-Chip (NoC) research project, which is part of the [PU
## Getting Started

Check out our getting started [guide](https://pulp-platform.github.io/FlooNoC/getting_started/)

## Directory structure

- `docs`: Contains the documentation of the project
- `hw`: Contains all SystemVerilog files for the hardware implementation
- `test`: Contains verification IPs (VIPs) for testing
- `tb`: Contains testbenches for module verification
- `include`: Contains macros for _FlooNoC_ typedefs
- `floogen`: Contains the _FlooGen_ network generation framework
- `examples`: Contains example network configurations
- `model`: Contains the _FlooGen_ models for the network components such as network interfaces, routers and endpoints.
- `tempaltes`: Contains the `mako` templates to render the SV components
- `test`: Contains tests for the _FlooGen_ framework
23 changes: 23 additions & 0 deletions docs/repository_structure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Repository Structure and Contents

This document describes the structure of the repository and the contents of the directories.

## The `hw` hardware directory

The `hw` directory contains all the hardware-related files for all the SystemVerilog IPs. The directory is structured as follows:

- `*.sv`: SystemVerilog packages and modules for the IPs.
- `test`: Verification IPs (VIPs) such as monitors, random initiators for the testbenches.
- `tb`: Testbenches for the IPs.

## The `floogen` _FlooGen_ directory

The `floogen` directory contains the Python framework for _FlooGen_ to generate complete _FlooNoC_ networks based on a simple configuration file. The directory is structured as follows:

- `examples`: A couple of example configuration files.
- `model`: The python models for routers, network interfaces and endpoints that are used by _FlooGen_.
- `templates`: Mako templates for the generation of the SystemVerilog files.
- `tests`: Unit tests for the _FlooGen_ framework.
- `floo_gen.py`: The main script for _FlooGen_.
- `config_parser.py`: The configuration parser for _FlooGen_.
- `utils.py`: Various utility functions for _FlooGen_.
3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ repo_name: pulp-platform/FlooNoC
nav:
- Home:
- index.md
- Getting Started: gs.md
- Getting Started: getting_started.md
- Repository Structure: repository_structure.md
- FlooGen:
- floogen.md

0 comments on commit 9387e1e

Please sign in to comment.