@@ -225,7 +225,6 @@ module lc_ctrl_regs_reg_top (
225225 logic [31 : 0 ] manuf_state_6_qs;
226226 logic manuf_state_7_re;
227227 logic [31 : 0 ] manuf_state_7_qs;
228-
229228 // Register instances
230229 // R[alert_test]: V(True)
231230 logic alert_test_qe;
@@ -464,20 +463,28 @@ module lc_ctrl_regs_reg_top (
464463
465464 // R[claim_transition_if_regwen]: V(False)
466465 prim_subreg # (
467- .DW (1 ),
466+ .DW (1 ),
468467 .SwAccess (prim_subreg_pkg :: SwAccessW0C),
469468 .RESVAL (1'h1 ),
470469 .Mubi (1'b0 )
471470 ) u_claim_transition_if_regwen (
472471 .clk_i (clk_i),
473472 .rst_ni (rst_ni),
473+
474+ // from register interface
474475 .we (claim_transition_if_regwen_we),
475476 .wd (claim_transition_if_regwen_wd),
477+
478+ // from internal hardware
476479 .de (1'b0 ),
477480 .d ('0 ),
481+
482+ // to internal hardware
478483 .qe (),
479484 .q (),
480485 .ds (),
486+
487+ // to register interface (read)
481488 .qs (claim_transition_if_regwen_qs)
482489 );
483490
@@ -1210,62 +1217,71 @@ module lc_ctrl_regs_reg_top (
12101217
12111218 // Generate write-enables
12121219 assign alert_test_we = addr_hit[0 ] & reg_we & ! reg_error;
1220+
12131221 assign alert_test_fatal_prog_error_wd = reg_wdata[0 ];
1222+
12141223 assign alert_test_fatal_state_error_wd = reg_wdata[1 ];
1224+
12151225 assign alert_test_fatal_bus_integ_error_wd = reg_wdata[2 ];
1216-
1226+
12171227 assign status_re = addr_hit[1 ] & reg_re & ! reg_error;
1218-
12191228 assign claim_transition_if_regwen_we = addr_hit[2 ] & reg_we & ! reg_error;
1229+
12201230 assign claim_transition_if_regwen_wd = reg_wdata[0 ];
1221-
1231+
12221232 assign claim_transition_if_re = addr_hit[3 ] & reg_re & ! reg_error;
12231233 assign claim_transition_if_we = addr_hit[3 ] & reg_we & ! reg_error;
1234+
12241235 assign claim_transition_if_wd = reg_wdata[7 : 0 ];
1225-
1236+
12261237 assign transition_regwen_re = addr_hit[4 ] & reg_re & ! reg_error;
1227-
12281238 assign transition_cmd_we = addr_hit[5 ] & reg_we & ! reg_error;
1239+
12291240 assign transition_cmd_wd = reg_wdata[0 ];
1230-
1241+
12311242 assign transition_ctrl_re = addr_hit[6 ] & reg_re & ! reg_error;
12321243 assign transition_ctrl_we = addr_hit[6 ] & reg_we & ! reg_error;
1244+
12331245 assign transition_ctrl_ext_clock_en_wd = reg_wdata[0 ];
1246+
12341247 assign transition_ctrl_volatile_raw_unlock_wd = reg_wdata[1 ];
1235-
1248+
12361249 assign transition_token_0_re = addr_hit[7 ] & reg_re & ! reg_error;
12371250 assign transition_token_0_we = addr_hit[7 ] & reg_we & ! reg_error;
1251+
12381252 assign transition_token_0_wd = reg_wdata[31 : 0 ];
1253+
12391254 assign transition_token_1_re = addr_hit[8 ] & reg_re & ! reg_error;
12401255 assign transition_token_1_we = addr_hit[8 ] & reg_we & ! reg_error;
1256+
12411257 assign transition_token_1_wd = reg_wdata[31 : 0 ];
1258+
12421259 assign transition_token_2_re = addr_hit[9 ] & reg_re & ! reg_error;
12431260 assign transition_token_2_we = addr_hit[9 ] & reg_we & ! reg_error;
1261+
12441262 assign transition_token_2_wd = reg_wdata[31 : 0 ];
1263+
12451264 assign transition_token_3_re = addr_hit[10 ] & reg_re & ! reg_error;
12461265 assign transition_token_3_we = addr_hit[10 ] & reg_we & ! reg_error;
1266+
12471267 assign transition_token_3_wd = reg_wdata[31 : 0 ];
1248-
1268+
12491269 assign transition_target_re = addr_hit[11 ] & reg_re & ! reg_error;
12501270 assign transition_target_we = addr_hit[11 ] & reg_we & ! reg_error;
1271+
12511272 assign transition_target_wd = reg_wdata[29 : 0 ];
1252-
1273+
12531274 assign otp_vendor_test_ctrl_re = addr_hit[12 ] & reg_re & ! reg_error;
12541275 assign otp_vendor_test_ctrl_we = addr_hit[12 ] & reg_we & ! reg_error;
1276+
12551277 assign otp_vendor_test_ctrl_wd = reg_wdata[31 : 0 ];
1256-
1278+
12571279 assign otp_vendor_test_status_re = addr_hit[13 ] & reg_re & ! reg_error;
1258-
12591280 assign lc_state_re = addr_hit[14 ] & reg_re & ! reg_error;
1260-
12611281 assign lc_transition_cnt_re = addr_hit[15 ] & reg_re & ! reg_error;
1262-
12631282 assign lc_id_state_re = addr_hit[16 ] & reg_re & ! reg_error;
1264-
12651283 assign hw_revision0_re = addr_hit[17 ] & reg_re & ! reg_error;
1266-
12671284 assign hw_revision1_re = addr_hit[18 ] & reg_re & ! reg_error;
1268-
12691285 assign device_id_0_re = addr_hit[19 ] & reg_re & ! reg_error;
12701286 assign device_id_1_re = addr_hit[20 ] & reg_re & ! reg_error;
12711287 assign device_id_2_re = addr_hit[21 ] & reg_re & ! reg_error;
@@ -1274,7 +1290,6 @@ module lc_ctrl_regs_reg_top (
12741290 assign device_id_5_re = addr_hit[24 ] & reg_re & ! reg_error;
12751291 assign device_id_6_re = addr_hit[25 ] & reg_re & ! reg_error;
12761292 assign device_id_7_re = addr_hit[26 ] & reg_re & ! reg_error;
1277-
12781293 assign manuf_state_0_re = addr_hit[27 ] & reg_re & ! reg_error;
12791294 assign manuf_state_1_re = addr_hit[28 ] & reg_re & ! reg_error;
12801295 assign manuf_state_2_re = addr_hit[29 ] & reg_re & ! reg_error;
@@ -1283,7 +1298,6 @@ module lc_ctrl_regs_reg_top (
12831298 assign manuf_state_5_re = addr_hit[32 ] & reg_re & ! reg_error;
12841299 assign manuf_state_6_re = addr_hit[33 ] & reg_re & ! reg_error;
12851300 assign manuf_state_7_re = addr_hit[34 ] & reg_re & ! reg_error;
1286-
12871301
12881302 // Assign write-enables to checker logic vector.
12891303 always_comb begin
0 commit comments