From d752f68c36ff727ebe68cb14d9bf2f009d645484 Mon Sep 17 00:00:00 2001 From: Andrea Belano Date: Tue, 7 May 2024 11:19:06 +0200 Subject: [PATCH 1/6] Added softmax accelerator --- Bender.yml | 5 +++-- packages/pulp_cluster_package.sv | 3 ++- rtl/hwpe_subsystem.sv | 18 ++++++++++++++++++ tb/pulp_cluster_tb.sv | 3 ++- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Bender.yml b/Bender.yml index 88bf31cf..fce123bc 100644 --- a/Bender.yml +++ b/Bender.yml @@ -33,8 +33,9 @@ dependencies: register_interface: { git: "https://github.com/pulp-platform/register_interface.git", version: 0.4.4 } # branch: master common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.29.0 } 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", rev: 4f201c238c7dd0c1f84306f40d66ebdaa8589307 } # branch: fc/hci-v2.1 + redmule: { git: "https://github.com/pulp-platform/redmule.git", rev: 7abb256 } # branch: fc/hci-v2 + neureka: { git: "https://github.com/pulp-platform/neureka.git", rev: 60c51c0 } # branch: hci-v2 + softex: { git: "https://github.com/belanoa/softex.git" , rev: 0fe8b13 } # branch: master export_include_dirs: - include diff --git a/packages/pulp_cluster_package.sv b/packages/pulp_cluster_package.sv index d5f39097..793007e9 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, + HWSMFX } hwpe_type_e; parameter MAX_NUM_HWPES = 8; diff --git a/rtl/hwpe_subsystem.sv b/rtl/hwpe_subsystem.sv index 244207b1..7540778c 100644 --- a/rtl/hwpe_subsystem.sv +++ b/rtl/hwpe_subsystem.sv @@ -124,6 +124,24 @@ module hwpe_subsystem .periph ( periph[i] ) ); + end else if (HWPE_CFG.HwpeList[i] == HWSMFX) begin : gen_hwsmfx + + //////////// + // HWSMFX // + //////////// + + sfm_top #( + .DATA_WIDTH ( N_MASTER_PORT*32 ), + .N_CORES ( N_CORES ) + ) i_hwsmfx ( + .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 4951203d..5de93a55 100644 --- a/tb/pulp_cluster_tb.sv +++ b/tb/pulp_cluster_tb.sv @@ -289,7 +289,8 @@ module pulp_cluster_tb; TcdmSize: 128*1024, TcdmNumBank: 16, HwpePresent: 1, - HwpeCfg: '{NumHwpes: 2, HwpeList: {NEUREKA, REDMULE}}, + //HwpeCfg: '{NumHwpes: 2, HwpeList: {NEUREKA, REDMULE}}, + HwpeCfg: '{NumHwpes: 3, HwpeList: {HWSMFX, NEUREKA, REDMULE}}, HwpeNumPorts: 9, iCacheNumBanks: 2, iCacheNumLines: 1, From 8ef85f9b48b388b052fc78d06bb5edab700dc885 Mon Sep 17 00:00:00 2001 From: Andrea Belano Date: Tue, 7 May 2024 13:02:32 +0200 Subject: [PATCH 2/6] Updated softmax accelerator name --- packages/pulp_cluster_package.sv | 2 +- rtl/hwpe_subsystem.sv | 8 ++++---- tb/pulp_cluster_tb.sv | 3 +-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/pulp_cluster_package.sv b/packages/pulp_cluster_package.sv index 793007e9..2553d549 100644 --- a/packages/pulp_cluster_package.sv +++ b/packages/pulp_cluster_package.sv @@ -34,7 +34,7 @@ package pulp_cluster_package; typedef enum byte_t { REDMULE, NEUREKA, - HWSMFX + SOFTEX } hwpe_type_e; parameter MAX_NUM_HWPES = 8; diff --git a/rtl/hwpe_subsystem.sv b/rtl/hwpe_subsystem.sv index 7540778c..8b17161b 100644 --- a/rtl/hwpe_subsystem.sv +++ b/rtl/hwpe_subsystem.sv @@ -124,16 +124,16 @@ module hwpe_subsystem .periph ( periph[i] ) ); - end else if (HWPE_CFG.HwpeList[i] == HWSMFX) begin : gen_hwsmfx + end else if (HWPE_CFG.HwpeList[i] == SOFTEX) begin : gen_softex //////////// - // HWSMFX // + // SOFTEX // //////////// - sfm_top #( + softex_top #( .DATA_WIDTH ( N_MASTER_PORT*32 ), .N_CORES ( N_CORES ) - ) i_hwsmfx ( + ) i_softex ( .clk_i ( hwpe_clk[i] ), .rst_ni ( rst_n ), .busy_o ( busy[i] ), diff --git a/tb/pulp_cluster_tb.sv b/tb/pulp_cluster_tb.sv index 5de93a55..6d0e17c6 100644 --- a/tb/pulp_cluster_tb.sv +++ b/tb/pulp_cluster_tb.sv @@ -289,8 +289,7 @@ module pulp_cluster_tb; TcdmSize: 128*1024, TcdmNumBank: 16, HwpePresent: 1, - //HwpeCfg: '{NumHwpes: 2, HwpeList: {NEUREKA, REDMULE}}, - HwpeCfg: '{NumHwpes: 3, HwpeList: {HWSMFX, NEUREKA, REDMULE}}, + HwpeCfg: '{NumHwpes: 3, HwpeList: {SOFTEX, NEUREKA, REDMULE}}, HwpeNumPorts: 9, iCacheNumBanks: 2, iCacheNumLines: 1, From e0215cfcf6bc59c9dfc0d3fd61f44d23c2ec19cd Mon Sep 17 00:00:00 2001 From: Andrea Belano Date: Tue, 7 May 2024 16:41:17 +0200 Subject: [PATCH 3/6] Updated regression tests --- regression-tests | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regression-tests b/regression-tests index f2206791..c4af4ddd 160000 --- a/regression-tests +++ b/regression-tests @@ -1 +1 @@ -Subproject commit f220679120dc6c4ccb82c5f4292d3add8cd134e4 +Subproject commit c4af4ddd3a945f35e7b1240ea3add056f515cac3 From 60d4d587692441c9a1eb14ecb99c30c9476e2894 Mon Sep 17 00:00:00 2001 From: Andrea Belano Date: Fri, 10 May 2024 10:02:25 +0200 Subject: [PATCH 4/6] Fixed sysnthesis error --- rtl/hwpe_subsystem.sv | 5 +++-- rtl/pulp_cluster.sv | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/rtl/hwpe_subsystem.sv b/rtl/hwpe_subsystem.sv index 8b17161b..736ffe02 100644 --- a/rtl/hwpe_subsystem.sv +++ b/rtl/hwpe_subsystem.sv @@ -60,8 +60,9 @@ module hwpe_subsystem ) periph [N_HWPES-1:0] (.clk(clk)); hci_core_intf #( - .DW ( DW ), - .AW ( AW ) + .DW ( DW ), + .AW ( AW ), + .EHW ( 0 ) ) tcdm [0:N_HWPES-1] (.clk(clk)); for (genvar i = 0; i < N_HWPES; i++) begin : gen_hwpe diff --git a/rtl/pulp_cluster.sv b/rtl/pulp_cluster.sv index 18862511..30b875aa 100644 --- a/rtl/pulp_cluster.sv +++ b/rtl/pulp_cluster.sv @@ -354,8 +354,9 @@ XBAR_TCDM_BUS s_mperiph_bus(); // cores & accelerators -> log interconnect hci_core_intf #( - .DW ( Cfg.HwpeNumPorts * DataWidth ), - .AW ( AddrWidth ) + .DW ( Cfg.HwpeNumPorts * DataWidth ), + .AW ( AddrWidth ), + .EHW ( 0 ) ) s_hci_hwpe [0:0] ( .clk ( clk_i ) ); From 9ef7728120297c6d2a3c30c97d6e658af2baaf99 Mon Sep 17 00:00:00 2001 From: Andrea Belano Date: Mon, 27 May 2024 14:20:47 +0200 Subject: [PATCH 5/6] Added softex tests --- regression-tests | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regression-tests b/regression-tests index c4af4ddd..90551fa7 160000 --- a/regression-tests +++ b/regression-tests @@ -1 +1 @@ -Subproject commit c4af4ddd3a945f35e7b1240ea3add056f515cac3 +Subproject commit 90551fa71498b420df734d23d06d661d0553556a From dfc128f31f040eeffe19b2a269844ffa23ceeed5 Mon Sep 17 00:00:00 2001 From: Andrea Belano Date: Fri, 31 May 2024 16:22:10 +0200 Subject: [PATCH 6/6] Updated Bender.lock --- Bender.lock | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/Bender.lock b/Bender.lock index fc5b2e13..d7ef6656 100644 --- a/Bender.lock +++ b/Bender.lock @@ -52,8 +52,8 @@ packages: dependencies: - hci common_cells: - revision: 0d67563b6b592549542544f1abc0f43e5d4ee8b4 - version: 1.35.0 + revision: 2bd027cb87eaa9bf7d17196ec5f69864b35b630f + version: 1.32.0 source: Git: https://github.com/pulp-platform/common_cells.git dependencies: @@ -168,7 +168,7 @@ packages: dependencies: - common_cells neureka: - revision: 14ca68d480350dd53a4b6b601db5eb54954de266 + revision: 60c51c0a5f6b30140ca99cc546ddcfde00af0044 version: null source: Git: https://github.com/pulp-platform/neureka.git @@ -185,7 +185,7 @@ packages: dependencies: - axi_slice redmule: - revision: 60ba008c339ec70b5ffa7120bec2cbf5a8f53c99 + revision: 7abb25690090c7f5548a8aa905c7bf0440d4ba6b version: null source: Git: https://github.com/pulp-platform/redmule.git @@ -232,6 +232,18 @@ packages: Git: https://github.com/pulp-platform/scm.git dependencies: - tech_cells_generic + softex: + revision: 0fe8b1349ce6f4f05aa63ce65961a87b9c133ae5 + version: null + 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 @@ -249,5 +261,5 @@ packages: revision: cc4068a0ccb7691cd062b809c34b2304e7fbfa36 version: null source: - Git: https://github.com/yvantor/ibex.git + Git: git@github.com:yvantor/ibex.git dependencies: []