Skip to content

hw: Add Multicast capabilities #123

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 55 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
f563343
mcast req sending support finished
Dec 10, 2024
e8f367c
handle b responses
Jan 24, 2025
77438e0
rob_mcast passed!
Jan 28, 2025
69d5585
routing updated; sync modules reduced
Feb 1, 2025
c91fef8
mcast flooccamy pass
Mar 4, 2025
8374213
wide bug fixed
Mar 13, 2025
12c5dc2
loop from for to while
Mar 13, 2025
6bf953a
a
Apr 1, 2025
f6840c8
nw_chimney user bits adjustment; fix some formatting issues
Apr 1, 2025
2dde410
hw: axi_chimney mcast fully supported; tb: header now all includes mask
Apr 4, 2025
a616297
Merge branch 'main' into new-mcast
Apr 4, 2025
7c5fe7b
tb: adjust for multicast
Apr 5, 2025
dbcb167
Merge branch 'main' into new-mcast
fischeti Apr 9, 2025
03996c6
Add newlines at the end of files
fischeti Apr 9, 2025
fe9a39b
make: Clean up
fischeti Apr 9, 2025
7439f21
lint: Add license headers
fischeti Apr 9, 2025
ae52d56
hw: Refactor `ENABLE_*` parameters to `En*`
fischeti Apr 9, 2025
350ba6e
deps: Update Bender dependencies
fischeti Apr 9, 2025
5cec4f1
hw(pkg): Rename `commtype_e` to `collect_comm_e`
fischeti Apr 9, 2025
3c142bf
hw(router): Clean up
fischeti Apr 9, 2025
da037ae
hw(router): Add `NoLoopback` assertions
fischeti Apr 9, 2025
411697a
hw(router): Assert multicast support
fischeti Apr 9, 2025
cbfa109
hw(route_select): Clean up `floo_route_select`
fischeti Apr 9, 2025
32d30d5
hw(route_xymask): Clean up and add comment
fischeti Apr 9, 2025
a196bfb
hw(output_arb): Remove `gen_path_mask` and clean up `output_arbiter`
fischeti Apr 9, 2025
8519263
hw(red_sync): Clean up `reduction_sync`
fischeti Apr 9, 2025
4f9ceea
hw(reduction_arb): Clean up
fischeti Apr 9, 2025
70bdcef
hw(typedef): Small clean up
fischeti Apr 10, 2025
aba5db1
hw(nw_router): Clean up
fischeti Apr 10, 2025
f2b26a9
tb: Clean up
fischeti Apr 10, 2025
0c7d3d9
hw: Add new `id_translation` module
fischeti Apr 23, 2025
475ad63
hw: Clean up
fischeti Apr 23, 2025
90701ec
hw(axi_chimney): Restructuring
fischeti Apr 23, 2025
012b5e9
hw: Add `mask` extract module
fischeti Apr 23, 2025
1b4e2ac
hw(output_arb): Fix arbitration between reduction and wormhole arbiter
fischeti Apr 23, 2025
90200ec
hw: Add logic to evaluate the ID mask to inject in the NoC
Lore0599 Apr 23, 2025
ae04bd3
add author to new file
Lore0599 Apr 23, 2025
8ddab4a
hw: Merge id and mask translation modules. Add sam_idx_t to support …
Lore0599 Apr 24, 2025
9c06ddb
hw: Assign multicast HDR fields only if necessary
Lore0599 Apr 24, 2025
70fa681
lint: Fix verible linting heck
Lore0599 Apr 24, 2025
0c99069
hw: fix typo
Lore0599 Apr 24, 2025
99b9916
hw: revert header field assignement
Lore0599 Apr 24, 2025
2fb23d7
hw: add multicast fileds as logic in the normal HDR Typedef
Lore0599 Apr 24, 2025
33d8234
hw: Merge HDR typedef definition. Mcast fileds are logic by default
Lore0599 Apr 24, 2025
24cecd7
hw: Fixed maks field name mismatch
Lore0599 Apr 24, 2025
19c2500
hw: Adapt id_translation to provide only the info stored into IDX
Lore0599 Apr 24, 2025
f22790c
hw: ALign the meta buffer with the id_translation module
Lore0599 Apr 24, 2025
bbbdc57
lint: Fix linting rules
Lore0599 Apr 24, 2025
6c893be
test: Fix VCS compilation
fischeti Apr 25, 2025
881f92b
hw: Clean amd format floo_axi_chimney
Lore0599 Apr 28, 2025
798fafc
hw: fix for loop var name error
Lore0599 Apr 28, 2025
32083f3
hw: Adapt NW chimney to floo_id_translation and floo_meta_buffer
Lore0599 Apr 28, 2025
5000d31
lint: fix lintinfloo_nw_chimney
Lore0599 Apr 28, 2025
99d8e8c
hw: fix router default enum issue
Lore0599 Apr 28, 2025
457eb0b
:fire: hot-fix: Bump old axi to fix CI. Mcast driver issue when no vo…
Lore0599 Apr 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ hw/test/jobs

