// ========== Copyright Header Begin ========================================== // // OpenSPARC T2 Processor File: tlu.v // Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved // 4150 Network Circle, Santa Clara, California 95054, U.S.A. // // * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; version 2 of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // For the avoidance of doubt, and except that if any non-GPL license // choice is available it will apply instead, Sun elects to use only // the General Public License version 2 (GPLv2) at this time for any // software where a choice of GPL license versions is made // available with the language indicating that GPLv2 or any later version // may be used, or where a choice of which version of the GPL is applied is // otherwise unspecified. // // Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, // CA 95054 USA or visit www.sun.com if you need additional information or // have any questions. // // ========== Copyright Header End ============================================ module tlu ( l2clk, scan_in, tcu_pce_ov, spc_aclk, spc_bclk, tcu_scan_en, tcu_dectest, tcu_muxtest, tcu_array_wr_inhibit, tcu_se_scancollar_in, hver_mask_minor_rev, spc_aclk_wmr, lb_scan_en_wmr, wmr_scan_in, tcu_wmr_vec_mask, cmp_tick_enable, lsu_asi_clken, lsu_tlu_pmen, mbi_tsa0_write_en, mbi_tsa1_write_en, mbi_tca_write_en, mbi_addr, mbi_run, mbi_wdata, mbi_tsa0_read_en, mbi_tsa1_read_en, mbi_tca_read_en, mbi_tlu_cmpsel, tcu_shscan_pce_ov, tcu_shscan_clk_stop, tcu_shscan_aclk, tcu_shscan_bclk, tcu_shscan_scan_in, tcu_shscan_scan_en, tcu_shscanid, tcu_core_running, tcu_ss_mode, tcu_do_mode, tcu_ss_request, ftu_ifu_quiesce, pku_quiesce, ftu_excp_way_d, ftu_excp_tid_d, ftu_excp_way_valid_d, dec_inst0_cnt, dec_inst1_cnt, dec_raw_pick_p, dec_tid0_m, dec_tid1_m, dec_inst_valid_m, dec_lsu_inst_m, dec_fgu_inst_m, dec_illegal_inst_m, dec_exc0_m, dec_exc1_m, dec_done_inst_m, dec_retry_inst_m, dec_sir_inst_m, dec_hpriv_exc_m, dec_priv_exc_m, dec_fpdisable_exc_m, dec_br_taken_m, dec_annul_ds_m, dec_ds_m, dec_icache_perr_m, dec_cti_inst_m, dec_flush_b, exu_ibp_m, exu_tcc_m, exu_tof_m, exu_cecc_m, exu_uecc_m, exu0_ecc_addr_m, exu1_ecc_addr_m, exu0_ecc_check_m, exu1_ecc_check_m, exu_oor_va_m, exu_misalign_m, exu_spill_b, exu_fill_m, exu_normal_b, exu_cleanwin_b, exu0_wstate_b, exu1_wstate_b, exu0_ccr0, exu0_ccr1, exu0_ccr2, exu0_ccr3, exu1_ccr0, exu1_ccr1, exu1_ccr2, exu1_ccr3, exu0_cwp0, exu0_cwp1, exu0_cwp2, exu0_cwp3, exu1_cwp0, exu1_cwp1, exu1_cwp2, exu1_cwp3, exu0_trap_number_b, exu1_trap_number_b, exu_tlu_window_block, exu_address0_e, exu_address1_e, lsu_lddf_align_b, lsu_stdf_align_b, lsu_illegal_inst_b, lsu_daccess_prot_b, lsu_priv_action_b, lsu_va_watchpoint_b, lsu_pa_watchpoint_b, lsu_align_b, lsu_tlb_miss_b_, lsu_dae_invalid_asi_b, lsu_dae_nc_page_b, lsu_dae_nfo_page_b, lsu_dae_priv_viol_b, lsu_dae_so_page, lsu_priv_action_g, lsu_tid_g, lsu_trap_flush, lsu_tlb_bypass_b, lsu_tlb_real_b, lsu_sync_inst_b, lsu_stb_empty, lsu_tlu_twocycle_m, lsu_block_store_b, lsu_dcmh_err_g, lsu_dcvp_err_g, lsu_dctp_err_g, lsu_dcdp_err_g, lsu_dcl2c_err_g, lsu_dcl2u_err_g, lsu_dcl2nd_err_g, lsu_dcsoc_err_g, lsu_dcerr_tid_g, lsu_dcerr_sfar_g, lsu_sbdlc_err_g, lsu_sbdlu_err_g, lsu_sbdpc_err_g, lsu_sbdpu_err_g, lsu_sbapp_err_g, lsu_sbdiou_err_g, lsu_stberr_tid_g, lsu_stberr_index_g, lsu_stberr_priv_g, lsu_stb_flush_g, lsu_dttp_err_b, lsu_dtdp_err_b, lsu_dtmh_err_b, lsu_perfmon_trap_b, lsu_perfmon_trap_g, lsu_va_b, lsu_ext_interrupt, lsu_ext_int_type, lsu_ext_int_vec, lsu_ext_int_tid, l15_spc_data1, l15_spc_cpkt, l15_spc_valid, lsu_asi_error_inject, lsu_rngf_cdbus, fgu_pdist_beat2_fx1, fgu_predict_fx2, fgu_cecc_fx2, fgu_uecc_fx2, fgu_ecc_addr_fx2, fgu_ecc_check_fx2, fgu_fpx_ieee_trap_fw, fgu_fpd_ieee_trap_fw, fgu_fpx_unfin_fw, fgu_fpx_trap_tid_fw, fgu_fpd_unfin_fw, fgu_fpd_idiv0_trap_fw, fgu_fpd_trap_tid_fw, mmu_hw_tw_enable, mmu_write_itlb, mmu_reload_done, mmu_i_unauth_access, mmu_i_tsb_miss, mmu_d_tsb_miss, mmu_i_tte_outofrange, mmu_d_tte_outofrange, mmu_itte_tag_data, mmu_asi_data, mmu_asi_read, mmu_dae_req, mmu_dae_tid, mmu_asi_cecc, mmu_asi_uecc, mmu_asi_tid, mmu_asi_index, mmu_asi_mra_not_sca, mmu_i_l2cerr, mmu_d_l2cerr, mmu_i_eccerr, mmu_d_eccerr, mmu_thr0_err_type, mmu_thr1_err_type, mmu_thr2_err_type, mmu_thr3_err_type, mmu_thr4_err_type, mmu_thr5_err_type, mmu_thr6_err_type, mmu_thr7_err_type, mmu_thr0_err_index, mmu_thr1_err_index, mmu_thr2_err_index, mmu_thr3_err_index, mmu_thr4_err_index, mmu_thr5_err_index, mmu_thr6_err_index, mmu_thr7_err_index, spu_pmu_ma_busy, spu_tlu_cwq_busy, spu_tlu_mamu_err_req, spu_tlu_ma_int_req, spu_tlu_cwq_int_req, spu_tlu_l2_error, pmu_tlu_trap_m, pmu_tlu_debug_event, scan_out, wmr_scan_out, spc_shscan_scan_out, tlu_core_running_status, tlu_ss_complete, tlu_hardstop_request, tlu_softstop_request, tlu_trigger_pulse, tlu_dbg_instr_cmt_grp0, tlu_dbg_instr_cmt_grp1, tlu_flush_ifu, tlu_window_block, tlu_retry_state, tlu_halted, tlu_pc_0_d, tlu_pc_1_d, tlu_flush_exu_b, tlu_ccr_0, tlu_ccr_1, tlu_cwp_0, tlu_cwp_1, tlu_ccr_cwp_0_valid, tlu_ccr_cwp_1_valid, tlu_ccr_cwp_0_tid, tlu_ccr_cwp_1_tid, tlu_gl0, tlu_gl1, tlu_gl2, tlu_gl3, tlu_gl4, tlu_gl5, tlu_gl6, tlu_gl7, tlu_itlb_bypass_e, tlu_flush_lsu_b, tlu_flush_fgu_b, tlu_trap_pc_0, tlu_trap_pc_0_valid, tlu_trap_0_tid, tlu_trap_pc_1, tlu_trap_pc_1_valid, tlu_trap_1_tid, tlu_retry, tlu_ifu_invalidate, tlu_itlb_reload, tlu_itlb_bypass, tlu_release_tte, tlu_rngf_cdbus, tlu_rngf_cdbus_error, tlu_asi_0, tlu_asi_1, tlu_asi_0_valid, tlu_asi_1_valid, tlu_asi_0_tid, tlu_asi_1_tid, tlu_tl_gt_0, tlu_lsu_clear_ctl_reg_, tlu_load_i_tag_access_p, tlu_load_i_tag_access_n, tlu_load_d_tag_access, tlu_load_d_tag_access_r, tlu_npc_w, tlu_pc_0_w, tlu_pc_1_w, tlu_iht_request, tlu_dht_request, tlu_mmu_tl_gt_0, tlu_flush_pmu_b, tlu_flush_pmu_w, tlu_pmu_trap_taken, tlu_pmu_trap_mask_e, tlu_lsu_hpstate_hpriv, tlu_lsu_pstate_priv, tlu_ifu_hpstate_hpriv, tlu_ifu_pstate_priv, tlu_pmu_hpstate_hpriv, tlu_pmu_pstate_priv, tlu_dec_hpstate_hpriv, tlu_dec_pstate_priv, tlu_dec_pstate_pef, tlu_pstate_cle, tlu_pstate_am, tlu_cerer_ittp, tlu_cerer_itdp, tlu_cerer_ittm, tlu_cerer_hwtwmu, tlu_cerer_hwtwl2, tlu_cerer_icl2c, tlu_cerer_icl2u, tlu_cerer_icl2nd, tlu_cerer_irf, tlu_cerer_frf, tlu_cerer_dttp, tlu_cerer_dttm, tlu_cerer_dtdp, tlu_cerer_dcl2c, tlu_cerer_dcl2u, tlu_cerer_dcl2nd, tlu_cerer_sbdlc, tlu_cerer_sbdlu, tlu_cerer_mrau, tlu_cerer_scac, tlu_cerer_scau, tlu_cerer_sbapp, tlu_cerer_l2c_socc, tlu_cerer_l2u_socu, tlu_cerer_icvp, tlu_cerer_ictp, tlu_cerer_ictm, tlu_cerer_icdp, tlu_cerer_dcvp, tlu_cerer_dctp, tlu_cerer_dctm, tlu_cerer_dcdp, tlu_cerer_sbdpc, tlu_cerer_sbdpu, tlu_cerer_mamu, tlu_cerer_mal2c, tlu_cerer_mal2u, tlu_cerer_mal2nd, tlu_cerer_cwql2c, tlu_cerer_cwql2u, tlu_cerer_cwql2nd, tlu_cerer_sbdiou, tlu_ceter_pscce, tlu_tag_access_tid_0_b, tlu_i_tag_access_0_b, tlu_d_tag_access_0_b, tlu_tag_access_tid_1_b, tlu_i_tag_access_1_b, tlu_d_tag_access_1_b, tlu_mbi_tsa0_fail, tlu_mbi_tsa1_fail, tlu_mbi_tca_fail, tlu_spec_enable); wire [30:8] error_inject_unused; wire rd_pce; wire wr_pce; wire bist_clk_mux_sel; wire tcu_scan_en_wmr; wire fls0_wmr_scanin; wire fls0_wmr_scanout; wire fls0_scanin; wire fls0_scanout; wire trl0_shscanid_2; wire [1:0] trl0_shscanid; wire [7:0] cxi_xir; wire [7:0] cxi_ivt; wire [7:0] asi_spec_enable; wire [7:0] asi_immu_enable; wire [7:0] asi_irl_cleared; wire [7:0] asi_halt; wire [7:0] asi_clear_spu_trap_req; wire [7:0] tel_tsacu_exc; wire [1:0] pct0_iaw_exc_e; wire [3:2] pct_npc_0_w; wire [3:2] pct_npc_1_w; wire [3:2] pct_npc_2_w; wire [3:2] pct_npc_3_w; wire [1:0] pct_pc_oor_va_e; wire [7:0] trl_tl_eq_0; wire [7:0] trl_pil_mask_15; wire [7:0] trl_iln_exc; wire [7:0] trl_hstick_match; wire [7:0] trl_unhalt_; wire [7:0] trl_tlz_exc; wire [7:0] trl_nns_exc; wire [7:0] trl_ssc_exc; wire [7:0] trl_invalidate_pc; wire [7:0] trl_invalidate_npc; wire [7:0] trl_pc_sel_trap_pc; wire [7:0] trl_fls_npc_en; wire [7:0] trl_trap_taken; wire trl0_take_sma; wire trl0_take_cwq; wire trl0_take_xir; wire trl0_take_ftt; wire [7:0] trl_core_running_status; wire [4:0] trl0_tsa_wr_addr; wire [7:0] tlu_ceter_de; wire [7:0] tlu_ceter_dhcce; wire [7:0] tsd_hpstate_ibe; wire [7:0] tsd_hpstate_hpriv; wire [7:0] tsd_hpstate_red; wire [7:0] tsd_pstate_tct; wire [7:0] tsd_pstate_priv; wire [7:0] tsd_pstate_ie; wire [7:0] tsd_pstate_am; wire [7:0] tsd_itlb_bypass; wire tsd0_mrqr_exc_; wire tsd0_dqr_exc_; wire [7:0] asi_check_qr_exc; wire [7:0] dfd_fls_desr_f; wire [7:0] dfd_fls_desr_s; wire [7:0] ras_precise_error; wire [7:0] ras_disrupting_error; wire [7:0] ras_deferred_error; wire fls0_spc_hardstop_request; wire fls0_spc_softstop_request; wire fls0_spc_trigger_pulse; wire tlu_flush_lsu_b_unused; wire tlu_flush_fgu_b_unused; wire fls0_flush_lsu_b; wire fls0_flush_fgu_b; wire [1:0] fls0_tid_d; wire [3:0] fls0_tid_dec_b; wire [3:0] fls0_tid_dec_w; wire [7:0] fls_pc_sel_npc; wire [7:0] fls_pc_sel_npc_plus_4; wire [7:0] fls_npc_sel_npc_plus_4; wire [7:0] fls_npc_sel_npc_plus_8; wire [7:0] fls_npc_sel_target; wire fls0_npc_b_sel_npc; wire fls0_pc_is_npc; wire [1:0] fls_pstate_am_d_; wire [1:0] fls_pstate_am_b_; wire [1:0] fls_pstate_am_w_; wire fls0_lsu_inst_w_unused; wire fls0_dfd_lsu_inst_b; wire [2:0] fls_wstate0; wire [2:0] fls_wstate1; wire [2:0] fls_wstate2; wire [2:0] fls_wstate3; wire [7:0] fls_tcc_number_0; wire [7:0] fls_tcc_number_1; wire [7:0] fls_tcc_number_2; wire [7:0] fls_tcc_number_3; wire [7:0] fls_tid_dec_w_in; wire [7:0] fls_por_request; wire [7:0] fls_xir_request; wire [7:0] fls_ivt_request; wire [7:0] fls_sir_request; wire [7:0] fls_itm_request; wire [7:0] fls_iln_request; wire [7:0] fls_hst_request; wire [7:0] fls_tlz_request; wire [7:0] fls_sma_request; wire [7:0] fls_cwq_request; wire [7:0] fls_ade_request; wire [7:0] fls_iae_request; wire [7:0] fls_ipe_request; wire [1:0] fls_ipv_request; wire [1:0] fls_inp_request; wire [1:0] fls_iar_request; wire [1:0] fls_irr_request; wire [1:0] fls_mar_request; wire [1:0] fls_mrr_request; wire [1:0] fls_pro_request; wire [1:0] fls_ill_request; wire [1:0] fls_don_request; wire [1:0] fls_ret_request; wire [1:0] fls_fpd_request; wire [1:0] fls_snn_request; wire [1:0] fls_sno_request; wire [1:0] fls_fnn_request; wire [1:0] fls_fno_request; wire [1:0] fls_clw_request; wire [7:0] fls_dtm_request; wire [1:0] fls_ldf_request; wire [1:0] fls_stf_request; wire [1:0] fls_dap_request; wire [1:0] fls_vaw_request; wire [1:0] fls_iaw_request; wire [1:0] fls_paw_request; wire [1:0] fls_maa_request; wire [1:0] fls_fpe_request; wire [7:0] fls_fei_request; wire [7:0] fls_fof_request; wire [7:0] fls_pra_request; wire [1:0] fls_dia_request; wire [7:0] fls_ups_request; wire [1:0] fls_dpv_request; wire [1:0] fls_dnc_request; wire [1:0] fls_dnf_request; wire [1:0] fls_dso_request; wire [1:0] fls_tof_request; wire [7:0] fls_dbz_request; wire [1:0] fls_tcc_request; wire [7:0] fls_dae_request; wire [7:0] fls_lsr_request; wire [1:0] fls_irt_request; wire [1:0] fls_drt_request; wire [7:0] fls_pmu_request; wire [7:0] fls_mqr_request; wire [7:0] fls_dqr_request; wire [7:0] fls_rqr_request; wire [7:0] fls_idl_request; wire [7:0] fls_res_request; wire [7:0] fls_ssr_request; wire [7:0] fls_ssc_request; wire [7:0] fls_nns_request; wire [7:0] fls_ime_request; wire [7:0] fls_dme_request; wire [7:0] fls_eer_request; wire [1:0] fls_icp_request; wire [7:0] fls_ftt_request; wire [1:0] fls_ibp_request; wire [1:0] fls_tct_request; wire [1:0] fls_ref_request; wire [1:0] fls_ipe_dme_request; wire [7:0] fls_pc_valid; wire [7:0] fls_load_dsfar; wire [1:0] fls_irf_cecc_b; wire [1:0] fls_irf_uecc_b; wire [1:0] fls_kill_irf_ecc_w; wire [2:0] fls0_cwp0; wire [2:0] fls0_cwp1; wire [2:0] fls0_cwp2; wire [2:0] fls0_cwp3; wire [7:0] fls_core_running; wire fls_ss_request; wire [7:0] fls_pct_pc_en; wire [7:0] fls_pct_npc_en; wire [7:0] fls_trl_l1en; wire [4:2] fls0_npc_if_cnt_eq_1_d; wire [4:2] fls0_npc_if_cnt_eq_2_d; wire [4:2] fls0_npc_if_cnt_eq_3_d; wire [7:0] fls_flush; wire [1:0] fls_disrupting_flush_w; wire fls_f_cecc_w; wire fls_f_uecc_w; wire [1:0] fls_ss_update_pc_w; wire fls1_wmr_scanin; wire fls1_wmr_scanout; wire fls1_scanin; wire fls1_scanout; wire trl1_shscanid_2; wire [1:0] trl1_shscanid; wire [1:0] pct1_iaw_exc_e; wire [3:2] pct_npc_4_w; wire [3:2] pct_npc_5_w; wire [3:2] pct_npc_6_w; wire [3:2] pct_npc_7_w; wire trl1_take_sma; wire trl1_take_cwq; wire trl1_take_xir; wire trl1_take_ftt; wire [4:0] trl1_tsa_wr_addr; wire tsd1_mrqr_exc_; wire tsd1_dqr_exc_; wire fls1_spc_hardstop_request; wire fls1_spc_softstop_request; wire fls1_spc_trigger_pulse; wire fls1_flush_lsu_b_unused; wire fls1_flush_fgu_b_unused; wire [1:0] fls1_tid_d; wire [3:0] fls1_tid_dec_b; wire [3:0] fls1_tid_dec_w; wire fls1_npc_b_sel_npc; wire fls1_pc_is_npc; wire fls1_lsu_inst_w; wire fls1_dfd_lsu_inst_b; wire [2:0] fls_wstate4; wire [2:0] fls_wstate5; wire [2:0] fls_wstate6; wire [2:0] fls_wstate7; wire [7:0] fls_tcc_number_4; wire [7:0] fls_tcc_number_5; wire [7:0] fls_tcc_number_6; wire [7:0] fls_tcc_number_7; wire [2:0] fls1_cwp0; wire [2:0] fls1_cwp1; wire [2:0] fls1_cwp2; wire [2:0] fls1_cwp3; wire fls_ss_request_unused; wire [4:2] fls1_npc_if_cnt_eq_1_d; wire [4:2] fls1_npc_if_cnt_eq_2_d; wire [4:2] fls1_npc_if_cnt_eq_3_d; wire fls_f_cecc_w_unused; wire fls_f_uecc_w_unused; wire pct0_wmr_scanin; wire pct0_wmr_scanout; wire pct0_scanin; wire pct0_scanout; wire [47:2] tic_exu_address0_m; wire [7:0] asi_rd_pc; wire [1:0] asi_wr_iaw; wire [63:0] asi_wr_data_0; wire [7:0] trl_npc_sel_trap_npc; wire [7:0] trl_npc_sel_tnpc; wire [8:0] trl0_trap_type; wire [3:0] trl0_pc_thread_sel; wire [1:0] trl_pc_pstate_am_; wire [1:0] trl_pc_sel_pc; wire [1:0] trl_pc_sel_npc; wire [1:0] trl_pc_sel_trap; wire [1:0] trl_pc_sel_reset; wire [1:0] trl_pc_done; wire [1:0] trl_pc_retry; wire [1:0] trl_pc_tte; wire [1:0] trl_pct_trap_pc_en; wire [1:0] trl_pct_tnpc_en; wire [47:14] tsd0_tba; wire [47:2] tsd0_tpc; wire [1:0] tsd_tpc_oor_va; wire [47:2] tsd0_tnpc; wire [1:0] tsd_tnpc_oor_va; wire [1:0] tsd_tnpc_nonseq; wire [47:2] tsd0_asi_data_; wire [48:2] pct0_asi_data; wire [47:2] pct0_tsa_pc; wire [1:0] pct_tsa_pc_oor_va; wire [47:2] pct0_tsa_npc; wire [1:0] pct_tsa_npc_oor_va; wire [1:0] pct_tsa_npc_nonseq; wire [7:0] pct_npc_is_nonseq; wire [47:2] pct0_shadow_pc_d; wire [47:2] pct0_npc_w; wire [47:2] pct0_target_b; wire [16:0] pct0_trl_wr_data; wire [10:5] tsd_pc_0_w; wire [47:2] tlu_pc_0_prebuf_d; wire pct1_wmr_scanin; wire pct1_wmr_scanout; wire pct1_scanin; wire pct1_scanout; wire [47:2] tic_exu_address1_m; wire [62:0] asi_wr_data_1; wire [8:0] trl1_trap_type; wire [3:0] trl1_pc_thread_sel; wire [47:14] tsd1_tba; wire [47:2] tsd1_tpc; wire [47:2] tsd1_tnpc; wire [47:2] tsd1_asi_data_; wire [48:2] pct1_asi_data; wire [47:2] pct1_tsa_pc; wire [47:2] pct1_tsa_npc; wire [47:2] pct1_shadow_pc_d; wire [47:2] pct1_npc_w; wire [47:2] pct1_target_b; wire [16:0] pct1_trl_wr_data; wire [10:5] tsd_pc_1_w; wire cxi_scanin; wire cxi_scanout; wire [13:1] l15_spc_cpkt_unused; wire [13:6] l15_spc_data1_unused; wire cth_wmr_scanin; wire cth_wmr_scanout; wire cth_scanin; wire cth_scanout; wire trl0_wmr_scanin; wire trl0_wmr_scanout; wire trl0_scanin; wire trl0_scanout; wire trl1_itw_last; wire [1:0] tsa0_gl; wire [1:0] tsa_tnpc_nonseq; wire [7:0] tsd_hpstate_tlz; wire [1:0] tsd_htstate_hpriv; wire [7:0] asi_rd_tl; wire [7:0] asi_wr_tl; wire [7:0] asi_rd_pil; wire [7:0] asi_wr_pil; wire [7:0] asi_rd_gl; wire [7:0] asi_wr_gl; wire [7:0] asi_wr_set_softint; wire [7:0] asi_wr_clear_softint; wire [7:0] asi_rd_softint; wire [7:0] asi_wr_softint; wire [7:0] asi_rd_hintp; wire [7:0] asi_wr_hintp; wire [1:0] asi_preempt_trap; wire [1:0] asi_preempt_done_retry; wire [1:0] asi_rmw_tsa; wire [7:0] asi_wr_asireg; wire [1:0] asi_trl_pstate_en; wire [1:0] asi_mbist_tsa_rd_en; wire [1:0] asi_mbist_tsa_wr_en; wire [8:0] trl0_tsa_trap_type; wire [4:0] trl0_asireg_sel; wire trl0_asireg_en; wire [3:0] trl0_thread_sel; wire [2:0] trl0_tba_sel; wire [4:0] trl0_pstate_thread_sel; wire [3:0] trl0_don_ret_pstate_sel; wire trl0_pstate_en; wire [1:0] trl_reset_trap; wire [1:0] trl_other_trap; wire [1:0] trl_stay_in_priv; wire [1:0] trl_tsa_wr_en_pre; wire [1:0] trl_tsa_rd_en; wire [4:0] trl0_tsa_rd_addr; wire trl0_save_tsa; wire trl0_tsd_tsa_en; wire trl0_tsd_tsa_wd_en; wire trl0_capture_ss; wire trl0_rmw_tsa; wire [1:0] trl_tl_gt_0; wire [1:0] trl0_tsa_gl; wire [16:0] trl0_asi_data; wire [7:0] trl_ss_complete; wire trl0_itw_wait; wire trl0_itw_last; wire [2:0] trl0_shadow_tl; wire [2:0] trl0_tl_for_tt; wire [1:0] trl_tel_en; wire [1:0] trl_gl0; wire [1:0] trl_gl1; wire [1:0] trl_gl2; wire [1:0] trl_gl3; wire [7:0] trl_tsacu_en_in; wire [2:0] tlu_tsa_index_0; wire [7:0] tlu_tccd; wire [7:0] tlu_tcud; wire [1:0] tlu_tca_index_0; wire trl1_wmr_scanin; wire trl1_wmr_scanout; wire trl1_scanin; wire trl1_scanout; wire [1:0] tsa1_gl; wire [8:0] trl1_tsa_trap_type; wire [4:0] trl1_asireg_sel; wire trl1_asireg_en; wire [3:0] trl1_thread_sel; wire [2:0] trl1_tba_sel; wire [4:0] trl1_pstate_thread_sel; wire [3:0] trl1_don_ret_pstate_sel; wire trl1_pstate_en; wire [4:0] trl1_tsa_rd_addr; wire trl1_save_tsa; wire trl1_tsd_tsa_en; wire trl1_tsd_tsa_wd_en; wire trl1_capture_ss; wire trl1_rmw_tsa; wire [1:0] trl1_tsa_gl; wire [16:0] trl1_asi_data; wire trl1_itw_wait_unused; wire [2:0] trl1_shadow_tl; wire [2:0] trl1_tl_for_tt; wire [1:0] trl_gl4; wire [1:0] trl_gl5; wire [1:0] trl_gl6; wire [1:0] trl_gl7; wire [2:0] tlu_tsa_index_1; wire [1:0] tlu_tca_index_1; wire [135:0] teg0_data_in; wire [1:0] tsd_wr_tpc_oor_va; wire [1:0] tsd_wr_tnpc_oor_va; wire [1:0] tsd_wr_tnpc_nonseq; wire [1:0] tsd0_wr_gl; wire [29:0] tsd0_wr_data; wire [8:0] tsd0_wr_trap_type; wire [47:2] tsd0_wr_tpc; wire [47:2] tsd0_wr_tnpc; wire [15:0] teg0_ecc; wire asi_error_tsau; wire [7:0] asi_mbist_tsa_ecc_in; wire [15:0] tem0_ecc; wire tel0_scanin; wire tel0_scanout; wire [1:0] asi_mbist_tel_en; wire [15:0] tsa0_ecc; wire [15:0] ted0_syndrome; wire ted00_cecc_err; wire ted00_uecc_err; wire ted00_uecc_err_; wire ted01_cecc_err; wire ted01_uecc_err; wire ted01_uecc_err_; wire [15:0] tel0_syndrome; wire [15:0] tel0_ecc; wire [15:0] tel0_crit_ecc; wire tel0_tsac; wire tel0_tsau; wire [7:0] tlu_tsac; wire [7:0] tlu_tsau; wire [135:0] tsd0_ted_mra_rd_data; wire tlu_cerer_tsac; wire tlu_cerer_tsau; wire [1:0] asi_tsacu; wire [135:0] tsb0_data_out; wire [1:0] trl_tsa_wr_en; wire tsa0_scanin; wire tsa0_scanout; wire [1:0] tsa_tpc_oor_va; wire [1:0] tsa_tnpc_oor_va; wire [29:0] tsa0_rd_data; wire [8:0] tsa0_trap_type; wire [47:2] tsa0_tpc; wire [47:2] tsa0_tnpc; wire [135:0] teg1_data_in; wire [1:0] tsd1_wr_gl; wire [29:0] tsd1_wr_data; wire [8:0] tsd1_wr_trap_type; wire [47:2] tsd1_wr_tpc; wire [47:2] tsd1_wr_tnpc; wire [15:0] teg1_ecc; wire [15:0] tem1_ecc; wire tel1_scanin; wire tel1_scanout; wire [15:0] tsa1_ecc; wire [15:0] ted1_syndrome; wire ted10_cecc_err; wire ted10_uecc_err; wire ted10_uecc_err_; wire ted11_cecc_err; wire ted11_uecc_err; wire ted11_uecc_err_; wire [15:0] tel1_syndrome; wire [15:0] tel1_ecc; wire [15:0] tel1_crit_ecc; wire tel1_tsac; wire tel1_tsau; wire [135:0] tsd1_ted_mra_rd_data; wire [135:0] tsb1_data_out; wire tsa1_scanin; wire tsa1_scanout; wire [29:0] tsa1_rd_data; wire [8:0] tsa1_trap_type; wire [47:2] tsa1_tpc; wire [47:2] tsa1_tnpc; wire tsd0_wmr_scanin; wire tsd0_wmr_scanout; wire tsd0_scanin; wire tsd0_scanout; wire [1:0] asi_wr_mondo_head; wire [1:0] asi_wr_mondo_tail; wire [1:0] asi_wr_device_head; wire [1:0] asi_wr_device_tail; wire [1:0] asi_wr_res_err_head; wire [1:0] asi_wr_res_err_tail; wire [1:0] asi_wr_nonres_err_head; wire [1:0] asi_wr_nonres_err_tail; wire [1:0] asi_rd_iqr_reg; wire [1:0] asi_rd_tpc; wire [1:0] asi_wr_tpc; wire [1:0] asi_rd_tnpc; wire [1:0] asi_wr_tnpc; wire [1:0] asi_rd_tstate; wire [1:0] asi_wr_tstate; wire [1:0] asi_rd_tt; wire [1:0] asi_wr_tt; wire [1:0] asi_rd_htstate; wire [1:0] asi_wr_htstate; wire [7:0] asi_wr_tba; wire [7:0] asi_wr_pstate; wire [7:0] asi_wr_hpstate; wire [7:0] asi_wr_htba; wire [7:0] asi_rd_asireg; wire [1:0] asi_rd_tba_htba; wire [1:0] asi_rd_pstate_hpstate; wire asi_tsd0_wr_data_12; wire [10:8] asi_tsd0_wr_data_10_08; wire [5:0] asi_tsd0_wr_data_05_00; wire [1:0] tsd0_asi_data; wire [10:0] tsd0_shadow_pstate; wire [47:2] tsd0_shadow_tpc; wire [8:0] tsd0_shadow_tt; wire [31:0] tsd0_mbist_data; wire tsd1_wmr_scanin; wire tsd1_wmr_scanout; wire tsd1_scanin; wire tsd1_scanout; wire asi_tsd1_wr_data_12; wire [10:8] asi_tsd1_wr_data_10_08; wire [5:0] asi_tsd1_wr_data_05_00; wire [1:0] tsd1_asi_data; wire [10:0] tsd1_shadow_pstate; wire [47:2] tsd1_shadow_tpc; wire [8:0] tsd1_shadow_tt; wire [31:0] tsd1_mbist_data; wire asi_wmr_scanin; wire asi_wmr_scanout; wire asi_scanin; wire asi_scanout; wire tic_scanin; wire tic_scanout; wire tca_scanin; wire tca_scanout; wire [4:0] tic_cmpr_addr; wire tic_cmpr_rd_en; wire tic_cmpr_wr_en; wire [7:0] cem_ecc; wire asi_tca_wr_data_63; wire [7:0] tca_ecc; wire [63:0] tca_cmpr_data_in; wire cep_scanin; wire cep_scanout; wire [63:0] cep_wr_data; wire [7:0] ceg_ecc; wire asi_error_tccu; wire cel_scanin; wire cel_scanout; wire [63:0] tic_cmpr_data; wire [7:0] cel_crit_ecc; wire [7:0] ced_syndrome; wire ced_cecc_err; wire ced_uecc_err; wire ced_uecc_err__unused; wire cer_scanin; wire cer_scanout; wire ras_wmr_scanin; wire ras_wmr_scanout; wire ras_scanin; wire ras_scanout; wire [61:0] cth_wr_data; wire dfd_wmr_scanin; wire dfd_wmr_scanout; wire dfd_scanin; wire dfd_scanout; wire sse_scanin; wire sse_scanout; wire shscan_l2clk; wire asi_ece_exc; wire asi_eue_exc; wire [2:0] asi_ecc_tid; wire [63:46] asi_decr; wire asi_rd_iaw; wire [63:0] cth_irl_cleared; wire tlu_cerer_l2nd; wire [7:0] cxi_wr_int_dis; wire [5:0] cxi_int_dis_vec; wire cxi_l2_soc_sre; wire [1:0] cxi_l2_soc_err_type; wire [2:0] cxi_l2_soc_tid; wire cxi_l2_err; wire cxi_soc_err; wire [7:0] asi_wr_int_rec; wire [7:0] asi_rd_inc_vec_2; wire [2:0] asi_int_rec_mux_sel_in; wire asi_rd_int_rec; wire asi_rd_inc_vec; wire asi_wr_any_int_rec; wire asi_rd_stage_1; wire [47:0] dfd_asi_data; wire [18:0] dfd_asi_desr; wire [63:0] cth_asi_data; wire [4:0] tic_addr; wire tic_not_valid; wire tic_match; wire cel_tccd; wire cel_tcud; wire [4:0] asi_tsa_rd_addr; wire asi_tsa_rd_iqr_ecc; wire [1:0] asi_tsa_tid; wire [4:0] asi_mbist_addr; wire [7:0] asi_error_mask; wire asi_mbist_run; wire [2:0] asi_rd_iqr; wire [2:0] asi_rd_h_pstate_tba; wire [47:0] asi_tsa_wr_data; wire asi_tsa_wr_data_npc_oor_va; wire asi_tsa_wr_data_npc_nonseq; wire [7:0] asi_mbist_ecc_in; wire [3:0] asi_mbist_cmpsel; wire mbd_compare; wire [63:0] tic_asi_data; wire [7:0] cel_ecc; wire [63:0] cer_asi_data; wire cel_tccp; wire cel_tcup; wire [7:0] dfd_desr_f; wire [7:0] dfd_fesr_f; wire asi_rd_tick; wire asi_wr_tick; wire [4:0] asi_tca_addr; wire asi_tca_addr_valid; wire asi_tca_wr; wire asi_rd_cerer; wire asi_rd_ceter; wire asi_wr_cerer; wire [2:0] asi_ceter_tid; wire asi_wr_ceter; wire [2:0] asi_rd_tid; wire asi_rd_isfsr; wire asi_rd_dsfsr; wire asi_rd_dsfar; wire asi_rd_desr; wire asi_rd_fesr; wire [7:0] asi_wr_isfsr; wire [7:0] asi_wr_dsfsr; wire [7:0] asi_wr_dsfar; wire asi_tsac; wire asi_tsau; wire [2:0] asi_tsacu_tid; wire asi_stg1_en; wire [7:0] asi_mbd_compare_data; wire asi_mbd_sel_tsd0; wire asi_mbd_sel_tsd1; wire asi_mbd_sel_tic; wire asi_tccup_in; wire asi_tccud_in; wire [2:0] tlu_tca_tid; wire [1:0] tlu_tca_index; wire [31:0] tic_mbist_data; wire [1:0] tic_exu_address0_b; wire [1:0] tic_exu_address1_b; wire tlu_cerer_tccp; wire tlu_cerer_tcup; wire tlu_cerer_tccd; wire tlu_cerer_tcud; wire [7:0] cel_syndrome; wire [7:0] dfd_desr_s; wire [1:0] dfd_fesr_priv_0; wire [1:0] dfd_fesr_priv_1; wire [1:0] dfd_fesr_priv_2; wire [1:0] dfd_fesr_priv_3; wire [1:0] dfd_fesr_priv_4; wire [1:0] dfd_fesr_priv_5; wire [1:0] dfd_fesr_priv_6; wire [1:0] dfd_fesr_priv_7; wire [3:0] ras_asi_data; wire [19:0] ras_dsfar_0; wire [19:0] ras_dsfar_1; wire [19:0] ras_dsfar_2; wire [19:0] ras_dsfar_3; wire [19:0] ras_dsfar_4; wire [19:0] ras_dsfar_5; wire [19:0] ras_dsfar_6; wire [19:0] ras_dsfar_7; wire [7:0] ras_dsfar_sel_lsu_va; wire [7:0] ras_dsfar_sel_ras; wire [7:0] ras_dsfar_sel_tsa; wire [7:0] ras_rd_dsfar; wire [61:56] ras_desr_et_0; wire [61:56] ras_desr_et_1; wire [61:56] ras_desr_et_2; wire [61:56] ras_desr_et_3; wire [61:56] ras_desr_et_4; wire [61:56] ras_desr_et_5; wire [61:56] ras_desr_et_6; wire [61:56] ras_desr_et_7; wire [10:0] ras_desr_ea_0; wire [10:0] ras_desr_ea_1; wire [10:0] ras_desr_ea_2; wire [10:0] ras_desr_ea_3; wire [10:0] ras_desr_ea_4; wire [10:0] ras_desr_ea_5; wire [10:0] ras_desr_ea_6; wire [10:0] ras_desr_ea_7; wire ras_desr_me_0; wire ras_desr_me_1; wire ras_desr_me_2; wire ras_desr_me_3; wire ras_desr_me_4; wire ras_desr_me_5; wire ras_desr_me_6; wire ras_desr_me_7; wire [7:0] ras_desr_en; wire [7:0] ras_write_desr_1st; wire [7:0] ras_write_desr_2nd; wire [7:0] ras_rd_desr; wire [61:60] ras_fesr_et_0; wire [61:60] ras_fesr_et_1; wire [61:60] ras_fesr_et_2; wire [61:60] ras_fesr_et_3; wire [61:60] ras_fesr_et_4; wire [61:60] ras_fesr_et_5; wire [61:60] ras_fesr_et_6; wire [61:60] ras_fesr_et_7; wire [59:55] ras_fesr_ea_0; wire [59:55] ras_fesr_ea_1; wire [59:55] ras_fesr_ea_2; wire [59:55] ras_fesr_ea_3; wire [59:55] ras_fesr_ea_4; wire [59:55] ras_fesr_ea_5; wire [59:55] ras_fesr_ea_6; wire [59:55] ras_fesr_ea_7; wire [7:0] ras_fesr_en; wire [7:0] ras_write_fesr; wire [59:58] ras_fesr_priv; wire [7:0] ras_update_priv; wire [7:0] ras_rd_fesr; wire sse_shscan_clk_stop; wire [47:2] sse_shadow_pc; input l2clk; input scan_in; input tcu_pce_ov; input spc_aclk; input spc_bclk; input tcu_scan_en; input tcu_dectest; input tcu_muxtest; input tcu_array_wr_inhibit; input tcu_se_scancollar_in; input [3:0] hver_mask_minor_rev; // Input to spc for easy metal change input spc_aclk_wmr; // Warm reset (non)scan input lb_scan_en_wmr; input wmr_scan_in; // RSTVADDR (POR address) control input tcu_wmr_vec_mask; // TICK register enable input cmp_tick_enable; input lsu_asi_clken; // Power management input lsu_tlu_pmen; // Power management // MBIST input mbi_tsa0_write_en; // MBIST write control input mbi_tsa1_write_en; // MBIST write control input mbi_tca_write_en; // MBIST write control input [4:0] mbi_addr; // 32 entry addressability for MBIST input mbi_run; // Select MBIST controls input [7:0] mbi_wdata; // MBIST write data input mbi_tsa0_read_en; // MBIST read control input mbi_tsa1_read_en; // MBIST read control input mbi_tca_read_en; // MBIST read control input [3:0] mbi_tlu_cmpsel; // Mux (NPE) between 32 bit chunks input tcu_shscan_pce_ov; // Shadow scan controls input tcu_shscan_clk_stop; input tcu_shscan_aclk; input tcu_shscan_bclk; input tcu_shscan_scan_in; input tcu_shscan_scan_en; input [2:0] tcu_shscanid; // Select which thread to shadow input [7:0] tcu_core_running; input tcu_ss_mode; // Core is in single step mode input tcu_do_mode; // Core is in disable overlap mode input tcu_ss_request; // Enabled threads should single step input [7:0] ftu_ifu_quiesce; input [7:0] pku_quiesce; input [2:0] ftu_excp_way_d; input [2:0] ftu_excp_tid_d; input ftu_excp_way_valid_d; input [1:0] dec_inst0_cnt; // Count of instructions in E, M, B input [1:0] dec_inst1_cnt; // Count of instructions in E, M, B input [7:0] dec_raw_pick_p; // Decoded TID for instructions at P input [1:0] dec_tid0_m; // TID for instruction in TG0 at M input [1:0] dec_tid1_m; // TID for instruction in TG1 at M input [1:0] dec_inst_valid_m; // Valid instruction input [1:0] dec_lsu_inst_m; // LSU instruction input [1:0] dec_fgu_inst_m; // FGU instruction input [1:0] dec_illegal_inst_m; // Illegal instruction input [4:0] dec_exc0_m; // Exceptions before the ibuffer input [4:0] dec_exc1_m; // Exceptions before the ibuffer input [1:0] dec_done_inst_m; // DONE input [1:0] dec_retry_inst_m; // RETRY input [1:0] dec_sir_inst_m; // Software initiated reset input [1:0] dec_hpriv_exc_m; // Instruction has hyperprivilege exc input [1:0] dec_priv_exc_m; // Instruction has privilege exc input [1:0] dec_fpdisable_exc_m; // Floating-point disabled exception input [1:0] dec_br_taken_m; // Branch in M is taken input [1:0] dec_annul_ds_m; // Branch in M annuls delay slot input [1:0] dec_ds_m; // Instruction is in a delay slot input [1:0] dec_icache_perr_m; // Icache data array had parity error input [1:0] dec_cti_inst_m; input [1:0] dec_flush_b; // Flush instruction in B input [1:0] exu_ibp_m; // Instruction breakpoint input [1:0] exu_tcc_m; // Trap on condition codes input [1:0] exu_tof_m; // Tag overflow (TADccTV, TSUBccTV) input [1:0] exu_cecc_m; // Correctable ECC error on source input [1:0] exu_uecc_m; // Uncorrectable ECC error on source input [4:0] exu0_ecc_addr_m; // Address for ECC error input [4:0] exu1_ecc_addr_m; // Address for ECC error input [7:0] exu0_ecc_check_m; // ECC bits input [7:0] exu1_ecc_check_m; // ECC bits input [1:0] exu_oor_va_m; // VA is out of range input [1:0] exu_misalign_m; // Misaligned address for JMPL, RETURN input [1:0] exu_spill_b; input [1:0] exu_fill_m; input [1:0] exu_normal_b; input [1:0] exu_cleanwin_b; input [2:0] exu0_wstate_b; input [2:0] exu1_wstate_b; input [7:0] exu0_ccr0; input [7:0] exu0_ccr1; input [7:0] exu0_ccr2; input [7:0] exu0_ccr3; input [7:0] exu1_ccr0; input [7:0] exu1_ccr1; input [7:0] exu1_ccr2; input [7:0] exu1_ccr3; input [2:0] exu0_cwp0; input [2:0] exu0_cwp1; input [2:0] exu0_cwp2; input [2:0] exu0_cwp3; input [2:0] exu1_cwp0; input [2:0] exu1_cwp1; input [2:0] exu1_cwp2; input [2:0] exu1_cwp3; input [7:0] exu0_trap_number_b; // Bits 7:0 of the ALU result input [7:0] exu1_trap_number_b; input [1:0] exu_tlu_window_block; // EXU needs hole for CWP change input [47:0] exu_address0_e; // Target address for branch in TG0 input [47:0] exu_address1_e; // Target address for branch in TG1 input lsu_lddf_align_b; input lsu_stdf_align_b; input lsu_illegal_inst_b; input lsu_daccess_prot_b; input lsu_priv_action_b; input lsu_va_watchpoint_b; input lsu_pa_watchpoint_b; input lsu_align_b; // Alignment exception input lsu_tlb_miss_b_; // TLB miss input lsu_dae_invalid_asi_b; input lsu_dae_nc_page_b; input lsu_dae_nfo_page_b; input lsu_dae_priv_viol_b; input lsu_dae_so_page; input lsu_priv_action_g; input [2:0] lsu_tid_g; // TID for exceptions from G input [7:0] lsu_trap_flush; // Flush thread and redirect to NPC input lsu_tlb_bypass_b; // TLB in bypass mode input lsu_tlb_real_b; // TLB doing RA->PA translation input lsu_sync_inst_b; // Instruction will get a trap flush input [7:0] lsu_stb_empty; // Store buffer empty (for entering RED) input lsu_tlu_twocycle_m; // LSU takes extra cycle on this inst input [7:0] lsu_block_store_b; // LSU reads FRF for block store input lsu_dcmh_err_g; // LSU data cache multiple hit input lsu_dcvp_err_g; // LSU data cache valid parity error input lsu_dctp_err_g; // LSU data cache tag parity error input lsu_dcdp_err_g; // LSU data cache parity error input lsu_dcl2c_err_g; // LSU data cache L2 correctable ECC input lsu_dcl2u_err_g; // LSU data cache L2 uncorrectable ECC input lsu_dcl2nd_err_g; // LSU data cache L2 NotData input lsu_dcsoc_err_g; // LSU data cache SOC error input [2:0] lsu_dcerr_tid_g; // TID for G stage errors (above) input [8:0] lsu_dcerr_sfar_g; // DSFAR data for data cache errors input lsu_sbdlc_err_g; // STB RAW error (CE) input lsu_sbdlu_err_g; // STB RAW error (UE) input lsu_sbdpc_err_g; // STB read for issue data (CE) input lsu_sbdpu_err_g; // STB read for issue data (UE) input lsu_sbapp_err_g; // STB read for issue addr parity error input lsu_sbdiou_err_g; // STB read for issue IO/ext ASI parity input [2:0] lsu_stberr_tid_g; // TID of STB error input [2:0] lsu_stberr_index_g; // Index of STB error input [1:0] lsu_stberr_priv_g; // Privilege level for STB entry input lsu_stb_flush_g; // STB entry flushed STB (capture priv) input lsu_dttp_err_b; // DTLB tag parity error input lsu_dtdp_err_b; // DTLB data parity error input lsu_dtmh_err_b; // DTLB data parity error input lsu_perfmon_trap_b; // Take pic_overflow on this instruction input lsu_perfmon_trap_g; // Take pic_overflow on this instruction input [47:0] lsu_va_b; // For DSFAR input lsu_ext_interrupt; // Write to interrupt vector dispatch input [1:0] lsu_ext_int_type; // Type for CPX packet input [5:0] lsu_ext_int_vec; // Interrupt vector input [2:0] lsu_ext_int_tid; input [15:0] l15_spc_data1; // Lowest 16 bits of return data from L2 input [17:0] l15_spc_cpkt; // Control part of cpx packet // NOTE: 17:13 == 144:140 // 12 is always 1'b0 // 11:0 == 139:128 input l15_spc_valid; input [31:0] lsu_asi_error_inject; // 31:Enb 22:TCCU 21:TSAU 7:0 ECCMASK input [64:0] lsu_rngf_cdbus; // control/data bus from lsu input fgu_pdist_beat2_fx1; // Second part of PDIST in FX1 input fgu_predict_fx2; // Exception predicted input fgu_cecc_fx2; // Correctable ECC Error on FRF input fgu_uecc_fx2; // Uncorrectable ECC Error on FRF input [5:0] fgu_ecc_addr_fx2; // Address for ECC error input [13:0] fgu_ecc_check_fx2; // ECC bits input fgu_fpx_ieee_trap_fw; // IEEE 754 trap exception input fgu_fpd_ieee_trap_fw; // IEEE 754 trap exception input fgu_fpx_unfin_fw; // Other FGU exception input [2:0] fgu_fpx_trap_tid_fw; // TID for FGU exceptions other than div input fgu_fpd_unfin_fw; // Other divide exception input fgu_fpd_idiv0_trap_fw; input [2:0] fgu_fpd_trap_tid_fw; // TID for divide exception input [7:0] mmu_hw_tw_enable; // Hardware tablewalk enable input [7:0] mmu_write_itlb; // Reload the ITLB input [7:0] mmu_reload_done; // Hardware tablewalk done input [7:0] mmu_i_unauth_access; // Hardware tablewalk ITSB with EP=0 input [7:0] mmu_i_tsb_miss; // Hardware tablewalk missed input [7:0] mmu_d_tsb_miss; // Hardware tablewalk missed input [7:0] mmu_i_tte_outofrange; // RA out of range input [7:0] mmu_d_tte_outofrange; // RA out of range input [47:0] mmu_itte_tag_data; input [64:0] mmu_asi_data; // ASI read data for fast bus input mmu_asi_read; // Valid for MMU ASI read input mmu_dae_req; // data_access_exception for bad pg size input [2:0] mmu_dae_tid; input mmu_asi_cecc; // Correctable ECC error on ASI read input mmu_asi_uecc; // Uncorrectable ECC error on ASI read input [2:0] mmu_asi_tid; // Thread for reported error input [10:0] mmu_asi_index; // Syndrome and index of the failure input mmu_asi_mra_not_sca; // 1: MRA error 0: Scratchpad error input [7:0] mmu_i_l2cerr; // HW TW had L2 CE on I rld input [7:0] mmu_d_l2cerr; // HW TW had L2 CE on D rld input [7:0] mmu_i_eccerr; // HW TW had MRA or L2 error on I rld input [7:0] mmu_d_eccerr; // HW TW had MRA or L2 error on D rld input [2:0] mmu_thr0_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0) input [2:0] mmu_thr1_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0) input [2:0] mmu_thr2_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0) input [2:0] mmu_thr3_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0) input [2:0] mmu_thr4_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0) input [2:0] mmu_thr5_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0) input [2:0] mmu_thr6_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0) input [2:0] mmu_thr7_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0) input [2:0] mmu_thr0_err_index; input [2:0] mmu_thr1_err_index; input [2:0] mmu_thr2_err_index; input [2:0] mmu_thr3_err_index; input [2:0] mmu_thr4_err_index; input [2:0] mmu_thr5_err_index; input [2:0] mmu_thr6_err_index; input [2:0] mmu_thr7_err_index; input spu_pmu_ma_busy; // Must idle before parking input spu_tlu_cwq_busy; // Must idle before soft stop parking input [10:0] spu_tlu_mamu_err_req; // SPU MAMEM parity error input [4:0] spu_tlu_ma_int_req; // SPU MA 4 err 3 vld 2:0 thread ID input [3:0] spu_tlu_cwq_int_req; // SPU CWQ trap rq 3 vld 2:0 thread ID input [5:0] spu_tlu_l2_error; // MAL2[C,U,ND],CWQL2[C,U,ND] input [7:0] pmu_tlu_trap_m; // PMU trap; kill instruction in M input [7:0] pmu_tlu_debug_event; // PMU event; soft/hard stop or pulse output scan_out; output wmr_scan_out; // Warm reset (non)scan output spc_shscan_scan_out; // Shadow scan output [7:0] tlu_core_running_status; output tlu_ss_complete; output tlu_hardstop_request; output tlu_softstop_request; output tlu_trigger_pulse; output [1:0] tlu_dbg_instr_cmt_grp0; output [1:0] tlu_dbg_instr_cmt_grp1; output [7:0] tlu_flush_ifu; // Flush specified thread output [1:0] tlu_window_block; // Block decode of CWP altering ops output [7:0] tlu_retry_state; // DEC should not wait for delay slot output [7:0] tlu_halted; // Pick should stall; output [47:2] tlu_pc_0_d; output [47:2] tlu_pc_1_d; output [1:0] tlu_flush_exu_b; // EXU to flush instr in B stage output [7:0] tlu_ccr_0; output [7:0] tlu_ccr_1; output [2:0] tlu_cwp_0; output [2:0] tlu_cwp_1; output tlu_ccr_cwp_0_valid; output tlu_ccr_cwp_1_valid; output [1:0] tlu_ccr_cwp_0_tid; output [1:0] tlu_ccr_cwp_1_tid; output [1:0] tlu_gl0; output [1:0] tlu_gl1; output [1:0] tlu_gl2; output [1:0] tlu_gl3; output [1:0] tlu_gl4; output [1:0] tlu_gl5; output [1:0] tlu_gl6; output [1:0] tlu_gl7; output [1:0] tlu_itlb_bypass_e; output tlu_flush_lsu_b; // LSU to flush instr in B stage output tlu_flush_fgu_b; // FGU to flush instr in B stage output [47:0] tlu_trap_pc_0; output tlu_trap_pc_0_valid; output [1:0] tlu_trap_0_tid; output [47:0] tlu_trap_pc_1; output tlu_trap_pc_1_valid; output [1:0] tlu_trap_1_tid; output [1:0] tlu_retry; output [1:0] tlu_ifu_invalidate; // Forces IFU to invalidate, refetch output [1:0] tlu_itlb_reload; output [7:0] tlu_itlb_bypass; output [7:0] tlu_release_tte; output [64:0] tlu_rngf_cdbus; output tlu_rngf_cdbus_error; // Same cycle as data on cdbus output [7:0] tlu_asi_0; output [7:0] tlu_asi_1; output tlu_asi_0_valid; output tlu_asi_1_valid; output [1:0] tlu_asi_0_tid; output [1:0] tlu_asi_1_tid; output [7:0] tlu_tl_gt_0; output [7:0] tlu_lsu_clear_ctl_reg_; output [7:0] tlu_load_i_tag_access_p; output [7:0] tlu_load_i_tag_access_n; output [7:0] tlu_load_d_tag_access; output [7:0] tlu_load_d_tag_access_r; output [47:2] tlu_npc_w; output [47:13] tlu_pc_0_w; output [47:13] tlu_pc_1_w; output [7:0] tlu_iht_request; // ITLB hardware tablewalk request output [7:0] tlu_dht_request; // DTLB hardware tablewalk request output [7:0] tlu_mmu_tl_gt_0; output [1:0] tlu_flush_pmu_b; output [1:0] tlu_flush_pmu_w; output [7:0] tlu_pmu_trap_taken; output [1:0] tlu_pmu_trap_mask_e; output [7:0] tlu_lsu_hpstate_hpriv; output [7:0] tlu_lsu_pstate_priv; output [7:0] tlu_ifu_hpstate_hpriv; output [7:0] tlu_ifu_pstate_priv; output [7:0] tlu_pmu_hpstate_hpriv; output [7:0] tlu_pmu_pstate_priv; output [7:0] tlu_dec_hpstate_hpriv; output [7:0] tlu_dec_pstate_priv; output [7:0] tlu_dec_pstate_pef; output [7:0] tlu_pstate_cle; output [7:0] tlu_pstate_am; output tlu_cerer_ittp ; output tlu_cerer_itdp ; output tlu_cerer_ittm ; output tlu_cerer_hwtwmu ; output tlu_cerer_hwtwl2 ; output tlu_cerer_icl2c ; output tlu_cerer_icl2u ; output tlu_cerer_icl2nd ; output tlu_cerer_irf ; output tlu_cerer_frf ; output tlu_cerer_dttp ; output tlu_cerer_dttm ; output tlu_cerer_dtdp ; output tlu_cerer_dcl2c ; output tlu_cerer_dcl2u ; output tlu_cerer_dcl2nd ; output tlu_cerer_sbdlc ; output tlu_cerer_sbdlu ; output tlu_cerer_mrau ; output tlu_cerer_scac ; output tlu_cerer_scau ; output tlu_cerer_sbapp ; output tlu_cerer_l2c_socc ; output tlu_cerer_l2u_socu ; output tlu_cerer_icvp ; output tlu_cerer_ictp ; output tlu_cerer_ictm ; output tlu_cerer_icdp ; output tlu_cerer_dcvp ; output tlu_cerer_dctp ; output tlu_cerer_dctm ; output tlu_cerer_dcdp ; output tlu_cerer_sbdpc ; output tlu_cerer_sbdpu ; output tlu_cerer_mamu ; output tlu_cerer_mal2c ; output tlu_cerer_mal2u ; output tlu_cerer_mal2nd ; output tlu_cerer_cwql2c ; output tlu_cerer_cwql2u ; output tlu_cerer_cwql2nd ; output tlu_cerer_sbdiou ; output [7:0] tlu_ceter_pscce; output [1:0] tlu_tag_access_tid_0_b; // Tag access power management output tlu_i_tag_access_0_b; // Tag access power management output tlu_d_tag_access_0_b; // Tag access power management output [1:0] tlu_tag_access_tid_1_b; // Tag access power management output tlu_i_tag_access_1_b; // Tag access power management output tlu_d_tag_access_1_b; // Tag access power management output tlu_mbi_tsa0_fail; // MBIST output tlu_mbi_tsa1_fail; // MBIST output tlu_mbi_tca_fail; // MBIST output [7:0] tlu_spec_enable; ////////////////////////////////////////////////////////////////////////////// assign error_inject_unused[30:23] = lsu_asi_error_inject[30:23]; assign error_inject_unused[20:8] = lsu_asi_error_inject[20:8]; assign tlu_cerer_sbdiou = tlu_cerer_sbdpu; assign rd_pce = 1'b1; assign wr_pce = 1'b1; assign bist_clk_mux_sel = 1'b0; assign tcu_scan_en_wmr = lb_scan_en_wmr; //////////////////////////////////////////////////////////////////////////////// // Flush Logic: one for each thread group and datapath to merge LSU, FGU flushes tlu_fls_ctl fls0 ( .wmr_scan_in(fls0_wmr_scanin), .wmr_scan_out(fls0_wmr_scanout), .scan_in(fls0_scanin), .scan_out(fls0_scanout), .l2clk (l2clk ), .thread_group (1'b0 ), .trl_shscanid ({trl0_shscanid_2 , trl0_shscanid [1:0]}), .tcu_core_running (tcu_core_running [3:0] ), .cxi_xir (cxi_xir [3:0] ), .cxi_ivt (cxi_ivt [3:0] ), .dec_raw_pick_p (dec_raw_pick_p [3:1] ), .dec_tid_m (dec_tid0_m [1:0] ), .dec_inst_valid_m (dec_inst_valid_m [0 ] ), .dec_lsu_inst_m (dec_lsu_inst_m [0 ] ), .dec_fgu_inst_m (dec_fgu_inst_m [0 ] ), .dec_illegal_inst_m (dec_illegal_inst_m [0 ] ), .dec_exc_m (dec_exc0_m [4:0] ), .dec_done_inst_m (dec_done_inst_m [0 ] ), .dec_retry_inst_m (dec_retry_inst_m [0 ] ), .dec_sir_inst_m (dec_sir_inst_m [0 ] ), .dec_hpriv_exc_m (dec_hpriv_exc_m [0 ] ), .dec_priv_exc_m (dec_priv_exc_m [0 ] ), .dec_fpdisable_exc_m (dec_fpdisable_exc_m [0 ] ), .dec_br_taken_m (dec_br_taken_m [0 ] ), .dec_annul_ds_m (dec_annul_ds_m [0 ] ), .dec_ds_m (dec_ds_m [0 ] ), .dec_icache_perr_m (dec_icache_perr_m [0 ] ), .dec_cti_inst_m (dec_cti_inst_m [0 ] ), .dec_flush_b (dec_flush_b [0 ] ), .exu_ibp_m (exu_ibp_m [0 ] ), .exu_tcc_m (exu_tcc_m [0 ] ), .exu_tof_m (exu_tof_m [0 ] ), .exu_cecc_m (exu_cecc_m [0 ] ), .exu_uecc_m (exu_uecc_m [0 ] ), .exu_oor_va_m (exu_oor_va_m [0 ] ), .exu_misalign_m (exu_misalign_m [0 ] ), .exu_spill_b (exu_spill_b [0 ] ), .exu_fill_m (exu_fill_m [0 ] ), .exu_normal_b (exu_normal_b [0 ] ), .exu_cleanwin_b (exu_cleanwin_b [0 ] ), .exu_wstate_b (exu0_wstate_b [2:0] ), .exu_trap_number_b (exu0_trap_number_b [7:0] ), .exu_cwp0 (exu0_cwp0 [2:0] ), .exu_cwp1 (exu0_cwp1 [2:0] ), .exu_cwp2 (exu0_cwp2 [2:0] ), .exu_cwp3 (exu0_cwp3 [2:0] ), .lsu_trap_flush (lsu_trap_flush [3:0] ), .lsu_spec_enable (asi_spec_enable [3:0] ), .lsu_block_store_b (lsu_block_store_b [3:0] ), .lsu_immu_enable (asi_immu_enable [3:0] ), .asi_irl_cleared (asi_irl_cleared [3:0] ), .asi_halt (asi_halt [3:0] ), .asi_clear_spu_trap_req (asi_clear_spu_trap_req [3:0] ), .tel_tsacu_exc (tel_tsacu_exc [3:0] ), .mmu_hw_tw_enable (mmu_hw_tw_enable [3:0] ), .mmu_i_unauth_access (mmu_i_unauth_access [3:0] ), .mmu_i_tsb_miss (mmu_i_tsb_miss [3:0] ), .mmu_d_tsb_miss (mmu_d_tsb_miss [3:0] ), .mmu_i_tte_outofrange (mmu_i_tte_outofrange [3:0] ), .mmu_d_tte_outofrange (mmu_d_tte_outofrange [3:0] ), .mmu_i_eccerr (mmu_i_eccerr [3:0] ), .mmu_d_eccerr (mmu_d_eccerr [3:0] ), .mmu_thr0_err_type_b1 (mmu_thr0_err_type [1 ] ), .mmu_thr1_err_type_b1 (mmu_thr1_err_type [1 ] ), .mmu_thr2_err_type_b1 (mmu_thr2_err_type [1 ] ), .mmu_thr3_err_type_b1 (mmu_thr3_err_type [1 ] ), .pmu_tlu_trap_m (pmu_tlu_trap_m [3:0] ), .pmu_tlu_debug_event (pmu_tlu_debug_event [3:0] ), .flsx_flush_lsu_b (1'b0 ), .flsx_flush_fgu_b (1'b0 ), .pct_iaw_exc_e (pct0_iaw_exc_e [1:0] ), .pct_npc_0_w (pct_npc_0_w [3:2] ), .pct_npc_1_w (pct_npc_1_w [3:2] ), .pct_npc_2_w (pct_npc_2_w [3:2] ), .pct_npc_3_w (pct_npc_3_w [3:2] ), .pct_pc_oor_va_e (pct_pc_oor_va_e [0 ] ), .trl_tl_eq_0 (trl_tl_eq_0 [3:0] ), .trl_pil_mask_15 (trl_pil_mask_15 [3:0] ), .trl_iln_exc (trl_iln_exc [3:0] ), .trl_hstick_match (trl_hstick_match [3:0] ), .trl_unhalt_ (trl_unhalt_ [3:0] ), .trl_tlz_exc (trl_tlz_exc [3:0] ), .trl_nns_exc (trl_nns_exc [3:0] ), .trl_ssc_exc (trl_ssc_exc [3:0] ), .trl_invalidate_pc (trl_invalidate_pc [3:0] ), .trl_invalidate_npc (trl_invalidate_npc [3:0] ), .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [3:0] ), .trl_fls_npc_en (trl_fls_npc_en [3:0] ), .trl_trap_taken (trl_trap_taken [3:0] ), .trl_take_sma (trl0_take_sma ), .trl_take_cwq (trl0_take_cwq ), .trl_take_xir (trl0_take_xir ), .trl_take_ftt (trl0_take_ftt ), .trl_core_running_status(trl_core_running_status[3:0] ), .trl_check_rqr (trl0_tsa_wr_addr [0 ] ), .tlu_ceter_de (tlu_ceter_de [3:0] ), .tlu_ceter_dhcce (tlu_ceter_dhcce [3:0] ), .tsd_hpstate_ibe (tsd_hpstate_ibe [3:0] ), .tsd_hpstate_hpriv (tsd_hpstate_hpriv [3:0] ), .tsd_hpstate_red (tsd_hpstate_red [3:0] ), .tsd_pstate_tct (tsd_pstate_tct [3:0] ), .tsd_pstate_priv (tsd_pstate_priv [3:0] ), .tsd_pstate_ie (tsd_pstate_ie [3:0] ), .tsd_pstate_am (tsd_pstate_am [3:0] ), .tsd_itlb_bypass (tsd_itlb_bypass [3:0] ), .tsd_mrqr_exc_ (tsd0_mrqr_exc_ ), .tsd_dqr_exc_ (tsd0_dqr_exc_ ), .asi_check_qr_exc (asi_check_qr_exc [3:0] ), .dfd_fls_desr_f (dfd_fls_desr_f [3:0] ), .dfd_fls_desr_s (dfd_fls_desr_s [3:0] ), .ras_precise_error (ras_precise_error [3:0] ), .ras_disrupting_error (ras_disrupting_error [3:0] ), .ras_deferred_error (ras_deferred_error [3:0] ), .fls_spc_hardstop_request(fls0_spc_hardstop_request ), .fls_spc_softstop_request(fls0_spc_softstop_request ), .fls_spc_trigger_pulse (fls0_spc_trigger_pulse ), .tlu_dbg_instr_cmt_grp (tlu_dbg_instr_cmt_grp0 [1:0] ), .tlu_flush_ifu (tlu_flush_ifu [3:0] ), .tlu_flush_exu_b (tlu_flush_exu_b [0 ] ), .tlu_flush_lsu_b (tlu_flush_lsu_b_unused ), .tlu_flush_fgu_b (tlu_flush_fgu_b_unused ), .tlu_flush_pmu_b (tlu_flush_pmu_b [0 ] ), .tlu_flush_pmu_w (tlu_flush_pmu_w [0 ] ), .tlu_load_i_tag_access_p(tlu_load_i_tag_access_p[3:0] ), .tlu_load_i_tag_access_n(tlu_load_i_tag_access_n[3:0] ), .tlu_load_d_tag_access (tlu_load_d_tag_access [3:0] ), .tlu_load_d_tag_access_r(tlu_load_d_tag_access_r[3:0] ), .fls_flush_lsu_b (fls0_flush_lsu_b ), .fls_flush_fgu_b (fls0_flush_fgu_b ), .fls_tid_d (fls0_tid_d [1:0] ), .fls_tid_dec_b (fls0_tid_dec_b [3:0] ), .fls_tid_dec_w (fls0_tid_dec_w [3:0] ), .fls_pc_sel_npc (fls_pc_sel_npc [3:0] ), .fls_pc_sel_npc_plus_4 (fls_pc_sel_npc_plus_4 [3:0] ), .fls_npc_sel_npc_plus_4 (fls_npc_sel_npc_plus_4 [3:0] ), .fls_npc_sel_npc_plus_8 (fls_npc_sel_npc_plus_8 [3:0] ), .fls_npc_sel_target (fls_npc_sel_target [3:0] ), .fls_npc_b_sel_npc (fls0_npc_b_sel_npc ), .fls_pc_is_npc (fls0_pc_is_npc ), .fls_pstate_am_d_ (fls_pstate_am_d_ [0 ] ), .fls_pstate_am_b_ (fls_pstate_am_b_ [0 ] ), .fls_pstate_am_w_ (fls_pstate_am_w_ [0 ] ), .fls_lsu_inst_w (fls0_lsu_inst_w_unused ), .fls_dfd_lsu_inst_b (fls0_dfd_lsu_inst_b ), .fls_wstate0 (fls_wstate0 [2:0] ), .fls_wstate1 (fls_wstate1 [2:0] ), .fls_wstate2 (fls_wstate2 [2:0] ), .fls_wstate3 (fls_wstate3 [2:0] ), .fls_tcc_number_0 (fls_tcc_number_0 [7:0] ), .fls_tcc_number_1 (fls_tcc_number_1 [7:0] ), .fls_tcc_number_2 (fls_tcc_number_2 [7:0] ), .fls_tcc_number_3 (fls_tcc_number_3 [7:0] ), .fls_tid_dec_w_in (fls_tid_dec_w_in [3:0] ), .fls_por_request (fls_por_request [3:0] ), .fls_xir_request (fls_xir_request [3:0] ), .fls_ivt_request (fls_ivt_request [3:0] ), .fls_sir_request (fls_sir_request [3:0] ), .fls_itm_request (fls_itm_request [3:0] ), .fls_iln_request (fls_iln_request [3:0] ), .fls_hst_request (fls_hst_request [3:0] ), .fls_tlz_request (fls_tlz_request [3:0] ), .fls_sma_request (fls_sma_request [3:0] ), .fls_cwq_request (fls_cwq_request [3:0] ), .fls_ade_request (fls_ade_request [3:0] ), .fls_iae_request (fls_iae_request [3:0] ), .fls_ipe_request (fls_ipe_request [3:0] ), .fls_ipv_request (fls_ipv_request [0 ] ), .fls_inp_request (fls_inp_request [0 ] ), .fls_iar_request (fls_iar_request [0 ] ), .fls_irr_request (fls_irr_request [0 ] ), .fls_mar_request (fls_mar_request [0 ] ), .fls_mrr_request (fls_mrr_request [0 ] ), .fls_pro_request (fls_pro_request [0 ] ), .fls_ill_request (fls_ill_request [0 ] ), .fls_don_request (fls_don_request [0 ] ), .fls_ret_request (fls_ret_request [0 ] ), .fls_fpd_request (fls_fpd_request [0 ] ), .fls_snn_request (fls_snn_request [0 ] ), .fls_sno_request (fls_sno_request [0 ] ), .fls_fnn_request (fls_fnn_request [0 ] ), .fls_fno_request (fls_fno_request [0 ] ), .fls_clw_request (fls_clw_request [0 ] ), .fls_dtm_request (fls_dtm_request [3:0] ), .fls_ldf_request (fls_ldf_request [0 ] ), .fls_stf_request (fls_stf_request [0 ] ), .fls_dap_request (fls_dap_request [0 ] ), .fls_vaw_request (fls_vaw_request [0 ] ), .fls_iaw_request (fls_iaw_request [0 ] ), .fls_paw_request (fls_paw_request [0 ] ), .fls_maa_request (fls_maa_request [0 ] ), .fls_fpe_request (fls_fpe_request [0 ] ), .fls_fei_request (fls_fei_request [3:0] ), .fls_fof_request (fls_fof_request [3:0] ), .fls_pra_request (fls_pra_request [3:0] ), .fls_dia_request (fls_dia_request [0 ] ), .fls_ups_request (fls_ups_request [3:0] ), .fls_dpv_request (fls_dpv_request [0 ] ), .fls_dnc_request (fls_dnc_request [0 ] ), .fls_dnf_request (fls_dnf_request [0 ] ), .fls_dso_request (fls_dso_request [0 ] ), .fls_tof_request (fls_tof_request [0 ] ), .fls_dbz_request (fls_dbz_request [3:0] ), .fls_tcc_request (fls_tcc_request [0 ] ), .fls_dae_request (fls_dae_request [3:0] ), .fls_lsr_request (fls_lsr_request [3:0] ), .fls_irt_request (fls_irt_request [0 ] ), .fls_drt_request (fls_drt_request [0 ] ), .fls_pmu_request (fls_pmu_request [3:0] ), .fls_mqr_request (fls_mqr_request [3:0] ), .fls_dqr_request (fls_dqr_request [3:0] ), .fls_rqr_request (fls_rqr_request [3:0] ), .fls_idl_request (fls_idl_request [3:0] ), .fls_res_request (fls_res_request [3:0] ), .fls_ssr_request (fls_ssr_request [3:0] ), .fls_ssc_request (fls_ssc_request [3:0] ), .fls_nns_request (fls_nns_request [3:0] ), .fls_ime_request (fls_ime_request [3:0] ), .fls_dme_request (fls_dme_request [3:0] ), .fls_eer_request (fls_eer_request [3:0] ), .fls_icp_request (fls_icp_request [0 ] ), .fls_ftt_request (fls_ftt_request [3:0] ), .fls_ibp_request (fls_ibp_request [0 ] ), .fls_tct_request (fls_tct_request [0 ] ), .fls_ref_request (fls_ref_request [0 ] ), .fls_ipe_dme_request (fls_ipe_dme_request [0 ] ), .fls_pc_valid (fls_pc_valid [3:0] ), .fls_load_dsfar (fls_load_dsfar [3:0] ), .fls_irf_cecc_b (fls_irf_cecc_b [0 ] ), .fls_irf_uecc_b (fls_irf_uecc_b [0 ] ), .fls_kill_irf_ecc_w (fls_kill_irf_ecc_w [0 ] ), .fls_cwp0 (fls0_cwp0 [2:0] ), .fls_cwp1 (fls0_cwp1 [2:0] ), .fls_cwp2 (fls0_cwp2 [2:0] ), .fls_cwp3 (fls0_cwp3 [2:0] ), .fls_core_running (fls_core_running [3:0] ), .fls_ss_request (fls_ss_request ), .fls_pct_pc_en (fls_pct_pc_en [3:0] ), .fls_pct_npc_en (fls_pct_npc_en [3:0] ), .fls_trl_l1en (fls_trl_l1en [3:0] ), .fls_npc_if_cnt_eq_1_d (fls0_npc_if_cnt_eq_1_d [4:2] ), .fls_npc_if_cnt_eq_2_d (fls0_npc_if_cnt_eq_2_d [4:2] ), .fls_npc_if_cnt_eq_3_d (fls0_npc_if_cnt_eq_3_d [4:2] ), .fls_flush (fls_flush [3:0] ), .fls_disrupting_flush_w (fls_disrupting_flush_w [0 ] ), .fls_f_cecc_w (fls_f_cecc_w ), .fls_f_uecc_w (fls_f_uecc_w ), .fls_ss_update_pc_w (fls_ss_update_pc_w [0 ] ), .tlu_iht_request (tlu_iht_request [3:0] ), .tlu_dht_request (tlu_dht_request [3:0] ), .tlu_itlb_bypass_e (tlu_itlb_bypass_e [0 ] ), .tlu_tag_access_tid_b (tlu_tag_access_tid_0_b [1:0] ), .tlu_i_tag_access_b (tlu_i_tag_access_0_b ), .tlu_d_tag_access_b (tlu_d_tag_access_0_b ), .tlu_retry_state (tlu_retry_state [3:0] ), .tlu_halted (tlu_halted [3:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .spc_aclk_wmr(spc_aclk_wmr), .lsu_tlu_pmen(lsu_tlu_pmen), .tcu_ss_mode(tcu_ss_mode), .tcu_do_mode(tcu_do_mode), .tcu_ss_request(tcu_ss_request), .lsu_lddf_align_b(lsu_lddf_align_b), .lsu_stdf_align_b(lsu_stdf_align_b), .lsu_illegal_inst_b(lsu_illegal_inst_b), .lsu_daccess_prot_b(lsu_daccess_prot_b), .lsu_priv_action_b(lsu_priv_action_b), .lsu_va_watchpoint_b(lsu_va_watchpoint_b), .lsu_pa_watchpoint_b(lsu_pa_watchpoint_b), .lsu_align_b(lsu_align_b), .lsu_tlb_miss_b_(lsu_tlb_miss_b_), .lsu_dae_invalid_asi_b(lsu_dae_invalid_asi_b), .lsu_dae_nc_page_b(lsu_dae_nc_page_b), .lsu_dae_nfo_page_b(lsu_dae_nfo_page_b), .lsu_dae_priv_viol_b(lsu_dae_priv_viol_b), .lsu_dae_so_page(lsu_dae_so_page), .lsu_priv_action_g(lsu_priv_action_g), .lsu_tid_g(lsu_tid_g[2:0]), .lsu_tlb_bypass_b(lsu_tlb_bypass_b), .lsu_tlb_real_b(lsu_tlb_real_b), .lsu_sync_inst_b(lsu_sync_inst_b), .lsu_tlu_twocycle_m(lsu_tlu_twocycle_m), .lsu_dcl2u_err_g(lsu_dcl2u_err_g), .lsu_dcl2nd_err_g(lsu_dcl2nd_err_g), .lsu_dcerr_tid_g(lsu_dcerr_tid_g[2:0]), .lsu_sbdlc_err_g(lsu_sbdlc_err_g), .lsu_sbdlu_err_g(lsu_sbdlu_err_g), .lsu_sbapp_err_g(lsu_sbapp_err_g), .lsu_sbdiou_err_g(lsu_sbdiou_err_g), .lsu_stberr_tid_g(lsu_stberr_tid_g[2:0]), .lsu_dttp_err_b(lsu_dttp_err_b), .lsu_dtdp_err_b(lsu_dtdp_err_b), .lsu_dtmh_err_b(lsu_dtmh_err_b), .lsu_perfmon_trap_b(lsu_perfmon_trap_b), .lsu_perfmon_trap_g(lsu_perfmon_trap_g), .fgu_predict_fx2(fgu_predict_fx2), .fgu_pdist_beat2_fx1(fgu_pdist_beat2_fx1), .fgu_cecc_fx2(fgu_cecc_fx2), .fgu_uecc_fx2(fgu_uecc_fx2), .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw), .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw), .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw), .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw), .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw), .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]), .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]), .asi_ece_exc(asi_ece_exc), .asi_eue_exc(asi_eue_exc), .asi_ecc_tid(asi_ecc_tid[2:0]), .asi_decr(asi_decr[63:46]), .mmu_asi_cecc(mmu_asi_cecc), .mmu_asi_uecc(mmu_asi_uecc), .mmu_asi_tid(mmu_asi_tid[2:0]), .mmu_dae_req(mmu_dae_req), .mmu_dae_tid(mmu_dae_tid[2:0]), .spu_tlu_ma_int_req(spu_tlu_ma_int_req[4:0]), .spu_tlu_cwq_int_req(spu_tlu_cwq_int_req[3:0]) ); tlu_fls_ctl fls1 ( .wmr_scan_in(fls1_wmr_scanin), .wmr_scan_out(fls1_wmr_scanout), .scan_in(fls1_scanin), .scan_out(fls1_scanout), .l2clk (l2clk ), .thread_group (1'b1 ), .trl_shscanid ({trl1_shscanid_2 , trl1_shscanid [1:0]}), .tcu_core_running (tcu_core_running [7:4] ), .cxi_xir (cxi_xir [7:4] ), .cxi_ivt (cxi_ivt [7:4] ), .dec_raw_pick_p (dec_raw_pick_p [7:5] ), .dec_tid_m (dec_tid1_m [1:0] ), .dec_inst_valid_m (dec_inst_valid_m [1 ] ), .dec_lsu_inst_m (dec_lsu_inst_m [1 ] ), .dec_fgu_inst_m (dec_fgu_inst_m [1 ] ), .dec_illegal_inst_m (dec_illegal_inst_m [1 ] ), .dec_exc_m (dec_exc1_m [4:0] ), .dec_done_inst_m (dec_done_inst_m [1 ] ), .dec_retry_inst_m (dec_retry_inst_m [1 ] ), .dec_sir_inst_m (dec_sir_inst_m [1 ] ), .dec_hpriv_exc_m (dec_hpriv_exc_m [1 ] ), .dec_priv_exc_m (dec_priv_exc_m [1 ] ), .dec_fpdisable_exc_m (dec_fpdisable_exc_m [1 ] ), .dec_br_taken_m (dec_br_taken_m [1 ] ), .dec_annul_ds_m (dec_annul_ds_m [1 ] ), .dec_ds_m (dec_ds_m [1 ] ), .dec_icache_perr_m (dec_icache_perr_m [1 ] ), .dec_cti_inst_m (dec_cti_inst_m [1 ] ), .dec_flush_b (dec_flush_b [1 ] ), .exu_ibp_m (exu_ibp_m [1 ] ), .exu_tcc_m (exu_tcc_m [1 ] ), .exu_tof_m (exu_tof_m [1 ] ), .exu_cecc_m (exu_cecc_m [1 ] ), .exu_uecc_m (exu_uecc_m [1 ] ), .exu_oor_va_m (exu_oor_va_m [1 ] ), .exu_misalign_m (exu_misalign_m [1 ] ), .exu_spill_b (exu_spill_b [1 ] ), .exu_fill_m (exu_fill_m [1 ] ), .exu_normal_b (exu_normal_b [1 ] ), .exu_cleanwin_b (exu_cleanwin_b [1 ] ), .exu_wstate_b (exu1_wstate_b [2:0] ), .exu_trap_number_b (exu1_trap_number_b [7:0] ), .exu_cwp0 (exu1_cwp0 [2:0] ), .exu_cwp1 (exu1_cwp1 [2:0] ), .exu_cwp2 (exu1_cwp2 [2:0] ), .exu_cwp3 (exu1_cwp3 [2:0] ), .lsu_trap_flush (lsu_trap_flush [7:4] ), .lsu_spec_enable (asi_spec_enable [7:4] ), .lsu_block_store_b (lsu_block_store_b [7:4] ), .lsu_immu_enable (asi_immu_enable [7:4] ), .asi_irl_cleared (asi_irl_cleared [7:4] ), .asi_halt (asi_halt [7:4] ), .asi_clear_spu_trap_req (asi_clear_spu_trap_req [7:4] ), .tel_tsacu_exc (tel_tsacu_exc [7:4] ), .mmu_hw_tw_enable (mmu_hw_tw_enable [7:4] ), .mmu_i_unauth_access (mmu_i_unauth_access [7:4] ), .mmu_i_tsb_miss (mmu_i_tsb_miss [7:4] ), .mmu_d_tsb_miss (mmu_d_tsb_miss [7:4] ), .mmu_i_tte_outofrange (mmu_i_tte_outofrange [7:4] ), .mmu_d_tte_outofrange (mmu_d_tte_outofrange [7:4] ), .mmu_i_eccerr (mmu_i_eccerr [7:4] ), .mmu_d_eccerr (mmu_d_eccerr [7:4] ), .mmu_thr0_err_type_b1 (mmu_thr4_err_type [1 ] ), .mmu_thr1_err_type_b1 (mmu_thr5_err_type [1 ] ), .mmu_thr2_err_type_b1 (mmu_thr6_err_type [1 ] ), .mmu_thr3_err_type_b1 (mmu_thr7_err_type [1 ] ), .pmu_tlu_trap_m (pmu_tlu_trap_m [7:4] ), .pmu_tlu_debug_event (pmu_tlu_debug_event [7:4] ), .flsx_flush_lsu_b (fls0_flush_lsu_b ), .flsx_flush_fgu_b (fls0_flush_fgu_b ), .pct_iaw_exc_e (pct1_iaw_exc_e [1:0] ), .pct_npc_0_w (pct_npc_4_w [3:2] ), .pct_npc_1_w (pct_npc_5_w [3:2] ), .pct_npc_2_w (pct_npc_6_w [3:2] ), .pct_npc_3_w (pct_npc_7_w [3:2] ), .pct_pc_oor_va_e (pct_pc_oor_va_e [1 ] ), .trl_tl_eq_0 (trl_tl_eq_0 [7:4] ), .trl_pil_mask_15 (trl_pil_mask_15 [7:4] ), .trl_iln_exc (trl_iln_exc [7:4] ), .trl_hstick_match (trl_hstick_match [7:4] ), .trl_unhalt_ (trl_unhalt_ [7:4] ), .trl_tlz_exc (trl_tlz_exc [7:4] ), .trl_nns_exc (trl_nns_exc [7:4] ), .trl_ssc_exc (trl_ssc_exc [7:4] ), .trl_invalidate_pc (trl_invalidate_pc [7:4] ), .trl_invalidate_npc (trl_invalidate_npc [7:4] ), .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [7:4] ), .trl_fls_npc_en (trl_fls_npc_en [7:4] ), .trl_trap_taken (trl_trap_taken [7:4] ), .trl_take_sma (trl1_take_sma ), .trl_take_cwq (trl1_take_cwq ), .trl_take_xir (trl1_take_xir ), .trl_take_ftt (trl1_take_ftt ), .trl_core_running_status(trl_core_running_status[7:4] ), .trl_check_rqr (trl1_tsa_wr_addr [0 ] ), .tlu_ceter_de (tlu_ceter_de [7:4] ), .tlu_ceter_dhcce (tlu_ceter_dhcce [7:4] ), .tsd_hpstate_ibe (tsd_hpstate_ibe [7:4] ), .tsd_hpstate_hpriv (tsd_hpstate_hpriv [7:4] ), .tsd_hpstate_red (tsd_hpstate_red [7:4] ), .tsd_pstate_tct (tsd_pstate_tct [7:4] ), .tsd_pstate_priv (tsd_pstate_priv [7:4] ), .tsd_pstate_ie (tsd_pstate_ie [7:4] ), .tsd_pstate_am (tsd_pstate_am [7:4] ), .tsd_itlb_bypass (tsd_itlb_bypass [7:4] ), .tsd_mrqr_exc_ (tsd1_mrqr_exc_ ), .tsd_dqr_exc_ (tsd1_dqr_exc_ ), .asi_check_qr_exc (asi_check_qr_exc [7:4] ), .dfd_fls_desr_f (dfd_fls_desr_f [7:4] ), .dfd_fls_desr_s (dfd_fls_desr_s [7:4] ), .ras_precise_error (ras_precise_error [7:4] ), .ras_disrupting_error (ras_disrupting_error [7:4] ), .ras_deferred_error (ras_deferred_error [7:4] ), .fls_spc_hardstop_request(fls1_spc_hardstop_request ), .fls_spc_softstop_request(fls1_spc_softstop_request ), .fls_spc_trigger_pulse (fls1_spc_trigger_pulse ), .tlu_dbg_instr_cmt_grp (tlu_dbg_instr_cmt_grp1 [1:0] ), .tlu_flush_ifu (tlu_flush_ifu [7:4] ), .tlu_flush_exu_b (tlu_flush_exu_b [1 ] ), .tlu_flush_lsu_b (tlu_flush_lsu_b ), .tlu_flush_fgu_b (tlu_flush_fgu_b ), .tlu_flush_pmu_b (tlu_flush_pmu_b [1 ] ), .tlu_flush_pmu_w (tlu_flush_pmu_w [1 ] ), .tlu_load_i_tag_access_p(tlu_load_i_tag_access_p[7:4] ), .tlu_load_i_tag_access_n(tlu_load_i_tag_access_n[7:4] ), .tlu_load_d_tag_access (tlu_load_d_tag_access [7:4] ), .tlu_load_d_tag_access_r(tlu_load_d_tag_access_r[7:4] ), .fls_flush_lsu_b (fls1_flush_lsu_b_unused ), .fls_flush_fgu_b (fls1_flush_fgu_b_unused ), .fls_tid_d (fls1_tid_d [1:0] ), .fls_tid_dec_b (fls1_tid_dec_b [3:0] ), .fls_tid_dec_w (fls1_tid_dec_w [3:0] ), .fls_pc_sel_npc (fls_pc_sel_npc [7:4] ), .fls_pc_sel_npc_plus_4 (fls_pc_sel_npc_plus_4 [7:4] ), .fls_npc_sel_npc_plus_4 (fls_npc_sel_npc_plus_4 [7:4] ), .fls_npc_sel_npc_plus_8 (fls_npc_sel_npc_plus_8 [7:4] ), .fls_npc_sel_target (fls_npc_sel_target [7:4] ), .fls_npc_b_sel_npc (fls1_npc_b_sel_npc ), .fls_pc_is_npc (fls1_pc_is_npc ), .fls_pstate_am_d_ (fls_pstate_am_d_ [1 ] ), .fls_pstate_am_b_ (fls_pstate_am_b_ [1 ] ), .fls_pstate_am_w_ (fls_pstate_am_w_ [1 ] ), .fls_lsu_inst_w (fls1_lsu_inst_w ), .fls_dfd_lsu_inst_b (fls1_dfd_lsu_inst_b ), .fls_wstate0 (fls_wstate4 [2:0] ), .fls_wstate1 (fls_wstate5 [2:0] ), .fls_wstate2 (fls_wstate6 [2:0] ), .fls_wstate3 (fls_wstate7 [2:0] ), .fls_tcc_number_0 (fls_tcc_number_4 [7:0] ), .fls_tcc_number_1 (fls_tcc_number_5 [7:0] ), .fls_tcc_number_2 (fls_tcc_number_6 [7:0] ), .fls_tcc_number_3 (fls_tcc_number_7 [7:0] ), .fls_tid_dec_w_in (fls_tid_dec_w_in [7:4] ), .fls_por_request (fls_por_request [7:4] ), .fls_xir_request (fls_xir_request [7:4] ), .fls_ivt_request (fls_ivt_request [7:4] ), .fls_sir_request (fls_sir_request [7:4] ), .fls_itm_request (fls_itm_request [7:4] ), .fls_iln_request (fls_iln_request [7:4] ), .fls_hst_request (fls_hst_request [7:4] ), .fls_tlz_request (fls_tlz_request [7:4] ), .fls_sma_request (fls_sma_request [7:4] ), .fls_cwq_request (fls_cwq_request [7:4] ), .fls_ade_request (fls_ade_request [7:4] ), .fls_iae_request (fls_iae_request [7:4] ), .fls_ipe_request (fls_ipe_request [7:4] ), .fls_ipv_request (fls_ipv_request [1 ] ), .fls_inp_request (fls_inp_request [1 ] ), .fls_iar_request (fls_iar_request [1 ] ), .fls_irr_request (fls_irr_request [1 ] ), .fls_mar_request (fls_mar_request [1 ] ), .fls_mrr_request (fls_mrr_request [1 ] ), .fls_pro_request (fls_pro_request [1 ] ), .fls_ill_request (fls_ill_request [1 ] ), .fls_don_request (fls_don_request [1 ] ), .fls_ret_request (fls_ret_request [1 ] ), .fls_fpd_request (fls_fpd_request [1 ] ), .fls_snn_request (fls_snn_request [1 ] ), .fls_sno_request (fls_sno_request [1 ] ), .fls_fnn_request (fls_fnn_request [1 ] ), .fls_fno_request (fls_fno_request [1 ] ), .fls_clw_request (fls_clw_request [1 ] ), .fls_dtm_request (fls_dtm_request [7:4] ), .fls_ldf_request (fls_ldf_request [1 ] ), .fls_stf_request (fls_stf_request [1 ] ), .fls_dap_request (fls_dap_request [1 ] ), .fls_vaw_request (fls_vaw_request [1 ] ), .fls_iaw_request (fls_iaw_request [1 ] ), .fls_paw_request (fls_paw_request [1 ] ), .fls_maa_request (fls_maa_request [1 ] ), .fls_fpe_request (fls_fpe_request [1 ] ), .fls_fei_request (fls_fei_request [7:4] ), .fls_fof_request (fls_fof_request [7:4] ), .fls_pra_request (fls_pra_request [7:4] ), .fls_dia_request (fls_dia_request [1 ] ), .fls_ups_request (fls_ups_request [7:4] ), .fls_dpv_request (fls_dpv_request [1 ] ), .fls_dnc_request (fls_dnc_request [1 ] ), .fls_dnf_request (fls_dnf_request [1 ] ), .fls_dso_request (fls_dso_request [1 ] ), .fls_tof_request (fls_tof_request [1 ] ), .fls_dbz_request (fls_dbz_request [7:4] ), .fls_tcc_request (fls_tcc_request [1 ] ), .fls_dae_request (fls_dae_request [7:4] ), .fls_lsr_request (fls_lsr_request [7:4] ), .fls_irt_request (fls_irt_request [1 ] ), .fls_drt_request (fls_drt_request [1 ] ), .fls_pmu_request (fls_pmu_request [7:4] ), .fls_mqr_request (fls_mqr_request [7:4] ), .fls_dqr_request (fls_dqr_request [7:4] ), .fls_rqr_request (fls_rqr_request [7:4] ), .fls_idl_request (fls_idl_request [7:4] ), .fls_res_request (fls_res_request [7:4] ), .fls_ssr_request (fls_ssr_request [7:4] ), .fls_ssc_request (fls_ssc_request [7:4] ), .fls_nns_request (fls_nns_request [7:4] ), .fls_ime_request (fls_ime_request [7:4] ), .fls_dme_request (fls_dme_request [7:4] ), .fls_eer_request (fls_eer_request [7:4] ), .fls_icp_request (fls_icp_request [1 ] ), .fls_ftt_request (fls_ftt_request [7:4] ), .fls_ibp_request (fls_ibp_request [1 ] ), .fls_tct_request (fls_tct_request [1 ] ), .fls_ref_request (fls_ref_request [1 ] ), .fls_ipe_dme_request (fls_ipe_dme_request [1 ] ), .fls_pc_valid (fls_pc_valid [7:4] ), .fls_load_dsfar (fls_load_dsfar [7:4] ), .fls_irf_cecc_b (fls_irf_cecc_b [1 ] ), .fls_irf_uecc_b (fls_irf_uecc_b [1 ] ), .fls_kill_irf_ecc_w (fls_kill_irf_ecc_w [1 ] ), .fls_cwp0 (fls1_cwp0 [2:0] ), .fls_cwp1 (fls1_cwp1 [2:0] ), .fls_cwp2 (fls1_cwp2 [2:0] ), .fls_cwp3 (fls1_cwp3 [2:0] ), .fls_core_running (fls_core_running [7:4] ), .fls_ss_request (fls_ss_request_unused ), .fls_pct_pc_en (fls_pct_pc_en [7:4] ), .fls_pct_npc_en (fls_pct_npc_en [7:4] ), .fls_trl_l1en (fls_trl_l1en [7:4] ), .fls_npc_if_cnt_eq_1_d (fls1_npc_if_cnt_eq_1_d [4:2] ), .fls_npc_if_cnt_eq_2_d (fls1_npc_if_cnt_eq_2_d [4:2] ), .fls_npc_if_cnt_eq_3_d (fls1_npc_if_cnt_eq_3_d [4:2] ), .fls_flush (fls_flush [7:4] ), .fls_disrupting_flush_w (fls_disrupting_flush_w [1 ] ), .fls_f_cecc_w (fls_f_cecc_w_unused ), .fls_f_uecc_w (fls_f_uecc_w_unused ), .fls_ss_update_pc_w (fls_ss_update_pc_w [1 ] ), .tlu_iht_request (tlu_iht_request [7:4] ), .tlu_dht_request (tlu_dht_request [7:4] ), .tlu_itlb_bypass_e (tlu_itlb_bypass_e [1 ] ), .tlu_tag_access_tid_b (tlu_tag_access_tid_1_b [1:0] ), .tlu_i_tag_access_b (tlu_i_tag_access_1_b ), .tlu_d_tag_access_b (tlu_d_tag_access_1_b ), .tlu_retry_state (tlu_retry_state [7:4] ), .tlu_halted (tlu_halted [7:4] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .spc_aclk_wmr(spc_aclk_wmr), .lsu_tlu_pmen(lsu_tlu_pmen), .tcu_ss_mode(tcu_ss_mode), .tcu_do_mode(tcu_do_mode), .tcu_ss_request(tcu_ss_request), .lsu_lddf_align_b(lsu_lddf_align_b), .lsu_stdf_align_b(lsu_stdf_align_b), .lsu_illegal_inst_b(lsu_illegal_inst_b), .lsu_daccess_prot_b(lsu_daccess_prot_b), .lsu_priv_action_b(lsu_priv_action_b), .lsu_va_watchpoint_b(lsu_va_watchpoint_b), .lsu_pa_watchpoint_b(lsu_pa_watchpoint_b), .lsu_align_b(lsu_align_b), .lsu_tlb_miss_b_(lsu_tlb_miss_b_), .lsu_dae_invalid_asi_b(lsu_dae_invalid_asi_b), .lsu_dae_nc_page_b(lsu_dae_nc_page_b), .lsu_dae_nfo_page_b(lsu_dae_nfo_page_b), .lsu_dae_priv_viol_b(lsu_dae_priv_viol_b), .lsu_dae_so_page(lsu_dae_so_page), .lsu_priv_action_g(lsu_priv_action_g), .lsu_tid_g(lsu_tid_g[2:0]), .lsu_tlb_bypass_b(lsu_tlb_bypass_b), .lsu_tlb_real_b(lsu_tlb_real_b), .lsu_sync_inst_b(lsu_sync_inst_b), .lsu_tlu_twocycle_m(lsu_tlu_twocycle_m), .lsu_dcl2u_err_g(lsu_dcl2u_err_g), .lsu_dcl2nd_err_g(lsu_dcl2nd_err_g), .lsu_dcerr_tid_g(lsu_dcerr_tid_g[2:0]), .lsu_sbdlc_err_g(lsu_sbdlc_err_g), .lsu_sbdlu_err_g(lsu_sbdlu_err_g), .lsu_sbapp_err_g(lsu_sbapp_err_g), .lsu_sbdiou_err_g(lsu_sbdiou_err_g), .lsu_stberr_tid_g(lsu_stberr_tid_g[2:0]), .lsu_dttp_err_b(lsu_dttp_err_b), .lsu_dtdp_err_b(lsu_dtdp_err_b), .lsu_dtmh_err_b(lsu_dtmh_err_b), .lsu_perfmon_trap_b(lsu_perfmon_trap_b), .lsu_perfmon_trap_g(lsu_perfmon_trap_g), .fgu_predict_fx2(fgu_predict_fx2), .fgu_pdist_beat2_fx1(fgu_pdist_beat2_fx1), .fgu_cecc_fx2(fgu_cecc_fx2), .fgu_uecc_fx2(fgu_uecc_fx2), .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw), .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw), .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw), .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw), .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw), .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]), .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]), .asi_ece_exc(asi_ece_exc), .asi_eue_exc(asi_eue_exc), .asi_ecc_tid(asi_ecc_tid[2:0]), .asi_decr(asi_decr[63:46]), .mmu_asi_cecc(mmu_asi_cecc), .mmu_asi_uecc(mmu_asi_uecc), .mmu_asi_tid(mmu_asi_tid[2:0]), .mmu_dae_req(mmu_dae_req), .mmu_dae_tid(mmu_dae_tid[2:0]), .spu_tlu_ma_int_req(spu_tlu_ma_int_req[4:0]), .spu_tlu_cwq_int_req(spu_tlu_cwq_int_req[3:0]) ); //////////////////////////////////////////////////////////////////////////////// // PC and NPC tracking: one for each thread group tlu_pct_dp pct0 ( .wmr_scan_in(pct0_wmr_scanin), .wmr_scan_out(pct0_wmr_scanout), .scan_in(pct0_scanin), .scan_out(pct0_scanout), .l2clk (l2clk ), .dec_flush_b (dec_flush_b [0 ] ), .dec_inst_cnt (dec_inst0_cnt [1:0] ), .dec_raw_pick_p (dec_raw_pick_p [3:0] ), .exu_address_m (tic_exu_address0_m [47:2] ), .exu_oor_va_m (exu_oor_va_m [0 ] ), .asi_rd_pc (asi_rd_pc [3:0] ), .asi_wr_iaw (asi_wr_iaw [0 ] ), .asi_wr_data (asi_wr_data_0 [47:0] ), .fls_tid_dec_b (fls0_tid_dec_b [3:0] ), .fls_tid_dec_w (fls0_tid_dec_w [3:0] ), .fls_pc_sel_npc (fls_pc_sel_npc [3:0] ), .fls_pc_sel_npc_plus_4 (fls_pc_sel_npc_plus_4 [3:0] ), .fls_npc_sel_npc_plus_4 (fls_npc_sel_npc_plus_4 [3:0] ), .fls_npc_sel_npc_plus_8 (fls_npc_sel_npc_plus_8 [3:0] ), .fls_npc_sel_target (fls_npc_sel_target [3:0] ), .fls_npc_b_sel_npc (fls0_npc_b_sel_npc ), .fls_pc_is_npc (fls0_pc_is_npc ), .fls_pstate_am_d_ (fls_pstate_am_d_ [0 ] ), .fls_pstate_am_b_ (fls_pstate_am_b_ [0 ] ), .fls_pstate_am_w_ (fls_pstate_am_w_ [0 ] ), .fls_npc_if_cnt_eq_1_d (fls0_npc_if_cnt_eq_1_d [4:2] ), .fls_npc_if_cnt_eq_2_d (fls0_npc_if_cnt_eq_2_d [4:2] ), .fls_npc_if_cnt_eq_3_d (fls0_npc_if_cnt_eq_3_d [4:2] ), .fls_pct_pc_en (fls_pct_pc_en [3:0] ), .fls_pct_npc_en (fls_pct_npc_en [3:0] ), .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [3:0] ), .trl_npc_sel_trap_npc (trl_npc_sel_trap_npc [3:0] ), .trl_npc_sel_tnpc (trl_npc_sel_tnpc [3:0] ), .trl_trap_type (trl0_trap_type [8:0] ), .trl_pc_thread_sel (trl0_pc_thread_sel [3:0] ), .trl_pc_pstate_am_ (trl_pc_pstate_am_ [0 ] ), .trl_pc_sel_pc (trl_pc_sel_pc [0 ] ), .trl_pc_sel_npc (trl_pc_sel_npc [0 ] ), .trl_pc_sel_trap (trl_pc_sel_trap [0 ] ), .trl_pc_sel_reset (trl_pc_sel_reset [0 ] ), .trl_pc_done (trl_pc_done [0 ] ), .trl_pc_retry (trl_pc_retry [0 ] ), .trl_pc_tte (trl_pc_tte [0 ] ), .trl_pct_trap_pc_en (trl_pct_trap_pc_en [0 ] ), .trl_pct_tnpc_en (trl_pct_tnpc_en [0 ] ), .tsd_tba (tsd0_tba [47:14] ), .tsd_tpc (tsd0_tpc [47:2] ), .tsd_tpc_oor_va (tsd_tpc_oor_va [0 ] ), .tsd_tnpc (tsd0_tnpc [47:2] ), .tsd_tnpc_oor_va (tsd_tnpc_oor_va [0 ] ), .tsd_tnpc_nonseq (tsd_tnpc_nonseq [0 ] ), .tsd_asi_data_ (tsd0_asi_data_ [47:2] ), .tsd_pstate_am (tsd_pstate_am [3:0] ), .pct_npc_0_w (pct_npc_0_w [3:2] ), .pct_npc_1_w (pct_npc_1_w [3:2] ), .pct_npc_2_w (pct_npc_2_w [3:2] ), .pct_npc_3_w (pct_npc_3_w [3:2] ), .pct_asi_data (pct0_asi_data [48:2] ), .pct_tsa_pc (pct0_tsa_pc [47:2] ), .pct_tsa_pc_oor_va (pct_tsa_pc_oor_va [0 ] ), .pct_tsa_npc (pct0_tsa_npc [47:2] ), .pct_tsa_npc_oor_va (pct_tsa_npc_oor_va [0 ] ), .pct_tsa_npc_nonseq (pct_tsa_npc_nonseq [0 ] ), .pct_npc_is_nonseq (pct_npc_is_nonseq [3:0] ), .pct_pc_oor_va_e (pct_pc_oor_va_e [0 ] ), .pct_iaw_exc_e (pct0_iaw_exc_e [1:0] ), .pct_shadow_pc_d (pct0_shadow_pc_d [47:2] ), .pct_npc_w (pct0_npc_w [47:2] ), .pct_target_b (pct0_target_b [47:2] ), .pct_trl_wr_data (pct0_trl_wr_data [16:0] ), .tsd_pc_w (tsd_pc_0_w [10:5] ), .tlu_pc_d (tlu_pc_0_prebuf_d [47:2] ), .tlu_pc_w (tlu_pc_0_w [47:13] ), .tlu_trap_pc (tlu_trap_pc_0 [47:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .tcu_dectest(tcu_dectest), .tcu_muxtest(tcu_muxtest), .tcu_scan_en_wmr(tcu_scan_en_wmr), .spc_aclk_wmr(spc_aclk_wmr), .tcu_wmr_vec_mask(tcu_wmr_vec_mask), .mmu_itte_tag_data(mmu_itte_tag_data[47:0]), .asi_rd_iaw(asi_rd_iaw) ); tlu_pct_dp pct1 ( .wmr_scan_in(pct1_wmr_scanin), .wmr_scan_out(pct1_wmr_scanout), .scan_in(pct1_scanin), .scan_out(pct1_scanout), .l2clk (l2clk ), .dec_flush_b (dec_flush_b [1 ] ), .dec_inst_cnt (dec_inst1_cnt [1:0] ), .dec_raw_pick_p (dec_raw_pick_p [7:4] ), .exu_address_m (tic_exu_address1_m [47:2] ), .exu_oor_va_m (exu_oor_va_m [1 ] ), .asi_rd_pc (asi_rd_pc [7:4] ), .asi_wr_iaw (asi_wr_iaw [1 ] ), .asi_wr_data (asi_wr_data_1 [47:0] ), .fls_tid_dec_b (fls1_tid_dec_b [3:0] ), .fls_tid_dec_w (fls1_tid_dec_w [3:0] ), .fls_pc_sel_npc (fls_pc_sel_npc [7:4] ), .fls_pc_sel_npc_plus_4 (fls_pc_sel_npc_plus_4 [7:4] ), .fls_npc_sel_npc_plus_4 (fls_npc_sel_npc_plus_4 [7:4] ), .fls_npc_sel_npc_plus_8 (fls_npc_sel_npc_plus_8 [7:4] ), .fls_npc_sel_target (fls_npc_sel_target [7:4] ), .fls_npc_b_sel_npc (fls1_npc_b_sel_npc ), .fls_pc_is_npc (fls1_pc_is_npc ), .fls_pstate_am_d_ (fls_pstate_am_d_ [1 ] ), .fls_pstate_am_b_ (fls_pstate_am_b_ [1 ] ), .fls_pstate_am_w_ (fls_pstate_am_w_ [1 ] ), .fls_npc_if_cnt_eq_1_d (fls1_npc_if_cnt_eq_1_d [4:2] ), .fls_npc_if_cnt_eq_2_d (fls1_npc_if_cnt_eq_2_d [4:2] ), .fls_npc_if_cnt_eq_3_d (fls1_npc_if_cnt_eq_3_d [4:2] ), .fls_pct_pc_en (fls_pct_pc_en [7:4] ), .fls_pct_npc_en (fls_pct_npc_en [7:4] ), .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [7:4] ), .trl_npc_sel_trap_npc (trl_npc_sel_trap_npc [7:4] ), .trl_npc_sel_tnpc (trl_npc_sel_tnpc [7:4] ), .trl_trap_type (trl1_trap_type [8:0] ), .trl_pc_thread_sel (trl1_pc_thread_sel [3:0] ), .trl_pc_pstate_am_ (trl_pc_pstate_am_ [1 ] ), .trl_pc_sel_pc (trl_pc_sel_pc [1 ] ), .trl_pc_sel_npc (trl_pc_sel_npc [1 ] ), .trl_pc_sel_trap (trl_pc_sel_trap [1 ] ), .trl_pc_sel_reset (trl_pc_sel_reset [1 ] ), .trl_pc_done (trl_pc_done [1 ] ), .trl_pc_retry (trl_pc_retry [1 ] ), .trl_pc_tte (trl_pc_tte [1 ] ), .trl_pct_trap_pc_en (trl_pct_trap_pc_en [1 ] ), .trl_pct_tnpc_en (trl_pct_tnpc_en [1 ] ), .tsd_tba (tsd1_tba [47:14] ), .tsd_tpc (tsd1_tpc [47:2] ), .tsd_tpc_oor_va (tsd_tpc_oor_va [1 ] ), .tsd_tnpc (tsd1_tnpc [47:2] ), .tsd_tnpc_oor_va (tsd_tnpc_oor_va [1 ] ), .tsd_tnpc_nonseq (tsd_tnpc_nonseq [1 ] ), .tsd_asi_data_ (tsd1_asi_data_ [47:2] ), .tsd_pstate_am (tsd_pstate_am [7:4] ), .pct_npc_0_w (pct_npc_4_w [3:2] ), .pct_npc_1_w (pct_npc_5_w [3:2] ), .pct_npc_2_w (pct_npc_6_w [3:2] ), .pct_npc_3_w (pct_npc_7_w [3:2] ), .pct_asi_data (pct1_asi_data [48:2] ), .pct_tsa_pc (pct1_tsa_pc [47:2] ), .pct_tsa_pc_oor_va (pct_tsa_pc_oor_va [1 ] ), .pct_tsa_npc (pct1_tsa_npc [47:2] ), .pct_tsa_npc_oor_va (pct_tsa_npc_oor_va [1 ] ), .pct_tsa_npc_nonseq (pct_tsa_npc_nonseq [1 ] ), .pct_npc_is_nonseq (pct_npc_is_nonseq [7:4] ), .pct_pc_oor_va_e (pct_pc_oor_va_e [1 ] ), .pct_iaw_exc_e (pct1_iaw_exc_e [1:0] ), .pct_shadow_pc_d (pct1_shadow_pc_d [47:2] ), .pct_npc_w (pct1_npc_w [47:2] ), .pct_target_b (pct1_target_b [47:2] ), .pct_trl_wr_data (pct1_trl_wr_data [16:0] ), .tsd_pc_w (tsd_pc_1_w [10:5] ), .tlu_pc_d (tlu_pc_1_d [47:2] ), .tlu_pc_w (tlu_pc_1_w [47:13] ), .tlu_trap_pc (tlu_trap_pc_1 [47:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .tcu_dectest(tcu_dectest), .tcu_muxtest(tcu_muxtest), .tcu_scan_en_wmr(tcu_scan_en_wmr), .spc_aclk_wmr(spc_aclk_wmr), .tcu_wmr_vec_mask(tcu_wmr_vec_mask), .mmu_itte_tag_data(mmu_itte_tag_data[47:0]), .asi_rd_iaw(asi_rd_iaw) ); tlu_npc_dp npc( .pct0_npc_w(pct0_npc_w[47:2]), .pct1_npc_w(pct1_npc_w[47:2]), .fls1_lsu_inst_w(fls1_lsu_inst_w), .tlu_npc_w(tlu_npc_w[47:2])); //////////////////////////////////////////////////////////////////////////////// // Crossbar Interface tlu_cxi_ctl cxi ( .scan_in(cxi_scanin), .scan_out(cxi_scanout), .l2clk (l2clk ), .lsu_cpx_req (l15_spc_cpkt [17:14] ), .lsu_cpx_err (l15_spc_cpkt [11:10] ), .lsu_cpx_sre (l15_spc_cpkt [9 ] ), .lsu_cpx_err_thread_id (l15_spc_cpkt [8:6] ), .lsu_cpx_thread_id (l15_spc_data1 [10:8] ), .lsu_cpx_valid (l15_spc_valid ), .lsu_cpx_type (l15_spc_data1 [15:14] ), .lsu_cpx_vector (l15_spc_data1 [5:0] ), .lsu_cpx_prefetch (l15_spc_cpkt [0 ] ), .spc_ss_complete (tlu_ss_complete ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .fls_core_running(fls_core_running[7:0]), .fls_ss_request(fls_ss_request), .lsu_ext_interrupt(lsu_ext_interrupt), .lsu_ext_int_type(lsu_ext_int_type[1:0]), .lsu_ext_int_vec(lsu_ext_int_vec[5:0]), .lsu_ext_int_tid(lsu_ext_int_tid[2:0]), .trl_ss_complete(trl_ss_complete[7:0]), .asi_irl_cleared(asi_irl_cleared[7:0]), .cth_irl_cleared(cth_irl_cleared[63:0]), .tlu_cerer_l2c_socc(tlu_cerer_l2c_socc), .tlu_cerer_l2u_socu(tlu_cerer_l2u_socu), .tlu_cerer_l2nd(tlu_cerer_l2nd), .cxi_xir(cxi_xir[7:0]), .cxi_ivt(cxi_ivt[7:0]), .cxi_wr_int_dis(cxi_wr_int_dis[7:0]), .cxi_int_dis_vec(cxi_int_dis_vec[5:0]), .cxi_l2_soc_sre(cxi_l2_soc_sre), .cxi_l2_soc_err_type(cxi_l2_soc_err_type[1:0]), .cxi_l2_soc_tid(cxi_l2_soc_tid[2:0]), .cxi_l2_err(cxi_l2_err), .cxi_soc_err(cxi_soc_err) ); assign l15_spc_cpkt_unused[13:12] = l15_spc_cpkt[13:12]; assign l15_spc_cpkt_unused[5:1] = l15_spc_cpkt[5:1]; assign l15_spc_data1_unused[13:11] = l15_spc_data1[13:11]; assign l15_spc_data1_unused[7:6] = l15_spc_data1[7:6]; //////////////////////////////////////////////////////////////////////////////// // Cross Thread Interrupts tlu_cth_dp cth ( .wmr_scan_in(cth_wmr_scanin), .wmr_scan_out(cth_wmr_scanout), .scan_in(cth_scanin), .scan_out(cth_scanout), .l2clk (l2clk ), .asi_wr_data (asi_wr_data_0 [63:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .tcu_dectest(tcu_dectest), .tcu_muxtest(tcu_muxtest), .tcu_scan_en_wmr(tcu_scan_en_wmr), .spc_aclk_wmr(spc_aclk_wmr), .lsu_rngf_cdbus(lsu_rngf_cdbus[64:56]), .cxi_wr_int_dis(cxi_wr_int_dis[7:0]), .cxi_int_dis_vec(cxi_int_dis_vec[5:0]), .asi_wr_int_rec(asi_wr_int_rec[7:0]), .asi_rd_inc_vec_2(asi_rd_inc_vec_2[7:0]), .asi_int_rec_mux_sel_in(asi_int_rec_mux_sel_in[2:0]), .asi_rd_int_rec(asi_rd_int_rec), .asi_rd_inc_vec(asi_rd_inc_vec), .asi_wr_any_int_rec(asi_wr_any_int_rec), .asi_rd_stage_1(asi_rd_stage_1), .dfd_asi_data(dfd_asi_data[47:0]), .dfd_asi_desr(dfd_asi_desr[18:0]), .cth_wr_data(cth_wr_data[61:0]), .cth_asi_data(cth_asi_data[63:0]), .cth_irl_cleared(cth_irl_cleared[63:0]) ); //////////////////////////////////////////////////////////////////////////////// // Trap Redirect Logic: one for each thread group tlu_trl_ctl trl0 ( .wmr_scan_in(trl0_wmr_scanin), .wmr_scan_out(trl0_wmr_scanout), .scan_in(trl0_scanin), .scan_out(trl0_scanout), .l2clk (l2clk ), .thread_group (1'b0 ), .ftu_ifu_quiesce (ftu_ifu_quiesce [3:0] ), .pku_quiesce (pku_quiesce [3:0] ), .exu_tlu_window_block (exu_tlu_window_block [0 ] ), .lsu_stb_empty (lsu_stb_empty [3:0] ), .mmu_write_itlb (mmu_write_itlb [3:0] ), .mmu_reload_done (mmu_reload_done [3:0] ), .mmu_i_unauth_access (mmu_i_unauth_access [3:0] ), .mmu_i_tsb_miss (mmu_i_tsb_miss [3:0] ), .mmu_d_tsb_miss (mmu_d_tsb_miss [3:0] ), .mmu_i_tte_outofrange (mmu_i_tte_outofrange [3:0] ), .mmu_d_tte_outofrange (mmu_d_tte_outofrange [3:0] ), .fls_wstate0 (fls_wstate0 [2:0] ), .fls_wstate1 (fls_wstate1 [2:0] ), .fls_wstate2 (fls_wstate2 [2:0] ), .fls_wstate3 (fls_wstate3 [2:0] ), .fls_tcc_number_0 (fls_tcc_number_0 [7:0] ), .fls_tcc_number_1 (fls_tcc_number_1 [7:0] ), .fls_tcc_number_2 (fls_tcc_number_2 [7:0] ), .fls_tcc_number_3 (fls_tcc_number_3 [7:0] ), .fls_tid_d (fls0_tid_d [1:0] ), .fls_tid_dec_w_in (fls_tid_dec_w_in [3:0] ), .fls_por_request (fls_por_request [3:0] ), .fls_xir_request (fls_xir_request [3:0] ), .fls_ivt_request (fls_ivt_request [3:0] ), .fls_sir_request (fls_sir_request [3:0] ), .fls_itm_request (fls_itm_request [3:0] ), .fls_iln_request (fls_iln_request [3:0] ), .fls_hst_request (fls_hst_request [3:0] ), .fls_tlz_request (fls_tlz_request [3:0] ), .fls_sma_request (fls_sma_request [3:0] ), .fls_cwq_request (fls_cwq_request [3:0] ), .fls_ade_request (fls_ade_request [3:0] ), .fls_iae_request (fls_iae_request [3:0] ), .fls_ipe_request (fls_ipe_request [3:0] ), .fls_ipv_request (fls_ipv_request [0 ] ), .fls_inp_request (fls_inp_request [0 ] ), .fls_iar_request (fls_iar_request [0 ] ), .fls_irr_request (fls_irr_request [0 ] ), .fls_mar_request (fls_mar_request [0 ] ), .fls_mrr_request (fls_mrr_request [0 ] ), .fls_pro_request (fls_pro_request [0 ] ), .fls_ill_request (fls_ill_request [0 ] ), .fls_don_request (fls_don_request [0 ] ), .fls_ret_request (fls_ret_request [0 ] ), .fls_fpd_request (fls_fpd_request [0 ] ), .fls_snn_request (fls_snn_request [0 ] ), .fls_sno_request (fls_sno_request [0 ] ), .fls_fnn_request (fls_fnn_request [0 ] ), .fls_fno_request (fls_fno_request [0 ] ), .fls_clw_request (fls_clw_request [0 ] ), .fls_dtm_request (fls_dtm_request [3:0] ), .fls_ldf_request (fls_ldf_request [0 ] ), .fls_stf_request (fls_stf_request [0 ] ), .fls_dap_request (fls_dap_request [0 ] ), .fls_vaw_request (fls_vaw_request [0 ] ), .fls_iaw_request (fls_iaw_request [0 ] ), .fls_paw_request (fls_paw_request [0 ] ), .fls_maa_request (fls_maa_request [0 ] ), .fls_fpe_request (fls_fpe_request [0 ] ), .fls_fei_request (fls_fei_request [3:0] ), .fls_fof_request (fls_fof_request [3:0] ), .fls_pra_request (fls_pra_request [3:0] ), .fls_dia_request (fls_dia_request [0 ] ), .fls_ups_request (fls_ups_request [3:0] ), .fls_dpv_request (fls_dpv_request [0 ] ), .fls_dnc_request (fls_dnc_request [0 ] ), .fls_dnf_request (fls_dnf_request [0 ] ), .fls_dso_request (fls_dso_request [0 ] ), .fls_tof_request (fls_tof_request [0 ] ), .fls_dbz_request (fls_dbz_request [3:0] ), .fls_tcc_request (fls_tcc_request [0 ] ), .fls_dae_request (fls_dae_request [3:0] ), .fls_lsr_request (fls_lsr_request [3:0] ), .fls_irt_request (fls_irt_request [0 ] ), .fls_drt_request (fls_drt_request [0 ] ), .fls_pmu_request (fls_pmu_request [3:0] ), .fls_mqr_request (fls_mqr_request [3:0] ), .fls_dqr_request (fls_dqr_request [3:0] ), .fls_rqr_request (fls_rqr_request [3:0] ), .fls_idl_request (fls_idl_request [3:0] ), .fls_res_request (fls_res_request [3:0] ), .fls_ssr_request (fls_ssr_request [3:0] ), .fls_ssc_request (fls_ssc_request [3:0] ), .fls_nns_request (fls_nns_request [3:0] ), .fls_ime_request (fls_ime_request [3:0] ), .fls_dme_request (fls_dme_request [3:0] ), .fls_eer_request (fls_eer_request [3:0] ), .fls_icp_request (fls_icp_request [0 ] ), .fls_ftt_request (fls_ftt_request [3:0] ), .fls_ibp_request (fls_ibp_request [0 ] ), .fls_tct_request (fls_tct_request [0 ] ), .fls_ref_request (fls_ref_request [0 ] ), .fls_pc_valid (fls_pc_valid [3:0] ), .pmu_tlu_trap_m (pmu_tlu_trap_m [3:0] ), .fls_trl_l1en (fls_trl_l1en [3:0] ), .fls_core_running (fls_core_running [3:0] ), .tlu_flush_ifu (tlu_flush_ifu [3:0] ), .pct_npc_is_nonseq (pct_npc_is_nonseq [3:0] ), .trlx_itw_wait (1'b0 ), .trlx_itw_last (trl1_itw_last ), .tsa_gl (tsa0_gl [1:0] ), .tsa_tnpc_nonseq (tsa_tnpc_nonseq [0 ] ), .tel_tsacu_exc (tel_tsacu_exc [3:0] ), .tlu_ceter_de (tlu_ceter_de [3:0] ), .tlu_ceter_pscce (tlu_ceter_pscce [3:0] ), .tsd_hpstate_red (tsd_hpstate_red [3:0] ), .tsd_hpstate_hpriv (tsd_hpstate_hpriv [3:0] ), .tsd_hpstate_tlz (tsd_hpstate_tlz [3:0] ), .tsd_pstate_ie (tsd_pstate_ie [3:0] ), .tsd_pstate_am (tsd_pstate_am [3:0] ), .tsd_htstate_hpriv (tsd_htstate_hpriv [0] ), .asi_rd_tl (asi_rd_tl [3:0] ), .asi_wr_tl (asi_wr_tl [3:0] ), .asi_rd_pil (asi_rd_pil [3:0] ), .asi_wr_pil (asi_wr_pil [3:0] ), .asi_rd_gl (asi_rd_gl [3:0] ), .asi_wr_gl (asi_wr_gl [3:0] ), .asi_wr_set_softint (asi_wr_set_softint [3:0] ), .asi_wr_clear_softint (asi_wr_clear_softint [3:0] ), .asi_rd_softint (asi_rd_softint [3:0] ), .asi_wr_softint (asi_wr_softint [3:0] ), .asi_rd_hintp (asi_rd_hintp [3:0] ), .asi_wr_hintp (asi_wr_hintp [3:0] ), .asi_wr_data (pct0_trl_wr_data [16:0] ), .asi_preempt_trap (asi_preempt_trap [0 ] ), .asi_preempt_done_retry (asi_preempt_done_retry [0 ] ), .asi_rmw_tsa (asi_rmw_tsa [0 ] ), .asi_wr_asireg (asi_wr_asireg [3:0] ), .asi_trl_pstate_en (asi_trl_pstate_en [0 ] ), .asi_mbist_tsa_rd_en (asi_mbist_tsa_rd_en [0 ] ), .asi_mbist_tsa_wr_en (asi_mbist_tsa_wr_en [0 ] ), .spc_core_running_status(tlu_core_running_status[3:0] ), .trl_core_running_status(trl_core_running_status[3:0] ), .trl_pil_mask_15 (trl_pil_mask_15 [3:0] ), .trl_iln_exc (trl_iln_exc [3:0] ), .trl_hstick_match (trl_hstick_match [3:0] ), .trl_unhalt_ (trl_unhalt_ [3:0] ), .trl_tlz_exc (trl_tlz_exc [3:0] ), .trl_nns_exc (trl_nns_exc [3:0] ), .trl_ssc_exc (trl_ssc_exc [3:0] ), .trl_take_sma (trl0_take_sma ), .trl_take_cwq (trl0_take_cwq ), .trl_take_xir (trl0_take_xir ), .trl_take_ftt (trl0_take_ftt ), .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [3:0] ), .trl_npc_sel_trap_npc (trl_npc_sel_trap_npc [3:0] ), .trl_npc_sel_tnpc (trl_npc_sel_tnpc [3:0] ), .trl_invalidate_pc (trl_invalidate_pc [3:0] ), .trl_invalidate_npc (trl_invalidate_npc [3:0] ), .trl_trap_type (trl0_trap_type [8:0] ), .trl_tsa_trap_type (trl0_tsa_trap_type [8:0] ), .trl_asireg_sel (trl0_asireg_sel [4:0] ), .trl_asireg_en (trl0_asireg_en ), .trl_thread_sel (trl0_thread_sel [3:0] ), .trl_tba_sel (trl0_tba_sel [2:0] ), .trl_pc_thread_sel (trl0_pc_thread_sel [3:0] ), .trl_pc_pstate_am_ (trl_pc_pstate_am_ [0 ] ), .trl_pstate_thread_sel (trl0_pstate_thread_sel [4:0] ), .trl_don_ret_pstate_sel (trl0_don_ret_pstate_sel[3:0] ), .trl_pstate_en (trl0_pstate_en ), .trl_pc_sel_pc (trl_pc_sel_pc [0 ] ), .trl_pc_sel_npc (trl_pc_sel_npc [0 ] ), .trl_pc_sel_trap (trl_pc_sel_trap [0 ] ), .trl_pc_sel_reset (trl_pc_sel_reset [0 ] ), .trl_pc_done (trl_pc_done [0 ] ), .trl_pc_retry (trl_pc_retry [0 ] ), .trl_pc_tte (trl_pc_tte [0 ] ), .trl_pct_trap_pc_en (trl_pct_trap_pc_en [0 ] ), .trl_pct_tnpc_en (trl_pct_tnpc_en [0 ] ), .trl_reset_trap (trl_reset_trap [0 ] ), .trl_other_trap (trl_other_trap [0 ] ), .trl_stay_in_priv (trl_stay_in_priv [0 ] ), .trl_tsa_wr_en (trl_tsa_wr_en_pre [0 ] ), .trl_tsa_wr_addr (trl0_tsa_wr_addr [4:0] ), .trl_tsa_rd_en (trl_tsa_rd_en [0 ] ), .trl_tsa_rd_addr (trl0_tsa_rd_addr [4:0] ), .trl_save_tsa (trl0_save_tsa ), .trl_tsd_tsa_en (trl0_tsd_tsa_en ), .trl_tsd_tsa_wd_en (trl0_tsd_tsa_wd_en ), .trl_capture_ss (trl0_capture_ss ), .trl_rmw_tsa (trl0_rmw_tsa ), .trl_tl_gt_0 (trl_tl_gt_0 [0 ] ), .trl_tl_eq_0 (trl_tl_eq_0 [3:0] ), .trl_tsa_gl (trl0_tsa_gl [1:0] ), .trl_asi_data (trl0_asi_data [16:0] ), .trl_ss_complete (trl_ss_complete [3:0] ), .trl_itw_wait (trl0_itw_wait ), .trl_itw_last (trl0_itw_last ), .trl_shscanid (trl0_shscanid [1:0] ), .trl_shscanid_2 (trl0_shscanid_2 ), .trl_shadow_tl (trl0_shadow_tl [2:0] ), .trl_tl_for_tt (trl0_tl_for_tt [2:0] ), .trl_fls_npc_en (trl_fls_npc_en [3:0] ), .trl_trap_taken (trl_trap_taken [3:0] ), .trl_tel_en (trl_tel_en [0 ] ), .trl_gl0 (trl_gl0 [1:0] ), .trl_gl1 (trl_gl1 [1:0] ), .trl_gl2 (trl_gl2 [1:0] ), .trl_gl3 (trl_gl3 [1:0] ), .trl_tsacu_en_in (trl_tsacu_en_in [3:0] ), .tlu_tsa_index (tlu_tsa_index_0 [2:0] ), .tlu_tccd (tlu_tccd [3:0] ), .tlu_tcud (tlu_tcud [3:0] ), .tlu_tca_index (tlu_tca_index_0 [1:0] ), .tlu_window_block (tlu_window_block [0 ] ), .tlu_trap_pc_valid (tlu_trap_pc_0_valid ), .tlu_retry (tlu_retry [0 ] ), .tlu_ifu_invalidate (tlu_ifu_invalidate [0 ] ), .tlu_trap_tid (tlu_trap_0_tid [1:0] ), .tlu_itlb_reload (tlu_itlb_reload [0 ] ), .tlu_ccr_cwp_valid (tlu_ccr_cwp_0_valid ), .tlu_ccr_cwp_tid (tlu_ccr_cwp_0_tid [1:0] ), .tlu_asi_valid (tlu_asi_0_valid ), .tlu_asi_tid (tlu_asi_0_tid [1:0] ), .tlu_gl0 (tlu_gl0 [1:0] ), .tlu_gl1 (tlu_gl1 [1:0] ), .tlu_gl2 (tlu_gl2 [1:0] ), .tlu_gl3 (tlu_gl3 [1:0] ), .tlu_tl_gt_0 (tlu_tl_gt_0 [3:0] ), .tlu_mmu_tl_gt_0 (tlu_mmu_tl_gt_0 [3:0] ), .tlu_release_tte (tlu_release_tte [3:0] ), .tlu_lsu_clear_ctl_reg_ (tlu_lsu_clear_ctl_reg_ [3:0] ), .tlu_pmu_trap_taken (tlu_pmu_trap_taken [3:0] ), .tlu_pmu_trap_mask_e (tlu_pmu_trap_mask_e [0 ] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .spc_aclk_wmr(spc_aclk_wmr), .lsu_tlu_pmen(lsu_tlu_pmen), .tcu_shscanid(tcu_shscanid[2:0]), .tcu_ss_mode(tcu_ss_mode), .tcu_do_mode(tcu_do_mode), .mbi_run(mbi_run), .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw), .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw), .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw), .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw), .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw), .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]), .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]), .spu_pmu_ma_busy(spu_pmu_ma_busy), .spu_tlu_cwq_busy(spu_tlu_cwq_busy), .spu_tlu_ma_int_req(spu_tlu_ma_int_req[2:0]), .tic_addr(tic_addr[4:0]), .tic_not_valid(tic_not_valid), .tic_match(tic_match), .cel_tccd(cel_tccd), .cel_tcud(cel_tcud), .asi_tsa_rd_addr(asi_tsa_rd_addr[4:0]), .asi_tsa_rd_iqr_ecc(asi_tsa_rd_iqr_ecc), .asi_tsa_tid(asi_tsa_tid[1:0]), .asi_mbist_addr(asi_mbist_addr[4:0]) ); tlu_trl_ctl trl1 ( .wmr_scan_in(trl1_wmr_scanin), .wmr_scan_out(trl1_wmr_scanout), .scan_in(trl1_scanin), .scan_out(trl1_scanout), .l2clk (l2clk ), .thread_group (1'b1 ), .ftu_ifu_quiesce (ftu_ifu_quiesce [7:4] ), .pku_quiesce (pku_quiesce [7:4] ), .exu_tlu_window_block (exu_tlu_window_block [1 ] ), .lsu_stb_empty (lsu_stb_empty [7:4] ), .mmu_write_itlb (mmu_write_itlb [7:4] ), .mmu_reload_done (mmu_reload_done [7:4] ), .mmu_i_unauth_access (mmu_i_unauth_access [7:4] ), .mmu_i_tsb_miss (mmu_i_tsb_miss [7:4] ), .mmu_d_tsb_miss (mmu_d_tsb_miss [7:4] ), .mmu_i_tte_outofrange (mmu_i_tte_outofrange [7:4] ), .mmu_d_tte_outofrange (mmu_d_tte_outofrange [7:4] ), .fls_wstate0 (fls_wstate4 [2:0] ), .fls_wstate1 (fls_wstate5 [2:0] ), .fls_wstate2 (fls_wstate6 [2:0] ), .fls_wstate3 (fls_wstate7 [2:0] ), .fls_tcc_number_0 (fls_tcc_number_4 [7:0] ), .fls_tcc_number_1 (fls_tcc_number_5 [7:0] ), .fls_tcc_number_2 (fls_tcc_number_6 [7:0] ), .fls_tcc_number_3 (fls_tcc_number_7 [7:0] ), .fls_tid_d (fls1_tid_d [1:0] ), .fls_tid_dec_w_in (fls_tid_dec_w_in [7:4] ), .fls_por_request (fls_por_request [7:4] ), .fls_xir_request (fls_xir_request [7:4] ), .fls_ivt_request (fls_ivt_request [7:4] ), .fls_sir_request (fls_sir_request [7:4] ), .fls_itm_request (fls_itm_request [7:4] ), .fls_iln_request (fls_iln_request [7:4] ), .fls_hst_request (fls_hst_request [7:4] ), .fls_tlz_request (fls_tlz_request [7:4] ), .fls_sma_request (fls_sma_request [7:4] ), .fls_cwq_request (fls_cwq_request [7:4] ), .fls_ade_request (fls_ade_request [7:4] ), .fls_iae_request (fls_iae_request [7:4] ), .fls_ipe_request (fls_ipe_request [7:4] ), .fls_ipv_request (fls_ipv_request [1 ] ), .fls_inp_request (fls_inp_request [1 ] ), .fls_iar_request (fls_iar_request [1 ] ), .fls_irr_request (fls_irr_request [1 ] ), .fls_mar_request (fls_mar_request [1 ] ), .fls_mrr_request (fls_mrr_request [1 ] ), .fls_pro_request (fls_pro_request [1 ] ), .fls_ill_request (fls_ill_request [1 ] ), .fls_don_request (fls_don_request [1 ] ), .fls_ret_request (fls_ret_request [1 ] ), .fls_fpd_request (fls_fpd_request [1 ] ), .fls_snn_request (fls_snn_request [1 ] ), .fls_sno_request (fls_sno_request [1 ] ), .fls_fnn_request (fls_fnn_request [1 ] ), .fls_fno_request (fls_fno_request [1 ] ), .fls_clw_request (fls_clw_request [1 ] ), .fls_dtm_request (fls_dtm_request [7:4] ), .fls_ldf_request (fls_ldf_request [1 ] ), .fls_stf_request (fls_stf_request [1 ] ), .fls_dap_request (fls_dap_request [1 ] ), .fls_vaw_request (fls_vaw_request [1 ] ), .fls_iaw_request (fls_iaw_request [1 ] ), .fls_paw_request (fls_paw_request [1 ] ), .fls_maa_request (fls_maa_request [1 ] ), .fls_fpe_request (fls_fpe_request [1 ] ), .fls_fei_request (fls_fei_request [7:4] ), .fls_fof_request (fls_fof_request [7:4] ), .fls_pra_request (fls_pra_request [7:4] ), .fls_dia_request (fls_dia_request [1 ] ), .fls_ups_request (fls_ups_request [7:4] ), .fls_dpv_request (fls_dpv_request [1 ] ), .fls_dnc_request (fls_dnc_request [1 ] ), .fls_dnf_request (fls_dnf_request [1 ] ), .fls_dso_request (fls_dso_request [1 ] ), .fls_tof_request (fls_tof_request [1 ] ), .fls_dbz_request (fls_dbz_request [7:4] ), .fls_tcc_request (fls_tcc_request [1 ] ), .fls_dae_request (fls_dae_request [7:4] ), .fls_lsr_request (fls_lsr_request [7:4] ), .fls_irt_request (fls_irt_request [1 ] ), .fls_drt_request (fls_drt_request [1 ] ), .fls_pmu_request (fls_pmu_request [7:4] ), .fls_mqr_request (fls_mqr_request [7:4] ), .fls_dqr_request (fls_dqr_request [7:4] ), .fls_rqr_request (fls_rqr_request [7:4] ), .fls_idl_request (fls_idl_request [7:4] ), .fls_res_request (fls_res_request [7:4] ), .fls_ssr_request (fls_ssr_request [7:4] ), .fls_ssc_request (fls_ssc_request [7:4] ), .fls_nns_request (fls_nns_request [7:4] ), .fls_ime_request (fls_ime_request [7:4] ), .fls_dme_request (fls_dme_request [7:4] ), .fls_eer_request (fls_eer_request [7:4] ), .fls_icp_request (fls_icp_request [1 ] ), .fls_ftt_request (fls_ftt_request [7:4] ), .fls_ibp_request (fls_ibp_request [1 ] ), .fls_tct_request (fls_tct_request [1 ] ), .fls_ref_request (fls_ref_request [1 ] ), .fls_pc_valid (fls_pc_valid [7:4] ), .pmu_tlu_trap_m (pmu_tlu_trap_m [7:4] ), .fls_trl_l1en (fls_trl_l1en [7:4] ), .fls_core_running (fls_core_running [7:4] ), .tlu_flush_ifu (tlu_flush_ifu [7:4] ), .pct_npc_is_nonseq (pct_npc_is_nonseq [7:4] ), .trlx_itw_wait (trl0_itw_wait ), .trlx_itw_last (trl0_itw_last ), .tsa_gl (tsa1_gl [1:0] ), .tsa_tnpc_nonseq (tsa_tnpc_nonseq [1 ] ), .tel_tsacu_exc (tel_tsacu_exc [7:4] ), .tlu_ceter_de (tlu_ceter_de [7:4] ), .tlu_ceter_pscce (tlu_ceter_pscce [7:4] ), .tsd_hpstate_red (tsd_hpstate_red [7:4] ), .tsd_hpstate_hpriv (tsd_hpstate_hpriv [7:4] ), .tsd_hpstate_tlz (tsd_hpstate_tlz [7:4] ), .tsd_pstate_ie (tsd_pstate_ie [7:4] ), .tsd_pstate_am (tsd_pstate_am [7:4] ), .tsd_htstate_hpriv (tsd_htstate_hpriv [1] ), .asi_rd_tl (asi_rd_tl [7:4] ), .asi_wr_tl (asi_wr_tl [7:4] ), .asi_rd_pil (asi_rd_pil [7:4] ), .asi_wr_pil (asi_wr_pil [7:4] ), .asi_rd_gl (asi_rd_gl [7:4] ), .asi_wr_gl (asi_wr_gl [7:4] ), .asi_wr_set_softint (asi_wr_set_softint [7:4] ), .asi_wr_clear_softint (asi_wr_clear_softint [7:4] ), .asi_rd_softint (asi_rd_softint [7:4] ), .asi_wr_softint (asi_wr_softint [7:4] ), .asi_rd_hintp (asi_rd_hintp [7:4] ), .asi_wr_hintp (asi_wr_hintp [7:4] ), .asi_wr_data (pct1_trl_wr_data [16:0] ), .asi_preempt_trap (asi_preempt_trap [1 ] ), .asi_preempt_done_retry (asi_preempt_done_retry [1 ] ), .asi_rmw_tsa (asi_rmw_tsa [1 ] ), .asi_wr_asireg (asi_wr_asireg [7:4] ), .asi_trl_pstate_en (asi_trl_pstate_en [1 ] ), .asi_mbist_tsa_rd_en (asi_mbist_tsa_rd_en [1 ] ), .asi_mbist_tsa_wr_en (asi_mbist_tsa_wr_en [1 ] ), .spc_core_running_status(tlu_core_running_status[7:4] ), .trl_core_running_status(trl_core_running_status[7:4] ), .trl_pil_mask_15 (trl_pil_mask_15 [7:4] ), .trl_iln_exc (trl_iln_exc [7:4] ), .trl_hstick_match (trl_hstick_match [7:4] ), .trl_unhalt_ (trl_unhalt_ [7:4] ), .trl_tlz_exc (trl_tlz_exc [7:4] ), .trl_nns_exc (trl_nns_exc [7:4] ), .trl_ssc_exc (trl_ssc_exc [7:4] ), .trl_take_sma (trl1_take_sma ), .trl_take_cwq (trl1_take_cwq ), .trl_take_xir (trl1_take_xir ), .trl_take_ftt (trl1_take_ftt ), .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [7:4] ), .trl_npc_sel_trap_npc (trl_npc_sel_trap_npc [7:4] ), .trl_npc_sel_tnpc (trl_npc_sel_tnpc [7:4] ), .trl_invalidate_pc (trl_invalidate_pc [7:4] ), .trl_invalidate_npc (trl_invalidate_npc [7:4] ), .trl_trap_type (trl1_trap_type [8:0] ), .trl_tsa_trap_type (trl1_tsa_trap_type [8:0] ), .trl_asireg_sel (trl1_asireg_sel [4:0] ), .trl_asireg_en (trl1_asireg_en ), .trl_thread_sel (trl1_thread_sel [3:0] ), .trl_tba_sel (trl1_tba_sel [2:0] ), .trl_pstate_thread_sel (trl1_pstate_thread_sel [4:0] ), .trl_don_ret_pstate_sel (trl1_don_ret_pstate_sel[3:0] ), .trl_pstate_en (trl1_pstate_en ), .trl_pc_thread_sel (trl1_pc_thread_sel [3:0] ), .trl_pc_pstate_am_ (trl_pc_pstate_am_ [1 ] ), .trl_pc_sel_pc (trl_pc_sel_pc [1 ] ), .trl_pc_sel_npc (trl_pc_sel_npc [1 ] ), .trl_pc_sel_trap (trl_pc_sel_trap [1 ] ), .trl_pc_sel_reset (trl_pc_sel_reset [1 ] ), .trl_pc_done (trl_pc_done [1 ] ), .trl_pc_retry (trl_pc_retry [1 ] ), .trl_pc_tte (trl_pc_tte [1 ] ), .trl_pct_trap_pc_en (trl_pct_trap_pc_en [1 ] ), .trl_pct_tnpc_en (trl_pct_tnpc_en [1 ] ), .trl_reset_trap (trl_reset_trap [1 ] ), .trl_other_trap (trl_other_trap [1 ] ), .trl_stay_in_priv (trl_stay_in_priv [1 ] ), .trl_tsa_wr_en (trl_tsa_wr_en_pre [1 ] ), .trl_tsa_wr_addr (trl1_tsa_wr_addr [4:0] ), .trl_tsa_rd_en (trl_tsa_rd_en [1 ] ), .trl_tsa_rd_addr (trl1_tsa_rd_addr [4:0] ), .trl_save_tsa (trl1_save_tsa ), .trl_tsd_tsa_en (trl1_tsd_tsa_en ), .trl_tsd_tsa_wd_en (trl1_tsd_tsa_wd_en ), .trl_capture_ss (trl1_capture_ss ), .trl_rmw_tsa (trl1_rmw_tsa ), .trl_tl_gt_0 (trl_tl_gt_0 [1 ] ), .trl_tl_eq_0 (trl_tl_eq_0 [7:4] ), .trl_tsa_gl (trl1_tsa_gl [1:0] ), .trl_asi_data (trl1_asi_data [16:0] ), .trl_ss_complete (trl_ss_complete [7:4] ), .trl_itw_wait (trl1_itw_wait_unused ), .trl_itw_last (trl1_itw_last ), .trl_shscanid (trl1_shscanid [1:0] ), .trl_shscanid_2 (trl1_shscanid_2 ), .trl_shadow_tl (trl1_shadow_tl [2:0] ), .trl_tl_for_tt (trl1_tl_for_tt [2:0] ), .trl_fls_npc_en (trl_fls_npc_en [7:4] ), .trl_trap_taken (trl_trap_taken [7:4] ), .trl_tel_en (trl_tel_en [1 ] ), .trl_gl0 (trl_gl4 [1:0] ), .trl_gl1 (trl_gl5 [1:0] ), .trl_gl2 (trl_gl6 [1:0] ), .trl_gl3 (trl_gl7 [1:0] ), .trl_tsacu_en_in (trl_tsacu_en_in [7:4] ), .tlu_tsa_index (tlu_tsa_index_1 [2:0] ), .tlu_tccd (tlu_tccd [7:4] ), .tlu_tcud (tlu_tcud [7:4] ), .tlu_tca_index (tlu_tca_index_1 [1:0] ), .tlu_window_block (tlu_window_block [1] ), .tlu_trap_pc_valid (tlu_trap_pc_1_valid ), .tlu_retry (tlu_retry [1 ] ), .tlu_ifu_invalidate (tlu_ifu_invalidate [1 ] ), .tlu_trap_tid (tlu_trap_1_tid [1:0] ), .tlu_itlb_reload (tlu_itlb_reload [1 ] ), .tlu_ccr_cwp_valid (tlu_ccr_cwp_1_valid ), .tlu_ccr_cwp_tid (tlu_ccr_cwp_1_tid [1:0] ), .tlu_asi_valid (tlu_asi_1_valid ), .tlu_asi_tid (tlu_asi_1_tid [1:0] ), .tlu_gl0 (tlu_gl4 [1:0] ), .tlu_gl1 (tlu_gl5 [1:0] ), .tlu_gl2 (tlu_gl6 [1:0] ), .tlu_gl3 (tlu_gl7 [1:0] ), .tlu_tl_gt_0 (tlu_tl_gt_0 [7:4] ), .tlu_mmu_tl_gt_0 (tlu_mmu_tl_gt_0 [7:4] ), .tlu_release_tte (tlu_release_tte [7:4] ), .tlu_lsu_clear_ctl_reg_ (tlu_lsu_clear_ctl_reg_ [7:4] ), .tlu_pmu_trap_taken (tlu_pmu_trap_taken [7:4] ), .tlu_pmu_trap_mask_e (tlu_pmu_trap_mask_e [1 ] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .spc_aclk_wmr(spc_aclk_wmr), .lsu_tlu_pmen(lsu_tlu_pmen), .tcu_shscanid(tcu_shscanid[2:0]), .tcu_ss_mode(tcu_ss_mode), .tcu_do_mode(tcu_do_mode), .mbi_run(mbi_run), .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw), .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw), .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw), .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw), .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw), .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]), .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]), .spu_pmu_ma_busy(spu_pmu_ma_busy), .spu_tlu_cwq_busy(spu_tlu_cwq_busy), .spu_tlu_ma_int_req(spu_tlu_ma_int_req[2:0]), .tic_addr(tic_addr[4:0]), .tic_not_valid(tic_not_valid), .tic_match(tic_match), .cel_tccd(cel_tccd), .cel_tcud(cel_tcud), .asi_tsa_rd_addr(asi_tsa_rd_addr[4:0]), .asi_tsa_rd_iqr_ecc(asi_tsa_rd_iqr_ecc), .asi_tsa_tid(asi_tsa_tid[1:0]), .asi_mbist_addr(asi_mbist_addr[4:0]) ); //////////////////////////////////////////////////////////////////////////////// // Trap Stack Array and associated datapath // GL CCR ASI PSTATE CWP // 41 40 39 32 31 24 19 8 4 0 // ECC generation for 136 bits assign teg0_data_in[135:0] = {tsd_wr_tpc_oor_va [0 ], tsd_wr_tnpc_oor_va [0 ], tsd_wr_tnpc_nonseq [0 ], tsd0_wr_gl [1:0], tsd0_wr_data [29:0], tsd0_wr_trap_type [8:0], tsd0_wr_tpc [47:23], tsd0_wr_tpc [22:2], tsd0_wr_tnpc [47:2]}; tlu_ecg_dp teg01 ( .data_in (teg0_data_in [135:68]), .ecc_out (teg0_ecc [15:8] ) ); tlu_ecg_dp teg00 ( .data_in (teg0_data_in [67:0] ), .ecc_out (teg0_ecc [7:0] ) ); tlu_eem_dp tem01 ( .asi_error_inject (asi_error_tsau ), .asi_mbist_ecc_in (asi_mbist_tsa_ecc_in [7:0] ), .ecc_in (teg0_ecc [15:8] ), .ecc_out (tem0_ecc [15:8] ), .asi_error_mask(asi_error_mask[7:0]), .asi_mbist_run(asi_mbist_run) ); tlu_eem_dp tem00 ( .asi_error_inject (asi_error_tsau ), .asi_mbist_ecc_in (asi_mbist_tsa_ecc_in [7:0] ), .ecc_in (teg0_ecc [7:0] ), .ecc_out (tem0_ecc [7:0] ), .asi_error_mask(asi_error_mask[7:0]), .asi_mbist_run(asi_mbist_run) ); // ECC error detection for 136 bits tlu_tel_dp tel0 ( .scan_in(tel0_scanin), .scan_out(tel0_scanout), .l2clk (l2clk ), .trl_tel_en (trl_tel_en [0 ] ), .asi_mbist_tel_en (asi_mbist_tel_en [0 ] ), .tsa_ecc (tsa0_ecc [15:0] ), .ted_syndrome (ted0_syndrome [15:0] ), .ted0_cecc_err (ted00_cecc_err ), .ted0_uecc_err (ted00_uecc_err ), .ted0_uecc_err_ (ted00_uecc_err_ ), .ted1_cecc_err (ted01_cecc_err ), .ted1_uecc_err (ted01_uecc_err ), .ted1_uecc_err_ (ted01_uecc_err_ ), .trl_tsacu_en_in (trl_tsacu_en_in [3:0] ), .tel_syndrome (tel0_syndrome [15:0] ), .tel_ecc (tel0_ecc [15:0] ), .tel_crit_ecc (tel0_crit_ecc [15:0] ), .tel_tsac (tel0_tsac ), .tel_tsau (tel0_tsau ), .tel_tsac_exc (tlu_tsac [3:0] ), .tel_tsau_exc (tlu_tsau [3:0] ), .tel_tsacu_exc (tel_tsacu_exc [3:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en) ); tlu_ecd_dp ted01 ( .data_in (tsd0_ted_mra_rd_data [135:68]), .ecc_in (tel0_crit_ecc [15:8] ), .cerer_ce (tlu_cerer_tsac ), .cerer_ue (tlu_cerer_tsau ), .syndrome (ted0_syndrome [15:8] ), .cecc_err (ted01_cecc_err ), .uecc_err (ted01_uecc_err ), .uecc_err_ (ted01_uecc_err_ ) ); tlu_ecd_dp ted00 ( .data_in (tsd0_ted_mra_rd_data [67:0] ), .ecc_in (tel0_crit_ecc [7:0] ), .cerer_ce (tlu_cerer_tsac ), .cerer_ue (tlu_cerer_tsau ), .syndrome (ted0_syndrome [7:0] ), .cecc_err (ted00_cecc_err ), .uecc_err (ted00_uecc_err ), .uecc_err_ (ted00_uecc_err_ ) ); tlu_tsb_dp tsb0 ( .tsb_in (teg0_data_in [135:0] ), .wr_en_in (trl_tsa_wr_en_pre [0 ] ), .ecc_error (asi_tsacu [0 ] ), .tsb_out (tsb0_data_out [135:0] ), .wr_en_out (trl_tsa_wr_en [0 ] ) ); n2_com_dp_32x152_cust tsa0 ( .scan_in(tsa0_scanin), .scan_out(tsa0_scanout), .rdclk (l2clk ), .wrclk (l2clk ), .tcu_aclk (spc_aclk ), .tcu_bclk (spc_bclk ), .rd_adr (trl0_tsa_rd_addr [4:0] ), .rd_en (trl_tsa_rd_en [0 ] ), .wr_adr (trl0_tsa_wr_addr [4:0] ), .wr_en (trl_tsa_wr_en [0 ] ), .din ({tsb0_data_out [135:134], tem0_ecc [15:0], tsb0_data_out [133:0]}), .dout ({tsa_tpc_oor_va [0 ], tsa_tnpc_oor_va [0 ], tsa0_ecc [15:0], tsa_tnpc_nonseq [0 ], tsa0_gl [1:0], tsa0_rd_data [29:0], tsa0_trap_type [8:0], tsa0_tpc [47:2], tsa0_tnpc [47:2]}), .tcu_pce_ov(tcu_pce_ov), .tcu_array_wr_inhibit(tcu_array_wr_inhibit), .tcu_se_scancollar_in(tcu_se_scancollar_in), .bist_clk_mux_sel(bist_clk_mux_sel), .rd_pce(rd_pce), .wr_pce(wr_pce) ); // ECC generation for 136 bits assign teg1_data_in[135:0] = {tsd_wr_tpc_oor_va [1 ], tsd_wr_tnpc_oor_va [1 ], tsd_wr_tnpc_nonseq [1 ], tsd1_wr_gl [1:0], tsd1_wr_data [29:0], tsd1_wr_trap_type [8:0], tsd1_wr_tpc [47:23], tsd1_wr_tpc [22:2], tsd1_wr_tnpc [47:2]}; tlu_ecg_dp teg11 ( .data_in (teg1_data_in [135:68]), .ecc_out (teg1_ecc [15:8] ) ); tlu_ecg_dp teg10 ( .data_in (teg1_data_in [67:0] ), .ecc_out (teg1_ecc [7:0] ) ); tlu_eem_dp tem11 ( .asi_error_inject (asi_error_tsau ), .asi_mbist_ecc_in (asi_mbist_tsa_ecc_in [7:0] ), .ecc_in (teg1_ecc [15:8] ), .ecc_out (tem1_ecc [15:8] ), .asi_error_mask(asi_error_mask[7:0]), .asi_mbist_run(asi_mbist_run) ); tlu_eem_dp tem10 ( .asi_error_inject (asi_error_tsau ), .asi_mbist_ecc_in (asi_mbist_tsa_ecc_in [7:0] ), .ecc_in (teg1_ecc [7:0] ), .ecc_out (tem1_ecc [7:0] ), .asi_error_mask(asi_error_mask[7:0]), .asi_mbist_run(asi_mbist_run) ); // ECC error detection for 136 bits tlu_tel_dp tel1 ( .scan_in(tel1_scanin), .scan_out(tel1_scanout), .l2clk (l2clk ), .trl_tel_en (trl_tel_en [1 ] ), .asi_mbist_tel_en (asi_mbist_tel_en [1 ] ), .tsa_ecc (tsa1_ecc [15:0] ), .ted_syndrome (ted1_syndrome [15:0] ), .ted0_cecc_err (ted10_cecc_err ), .ted0_uecc_err (ted10_uecc_err ), .ted0_uecc_err_ (ted10_uecc_err_ ), .ted1_cecc_err (ted11_cecc_err ), .ted1_uecc_err (ted11_uecc_err ), .ted1_uecc_err_ (ted11_uecc_err_ ), .trl_tsacu_en_in (trl_tsacu_en_in [7:4] ), .tel_syndrome (tel1_syndrome [15:0] ), .tel_ecc (tel1_ecc [15:0] ), .tel_crit_ecc (tel1_crit_ecc [15:0] ), .tel_tsac (tel1_tsac ), .tel_tsau (tel1_tsau ), .tel_tsac_exc (tlu_tsac [7:4] ), .tel_tsau_exc (tlu_tsau [7:4] ), .tel_tsacu_exc (tel_tsacu_exc [7:4] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en) ); tlu_ecd_dp ted11 ( .data_in (tsd1_ted_mra_rd_data [135:68]), .ecc_in (tel1_crit_ecc [15:8] ), .cerer_ce (tlu_cerer_tsac ), .cerer_ue (tlu_cerer_tsau ), .syndrome (ted1_syndrome [15:8] ), .cecc_err (ted11_cecc_err ), .uecc_err (ted11_uecc_err ), .uecc_err_ (ted11_uecc_err_ ) ); tlu_ecd_dp ted10 ( .data_in (tsd1_ted_mra_rd_data [67:0] ), .ecc_in (tel1_crit_ecc [7:0] ), .cerer_ce (tlu_cerer_tsac ), .cerer_ue (tlu_cerer_tsau ), .syndrome (ted1_syndrome [7:0] ), .cecc_err (ted10_cecc_err ), .uecc_err (ted10_uecc_err ), .uecc_err_ (ted10_uecc_err_ ) ); tlu_tsb_dp tsb1 ( .tsb_in (teg1_data_in [135:0] ), .wr_en_in (trl_tsa_wr_en_pre [1 ] ), .ecc_error (asi_tsacu [1 ] ), .tsb_out (tsb1_data_out [135:0] ), .wr_en_out (trl_tsa_wr_en [1 ] ) ); n2_com_dp_32x152_cust tsa1 ( .scan_in(tsa1_scanin), .scan_out(tsa1_scanout), .rdclk (l2clk ), .wrclk (l2clk ), .tcu_aclk (spc_aclk ), .tcu_bclk (spc_bclk ), .rd_adr (trl1_tsa_rd_addr [4:0] ), .rd_en (trl_tsa_rd_en [1 ] ), .wr_adr (trl1_tsa_wr_addr [4:0] ), .wr_en (trl_tsa_wr_en [1 ] ), .din ({tsb1_data_out [135:134], tem1_ecc [15:0], tsb1_data_out [133:0]}), .dout ({tsa_tpc_oor_va [1 ], tsa_tnpc_oor_va [1 ], tsa1_ecc [15:0], tsa_tnpc_nonseq [1 ], tsa1_gl [1:0], tsa1_rd_data [29:0], tsa1_trap_type [8:0], tsa1_tpc [47:2], tsa1_tnpc [47:2]}), .tcu_pce_ov(tcu_pce_ov), .tcu_array_wr_inhibit(tcu_array_wr_inhibit), .tcu_se_scancollar_in(tcu_se_scancollar_in), .bist_clk_mux_sel(bist_clk_mux_sel), .rd_pce(rd_pce), .wr_pce(wr_pce) ); tlu_tsd_dp tsd0 ( .wmr_scan_in(tsd0_wmr_scanin), .wmr_scan_out(tsd0_wmr_scanout), .scan_in(tsd0_scanin), .scan_out(tsd0_scanout), .l2clk (l2clk ), .trl_shscanid (trl0_shscanid [1:0] ), .exu_ccr0 (exu0_ccr0 [7:0] ), .exu_ccr1 (exu0_ccr1 [7:0] ), .exu_ccr2 (exu0_ccr2 [7:0] ), .exu_ccr3 (exu0_ccr3 [7:0] ), .fls_cwp0 (fls0_cwp0 [2:0] ), .fls_cwp1 (fls0_cwp1 [2:0] ), .fls_cwp2 (fls0_cwp2 [2:0] ), .fls_cwp3 (fls0_cwp3 [2:0] ), .pct_tsa_pc (pct0_tsa_pc [47:2] ), .pct_tsa_pc_oor_va (pct_tsa_pc_oor_va [0 ] ), .pct_tsa_npc (pct0_tsa_npc [47:2] ), .pct_tsa_npc_oor_va (pct_tsa_npc_oor_va [0 ] ), .pct_tsa_npc_nonseq (pct_tsa_npc_nonseq [0 ] ), .trl_tsa_gl (trl0_tsa_gl [1:0] ), .trl_tsa_trap_type (trl0_tsa_trap_type [8:0] ), .trl_asireg_sel (trl0_asireg_sel [4:0] ), .trl_asireg_en (trl0_asireg_en ), .trl_thread_sel (trl0_thread_sel [3:0] ), .trl_tba_sel (trl0_tba_sel [2:0] ), .trl_pstate_thread_sel (trl0_pstate_thread_sel [4:0] ), .trl_don_ret_pstate_sel (trl0_don_ret_pstate_sel[3:0] ), .trl_pstate_en (trl0_pstate_en ), .trl_reset_trap (trl_reset_trap [0 ] ), .trl_other_trap (trl_other_trap [0 ] ), .trl_stay_in_priv (trl_stay_in_priv [0 ] ), .trl_tl_gt_0 (trl_tl_gt_0 [0 ] ), .trl_save_tsa (trl0_save_tsa ), .trl_tsd_tsa_en (trl0_tsd_tsa_en ), .trl_tsd_tsa_wd_en (trl0_tsd_tsa_wd_en ), .trl_capture_ss (trl0_capture_ss ), .trl_rmw_tsa (trl0_rmw_tsa ), .tsa_tpc (tsa0_tpc [47:2] ), .tsa_tpc_oor_va (tsa_tpc_oor_va [0 ] ), .tsa_tnpc (tsa0_tnpc [47:2] ), .tsa_tnpc_oor_va (tsa_tnpc_oor_va [0 ] ), .tsa_tnpc_nonseq (tsa_tnpc_nonseq [0 ] ), .tsa_gl (tsa0_gl [1:0] ), .tsa_rd_data (tsa0_rd_data [29:0] ), .tsa_trap_type (tsa0_trap_type [8:0] ), .asi_wr_mondo_head (asi_wr_mondo_head [0 ] ), .asi_wr_mondo_tail (asi_wr_mondo_tail [0 ] ), .asi_wr_device_head (asi_wr_device_head [0 ] ), .asi_wr_device_tail (asi_wr_device_tail [0 ] ), .asi_wr_res_err_head (asi_wr_res_err_head [0 ] ), .asi_wr_res_err_tail (asi_wr_res_err_tail [0 ] ), .asi_wr_nonres_err_head (asi_wr_nonres_err_head [0 ] ), .asi_wr_nonres_err_tail (asi_wr_nonres_err_tail [0 ] ), .asi_rd_iqr_reg (asi_rd_iqr_reg [0 ] ), .asi_rd_tpc (asi_rd_tpc [0 ] ), .asi_wr_tpc (asi_wr_tpc [0 ] ), .asi_rd_tnpc (asi_rd_tnpc [0 ] ), .asi_wr_tnpc (asi_wr_tnpc [0 ] ), .asi_rd_tstate (asi_rd_tstate [0 ] ), .asi_wr_tstate (asi_wr_tstate [0 ] ), .asi_rd_tt (asi_rd_tt [0 ] ), .asi_wr_tt (asi_wr_tt [0 ] ), .asi_rd_htstate (asi_rd_htstate [0 ] ), .asi_wr_htstate (asi_wr_htstate [0 ] ), .asi_wr_tba (asi_wr_tba [3:0] ), .asi_wr_pstate (asi_wr_pstate [3:0] ), .asi_wr_hpstate (asi_wr_hpstate [3:0] ), .asi_wr_htba (asi_wr_htba [3:0] ), .asi_rd_asireg (asi_rd_asireg [3:0] ), .asi_wr_asireg (asi_wr_asireg [3:0] ), .asi_rd_tba_htba (asi_rd_tba_htba [0 ] ), .asi_rd_pstate_hpstate (asi_rd_pstate_hpstate [0 ] ), .asi_wr_data_47_14 (asi_wr_data_0 [47:14] ), .asi_wr_data_07_00 (asi_wr_data_0 [7:0] ), .asi_tsd_wr_data_12 (asi_tsd0_wr_data_12 ), .asi_tsd_wr_data_10_08 (asi_tsd0_wr_data_10_08 [10:8] ), .asi_tsd_wr_data_05_00 (asi_tsd0_wr_data_05_00 [5:0] ), .tel_ecc (tel0_ecc [15:0] ), .tsd_tba (tsd0_tba [47:14] ), .tsd_wr_tpc (tsd0_wr_tpc [47:2] ), .tsd_wr_tpc_oor_va (tsd_wr_tpc_oor_va [0 ] ), .tsd_wr_tnpc (tsd0_wr_tnpc [47:2] ), .tsd_wr_tnpc_oor_va (tsd_wr_tnpc_oor_va [0 ] ), .tsd_wr_tnpc_nonseq (tsd_wr_tnpc_nonseq [0 ] ), .tsd_wr_gl (tsd0_wr_gl [1:0] ), .tsd_wr_data (tsd0_wr_data [29:0] ), .tsd_wr_trap_type (tsd0_wr_trap_type [8:0] ), .tsd_tpc (tsd0_tpc [47:2] ), .tsd_tpc_oor_va (tsd_tpc_oor_va [0 ] ), .tsd_tnpc (tsd0_tnpc [47:2] ), .tsd_tnpc_oor_va (tsd_tnpc_oor_va [0 ] ), .tsd_tnpc_nonseq (tsd_tnpc_nonseq [0 ] ), .tsd_mrqr_exc_ (tsd0_mrqr_exc_ ), .tsd_dqr_exc_ (tsd0_dqr_exc_ ), .tsd_asi_data_ (tsd0_asi_data_ [47:2] ), .tsd_asi_data (tsd0_asi_data [1:0] ), .tsd_ted_mra_rd_data (tsd0_ted_mra_rd_data [135:0] ), .tsd_hpstate_ibe (tsd_hpstate_ibe [3:0] ), .tsd_hpstate_red (tsd_hpstate_red [3:0] ), .tsd_hpstate_hpriv (tsd_hpstate_hpriv [3:0] ), .tsd_hpstate_tlz (tsd_hpstate_tlz [3:0] ), .tsd_pstate_tct (tsd_pstate_tct [3:0] ), .tsd_pstate_priv (tsd_pstate_priv [3:0] ), .tsd_pstate_ie (tsd_pstate_ie [3:0] ), .tsd_pstate_am (tsd_pstate_am [3:0] ), .tsd_htstate_hpriv (tsd_htstate_hpriv [0] ), .tsd_shadow_pstate (tsd0_shadow_pstate [10:0] ), .tsd_shadow_tpc (tsd0_shadow_tpc [47:2] ), .tsd_shadow_tt (tsd0_shadow_tt [8:0] ), .tsd_mbist_data (tsd0_mbist_data [31:0] ), .tsd_itlb_bypass (tsd_itlb_bypass [3:0] ), .tlu_itlb_bypass (tlu_itlb_bypass [3:0] ), .tlu_lsu_hpstate_hpriv (tlu_lsu_hpstate_hpriv [3:0] ), .tlu_lsu_pstate_priv (tlu_lsu_pstate_priv [3:0] ), .tlu_ifu_hpstate_hpriv (tlu_ifu_hpstate_hpriv [3:0] ), .tlu_ifu_pstate_priv (tlu_ifu_pstate_priv [3:0] ), .tlu_pmu_hpstate_hpriv (tlu_pmu_hpstate_hpriv [3:0] ), .tlu_pmu_pstate_priv (tlu_pmu_pstate_priv [3:0] ), .tlu_dec_hpstate_hpriv (tlu_dec_hpstate_hpriv [3:0] ), .tlu_dec_pstate_priv (tlu_dec_pstate_priv [3:0] ), .tlu_dec_pstate_pef (tlu_dec_pstate_pef [3:0] ), .tlu_pstate_cle (tlu_pstate_cle [3:0] ), .tlu_pstate_am (tlu_pstate_am [3:0] ), .tlu_ccr (tlu_ccr_0 [7:0] ), .tlu_asi (tlu_asi_0 [7:0] ), .tlu_cwp (tlu_cwp_0 [2:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .tcu_dectest(tcu_dectest), .tcu_muxtest(tcu_muxtest), .tcu_scan_en_wmr(tcu_scan_en_wmr), .spc_aclk_wmr(spc_aclk_wmr), .asi_rd_iqr(asi_rd_iqr[2:0]), .asi_rd_h_pstate_tba(asi_rd_h_pstate_tba[2:0]), .asi_tsa_wr_data(asi_tsa_wr_data[47:0]), .asi_tsa_wr_data_npc_oor_va(asi_tsa_wr_data_npc_oor_va), .asi_tsa_wr_data_npc_nonseq(asi_tsa_wr_data_npc_nonseq), .asi_mbist_ecc_in(asi_mbist_ecc_in[7:0]), .asi_mbist_run(asi_mbist_run), .asi_mbist_cmpsel(asi_mbist_cmpsel[3:0]) ); tlu_tsd_dp tsd1 ( .wmr_scan_in(tsd1_wmr_scanin), .wmr_scan_out(tsd1_wmr_scanout), .scan_in(tsd1_scanin), .scan_out(tsd1_scanout), .l2clk (l2clk ), .trl_shscanid (trl1_shscanid [1:0] ), .exu_ccr0 (exu1_ccr0 [7:0] ), .exu_ccr1 (exu1_ccr1 [7:0] ), .exu_ccr2 (exu1_ccr2 [7:0] ), .exu_ccr3 (exu1_ccr3 [7:0] ), .fls_cwp0 (fls1_cwp0 [2:0] ), .fls_cwp1 (fls1_cwp1 [2:0] ), .fls_cwp2 (fls1_cwp2 [2:0] ), .fls_cwp3 (fls1_cwp3 [2:0] ), .pct_tsa_pc (pct1_tsa_pc [47:2] ), .pct_tsa_pc_oor_va (pct_tsa_pc_oor_va [1 ] ), .pct_tsa_npc (pct1_tsa_npc [47:2] ), .pct_tsa_npc_nonseq (pct_tsa_npc_nonseq [1 ] ), .pct_tsa_npc_oor_va (pct_tsa_npc_oor_va [1 ] ), .trl_tsa_gl (trl1_tsa_gl [1:0] ), .trl_tsa_trap_type (trl1_tsa_trap_type [8:0] ), .trl_asireg_sel (trl1_asireg_sel [4:0] ), .trl_asireg_en (trl1_asireg_en ), .trl_thread_sel (trl1_thread_sel [3:0] ), .trl_tba_sel (trl1_tba_sel [2:0] ), .trl_pstate_thread_sel (trl1_pstate_thread_sel [4:0] ), .trl_don_ret_pstate_sel (trl1_don_ret_pstate_sel[3:0] ), .trl_pstate_en (trl1_pstate_en ), .trl_reset_trap (trl_reset_trap [1 ] ), .trl_other_trap (trl_other_trap [1 ] ), .trl_stay_in_priv (trl_stay_in_priv [1 ] ), .trl_tl_gt_0 (trl_tl_gt_0 [1 ] ), .trl_save_tsa (trl1_save_tsa ), .trl_tsd_tsa_en (trl1_tsd_tsa_en ), .trl_tsd_tsa_wd_en (trl1_tsd_tsa_wd_en ), .trl_capture_ss (trl1_capture_ss ), .trl_rmw_tsa (trl1_rmw_tsa ), .tsa_tpc (tsa1_tpc [47:2] ), .tsa_tpc_oor_va (tsa_tpc_oor_va [1 ] ), .tsa_tnpc (tsa1_tnpc [47:2] ), .tsa_tnpc_oor_va (tsa_tnpc_oor_va [1 ] ), .tsa_tnpc_nonseq (tsa_tnpc_nonseq [1 ] ), .tsa_gl (tsa1_gl [1:0] ), .tsa_rd_data (tsa1_rd_data [29:0] ), .tsa_trap_type (tsa1_trap_type [8:0] ), .asi_wr_mondo_head (asi_wr_mondo_head [1 ] ), .asi_wr_mondo_tail (asi_wr_mondo_tail [1 ] ), .asi_wr_device_head (asi_wr_device_head [1 ] ), .asi_wr_device_tail (asi_wr_device_tail [1 ] ), .asi_wr_res_err_head (asi_wr_res_err_head [1 ] ), .asi_wr_res_err_tail (asi_wr_res_err_tail [1 ] ), .asi_wr_nonres_err_head (asi_wr_nonres_err_head [1 ] ), .asi_wr_nonres_err_tail (asi_wr_nonres_err_tail [1 ] ), .asi_rd_iqr_reg (asi_rd_iqr_reg [1 ] ), .asi_rd_tpc (asi_rd_tpc [1 ] ), .asi_wr_tpc (asi_wr_tpc [1 ] ), .asi_rd_tnpc (asi_rd_tnpc [1 ] ), .asi_wr_tnpc (asi_wr_tnpc [1 ] ), .asi_rd_tstate (asi_rd_tstate [1 ] ), .asi_wr_tstate (asi_wr_tstate [1 ] ), .asi_rd_tt (asi_rd_tt [1 ] ), .asi_wr_tt (asi_wr_tt [1 ] ), .asi_rd_htstate (asi_rd_htstate [1 ] ), .asi_wr_htstate (asi_wr_htstate [1 ] ), .asi_wr_tba (asi_wr_tba [7:4] ), .asi_wr_pstate (asi_wr_pstate [7:4] ), .asi_wr_hpstate (asi_wr_hpstate [7:4] ), .asi_wr_htba (asi_wr_htba [7:4] ), .asi_rd_asireg (asi_rd_asireg [7:4] ), .asi_wr_asireg (asi_wr_asireg [7:4] ), .asi_rd_tba_htba (asi_rd_tba_htba [1 ] ), .asi_rd_pstate_hpstate (asi_rd_pstate_hpstate [1 ] ), .asi_wr_data_47_14 (asi_wr_data_1 [47:14] ), .asi_wr_data_07_00 (asi_wr_data_1 [7:0] ), .asi_tsd_wr_data_12 (asi_tsd1_wr_data_12 ), .asi_tsd_wr_data_10_08 (asi_tsd1_wr_data_10_08 [10:8] ), .asi_tsd_wr_data_05_00 (asi_tsd1_wr_data_05_00 [5:0] ), .tel_ecc (tel1_ecc [15:0] ), .tsd_tba (tsd1_tba [47:14] ), .tsd_wr_tpc (tsd1_wr_tpc [47:2] ), .tsd_wr_tpc_oor_va (tsd_wr_tpc_oor_va [1 ] ), .tsd_wr_tnpc (tsd1_wr_tnpc [47:2] ), .tsd_wr_tnpc_oor_va (tsd_wr_tnpc_oor_va [1 ] ), .tsd_wr_tnpc_nonseq (tsd_wr_tnpc_nonseq [1 ] ), .tsd_mrqr_exc_ (tsd1_mrqr_exc_ ), .tsd_dqr_exc_ (tsd1_dqr_exc_ ), .tsd_wr_gl (tsd1_wr_gl [1:0] ), .tsd_wr_data (tsd1_wr_data [29:0] ), .tsd_wr_trap_type (tsd1_wr_trap_type [8:0] ), .tsd_tpc (tsd1_tpc [47:2] ), .tsd_tpc_oor_va (tsd_tpc_oor_va [1 ] ), .tsd_tnpc (tsd1_tnpc [47:2] ), .tsd_tnpc_oor_va (tsd_tnpc_oor_va [1 ] ), .tsd_tnpc_nonseq (tsd_tnpc_nonseq [1 ] ), .tsd_asi_data_ (tsd1_asi_data_ [47:2] ), .tsd_asi_data (tsd1_asi_data [1:0] ), .tsd_ted_mra_rd_data (tsd1_ted_mra_rd_data [135:0] ), .tsd_hpstate_ibe (tsd_hpstate_ibe [7:4] ), .tsd_hpstate_red (tsd_hpstate_red [7:4] ), .tsd_hpstate_hpriv (tsd_hpstate_hpriv [7:4] ), .tsd_hpstate_tlz (tsd_hpstate_tlz [7:4] ), .tsd_pstate_tct (tsd_pstate_tct [7:4] ), .tsd_pstate_priv (tsd_pstate_priv [7:4] ), .tsd_pstate_ie (tsd_pstate_ie [7:4] ), .tsd_pstate_am (tsd_pstate_am [7:4] ), .tsd_htstate_hpriv (tsd_htstate_hpriv [1] ), .tsd_shadow_pstate (tsd1_shadow_pstate [10:0] ), .tsd_shadow_tpc (tsd1_shadow_tpc [47:2] ), .tsd_shadow_tt (tsd1_shadow_tt [8:0] ), .tsd_mbist_data (tsd1_mbist_data [31:0] ), .tsd_itlb_bypass (tsd_itlb_bypass [7:4] ), .tlu_itlb_bypass (tlu_itlb_bypass [7:4] ), .tlu_lsu_hpstate_hpriv (tlu_lsu_hpstate_hpriv [7:4] ), .tlu_lsu_pstate_priv (tlu_lsu_pstate_priv [7:4] ), .tlu_ifu_hpstate_hpriv (tlu_ifu_hpstate_hpriv [7:4] ), .tlu_ifu_pstate_priv (tlu_ifu_pstate_priv [7:4] ), .tlu_pmu_hpstate_hpriv (tlu_pmu_hpstate_hpriv [7:4] ), .tlu_pmu_pstate_priv (tlu_pmu_pstate_priv [7:4] ), .tlu_dec_hpstate_hpriv (tlu_dec_hpstate_hpriv [7:4] ), .tlu_dec_pstate_priv (tlu_dec_pstate_priv [7:4] ), .tlu_dec_pstate_pef (tlu_dec_pstate_pef [7:4] ), .tlu_pstate_cle (tlu_pstate_cle [7:4] ), .tlu_pstate_am (tlu_pstate_am [7:4] ), .tlu_ccr (tlu_ccr_1 [7:0] ), .tlu_asi (tlu_asi_1 [7:0] ), .tlu_cwp (tlu_cwp_1 [2:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .tcu_dectest(tcu_dectest), .tcu_muxtest(tcu_muxtest), .tcu_scan_en_wmr(tcu_scan_en_wmr), .spc_aclk_wmr(spc_aclk_wmr), .asi_rd_iqr(asi_rd_iqr[2:0]), .asi_rd_h_pstate_tba(asi_rd_h_pstate_tba[2:0]), .asi_tsa_wr_data(asi_tsa_wr_data[47:0]), .asi_tsa_wr_data_npc_oor_va(asi_tsa_wr_data_npc_oor_va), .asi_tsa_wr_data_npc_nonseq(asi_tsa_wr_data_npc_nonseq), .asi_mbist_ecc_in(asi_mbist_ecc_in[7:0]), .asi_mbist_run(asi_mbist_run), .asi_mbist_cmpsel(asi_mbist_cmpsel[3:0]) ); //////////////////////////////////////////////////////////////////////////////// // Fast ASI ring stub tlu_asi_ctl asi ( .wmr_scan_in(asi_wmr_scanin), .wmr_scan_out(asi_wmr_scanout), .scan_in(asi_scanin), .scan_out(asi_scanout), .l2clk (l2clk ), .hver_mask_major_rev (4'h2 ), .error_inject_enable (lsu_asi_error_inject [31 ] ), .error_inject_tccu (lsu_asi_error_inject [22 ] ), .error_inject_tsau (lsu_asi_error_inject [21 ] ), .error_inject_mask (lsu_asi_error_inject [7:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .spc_aclk_wmr(spc_aclk_wmr), .lsu_asi_clken(lsu_asi_clken), .lsu_tlu_pmen(lsu_tlu_pmen), .mbi_tsa0_write_en(mbi_tsa0_write_en), .mbi_tsa1_write_en(mbi_tsa1_write_en), .mbi_tca_write_en(mbi_tca_write_en), .mbi_addr(mbi_addr[4:0]), .mbi_run(mbi_run), .mbi_wdata(mbi_wdata[7:0]), .mbi_tsa0_read_en(mbi_tsa0_read_en), .mbi_tsa1_read_en(mbi_tsa1_read_en), .mbi_tca_read_en(mbi_tca_read_en), .mbi_tlu_cmpsel(mbi_tlu_cmpsel[3:0]), .mbd_compare(mbd_compare), .lsu_rngf_cdbus(lsu_rngf_cdbus[64:0]), .pct0_asi_data(pct0_asi_data[48:2]), .pct1_asi_data(pct1_asi_data[48:2]), .trl0_asi_data(trl0_asi_data[16:0]), .trl1_asi_data(trl1_asi_data[16:0]), .tlu_ceter_pscce(tlu_ceter_pscce[7:0]), .tsd_hpstate_hpriv(tsd_hpstate_hpriv[7:0]), .tsd_pstate_priv(tsd_pstate_priv[7:0]), .tsd0_asi_data(tsd0_asi_data[1:0]), .tsd1_asi_data(tsd1_asi_data[1:0]), .tel0_ecc(tel0_ecc[15:0]), .tel0_tsac(tel0_tsac), .tel0_tsau(tel0_tsau), .tel1_ecc(tel1_ecc[15:0]), .tel1_tsac(tel1_tsac), .tel1_tsau(tel1_tsau), .tic_asi_data(tic_asi_data[63:0]), .cel_ecc(cel_ecc[7:0]), .cer_asi_data(cer_asi_data[63:0]), .cel_tccp(cel_tccp), .cel_tcup(cel_tcup), .mmu_asi_data(mmu_asi_data[64:0]), .mmu_asi_read(mmu_asi_read), .mmu_asi_cecc(mmu_asi_cecc), .mmu_asi_uecc(mmu_asi_uecc), .dfd_desr_f(dfd_desr_f[7:0]), .dfd_fesr_f(dfd_fesr_f[7:0]), .tlu_lsu_clear_ctl_reg_(tlu_lsu_clear_ctl_reg_[7:0]), .hver_mask_minor_rev(hver_mask_minor_rev[3:0]), .asi_error_tccu(asi_error_tccu), .asi_error_tsau(asi_error_tsau), .asi_error_mask(asi_error_mask[7:0]), .asi_tsa_rd_addr(asi_tsa_rd_addr[4:0]), .asi_tsa_rd_iqr_ecc(asi_tsa_rd_iqr_ecc), .asi_tsa_tid(asi_tsa_tid[1:0]), .asi_rd_asireg(asi_rd_asireg[7:0]), .asi_wr_asireg(asi_wr_asireg[7:0]), .asi_rd_tick(asi_rd_tick), .asi_wr_tick(asi_wr_tick), .asi_rd_pc(asi_rd_pc[7:0]), .asi_wr_set_softint(asi_wr_set_softint[7:0]), .asi_wr_clear_softint(asi_wr_clear_softint[7:0]), .asi_rd_softint(asi_rd_softint[7:0]), .asi_wr_softint(asi_wr_softint[7:0]), .asi_tca_addr(asi_tca_addr[4:0]), .asi_tca_addr_valid(asi_tca_addr_valid), .asi_tca_wr(asi_tca_wr), .asi_wr_mondo_head(asi_wr_mondo_head[1:0]), .asi_wr_mondo_tail(asi_wr_mondo_tail[1:0]), .asi_wr_device_head(asi_wr_device_head[1:0]), .asi_wr_device_tail(asi_wr_device_tail[1:0]), .asi_wr_res_err_head(asi_wr_res_err_head[1:0]), .asi_wr_res_err_tail(asi_wr_res_err_tail[1:0]), .asi_wr_nonres_err_head(asi_wr_nonres_err_head[1:0]), .asi_wr_nonres_err_tail(asi_wr_nonres_err_tail[1:0]), .asi_rd_iqr_reg(asi_rd_iqr_reg[1:0]), .asi_rd_iqr(asi_rd_iqr[2:0]), .asi_rd_tpc(asi_rd_tpc[1:0]), .asi_wr_tpc(asi_wr_tpc[1:0]), .asi_rd_tnpc(asi_rd_tnpc[1:0]), .asi_wr_tnpc(asi_wr_tnpc[1:0]), .asi_rd_tstate(asi_rd_tstate[1:0]), .asi_wr_tstate(asi_wr_tstate[1:0]), .asi_rd_tt(asi_rd_tt[1:0]), .asi_wr_tt(asi_wr_tt[1:0]), .asi_wr_tba(asi_wr_tba[7:0]), .asi_wr_pstate(asi_wr_pstate[7:0]), .asi_rd_tl(asi_rd_tl[7:0]), .asi_wr_tl(asi_wr_tl[7:0]), .asi_rd_pil(asi_rd_pil[7:0]), .asi_wr_pil(asi_wr_pil[7:0]), .asi_rd_gl(asi_rd_gl[7:0]), .asi_wr_gl(asi_wr_gl[7:0]), .asi_wr_hpstate(asi_wr_hpstate[7:0]), .asi_rd_htstate(asi_rd_htstate[1:0]), .asi_wr_htstate(asi_wr_htstate[1:0]), .asi_rd_hintp(asi_rd_hintp[7:0]), .asi_wr_hintp(asi_wr_hintp[7:0]), .asi_wr_htba(asi_wr_htba[7:0]), .asi_rd_h_pstate_tba(asi_rd_h_pstate_tba[2:0]), .asi_rd_tba_htba(asi_rd_tba_htba[1:0]), .asi_rd_pstate_hpstate(asi_rd_pstate_hpstate[1:0]), .asi_preempt_trap(asi_preempt_trap[1:0]), .asi_preempt_done_retry(asi_preempt_done_retry[1:0]), .asi_rmw_tsa(asi_rmw_tsa[1:0]), .asi_wr_int_rec(asi_wr_int_rec[7:0]), .asi_wr_any_int_rec(asi_wr_any_int_rec), .asi_rd_inc_vec_2(asi_rd_inc_vec_2[7:0]), .asi_int_rec_mux_sel_in(asi_int_rec_mux_sel_in[2:0]), .asi_rd_int_rec(asi_rd_int_rec), .asi_rd_inc_vec(asi_rd_inc_vec), .asi_check_qr_exc(asi_check_qr_exc[7:0]), .asi_tca_wr_data_63(asi_tca_wr_data_63), .asi_wr_data_0(asi_wr_data_0[63:0]), .asi_wr_data_1(asi_wr_data_1[62:0]), .asi_tsd0_wr_data_12(asi_tsd0_wr_data_12), .asi_tsd0_wr_data_10_08(asi_tsd0_wr_data_10_08[10:8]), .asi_tsd0_wr_data_05_00(asi_tsd0_wr_data_05_00[5:0]), .asi_tsd1_wr_data_12(asi_tsd1_wr_data_12), .asi_tsd1_wr_data_10_08(asi_tsd1_wr_data_10_08[10:8]), .asi_tsd1_wr_data_05_00(asi_tsd1_wr_data_05_00[5:0]), .asi_tsa_wr_data(asi_tsa_wr_data[47:0]), .asi_tsa_wr_data_npc_oor_va(asi_tsa_wr_data_npc_oor_va), .asi_tsa_wr_data_npc_nonseq(asi_tsa_wr_data_npc_nonseq), .asi_rd_cerer(asi_rd_cerer), .asi_rd_ceter(asi_rd_ceter), .asi_wr_cerer(asi_wr_cerer), .asi_ceter_tid(asi_ceter_tid[2:0]), .asi_wr_ceter(asi_wr_ceter), .asi_rd_tid(asi_rd_tid[2:0]), .asi_rd_isfsr(asi_rd_isfsr), .asi_rd_dsfsr(asi_rd_dsfsr), .asi_rd_dsfar(asi_rd_dsfar), .asi_rd_desr(asi_rd_desr), .asi_rd_fesr(asi_rd_fesr), .asi_wr_isfsr(asi_wr_isfsr[7:0]), .asi_wr_dsfsr(asi_wr_dsfsr[7:0]), .asi_wr_dsfar(asi_wr_dsfar[7:0]), .asi_rd_iaw(asi_rd_iaw), .asi_wr_iaw(asi_wr_iaw[1:0]), .asi_decr(asi_decr[63:46]), .asi_ece_exc(asi_ece_exc), .asi_eue_exc(asi_eue_exc), .asi_ecc_tid(asi_ecc_tid[2:0]), .asi_tsac(asi_tsac), .asi_tsau(asi_tsau), .asi_tsacu(asi_tsacu[1:0]), .asi_tsacu_tid(asi_tsacu_tid[2:0]), .asi_irl_cleared(asi_irl_cleared[7:0]), .asi_rd_stage_1(asi_rd_stage_1), .asi_trl_pstate_en(asi_trl_pstate_en[1:0]), .asi_stg1_en(asi_stg1_en), .asi_mbist_ecc_in(asi_mbist_ecc_in[7:0]), .asi_mbist_tsa_ecc_in(asi_mbist_tsa_ecc_in[7:0]), .asi_mbist_run(asi_mbist_run), .asi_mbist_cmpsel(asi_mbist_cmpsel[3:0]), .asi_mbd_compare_data(asi_mbd_compare_data[7:0]), .asi_mbd_sel_tsd0(asi_mbd_sel_tsd0), .asi_mbd_sel_tsd1(asi_mbd_sel_tsd1), .asi_mbd_sel_tic(asi_mbd_sel_tic), .asi_mbist_addr(asi_mbist_addr[4:0]), .asi_mbist_tsa_rd_en(asi_mbist_tsa_rd_en[1:0]), .asi_mbist_tsa_wr_en(asi_mbist_tsa_wr_en[1:0]), .asi_mbist_tel_en(asi_mbist_tel_en[1:0]), .asi_tccup_in(asi_tccup_in), .asi_tccud_in(asi_tccud_in), .asi_immu_enable(asi_immu_enable[7:0]), .asi_spec_enable(asi_spec_enable[7:0]), .asi_halt(asi_halt[7:0]), .asi_clear_spu_trap_req(asi_clear_spu_trap_req[7:0]), .tlu_spec_enable(tlu_spec_enable[7:0]), .tlu_tca_tid(tlu_tca_tid[2:0]), .tlu_tca_index(tlu_tca_index[1:0]), .tlu_mbi_tsa0_fail(tlu_mbi_tsa0_fail), .tlu_mbi_tsa1_fail(tlu_mbi_tsa1_fail), .tlu_mbi_tca_fail(tlu_mbi_tca_fail), .tlu_rngf_cdbus(tlu_rngf_cdbus[64:0]), .tlu_rngf_cdbus_error(tlu_rngf_cdbus_error) ); //////////////////////////////////////////////////////////////////////////////// // TICK register support tlu_tic_dp tic ( .scan_in(tic_scanin), .scan_out(tic_scanout), .l2clk (l2clk ), .asi_wr_data (asi_wr_data_1 [62:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .tcu_dectest(tcu_dectest), .tcu_muxtest(tcu_muxtest), .cmp_tick_enable(cmp_tick_enable), .asi_rd_tick(asi_rd_tick), .asi_wr_tick(asi_wr_tick), .asi_tca_addr(asi_tca_addr[4:0]), .asi_tca_addr_valid(asi_tca_addr_valid), .asi_tca_wr(asi_tca_wr), .asi_mbist_run(asi_mbist_run), .asi_mbist_cmpsel(asi_mbist_cmpsel[1:0]), .tca_cmpr_data_in(tca_cmpr_data_in[63:0]), .cel_ecc(cel_ecc[7:0]), .exu_address0_e(exu_address0_e[47:0]), .exu_address1_e(exu_address1_e[47:0]), .tic_cmpr_addr(tic_cmpr_addr[4:0]), .tic_cmpr_wr_en(tic_cmpr_wr_en), .tic_cmpr_rd_en(tic_cmpr_rd_en), .tic_asi_data(tic_asi_data[63:0]), .tic_cmpr_data(tic_cmpr_data[63:0]), .tic_addr(tic_addr[4:0]), .tic_not_valid(tic_not_valid), .tic_match(tic_match), .tic_mbist_data(tic_mbist_data[31:0]), .tic_exu_address0_m(tic_exu_address0_m[47:2]), .tic_exu_address1_m(tic_exu_address1_m[47:2]), .tic_exu_address0_b(tic_exu_address0_b[1:0]), .tic_exu_address1_b(tic_exu_address1_b[1:0]) ); // Storage for TICK_CMPR, STICK_CMPR, HSTICK_CMPR // Addressing: // 4:3 10 HSTICK_CMPR // 01 STICK_CMPR // 00 TICK_CMPR // 2:0 Thread ID // // Since (H)(S)TICK_CMPR.INTDIS (bit 63) has POR value of 1, store it // negative active n2_com_dp_32x72_cust tca ( .scan_in(tca_scanin), .scan_out(tca_scanout), .rdclk (l2clk ), .wrclk (l2clk ), .tcu_aclk (spc_aclk ), .tcu_bclk (spc_bclk ), .rd_adr (tic_cmpr_addr [4:0] ), .rd_en (tic_cmpr_rd_en ), .wr_adr (tic_cmpr_addr [4:0] ), .wr_en (tic_cmpr_wr_en ), .din ({cem_ecc [7:0], asi_tca_wr_data_63 , asi_wr_data_1 [62:0]}), .dout ({tca_ecc [7:0], tca_cmpr_data_in [63:0]}), .tcu_pce_ov(tcu_pce_ov), .tcu_array_wr_inhibit(tcu_array_wr_inhibit), .tcu_se_scancollar_in(tcu_se_scancollar_in), .bist_clk_mux_sel(bist_clk_mux_sel), .rd_pce(rd_pce), .wr_pce(wr_pce) ); // ECC generation for 64 bits tlu_cep_dp cep ( .scan_in(cep_scanin), .scan_out(cep_scanout), .l2clk (l2clk ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .lsu_rngf_cdbus(lsu_rngf_cdbus[63:0]), .asi_stg1_en(asi_stg1_en), .cep_wr_data(cep_wr_data[63:0]) ); tlu_ecg_dp ceg ( .data_in ({{4 {1'b0}} , cep_wr_data [63:0]}), .ecc_out (ceg_ecc [7:0] ) ); tlu_eem_dp cem ( .asi_error_inject (asi_error_tccu ), .ecc_in (ceg_ecc [7:0] ), .ecc_out (cem_ecc [7:0] ), .asi_error_mask(asi_error_mask[7:0]), .asi_mbist_ecc_in(asi_mbist_ecc_in[7:0]), .asi_mbist_run(asi_mbist_run) ); // ECC error detection for 64 bits tlu_cel_dp cel ( .scan_in(cel_scanin), .scan_out(cel_scanout), .l2clk (l2clk ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .tlu_cerer_tccp(tlu_cerer_tccp), .tlu_cerer_tcup(tlu_cerer_tcup), .tlu_cerer_tccd(tlu_cerer_tccd), .tlu_cerer_tcud(tlu_cerer_tcud), .ced_syndrome(ced_syndrome[7:0]), .tca_ecc(tca_ecc[7:0]), .ced_cecc_err(ced_cecc_err), .ced_uecc_err(ced_uecc_err), .asi_tccup_in(asi_tccup_in), .asi_tccud_in(asi_tccud_in), .cel_syndrome(cel_syndrome[7:0]), .cel_ecc(cel_ecc[7:0]), .cel_crit_ecc(cel_crit_ecc[7:0]), .cel_tccp(cel_tccp), .cel_tcup(cel_tcup), .cel_tccd(cel_tccd), .cel_tcud(cel_tcud) ); tlu_ecd_dp ced ( .data_in ({{4 {1'b0}} , tic_cmpr_data [63:0]}), .ecc_in (cel_crit_ecc [7:0] ), .cerer_ce (1'b1 ), .cerer_ue (1'b1 ), .syndrome (ced_syndrome [7:0] ), .cecc_err (ced_cecc_err ), .uecc_err (ced_uecc_err ), .uecc_err_ (ced_uecc_err__unused ) ); //////////////////////////////////////////////////////////////////////////////// // RAS // control regs tlu_cer_dp cer ( .scan_in(cer_scanin), .scan_out(cer_scanout), .l2clk (l2clk ), .asi_wr_data (asi_wr_data_0 [63:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .asi_rd_cerer(asi_rd_cerer), .asi_rd_ceter(asi_rd_ceter), .asi_wr_cerer(asi_wr_cerer), .asi_ceter_tid(asi_ceter_tid[2:0]), .asi_wr_ceter(asi_wr_ceter), .cth_asi_data(cth_asi_data[63:0]), .cer_asi_data(cer_asi_data[63:0]), .tlu_cerer_ittp(tlu_cerer_ittp), .tlu_cerer_itdp(tlu_cerer_itdp), .tlu_cerer_ittm(tlu_cerer_ittm), .tlu_cerer_hwtwmu(tlu_cerer_hwtwmu), .tlu_cerer_hwtwl2(tlu_cerer_hwtwl2), .tlu_cerer_icl2c(tlu_cerer_icl2c), .tlu_cerer_icl2u(tlu_cerer_icl2u), .tlu_cerer_icl2nd(tlu_cerer_icl2nd), .tlu_cerer_irf(tlu_cerer_irf), .tlu_cerer_frf(tlu_cerer_frf), .tlu_cerer_dttp(tlu_cerer_dttp), .tlu_cerer_dttm(tlu_cerer_dttm), .tlu_cerer_dtdp(tlu_cerer_dtdp), .tlu_cerer_dcl2c(tlu_cerer_dcl2c), .tlu_cerer_dcl2u(tlu_cerer_dcl2u), .tlu_cerer_dcl2nd(tlu_cerer_dcl2nd), .tlu_cerer_sbdlc(tlu_cerer_sbdlc), .tlu_cerer_sbdlu(tlu_cerer_sbdlu), .tlu_cerer_mrau(tlu_cerer_mrau), .tlu_cerer_tsac(tlu_cerer_tsac), .tlu_cerer_tsau(tlu_cerer_tsau), .tlu_cerer_scac(tlu_cerer_scac), .tlu_cerer_scau(tlu_cerer_scau), .tlu_cerer_tccp(tlu_cerer_tccp), .tlu_cerer_tcup(tlu_cerer_tcup), .tlu_cerer_sbapp(tlu_cerer_sbapp), .tlu_cerer_l2c_socc(tlu_cerer_l2c_socc), .tlu_cerer_l2u_socu(tlu_cerer_l2u_socu), .tlu_cerer_l2nd(tlu_cerer_l2nd), .tlu_cerer_icvp(tlu_cerer_icvp), .tlu_cerer_ictp(tlu_cerer_ictp), .tlu_cerer_ictm(tlu_cerer_ictm), .tlu_cerer_icdp(tlu_cerer_icdp), .tlu_cerer_dcvp(tlu_cerer_dcvp), .tlu_cerer_dctp(tlu_cerer_dctp), .tlu_cerer_dctm(tlu_cerer_dctm), .tlu_cerer_dcdp(tlu_cerer_dcdp), .tlu_cerer_sbdpc(tlu_cerer_sbdpc), .tlu_cerer_sbdpu(tlu_cerer_sbdpu), .tlu_cerer_mamu(tlu_cerer_mamu), .tlu_cerer_tccd(tlu_cerer_tccd), .tlu_cerer_tcud(tlu_cerer_tcud), .tlu_cerer_mal2c(tlu_cerer_mal2c), .tlu_cerer_mal2u(tlu_cerer_mal2u), .tlu_cerer_mal2nd(tlu_cerer_mal2nd), .tlu_cerer_cwql2c(tlu_cerer_cwql2c), .tlu_cerer_cwql2u(tlu_cerer_cwql2u), .tlu_cerer_cwql2nd(tlu_cerer_cwql2nd), .tlu_ceter_pscce(tlu_ceter_pscce[7:0]), .tlu_ceter_de(tlu_ceter_de[7:0]), .tlu_ceter_dhcce(tlu_ceter_dhcce[7:0]) ); tlu_ras_ctl ras ( .wmr_scan_in(ras_wmr_scanin), .wmr_scan_out(ras_wmr_scanout), .scan_in(ras_scanin), .scan_out(ras_scanout), .l2clk (l2clk ), .asi_wr_data (cth_wr_data [3:0] ), .spu_tlu_mamu_err_req_v (spu_tlu_ma_int_req [4 ] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .spc_aclk_wmr(spc_aclk_wmr), .lsu_tlu_pmen(lsu_tlu_pmen), .ftu_excp_way_d(ftu_excp_way_d[2:0]), .ftu_excp_tid_d(ftu_excp_tid_d[2:0]), .ftu_excp_way_valid_d(ftu_excp_way_valid_d), .dec_exc0_m(dec_exc0_m[4:0]), .dec_exc1_m(dec_exc1_m[4:0]), .dec_icache_perr_m(dec_icache_perr_m[1:0]), .dec_tid0_m(dec_tid0_m[1:0]), .dec_tid1_m(dec_tid1_m[1:0]), .dec_inst_valid_m(dec_inst_valid_m[1:0]), .dec_fgu_inst_m(dec_fgu_inst_m[1:0]), .dec_lsu_inst_m(dec_lsu_inst_m[1:0]), .dec_flush_b(dec_flush_b[1:0]), .fls_irf_cecc_b(fls_irf_cecc_b[1:0]), .fls_irf_uecc_b(fls_irf_uecc_b[1:0]), .fls_kill_irf_ecc_w(fls_kill_irf_ecc_w[1:0]), .exu0_ecc_addr_m(exu0_ecc_addr_m[4:0]), .exu1_ecc_addr_m(exu1_ecc_addr_m[4:0]), .exu0_ecc_check_m(exu0_ecc_check_m[7:0]), .exu1_ecc_check_m(exu1_ecc_check_m[7:0]), .fls_f_cecc_w(fls_f_cecc_w), .fls_f_uecc_w(fls_f_uecc_w), .fgu_ecc_addr_fx2(fgu_ecc_addr_fx2[5:0]), .fgu_ecc_check_fx2(fgu_ecc_check_fx2[13:0]), .fgu_pdist_beat2_fx1(fgu_pdist_beat2_fx1), .lsu_tlu_twocycle_m(lsu_tlu_twocycle_m), .lsu_block_store_b(lsu_block_store_b[7:0]), .fls_load_dsfar(fls_load_dsfar[7:0]), .fls_ipe_dme_request(fls_ipe_dme_request[1:0]), .lsu_dttp_err_b(lsu_dttp_err_b), .lsu_dtdp_err_b(lsu_dtdp_err_b), .lsu_dtmh_err_b(lsu_dtmh_err_b), .lsu_dcmh_err_g(lsu_dcmh_err_g), .lsu_dcvp_err_g(lsu_dcvp_err_g), .lsu_dctp_err_g(lsu_dctp_err_g), .lsu_dcdp_err_g(lsu_dcdp_err_g), .lsu_dcl2c_err_g(lsu_dcl2c_err_g), .lsu_dcl2u_err_g(lsu_dcl2u_err_g), .lsu_dcl2nd_err_g(lsu_dcl2nd_err_g), .lsu_dcsoc_err_g(lsu_dcsoc_err_g), .lsu_dcerr_tid_g(lsu_dcerr_tid_g[2:0]), .lsu_dcerr_sfar_g(lsu_dcerr_sfar_g[8:0]), .lsu_sbdlc_err_g(lsu_sbdlc_err_g), .lsu_sbdlu_err_g(lsu_sbdlu_err_g), .lsu_sbdpc_err_g(lsu_sbdpc_err_g), .lsu_sbdpu_err_g(lsu_sbdpu_err_g), .lsu_sbapp_err_g(lsu_sbapp_err_g), .lsu_sbdiou_err_g(lsu_sbdiou_err_g), .lsu_stberr_tid_g(lsu_stberr_tid_g[2:0]), .lsu_stberr_index_g(lsu_stberr_index_g[2:0]), .lsu_stberr_priv_g(lsu_stberr_priv_g[1:0]), .lsu_stb_flush_g(lsu_stb_flush_g), .cel_tccp(cel_tccp), .cel_tcup(cel_tcup), .cel_syndrome(cel_syndrome[7:0]), .tlu_tca_tid(tlu_tca_tid[2:0]), .tlu_tca_index(tlu_tca_index[1:0]), .tlu_tsac(tlu_tsac[7:0]), .tlu_tsau(tlu_tsau[7:0]), .asi_tsac(asi_tsac), .asi_tsau(asi_tsau), .asi_tsacu_tid(asi_tsacu_tid[2:0]), .tlu_tccd(tlu_tccd[7:0]), .tlu_tcud(tlu_tcud[7:0]), .tlu_tca_index_0(tlu_tca_index_0[1:0]), .tlu_tca_index_1(tlu_tca_index_1[1:0]), .tsd_pc_0_w(tsd_pc_0_w[10:5]), .tsd_pc_1_w(tsd_pc_1_w[10:5]), .fls_flush(fls_flush[7:0]), .fls_disrupting_flush_w(fls_disrupting_flush_w[1:0]), .trl_gl0(trl_gl0[1:0]), .trl_gl1(trl_gl1[1:0]), .trl_gl2(trl_gl2[1:0]), .trl_gl3(trl_gl3[1:0]), .trl_gl4(trl_gl4[1:0]), .trl_gl5(trl_gl5[1:0]), .trl_gl6(trl_gl6[1:0]), .trl_gl7(trl_gl7[1:0]), .mmu_asi_cecc(mmu_asi_cecc), .mmu_asi_uecc(mmu_asi_uecc), .mmu_asi_index(mmu_asi_index[10:0]), .mmu_asi_mra_not_sca(mmu_asi_mra_not_sca), .mmu_i_l2cerr(mmu_i_l2cerr[7:0]), .mmu_d_l2cerr(mmu_d_l2cerr[7:0]), .mmu_i_eccerr(mmu_i_eccerr[7:0]), .mmu_d_eccerr(mmu_d_eccerr[7:0]), .mmu_thr0_err_type(mmu_thr0_err_type[2:0]), .mmu_thr1_err_type(mmu_thr1_err_type[2:0]), .mmu_thr2_err_type(mmu_thr2_err_type[2:0]), .mmu_thr3_err_type(mmu_thr3_err_type[2:0]), .mmu_thr4_err_type(mmu_thr4_err_type[2:0]), .mmu_thr5_err_type(mmu_thr5_err_type[2:0]), .mmu_thr6_err_type(mmu_thr6_err_type[2:0]), .mmu_thr7_err_type(mmu_thr7_err_type[2:0]), .mmu_thr0_err_index(mmu_thr0_err_index[2:0]), .mmu_thr1_err_index(mmu_thr1_err_index[2:0]), .mmu_thr2_err_index(mmu_thr2_err_index[2:0]), .mmu_thr3_err_index(mmu_thr3_err_index[2:0]), .mmu_thr4_err_index(mmu_thr4_err_index[2:0]), .mmu_thr5_err_index(mmu_thr5_err_index[2:0]), .mmu_thr6_err_index(mmu_thr6_err_index[2:0]), .mmu_thr7_err_index(mmu_thr7_err_index[2:0]), .spu_tlu_mamu_err_req(spu_tlu_mamu_err_req[10:0]), .spu_tlu_ma_int_req(spu_tlu_ma_int_req[2:0]), .spu_tlu_cwq_int_req(spu_tlu_cwq_int_req[2:0]), .spu_tlu_l2_error(spu_tlu_l2_error[5:0]), .cxi_l2_soc_sre(cxi_l2_soc_sre), .cxi_l2_soc_err_type(cxi_l2_soc_err_type[1:0]), .cxi_l2_soc_tid(cxi_l2_soc_tid[2:0]), .cxi_l2_err(cxi_l2_err), .cxi_soc_err(cxi_soc_err), .asi_rd_isfsr(asi_rd_isfsr), .asi_rd_dsfsr(asi_rd_dsfsr), .asi_rd_dsfar(asi_rd_dsfar), .asi_rd_desr(asi_rd_desr), .asi_rd_fesr(asi_rd_fesr), .asi_rd_tid(asi_rd_tid[2:0]), .asi_wr_isfsr(asi_wr_isfsr[7:0]), .asi_wr_dsfsr(asi_wr_dsfsr[7:0]), .dfd_desr_f(dfd_desr_f[7:0]), .dfd_desr_s(dfd_desr_s[7:0]), .dfd_fesr_f(dfd_fesr_f[7:0]), .dfd_fesr_priv_0(dfd_fesr_priv_0[1:0]), .dfd_fesr_priv_1(dfd_fesr_priv_1[1:0]), .dfd_fesr_priv_2(dfd_fesr_priv_2[1:0]), .dfd_fesr_priv_3(dfd_fesr_priv_3[1:0]), .dfd_fesr_priv_4(dfd_fesr_priv_4[1:0]), .dfd_fesr_priv_5(dfd_fesr_priv_5[1:0]), .dfd_fesr_priv_6(dfd_fesr_priv_6[1:0]), .dfd_fesr_priv_7(dfd_fesr_priv_7[1:0]), .ras_asi_data(ras_asi_data[3:0]), .ras_dsfar_0(ras_dsfar_0[19:0]), .ras_dsfar_1(ras_dsfar_1[19:0]), .ras_dsfar_2(ras_dsfar_2[19:0]), .ras_dsfar_3(ras_dsfar_3[19:0]), .ras_dsfar_4(ras_dsfar_4[19:0]), .ras_dsfar_5(ras_dsfar_5[19:0]), .ras_dsfar_6(ras_dsfar_6[19:0]), .ras_dsfar_7(ras_dsfar_7[19:0]), .ras_dsfar_sel_lsu_va(ras_dsfar_sel_lsu_va[7:0]), .ras_dsfar_sel_ras(ras_dsfar_sel_ras[7:0]), .ras_dsfar_sel_tsa(ras_dsfar_sel_tsa[7:0]), .ras_rd_dsfar(ras_rd_dsfar[7:0]), .ras_desr_et_0(ras_desr_et_0[61:56]), .ras_desr_et_1(ras_desr_et_1[61:56]), .ras_desr_et_2(ras_desr_et_2[61:56]), .ras_desr_et_3(ras_desr_et_3[61:56]), .ras_desr_et_4(ras_desr_et_4[61:56]), .ras_desr_et_5(ras_desr_et_5[61:56]), .ras_desr_et_6(ras_desr_et_6[61:56]), .ras_desr_et_7(ras_desr_et_7[61:56]), .ras_desr_ea_0(ras_desr_ea_0[10:0]), .ras_desr_ea_1(ras_desr_ea_1[10:0]), .ras_desr_ea_2(ras_desr_ea_2[10:0]), .ras_desr_ea_3(ras_desr_ea_3[10:0]), .ras_desr_ea_4(ras_desr_ea_4[10:0]), .ras_desr_ea_5(ras_desr_ea_5[10:0]), .ras_desr_ea_6(ras_desr_ea_6[10:0]), .ras_desr_ea_7(ras_desr_ea_7[10:0]), .ras_desr_me_0(ras_desr_me_0), .ras_desr_me_1(ras_desr_me_1), .ras_desr_me_2(ras_desr_me_2), .ras_desr_me_3(ras_desr_me_3), .ras_desr_me_4(ras_desr_me_4), .ras_desr_me_5(ras_desr_me_5), .ras_desr_me_6(ras_desr_me_6), .ras_desr_me_7(ras_desr_me_7), .ras_desr_en(ras_desr_en[7:0]), .ras_write_desr_1st(ras_write_desr_1st[7:0]), .ras_write_desr_2nd(ras_write_desr_2nd[7:0]), .ras_rd_desr(ras_rd_desr[7:0]), .ras_fesr_et_0(ras_fesr_et_0[61:60]), .ras_fesr_et_1(ras_fesr_et_1[61:60]), .ras_fesr_et_2(ras_fesr_et_2[61:60]), .ras_fesr_et_3(ras_fesr_et_3[61:60]), .ras_fesr_et_4(ras_fesr_et_4[61:60]), .ras_fesr_et_5(ras_fesr_et_5[61:60]), .ras_fesr_et_6(ras_fesr_et_6[61:60]), .ras_fesr_et_7(ras_fesr_et_7[61:60]), .ras_fesr_ea_0(ras_fesr_ea_0[59:55]), .ras_fesr_ea_1(ras_fesr_ea_1[59:55]), .ras_fesr_ea_2(ras_fesr_ea_2[59:55]), .ras_fesr_ea_3(ras_fesr_ea_3[59:55]), .ras_fesr_ea_4(ras_fesr_ea_4[59:55]), .ras_fesr_ea_5(ras_fesr_ea_5[59:55]), .ras_fesr_ea_6(ras_fesr_ea_6[59:55]), .ras_fesr_ea_7(ras_fesr_ea_7[59:55]), .ras_fesr_en(ras_fesr_en[7:0]), .ras_write_fesr(ras_write_fesr[7:0]), .ras_fesr_priv(ras_fesr_priv[59:58]), .ras_update_priv(ras_update_priv[7:0]), .ras_rd_fesr(ras_rd_fesr[7:0]), .ras_precise_error(ras_precise_error[7:0]), .ras_disrupting_error(ras_disrupting_error[7:0]), .ras_deferred_error(ras_deferred_error[7:0]) ); tlu_dfd_dp dfd ( .wmr_scan_in(dfd_wmr_scanin), .wmr_scan_out(dfd_wmr_scanout), .scan_in(dfd_scanin), .scan_out(dfd_scanout), .l2clk (l2clk ), .asi_wr_data (cth_wr_data [61:0] ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .tcu_scan_en_wmr(tcu_scan_en_wmr), .spc_aclk_wmr(spc_aclk_wmr), .lsu_va_b(lsu_va_b[47:0]), .pct0_target_b(pct0_target_b[47:2]), .pct1_target_b(pct1_target_b[47:2]), .tic_exu_address0_b(tic_exu_address0_b[1:0]), .tic_exu_address1_b(tic_exu_address1_b[1:0]), .fls0_dfd_lsu_inst_b(fls0_dfd_lsu_inst_b), .fls1_dfd_lsu_inst_b(fls1_dfd_lsu_inst_b), .tel0_syndrome(tel0_syndrome[15:0]), .tel1_syndrome(tel1_syndrome[15:0]), .tlu_tsa_index_0(tlu_tsa_index_0[2:0]), .tlu_tsa_index_1(tlu_tsa_index_1[2:0]), .ras_dsfar_0(ras_dsfar_0[19:0]), .ras_dsfar_1(ras_dsfar_1[19:0]), .ras_dsfar_2(ras_dsfar_2[19:0]), .ras_dsfar_3(ras_dsfar_3[19:0]), .ras_dsfar_4(ras_dsfar_4[19:0]), .ras_dsfar_5(ras_dsfar_5[19:0]), .ras_dsfar_6(ras_dsfar_6[19:0]), .ras_dsfar_7(ras_dsfar_7[19:0]), .ras_dsfar_sel_lsu_va(ras_dsfar_sel_lsu_va[7:0]), .ras_dsfar_sel_ras(ras_dsfar_sel_ras[7:0]), .ras_dsfar_sel_tsa(ras_dsfar_sel_tsa[7:0]), .ras_desr_et_0(ras_desr_et_0[61:56]), .ras_desr_et_1(ras_desr_et_1[61:56]), .ras_desr_et_2(ras_desr_et_2[61:56]), .ras_desr_et_3(ras_desr_et_3[61:56]), .ras_desr_et_4(ras_desr_et_4[61:56]), .ras_desr_et_5(ras_desr_et_5[61:56]), .ras_desr_et_6(ras_desr_et_6[61:56]), .ras_desr_et_7(ras_desr_et_7[61:56]), .ras_desr_ea_0(ras_desr_ea_0[10:0]), .ras_desr_ea_1(ras_desr_ea_1[10:0]), .ras_desr_ea_2(ras_desr_ea_2[10:0]), .ras_desr_ea_3(ras_desr_ea_3[10:0]), .ras_desr_ea_4(ras_desr_ea_4[10:0]), .ras_desr_ea_5(ras_desr_ea_5[10:0]), .ras_desr_ea_6(ras_desr_ea_6[10:0]), .ras_desr_ea_7(ras_desr_ea_7[10:0]), .ras_desr_me_0(ras_desr_me_0), .ras_desr_me_1(ras_desr_me_1), .ras_desr_me_2(ras_desr_me_2), .ras_desr_me_3(ras_desr_me_3), .ras_desr_me_4(ras_desr_me_4), .ras_desr_me_5(ras_desr_me_5), .ras_desr_me_6(ras_desr_me_6), .ras_desr_me_7(ras_desr_me_7), .ras_desr_en(ras_desr_en[7:0]), .ras_write_desr_1st(ras_write_desr_1st[7:0]), .ras_write_desr_2nd(ras_write_desr_2nd[7:0]), .ras_fesr_et_0(ras_fesr_et_0[61:60]), .ras_fesr_et_1(ras_fesr_et_1[61:60]), .ras_fesr_et_2(ras_fesr_et_2[61:60]), .ras_fesr_et_3(ras_fesr_et_3[61:60]), .ras_fesr_et_4(ras_fesr_et_4[61:60]), .ras_fesr_et_5(ras_fesr_et_5[61:60]), .ras_fesr_et_6(ras_fesr_et_6[61:60]), .ras_fesr_et_7(ras_fesr_et_7[61:60]), .ras_fesr_ea_0(ras_fesr_ea_0[59:55]), .ras_fesr_ea_1(ras_fesr_ea_1[59:55]), .ras_fesr_ea_2(ras_fesr_ea_2[59:55]), .ras_fesr_ea_3(ras_fesr_ea_3[59:55]), .ras_fesr_ea_4(ras_fesr_ea_4[59:55]), .ras_fesr_ea_5(ras_fesr_ea_5[59:55]), .ras_fesr_ea_6(ras_fesr_ea_6[59:55]), .ras_fesr_ea_7(ras_fesr_ea_7[59:55]), .ras_fesr_en(ras_fesr_en[7:0]), .ras_write_fesr(ras_write_fesr[7:0]), .ras_fesr_priv(ras_fesr_priv[59:58]), .ras_update_priv(ras_update_priv[7:0]), .ras_asi_data(ras_asi_data[3:0]), .ras_rd_dsfar(ras_rd_dsfar[7:0]), .ras_rd_desr(ras_rd_desr[7:0]), .ras_rd_fesr(ras_rd_fesr[7:0]), .asi_wr_dsfar(asi_wr_dsfar[7:0]), .dfd_desr_f(dfd_desr_f[7:0]), .dfd_desr_s(dfd_desr_s[7:0]), .dfd_fls_desr_f(dfd_fls_desr_f[7:0]), .dfd_fls_desr_s(dfd_fls_desr_s[7:0]), .dfd_fesr_f(dfd_fesr_f[7:0]), .dfd_fesr_priv_0(dfd_fesr_priv_0[1:0]), .dfd_fesr_priv_1(dfd_fesr_priv_1[1:0]), .dfd_fesr_priv_2(dfd_fesr_priv_2[1:0]), .dfd_fesr_priv_3(dfd_fesr_priv_3[1:0]), .dfd_fesr_priv_4(dfd_fesr_priv_4[1:0]), .dfd_fesr_priv_5(dfd_fesr_priv_5[1:0]), .dfd_fesr_priv_6(dfd_fesr_priv_6[1:0]), .dfd_fesr_priv_7(dfd_fesr_priv_7[1:0]), .dfd_asi_data(dfd_asi_data[47:0]), .dfd_asi_desr(dfd_asi_desr[18:0]) ); //////////////////////////////////////////////////////////////////////////////// // Debug // Freerunning domain tlu_sse_dp sse ( .scan_in(sse_scanin), .scan_out(sse_scanout), .l2clk (l2clk ), .tcu_pce_ov(tcu_pce_ov), .spc_aclk(spc_aclk), .spc_bclk(spc_bclk), .tcu_scan_en(tcu_scan_en), .tcu_shscan_clk_stop(tcu_shscan_clk_stop), .trl1_shscanid_2(trl1_shscanid_2), .fls_ss_update_pc_w(fls_ss_update_pc_w[1:0]), .pct0_shadow_pc_d(pct0_shadow_pc_d[47:2]), .pct1_shadow_pc_d(pct1_shadow_pc_d[47:2]), .fls0_spc_hardstop_request(fls0_spc_hardstop_request), .fls0_spc_softstop_request(fls0_spc_softstop_request), .fls0_spc_trigger_pulse(fls0_spc_trigger_pulse), .fls1_spc_hardstop_request(fls1_spc_hardstop_request), .fls1_spc_softstop_request(fls1_spc_softstop_request), .fls1_spc_trigger_pulse(fls1_spc_trigger_pulse), .sse_shscan_clk_stop(sse_shscan_clk_stop), .sse_shadow_pc(sse_shadow_pc[47:2]), .tlu_hardstop_request(tlu_hardstop_request), .tlu_softstop_request(tlu_softstop_request), .tlu_trigger_pulse(tlu_trigger_pulse) ); // Shadow scan domain assign shscan_l2clk = l2clk; tlu_ssd_dp ssd (.shscan_l2clk(shscan_l2clk), .tcu_shscan_scan_in(tcu_shscan_scan_in), .tcu_shscan_pce_ov(tcu_shscan_pce_ov), .tcu_shscan_aclk(tcu_shscan_aclk), .tcu_shscan_bclk(tcu_shscan_bclk), .tcu_shscan_scan_en(tcu_shscan_scan_en), .trl1_shscanid_2(trl1_shscanid_2), .sse_shscan_clk_stop(sse_shscan_clk_stop), .sse_shadow_pc(sse_shadow_pc[47:2]), .tsd0_shadow_pstate(tsd0_shadow_pstate[10:0]), .tsd1_shadow_pstate(tsd1_shadow_pstate[10:0]), .tsd0_shadow_tpc(tsd0_shadow_tpc[47:2]), .tsd1_shadow_tpc(tsd1_shadow_tpc[47:2]), .tsd0_shadow_tt(tsd0_shadow_tt[8:0]), .tsd1_shadow_tt(tsd1_shadow_tt[8:0]), .trl0_shadow_tl(trl0_shadow_tl[2:0]), .trl1_shadow_tl(trl1_shadow_tl[2:0]), .trl0_tl_for_tt(trl0_tl_for_tt[2:0]), .trl1_tl_for_tt(trl1_tl_for_tt[2:0]), .spc_shscan_scan_out(spc_shscan_scan_out) ); //////////////////////////////////////////////////////////////////////////////// // MBIST tlu_mbd_dp mbd( .asi_mbd_compare_data(asi_mbd_compare_data[7:0]), .asi_mbd_sel_tsd0(asi_mbd_sel_tsd0), .asi_mbd_sel_tsd1(asi_mbd_sel_tsd1), .asi_mbd_sel_tic(asi_mbd_sel_tic), .tic_mbist_data(tic_mbist_data[31:0]), .tsd0_mbist_data(tsd0_mbist_data[31:0]), .tsd1_mbist_data(tsd1_mbist_data[31:0]), .tlu_pc_0_prebuf_d(tlu_pc_0_prebuf_d[47:2]), .mbd_compare(mbd_compare), .tlu_pc_0_d(tlu_pc_0_d[47:2])); //////////////////////////////////////////////////////////////////////////////// // Scan patch panel // fixscan start: assign fls0_scanin = scan_in ; assign fls1_scanin = fls0_scanout ; assign pct0_scanin = fls1_scanout ; assign pct1_scanin = pct0_scanout ; assign cxi_scanin = pct1_scanout ; assign cth_scanin = cxi_scanout ; assign trl0_scanin = cth_scanout ; assign trl1_scanin = trl0_scanout ; assign tel0_scanin = trl1_scanout ; assign tsa0_scanin = tel0_scanout ; assign tel1_scanin = tsa0_scanout ; assign tsa1_scanin = tel1_scanout ; assign tsd0_scanin = tsa1_scanout ; assign tsd1_scanin = tsd0_scanout ; assign asi_scanin = tsd1_scanout ; assign tic_scanin = asi_scanout ; assign tca_scanin = tic_scanout ; assign cep_scanin = tca_scanout ; assign cel_scanin = cep_scanout ; assign cer_scanin = cel_scanout ; assign ras_scanin = cer_scanout ; assign dfd_scanin = ras_scanout ; assign sse_scanin = dfd_scanout ; assign scan_out = sse_scanout ; assign fls0_wmr_scanin = wmr_scan_in ; assign fls1_wmr_scanin = fls0_wmr_scanout ; assign pct0_wmr_scanin = fls1_wmr_scanout ; assign pct1_wmr_scanin = pct0_wmr_scanout ; assign cth_wmr_scanin = pct1_wmr_scanout ; assign trl0_wmr_scanin = cth_wmr_scanout ; assign trl1_wmr_scanin = trl0_wmr_scanout ; assign tsd0_wmr_scanin = trl1_wmr_scanout ; assign tsd1_wmr_scanin = tsd0_wmr_scanout ; assign asi_wmr_scanin = tsd1_wmr_scanout ; assign ras_wmr_scanin = asi_wmr_scanout ; assign dfd_wmr_scanin = ras_wmr_scanout ; assign wmr_scan_out = dfd_wmr_scanout ; // fixscan end: endmodule