Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check Bender up-to-date
uses: pulp-platform/pulp-actions/bender-up-to-date@v2
uses: pulp-platform/pulp-actions/bender-up-to-date@v2.4.4

################
# Verible Lint #
Expand Down
2 changes: 0 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ compile-vcs:
matrix:
- TB_DUT:
- tb_floo_router
- tb_floo_vc_router
- tb_floo_axi_chimney
- tb_floo_nw_chimney
- tb_floo_rob
Expand Down Expand Up @@ -85,7 +84,6 @@ run-sim:
- SIMULATOR: [vsim, vcs]
TB_DUT:
- tb_floo_router
- tb_floo_vc_router
- tb_floo_axi_chimney
- tb_floo_nw_chimney
- tb_floo_rob
Expand Down
17 changes: 16 additions & 1 deletion Bender.lock
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ packages:
revision: 78831b6feba265d5ee2683bbf42b4150f8a35c43
version: 0.39.8
source:
Git: https://github.com/pulp-platform/axi.git
Git: https://github.com/Lura518/axi.git
dependencies:
- common_cells
- common_verification
Expand Down Expand Up @@ -51,6 +51,21 @@ packages:
source:
Path: pd
dependencies: []
fpnew:
revision: a8e0cba6dd50f357ece73c2c955d96efc3c6c315
version: null
source:
Git: https://github.com/pulp-platform/cvfpu.git
dependencies:
- common_cells
- fpu_div_sqrt_mvp
fpu_div_sqrt_mvp:
revision: 86e1f558b3c95e91577c41b2fc452c86b04e85ac
version: 1.0.4
source:
Git: https://github.com/pulp-platform/fpu_div_sqrt_mvp.git
dependencies:
- common_cells
idma:
revision: 28a36e5e07705549e59fc33db96ab681bc1ca88e
version: 0.6.5
Expand Down
49 changes: 30 additions & 19 deletions Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ dependencies:
axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.39.7 }
axi_riscv_atomics: { git: "https://github.com/pulp-platform/axi_riscv_atomics.git", version: 0.8.2 }
floo_noc_pd: {path: ./pd}
FPnew: { git: "https://github.com/pulp-platform/cvfpu.git", rev: pulp-v0.1.3 }

export_include_dirs:
- hw/include
Expand All @@ -36,11 +37,13 @@ sources:
- hw/floo_rob_wrapper.sv
- hw/floo_reduction_sync.sv
- hw/floo_route_xymask.sv
- hw/floo_alu.sv
# Level 2
- hw/floo_route_select.sv
- hw/floo_route_comp.sv
- hw/floo_meta_buffer.sv
- hw/floo_reduction_arbiter.sv
- hw/floo_reduction_unit.sv
# Level 3
- hw/floo_output_arbiter.sv
# Level 4
Expand All @@ -52,23 +55,6 @@ sources:
- hw/floo_axi_router.sv
- hw/floo_nw_router.sv

# VC Router (Level 1)
- hw/vc_router_util/floo_credit_counter.sv
- hw/vc_router_util/floo_input_fifo.sv
- hw/vc_router_util/floo_input_port.sv
- hw/vc_router_util/floo_look_ahead_routing.sv
- hw/vc_router_util/floo_mux.sv
- hw/vc_router_util/floo_rr_arbiter.sv
- hw/vc_router_util/floo_sa_global.sv
- hw/vc_router_util/floo_sa_local.sv
- hw/vc_router_util/floo_vc_assignment.sv
- hw/vc_router_util/floo_vc_router_switch.sv
- hw/vc_router_util/floo_vc_selection.sv
# Level 2
- hw/floo_vc_router.sv
- hw/floo_nw_vc_chimney.sv
- hw/floo_nw_vc_router.sv

- target: floo_test
include_dirs:
- hw/test/include
Expand All @@ -84,14 +70,15 @@ sources:
- hw/test/axi_reorder_remap_compare.sv
- hw/test/axi_bw_monitor.sv
- hw/test/floo_hbm_model.sv
# - hw/test/floo_reduction_offloads.sv
- hw/test/axi_aw_w_sync.sv
# Level 2
- hw/tb/tb_floo_axi_chimney.sv
#- hw/tb/tb_floo_axi_chimney.sv
- hw/tb/tb_floo_nw_chimney.sv
- 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
#- hw/tb/tb_floo_rob_multicast.sv

