Line split page
dashboard | hierarchy | modlist | groups | tests | asserts
Go back

67 always_ff @(posedge clk_i or negedge rst_ni) begin 68 1/1 if (!rst_ni) begin Tests: T1 T2 T3  69 1/1 err_q <= '0; Tests: T1 T2 T3  70 1/1 end else if (intg_err || reg_we_err) begin Tests: T1 T2 T3  71 1/1 err_q <= 1'b1; Tests: T334 T379 T114  72 end MISSING_ELSE 73 end 74 75 // integrity error output is permanent and should be used for alert generation 76 // register errors are transactional 77 1/1 assign intg_err_o = err_q | intg_err | reg_we_err; Tests: T1 T2 T3  78 79 // outgoing integrity generation 80 tlul_pkg::tl_d2h_t tl_o_pre; 81 tlul_rsp_intg_gen #( 82 .EnableRspIntgGen(1), 83 .EnableDataIntgGen(1) 84 ) u_rsp_intg_gen ( 85 .tl_i(tl_o_pre), 86 .tl_o(tl_o) 87 ); 88 89 1/1 assign tl_reg_h2d = tl_i; Tests: T1 T2 T3  90 1/1 assign tl_o_pre = tl_reg_d2h; Tests: T1 T2 T3  91 92 tlul_adapter_reg #( 93 .RegAw(AW), 94 .RegDw(DW), 95 .EnableDataIntgGen(0) 96 ) u_reg_if ( 97 .clk_i (clk_i), 98 .rst_ni (rst_ni), 99 100 .tl_i (tl_reg_h2d), 101 .tl_o (tl_reg_d2h), 102 103 .en_ifetch_i(prim_mubi_pkg::MuBi4False), 104 .intg_error_o(), 105 106 .we_o (reg_we), 107 .re_o (reg_re), 108 .addr_o (reg_addr), 109 .wdata_o (reg_wdata), 110 .be_o (reg_be), 111 .busy_i (reg_busy), 112 .rdata_i (reg_rdata), 113 .error_i (reg_error) 114 ); 115 116 // cdc oversampling signals 117 118 1/1 assign reg_rdata = reg_rdata_next ; Tests: T1 T2 T3  119 1/1 assign reg_error = addrmiss | wr_err | intg_err; Tests: T1 T2 T3  120 121 // Define SW related signals 122 // Format: <reg>_<field>_{wd|we|qs} 123 // or <reg>_{wd|we|qs} if field == 1 or 0 124 logic intr_state_we; 125 logic intr_state_io_status_change_qs; 126 logic intr_state_io_status_change_wd; 127 logic intr_state_init_status_change_qs; 128 logic intr_state_init_status_change_wd; 129 logic intr_enable_we; 130 logic intr_enable_io_status_change_qs; 131 logic intr_enable_io_status_change_wd; 132 logic intr_enable_init_status_change_qs; 133 logic intr_enable_init_status_change_wd; 134 logic intr_test_we; 135 logic intr_test_io_status_change_wd; 136 logic intr_test_init_status_change_wd; 137 logic alert_test_we; 138 logic alert_test_recov_alert_wd; 139 logic alert_test_fatal_alert_wd; 140 logic cfg_regwen_we; 141 logic cfg_regwen_qs; 142 logic cfg_regwen_wd; 143 logic alert_trig_we; 144 logic alert_trig_val_0_qs; 145 logic alert_trig_val_0_wd; 146 logic alert_trig_val_1_qs; 147 logic alert_trig_val_1_wd; 148 logic alert_trig_val_2_qs; 149 logic alert_trig_val_2_wd; 150 logic alert_trig_val_3_qs; 151 logic alert_trig_val_3_wd; 152 logic alert_trig_val_4_qs; 153 logic alert_trig_val_4_wd; 154 logic alert_trig_val_5_qs; 155 logic alert_trig_val_5_wd; 156 logic alert_trig_val_6_qs; 157 logic alert_trig_val_6_wd; 158 logic alert_trig_val_7_qs; 159 logic alert_trig_val_7_wd; 160 logic alert_trig_val_8_qs; 161 logic alert_trig_val_8_wd; 162 logic alert_trig_val_9_qs; 163 logic alert_trig_val_9_wd; 164 logic alert_trig_val_10_qs; 165 logic alert_trig_val_10_wd; 166 logic alert_en_0_we; 167 logic [3:0] alert_en_0_qs; 168 logic [3:0] alert_en_0_wd; 169 logic alert_en_1_we; 170 logic [3:0] alert_en_1_qs; 171 logic [3:0] alert_en_1_wd; 172 logic alert_en_2_we; 173 logic [3:0] alert_en_2_qs; 174 logic [3:0] alert_en_2_wd; 175 logic alert_en_3_we; 176 logic [3:0] alert_en_3_qs; 177 logic [3:0] alert_en_3_wd; 178 logic alert_en_4_we; 179 logic [3:0] alert_en_4_qs; 180 logic [3:0] alert_en_4_wd; 181 logic alert_en_5_we; 182 logic [3:0] alert_en_5_qs; 183 logic [3:0] alert_en_5_wd; 184 logic alert_en_6_we; 185 logic [3:0] alert_en_6_qs; 186 logic [3:0] alert_en_6_wd; 187 logic alert_en_7_we; 188 logic [3:0] alert_en_7_qs; 189 logic [3:0] alert_en_7_wd; 190 logic alert_en_8_we; 191 logic [3:0] alert_en_8_qs; 192 logic [3:0] alert_en_8_wd; 193 logic alert_en_9_we; 194 logic [3:0] alert_en_9_qs; 195 logic [3:0] alert_en_9_wd; 196 logic alert_en_10_we; 197 logic [3:0] alert_en_10_qs; 198 logic [3:0] alert_en_10_wd; 199 logic fatal_alert_en_we; 200 logic fatal_alert_en_val_0_qs; 201 logic fatal_alert_en_val_0_wd; 202 logic fatal_alert_en_val_1_qs; 203 logic fatal_alert_en_val_1_wd; 204 logic fatal_alert_en_val_2_qs; 205 logic fatal_alert_en_val_2_wd; 206 logic fatal_alert_en_val_3_qs; 207 logic fatal_alert_en_val_3_wd; 208 logic fatal_alert_en_val_4_qs; 209 logic fatal_alert_en_val_4_wd; 210 logic fatal_alert_en_val_5_qs; 211 logic fatal_alert_en_val_5_wd; 212 logic fatal_alert_en_val_6_qs; 213 logic fatal_alert_en_val_6_wd; 214 logic fatal_alert_en_val_7_qs; 215 logic fatal_alert_en_val_7_wd; 216 logic fatal_alert_en_val_8_qs; 217 logic fatal_alert_en_val_8_wd; 218 logic fatal_alert_en_val_9_qs; 219 logic fatal_alert_en_val_9_wd; 220 logic fatal_alert_en_val_10_qs; 221 logic fatal_alert_en_val_10_wd; 222 logic recov_alert_we; 223 logic recov_alert_val_0_qs; 224 logic recov_alert_val_0_wd; 225 logic recov_alert_val_1_qs; 226 logic recov_alert_val_1_wd; 227 logic recov_alert_val_2_qs; 228 logic recov_alert_val_2_wd; 229 logic recov_alert_val_3_qs; 230 logic recov_alert_val_3_wd; 231 logic recov_alert_val_4_qs; 232 logic recov_alert_val_4_wd; 233 logic recov_alert_val_5_qs; 234 logic recov_alert_val_5_wd; 235 logic recov_alert_val_6_qs; 236 logic recov_alert_val_6_wd; 237 logic recov_alert_val_7_qs; 238 logic recov_alert_val_7_wd; 239 logic recov_alert_val_8_qs; 240 logic recov_alert_val_8_wd; 241 logic recov_alert_val_9_qs; 242 logic recov_alert_val_9_wd; 243 logic recov_alert_val_10_qs; 244 logic recov_alert_val_10_wd; 245 logic fatal_alert_val_0_qs; 246 logic fatal_alert_val_1_qs; 247 logic fatal_alert_val_2_qs; 248 logic fatal_alert_val_3_qs; 249 logic fatal_alert_val_4_qs; 250 logic fatal_alert_val_5_qs; 251 logic fatal_alert_val_6_qs; 252 logic fatal_alert_val_7_qs; 253 logic fatal_alert_val_8_qs; 254 logic fatal_alert_val_9_qs; 255 logic fatal_alert_val_10_qs; 256 logic fatal_alert_val_11_qs; 257 logic status_ast_init_done_qs; 258 logic [1:0] status_io_pok_qs; 259 logic manual_pad_attr_regwen_0_we; 260 logic manual_pad_attr_regwen_0_qs; 261 logic manual_pad_attr_regwen_0_wd; 262 logic manual_pad_attr_regwen_1_we; 263 logic manual_pad_attr_regwen_1_qs; 264 logic manual_pad_attr_regwen_1_wd; 265 logic manual_pad_attr_regwen_2_we; 266 logic manual_pad_attr_regwen_2_qs; 267 logic manual_pad_attr_regwen_2_wd; 268 logic manual_pad_attr_regwen_3_we; 269 logic manual_pad_attr_regwen_3_qs; 270 logic manual_pad_attr_regwen_3_wd; 271 logic manual_pad_attr_0_re; 272 logic manual_pad_attr_0_we; 273 logic manual_pad_attr_0_pull_en_0_qs; 274 logic manual_pad_attr_0_pull_en_0_wd; 275 logic manual_pad_attr_0_pull_select_0_qs; 276 logic manual_pad_attr_0_pull_select_0_wd; 277 logic manual_pad_attr_0_input_disable_0_qs; 278 logic manual_pad_attr_0_input_disable_0_wd; 279 logic manual_pad_attr_1_re; 280 logic manual_pad_attr_1_we; 281 logic manual_pad_attr_1_pull_en_1_qs; 282 logic manual_pad_attr_1_pull_en_1_wd; 283 logic manual_pad_attr_1_pull_select_1_qs; 284 logic manual_pad_attr_1_pull_select_1_wd; 285 logic manual_pad_attr_1_input_disable_1_qs; 286 logic manual_pad_attr_1_input_disable_1_wd; 287 logic manual_pad_attr_2_re; 288 logic manual_pad_attr_2_we; 289 logic manual_pad_attr_2_pull_en_2_qs; 290 logic manual_pad_attr_2_pull_en_2_wd; 291 logic manual_pad_attr_2_pull_select_2_qs; 292 logic manual_pad_attr_2_pull_select_2_wd; 293 logic manual_pad_attr_2_input_disable_2_qs; 294 logic manual_pad_attr_2_input_disable_2_wd; 295 logic manual_pad_attr_3_re; 296 logic manual_pad_attr_3_we; 297 logic manual_pad_attr_3_pull_en_3_qs; 298 logic manual_pad_attr_3_pull_en_3_wd; 299 logic manual_pad_attr_3_pull_select_3_qs; 300 logic manual_pad_attr_3_pull_select_3_wd; 301 logic manual_pad_attr_3_input_disable_3_qs; 302 logic manual_pad_attr_3_input_disable_3_wd; 303 304 // Register instances 305 // R[intr_state]: V(False) 306 // F[io_status_change]: 0:0 307 prim_subreg #( 308 .DW (1), 309 .SwAccess(prim_subreg_pkg::SwAccessW1C), 310 .RESVAL (1'h0), 311 .Mubi (1'b0) 312 ) u_intr_state_io_status_change ( 313 .clk_i (clk_i), 314 .rst_ni (rst_ni), 315 316 // from register interface 317 .we (intr_state_we), 318 .wd (intr_state_io_status_change_wd), 319 320 // from internal hardware 321 .de (hw2reg.intr_state.io_status_change.de), 322 .d (hw2reg.intr_state.io_status_change.d), 323 324 // to internal hardware 325 .qe (), 326 .q (reg2hw.intr_state.io_status_change.q), 327 .ds (), 328 329 // to register interface (read) 330 .qs (intr_state_io_status_change_qs) 331 ); 332 333 // F[init_status_change]: 1:1 334 prim_subreg #( 335 .DW (1), 336 .SwAccess(prim_subreg_pkg::SwAccessW1C), 337 .RESVAL (1'h0), 338 .Mubi (1'b0) 339 ) u_intr_state_init_status_change ( 340 .clk_i (clk_i), 341 .rst_ni (rst_ni), 342 343 // from register interface 344 .we (intr_state_we), 345 .wd (intr_state_init_status_change_wd), 346 347 // from internal hardware 348 .de (hw2reg.intr_state.init_status_change.de), 349 .d (hw2reg.intr_state.init_status_change.d), 350 351 // to internal hardware 352 .qe (), 353 .q (reg2hw.intr_state.init_status_change.q), 354 .ds (), 355 356 // to register interface (read) 357 .qs (intr_state_init_status_change_qs) 358 ); 359 360 361 // R[intr_enable]: V(False) 362 // F[io_status_change]: 0:0 363 prim_subreg #( 364 .DW (1), 365 .SwAccess(prim_subreg_pkg::SwAccessRW), 366 .RESVAL (1'h0), 367 .Mubi (1'b0) 368 ) u_intr_enable_io_status_change ( 369 .clk_i (clk_i), 370 .rst_ni (rst_ni), 371 372 // from register interface 373 .we (intr_enable_we), 374 .wd (intr_enable_io_status_change_wd), 375 376 // from internal hardware 377 .de (1'b0), 378 .d ('0), 379 380 // to internal hardware 381 .qe (), 382 .q (reg2hw.intr_enable.io_status_change.q), 383 .ds (), 384 385 // to register interface (read) 386 .qs (intr_enable_io_status_change_qs) 387 ); 388 389 // F[init_status_change]: 1:1 390 prim_subreg #( 391 .DW (1), 392 .SwAccess(prim_subreg_pkg::SwAccessRW), 393 .RESVAL (1'h0), 394 .Mubi (1'b0) 395 ) u_intr_enable_init_status_change ( 396 .clk_i (clk_i), 397 .rst_ni (rst_ni), 398 399 // from register interface 400 .we (intr_enable_we), 401 .wd (intr_enable_init_status_change_wd), 402 403 // from internal hardware 404 .de (1'b0), 405 .d ('0), 406 407 // to internal hardware 408 .qe (), 409 .q (reg2hw.intr_enable.init_status_change.q), 410 .ds (), 411 412 // to register interface (read) 413 .qs (intr_enable_init_status_change_qs) 414 ); 415 416 417 // R[intr_test]: V(True) 418 logic intr_test_qe; 419 logic [1:0] intr_test_flds_we; 420 1/1 assign intr_test_qe = &intr_test_flds_we; Tests: T127 T190 T191  421 // F[io_status_change]: 0:0 422 prim_subreg_ext #( 423 .DW (1) 424 ) u_intr_test_io_status_change ( 425 .re (1'b0), 426 .we (intr_test_we), 427 .wd (intr_test_io_status_change_wd), 428 .d ('0), 429 .qre (), 430 .qe (intr_test_flds_we[0]), 431 .q (reg2hw.intr_test.io_status_change.q), 432 .ds (), 433 .qs () 434 ); 435 1/1 assign reg2hw.intr_test.io_status_change.qe = intr_test_qe; Tests: T127 T190 T191  436 437 // F[init_status_change]: 1:1 438 prim_subreg_ext #( 439 .DW (1) 440 ) u_intr_test_init_status_change ( 441 .re (1'b0), 442 .we (intr_test_we), 443 .wd (intr_test_init_status_change_wd), 444 .d ('0), 445 .qre (), 446 .qe (intr_test_flds_we[1]), 447 .q (reg2hw.intr_test.init_status_change.q), 448 .ds (), 449 .qs () 450 ); 451 1/1 assign reg2hw.intr_test.init_status_change.qe = intr_test_qe; Tests: T127 T190 T191  452 453 454 // R[alert_test]: V(True) 455 logic alert_test_qe; 456 logic [1:0] alert_test_flds_we; 457 1/1 assign alert_test_qe = &alert_test_flds_we; Tests: T75 T76 T98  458 // F[recov_alert]: 0:0 459 prim_subreg_ext #( 460 .DW (1) 461 ) u_alert_test_recov_alert ( 462 .re (1'b0), 463 .we (alert_test_we), 464 .wd (alert_test_recov_alert_wd), 465 .d ('0), 466 .qre (), 467 .qe (alert_test_flds_we[0]), 468 .q (reg2hw.alert_test.recov_alert.q), 469 .ds (), 470 .qs () 471 ); 472 1/1 assign reg2hw.alert_test.recov_alert.qe = alert_test_qe; Tests: T75 T76 T98  473 474 // F[fatal_alert]: 1:1 475 prim_subreg_ext #( 476 .DW (1) 477 ) u_alert_test_fatal_alert ( 478 .re (1'b0), 479 .we (alert_test_we), 480 .wd (alert_test_fatal_alert_wd), 481 .d ('0), 482 .qre (), 483 .qe (alert_test_flds_we[1]), 484 .q (reg2hw.alert_test.fatal_alert.q), 485 .ds (), 486 .qs () 487 ); 488 1/1 assign reg2hw.alert_test.fatal_alert.qe = alert_test_qe; Tests: T75 T76 T98  489 490 491 // R[cfg_regwen]: V(False) 492 prim_subreg #( 493 .DW (1), 494 .SwAccess(prim_subreg_pkg::SwAccessW0C), 495 .RESVAL (1'h1), 496 .Mubi (1'b0) 497 ) u_cfg_regwen ( 498 .clk_i (clk_i), 499 .rst_ni (rst_ni), 500 501 // from register interface 502 .we (cfg_regwen_we), 503 .wd (cfg_regwen_wd), 504 505 // from internal hardware 506 .de (1'b0), 507 .d ('0), 508 509 // to internal hardware 510 .qe (), 511 .q (), 512 .ds (), 513 514 // to register interface (read) 515 .qs (cfg_regwen_qs) 516 ); 517 518 519 // Subregister 0 of Multireg alert_trig 520 // R[alert_trig]: V(False) 521 // F[val_0]: 0:0 522 prim_subreg #( 523 .DW (1), 524 .SwAccess(prim_subreg_pkg::SwAccessRW), 525 .RESVAL (1'h0), 526 .Mubi (1'b0) 527 ) u_alert_trig_val_0 ( 528 .clk_i (clk_i), 529 .rst_ni (rst_ni), 530 531 // from register interface 532 .we (alert_trig_we), 533 .wd (alert_trig_val_0_wd), 534 535 // from internal hardware 536 .de (1'b0), 537 .d ('0), 538 539 // to internal hardware 540 .qe (), 541 .q (reg2hw.alert_trig[0].q), 542 .ds (), 543 544 // to register interface (read) 545 .qs (alert_trig_val_0_qs) 546 ); 547 548 // F[val_1]: 1:1 549 prim_subreg #( 550 .DW (1), 551 .SwAccess(prim_subreg_pkg::SwAccessRW), 552 .RESVAL (1'h0), 553 .Mubi (1'b0) 554 ) u_alert_trig_val_1 ( 555 .clk_i (clk_i), 556 .rst_ni (rst_ni), 557 558 // from register interface 559 .we (alert_trig_we), 560 .wd (alert_trig_val_1_wd), 561 562 // from internal hardware 563 .de (1'b0), 564 .d ('0), 565 566 // to internal hardware 567 .qe (), 568 .q (reg2hw.alert_trig[1].q), 569 .ds (), 570 571 // to register interface (read) 572 .qs (alert_trig_val_1_qs) 573 ); 574 575 // F[val_2]: 2:2 576 prim_subreg #( 577 .DW (1), 578 .SwAccess(prim_subreg_pkg::SwAccessRW), 579 .RESVAL (1'h0), 580 .Mubi (1'b0) 581 ) u_alert_trig_val_2 ( 582 .clk_i (clk_i), 583 .rst_ni (rst_ni), 584 585 // from register interface 586 .we (alert_trig_we), 587 .wd (alert_trig_val_2_wd), 588 589 // from internal hardware 590 .de (1'b0), 591 .d ('0), 592 593 // to internal hardware 594 .qe (), 595 .q (reg2hw.alert_trig[2].q), 596 .ds (), 597 598 // to register interface (read) 599 .qs (alert_trig_val_2_qs) 600 ); 601 602 // F[val_3]: 3:3 603 prim_subreg #( 604 .DW (1), 605 .SwAccess(prim_subreg_pkg::SwAccessRW), 606 .RESVAL (1'h0), 607 .Mubi (1'b0) 608 ) u_alert_trig_val_3 ( 609 .clk_i (clk_i), 610 .rst_ni (rst_ni), 611 612 // from register interface 613 .we (alert_trig_we), 614 .wd (alert_trig_val_3_wd), 615 616 // from internal hardware 617 .de (1'b0), 618 .d ('0), 619 620 // to internal hardware 621 .qe (), 622 .q (reg2hw.alert_trig[3].q), 623 .ds (), 624 625 // to register interface (read) 626 .qs (alert_trig_val_3_qs) 627 ); 628 629 // F[val_4]: 4:4 630 prim_subreg #( 631 .DW (1), 632 .SwAccess(prim_subreg_pkg::SwAccessRW), 633 .RESVAL (1'h0), 634 .Mubi (1'b0) 635 ) u_alert_trig_val_4 ( 636 .clk_i (clk_i), 637 .rst_ni (rst_ni), 638 639 // from register interface 640 .we (alert_trig_we), 641 .wd (alert_trig_val_4_wd), 642 643 // from internal hardware 644 .de (1'b0), 645 .d ('0), 646 647 // to internal hardware 648 .qe (), 649 .q (reg2hw.alert_trig[4].q), 650 .ds (), 651 652 // to register interface (read) 653 .qs (alert_trig_val_4_qs) 654 ); 655 656 // F[val_5]: 5:5 657 prim_subreg #( 658 .DW (1), 659 .SwAccess(prim_subreg_pkg::SwAccessRW), 660 .RESVAL (1'h0), 661 .Mubi (1'b0) 662 ) u_alert_trig_val_5 ( 663 .clk_i (clk_i), 664 .rst_ni (rst_ni), 665 666 // from register interface 667 .we (alert_trig_we), 668 .wd (alert_trig_val_5_wd), 669 670 // from internal hardware 671 .de (1'b0), 672 .d ('0), 673 674 // to internal hardware 675 .qe (), 676 .q (reg2hw.alert_trig[5].q), 677 .ds (), 678 679 // to register interface (read) 680 .qs (alert_trig_val_5_qs) 681 ); 682 683 // F[val_6]: 6:6 684 prim_subreg #( 685 .DW (1), 686 .SwAccess(prim_subreg_pkg::SwAccessRW), 687 .RESVAL (1'h0), 688 .Mubi (1'b0) 689 ) u_alert_trig_val_6 ( 690 .clk_i (clk_i), 691 .rst_ni (rst_ni), 692 693 // from register interface 694 .we (alert_trig_we), 695 .wd (alert_trig_val_6_wd), 696 697 // from internal hardware 698 .de (1'b0), 699 .d ('0), 700 701 // to internal hardware 702 .qe (), 703 .q (reg2hw.alert_trig[6].q), 704 .ds (), 705 706 // to register interface (read) 707 .qs (alert_trig_val_6_qs) 708 ); 709 710 // F[val_7]: 7:7 711 prim_subreg #( 712 .DW (1), 713 .SwAccess(prim_subreg_pkg::SwAccessRW), 714 .RESVAL (1'h0), 715 .Mubi (1'b0) 716 ) u_alert_trig_val_7 ( 717 .clk_i (clk_i), 718 .rst_ni (rst_ni), 719 720 // from register interface 721 .we (alert_trig_we), 722 .wd (alert_trig_val_7_wd), 723 724 // from internal hardware 725 .de (1'b0), 726 .d ('0), 727 728 // to internal hardware 729 .qe (), 730 .q (reg2hw.alert_trig[7].q), 731 .ds (), 732 733 // to register interface (read) 734 .qs (alert_trig_val_7_qs) 735 ); 736 737 // F[val_8]: 8:8 738 prim_subreg #( 739 .DW (1), 740 .SwAccess(prim_subreg_pkg::SwAccessRW), 741 .RESVAL (1'h0), 742 .Mubi (1'b0) 743 ) u_alert_trig_val_8 ( 744 .clk_i (clk_i), 745 .rst_ni (rst_ni), 746 747 // from register interface 748 .we (alert_trig_we), 749 .wd (alert_trig_val_8_wd), 750 751 // from internal hardware 752 .de (1'b0), 753 .d ('0), 754 755 // to internal hardware 756 .qe (), 757 .q (reg2hw.alert_trig[8].q), 758 .ds (), 759 760 // to register interface (read) 761 .qs (alert_trig_val_8_qs) 762 ); 763 764 // F[val_9]: 9:9 765 prim_subreg #( 766 .DW (1), 767 .SwAccess(prim_subreg_pkg::SwAccessRW), 768 .RESVAL (1'h0), 769 .Mubi (1'b0) 770 ) u_alert_trig_val_9 ( 771 .clk_i (clk_i), 772 .rst_ni (rst_ni), 773 774 // from register interface 775 .we (alert_trig_we), 776 .wd (alert_trig_val_9_wd), 777 778 // from internal hardware 779 .de (1'b0), 780 .d ('0), 781 782 // to internal hardware 783 .qe (), 784 .q (reg2hw.alert_trig[9].q), 785 .ds (), 786 787 // to register interface (read) 788 .qs (alert_trig_val_9_qs) 789 ); 790 791 // F[val_10]: 10:10 792 prim_subreg #( 793 .DW (1), 794 .SwAccess(prim_subreg_pkg::SwAccessRW), 795 .RESVAL (1'h0), 796 .Mubi (1'b0) 797 ) u_alert_trig_val_10 ( 798 .clk_i (clk_i), 799 .rst_ni (rst_ni), 800 801 // from register interface 802 .we (alert_trig_we), 803 .wd (alert_trig_val_10_wd), 804 805 // from internal hardware 806 .de (1'b0), 807 .d ('0), 808 809 // to internal hardware 810 .qe (), 811 .q (reg2hw.alert_trig[10].q), 812 .ds (), 813 814 // to register interface (read) 815 .qs (alert_trig_val_10_qs) 816 ); 817 818 819 // Subregister 0 of Multireg alert_en 820 // R[alert_en_0]: V(False) 821 // Create REGWEN-gated WE signal 822 logic alert_en_0_gated_we; 823 1/1 assign alert_en_0_gated_we = alert_en_0_we & cfg_regwen_qs; Tests: T164 T165 T72  824 prim_subreg #( 825 .DW (4), 826 .SwAccess(prim_subreg_pkg::SwAccessRW), 827 .RESVAL (4'h6), 828 .Mubi (1'b1) 829 ) u_alert_en_0 ( 830 .clk_i (clk_i), 831 .rst_ni (rst_ni), 832 833 // from register interface 834 .we (alert_en_0_gated_we), 835 .wd (alert_en_0_wd), 836 837 // from internal hardware 838 .de (1'b0), 839 .d ('0), 840 841 // to internal hardware 842 .qe (), 843 .q (reg2hw.alert_en[0].q), 844 .ds (), 845 846 // to register interface (read) 847 .qs (alert_en_0_qs) 848 ); 849 850 851 // Subregister 1 of Multireg alert_en 852 // R[alert_en_1]: V(False) 853 // Create REGWEN-gated WE signal 854 logic alert_en_1_gated_we; 855 1/1 assign alert_en_1_gated_we = alert_en_1_we & cfg_regwen_qs; Tests: T164 T72 T166  856 prim_subreg #( 857 .DW (4), 858 .SwAccess(prim_subreg_pkg::SwAccessRW), 859 .RESVAL (4'h6), 860 .Mubi (1'b1) 861 ) u_alert_en_1 ( 862 .clk_i (clk_i), 863 .rst_ni (rst_ni), 864 865 // from register interface 866 .we (alert_en_1_gated_we), 867 .wd (alert_en_1_wd), 868 869 // from internal hardware 870 .de (1'b0), 871 .d ('0), 872 873 // to internal hardware 874 .qe (), 875 .q (reg2hw.alert_en[1].q), 876 .ds (), 877 878 // to register interface (read) 879 .qs (alert_en_1_qs) 880 ); 881 882 883 // Subregister 2 of Multireg alert_en 884 // R[alert_en_2]: V(False) 885 // Create REGWEN-gated WE signal 886 logic alert_en_2_gated_we; 887 1/1 assign alert_en_2_gated_we = alert_en_2_we & cfg_regwen_qs; Tests: T164 T165 T72  888 prim_subreg #( 889 .DW (4), 890 .SwAccess(prim_subreg_pkg::SwAccessRW), 891 .RESVAL (4'h6), 892 .Mubi (1'b1) 893 ) u_alert_en_2 ( 894 .clk_i (clk_i), 895 .rst_ni (rst_ni), 896 897 // from register interface 898 .we (alert_en_2_gated_we), 899 .wd (alert_en_2_wd), 900 901 // from internal hardware 902 .de (1'b0), 903 .d ('0), 904 905 // to internal hardware 906 .qe (), 907 .q (reg2hw.alert_en[2].q), 908 .ds (), 909 910 // to register interface (read) 911 .qs (alert_en_2_qs) 912 ); 913 914 915 // Subregister 3 of Multireg alert_en 916 // R[alert_en_3]: V(False) 917 // Create REGWEN-gated WE signal 918 logic alert_en_3_gated_we; 919 1/1 assign alert_en_3_gated_we = alert_en_3_we & cfg_regwen_qs; Tests: T164 T72 T166  920 prim_subreg #( 921 .DW (4), 922 .SwAccess(prim_subreg_pkg::SwAccessRW), 923 .RESVAL (4'h6), 924 .Mubi (1'b1) 925 ) u_alert_en_3 ( 926 .clk_i (clk_i), 927 .rst_ni (rst_ni), 928 929 // from register interface 930 .we (alert_en_3_gated_we), 931 .wd (alert_en_3_wd), 932 933 // from internal hardware 934 .de (1'b0), 935 .d ('0), 936 937 // to internal hardware 938 .qe (), 939 .q (reg2hw.alert_en[3].q), 940 .ds (), 941 942 // to register interface (read) 943 .qs (alert_en_3_qs) 944 ); 945 946 947 // Subregister 4 of Multireg alert_en 948 // R[alert_en_4]: V(False) 949 // Create REGWEN-gated WE signal 950 logic alert_en_4_gated_we; 951 1/1 assign alert_en_4_gated_we = alert_en_4_we & cfg_regwen_qs; Tests: T164 T165 T72  952 prim_subreg #( 953 .DW (4), 954 .SwAccess(prim_subreg_pkg::SwAccessRW), 955 .RESVAL (4'h6), 956 .Mubi (1'b1) 957 ) u_alert_en_4 ( 958 .clk_i (clk_i), 959 .rst_ni (rst_ni), 960 961 // from register interface 962 .we (alert_en_4_gated_we), 963 .wd (alert_en_4_wd), 964 965 // from internal hardware 966 .de (1'b0), 967 .d ('0), 968 969 // to internal hardware 970 .qe (), 971 .q (reg2hw.alert_en[4].q), 972 .ds (), 973 974 // to register interface (read) 975 .qs (alert_en_4_qs) 976 ); 977 978 979 // Subregister 5 of Multireg alert_en 980 // R[alert_en_5]: V(False) 981 // Create REGWEN-gated WE signal 982 logic alert_en_5_gated_we; 983 1/1 assign alert_en_5_gated_we = alert_en_5_we & cfg_regwen_qs; Tests: T164 T72 T166  984 prim_subreg #( 985 .DW (4), 986 .SwAccess(prim_subreg_pkg::SwAccessRW), 987 .RESVAL (4'h6), 988 .Mubi (1'b1) 989 ) u_alert_en_5 ( 990 .clk_i (clk_i), 991 .rst_ni (rst_ni), 992 993 // from register interface 994 .we (alert_en_5_gated_we), 995 .wd (alert_en_5_wd), 996 997 // from internal hardware 998 .de (1'b0), 999 .d ('0), 1000 1001 // to internal hardware 1002 .qe (), 1003 .q (reg2hw.alert_en[5].q), 1004 .ds (), 1005 1006 // to register interface (read) 1007 .qs (alert_en_5_qs) 1008 ); 1009 1010 1011 // Subregister 6 of Multireg alert_en 1012 // R[alert_en_6]: V(False) 1013 // Create REGWEN-gated WE signal 1014 logic alert_en_6_gated_we; 1015 1/1 assign alert_en_6_gated_we = alert_en_6_we & cfg_regwen_qs; Tests: T164 T72 T166  1016 prim_subreg #( 1017 .DW (4), 1018 .SwAccess(prim_subreg_pkg::SwAccessRW), 1019 .RESVAL (4'h6), 1020 .Mubi (1'b1) 1021 ) u_alert_en_6 ( 1022 .clk_i (clk_i), 1023 .rst_ni (rst_ni), 1024 1025 // from register interface 1026 .we (alert_en_6_gated_we), 1027 .wd (alert_en_6_wd), 1028 1029 // from internal hardware 1030 .de (1'b0), 1031 .d ('0), 1032 1033 // to internal hardware 1034 .qe (), 1035 .q (reg2hw.alert_en[6].q), 1036 .ds (), 1037 1038 // to register interface (read) 1039 .qs (alert_en_6_qs) 1040 ); 1041 1042 1043 // Subregister 7 of Multireg alert_en 1044 // R[alert_en_7]: V(False) 1045 // Create REGWEN-gated WE signal 1046 logic alert_en_7_gated_we; 1047 1/1 assign alert_en_7_gated_we = alert_en_7_we & cfg_regwen_qs; Tests: T164 T143 T72  1048 prim_subreg #( 1049 .DW (4), 1050 .SwAccess(prim_subreg_pkg::SwAccessRW), 1051 .RESVAL (4'h6), 1052 .Mubi (1'b1) 1053 ) u_alert_en_7 ( 1054 .clk_i (clk_i), 1055 .rst_ni (rst_ni), 1056 1057 // from register interface 1058 .we (alert_en_7_gated_we), 1059 .wd (alert_en_7_wd), 1060 1061 // from internal hardware 1062 .de (1'b0), 1063 .d ('0), 1064 1065 // to internal hardware 1066 .qe (), 1067 .q (reg2hw.alert_en[7].q), 1068 .ds (), 1069 1070 // to register interface (read) 1071 .qs (alert_en_7_qs) 1072 ); 1073 1074 1075 // Subregister 8 of Multireg alert_en 1076 // R[alert_en_8]: V(False) 1077 // Create REGWEN-gated WE signal 1078 logic alert_en_8_gated_we; 1079 1/1 assign alert_en_8_gated_we = alert_en_8_we & cfg_regwen_qs; Tests: T164 T143 T72  1080 prim_subreg #( 1081 .DW (4), 1082 .SwAccess(prim_subreg_pkg::SwAccessRW), 1083 .RESVAL (4'h6), 1084 .Mubi (1'b1) 1085 ) u_alert_en_8 ( 1086 .clk_i (clk_i), 1087 .rst_ni (rst_ni), 1088 1089 // from register interface 1090 .we (alert_en_8_gated_we), 1091 .wd (alert_en_8_wd), 1092 1093 // from internal hardware 1094 .de (1'b0), 1095 .d ('0), 1096 1097 // to internal hardware 1098 .qe (), 1099 .q (reg2hw.alert_en[8].q), 1100 .ds (), 1101 1102 // to register interface (read) 1103 .qs (alert_en_8_qs) 1104 ); 1105 1106 1107 // Subregister 9 of Multireg alert_en 1108 // R[alert_en_9]: V(False) 1109 // Create REGWEN-gated WE signal 1110 logic alert_en_9_gated_we; 1111 1/1 assign alert_en_9_gated_we = alert_en_9_we & cfg_regwen_qs; Tests: T164 T72 T166  1112 prim_subreg #( 1113 .DW (4), 1114 .SwAccess(prim_subreg_pkg::SwAccessRW), 1115 .RESVAL (4'h6), 1116 .Mubi (1'b1) 1117 ) u_alert_en_9 ( 1118 .clk_i (clk_i), 1119 .rst_ni (rst_ni), 1120 1121 // from register interface 1122 .we (alert_en_9_gated_we), 1123 .wd (alert_en_9_wd), 1124 1125 // from internal hardware 1126 .de (1'b0), 1127 .d ('0), 1128 1129 // to internal hardware 1130 .qe (), 1131 .q (reg2hw.alert_en[9].q), 1132 .ds (), 1133 1134 // to register interface (read) 1135 .qs (alert_en_9_qs) 1136 ); 1137 1138 1139 // Subregister 10 of Multireg alert_en 1140 // R[alert_en_10]: V(False) 1141 // Create REGWEN-gated WE signal 1142 logic alert_en_10_gated_we; 1143 1/1 assign alert_en_10_gated_we = alert_en_10_we & cfg_regwen_qs; Tests: T164 T72 T166  1144 prim_subreg #( 1145 .DW (4), 1146 .SwAccess(prim_subreg_pkg::SwAccessRW), 1147 .RESVAL (4'h6), 1148 .Mubi (1'b1) 1149 ) u_alert_en_10 ( 1150 .clk_i (clk_i), 1151 .rst_ni (rst_ni), 1152 1153 // from register interface 1154 .we (alert_en_10_gated_we), 1155 .wd (alert_en_10_wd), 1156 1157 // from internal hardware 1158 .de (1'b0), 1159 .d ('0), 1160 1161 // to internal hardware 1162 .qe (), 1163 .q (reg2hw.alert_en[10].q), 1164 .ds (), 1165 1166 // to register interface (read) 1167 .qs (alert_en_10_qs) 1168 ); 1169 1170 1171 // Subregister 0 of Multireg fatal_alert_en 1172 // R[fatal_alert_en]: V(False) 1173 // Create REGWEN-gated WE signal 1174 logic fatal_alert_en_gated_we; 1175 1/1 assign fatal_alert_en_gated_we = fatal_alert_en_we & cfg_regwen_qs; Tests: T143 T165 T290  1176 // F[val_0]: 0:0 1177 prim_subreg #( 1178 .DW (1), 1179 .SwAccess(prim_subreg_pkg::SwAccessRW), 1180 .RESVAL (1'h0), 1181 .Mubi (1'b0) 1182 ) u_fatal_alert_en_val_0 ( 1183 .clk_i (clk_i), 1184 .rst_ni (rst_ni), 1185 1186 // from register interface 1187 .we (fatal_alert_en_gated_we), 1188 .wd (fatal_alert_en_val_0_wd), 1189 1190 // from internal hardware 1191 .de (1'b0), 1192 .d ('0), 1193 1194 // to internal hardware 1195 .qe (), 1196 .q (reg2hw.fatal_alert_en[0].q), 1197 .ds (), 1198 1199 // to register interface (read) 1200 .qs (fatal_alert_en_val_0_qs) 1201 ); 1202 1203 // F[val_1]: 1:1 1204 prim_subreg #( 1205 .DW (1), 1206 .SwAccess(prim_subreg_pkg::SwAccessRW), 1207 .RESVAL (1'h0), 1208 .Mubi (1'b0) 1209 ) u_fatal_alert_en_val_1 ( 1210 .clk_i (clk_i), 1211 .rst_ni (rst_ni), 1212 1213 // from register interface 1214 .we (fatal_alert_en_gated_we), 1215 .wd (fatal_alert_en_val_1_wd), 1216 1217 // from internal hardware 1218 .de (1'b0), 1219 .d ('0), 1220 1221 // to internal hardware 1222 .qe (), 1223 .q (reg2hw.fatal_alert_en[1].q), 1224 .ds (), 1225 1226 // to register interface (read) 1227 .qs (fatal_alert_en_val_1_qs) 1228 ); 1229 1230 // F[val_2]: 2:2 1231 prim_subreg #( 1232 .DW (1), 1233 .SwAccess(prim_subreg_pkg::SwAccessRW), 1234 .RESVAL (1'h0), 1235 .Mubi (1'b0) 1236 ) u_fatal_alert_en_val_2 ( 1237 .clk_i (clk_i), 1238 .rst_ni (rst_ni), 1239 1240 // from register interface 1241 .we (fatal_alert_en_gated_we), 1242 .wd (fatal_alert_en_val_2_wd), 1243 1244 // from internal hardware 1245 .de (1'b0), 1246 .d ('0), 1247 1248 // to internal hardware 1249 .qe (), 1250 .q (reg2hw.fatal_alert_en[2].q), 1251 .ds (), 1252 1253 // to register interface (read) 1254 .qs (fatal_alert_en_val_2_qs) 1255 ); 1256 1257 // F[val_3]: 3:3 1258 prim_subreg #( 1259 .DW (1), 1260 .SwAccess(prim_subreg_pkg::SwAccessRW), 1261 .RESVAL (1'h0), 1262 .Mubi (1'b0) 1263 ) u_fatal_alert_en_val_3 ( 1264 .clk_i (clk_i), 1265 .rst_ni (rst_ni), 1266 1267 // from register interface 1268 .we (fatal_alert_en_gated_we), 1269 .wd (fatal_alert_en_val_3_wd), 1270 1271 // from internal hardware 1272 .de (1'b0), 1273 .d ('0), 1274 1275 // to internal hardware 1276 .qe (), 1277 .q (reg2hw.fatal_alert_en[3].q), 1278 .ds (), 1279 1280 // to register interface (read) 1281 .qs (fatal_alert_en_val_3_qs) 1282 ); 1283 1284 // F[val_4]: 4:4 1285 prim_subreg #( 1286 .DW (1), 1287 .SwAccess(prim_subreg_pkg::SwAccessRW), 1288 .RESVAL (1'h0), 1289 .Mubi (1'b0) 1290 ) u_fatal_alert_en_val_4 ( 1291 .clk_i (clk_i), 1292 .rst_ni (rst_ni), 1293 1294 // from register interface 1295 .we (fatal_alert_en_gated_we), 1296 .wd (fatal_alert_en_val_4_wd), 1297 1298 // from internal hardware 1299 .de (1'b0), 1300 .d ('0), 1301 1302 // to internal hardware 1303 .qe (), 1304 .q (reg2hw.fatal_alert_en[4].q), 1305 .ds (), 1306 1307 // to register interface (read) 1308 .qs (fatal_alert_en_val_4_qs) 1309 ); 1310 1311 // F[val_5]: 5:5 1312 prim_subreg #( 1313 .DW (1), 1314 .SwAccess(prim_subreg_pkg::SwAccessRW), 1315 .RESVAL (1'h0), 1316 .Mubi (1'b0) 1317 ) u_fatal_alert_en_val_5 ( 1318 .clk_i (clk_i), 1319 .rst_ni (rst_ni), 1320 1321 // from register interface 1322 .we (fatal_alert_en_gated_we), 1323 .wd (fatal_alert_en_val_5_wd), 1324 1325 // from internal hardware 1326 .de (1'b0), 1327 .d ('0), 1328 1329 // to internal hardware 1330 .qe (), 1331 .q (reg2hw.fatal_alert_en[5].q), 1332 .ds (), 1333 1334 // to register interface (read) 1335 .qs (fatal_alert_en_val_5_qs) 1336 ); 1337 1338 // F[val_6]: 6:6 1339 prim_subreg #( 1340 .DW (1), 1341 .SwAccess(prim_subreg_pkg::SwAccessRW), 1342 .RESVAL (1'h0), 1343 .Mubi (1'b0) 1344 ) u_fatal_alert_en_val_6 ( 1345 .clk_i (clk_i), 1346 .rst_ni (rst_ni), 1347 1348 // from register interface 1349 .we (fatal_alert_en_gated_we), 1350 .wd (fatal_alert_en_val_6_wd), 1351 1352 // from internal hardware 1353 .de (1'b0), 1354 .d ('0), 1355 1356 // to internal hardware 1357 .qe (), 1358 .q (reg2hw.fatal_alert_en[6].q), 1359 .ds (), 1360 1361 // to register interface (read) 1362 .qs (fatal_alert_en_val_6_qs) 1363 ); 1364 1365 // F[val_7]: 7:7 1366 prim_subreg #( 1367 .DW (1), 1368 .SwAccess(prim_subreg_pkg::SwAccessRW), 1369 .RESVAL (1'h0), 1370 .Mubi (1'b0) 1371 ) u_fatal_alert_en_val_7 ( 1372 .clk_i (clk_i), 1373 .rst_ni (rst_ni), 1374 1375 // from register interface 1376 .we (fatal_alert_en_gated_we), 1377 .wd (fatal_alert_en_val_7_wd), 1378 1379 // from internal hardware 1380 .de (1'b0), 1381 .d ('0), 1382 1383 // to internal hardware 1384 .qe (), 1385 .q (reg2hw.fatal_alert_en[7].q), 1386 .ds (), 1387 1388 // to register interface (read) 1389 .qs (fatal_alert_en_val_7_qs) 1390 ); 1391 1392 // F[val_8]: 8:8 1393 prim_subreg #( 1394 .DW (1), 1395 .SwAccess(prim_subreg_pkg::SwAccessRW), 1396 .RESVAL (1'h0), 1397 .Mubi (1'b0) 1398 ) u_fatal_alert_en_val_8 ( 1399 .clk_i (clk_i), 1400 .rst_ni (rst_ni), 1401 1402 // from register interface 1403 .we (fatal_alert_en_gated_we), 1404 .wd (fatal_alert_en_val_8_wd), 1405 1406 // from internal hardware 1407 .de (1'b0), 1408 .d ('0), 1409 1410 // to internal hardware 1411 .qe (), 1412 .q (reg2hw.fatal_alert_en[8].q), 1413 .ds (), 1414 1415 // to register interface (read) 1416 .qs (fatal_alert_en_val_8_qs) 1417 ); 1418 1419 // F[val_9]: 9:9 1420 prim_subreg #( 1421 .DW (1), 1422 .SwAccess(prim_subreg_pkg::SwAccessRW), 1423 .RESVAL (1'h0), 1424 .Mubi (1'b0) 1425 ) u_fatal_alert_en_val_9 ( 1426 .clk_i (clk_i), 1427 .rst_ni (rst_ni), 1428 1429 // from register interface 1430 .we (fatal_alert_en_gated_we), 1431 .wd (fatal_alert_en_val_9_wd), 1432 1433 // from internal hardware 1434 .de (1'b0), 1435 .d ('0), 1436 1437 // to internal hardware 1438 .qe (), 1439 .q (reg2hw.fatal_alert_en[9].q), 1440 .ds (), 1441 1442 // to register interface (read) 1443 .qs (fatal_alert_en_val_9_qs) 1444 ); 1445 1446 // F[val_10]: 10:10 1447 prim_subreg #( 1448 .DW (1), 1449 .SwAccess(prim_subreg_pkg::SwAccessRW), 1450 .RESVAL (1'h0), 1451 .Mubi (1'b0) 1452 ) u_fatal_alert_en_val_10 ( 1453 .clk_i (clk_i), 1454 .rst_ni (rst_ni), 1455 1456 // from register interface 1457 .we (fatal_alert_en_gated_we), 1458 .wd (fatal_alert_en_val_10_wd), 1459 1460 // from internal hardware 1461 .de (1'b0), 1462 .d ('0), 1463 1464 // to internal hardware 1465 .qe (), 1466 .q (reg2hw.fatal_alert_en[10].q), 1467 .ds (), 1468 1469 // to register interface (read) 1470 .qs (fatal_alert_en_val_10_qs) 1471 ); 1472 1473 1474 // Subregister 0 of Multireg recov_alert 1475 // R[recov_alert]: V(False) 1476 // F[val_0]: 0:0 1477 prim_subreg #( 1478 .DW (1), 1479 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1480 .RESVAL (1'h0), 1481 .Mubi (1'b0) 1482 ) u_recov_alert_val_0 ( 1483 .clk_i (clk_i), 1484 .rst_ni (rst_ni), 1485 1486 // from register interface 1487 .we (recov_alert_we), 1488 .wd (recov_alert_val_0_wd), 1489 1490 // from internal hardware 1491 .de (hw2reg.recov_alert[0].de), 1492 .d (hw2reg.recov_alert[0].d), 1493 1494 // to internal hardware 1495 .qe (), 1496 .q (reg2hw.recov_alert[0].q), 1497 .ds (), 1498 1499 // to register interface (read) 1500 .qs (recov_alert_val_0_qs) 1501 ); 1502 1503 // F[val_1]: 1:1 1504 prim_subreg #( 1505 .DW (1), 1506 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1507 .RESVAL (1'h0), 1508 .Mubi (1'b0) 1509 ) u_recov_alert_val_1 ( 1510 .clk_i (clk_i), 1511 .rst_ni (rst_ni), 1512 1513 // from register interface 1514 .we (recov_alert_we), 1515 .wd (recov_alert_val_1_wd), 1516 1517 // from internal hardware 1518 .de (hw2reg.recov_alert[1].de), 1519 .d (hw2reg.recov_alert[1].d), 1520 1521 // to internal hardware 1522 .qe (), 1523 .q (reg2hw.recov_alert[1].q), 1524 .ds (), 1525 1526 // to register interface (read) 1527 .qs (recov_alert_val_1_qs) 1528 ); 1529 1530 // F[val_2]: 2:2 1531 prim_subreg #( 1532 .DW (1), 1533 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1534 .RESVAL (1'h0), 1535 .Mubi (1'b0) 1536 ) u_recov_alert_val_2 ( 1537 .clk_i (clk_i), 1538 .rst_ni (rst_ni), 1539 1540 // from register interface 1541 .we (recov_alert_we), 1542 .wd (recov_alert_val_2_wd), 1543 1544 // from internal hardware 1545 .de (hw2reg.recov_alert[2].de), 1546 .d (hw2reg.recov_alert[2].d), 1547 1548 // to internal hardware 1549 .qe (), 1550 .q (reg2hw.recov_alert[2].q), 1551 .ds (), 1552 1553 // to register interface (read) 1554 .qs (recov_alert_val_2_qs) 1555 ); 1556 1557 // F[val_3]: 3:3 1558 prim_subreg #( 1559 .DW (1), 1560 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1561 .RESVAL (1'h0), 1562 .Mubi (1'b0) 1563 ) u_recov_alert_val_3 ( 1564 .clk_i (clk_i), 1565 .rst_ni (rst_ni), 1566 1567 // from register interface 1568 .we (recov_alert_we), 1569 .wd (recov_alert_val_3_wd), 1570 1571 // from internal hardware 1572 .de (hw2reg.recov_alert[3].de), 1573 .d (hw2reg.recov_alert[3].d), 1574 1575 // to internal hardware 1576 .qe (), 1577 .q (reg2hw.recov_alert[3].q), 1578 .ds (), 1579 1580 // to register interface (read) 1581 .qs (recov_alert_val_3_qs) 1582 ); 1583 1584 // F[val_4]: 4:4 1585 prim_subreg #( 1586 .DW (1), 1587 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1588 .RESVAL (1'h0), 1589 .Mubi (1'b0) 1590 ) u_recov_alert_val_4 ( 1591 .clk_i (clk_i), 1592 .rst_ni (rst_ni), 1593 1594 // from register interface 1595 .we (recov_alert_we), 1596 .wd (recov_alert_val_4_wd), 1597 1598 // from internal hardware 1599 .de (hw2reg.recov_alert[4].de), 1600 .d (hw2reg.recov_alert[4].d), 1601 1602 // to internal hardware 1603 .qe (), 1604 .q (reg2hw.recov_alert[4].q), 1605 .ds (), 1606 1607 // to register interface (read) 1608 .qs (recov_alert_val_4_qs) 1609 ); 1610 1611 // F[val_5]: 5:5 1612 prim_subreg #( 1613 .DW (1), 1614 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1615 .RESVAL (1'h0), 1616 .Mubi (1'b0) 1617 ) u_recov_alert_val_5 ( 1618 .clk_i (clk_i), 1619 .rst_ni (rst_ni), 1620 1621 // from register interface 1622 .we (recov_alert_we), 1623 .wd (recov_alert_val_5_wd), 1624 1625 // from internal hardware 1626 .de (hw2reg.recov_alert[5].de), 1627 .d (hw2reg.recov_alert[5].d), 1628 1629 // to internal hardware 1630 .qe (), 1631 .q (reg2hw.recov_alert[5].q), 1632 .ds (), 1633 1634 // to register interface (read) 1635 .qs (recov_alert_val_5_qs) 1636 ); 1637 1638 // F[val_6]: 6:6 1639 prim_subreg #( 1640 .DW (1), 1641 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1642 .RESVAL (1'h0), 1643 .Mubi (1'b0) 1644 ) u_recov_alert_val_6 ( 1645 .clk_i (clk_i), 1646 .rst_ni (rst_ni), 1647 1648 // from register interface 1649 .we (recov_alert_we), 1650 .wd (recov_alert_val_6_wd), 1651 1652 // from internal hardware 1653 .de (hw2reg.recov_alert[6].de), 1654 .d (hw2reg.recov_alert[6].d), 1655 1656 // to internal hardware 1657 .qe (), 1658 .q (reg2hw.recov_alert[6].q), 1659 .ds (), 1660 1661 // to register interface (read) 1662 .qs (recov_alert_val_6_qs) 1663 ); 1664 1665 // F[val_7]: 7:7 1666 prim_subreg #( 1667 .DW (1), 1668 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1669 .RESVAL (1'h0), 1670 .Mubi (1'b0) 1671 ) u_recov_alert_val_7 ( 1672 .clk_i (clk_i), 1673 .rst_ni (rst_ni), 1674 1675 // from register interface 1676 .we (recov_alert_we), 1677 .wd (recov_alert_val_7_wd), 1678 1679 // from internal hardware 1680 .de (hw2reg.recov_alert[7].de), 1681 .d (hw2reg.recov_alert[7].d), 1682 1683 // to internal hardware 1684 .qe (), 1685 .q (reg2hw.recov_alert[7].q), 1686 .ds (), 1687 1688 // to register interface (read) 1689 .qs (recov_alert_val_7_qs) 1690 ); 1691 1692 // F[val_8]: 8:8 1693 prim_subreg #( 1694 .DW (1), 1695 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1696 .RESVAL (1'h0), 1697 .Mubi (1'b0) 1698 ) u_recov_alert_val_8 ( 1699 .clk_i (clk_i), 1700 .rst_ni (rst_ni), 1701 1702 // from register interface 1703 .we (recov_alert_we), 1704 .wd (recov_alert_val_8_wd), 1705 1706 // from internal hardware 1707 .de (hw2reg.recov_alert[8].de), 1708 .d (hw2reg.recov_alert[8].d), 1709 1710 // to internal hardware 1711 .qe (), 1712 .q (reg2hw.recov_alert[8].q), 1713 .ds (), 1714 1715 // to register interface (read) 1716 .qs (recov_alert_val_8_qs) 1717 ); 1718 1719 // F[val_9]: 9:9 1720 prim_subreg #( 1721 .DW (1), 1722 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1723 .RESVAL (1'h0), 1724 .Mubi (1'b0) 1725 ) u_recov_alert_val_9 ( 1726 .clk_i (clk_i), 1727 .rst_ni (rst_ni), 1728 1729 // from register interface 1730 .we (recov_alert_we), 1731 .wd (recov_alert_val_9_wd), 1732 1733 // from internal hardware 1734 .de (hw2reg.recov_alert[9].de), 1735 .d (hw2reg.recov_alert[9].d), 1736 1737 // to internal hardware 1738 .qe (), 1739 .q (reg2hw.recov_alert[9].q), 1740 .ds (), 1741 1742 // to register interface (read) 1743 .qs (recov_alert_val_9_qs) 1744 ); 1745 1746 // F[val_10]: 10:10 1747 prim_subreg #( 1748 .DW (1), 1749 .SwAccess(prim_subreg_pkg::SwAccessW1C), 1750 .RESVAL (1'h0), 1751 .Mubi (1'b0) 1752 ) u_recov_alert_val_10 ( 1753 .clk_i (clk_i), 1754 .rst_ni (rst_ni), 1755 1756 // from register interface 1757 .we (recov_alert_we), 1758 .wd (recov_alert_val_10_wd), 1759 1760 // from internal hardware 1761 .de (hw2reg.recov_alert[10].de), 1762 .d (hw2reg.recov_alert[10].d), 1763 1764 // to internal hardware 1765 .qe (), 1766 .q (reg2hw.recov_alert[10].q), 1767 .ds (), 1768 1769 // to register interface (read) 1770 .qs (recov_alert_val_10_qs) 1771 ); 1772 1773 1774 // Subregister 0 of Multireg fatal_alert 1775 // R[fatal_alert]: V(False) 1776 // F[val_0]: 0:0 1777 prim_subreg #( 1778 .DW (1), 1779 .SwAccess(prim_subreg_pkg::SwAccessRO), 1780 .RESVAL (1'h0), 1781 .Mubi (1'b0) 1782 ) u_fatal_alert_val_0 ( 1783 .clk_i (clk_i), 1784 .rst_ni (rst_ni), 1785 1786 // from register interface 1787 .we (1'b0), 1788 .wd ('0), 1789 1790 // from internal hardware 1791 .de (hw2reg.fatal_alert[0].de), 1792 .d (hw2reg.fatal_alert[0].d), 1793 1794 // to internal hardware 1795 .qe (), 1796 .q (reg2hw.fatal_alert[0].q), 1797 .ds (), 1798 1799 // to register interface (read) 1800 .qs (fatal_alert_val_0_qs) 1801 ); 1802 1803 // F[val_1]: 1:1 1804 prim_subreg #( 1805 .DW (1), 1806 .SwAccess(prim_subreg_pkg::SwAccessRO), 1807 .RESVAL (1'h0), 1808 .Mubi (1'b0) 1809 ) u_fatal_alert_val_1 ( 1810 .clk_i (clk_i), 1811 .rst_ni (rst_ni), 1812 1813 // from register interface 1814 .we (1'b0), 1815 .wd ('0), 1816 1817 // from internal hardware 1818 .de (hw2reg.fatal_alert[1].de), 1819 .d (hw2reg.fatal_alert[1].d), 1820 1821 // to internal hardware 1822 .qe (), 1823 .q (reg2hw.fatal_alert[1].q), 1824 .ds (), 1825 1826 // to register interface (read) 1827 .qs (fatal_alert_val_1_qs) 1828 ); 1829 1830 // F[val_2]: 2:2 1831 prim_subreg #( 1832 .DW (1), 1833 .SwAccess(prim_subreg_pkg::SwAccessRO), 1834 .RESVAL (1'h0), 1835 .Mubi (1'b0) 1836 ) u_fatal_alert_val_2 ( 1837 .clk_i (clk_i), 1838 .rst_ni (rst_ni), 1839 1840 // from register interface 1841 .we (1'b0), 1842 .wd ('0), 1843 1844 // from internal hardware 1845 .de (hw2reg.fatal_alert[2].de), 1846 .d (hw2reg.fatal_alert[2].d), 1847 1848 // to internal hardware 1849 .qe (), 1850 .q (reg2hw.fatal_alert[2].q), 1851 .ds (), 1852 1853 // to register interface (read) 1854 .qs (fatal_alert_val_2_qs) 1855 ); 1856 1857 // F[val_3]: 3:3 1858 prim_subreg #( 1859 .DW (1), 1860 .SwAccess(prim_subreg_pkg::SwAccessRO), 1861 .RESVAL (1'h0), 1862 .Mubi (1'b0) 1863 ) u_fatal_alert_val_3 ( 1864 .clk_i (clk_i), 1865 .rst_ni (rst_ni), 1866 1867 // from register interface 1868 .we (1'b0), 1869 .wd ('0), 1870 1871 // from internal hardware 1872 .de (hw2reg.fatal_alert[3].de), 1873 .d (hw2reg.fatal_alert[3].d), 1874 1875 // to internal hardware 1876 .qe (), 1877 .q (reg2hw.fatal_alert[3].q), 1878 .ds (), 1879 1880 // to register interface (read) 1881 .qs (fatal_alert_val_3_qs) 1882 ); 1883 1884 // F[val_4]: 4:4 1885 prim_subreg #( 1886 .DW (1), 1887 .SwAccess(prim_subreg_pkg::SwAccessRO), 1888 .RESVAL (1'h0), 1889 .Mubi (1'b0) 1890 ) u_fatal_alert_val_4 ( 1891 .clk_i (clk_i), 1892 .rst_ni (rst_ni), 1893 1894 // from register interface 1895 .we (1'b0), 1896 .wd ('0), 1897 1898 // from internal hardware 1899 .de (hw2reg.fatal_alert[4].de), 1900 .d (hw2reg.fatal_alert[4].d), 1901 1902 // to internal hardware 1903 .qe (), 1904 .q (reg2hw.fatal_alert[4].q), 1905 .ds (), 1906 1907 // to register interface (read) 1908 .qs (fatal_alert_val_4_qs) 1909 ); 1910 1911 // F[val_5]: 5:5 1912 prim_subreg #( 1913 .DW (1), 1914 .SwAccess(prim_subreg_pkg::SwAccessRO), 1915 .RESVAL (1'h0), 1916 .Mubi (1'b0) 1917 ) u_fatal_alert_val_5 ( 1918 .clk_i (clk_i), 1919 .rst_ni (rst_ni), 1920 1921 // from register interface 1922 .we (1'b0), 1923 .wd ('0), 1924 1925 // from internal hardware 1926 .de (hw2reg.fatal_alert[5].de), 1927 .d (hw2reg.fatal_alert[5].d), 1928 1929 // to internal hardware 1930 .qe (), 1931 .q (reg2hw.fatal_alert[5].q), 1932 .ds (), 1933 1934 // to register interface (read) 1935 .qs (fatal_alert_val_5_qs) 1936 ); 1937 1938 // F[val_6]: 6:6 1939 prim_subreg #( 1940 .DW (1), 1941 .SwAccess(prim_subreg_pkg::SwAccessRO), 1942 .RESVAL (1'h0), 1943 .Mubi (1'b0) 1944 ) u_fatal_alert_val_6 ( 1945 .clk_i (clk_i), 1946 .rst_ni (rst_ni), 1947 1948 // from register interface 1949 .we (1'b0), 1950 .wd ('0), 1951 1952 // from internal hardware 1953 .de (hw2reg.fatal_alert[6].de), 1954 .d (hw2reg.fatal_alert[6].d), 1955 1956 // to internal hardware 1957 .qe (), 1958 .q (reg2hw.fatal_alert[6].q), 1959 .ds (), 1960 1961 // to register interface (read) 1962 .qs (fatal_alert_val_6_qs) 1963 ); 1964 1965 // F[val_7]: 7:7 1966 prim_subreg #( 1967 .DW (1), 1968 .SwAccess(prim_subreg_pkg::SwAccessRO), 1969 .RESVAL (1'h0), 1970 .Mubi (1'b0) 1971 ) u_fatal_alert_val_7 ( 1972 .clk_i (clk_i), 1973 .rst_ni (rst_ni), 1974 1975 // from register interface 1976 .we (1'b0), 1977 .wd ('0), 1978 1979 // from internal hardware 1980 .de (hw2reg.fatal_alert[7].de), 1981 .d (hw2reg.fatal_alert[7].d), 1982 1983 // to internal hardware 1984 .qe (), 1985 .q (reg2hw.fatal_alert[7].q), 1986 .ds (), 1987 1988 // to register interface (read) 1989 .qs (fatal_alert_val_7_qs) 1990 ); 1991 1992 // F[val_8]: 8:8 1993 prim_subreg #( 1994 .DW (1), 1995 .SwAccess(prim_subreg_pkg::SwAccessRO), 1996 .RESVAL (1'h0), 1997 .Mubi (1'b0) 1998 ) u_fatal_alert_val_8 ( 1999 .clk_i (clk_i), 2000 .rst_ni (rst_ni), 2001 2002 // from register interface 2003 .we (1'b0), 2004 .wd ('0), 2005 2006 // from internal hardware 2007 .de (hw2reg.fatal_alert[8].de), 2008 .d (hw2reg.fatal_alert[8].d), 2009 2010 // to internal hardware 2011 .qe (), 2012 .q (reg2hw.fatal_alert[8].q), 2013 .ds (), 2014 2015 // to register interface (read) 2016 .qs (fatal_alert_val_8_qs) 2017 ); 2018 2019 // F[val_9]: 9:9 2020 prim_subreg #( 2021 .DW (1), 2022 .SwAccess(prim_subreg_pkg::SwAccessRO), 2023 .RESVAL (1'h0), 2024 .Mubi (1'b0) 2025 ) u_fatal_alert_val_9 ( 2026 .clk_i (clk_i), 2027 .rst_ni (rst_ni), 2028 2029 // from register interface 2030 .we (1'b0), 2031 .wd ('0), 2032 2033 // from internal hardware 2034 .de (hw2reg.fatal_alert[9].de), 2035 .d (hw2reg.fatal_alert[9].d), 2036 2037 // to internal hardware 2038 .qe (), 2039 .q (reg2hw.fatal_alert[9].q), 2040 .ds (), 2041 2042 // to register interface (read) 2043 .qs (fatal_alert_val_9_qs) 2044 ); 2045 2046 // F[val_10]: 10:10 2047 prim_subreg #( 2048 .DW (1), 2049 .SwAccess(prim_subreg_pkg::SwAccessRO), 2050 .RESVAL (1'h0), 2051 .Mubi (1'b0) 2052 ) u_fatal_alert_val_10 ( 2053 .clk_i (clk_i), 2054 .rst_ni (rst_ni), 2055 2056 // from register interface 2057 .we (1'b0), 2058 .wd ('0), 2059 2060 // from internal hardware 2061 .de (hw2reg.fatal_alert[10].de), 2062 .d (hw2reg.fatal_alert[10].d), 2063 2064 // to internal hardware 2065 .qe (), 2066 .q (reg2hw.fatal_alert[10].q), 2067 .ds (), 2068 2069 // to register interface (read) 2070 .qs (fatal_alert_val_10_qs) 2071 ); 2072 2073 // F[val_11]: 11:11 2074 prim_subreg #( 2075 .DW (1), 2076 .SwAccess(prim_subreg_pkg::SwAccessRO), 2077 .RESVAL (1'h0), 2078 .Mubi (1'b0) 2079 ) u_fatal_alert_val_11 ( 2080 .clk_i (clk_i), 2081 .rst_ni (rst_ni), 2082 2083 // from register interface 2084 .we (1'b0), 2085 .wd ('0), 2086 2087 // from internal hardware 2088 .de (hw2reg.fatal_alert[11].de), 2089 .d (hw2reg.fatal_alert[11].d), 2090 2091 // to internal hardware 2092 .qe (), 2093 .q (reg2hw.fatal_alert[11].q), 2094 .ds (), 2095 2096 // to register interface (read) 2097 .qs (fatal_alert_val_11_qs) 2098 ); 2099 2100 2101 // R[status]: V(False) 2102 // F[ast_init_done]: 0:0 2103 prim_subreg #( 2104 .DW (1), 2105 .SwAccess(prim_subreg_pkg::SwAccessRO), 2106 .RESVAL (1'h0), 2107 .Mubi (1'b0) 2108 ) u_status_ast_init_done ( 2109 .clk_i (clk_i), 2110 .rst_ni (rst_ni), 2111 2112 // from register interface 2113 .we (1'b0), 2114 .wd ('0), 2115 2116 // from internal hardware 2117 .de (hw2reg.status.ast_init_done.de), 2118 .d (hw2reg.status.ast_init_done.d), 2119 2120 // to internal hardware 2121 .qe (), 2122 .q (), 2123 .ds (), 2124 2125 // to register interface (read) 2126 .qs (status_ast_init_done_qs) 2127 ); 2128 2129 // F[io_pok]: 2:1 2130 prim_subreg #( 2131 .DW (2), 2132 .SwAccess(prim_subreg_pkg::SwAccessRO), 2133 .RESVAL (2'h0), 2134 .Mubi (1'b0) 2135 ) u_status_io_pok ( 2136 .clk_i (clk_i), 2137 .rst_ni (rst_ni), 2138 2139 // from register interface 2140 .we (1'b0), 2141 .wd ('0), 2142 2143 // from internal hardware 2144 .de (hw2reg.status.io_pok.de), 2145 .d (hw2reg.status.io_pok.d), 2146 2147 // to internal hardware 2148 .qe (), 2149 .q (), 2150 .ds (), 2151 2152 // to register interface (read) 2153 .qs (status_io_pok_qs) 2154 ); 2155 2156 2157 // Subregister 0 of Multireg manual_pad_attr_regwen 2158 // R[manual_pad_attr_regwen_0]: V(False) 2159 prim_subreg #( 2160 .DW (1), 2161 .SwAccess(prim_subreg_pkg::SwAccessW0C), 2162 .RESVAL (1'h1), 2163 .Mubi (1'b0) 2164 ) u_manual_pad_attr_regwen_0 ( 2165 .clk_i (clk_i), 2166 .rst_ni (rst_ni), 2167 2168 // from register interface 2169 .we (manual_pad_attr_regwen_0_we), 2170 .wd (manual_pad_attr_regwen_0_wd), 2171 2172 // from internal hardware 2173 .de (1'b0), 2174 .d ('0), 2175 2176 // to internal hardware 2177 .qe (), 2178 .q (), 2179 .ds (), 2180 2181 // to register interface (read) 2182 .qs (manual_pad_attr_regwen_0_qs) 2183 ); 2184 2185 2186 // Subregister 1 of Multireg manual_pad_attr_regwen 2187 // R[manual_pad_attr_regwen_1]: V(False) 2188 prim_subreg #( 2189 .DW (1), 2190 .SwAccess(prim_subreg_pkg::SwAccessW0C), 2191 .RESVAL (1'h1), 2192 .Mubi (1'b0) 2193 ) u_manual_pad_attr_regwen_1 ( 2194 .clk_i (clk_i), 2195 .rst_ni (rst_ni), 2196 2197 // from register interface 2198 .we (manual_pad_attr_regwen_1_we), 2199 .wd (manual_pad_attr_regwen_1_wd), 2200 2201 // from internal hardware 2202 .de (1'b0), 2203 .d ('0), 2204 2205 // to internal hardware 2206 .qe (), 2207 .q (), 2208 .ds (), 2209 2210 // to register interface (read) 2211 .qs (manual_pad_attr_regwen_1_qs) 2212 ); 2213 2214 2215 // Subregister 2 of Multireg manual_pad_attr_regwen 2216 // R[manual_pad_attr_regwen_2]: V(False) 2217 prim_subreg #( 2218 .DW (1), 2219 .SwAccess(prim_subreg_pkg::SwAccessW0C), 2220 .RESVAL (1'h1), 2221 .Mubi (1'b0) 2222 ) u_manual_pad_attr_regwen_2 ( 2223 .clk_i (clk_i), 2224 .rst_ni (rst_ni), 2225 2226 // from register interface 2227 .we (manual_pad_attr_regwen_2_we), 2228 .wd (manual_pad_attr_regwen_2_wd), 2229 2230 // from internal hardware 2231 .de (1'b0), 2232 .d ('0), 2233 2234 // to internal hardware 2235 .qe (), 2236 .q (), 2237 .ds (), 2238 2239 // to register interface (read) 2240 .qs (manual_pad_attr_regwen_2_qs) 2241 ); 2242 2243 2244 // Subregister 3 of Multireg manual_pad_attr_regwen 2245 // R[manual_pad_attr_regwen_3]: V(False) 2246 prim_subreg #( 2247 .DW (1), 2248 .SwAccess(prim_subreg_pkg::SwAccessW0C), 2249 .RESVAL (1'h1), 2250 .Mubi (1'b0) 2251 ) u_manual_pad_attr_regwen_3 ( 2252 .clk_i (clk_i), 2253 .rst_ni (rst_ni), 2254 2255 // from register interface 2256 .we (manual_pad_attr_regwen_3_we), 2257 .wd (manual_pad_attr_regwen_3_wd), 2258 2259 // from internal hardware 2260 .de (1'b0), 2261 .d ('0), 2262 2263 // to internal hardware 2264 .qe (), 2265 .q (), 2266 .ds (), 2267 2268 // to register interface (read) 2269 .qs (manual_pad_attr_regwen_3_qs) 2270 ); 2271 2272 2273 // Subregister 0 of Multireg manual_pad_attr 2274 // R[manual_pad_attr_0]: V(True) 2275 logic manual_pad_attr_0_qe; 2276 logic [2:0] manual_pad_attr_0_flds_we; 2277 1/1 assign manual_pad_attr_0_qe = &manual_pad_attr_0_flds_we; Tests: T20 T21 T22  2278 // Create REGWEN-gated WE signal 2279 logic manual_pad_attr_0_gated_we; 2280 1/1 assign manual_pad_attr_0_gated_we = manual_pad_attr_0_we & manual_pad_attr_regwen_0_qs; Tests: T98 T20 T21  2281 // F[pull_en_0]: 2:2 2282 prim_subreg_ext #( 2283 .DW (1) 2284 ) u_manual_pad_attr_0_pull_en_0 ( 2285 .re (manual_pad_attr_0_re), 2286 .we (manual_pad_attr_0_gated_we), 2287 .wd (manual_pad_attr_0_pull_en_0_wd), 2288 .d (hw2reg.manual_pad_attr[0].pull_en.d), 2289 .qre (), 2290 .qe (manual_pad_attr_0_flds_we[0]), 2291 .q (reg2hw.manual_pad_attr[0].pull_en.q), 2292 .ds (), 2293 .qs (manual_pad_attr_0_pull_en_0_qs) 2294 ); 2295 1/1 assign reg2hw.manual_pad_attr[0].pull_en.qe = manual_pad_attr_0_qe; Tests: T20 T21 T22  2296 2297 // F[pull_select_0]: 3:3 2298 prim_subreg_ext #( 2299 .DW (1) 2300 ) u_manual_pad_attr_0_pull_select_0 ( 2301 .re (manual_pad_attr_0_re), 2302 .we (manual_pad_attr_0_gated_we), 2303 .wd (manual_pad_attr_0_pull_select_0_wd), 2304 .d (hw2reg.manual_pad_attr[0].pull_select.d), 2305 .qre (), 2306 .qe (manual_pad_attr_0_flds_we[1]), 2307 .q (reg2hw.manual_pad_attr[0].pull_select.q), 2308 .ds (), 2309 .qs (manual_pad_attr_0_pull_select_0_qs) 2310 ); 2311 1/1 assign reg2hw.manual_pad_attr[0].pull_select.qe = manual_pad_attr_0_qe; Tests: T20 T21 T22  2312 2313 // F[input_disable_0]: 7:7 2314 prim_subreg_ext #( 2315 .DW (1) 2316 ) u_manual_pad_attr_0_input_disable_0 ( 2317 .re (manual_pad_attr_0_re), 2318 .we (manual_pad_attr_0_gated_we), 2319 .wd (manual_pad_attr_0_input_disable_0_wd), 2320 .d (hw2reg.manual_pad_attr[0].input_disable.d), 2321 .qre (), 2322 .qe (manual_pad_attr_0_flds_we[2]), 2323 .q (reg2hw.manual_pad_attr[0].input_disable.q), 2324 .ds (), 2325 .qs (manual_pad_attr_0_input_disable_0_qs) 2326 ); 2327 1/1 assign reg2hw.manual_pad_attr[0].input_disable.qe = manual_pad_attr_0_qe; Tests: T20 T21 T22  2328 2329 2330 // Subregister 1 of Multireg manual_pad_attr 2331 // R[manual_pad_attr_1]: V(True) 2332 logic manual_pad_attr_1_qe; 2333 logic [2:0] manual_pad_attr_1_flds_we; 2334 1/1 assign manual_pad_attr_1_qe = &manual_pad_attr_1_flds_we; Tests: T20 T21 T22  2335 // Create REGWEN-gated WE signal 2336 logic manual_pad_attr_1_gated_we; 2337 1/1 assign manual_pad_attr_1_gated_we = manual_pad_attr_1_we & manual_pad_attr_regwen_1_qs; Tests: T98 T20 T21  2338 // F[pull_en_1]: 2:2 2339 prim_subreg_ext #( 2340 .DW (1) 2341 ) u_manual_pad_attr_1_pull_en_1 ( 2342 .re (manual_pad_attr_1_re), 2343 .we (manual_pad_attr_1_gated_we), 2344 .wd (manual_pad_attr_1_pull_en_1_wd), 2345 .d (hw2reg.manual_pad_attr[1].pull_en.d), 2346 .qre (), 2347 .qe (manual_pad_attr_1_flds_we[0]), 2348 .q (reg2hw.manual_pad_attr[1].pull_en.q), 2349 .ds (), 2350 .qs (manual_pad_attr_1_pull_en_1_qs) 2351 ); 2352 1/1 assign reg2hw.manual_pad_attr[1].pull_en.qe = manual_pad_attr_1_qe; Tests: T20 T21 T22  2353 2354 // F[pull_select_1]: 3:3 2355 prim_subreg_ext #( 2356 .DW (1) 2357 ) u_manual_pad_attr_1_pull_select_1 ( 2358 .re (manual_pad_attr_1_re), 2359 .we (manual_pad_attr_1_gated_we), 2360 .wd (manual_pad_attr_1_pull_select_1_wd), 2361 .d (hw2reg.manual_pad_attr[1].pull_select.d), 2362 .qre (), 2363 .qe (manual_pad_attr_1_flds_we[1]), 2364 .q (reg2hw.manual_pad_attr[1].pull_select.q), 2365 .ds (), 2366 .qs (manual_pad_attr_1_pull_select_1_qs) 2367 ); 2368 1/1 assign reg2hw.manual_pad_attr[1].pull_select.qe = manual_pad_attr_1_qe; Tests: T20 T21 T22  2369 2370 // F[input_disable_1]: 7:7 2371 prim_subreg_ext #( 2372 .DW (1) 2373 ) u_manual_pad_attr_1_input_disable_1 ( 2374 .re (manual_pad_attr_1_re), 2375 .we (manual_pad_attr_1_gated_we), 2376 .wd (manual_pad_attr_1_input_disable_1_wd), 2377 .d (hw2reg.manual_pad_attr[1].input_disable.d), 2378 .qre (), 2379 .qe (manual_pad_attr_1_flds_we[2]), 2380 .q (reg2hw.manual_pad_attr[1].input_disable.q), 2381 .ds (), 2382 .qs (manual_pad_attr_1_input_disable_1_qs) 2383 ); 2384 1/1 assign reg2hw.manual_pad_attr[1].input_disable.qe = manual_pad_attr_1_qe; Tests: T20 T21 T22  2385 2386 2387 // Subregister 2 of Multireg manual_pad_attr 2388 // R[manual_pad_attr_2]: V(True) 2389 logic manual_pad_attr_2_qe; 2390 logic [2:0] manual_pad_attr_2_flds_we; 2391 1/1 assign manual_pad_attr_2_qe = &manual_pad_attr_2_flds_we; Tests: T20 T21 T22  2392 // Create REGWEN-gated WE signal 2393 logic manual_pad_attr_2_gated_we; 2394 1/1 assign manual_pad_attr_2_gated_we = manual_pad_attr_2_we & manual_pad_attr_regwen_2_qs; Tests: T20 T21 T22  2395 // F[pull_en_2]: 2:2 2396 prim_subreg_ext #( 2397 .DW (1) 2398 ) u_manual_pad_attr_2_pull_en_2 ( 2399 .re (manual_pad_attr_2_re), 2400 .we (manual_pad_attr_2_gated_we), 2401 .wd (manual_pad_attr_2_pull_en_2_wd), 2402 .d (hw2reg.manual_pad_attr[2].pull_en.d), 2403 .qre (), 2404 .qe (manual_pad_attr_2_flds_we[0]), 2405 .q (reg2hw.manual_pad_attr[2].pull_en.q), 2406 .ds (), 2407 .qs (manual_pad_attr_2_pull_en_2_qs) 2408 ); 2409 1/1 assign reg2hw.manual_pad_attr[2].pull_en.qe = manual_pad_attr_2_qe; Tests: T20 T21 T22  2410 2411 // F[pull_select_2]: 3:3 2412 prim_subreg_ext #( 2413 .DW (1) 2414 ) u_manual_pad_attr_2_pull_select_2 ( 2415 .re (manual_pad_attr_2_re), 2416 .we (manual_pad_attr_2_gated_we), 2417 .wd (manual_pad_attr_2_pull_select_2_wd), 2418 .d (hw2reg.manual_pad_attr[2].pull_select.d), 2419 .qre (), 2420 .qe (manual_pad_attr_2_flds_we[1]), 2421 .q (reg2hw.manual_pad_attr[2].pull_select.q), 2422 .ds (), 2423 .qs (manual_pad_attr_2_pull_select_2_qs) 2424 ); 2425 1/1 assign reg2hw.manual_pad_attr[2].pull_select.qe = manual_pad_attr_2_qe; Tests: T20 T21 T22  2426 2427 // F[input_disable_2]: 7:7 2428 prim_subreg_ext #( 2429 .DW (1) 2430 ) u_manual_pad_attr_2_input_disable_2 ( 2431 .re (manual_pad_attr_2_re), 2432 .we (manual_pad_attr_2_gated_we), 2433 .wd (manual_pad_attr_2_input_disable_2_wd), 2434 .d (hw2reg.manual_pad_attr[2].input_disable.d), 2435 .qre (), 2436 .qe (manual_pad_attr_2_flds_we[2]), 2437 .q (reg2hw.manual_pad_attr[2].input_disable.q), 2438 .ds (), 2439 .qs (manual_pad_attr_2_input_disable_2_qs) 2440 ); 2441 1/1 assign reg2hw.manual_pad_attr[2].input_disable.qe = manual_pad_attr_2_qe; Tests: T20 T21 T22  2442 2443 2444 // Subregister 3 of Multireg manual_pad_attr 2445 // R[manual_pad_attr_3]: V(True) 2446 logic manual_pad_attr_3_qe; 2447 logic [2:0] manual_pad_attr_3_flds_we; 2448 1/1 assign manual_pad_attr_3_qe = &manual_pad_attr_3_flds_we; Tests: T20 T21 T22  2449 // Create REGWEN-gated WE signal 2450 logic manual_pad_attr_3_gated_we; 2451 1/1 assign manual_pad_attr_3_gated_we = manual_pad_attr_3_we & manual_pad_attr_regwen_3_qs; Tests: T98 T20 T21  2452 // F[pull_en_3]: 2:2 2453 prim_subreg_ext #( 2454 .DW (1) 2455 ) u_manual_pad_attr_3_pull_en_3 ( 2456 .re (manual_pad_attr_3_re), 2457 .we (manual_pad_attr_3_gated_we), 2458 .wd (manual_pad_attr_3_pull_en_3_wd), 2459 .d (hw2reg.manual_pad_attr[3].pull_en.d), 2460 .qre (), 2461 .qe (manual_pad_attr_3_flds_we[0]), 2462 .q (reg2hw.manual_pad_attr[3].pull_en.q), 2463 .ds (), 2464 .qs (manual_pad_attr_3_pull_en_3_qs) 2465 ); 2466 1/1 assign reg2hw.manual_pad_attr[3].pull_en.qe = manual_pad_attr_3_qe; Tests: T20 T21 T22  2467 2468 // F[pull_select_3]: 3:3 2469 prim_subreg_ext #( 2470 .DW (1) 2471 ) u_manual_pad_attr_3_pull_select_3 ( 2472 .re (manual_pad_attr_3_re), 2473 .we (manual_pad_attr_3_gated_we), 2474 .wd (manual_pad_attr_3_pull_select_3_wd), 2475 .d (hw2reg.manual_pad_attr[3].pull_select.d), 2476 .qre (), 2477 .qe (manual_pad_attr_3_flds_we[1]), 2478 .q (reg2hw.manual_pad_attr[3].pull_select.q), 2479 .ds (), 2480 .qs (manual_pad_attr_3_pull_select_3_qs) 2481 ); 2482 1/1 assign reg2hw.manual_pad_attr[3].pull_select.qe = manual_pad_attr_3_qe; Tests: T20 T21 T22  2483 2484 // F[input_disable_3]: 7:7 2485 prim_subreg_ext #( 2486 .DW (1) 2487 ) u_manual_pad_attr_3_input_disable_3 ( 2488 .re (manual_pad_attr_3_re), 2489 .we (manual_pad_attr_3_gated_we), 2490 .wd (manual_pad_attr_3_input_disable_3_wd), 2491 .d (hw2reg.manual_pad_attr[3].input_disable.d), 2492 .qre (), 2493 .qe (manual_pad_attr_3_flds_we[2]), 2494 .q (reg2hw.manual_pad_attr[3].input_disable.q), 2495 .ds (), 2496 .qs (manual_pad_attr_3_input_disable_3_qs) 2497 ); 2498 1/1 assign reg2hw.manual_pad_attr[3].input_disable.qe = manual_pad_attr_3_qe; Tests: T20 T21 T22  2499 2500 2501 2502 logic [28:0] addr_hit; 2503 always_comb begin 2504 1/1 addr_hit = '0; Tests: T1 T2 T3  2505 1/1 addr_hit[ 0] = (reg_addr == SENSOR_CTRL_INTR_STATE_OFFSET); Tests: T1 T2 T3  2506 1/1 addr_hit[ 1] = (reg_addr == SENSOR_CTRL_INTR_ENABLE_OFFSET); Tests: T1 T2 T3  2507 1/1 addr_hit[ 2] = (reg_addr == SENSOR_CTRL_INTR_TEST_OFFSET); Tests: T1 T2 T3  2508 1/1 addr_hit[ 3] = (reg_addr == SENSOR_CTRL_ALERT_TEST_OFFSET); Tests: T1 T2 T3  2509 1/1 addr_hit[ 4] = (reg_addr == SENSOR_CTRL_CFG_REGWEN_OFFSET); Tests: T1 T2 T3  2510 1/1 addr_hit[ 5] = (reg_addr == SENSOR_CTRL_ALERT_TRIG_OFFSET); Tests: T1 T2 T3  2511 1/1 addr_hit[ 6] = (reg_addr == SENSOR_CTRL_ALERT_EN_0_OFFSET); Tests: T1 T2 T3  2512 1/1 addr_hit[ 7] = (reg_addr == SENSOR_CTRL_ALERT_EN_1_OFFSET); Tests: T1 T2 T3  2513 1/1 addr_hit[ 8] = (reg_addr == SENSOR_CTRL_ALERT_EN_2_OFFSET); Tests: T1 T2 T3  2514 1/1 addr_hit[ 9] = (reg_addr == SENSOR_CTRL_ALERT_EN_3_OFFSET); Tests: T1 T2 T3  2515 1/1 addr_hit[10] = (reg_addr == SENSOR_CTRL_ALERT_EN_4_OFFSET); Tests: T1 T2 T3  2516 1/1 addr_hit[11] = (reg_addr == SENSOR_CTRL_ALERT_EN_5_OFFSET); Tests: T1 T2 T3  2517 1/1 addr_hit[12] = (reg_addr == SENSOR_CTRL_ALERT_EN_6_OFFSET); Tests: T1 T2 T3  2518 1/1 addr_hit[13] = (reg_addr == SENSOR_CTRL_ALERT_EN_7_OFFSET); Tests: T1 T2 T3  2519 1/1 addr_hit[14] = (reg_addr == SENSOR_CTRL_ALERT_EN_8_OFFSET); Tests: T1 T2 T3  2520 1/1 addr_hit[15] = (reg_addr == SENSOR_CTRL_ALERT_EN_9_OFFSET); Tests: T1 T2 T3  2521 1/1 addr_hit[16] = (reg_addr == SENSOR_CTRL_ALERT_EN_10_OFFSET); Tests: T1 T2 T3  2522 1/1 addr_hit[17] = (reg_addr == SENSOR_CTRL_FATAL_ALERT_EN_OFFSET); Tests: T1 T2 T3  2523 1/1 addr_hit[18] = (reg_addr == SENSOR_CTRL_RECOV_ALERT_OFFSET); Tests: T1 T2 T3  2524 1/1 addr_hit[19] = (reg_addr == SENSOR_CTRL_FATAL_ALERT_OFFSET); Tests: T1 T2 T3  2525 1/1 addr_hit[20] = (reg_addr == SENSOR_CTRL_STATUS_OFFSET); Tests: T1 T2 T3  2526 1/1 addr_hit[21] = (reg_addr == SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_0_OFFSET); Tests: T1 T2 T3  2527 1/1 addr_hit[22] = (reg_addr == SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_1_OFFSET); Tests: T1 T2 T3  2528 1/1 addr_hit[23] = (reg_addr == SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_2_OFFSET); Tests: T1 T2 T3  2529 1/1 addr_hit[24] = (reg_addr == SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_3_OFFSET); Tests: T1 T2 T3  2530 1/1 addr_hit[25] = (reg_addr == SENSOR_CTRL_MANUAL_PAD_ATTR_0_OFFSET); Tests: T1 T2 T3  2531 1/1 addr_hit[26] = (reg_addr == SENSOR_CTRL_MANUAL_PAD_ATTR_1_OFFSET); Tests: T1 T2 T3  2532 1/1 addr_hit[27] = (reg_addr == SENSOR_CTRL_MANUAL_PAD_ATTR_2_OFFSET); Tests: T1 T2 T3  2533 1/1 addr_hit[28] = (reg_addr == SENSOR_CTRL_MANUAL_PAD_ATTR_3_OFFSET); Tests: T1 T2 T3  2534 end 2535 2536 1/1 assign addrmiss = (reg_re || reg_we) ? ~|addr_hit : 1'b0 ; Tests: T1 T2 T3  2537 2538 // Check sub-word write is permitted 2539 always_comb begin 2540 1/1 wr_err = (reg_we & Tests: T1 T2 T3  2541 ((addr_hit[ 0] & (|(SENSOR_CTRL_PERMIT[ 0] & ~reg_be))) | 2542 (addr_hit[ 1] & (|(SENSOR_CTRL_PERMIT[ 1] & ~reg_be))) | 2543 (addr_hit[ 2] & (|(SENSOR_CTRL_PERMIT[ 2] & ~reg_be))) | 2544 (addr_hit[ 3] & (|(SENSOR_CTRL_PERMIT[ 3] & ~reg_be))) | 2545 (addr_hit[ 4] & (|(SENSOR_CTRL_PERMIT[ 4] & ~reg_be))) | 2546 (addr_hit[ 5] & (|(SENSOR_CTRL_PERMIT[ 5] & ~reg_be))) | 2547 (addr_hit[ 6] & (|(SENSOR_CTRL_PERMIT[ 6] & ~reg_be))) | 2548 (addr_hit[ 7] & (|(SENSOR_CTRL_PERMIT[ 7] & ~reg_be))) | 2549 (addr_hit[ 8] & (|(SENSOR_CTRL_PERMIT[ 8] & ~reg_be))) | 2550 (addr_hit[ 9] & (|(SENSOR_CTRL_PERMIT[ 9] & ~reg_be))) | 2551 (addr_hit[10] & (|(SENSOR_CTRL_PERMIT[10] & ~reg_be))) | 2552 (addr_hit[11] & (|(SENSOR_CTRL_PERMIT[11] & ~reg_be))) | 2553 (addr_hit[12] & (|(SENSOR_CTRL_PERMIT[12] & ~reg_be))) | 2554 (addr_hit[13] & (|(SENSOR_CTRL_PERMIT[13] & ~reg_be))) | 2555 (addr_hit[14] & (|(SENSOR_CTRL_PERMIT[14] & ~reg_be))) | 2556 (addr_hit[15] & (|(SENSOR_CTRL_PERMIT[15] & ~reg_be))) | 2557 (addr_hit[16] & (|(SENSOR_CTRL_PERMIT[16] & ~reg_be))) | 2558 (addr_hit[17] & (|(SENSOR_CTRL_PERMIT[17] & ~reg_be))) | 2559 (addr_hit[18] & (|(SENSOR_CTRL_PERMIT[18] & ~reg_be))) | 2560 (addr_hit[19] & (|(SENSOR_CTRL_PERMIT[19] & ~reg_be))) | 2561 (addr_hit[20] & (|(SENSOR_CTRL_PERMIT[20] & ~reg_be))) | 2562 (addr_hit[21] & (|(SENSOR_CTRL_PERMIT[21] & ~reg_be))) | 2563 (addr_hit[22] & (|(SENSOR_CTRL_PERMIT[22] & ~reg_be))) | 2564 (addr_hit[23] & (|(SENSOR_CTRL_PERMIT[23] & ~reg_be))) | 2565 (addr_hit[24] & (|(SENSOR_CTRL_PERMIT[24] & ~reg_be))) | 2566 (addr_hit[25] & (|(SENSOR_CTRL_PERMIT[25] & ~reg_be))) | 2567 (addr_hit[26] & (|(SENSOR_CTRL_PERMIT[26] & ~reg_be))) | 2568 (addr_hit[27] & (|(SENSOR_CTRL_PERMIT[27] & ~reg_be))) | 2569 (addr_hit[28] & (|(SENSOR_CTRL_PERMIT[28] & ~reg_be))))); 2570 end 2571 2572 // Generate write-enables 2573 1/1 assign intr_state_we = addr_hit[0] & reg_we & !reg_error; Tests: T1 T2 T3  2574 2575 1/1 assign intr_state_io_status_change_wd = reg_wdata[0]; Tests: T1 T2 T3  2576 2577 1/1 assign intr_state_init_status_change_wd = reg_wdata[1]; Tests: T1 T2 T3  2578 1/1 assign intr_enable_we = addr_hit[1] & reg_we & !reg_error; Tests: T1 T2 T3  2579 2580 1/1 assign intr_enable_io_status_change_wd = reg_wdata[0]; Tests: T1 T2 T3  2581 2582 1/1 assign intr_enable_init_status_change_wd = reg_wdata[1]; Tests: T1 T2 T3  2583 1/1 assign intr_test_we = addr_hit[2] & reg_we & !reg_error; Tests: T1 T2 T3  2584 2585 1/1 assign intr_test_io_status_change_wd = reg_wdata[0]; Tests: T1 T2 T3  2586 2587 1/1 assign intr_test_init_status_change_wd = reg_wdata[1]; Tests: T1 T2 T3  2588 1/1 assign alert_test_we = addr_hit[3] & reg_we & !reg_error; Tests: T1 T2 T3  2589 2590 1/1 assign alert_test_recov_alert_wd = reg_wdata[0]; Tests: T1 T2 T3  2591 2592 1/1 assign alert_test_fatal_alert_wd = reg_wdata[1]; Tests: T1 T2 T3  2593 1/1 assign cfg_regwen_we = addr_hit[4] & reg_we & !reg_error; Tests: T1 T2 T3  2594 2595 1/1 assign cfg_regwen_wd = reg_wdata[0]; Tests: T1 T2 T3  2596 1/1 assign alert_trig_we = addr_hit[5] & reg_we & !reg_error; Tests: T1 T2 T3  2597 2598 1/1 assign alert_trig_val_0_wd = reg_wdata[0]; Tests: T1 T2 T3  2599 2600 1/1 assign alert_trig_val_1_wd = reg_wdata[1]; Tests: T1 T2 T3  2601 2602 1/1 assign alert_trig_val_2_wd = reg_wdata[2]; Tests: T1 T2 T3  2603 2604 1/1 assign alert_trig_val_3_wd = reg_wdata[3]; Tests: T1 T2 T3  2605 2606 1/1 assign alert_trig_val_4_wd = reg_wdata[4]; Tests: T1 T2 T3  2607 2608 1/1 assign alert_trig_val_5_wd = reg_wdata[5]; Tests: T1 T2 T3  2609 2610 1/1 assign alert_trig_val_6_wd = reg_wdata[6]; Tests: T1 T2 T3  2611 2612 1/1 assign alert_trig_val_7_wd = reg_wdata[7]; Tests: T1 T2 T3  2613 2614 1/1 assign alert_trig_val_8_wd = reg_wdata[8]; Tests: T1 T2 T3  2615 2616 1/1 assign alert_trig_val_9_wd = reg_wdata[9]; Tests: T1 T2 T3  2617 2618 1/1 assign alert_trig_val_10_wd = reg_wdata[10]; Tests: T1 T2 T3  2619 1/1 assign alert_en_0_we = addr_hit[6] & reg_we & !reg_error; Tests: T1 T2 T3  2620 2621 1/1 assign alert_en_0_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2622 1/1 assign alert_en_1_we = addr_hit[7] & reg_we & !reg_error; Tests: T1 T2 T3  2623 2624 1/1 assign alert_en_1_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2625 1/1 assign alert_en_2_we = addr_hit[8] & reg_we & !reg_error; Tests: T1 T2 T3  2626 2627 1/1 assign alert_en_2_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2628 1/1 assign alert_en_3_we = addr_hit[9] & reg_we & !reg_error; Tests: T1 T2 T3  2629 2630 1/1 assign alert_en_3_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2631 1/1 assign alert_en_4_we = addr_hit[10] & reg_we & !reg_error; Tests: T1 T2 T3  2632 2633 1/1 assign alert_en_4_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2634 1/1 assign alert_en_5_we = addr_hit[11] & reg_we & !reg_error; Tests: T1 T2 T3  2635 2636 1/1 assign alert_en_5_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2637 1/1 assign alert_en_6_we = addr_hit[12] & reg_we & !reg_error; Tests: T1 T2 T3  2638 2639 1/1 assign alert_en_6_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2640 1/1 assign alert_en_7_we = addr_hit[13] & reg_we & !reg_error; Tests: T1 T2 T3  2641 2642 1/1 assign alert_en_7_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2643 1/1 assign alert_en_8_we = addr_hit[14] & reg_we & !reg_error; Tests: T1 T2 T3  2644 2645 1/1 assign alert_en_8_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2646 1/1 assign alert_en_9_we = addr_hit[15] & reg_we & !reg_error; Tests: T1 T2 T3  2647 2648 1/1 assign alert_en_9_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2649 1/1 assign alert_en_10_we = addr_hit[16] & reg_we & !reg_error; Tests: T1 T2 T3  2650 2651 1/1 assign alert_en_10_wd = reg_wdata[3:0]; Tests: T1 T2 T3  2652 1/1 assign fatal_alert_en_we = addr_hit[17] & reg_we & !reg_error; Tests: T1 T2 T3  2653 2654 1/1 assign fatal_alert_en_val_0_wd = reg_wdata[0]; Tests: T1 T2 T3  2655 2656 1/1 assign fatal_alert_en_val_1_wd = reg_wdata[1]; Tests: T1 T2 T3  2657 2658 1/1 assign fatal_alert_en_val_2_wd = reg_wdata[2]; Tests: T1 T2 T3  2659 2660 1/1 assign fatal_alert_en_val_3_wd = reg_wdata[3]; Tests: T1 T2 T3  2661 2662 1/1 assign fatal_alert_en_val_4_wd = reg_wdata[4]; Tests: T1 T2 T3  2663 2664 1/1 assign fatal_alert_en_val_5_wd = reg_wdata[5]; Tests: T1 T2 T3  2665 2666 1/1 assign fatal_alert_en_val_6_wd = reg_wdata[6]; Tests: T1 T2 T3  2667 2668 1/1 assign fatal_alert_en_val_7_wd = reg_wdata[7]; Tests: T1 T2 T3  2669 2670 1/1 assign fatal_alert_en_val_8_wd = reg_wdata[8]; Tests: T1 T2 T3  2671 2672 1/1 assign fatal_alert_en_val_9_wd = reg_wdata[9]; Tests: T1 T2 T3  2673 2674 1/1 assign fatal_alert_en_val_10_wd = reg_wdata[10]; Tests: T1 T2 T3  2675 1/1 assign recov_alert_we = addr_hit[18] & reg_we & !reg_error; Tests: T1 T2 T3  2676 2677 1/1 assign recov_alert_val_0_wd = reg_wdata[0]; Tests: T1 T2 T3  2678 2679 1/1 assign recov_alert_val_1_wd = reg_wdata[1]; Tests: T1 T2 T3  2680 2681 1/1 assign recov_alert_val_2_wd = reg_wdata[2]; Tests: T1 T2 T3  2682 2683 1/1 assign recov_alert_val_3_wd = reg_wdata[3]; Tests: T1 T2 T3  2684 2685 1/1 assign recov_alert_val_4_wd = reg_wdata[4]; Tests: T1 T2 T3  2686 2687 1/1 assign recov_alert_val_5_wd = reg_wdata[5]; Tests: T1 T2 T3  2688 2689 1/1 assign recov_alert_val_6_wd = reg_wdata[6]; Tests: T1 T2 T3  2690 2691 1/1 assign recov_alert_val_7_wd = reg_wdata[7]; Tests: T1 T2 T3  2692 2693 1/1 assign recov_alert_val_8_wd = reg_wdata[8]; Tests: T1 T2 T3  2694 2695 1/1 assign recov_alert_val_9_wd = reg_wdata[9]; Tests: T1 T2 T3  2696 2697 1/1 assign recov_alert_val_10_wd = reg_wdata[10]; Tests: T1 T2 T3  2698 1/1 assign manual_pad_attr_regwen_0_we = addr_hit[21] & reg_we & !reg_error; Tests: T1 T2 T3  2699 2700 1/1 assign manual_pad_attr_regwen_0_wd = reg_wdata[0]; Tests: T1 T2 T3  2701 1/1 assign manual_pad_attr_regwen_1_we = addr_hit[22] & reg_we & !reg_error; Tests: T1 T2 T3  2702 2703 1/1 assign manual_pad_attr_regwen_1_wd = reg_wdata[0]; Tests: T1 T2 T3  2704 1/1 assign manual_pad_attr_regwen_2_we = addr_hit[23] & reg_we & !reg_error; Tests: T1 T2 T3  2705 2706 1/1 assign manual_pad_attr_regwen_2_wd = reg_wdata[0]; Tests: T1 T2 T3  2707 1/1 assign manual_pad_attr_regwen_3_we = addr_hit[24] & reg_we & !reg_error; Tests: T1 T2 T3  2708 2709 1/1 assign manual_pad_attr_regwen_3_wd = reg_wdata[0]; Tests: T1 T2 T3  2710 1/1 assign manual_pad_attr_0_re = addr_hit[25] & reg_re & !reg_error; Tests: T1 T2 T3  2711 1/1 assign manual_pad_attr_0_we = addr_hit[25] & reg_we & !reg_error; Tests: T1 T2 T3  2712 2713 1/1 assign manual_pad_attr_0_pull_en_0_wd = reg_wdata[2]; Tests: T1 T2 T3  2714 2715 1/1 assign manual_pad_attr_0_pull_select_0_wd = reg_wdata[3]; Tests: T1 T2 T3  2716 2717 1/1 assign manual_pad_attr_0_input_disable_0_wd = reg_wdata[7]; Tests: T1 T2 T3  2718 1/1 assign manual_pad_attr_1_re = addr_hit[26] & reg_re & !reg_error; Tests: T1 T2 T3  2719 1/1 assign manual_pad_attr_1_we = addr_hit[26] & reg_we & !reg_error; Tests: T1 T2 T3  2720 2721 1/1 assign manual_pad_attr_1_pull_en_1_wd = reg_wdata[2]; Tests: T1 T2 T3  2722 2723 1/1 assign manual_pad_attr_1_pull_select_1_wd = reg_wdata[3]; Tests: T1 T2 T3  2724 2725 1/1 assign manual_pad_attr_1_input_disable_1_wd = reg_wdata[7]; Tests: T1 T2 T3  2726 1/1 assign manual_pad_attr_2_re = addr_hit[27] & reg_re & !reg_error; Tests: T1 T2 T3  2727 1/1 assign manual_pad_attr_2_we = addr_hit[27] & reg_we & !reg_error; Tests: T1 T2 T3  2728 2729 1/1 assign manual_pad_attr_2_pull_en_2_wd = reg_wdata[2]; Tests: T1 T2 T3  2730 2731 1/1 assign manual_pad_attr_2_pull_select_2_wd = reg_wdata[3]; Tests: T1 T2 T3  2732 2733 1/1 assign manual_pad_attr_2_input_disable_2_wd = reg_wdata[7]; Tests: T1 T2 T3  2734 1/1 assign manual_pad_attr_3_re = addr_hit[28] & reg_re & !reg_error; Tests: T1 T2 T3  2735 1/1 assign manual_pad_attr_3_we = addr_hit[28] & reg_we & !reg_error; Tests: T1 T2 T3  2736 2737 1/1 assign manual_pad_attr_3_pull_en_3_wd = reg_wdata[2]; Tests: T1 T2 T3  2738 2739 1/1 assign manual_pad_attr_3_pull_select_3_wd = reg_wdata[3]; Tests: T1 T2 T3  2740 2741 1/1 assign manual_pad_attr_3_input_disable_3_wd = reg_wdata[7]; Tests: T1 T2 T3  2742 2743 // Assign write-enables to checker logic vector. 2744 always_comb begin 2745 1/1 reg_we_check = '0; Tests: T75 T179 T164  2746 1/1 reg_we_check[0] = intr_state_we; Tests: T75 T179 T164  2747 1/1 reg_we_check[1] = intr_enable_we; Tests: T75 T179 T164  2748 1/1 reg_we_check[2] = intr_test_we; Tests: T75 T179 T164  2749 1/1 reg_we_check[3] = alert_test_we; Tests: T75 T179 T164  2750 1/1 reg_we_check[4] = cfg_regwen_we; Tests: T75 T179 T164  2751 1/1 reg_we_check[5] = alert_trig_we; Tests: T75 T179 T164  2752 1/1 reg_we_check[6] = alert_en_0_gated_we; Tests: T75 T179 T164  2753 1/1 reg_we_check[7] = alert_en_1_gated_we; Tests: T75 T179 T164  2754 1/1 reg_we_check[8] = alert_en_2_gated_we; Tests: T75 T179 T164  2755 1/1 reg_we_check[9] = alert_en_3_gated_we; Tests: T75 T179 T164  2756 1/1 reg_we_check[10] = alert_en_4_gated_we; Tests: T75 T179 T164  2757 1/1 reg_we_check[11] = alert_en_5_gated_we; Tests: T75 T179 T164  2758 1/1 reg_we_check[12] = alert_en_6_gated_we; Tests: T75 T179 T164  2759 1/1 reg_we_check[13] = alert_en_7_gated_we; Tests: T75 T179 T164  2760 1/1 reg_we_check[14] = alert_en_8_gated_we; Tests: T75 T179 T164  2761 1/1 reg_we_check[15] = alert_en_9_gated_we; Tests: T75 T179 T164  2762 1/1 reg_we_check[16] = alert_en_10_gated_we; Tests: T75 T179 T164  2763 1/1 reg_we_check[17] = fatal_alert_en_gated_we; Tests: T75 T179 T164  2764 1/1 reg_we_check[18] = recov_alert_we; Tests: T75 T179 T164  2765 1/1 reg_we_check[19] = 1'b0; Tests: T75 T179 T164  2766 1/1 reg_we_check[20] = 1'b0; Tests: T75 T179 T164  2767 1/1 reg_we_check[21] = manual_pad_attr_regwen_0_we; Tests: T75 T179 T164  2768 1/1 reg_we_check[22] = manual_pad_attr_regwen_1_we; Tests: T75 T179 T164  2769 1/1 reg_we_check[23] = manual_pad_attr_regwen_2_we; Tests: T75 T179 T164  2770 1/1 reg_we_check[24] = manual_pad_attr_regwen_3_we; Tests: T75 T179 T164  2771 1/1 reg_we_check[25] = manual_pad_attr_0_gated_we; Tests: T75 T179 T164  2772 1/1 reg_we_check[26] = manual_pad_attr_1_gated_we; Tests: T75 T179 T164  2773 1/1 reg_we_check[27] = manual_pad_attr_2_gated_we; Tests: T75 T179 T164  2774 1/1 reg_we_check[28] = manual_pad_attr_3_gated_we; Tests: T75 T179 T164  2775 end 2776 2777 // Read data return 2778 always_comb begin 2779 1/1 reg_rdata_next = '0; Tests: T1 T2 T3  2780 1/1 unique case (1'b1) Tests: T1 T2 T3  2781 addr_hit[0]: begin 2782 1/1 reg_rdata_next[0] = intr_state_io_status_change_qs; Tests: T1 T2 T3  2783 1/1 reg_rdata_next[1] = intr_state_init_status_change_qs; Tests: T1 T2 T3  2784 end 2785 2786 addr_hit[1]: begin 2787 1/1 reg_rdata_next[0] = intr_enable_io_status_change_qs; Tests: T1 T2 T3  2788 1/1 reg_rdata_next[1] = intr_enable_init_status_change_qs; Tests: T1 T2 T3  2789 end 2790 2791 addr_hit[2]: begin 2792 1/1 reg_rdata_next[0] = '0; Tests: T1 T2 T3  2793 1/1 reg_rdata_next[1] = '0; Tests: T1 T2 T3  2794 end 2795 2796 addr_hit[3]: begin 2797 1/1 reg_rdata_next[0] = '0; Tests: T1 T2 T3  2798 1/1 reg_rdata_next[1] = '0; Tests: T1 T2 T3  2799 end 2800 2801 addr_hit[4]: begin 2802 1/1 reg_rdata_next[0] = cfg_regwen_qs; Tests: T1 T2 T3  2803 end 2804 2805 addr_hit[5]: begin 2806 1/1 reg_rdata_next[0] = alert_trig_val_0_qs; Tests: T1 T2 T3  2807 1/1 reg_rdata_next[1] = alert_trig_val_1_qs; Tests: T1 T2 T3  2808 1/1 reg_rdata_next[2] = alert_trig_val_2_qs; Tests: T1 T2 T3  2809 1/1 reg_rdata_next[3] = alert_trig_val_3_qs; Tests: T1 T2 T3  2810 1/1 reg_rdata_next[4] = alert_trig_val_4_qs; Tests: T1 T2 T3  2811 1/1 reg_rdata_next[5] = alert_trig_val_5_qs; Tests: T1 T2 T3  2812 1/1 reg_rdata_next[6] = alert_trig_val_6_qs; Tests: T1 T2 T3  2813 1/1 reg_rdata_next[7] = alert_trig_val_7_qs; Tests: T1 T2 T3  2814 1/1 reg_rdata_next[8] = alert_trig_val_8_qs; Tests: T1 T2 T3  2815 1/1 reg_rdata_next[9] = alert_trig_val_9_qs; Tests: T1 T2 T3  2816 1/1 reg_rdata_next[10] = alert_trig_val_10_qs; Tests: T1 T2 T3  2817 end 2818 2819 addr_hit[6]: begin 2820 1/1 reg_rdata_next[3:0] = alert_en_0_qs; Tests: T1 T2 T3  2821 end 2822 2823 addr_hit[7]: begin 2824 1/1 reg_rdata_next[3:0] = alert_en_1_qs; Tests: T1 T2 T3  2825 end 2826 2827 addr_hit[8]: begin 2828 1/1 reg_rdata_next[3:0] = alert_en_2_qs; Tests: T1 T2 T3  2829 end 2830 2831 addr_hit[9]: begin 2832 1/1 reg_rdata_next[3:0] = alert_en_3_qs; Tests: T1 T2 T3  2833 end 2834 2835 addr_hit[10]: begin 2836 1/1 reg_rdata_next[3:0] = alert_en_4_qs; Tests: T1 T2 T3  2837 end 2838 2839 addr_hit[11]: begin 2840 1/1 reg_rdata_next[3:0] = alert_en_5_qs; Tests: T1 T2 T3  2841 end 2842 2843 addr_hit[12]: begin 2844 1/1 reg_rdata_next[3:0] = alert_en_6_qs; Tests: T1 T2 T3  2845 end 2846 2847 addr_hit[13]: begin 2848 1/1 reg_rdata_next[3:0] = alert_en_7_qs; Tests: T1 T2 T3  2849 end 2850 2851 addr_hit[14]: begin 2852 1/1 reg_rdata_next[3:0] = alert_en_8_qs; Tests: T1 T2 T3  2853 end 2854 2855 addr_hit[15]: begin 2856 1/1 reg_rdata_next[3:0] = alert_en_9_qs; Tests: T1 T2 T3  2857 end 2858 2859 addr_hit[16]: begin 2860 1/1 reg_rdata_next[3:0] = alert_en_10_qs; Tests: T1 T2 T3  2861 end 2862 2863 addr_hit[17]: begin 2864 1/1 reg_rdata_next[0] = fatal_alert_en_val_0_qs; Tests: T1 T2 T3  2865 1/1 reg_rdata_next[1] = fatal_alert_en_val_1_qs; Tests: T1 T2 T3  2866 1/1 reg_rdata_next[2] = fatal_alert_en_val_2_qs; Tests: T1 T2 T3  2867 1/1 reg_rdata_next[3] = fatal_alert_en_val_3_qs; Tests: T1 T2 T3  2868 1/1 reg_rdata_next[4] = fatal_alert_en_val_4_qs; Tests: T1 T2 T3  2869 1/1 reg_rdata_next[5] = fatal_alert_en_val_5_qs; Tests: T1 T2 T3  2870 1/1 reg_rdata_next[6] = fatal_alert_en_val_6_qs; Tests: T1 T2 T3  2871 1/1 reg_rdata_next[7] = fatal_alert_en_val_7_qs; Tests: T1 T2 T3  2872 1/1 reg_rdata_next[8] = fatal_alert_en_val_8_qs; Tests: T1 T2 T3  2873 1/1 reg_rdata_next[9] = fatal_alert_en_val_9_qs; Tests: T1 T2 T3  2874 1/1 reg_rdata_next[10] = fatal_alert_en_val_10_qs; Tests: T1 T2 T3  2875 end 2876 2877 addr_hit[18]: begin 2878 1/1 reg_rdata_next[0] = recov_alert_val_0_qs; Tests: T1 T2 T3  2879 1/1 reg_rdata_next[1] = recov_alert_val_1_qs; Tests: T1 T2 T3  2880 1/1 reg_rdata_next[2] = recov_alert_val_2_qs; Tests: T1 T2 T3  2881 1/1 reg_rdata_next[3] = recov_alert_val_3_qs; Tests: T1 T2 T3  2882 1/1 reg_rdata_next[4] = recov_alert_val_4_qs; Tests: T1 T2 T3  2883 1/1 reg_rdata_next[5] = recov_alert_val_5_qs; Tests: T1 T2 T3  2884 1/1 reg_rdata_next[6] = recov_alert_val_6_qs; Tests: T1 T2 T3  2885 1/1 reg_rdata_next[7] = recov_alert_val_7_qs; Tests: T1 T2 T3  2886 1/1 reg_rdata_next[8] = recov_alert_val_8_qs; Tests: T1 T2 T3  2887 1/1 reg_rdata_next[9] = recov_alert_val_9_qs; Tests: T1 T2 T3  2888 1/1 reg_rdata_next[10] = recov_alert_val_10_qs; Tests: T1 T2 T3  2889 end 2890 2891 addr_hit[19]: begin 2892 1/1 reg_rdata_next[0] = fatal_alert_val_0_qs; Tests: T1 T2 T3  2893 1/1 reg_rdata_next[1] = fatal_alert_val_1_qs; Tests: T1 T2 T3  2894 1/1 reg_rdata_next[2] = fatal_alert_val_2_qs; Tests: T1 T2 T3  2895 1/1 reg_rdata_next[3] = fatal_alert_val_3_qs; Tests: T1 T2 T3  2896 1/1 reg_rdata_next[4] = fatal_alert_val_4_qs; Tests: T1 T2 T3  2897 1/1 reg_rdata_next[5] = fatal_alert_val_5_qs; Tests: T1 T2 T3  2898 1/1 reg_rdata_next[6] = fatal_alert_val_6_qs; Tests: T1 T2 T3  2899 1/1 reg_rdata_next[7] = fatal_alert_val_7_qs; Tests: T1 T2 T3  2900 1/1 reg_rdata_next[8] = fatal_alert_val_8_qs; Tests: T1 T2 T3  2901 1/1 reg_rdata_next[9] = fatal_alert_val_9_qs; Tests: T1 T2 T3  2902 1/1 reg_rdata_next[10] = fatal_alert_val_10_qs; Tests: T1 T2 T3  2903 1/1 reg_rdata_next[11] = fatal_alert_val_11_qs; Tests: T1 T2 T3  2904 end 2905 2906 addr_hit[20]: begin 2907 1/1 reg_rdata_next[0] = status_ast_init_done_qs; Tests: T1 T2 T3  2908 1/1 reg_rdata_next[2:1] = status_io_pok_qs; Tests: T1 T2 T3  2909 end 2910 2911 addr_hit[21]: begin 2912 1/1 reg_rdata_next[0] = manual_pad_attr_regwen_0_qs; Tests: T1 T2 T3  2913 end 2914 2915 addr_hit[22]: begin 2916 1/1 reg_rdata_next[0] = manual_pad_attr_regwen_1_qs; Tests: T1 T2 T3  2917 end 2918 2919 addr_hit[23]: begin 2920 1/1 reg_rdata_next[0] = manual_pad_attr_regwen_2_qs; Tests: T1 T2 T3  2921 end 2922 2923 addr_hit[24]: begin 2924 1/1 reg_rdata_next[0] = manual_pad_attr_regwen_3_qs; Tests: T1 T2 T3  2925 end 2926 2927 addr_hit[25]: begin 2928 1/1 reg_rdata_next[2] = manual_pad_attr_0_pull_en_0_qs; Tests: T1 T2 T3  2929 1/1 reg_rdata_next[3] = manual_pad_attr_0_pull_select_0_qs; Tests: T1 T2 T3  2930 1/1 reg_rdata_next[7] = manual_pad_attr_0_input_disable_0_qs; Tests: T1 T2 T3  2931 end 2932 2933 addr_hit[26]: begin 2934 1/1 reg_rdata_next[2] = manual_pad_attr_1_pull_en_1_qs; Tests: T1 T2 T3  2935 1/1 reg_rdata_next[3] = manual_pad_attr_1_pull_select_1_qs; Tests: T1 T2 T3  2936 1/1 reg_rdata_next[7] = manual_pad_attr_1_input_disable_1_qs; Tests: T1 T2 T3  2937 end 2938 2939 addr_hit[27]: begin 2940 1/1 reg_rdata_next[2] = manual_pad_attr_2_pull_en_2_qs; Tests: T1 T2 T3  2941 1/1 reg_rdata_next[3] = manual_pad_attr_2_pull_select_2_qs; Tests: T1 T2 T3  2942 1/1 reg_rdata_next[7] = manual_pad_attr_2_input_disable_2_qs; Tests: T1 T2 T3  2943 end 2944 2945 addr_hit[28]: begin 2946 1/1 reg_rdata_next[2] = manual_pad_attr_3_pull_en_3_qs; Tests: T1 T2 T3  2947 1/1 reg_rdata_next[3] = manual_pad_attr_3_pull_select_3_qs; Tests: T1 T2 T3  2948 1/1 reg_rdata_next[7] = manual_pad_attr_3_input_disable_3_qs; Tests: T1 T2 T3  2949 end 2950 2951 default: begin 2952 reg_rdata_next = '1; 2953 end 2954 endcase 2955 end 2956 2957 // shadow busy 2958 logic shadow_busy; 2959 assign shadow_busy = 1'b0; 2960 2961 // register busy 2962 unreachable assign reg_busy = shadow_busy; 2963 2964 // Unused signal tieoff 2965 2966 // wdata / byte enable are not always fully used 2967 // add a blanket unused statement to handle lint waivers 2968 logic unused_wdata; 2969 logic unused_be; 2970 1/1 assign unused_wdata = ^reg_wdata; Tests: T1 T2 T3  2971 1/1 assign unused_be = ^reg_be; Tests: T1 T2 T3 
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%