Skip to content

Commit

Permalink
docs: Update citation (#76)
Browse files Browse the repository at this point in the history
* README: Add Journal arXiv link

* README: Add paper badges

* README: Try to use link

* README: Try link again

* README: Update badge color

* README: Link licenses badges

* lint: Python sources

* floogen(test): Fix tests
  • Loading branch information
fischeti authored Sep 28, 2024
1 parent 3f69027 commit d9377cd
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 16 deletions.
44 changes: 33 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@ This repository provides modules for the FlooNoC, a Network-on-Chip (NoC) which

[![CI status](https://github.com/pulp-platform/FlooNoC/actions/workflows/gitlab-ci.yml/badge.svg?branch=main)](https://github.com/pulp-platform/FlooNoC/actions/workflows/gitlab-ci.yml?query=branch%3Amain)
[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/pulp-platform/FlooNoC?color=blue&label=current&sort=semver)](CHANGELOG.md)
![License](https://img.shields.io/badge/license-Apache--2.0-green)
![License](https://img.shields.io/badge/license-SHL--0.51-green)
[![License](https://img.shields.io/badge/license-Apache--2.0-green)](LICENSE-APACHE)
[![License](https://img.shields.io/badge/license-SHL--0.51-green)](LICENSE-SHL)
[![Static Badge](https://img.shields.io/badge/IEEE_D%26T-blue?style=flat&label=DOI&color=00629b)](https://doi.org/10.1109/MDAT.2023.3306720)
[![Static Badge](https://img.shields.io/badge/2409.17606-blue?style=flat&label=arXiv&color=b31b1b)](https://arxiv.org/abs/2409.17606)

[Design Principles](#-design-principles)
[Getting started](#-getting-started)
Expand Down Expand Up @@ -45,20 +47,40 @@ The names of the IPs are inspired by the [Harry Potter](https://en.wikipedia.org
All code checked into this repository is made available under a permissive license. All software sources are licensed under the Apache License 2.0 (see [`LICENSE-APACHE`](LICENSE-APACHE)), and all hardware sources in the `hw` folder are licensed under the Solderpad Hardware License 0.51 (see [`LICENSE-SHL`](LICENSE-SHL)).

## 📚 Publication
If you use FlooNoC in your research, please cite the following paper:
If you use FlooNoC in your research, please cite the following papers:
<details>
<summary><b>FlooNoC: A Multi-Tbps Wide NoC for Heterogeneous AXI4 Traffic</b></summary>
<summary><b>FlooNoC: A 645 Gbps/link 0.15 pJ/B/hop Open-Source NoC with Wide Physical Links and End-to-End AXI4 Parallel Multi-Stream Support</b></summary>
<p>

```
@misc{fischer2023floonoc,
title={FlooNoC: A Multi-Tbps Wide NoC for Heterogeneous AXI4 Traffic},
author={Tim Fischer and Michael Rogenmoser and Matheus Cavalcante and Frank K. Gürkaynak and Luca Benini},
year={2023},
eprint={2305.08562},
@misc{fischer2024floonoc645gbpslink015,
title={FlooNoC: A 645 Gbps/link 0.15 pJ/B/hop Open-Source NoC with Wide Physical Links and End-to-End AXI4 Parallel Multi-Stream Support},
author={Tim Fischer and Michael Rogenmoser and Thomas Benz and Frank K. Gürkaynak and Luca Benini},
year={2024},
eprint={2409.17606},
archivePrefix={arXiv},
primaryClass={cs.AR}
}
primaryClass={cs.AR},
url={https://arxiv.org/abs/2409.17606}}
```

</p>
</details>
<details>
<summary><b>FlooNoC: A Multi-Tbps Wide NoC for Heterogeneous AXI4 Traffic</b></summary>
<p>

```
@ARTICLE{10225380,
author={Fischer, Tim and Rogenmoser, Michael and Cavalcante, Matheus and Gürkaynak, Frank K. and Benini, Luca},
journal={IEEE Design & Test},
title={FlooNoC: A Multi-Tb/s Wide NoC for Heterogeneous AXI4 Traffic},
year={2023},
volume={40},
number={6},
pages={7-17},
keywords={Bandwidth;Protocols;Scalability;Routing;Payloads;Complexity theory;Network interfaces;Network-on-chip;Network-On-Chip;AXI;Network Interface;Physical design},
doi={10.1109/MDAT.2023.3306720}}
```

</p>
Expand Down
11 changes: 10 additions & 1 deletion floogen/model/graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ def add_nodes_as_tree(
tree: List[int],
node_type: str,
edge_type: str,
*,
lvl: int = 0,
node_obj=None,
edge_obj=None,
Expand All @@ -213,14 +214,22 @@ def add_nodes_as_tree(
node, parent, type=edge_type, obj=edge_obj, src_dir=None, dst_dir=None
)
self.add_nodes_as_tree(
node, tree, node_type, edge_type, lvl + 1, node_obj, edge_obj, connect
node,
tree,
node_type,
edge_type,
lvl=lvl + 1,
node_obj=node_obj,
edge_obj=edge_obj,
connect=connect,
)

def add_nodes_as_array(
self,
name: str,
array: Tuple[int],
node_type: str,
*,
edge_type: str = "",
node_obj=None,
edge_obj=None,
Expand Down
4 changes: 2 additions & 2 deletions floogen/tests/graph_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ def assert_edge(edge):
assert graph.has_edge(*edge[::-1])
assert graph.is_link_edge(edge[::-1])

graph.add_nodes_as_array("A", [2], "router", "link")
graph.add_nodes_as_array("A", [2], "router", edge_type="link")
assert_node("A_0", (0,))
assert_node("A_1", (1,))
assert_edge(("A_0", "A_1"))
Expand All @@ -329,7 +329,7 @@ def assert_edge(edge):
assert graph.has_edge(*edge)
assert graph.is_link_edge(edge)

graph.add_nodes_as_array("A", [2, 2], "router", "link")
graph.add_nodes_as_array("A", [2, 2], "router", edge_type="link")
assert_node("A_0_0", (0, 0))
assert_node("A_0_1", (0, 1))
assert_node("A_1_0", (1, 0))
Expand Down
5 changes: 3 additions & 2 deletions util/gen_jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ def gen_job_str(
length: int,
src_addr: int,
dst_addr: int,
*,
max_src_burst_size: int = 256,
max_dst_burst_size: int = 256,
r_aw_decouple: bool = False,
Expand Down Expand Up @@ -101,7 +102,7 @@ def gen_nw_chimney2chimney_traffic(
bidir: bool,
out_dir: str
):
# pylint: disable=too-many-arguments
# pylint: disable=too-many-arguments, too-many-positional-arguments
"""Generate Narrow Wide Chimney to Chimney traffic."""
num_masters = 2
for i in range(num_masters):
Expand Down Expand Up @@ -131,7 +132,7 @@ def gen_mesh_traffic(
out_dir: str,
**_kwargs
):
# pylint: disable=too-many-arguments, too-many-locals, too-many-branches, too-many-statements
# pylint: disable=too-many-arguments, too-many-locals, too-many-branches, too-many-statements, too-many-positional-arguments
"""Generate Mesh traffic."""
for x in range(0, NUM_X):
for y in range(0, NUM_Y):
Expand Down

0 comments on commit d9377cd

Please sign in to comment.