- target: all(any(floo_test, floo_synth), axi_mesh)
files:
Expand All @@ -115,6 +102,7 @@ sources:
files:
- hw/tb/tb_floo_nw_mesh.sv


- target: all(floo_synth, synthesis)
files:
# Level 0
Expand All @@ -124,3 +112,26 @@ sources:
- hw/synth/floo_synth_nw_chimney.sv
- hw/synth/floo_synth_axi_router.sv
- hw/synth/floo_synth_nw_router.sv

- target: floo_deprecated_hw
include_dirs:
- hw/deprecated/include
files:
# Level 1
- hw/deprecated/vc_router_util/floo_credit_counter.sv
- hw/deprecated/vc_router_util/floo_input_fifo.sv
- hw/deprecated/vc_router_util/floo_input_port.sv
- hw/deprecated/vc_router_util/floo_look_ahead_routing.sv
- hw/deprecated/vc_router_util/floo_mux.sv
- hw/deprecated/vc_router_util/floo_rr_arbiter.sv
- hw/deprecated/vc_router_util/floo_sa_global.sv
- hw/deprecated/vc_router_util/floo_sa_local.sv
- hw/deprecated/vc_router_util/floo_vc_assignment.sv
- hw/deprecated/vc_router_util/floo_vc_router_switch.sv
- hw/deprecated/vc_router_util/floo_vc_selection.sv

# Level 1
- hw/floo_vc_router.sv
- hw/floo_nw_vc_chimney.sv
- hw/floo_nw_vc_router.sv
- hw/tb/tb_floo_vc_router.sv
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ clean-spyglass:
###################

PD_REMOTE ?= git@iis-git.ee.ethz.ch:axi-noc/floo_noc_pd.git
PD_BRANCH ?= master
PD_BRANCH ?= feature/reduction
PD_DIR = $(FLOO_ROOT)/pd

.PHONY: init-pd
Expand Down
5 changes: 1 addition & 4 deletions floogen/model/routing.py
Original file line number Diff line number Diff line change
Expand Up @@ -732,9 +732,6 @@ def render_route_cfg(self, name) -> str:
self.route_algo == RouteAlgo.ID and not self.use_id_table else 0,
"NumSamRules": len(self.sam),
"NumRoutes": self.num_endpoints if self.route_algo == RouteAlgo.SRC else 0,
"EnMultiCast": bool_to_sv(self.en_multicast),
"EnParallelReduction": bool_to_sv(self.en_parallel_reduction),
"EnNarrowOffloadReduction": bool_to_sv(self.en_narrow_offload_reduction),
"EnWideOffloadReduction": bool_to_sv(self.en_wide_offload_reduction)
"CollectiveCfg": "CollectiveDefaultCfg"
}
return sv_param_decl(name, sv_struct_render(fields), dtype="route_cfg_t")
File renamed without changes.
File renamed without changes.
File renamed without changes.
85 changes: 85 additions & 0 deletions hw/deprecated/include/typedef.svh
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
// Copyright 2022 ETH Zurich and University of Bologna.
// Solderpad Hardware License, Version 0.51, see LICENSE for details.
// SPDX-License-Identifier: SHL-0.51
// Authors:
// - Tim Fischer <fischeti@iis.ee.ethz.ch>
// - Michael Rogenmoser <michaero@iis.ee.ethz.ch>

// Macros to define the FlooNoC data types

`ifndef FLOO_NOC_TYPEDEF_DEPRECATED_SVH_
`define FLOO_NOC_TYPEDEF_DEPRECATED_SVH_

