Skip to content

Commit

Permalink
Use pipelined checker for cores' backup buses.
Browse files Browse the repository at this point in the history
  • Loading branch information
Yvan Tortorella committed Oct 11, 2023
1 parent 020860a commit c7b9abe
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Bender.lock
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ packages:
- hwpe-stream
- tech_cells_generic
redundancy_cells:
revision: 257344b589b151844d85d04279a89f65183c7741
revision: f3b1bc9b2e816fe1b51147ceafa8955326d1b466
version: null
source:
Git: https://github.com/pulp-platform/redundancy_cells.git
Expand Down
2 changes: 1 addition & 1 deletion Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ dependencies:
hci: { git: "https://github.com/pulp-platform/hci.git", rev: b2e6f391aa6c10c03f45b693d80a0aaddecf169b } # branch: master
register_interface: { git: "https://github.com/pulp-platform/register_interface.git", rev: 19163bb5191d2669a8cbc267cdd4ce8e60f20746 } # 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: 257344b589b151844d85d04279a89f65183c7741 } # branch: yt/rapidrecovery
redundancy_cells: { git: "https://github.com/pulp-platform/redundancy_cells.git", rev: f3b1bc9b2e816fe1b51147ceafa8955326d1b466 } # branch: yt/rapidrecovery
redmule: { git: "https://github.com/pulp-platform/redmule.git", rev: 0fe14edd77e9a35d3d220bd78bd6b41a0e5935ea } # branch: carfield

export_include_dirs:
Expand Down
5 changes: 4 additions & 1 deletion packages/pulp_cluster_package.sv
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,12 @@ package pulp_cluster_package;
logic [4:0] irq_ack_id;
logic debug_halted;
logic core_busy;
} core_outputs_t;

typedef struct packed {
rapid_recovery_pkg::regfile_write_t regfile_backup;
rapid_recovery_pkg::csrs_intf_t csr_backup;
rapid_recovery_pkg::pc_intf_t pc_backup;
} core_outputs_t;
} core_backup_t;

endpackage
16 changes: 10 additions & 6 deletions rtl/pulp_cluster.sv
Original file line number Diff line number Diff line change
Expand Up @@ -872,9 +872,11 @@ periph_to_reg #(

core_data_req_t [NB_CORES-1:0] core_data_req, demux_data_req;
core_data_rsp_t [NB_CORES-1:0] core_data_rsp, demux_data_rsp;
core_inputs_t [NB_CORES-1:0] sys2hmr, hmr2core;
core_outputs_t [NB_CORES-1:0] hmr2sys, core2hmr;
core_inputs_t [NB_CORES-1:0] sys2hmr, hmr2core;
core_outputs_t [NB_CORES-1:0] hmr2sys, core2hmr;
core_backup_t [NB_CORES-1:0] backup_bus;
rapid_recovery_pkg::rapid_recovery_t [NB_CORES-1:0] recovery_bus;

logic [NB_CORES-1:0] clk_core;
logic [NB_CORES-1:0] setback;
logic [NB_CORES-1:0][4:0] ext_perf;
Expand Down Expand Up @@ -947,10 +949,10 @@ generate
.core_data_req_o ( core_data_req[i] ),
.core_data_rsp_i ( core_data_rsp[i] ),
//HMR Recovery Bus
.recovery_bus_i ( recovery_bus[i] ),
.regfile_backup_o ( core2hmr[i].regfile_backup ),
.pc_backup_o ( core2hmr[i].pc_backup ),
.csr_backup_o ( core2hmr[i].csr_backup ),
.recovery_bus_i ( recovery_bus[i] ),
.regfile_backup_o ( backup_bus[i].regfile_backup ),
.pc_backup_o ( backup_bus[i].pc_backup ),
.csr_backup_o ( backup_bus[i].csr_backup ),
//apu interface
.apu_master_req_o ( s_apu_master_req [i] ),
.apu_master_gnt_i ( s_apu_master_gnt [i] ),
Expand Down Expand Up @@ -1073,6 +1075,7 @@ hmr_unit #(
.NumBusVoters ( 1 ),
.all_inputs_t ( core_inputs_t ),
.nominal_outputs_t ( core_outputs_t ),
.core_backup_t ( core_backup_t ),
.reg_req_t ( hmr_reg_req_t ),
.reg_rsp_t ( hmr_reg_rsp_t ),
.rapid_recovery_t ( rapid_recovery_pkg::rapid_recovery_t )
Expand All @@ -1096,6 +1099,7 @@ hmr_unit #(
.dmr_cores_synch_i ( hmr_barrier_matched[NB_CORES/2:1] ),
// Rapid recovery output bus
.rapid_recovery_o ( recovery_bus ),
.core_backup_i ( backup_bus ),
.sys_inputs_i ( sys2hmr ),
.sys_nominal_outputs_o ( hmr2sys ),
.sys_bus_outputs_o ( ),
Expand Down

0 comments on commit c7b9abe

Please sign in to comment.