@@ -522,115 +522,6 @@ index 962d3b559..9d5a10c8c 100644
522522 `endif
523523 end
524524
525- diff --git a/hw/ip/rv_timer/rtl/rv_timer.sv b/hw/ip/rv_timer/rtl/rv_timer.sv
526- index 9b939eedd..a4c91c238 100644
527- --- a/hw/ip/rv_timer/rtl/rv_timer.sv
528- +++ b/hw/ip/rv_timer/rtl/rv_timer.sv
529- @@ -31,10 +31,10 @@ module rv_timer (
530-
531- logic [N_HARTS-1:0] tick;
532-
533- - logic [63:0] mtime_d [N_HARTS];
534- - logic [63:0] mtime [N_HARTS];
535- - logic [63:0] mtimecmp [N_HARTS][N_TIMERS]; // Only [harts][0] is connected to mtimecmp CSRs
536- - logic mtimecmp_update [N_HARTS][N_TIMERS];
537- + logic [63:0] mtime_d ;
538- + logic [63:0] mtime ;
539- + logic [63:0] mtimecmp; // Only [harts][0] is connected to mtimecmp CSRs
540- + logic mtimecmp_update;
541-
542- logic [N_HARTS*N_TIMERS-1:0] intr_timer_set;
543- logic [N_HARTS*N_TIMERS-1:0] intr_timer_en;
544- @@ -52,25 +52,25 @@ module rv_timer (
545-
546- // Once reggen supports nested multireg, the following can be automated. For the moment, it must
547- // be connected manually.
548- - assign active[0] = reg2hw.ctrl[0].q;
549- + assign active[0] = reg2hw.ctrl.q;
550- assign prescaler = '{reg2hw.cfg0.prescale.q};
551- assign step = '{reg2hw.cfg0.step.q};
552-
553- assign hw2reg.timer_v_upper0.de = tick[0];
554- assign hw2reg.timer_v_lower0.de = tick[0];
555- - assign hw2reg.timer_v_upper0.d = mtime_d[0][63:32];
556- - assign hw2reg.timer_v_lower0.d = mtime_d[0][31: 0];
557- - assign mtime[0] = {reg2hw.timer_v_upper0.q, reg2hw.timer_v_lower0.q};
558- + assign hw2reg.timer_v_upper0.d = mtime_d[63:32];
559- + assign hw2reg.timer_v_lower0.d = mtime_d[31: 0];
560- + assign mtime = {reg2hw.timer_v_upper0.q, reg2hw.timer_v_lower0.q};
561- assign mtimecmp = '{'{{reg2hw.compare_upper0_0.q,reg2hw.compare_lower0_0.q}}};
562- - assign mtimecmp_update[0][0] = reg2hw.compare_upper0_0.qe | reg2hw.compare_lower0_0.qe;
563- + assign mtimecmp_update = reg2hw.compare_upper0_0.qe | reg2hw.compare_lower0_0.qe;
564-
565- assign intr_timer_expired_0_0_o = intr_out[0];
566- - assign intr_timer_en = reg2hw.intr_enable0[0].q;
567- - assign intr_timer_state_q = reg2hw.intr_state0[0].q;
568- - assign intr_timer_test_q = reg2hw.intr_test0[0].q;
569- - assign intr_timer_test_qe = reg2hw.intr_test0[0].qe;
570- - assign hw2reg.intr_state0[0].de = intr_timer_state_de | mtimecmp_update[0][0];
571- - assign hw2reg.intr_state0[0].d = intr_timer_state_d & ~mtimecmp_update[0][0];
572- + assign intr_timer_en = reg2hw.intr_enable0.q;
573- + assign intr_timer_state_q = reg2hw.intr_state0.q;
574- + assign intr_timer_test_q = reg2hw.intr_test0.q;
575- + assign intr_timer_test_qe = reg2hw.intr_test0.qe;
576- + assign hw2reg.intr_state0.de = intr_timer_state_de | mtimecmp_update;
577- + assign hw2reg.intr_state0.d = intr_timer_state_d & ~mtimecmp_update;
578-
579-
580- for (genvar h = 0 ; h < N_HARTS ; h++) begin : gen_harts
581- @@ -96,14 +96,14 @@ module rv_timer (
582- .rst_ni,
583-
584- .active (active[h]),
585- - .prescaler (prescaler[h]),
586- - .step (step[h]),
587- + .prescaler (prescaler),
588- + .step (step),
589-
590- .tick (tick[h]),
591-
592- - .mtime_d (mtime_d[h]),
593- - .mtime (mtime[h]),
594- - .mtimecmp (mtimecmp[h]),
595- + .mtime_d (mtime_d),
596- + .mtime (mtime),
597- + .mtimecmp (mtimecmp),
598-
599- .intr (intr_timer_set[h*N_TIMERS+:N_TIMERS])
600- );
601- diff --git a/hw/ip/rv_timer/rtl/rv_timer_reg_pkg.sv b/hw/ip/rv_timer/rtl/rv_timer_reg_pkg.sv
602- index 2addad698..37e6d79c4 100644
603- --- a/hw/ip/rv_timer/rtl/rv_timer_reg_pkg.sv
604- +++ b/hw/ip/rv_timer/rtl/rv_timer_reg_pkg.sv
605- @@ -78,15 +78,15 @@ package rv_timer_reg_pkg;
606- // Register to internal design logic //
607- ///////////////////////////////////////
608- typedef struct packed {
609- - rv_timer_reg2hw_ctrl_mreg_t [0:0] ctrl; // [154:154]
610- + rv_timer_reg2hw_ctrl_mreg_t ctrl; // [154:154]
611- rv_timer_reg2hw_cfg0_reg_t cfg0; // [153:134]
612- rv_timer_reg2hw_timer_v_lower0_reg_t timer_v_lower0; // [133:102]
613- rv_timer_reg2hw_timer_v_upper0_reg_t timer_v_upper0; // [101:70]
614- rv_timer_reg2hw_compare_lower0_0_reg_t compare_lower0_0; // [69:37]
615- rv_timer_reg2hw_compare_upper0_0_reg_t compare_upper0_0; // [36:4]
616- - rv_timer_reg2hw_intr_enable0_mreg_t [0:0] intr_enable0; // [3:3]
617- - rv_timer_reg2hw_intr_state0_mreg_t [0:0] intr_state0; // [2:2]
618- - rv_timer_reg2hw_intr_test0_mreg_t [0:0] intr_test0; // [1:0]
619- + rv_timer_reg2hw_intr_enable0_mreg_t intr_enable0; // [3:3]
620- + rv_timer_reg2hw_intr_state0_mreg_t intr_state0; // [2:2]
621- + rv_timer_reg2hw_intr_test0_mreg_t intr_test0; // [1:0]
622- } rv_timer_reg2hw_t;
623-
624- ///////////////////////////////////////
625- @@ -95,7 +95,7 @@ package rv_timer_reg_pkg;
626- typedef struct packed {
627- rv_timer_hw2reg_timer_v_lower0_reg_t timer_v_lower0; // [67:36]
628- rv_timer_hw2reg_timer_v_upper0_reg_t timer_v_upper0; // [35:4]
629- - rv_timer_hw2reg_intr_state0_mreg_t [0:0] intr_state0; // [3:2]
630- + rv_timer_hw2reg_intr_state0_mreg_t intr_state0; // [3:2]
631- } rv_timer_hw2reg_t;
632-
633- // Register Address
634525diff --git a/hw/ip/tlul/rtl/tlul_adapter_sram.sv b/hw/ip/tlul/rtl/tlul_adapter_sram.sv
635526index 6e2f33191..2820baadd 100644
636527--- a/hw/ip/tlul/rtl/tlul_adapter_sram.sv
0 commit comments