////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Defines the all the link types with credit-based flow control interface
// for use with virtual channels
//
// Arguments:
// - name: Name of the link type
// - chan_name: Name of the channel type to transport
// - vc_id_t: Type of the virtual channel ID
//
// Usage Example:
// localparam floo_pkg::axi_cfg_t AxiCfg = '{...};
// `FLOO_TYPEDEF_HDR_T(hdr_t, ...)
// `FLOO_TYPEDEF_AXI_FROM_CFG(my_axi, AxiCfg)
// `FLOO_TYPEDEF_AXI_CHAN_ALL(my_axi, req, rsp, my_axi_in, AxiCfg, hdr_t)
// FLOO_TYPEDEF_LINK_T(vc_req, my_axi)
`define FLOO_TYPEDEF_VC_LINK_T(name, chan_name, vc_id_t) \
typedef struct packed { \
logic valid; \
logic credit_v; \
vc_id_t credit_id; \
floo_``chan_name``_chan_t ``chan_name``; \
} floo_``name``_t;

////////////////////////////////////////////////////////////////////////////////////////////////////
// Defines the all the link types with credit-based flow control interface
// for a single AXI interface configuration
//
// Arguments:
// - req: Name of the `req` link type
// - rsp: Name of the `rsp` link type
// - req_chan: Name of the `req` channel type to transport
// - rsp_chan: Name of the `rsp` channel type to transport
// - vc_id_t: Type of the virtual channel ID
//
// Usage Example:
// localparam floo_pkg::axi_cfg_t AxiCfg = '{...};
// `FLOO_TYPEDEF_HDR_T(hdr_t, ...)
// `FLOO_TYPEDEF_AXI_FROM_CFG(my_axi, AxiCfg)
// `FLOO_TYPEDEF_AXI_CHAN_ALL(my_axi, my_req, my_rsp, my_axi_in, AxiCfg, hdr_t)
// `FLOO_TYPEDEF_VC_AXI_LINK_ALL(vc_req, vc_rsp, my_req, my_rsp)
`define FLOO_TYPEDEF_VC_AXI_LINK_ALL(req, rsp, req_chan, rsp_chan, vc_id_t) \
`FLOO_TYPEDEF_VC_LINK_T(req, req_chan, vc_id_t) \
`FLOO_TYPEDEF_VC_LINK_T(rsp, rsp_chan, vc_id_t) \


////////////////////////////////////////////////////////////////////////////////////////////////////
// Defines the all the link types with credit-based flow control interface
// for a narrow-wide AXI interface configuration
//
// Arguments:
// - req: Name of the `req` link type
// - rsp: Name of the `rsp` link type
// - wide: Name of the `wide` link type
// - req_chan: Name of the `req` channel type to transport
// - rsp_chan: Name of the `rsp` channel type to transport
// - wide_chan: Name of the `wide` channel type to transport
// - vc_id_t: Type of the virtual channel ID
//
// Usage Example:
// localparam floo_pkg::axi_cfg_t AxiCfgN = '{...};
// localparam floo_pkg::axi_cfg_t AxiCfgW = '{...};
// `FLOO_TYPEDEF_HDR_T(hdr_t, ...)
// `FLOO_TYPEDEF_AXI_FROM_CFG(my_narrow_axi, AxiCfgN)
// `FLOO_TYPEDEF_AXI_FROM_CFG(my_wide_axi, AxiCfgW)
// `FLOO_TYPEDEF_NW_CHAN_ALL(axi, my_req, my_rsp, my_wide, my_axi_narrow_in, my_axi_wide_in, AxiCfgN, AxiCfgW, hdr_t)
// `FLOO_TYPEDEF_NW_LINK_ALL(vc_req, vc_rsp, vc_wide, my_req, my_rsp, my_wide)
`define FLOO_TYPEDEF_VC_NW_LINK_ALL(req, rsp, wide, req_chan, rsp_chan, wide_chan, vc_id_t) \
`FLOO_TYPEDEF_VC_LINK_T(req, req_chan, vc_id_t) \
`FLOO_TYPEDEF_VC_LINK_T(rsp, rsp_chan, vc_id_t) \
`FLOO_TYPEDEF_VC_LINK_T(wide, wide_chan, vc_id_t)

`endif // FLOO_NOC_TYPEDEF_DEPRECATED_SVH_
File renamed without changes.
Loading