Skip to content

Commit 77bcb0c

Browse files
committed
hw: Fix schema and RTL to integrate wide multicast support
1 parent bc7d456 commit 77bcb0c

File tree

6 files changed

+23
-11
lines changed

6 files changed

+23
-11
lines changed

Bender.local

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright 2023 ETH Zurich and University of Bologna.
2+
# Solderpad Hardware License, Version 0.51, see LICENSE for details.
3+
# SPDX-License-Identifier: SHL-0.51
4+
5+
overrides:
6+
axi: { git: "https://github.com/colluca/axi.git", rev: "multicast" }
7+

Bender.lock

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ packages:
77
dependencies:
88
- common_cells
99
axi:
10-
revision: 39f5f2d51c5e524f6fc5cf8b6e901f7dcc5622d7
11-
version: 0.39.6
10+
revision: bec548fa2a9b18cbd7531105bb1fdf481ea8ad49
11+
version: null
1212
source:
13-
Path: ../axi
13+
Git: https://github.com/colluca/axi.git
1414
dependencies:
1515
- common_cells
1616
- common_verification
@@ -42,10 +42,10 @@ packages:
4242
- scm
4343
- tech_cells_generic
4444
common_cells:
45-
revision: null
45+
revision: 0fd2ba32926c0360534dc3d5795143cb259abb1c
4646
version: null
4747
source:
48-
Path: ../common_cells
48+
Git: https://github.com/pulp-platform/common_cells
4949
dependencies:
5050
- common_verification
5151
- tech_cells_generic
@@ -74,7 +74,7 @@ packages:
7474
revision: ff5d56fffb3767814db88d6bf8f381974ea33aa5
7575
version: 0.6.4
7676
source:
77-
Path: ../iDMA
77+
Git: https://github.com/pulp-platform/iDMA
7878
dependencies:
7979
- axi
8080
- axi_stream

Bender.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ package:
1919
- Matheus Cavalcante <matheusd@iis.ee.ethz.ch>
2020

2121
dependencies:
22-
axi: { git: https://github.com/pulp-platform/axi, version: 0.39.6 }
22+
axi: { git: https://github.com/colluca/axi, rev: multicast }
2323
axi_riscv_atomics: { git: https://github.com/pulp-platform/axi_riscv_atomics, version: 0.6.0 }
24-
common_cells: { git: https://github.com/pulp-platform/common_cells, version: multicast-xbar }
24+
common_cells: { git: https://github.com/pulp-platform/common_cells, rev: multicast-xbar }
2525
FPnew: { git: https://github.com/pulp-platform/cvfpu.git, rev: pulp-v0.1.3 }
2626
register_interface: { git: https://github.com/pulp-platform/register_interface, version: 0.4.2 }
2727
tech_cells_generic: { git: https://github.com/pulp-platform/tech_cells_generic, version: 0.2.13 }

hw/snitch_cluster/src/snitch_cluster.sv

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ module snitch_cluster
669669
.slv_ports_resp_o (wide_axi_mst_rsp),
670670
.mst_ports_req_o (wide_axi_slv_req),
671671
.mst_ports_resp_i (wide_axi_slv_rsp),
672-
.addr_map_i (dma_xbar_rule),
672+
.addr_map_i (enabled_dma_xbar_rule),
673673
.en_default_mst_port_i (DMAEnableDefaultMstPort),
674674
.default_mst_port_i ({DmaXbarCfg.NoSlvPorts{dma_xbar_default_port}})
675675
);
@@ -699,7 +699,7 @@ module snitch_cluster
699699
.slv_ports_resp_o (wide_axi_mst_rsp),
700700
.mst_ports_req_o (wide_axi_slv_req),
701701
.mst_ports_resp_i (wide_axi_slv_rsp),
702-
.addr_map_i (dma_xbar_rule),
702+
.addr_map_i (enabled_dma_xbar_rule),
703703
.en_default_mst_port_i (DMAEnableDefaultMstPort),
704704
.default_mst_port_i ('{default: dma_xbar_default_port.idx})
705705
);

hw/snitch_cluster/src/snitch_cluster_wrapper.sv.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ module ${cfg['cluster']['name']}_wrapper (
9292
.ICacheLineCount (${cfg['cluster']['name']}_pkg::ICacheLineCount),
9393
.ICacheWays (${cfg['cluster']['name']}_pkg::ICacheWays),
9494
.VMSupport (${int(cfg['cluster']['vm_support'])}),
95-
.EnableDMAMulticast (${int(cfg['enable_multicast'])}),
95+
.EnableDMAMulticast (${int(cfg['cluster']['enable_multicast'])}),
9696
.RVE (${core_isa('e')}),
9797
.RVF (${core_isa('f')}),
9898
.RVD (${core_isa('d')}),

util/clustergen/schema/snitch_cluster.schema.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,11 @@
153153
"description": "User width of the wide AXI plug into the cluster.",
154154
"default": 1
155155
},
156+
"enable_multicast": {
157+
"type": "boolean",
158+
"description": "Whether to enable the mutlicast feature into the cluster",
159+
"default": false
160+
},
156161
"hart_base_id": {
157162
"type": "number",
158163
"description": "Base hart id of the cluster. All cores get the respective cluster id plus their cluster position as the final `hart_id`.",

0 commit comments

Comments
 (0)