diff --git a/rtl/ibex_cheriot_ex.sv b/rtl/ibex_cheriot_ex.sv index aaf6a45df8..ab5d1cb46f 100644 --- a/rtl/ibex_cheriot_ex.sv +++ b/rtl/ibex_cheriot_ex.sv @@ -112,9 +112,6 @@ module ibex_cheriot_ex import ibex_cheriot_pkg::*; import ibex_pkg::*; #( output logic csr_mshwm_set_o, output logic [31:0] csr_mshwm_new_o, - input logic [31:0] ztop_rdata_i, - input cap_t ztop_rcap_i, - // debug feature input logic csr_dbg_tclr_fault_i ); @@ -181,7 +178,7 @@ module ibex_cheriot_ex import ibex_cheriot_pkg::*; import ibex_pkg::*; #( perms_t pmask; logic clr_sealed; logic instr_fault; - logic is_write, is_ztop; + logic is_write; cap_t trcap; logic [2:0] seal_type; logic [31:0] tmp32a, tmp32b; @@ -461,13 +458,12 @@ module ibex_cheriot_ex import ibex_cheriot_pkg::*; import ibex_pkg::*; #( end cheriot_operator_i.CCSR_RW: // cd <-- scr; scr <-- cs1 if cs1 != C0 begin - is_ztop = (cheriot_cs2_dec_i == CHERIOT_SCR_ZTOPC); is_write = (rf_raddr_a_i != 0); instr_fault = perm_vio | illegal_scr_addr; csr_access_o = ~instr_fault; csr_op_o = CHERIOT_CSR_RW; - csr_op_en_raw = ~instr_fault && is_write && ~is_ztop; + csr_op_en_raw = ~instr_fault && is_write; csr_addr_o = cheriot_cs2_dec_i; if (cheriot_cs2_dec_i == CHERIOT_SCR_MTCC) begin @@ -504,13 +500,8 @@ module ibex_cheriot_ex import ibex_cheriot_pkg::*; import ibex_pkg::*; #( csr_wcap_o = rf_rcap_a; end - if (is_ztop) begin - result_data_o = ztop_rdata_i; - result_cap_o = ztop_rcap_i; - end else begin - result_data_o = csr_rdata_i; - result_cap_o = csr_rcap_i; - end + result_data_o = csr_rdata_i; + result_cap_o = csr_rcap_i; cheriot_rf_we_raw = ~instr_fault; cheriot_ex_valid_raw = 1'b1; cheriot_wb_err_raw = instr_fault; diff --git a/rtl/ibex_cheriot_pkg.sv b/rtl/ibex_cheriot_pkg.sv index a1283a6820..ca9bbff706 100644 --- a/rtl/ibex_cheriot_pkg.sv +++ b/rtl/ibex_cheriot_pkg.sv @@ -915,7 +915,6 @@ package ibex_cheriot_pkg; parameter logic [4:0] CHERIOT_SCR_MSCRATCHC = 5'h1e; parameter logic [4:0] CHERIOT_SCR_MTDC = 5'h1d; parameter logic [4:0] CHERIOT_SCR_MTCC = 5'h1c; - parameter logic [4:0] CHERIOT_SCR_ZTOPC = 5'h1b; parameter logic [4:0] CHERIOT_SCR_DSCRATCHC1 = 5'h1a; parameter logic [4:0] CHERIOT_SCR_DSCRATCHC0 = 5'h19; parameter logic [4:0] CHERIOT_SCR_DEPCC = 5'h18; diff --git a/rtl/ibex_core.sv b/rtl/ibex_core.sv index e2973f25de..8e1e566782 100644 --- a/rtl/ibex_core.sv +++ b/rtl/ibex_core.sv @@ -992,8 +992,6 @@ module ibex_core import ibex_pkg::*; import ibex_cheriot_pkg::*; #( .csr_mshwmb_i (csr_mshwmb), .csr_mshwm_set_o (csr_mshwm_set), .csr_mshwm_new_o (csr_mshwm_new), - .ztop_rdata_i (32'h0), - .ztop_rcap_i (NULL_CAP), .csr_dbg_tclr_fault_i (csr_dbg_tclr_fault) ); diff --git a/rtl/ibex_tracer.sv b/rtl/ibex_tracer.sv index 95cb42bbc9..2cf7bc66cf 100644 --- a/rtl/ibex_tracer.sv +++ b/rtl/ibex_tracer.sv @@ -239,7 +239,6 @@ module ibex_tracer import ibex_cheriot_pkg::*; import ibex_pkg::*; ( // Get a SCR name for a CHERIoT SCR address. function automatic string get_scr_name(input logic [4:0] scr_addr); unique case (scr_addr) - 5'd27: return "ztopc"; 5'd28: return "mtcc"; 5'd29: return "mtdc"; 5'd30: return "mscratchc";