# QuestaSim
work
work_*
work-vsim
modelsim.ini
transcript
Expand Down
24 changes: 12 additions & 12 deletions Bender.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ packages:
dependencies:
- common_cells
axi:
revision: 9402c8a9ce0a7b5253c3c29e788612d771e8b5d6
version: 0.39.3
revision: 39f5f2d51c5e524f6fc5cf8b6e901f7dcc5622d7
version: 0.39.6
source:
Git: https://github.com/pulp-platform/axi.git
dependencies:
Expand All @@ -32,22 +32,22 @@ packages:
dependencies:
- common_cells
common_cells:
revision: 0d67563b6b592549542544f1abc0f43e5d4ee8b4
version: 1.35.0
revision: 9afda9abb565971649c2aa0985639c096f351171
version: 1.38.0
source:
Git: https://github.com/pulp-platform/common_cells.git
dependencies:
- common_verification
- tech_cells_generic
common_verification:
revision: 9c07fa860593b2caabd9b5681740c25fac04b878
version: 0.2.3
revision: fb1885f48ea46164a10568aeff51884389f67ae3
version: 0.2.5
source:
Git: https://github.com/pulp-platform/common_verification.git
dependencies: []
idma:
revision: 95f366e56f7e772c283fb3c8b343afc4a3978375
version: 0.6.2
revision: ff5d56fffb3767814db88d6bf8f381974ea33aa5
version: 0.6.4
source:
Git: https://github.com/pulp-platform/iDMA.git
dependencies:
Expand All @@ -58,16 +58,16 @@ packages:
- obi
- register_interface
obi:
revision: 1aa411df145c4ebdd61f8fed4d003c33f7b20636
version: 0.1.2
revision: 8097928cf1b43712f93d5356f336397879b4ad2c
version: 0.1.6
source:
Git: https://github.com/pulp-platform/obi.git
dependencies:
- common_cells
- common_verification
register_interface:
revision: ae616e5a1ec2b41e72d200e5ab09c65e94aebd3d
version: 0.4.4
revision: 5daa85d164cf6b54ad061ea1e4c6f3624556e467
version: 0.4.5
source:
Git: https://github.com/pulp-platform/register_interface.git
dependencies:
Expand Down
22 changes: 18 additions & 4 deletions Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ package:
authors:
- "Michael Rogenmoser <michaero@iis.ee.ethz.ch>"
- "Tim Fischer <fischeti@iis.ee.ethz.ch>"
- "Lorenzo leone <lleone@iis.ee.ethz.ch>"

dependencies:
idma: { git: "https://github.com/pulp-platform/iDMA.git", version: 0.6.2 }
common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.35.0 }
common_verification: { git: "https://github.com/pulp-platform/common_verification.git", version: 0.2.3 }
axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.39.3 }
axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.39.3 } # TODO: Use release once merged
axi_riscv_atomics: { git: "https://github.com/pulp-platform/axi_riscv_atomics.git", version: 0.8.2 }

export_include_dirs:
Expand All @@ -26,19 +27,30 @@ sources:
- hw/floo_fifo.sv
- hw/floo_cdc.sv
- hw/floo_route_select.sv
- hw/floo_route_comp.sv
- hw/floo_id_translation.sv
- hw/floo_mask_decode.sv
- hw/floo_vc_arbiter.sv
- hw/floo_wormhole_arbiter.sv
- hw/floo_simple_rob.sv
- hw/floo_rob.sv
- hw/floo_rob_wrapper.sv
- hw/floo_meta_buffer.sv
- hw/floo_reduction_sync.sv
- hw/floo_route_xymask.sv
- hw/floo_mask_extract.sv
- hw/floo_mask_translation.sv
# Level 2
- hw/floo_route_select.sv
- hw/floo_route_comp.sv
- hw/floo_meta_buffer.sv
- hw/floo_reduction_arbiter.sv
# Level 3
- hw/floo_output_arbiter.sv
# Level 4
- hw/floo_nw_join.sv
- hw/floo_axi_chimney.sv
- hw/floo_nw_chimney.sv
- hw/floo_router.sv
# Level 3 (Wrappers)
# Level 5 (Wrappers)
- hw/floo_axi_router.sv
- hw/floo_nw_router.sv

Expand Down Expand Up @@ -70,6 +82,7 @@ sources:
- hw/test/floo_axi_rand_slave.sv
- hw/test/floo_dma_test_node.sv
- hw/test/axi_reorder_compare.sv
- hw/test/axi_reorder_compare_multicast.sv
- hw/test/axi_reorder_remap_compare.sv
- hw/test/axi_bw_monitor.sv
- hw/test/floo_hbm_model.sv
Expand All @@ -80,6 +93,7 @@ sources:
- hw/tb/tb_floo_router.sv
- hw/tb/tb_floo_rob.sv
- hw/tb/tb_floo_vc_router.sv
- hw/tb/tb_floo_rob_multicast.sv

- target: all(floo_test, axi_mesh)
include_dirs:
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ endif

FLOOGEN ?= floogen
FLOO_CFG_DIR ?= $(MKFILE_DIR)floogen/examples
FLOOGEN_CFG ?= $(FLOO_CFG_DIR)/single_cluster.yml
FLOOGEN_CFG ?= $(FLOO_CFG_DIR)/axi_mesh_xy.yml

FLOOGEN_OUT_DIR ?= $(MKFILE_DIR)generated

Expand Down
Loading
Loading