diff --git a/Bender.lock b/Bender.lock index 332645bf..28879c3f 100644 --- a/Bender.lock +++ b/Bender.lock @@ -108,7 +108,7 @@ packages: dependencies: - common_cells hci: - revision: 4ea0f83a0657fa24514b7fc8981cfb4acf2ccb3b + revision: afe0220f9a2f132dc8655c48da05aae5121a570b version: null source: Git: https://github.com/pulp-platform/hci.git @@ -225,6 +225,18 @@ packages: Git: https://github.com/pulp-platform/scm.git dependencies: - tech_cells_generic + softex: + revision: 23faeccaf204817bc9e6649e469072e5726be561 + version: 1.0.0 + source: + Git: https://github.com/belanoa/softex.git + dependencies: + - common_cells + - fpnew + - hci + - hwpe-ctrl + - hwpe-stream + - ibex tech_cells_generic: revision: a9cae21902e75b1434328ecf36f85327ba5717de version: 0.2.11 diff --git a/Bender.yml b/Bender.yml index 41da2384..2f3bd5ad 100644 --- a/Bender.yml +++ b/Bender.yml @@ -29,11 +29,12 @@ dependencies: cv32e40p: { git: "https://github.com/pulp-platform/cv32e40p.git", rev: e863f576699815b38cc9d80dbdede8ed5efd5991 } # `michaero/safety-island-clic` branch ibex: { git: "https://github.com/pulp-platform/ibex.git", rev: "pulpissimo-v6.1.2" } scm: { git: "https://github.com/pulp-platform/scm.git", rev: 74426dee36f28ae1c02f7635cf844a0156145320 } # branch: yt/bump-clkgating - hci: { git: "https://github.com/pulp-platform/hci.git", rev: 4ea0f83a0657fa24514b7fc8981cfb4acf2ccb3b } # branch: fix on top of remove-automatic-parameter-prop - register_interface: { git: "https://github.com/pulp-platform/register_interface.git", version: 0.4.4 } # branch: master + hci: { git: "https://github.com/pulp-platform/hci.git", rev: afe0220 } # branch: master + register_interface: { git: "https://github.com/pulp-platform/register_interface.git", version: 0.4.4 } redundancy_cells: { git: "https://github.com/pulp-platform/redundancy_cells.git", rev: c37bdb47339bf70e8323de8df14ea8bbeafb6583 } # branch: astral_rebase redmule: { git: "https://github.com/pulp-platform/redmule.git", rev: 60ba008c339ec70b5ffa7120bec2cbf5a8f53c99 } # branch: fc/hci-v2.1 neureka: { git: "https://github.com/pulp-platform/neureka.git", version: 1.0.0 } + softex: { git: "https://github.com/belanoa/softex.git" , version: 1.0.0 } export_include_dirs: - include diff --git a/Makefile b/Makefile index 12893585..0764afd2 100644 --- a/Makefile +++ b/Makefile @@ -113,7 +113,7 @@ sim_clean: scripts/compile.tcl: | Bender.lock $(call generate_vsim, $@, $(bender_defs) $(bender_targs),..) echo 'vlog "$(realpath $(ROOT_DIR))/tb/dpi/elfloader.cpp" -ccflags "-std=c++11"' >> $@ - echo 'vopt +permissive -suppress 3053 -suppress 8885 +UVM_NO_RELNOTES $(top_level) -o $(top_level)_optimized' + echo 'vopt +permissive -suppress 3053 -suppress 8885 +UVM_NO_RELNOTES $(top_level) -o $(top_level)_optimized' >> $@ $(library): $(QUESTA) vlib $(library) diff --git a/packages/pulp_cluster_package.sv b/packages/pulp_cluster_package.sv index d5f39097..2553d549 100644 --- a/packages/pulp_cluster_package.sv +++ b/packages/pulp_cluster_package.sv @@ -33,7 +33,8 @@ package pulp_cluster_package; // HWPE type typedef enum byte_t { REDMULE, - NEUREKA + NEUREKA, + SOFTEX } hwpe_type_e; parameter MAX_NUM_HWPES = 8; diff --git a/regression-tests b/regression-tests index 9fe04d0d..979c0b22 160000 --- a/regression-tests +++ b/regression-tests @@ -1 +1 @@ -Subproject commit 9fe04d0d984a01cf0dcccc248483bb2b152912fe +Subproject commit 979c0b221ea6b65eb6fc67d515f98a593efb3975 diff --git a/rtl/hwpe_subsystem.sv b/rtl/hwpe_subsystem.sv index aad613d6..6fb56e9a 100644 --- a/rtl/hwpe_subsystem.sv +++ b/rtl/hwpe_subsystem.sv @@ -126,6 +126,24 @@ module hwpe_subsystem .periph ( periph[i] ) ); + end else if (HWPE_CFG.HwpeList[i] == SOFTEX) begin : gen_softex + + //////////// + // SOFTEX // + //////////// + + softex_top #( + .N_CORES ( N_CORES ), + .`HCI_SIZE_PARAM(Tcdm) ( HCI_HWPE_SIZE ) + ) i_softex ( + .clk_i ( hwpe_clk[i] ), + .rst_ni ( rst_n ), + .busy_o ( busy[i] ), + .evt_o ( evt[i] ), + .tcdm ( tcdm[i] ), + .periph ( periph[i] ) + ); + end end diff --git a/tb/pulp_cluster_tb.sv b/tb/pulp_cluster_tb.sv index d73abf77..4b7976c6 100644 --- a/tb/pulp_cluster_tb.sv +++ b/tb/pulp_cluster_tb.sv @@ -290,7 +290,7 @@ module pulp_cluster_tb; TcdmSize: 128*1024, TcdmNumBank: 16, HwpePresent: 1, - HwpeCfg: '{NumHwpes: 2, HwpeList: {NEUREKA, REDMULE}}, + HwpeCfg: '{NumHwpes: 3, HwpeList: {SOFTEX, NEUREKA, REDMULE}}, HwpeNumPorts: 9, iCacheNumBanks: 2, iCacheNumLines: 1,