Skip to content

Commit

Permalink
Update Bender.yml to point to releases for SoftEx and RedMulE and dro…
Browse files Browse the repository at this point in the history
…p support for shared FPUs
  • Loading branch information
Andrea Belano committed Feb 18, 2025
1 parent 1deee99 commit 861d02c
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 82 deletions.
14 changes: 3 additions & 11 deletions Bender.lock
Original file line number Diff line number Diff line change
Expand Up @@ -107,14 +107,6 @@ packages:
Git: https://github.com/pulp-platform/fpu_div_sqrt_mvp.git
dependencies:
- common_cells
fpu_interco:
revision: b5f7a315929308823cacd81e1e4898f1eeecfc64
version: null
source:
Git: https://github.com/pulp-platform/fpu_interco.git
dependencies:
- fpnew
- riscv
hci:
revision: 38fc2a7eea7978df52434e66ee04a40788fd86b7
version: null
Expand Down Expand Up @@ -209,7 +201,7 @@ packages:
- axi_slice
redmule:
revision: 9223ccc932e21d0667e9c2d30831db41eec9299e
version: null
version:
source:
Git: https://github.com/pulp-platform/redmule.git
dependencies:
Expand Down Expand Up @@ -257,8 +249,8 @@ packages:
dependencies:
- tech_cells_generic
softex:
revision: 23faeccaf204817bc9e6649e469072e5726be561
version: 1.0.0
revision: 31e7534a3da3244f2f5c08bab430a560beee6ff2
version: null
source:
Git: https://github.com/belanoa/softex.git
dependencies:
Expand Down
5 changes: 2 additions & 3 deletions Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ dependencies:
hier-icache: { git: "https://github.com/pulp-platform/hier-icache.git", rev: "2886cb2a46cea3e2bd2d979b505d88fadfbe150c" } # branch: astral
cluster_icache: { git: "https://github.com/pulp-platform/cluster_icache.git", rev: "dd0e8f3497903a9ca99fc9f349d5a4f688ceb3ae" } # branch: michaero/astral_reliability
cluster_peripherals: { git: "https://github.com/pulp-platform/cluster_peripherals.git", rev: 0b8e8ab } # branch: fc/hci-v2
fpu_interco: { git: "https://github.com/pulp-platform/fpu_interco.git", rev: "b5f7a315929308823cacd81e1e4898f1eeecfc64" } # branch: astral
axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.39.3 }
timer_unit: { git: "https://github.com/pulp-platform/timer_unit.git", version: 1.0.2 }
common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.35.0 }
Expand All @@ -34,9 +33,9 @@ dependencies:
hci: { git: "https://github.com/pulp-platform/hci.git", rev: 38fc2a7 } # branch: lg/ecc_rebase_v2.1.1
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: 49e714b97a19a7aaddf064ae2757c8f02d1f62dc } # branch: astral-v0
redmule: { git: "https://github.com/pulp-platform/redmule.git", rev: 9223ccc } # branch: astral-hci-v2.1
redmule: { git: "https://github.com/pulp-platform/redmule.git", rev: astral-v1.0 }
neureka: { git: "https://github.com/pulp-platform/neureka.git", rev: 94528df } # branch: fc/astral-v1.0-rebased
softex: { git: "https://github.com/belanoa/softex.git" , version: 1.0.0 }
softex: { git: "https://github.com/belanoa/softex.git" , rev: astral-v1.0 }

export_include_dirs:
- include
Expand Down
8 changes: 3 additions & 5 deletions rtl/core_region.sv
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ import rapid_recovery_pkg::*;

parameter int unsigned FPU = 0,
parameter int unsigned FP_DIVSQRT = 0,
parameter int unsigned SHARED_FP = 0,
parameter int unsigned SHARED_FP_DIVSQRT = 0,

parameter int unsigned DEBUG_START_ADDR = 32'h1A110000,

Expand Down Expand Up @@ -235,10 +233,10 @@ import rapid_recovery_pkg::*;
riscv_core #(
.INSTR_RDATA_WIDTH ( INSTR_RDATA_WIDTH ),
.PULP_CLUSTER ( 1 ),
.FPU ( FPU | SHARED_FP ),
.FPU ( FPU ),
.FP_DIVSQRT ( FP_DIVSQRT ),
.SHARED_FP ( SHARED_FP ),
.SHARED_FP_DIVSQRT ( SHARED_FP_DIVSQRT ),
.SHARED_FP ( 0 ),
.SHARED_FP_DIVSQRT ( 0 ),
.N_EXT_PERF_COUNTERS ( N_EXT_PERF_COUNTERS ),
.Zfinx ( FPU ),
.WAPUTYPE ( WAPUTYPE ),
Expand Down
67 changes: 7 additions & 60 deletions rtl/pulp_cluster.sv
Original file line number Diff line number Diff line change
Expand Up @@ -925,8 +925,6 @@ generate
.DEBUG_START_ADDR ( Cfg.DmBaseAddr ),
.FPU ( Cfg.EnablePrivateFpu ),
.FP_DIVSQRT ( Cfg.EnablePrivateFpDivSqrt ),
.SHARED_FP ( Cfg.EnableSharedFpu ),
.SHARED_FP_DIVSQRT ( Cfg.EnableSharedFpDivSqrt ),
.core_data_req_t ( core_data_req_t ),
.core_data_rsp_t ( core_data_rsp_t )
) core_region_i (
Expand Down Expand Up @@ -1166,7 +1164,7 @@ generate
endgenerate

//****************************************************
//**** Shared FPU cluster - Shared execution units ***
//**** Shared execution units ***
//****************************************************
// request channel
logic [Cfg.NumCores-1:0][FpuNumArgs-1:0][31:0] s_apu__operands;
Expand All @@ -1186,63 +1184,12 @@ begin
assign s_apu_master_rflags[k] = s_apu__rflags[k];
end

generate
if (Cfg.EnableSharedFpu) begin
shared_fpu_cluster #(
.NB_CORES ( Cfg.NumCores ),
.NB_APUS ( 1 ), // Number of shared FpuDivSqrt
.NB_FPNEW ( Cfg.NumSharedFpu ),
.FP_TYPE_WIDTH ( FpuTypeWidth ),

.NB_CORE_ARGS ( FpuNumArgs ),
.CORE_DATA_WIDTH ( DataWidth ),
.CORE_OPCODE_WIDTH ( FpuOpCodeWidth ),
.CORE_DSFLAGS_CPU ( FpuInFlagsWidth ),
.CORE_USFLAGS_CPU ( FpuOutFlagsWidth ),

.NB_APU_ARGS ( FpuNumArgs ),
.APU_OPCODE_WIDTH ( FpuOpCodeWidth ),
.APU_DSFLAGS_CPU ( FpuInFlagsWidth ),
.APU_USFLAGS_CPU ( FpuOutFlagsWidth ),

.NB_FPNEW_ARGS ( FpuNumArgs ),
.FPNEW_OPCODE_WIDTH ( FpuOutFlagsWidth ),
.FPNEW_DSFLAGS_CPU ( FpuInFlagsWidth ),
.FPNEW_USFLAGS_CPU ( FpuOutFlagsWidth ),

.APUTYPE_ID ( 1 ),
.FPNEWTYPE_ID ( 0 ),

.C_FPNEW_FMTBITS (fpnew_pkg::FP_FORMAT_BITS ),
.C_FPNEW_IFMTBITS (fpnew_pkg::INT_FORMAT_BITS ),
.C_ROUND_BITS (3 ),
.C_FPNEW_OPBITS (fpnew_pkg::OP_BITS ),
.USE_FPU_OPT_ALLOC ("FALSE"),
.USE_FPNEW_OPT_ALLOC ("TRUE"),
.FPNEW_INTECO_TYPE ("SINGLE_INTERCO")
) i_shared_fpu_cluster (
.clk ( clk_i ),
.rst_n ( rst_ni ),
.test_mode_i ( test_mode_i ),
.core_slave_req_i ( s_apu_master_req ),
.core_slave_gnt_o ( s_apu_master_gnt ),
.core_slave_type_i ( s_apu__type ),
.core_slave_operands_i ( s_apu__operands ),
.core_slave_op_i ( s_apu__op ),
.core_slave_flags_i ( s_apu__flags ),
.core_slave_rready_i ( s_apu_master_rready ),
.core_slave_rvalid_o ( s_apu_master_rvalid ),
.core_slave_rdata_o ( s_apu_master_rdata ),
.core_slave_rflags_o ( s_apu__rflags )
);
end else begin
assign s_apu_master_gnt = '0;
assign s_apu_master_rvalid = '0;
assign s_apu_master_rdata = '0;
assign s_apu__rflags = '0;
end
endgenerate

// At the moment, the cluster does not support any shared execution unit
assign s_apu_master_gnt = '0;
assign s_apu_master_rvalid = '0;
assign s_apu_master_rdata = '0;
assign s_apu__rflags = '0;

//**************************************************************
//**** HW Processing Engines / Cluster-Coupled Accelerators ****
//**************************************************************
Expand Down
3 changes: 0 additions & 3 deletions tb/pulp_cluster_tb.sv
Original file line number Diff line number Diff line change
Expand Up @@ -326,9 +326,6 @@ module pulp_cluster_tb;
BootAddr: BootAddr,
EnablePrivateFpu: 1,
EnablePrivateFpDivSqrt: 0,
EnableSharedFpu: 0,
EnableSharedFpDivSqrt: 0,
NumSharedFpu: 0,
NumAxiIn: NumAxiSubordinatePorts,
NumAxiOut: NumAxiManagerPorts,
AxiIdInWidth: AxiIw-2,
Expand Down

0 comments on commit 861d02c

Please sign in to comment.