[6] | 1 | // ========== Copyright Header Begin ========================================== |
---|
| 2 | // |
---|
| 3 | // OpenSPARC T1 Processor File: tlu.v |
---|
| 4 | // Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. |
---|
| 5 | // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES. |
---|
| 6 | // |
---|
| 7 | // The above named program is free software; you can redistribute it and/or |
---|
| 8 | // modify it under the terms of the GNU General Public |
---|
| 9 | // License version 2 as published by the Free Software Foundation. |
---|
| 10 | // |
---|
| 11 | // The above named program is distributed in the hope that it will be |
---|
| 12 | // useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
---|
| 14 | // General Public License for more details. |
---|
| 15 | // |
---|
| 16 | // You should have received a copy of the GNU General Public |
---|
| 17 | // License along with this work; if not, write to the Free Software |
---|
| 18 | // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. |
---|
| 19 | // |
---|
| 20 | // ========== Copyright Header End ============================================ |
---|
| 21 | //////////////////////////////////////////////////////////////////////// |
---|
| 22 | /* |
---|
| 23 | // Module Name: |
---|
| 24 | // Description: Trap Logic and Memory Management Unit (TLU) : |
---|
| 25 | // - Contains : |
---|
| 26 | // - Trap Stack Array (TSA) |
---|
| 27 | // - Trap Control Logic (TCL) |
---|
| 28 | // - Mmu internal Register Array (MRA) |
---|
| 29 | // - Mmu Control Logic (MCL) |
---|
| 30 | // |
---|
| 31 | */ |
---|
| 32 | //////////////////////////////////////////////////////////////////////// |
---|
| 33 | // Global header file includes |
---|
| 34 | //////////////////////////////////////////////////////////////////////// |
---|
| 35 | `include "sys.h" // system level definition file which contains the |
---|
| 36 | // time scale definition |
---|
| 37 | |
---|
| 38 | `include "tlu.h" |
---|
| 39 | //////////////////////////////////////////////////////////////////////// |
---|
| 40 | // Local header file includes / local defines |
---|
| 41 | //////////////////////////////////////////////////////////////////////// |
---|
| 42 | |
---|
| 43 | module tlu (/*AUTOARG*/ |
---|
| 44 | short_si0,short_si1,short_so0,short_so1,si0,si1,so0,so1, |
---|
| 45 | tlu_sftint_vld, tlu_hintp_vld, tlu_rerr_vld, tlu_lsu_tl_zero, |
---|
| 46 | tlu_lsu_stxa_ack, tlu_lsu_redmode_rst_d1, // tlu_lsu_async_ack_w2, |
---|
| 47 | tlu_lsu_pstate_priv, tlu_lsu_pstate_cle, tlu_lsu_pstate_am, tlu_lsu_tid_m, |
---|
| 48 | tlu_lsu_pcxpkt, tlu_lsu_ldxa_tid_w2, tlu_lsu_stxa_ack_tid, tlu_lsu_redmode, |
---|
| 49 | tlu_lsu_asi_update_m, tlu_lsu_asi_m, |
---|
| 50 | tlu_itlb_wr_vld_g, tlu_itlb_tte_tag_w2, tlu_itlb_tte_data_w2, |
---|
| 51 | tlu_itlb_tag_rd_g, tlu_itlb_rw_index_vld_g, tlu_itlb_rw_index_g, |
---|
| 52 | tlu_itlb_dmp_actxt_g, tlu_itlb_invalidate_all_g, tlu_itlb_dmp_vld_g, |
---|
| 53 | tlu_itlb_dmp_all_g, tlu_itlb_dmp_nctxt_g, tlu_ifu_trapnpc_w2, |
---|
| 54 | tlu_sscan_test_data, // tlu_sscan_pc, |
---|
| 55 | tlu_itlb_data_rd_g, tlu_ifu_trappc_vld_w1, tlu_ifu_trappc_w2, |
---|
| 56 | tlu_ifu_trapnpc_vld_w1, tlu_ifu_trap_tid_w1, tlu_ifu_rstthr_i2, |
---|
| 57 | tlu_ifu_rstint_i2, tlu_ifu_resumint_i2, tlu_ifu_pstate_pef, |
---|
| 58 | tlu_ifu_pstate_ie, tlu_ifu_nukeint_i2, // tlu_ifu_int_activate_i3, |
---|
| 59 | tlu_ifu_hwint_i3, tlu_idtlb_dmp_thrid_g, tlu_idtlb_dmp_key_g, |
---|
| 60 | tlu_exu_cwpccr_update_m, tlu_exu_cwp_retry_m, |
---|
| 61 | tlu_exu_cwp_m, tlu_exu_ccr_m, tlu_exu_agp_swap, tlu_exu_agp, |
---|
| 62 | tlu_dtlb_tte_tag_w2, tlu_dtlb_tte_data_w2, |
---|
| 63 | tlu_dtlb_tag_rd_g, tlu_dtlb_rw_index_vld_g, tlu_dtlb_rw_index_g, |
---|
| 64 | tlu_dtlb_invalidate_all_g, tlu_dtlb_dmp_vld_g, tlu_exu_rsr_data_m, |
---|
| 65 | tlu_dtlb_dmp_sctxt_g, tlu_dtlb_dmp_pctxt_g, tlu_dtlb_dmp_nctxt_g, |
---|
| 66 | tlu_dtlb_dmp_all_g, tlu_dtlb_dmp_actxt_g, tlu_dtlb_data_rd_g, |
---|
| 67 | tlu_lsu_int_ldxa_vld_w2, tlu_lsu_ldxa_async_data_vld, // tlu_ifu_flush_pipe_w, |
---|
| 68 | ifu_lsu_error_inj, tlu_exu_agp_tid, tlu_hpstate_priv, tlu_hpstate_ibe, |
---|
| 69 | tlu_hpstate_enb, tlu_early_flush_pipe_w, tlu_exu_early_flush_pipe_w, |
---|
| 70 | tlu_early_flush_pipe2_w, tlu_lsu_int_ldxa_data_w2, tlu_lsu_int_ld_ill_va_w2, |
---|
| 71 | tlu_exu_priv_trap_m, tlu_exu_pic_onebelow_m, tlu_exu_pic_twobelow_m, |
---|
| 72 | lsu_exu_ldxa_m, lsu_exu_ldxa_data_g, tlu_dsfsr_flt_vld, tlu_lsu_priv_trap_m, |
---|
| 73 | // tlu_lsu_priv_trap_w, |
---|
| 74 | // Inputs |
---|
| 75 | se, arst_l, grst_l, sehold, mem_write_disable, // rst_tri_en, |
---|
| 76 | mux_drive_disable, lsu_tlu_wtchpt_trp_g, ifu_tlu_flush_fd3_w, |
---|
| 77 | lsu_tlu_ttype_vld_m2, ifu_tlu_flush_fd_w, ifu_tlu_flush_fd2_w, |
---|
| 78 | lsu_tlu_ttype_m2, lsu_tlu_tlb_st_inst_m, // lsu_tlu_tte_ebit_g, |
---|
| 79 | lsu_tlu_tlb_ldst_va_m, lsu_tlu_tlb_ld_inst_m, lsu_tlu_tlb_dmp_va_m, |
---|
| 80 | lsu_tlu_tlb_asi_state_m, lsu_tlu_tlb_access_tid_m, ifu_tlu_flush_m, |
---|
| 81 | lsu_tlu_st_rs3_data_g, lsu_tlu_early_flush_w, lsu_tlu_early_flush2_w, |
---|
| 82 | lsu_tlu_priv_action_g, lsu_tlu_pcxpkt_ack, // lsu_tlu_priv_violtn_g, |
---|
| 83 | lsu_tlu_pctxt_m, lsu_tlu_async_ttype_vld_g, // lsu_tlu_nonalt_ldst_m, |
---|
| 84 | lsu_tlu_misalign_addr_ldst_atm_m, ctu_sscan_tid, lsu_tlu_intpkt, |
---|
| 85 | lsu_tlu_async_ttype_g, lsu_tlu_rs3_data_g, lsu_tlu_defr_trp_taken_g, |
---|
| 86 | lsu_tlu_dtlb_done, lsu_tlu_dside_ctxt_m, // lsu_tlu_flt_ld_nfo_pg_g, |
---|
| 87 | lsu_tlu_dmmu_miss_g, lsu_tlu_daccess_prot_g, // lsu_tlu_derr_tid_g, |
---|
| 88 | lsu_tlu_daccess_excptn_g, lsu_tlu_cpx_vld, ifu_tlu_pc_oor_e, |
---|
| 89 | lsu_tlu_cpx_req, ifu_tlu_inst_vld_m_bf1, ifu_mmu_trap_m, ifu_tlu_trap_m, |
---|
| 90 | lsu_asi_state, lsu_asi_reg3, lsu_asi_reg2, lsu_tlu_async_tid_g, |
---|
| 91 | lsu_asi_reg1, lsu_asi_reg0, ifu_tlu_ttype_vld_m, ifu_tlu_ttype_m, |
---|
| 92 | ifu_tlu_thrid_d, ifu_tlu_swint_m, ifu_tlu_sir_inst_m, ifu_tlu_l2imiss, |
---|
| 93 | ifu_tlu_rstint_m, ifu_tlu_retry_inst_d, ifu_tlu_priv_violtn_m, ifu_tlu_pc_m, |
---|
| 94 | ifu_tlu_npc_m, ifu_tlu_immu_miss_m, ifu_tlu_itlb_done, ifu_tlu_inst_vld_m, |
---|
| 95 | ifu_tlu_hwint_m, ifu_lsu_imm_asi_d, ifu_lsu_imm_asi_vld_d, ifu_tlu_done_inst_d, |
---|
| 96 | ifu_lsu_st_inst_e, ifu_lsu_memref_d, ifu_lsu_ld_inst_e, ffu_tlu_trap_ue, |
---|
| 97 | ffu_tlu_trap_other, ffu_tlu_trap_ieee754, ffu_tlu_ill_inst_m, ffu_ifu_tid_w2, |
---|
| 98 | exu_tlu_va_oor_jl_ret_m, exu_tlu_ttype_vld_m, exu_tlu_ttype_m, exu_tlu_va_oor_m, |
---|
| 99 | exu_tlu_spill_tid, exu_tlu_spill, exu_tlu_spill_other, exu_tlu_spill_wtype, |
---|
| 100 | exu_tlu_misalign_addr_jmpl_rtn_m, exu_tlu_cwp_retry, exu_mmu_early_va_e, |
---|
| 101 | exu_tlu_cwp_cmplt_tid, // exu_tlu_spill_ttype, exu_tlu_cwp_fastcmplt_w, |
---|
| 102 | exu_tlu_cwp_cmplt, exu_tlu_cwp3, exu_tlu_cwp2, exu_tlu_cwp1, |
---|
| 103 | exu_tlu_cwp0, exu_tlu_ccr3_w, exu_tlu_ccr2_w, lsu_tlu_ldst_va_m, |
---|
| 104 | exu_tlu_ccr1_w, exu_tlu_ccr0_w, exu_lsu_ldst_va_e, const_cpuid, |
---|
| 105 | rclk, ifu_tlu_sraddr_d, ifu_tlu_rsr_inst_d, // ifu_tlu_wsr_inst_d, |
---|
| 106 | exu_tlu_wsr_data_m, lsu_tlu_rsr_data_e, ifu_tlu_sraddr_d_v2, |
---|
| 107 | ifu_lsu_alt_space_e, lsu_tlu_squash_va_oor_m, ifu_tlu_imiss_e, |
---|
| 108 | lsu_tlu_dcache_miss_w2, lsu_tlu_l2_dmiss, lsu_tlu_stb_full_w2, |
---|
| 109 | ffu_tlu_fpu_tid, ffu_tlu_fpu_cmplt, spu_tlu_rsrv_illgl_m, |
---|
| 110 | lsu_pid_state0, lsu_pid_state1, lsu_pid_state2, lsu_pid_state3, |
---|
| 111 | lsu_tlu_nucleus_ctxt_m,lsu_tlu_tte_pg_sz_g, exu_tlu_ue_trap_m, |
---|
| 112 | lsu_ifu_inj_ack, ifu_tlu_alt_space_d, // lsu_tlu_ill_inst_m, |
---|
| 113 | ifu_lsu_thrid_s,lsu_dsfsr_din_g,lsu_dmmu_sfsr_trp_wr,lsu_mmu_flush_pipe_w, |
---|
| 114 | exu_lsu_priority_trap_m, lsu_tlu_wsr_inst_e, lsu_mmu_defr_trp_taken_g); |
---|
| 115 | |
---|
| 116 | |
---|
| 117 | /*AUTOINPUT*/ |
---|
| 118 | // Beginning of automatic inputs (from unused autoinst inputs) |
---|
| 119 | // |
---|
| 120 | // input clk; // To tlu_int of sparc_tlu_int.v, ... |
---|
| 121 | input rclk; // To tlu_int of sparc_tlu_int.v, ... |
---|
| 122 | input [3:0] const_cpuid; // To tlu_int of sparc_tlu_int.v, ... |
---|
| 123 | input [`ASI_VA_WIDTH-1:0] exu_lsu_ldst_va_e; // To mmu_dp of tlu_mmu_dp.v |
---|
| 124 | input [`TLU_ASI_VA_WIDTH-1:0] lsu_tlu_ldst_va_m; // To mmu_dp of tlu_mmu_dp.v |
---|
| 125 | input [7:0] exu_mmu_early_va_e; // From exu of sparc_exu.v |
---|
| 126 | input [7:0] exu_tlu_ccr0_w; // To tdp of tlu_tdp.v |
---|
| 127 | input [7:0] exu_tlu_ccr1_w; // To tdp of tlu_tdp.v |
---|
| 128 | input [7:0] exu_tlu_ccr2_w; // To tdp of tlu_tdp.v |
---|
| 129 | input [7:0] exu_tlu_ccr3_w; // To tdp of tlu_tdp.v |
---|
| 130 | // modified due to timing |
---|
| 131 | // input [2:0] exu_tlu_cwp0_w; // To tdp of tlu_tdp.v |
---|
| 132 | // input [2:0] exu_tlu_cwp1_w; // To tdp of tlu_tdp.v |
---|
| 133 | // input [2:0] exu_tlu_cwp2_w; // To tdp of tlu_tdp.v |
---|
| 134 | // input [2:0] exu_tlu_cwp3_w; // To tdp of tlu_tdp.v |
---|
| 135 | input [2:0] exu_tlu_cwp0; // To tdp of tlu_tdp.v |
---|
| 136 | input [2:0] exu_tlu_cwp1; // To tdp of tlu_tdp.v |
---|
| 137 | input [2:0] exu_tlu_cwp2; // To tdp of tlu_tdp.v |
---|
| 138 | input [2:0] exu_tlu_cwp3; // To tdp of tlu_tdp.v |
---|
| 139 | input exu_tlu_cwp_cmplt; // To tcl of tlu_tcl.v |
---|
| 140 | input [1:0] exu_tlu_cwp_cmplt_tid; // To tcl of tlu_tcl.v |
---|
| 141 | // input exu_tlu_cwp_fastcmplt_w;// To tcl of tlu_tcl.v |
---|
| 142 | input exu_tlu_cwp_retry; // To tcl of tlu_tcl.v |
---|
| 143 | input exu_tlu_misalign_addr_jmpl_rtn_m;// To tcl of tlu_tcl.v |
---|
| 144 | input exu_tlu_spill; // To tcl of tlu_tcl.v |
---|
| 145 | input [1:0] exu_tlu_spill_tid; // To tcl of tlu_tcl.v |
---|
| 146 | // derive the spill_ttype from spill_other and spill_wtype |
---|
| 147 | // input [8:0] exu_tlu_spill_ttype; // To tcl of tlu_tcl.v |
---|
| 148 | input exu_tlu_spill_other; // From exu of sparc_exu.v |
---|
| 149 | input [2:0] exu_tlu_spill_wtype; // From exu of sparc_exu.v |
---|
| 150 | input [8:0] exu_tlu_ttype_m; // To tcl of tlu_tcl.v |
---|
| 151 | input exu_tlu_ttype_vld_m; // To tcl of tlu_tcl.v |
---|
| 152 | input exu_tlu_ue_trap_m;// To tcl of tlu_tcl.v |
---|
| 153 | input exu_tlu_va_oor_jl_ret_m;// To tcl of tlu_tcl.v |
---|
| 154 | input exu_tlu_va_oor_m; // To tcl of tlu_tcl.v |
---|
| 155 | input ffu_tlu_ill_inst_m; // new trap from ffu |
---|
| 156 | input [1:0] ffu_ifu_tid_w2; // To tcl of tlu_tcl.v |
---|
| 157 | input ffu_tlu_trap_ieee754; // To tcl of tlu_tcl.v |
---|
| 158 | input ffu_tlu_trap_other; // To tcl of tlu_tcl.v |
---|
| 159 | input ffu_tlu_trap_ue; // To tcl of tlu_tcl.v |
---|
| 160 | input ifu_lsu_ld_inst_e; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 161 | input ifu_lsu_memref_d; // To tcl of tlu_tcl.v |
---|
| 162 | input ifu_lsu_st_inst_e; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 163 | input ifu_tlu_done_inst_d; // To tcl of tlu_tcl.v |
---|
| 164 | // input ifu_tlu_flsh_inst_e; // To tcl of tlu_tcl.v |
---|
| 165 | input ifu_tlu_flush_m; // To tcl of tlu_tcl.v |
---|
| 166 | input ifu_tlu_flush_fd_w; // To tcl of tlu_tcl.v |
---|
| 167 | input ifu_tlu_flush_fd2_w; // To tcl of tlu_tcl.v |
---|
| 168 | input ifu_tlu_flush_fd3_w; // To tcl of tlu_tcl.v |
---|
| 169 | input lsu_tlu_early_flush_w; // To tcl of tlu_tcl.v |
---|
| 170 | input lsu_tlu_early_flush2_w; // To tcl of tlu_tcl.v |
---|
| 171 | input ifu_tlu_hwint_m; // To tcl of tlu_tcl.v |
---|
| 172 | input ifu_tlu_immu_miss_m; // To tcl of tlu_tcl.v, ... |
---|
| 173 | input ifu_tlu_pc_oor_e; // To tcl of tlu_tcl.v |
---|
| 174 | input [`TLU_THRD_NUM-1:0] ifu_tlu_l2imiss; // To tcl of tlu_tcl.v, ... |
---|
| 175 | input ifu_tlu_inst_vld_m; // To tcl of tlu_tcl.v |
---|
| 176 | input ifu_tlu_inst_vld_m_bf1; // To tcl of tlu_tcl.v |
---|
| 177 | input ifu_tlu_itlb_done; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 178 | // input [1:0] ifu_tlu_ldst_size_e; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 179 | // modified for bug 3017 |
---|
| 180 | input [48:0] ifu_tlu_npc_m; // To tdp of tlu_tdp.v |
---|
| 181 | input [48:0] ifu_tlu_pc_m; // To tdp of tlu_tdp.v |
---|
| 182 | // input [47:0] ifu_tlu_npc_m; // To tdp of tlu_tdp.v |
---|
| 183 | // input [47:0] ifu_tlu_pc_m; // To tdp of tlu_tdp.v |
---|
| 184 | input ifu_tlu_priv_violtn_m; // To tcl of tlu_tcl.v |
---|
| 185 | input ifu_tlu_retry_inst_d; // To tcl of tlu_tcl.v |
---|
| 186 | input ifu_tlu_rstint_m; // To tcl of tlu_tcl.v |
---|
| 187 | input ifu_tlu_sir_inst_m; // To tcl of tlu_tcl.v |
---|
| 188 | input ifu_tlu_swint_m; // To tcl of tlu_tcl.v |
---|
| 189 | input [1:0] ifu_tlu_thrid_d; // To tcl of tlu_tcl.v |
---|
| 190 | input [1:0] ifu_lsu_thrid_s; // To tcl of tlu_tcl.v |
---|
| 191 | input [8:0] ifu_tlu_ttype_m; // To tcl of tlu_tcl.v |
---|
| 192 | input ifu_tlu_ttype_vld_m; // To tcl of tlu_tcl.v |
---|
| 193 | input ifu_mmu_trap_m; // To tcl of tlu_tcl.v |
---|
| 194 | input ifu_tlu_trap_m; // To tcl of tlu_tcl.v |
---|
| 195 | input [7:0] lsu_asi_reg0; // To tdp of tlu_tdp.v |
---|
| 196 | input [7:0] lsu_asi_reg1; // To tdp of tlu_tdp.v |
---|
| 197 | input [7:0] lsu_asi_reg2; // To tdp of tlu_tdp.v |
---|
| 198 | input [7:0] lsu_asi_reg3; // To tdp of tlu_tdp.v |
---|
| 199 | input [`TLU_ASI_STATE_WIDTH-1:0] lsu_asi_state; // To tcl of tlu_tcl.v, ... |
---|
| 200 | // added asynchronize trap to handle correctable dmmu parity error |
---|
| 201 | input lsu_tlu_async_ttype_vld_g; // lsu asynchronous trap valid |
---|
| 202 | input lsu_tlu_defr_trp_taken_g; // lsu asynchronous trap valid |
---|
| 203 | input lsu_mmu_defr_trp_taken_g; // lsu asynchronous trap valid |
---|
| 204 | input [6:0] lsu_tlu_async_ttype_g; // lsu asynchronous trap type |
---|
| 205 | input [1:0] lsu_tlu_async_tid_g; // asynchronous trap - thread |
---|
| 206 | input [3:0] lsu_tlu_cpx_req; // To tlu_int of sparc_tlu_int.v |
---|
| 207 | input lsu_tlu_cpx_vld; // To tlu_int of sparc_tlu_int.v |
---|
| 208 | // input [2:0] lsu_tlu_ctxt_sel_m; // To tcl of tlu_tcl.v |
---|
| 209 | input lsu_tlu_daccess_excptn_g;// To tcl of tlu_tcl.v, ... |
---|
| 210 | input lsu_tlu_daccess_prot_g; // To tcl of tlu_tcl.v, ... |
---|
| 211 | // input [1:0] lsu_tlu_derr_tid_g; // To tcl of tlu_tcl.v |
---|
| 212 | input lsu_tlu_dmmu_miss_g; // To tcl of tlu_tcl.v, ... |
---|
| 213 | input [12:0] lsu_tlu_dside_ctxt_m; // To mmu_dp of tlu_mmu_dp.v |
---|
| 214 | input lsu_tlu_dtlb_done; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 215 | // input lsu_tlu_flt_ld_nfo_pg_g;// To tcl of tlu_tcl.v |
---|
| 216 | // input lsu_tlu_illegal_asi_action_g;// To tcl of tlu_tcl.v |
---|
| 217 | input [17:0] lsu_tlu_intpkt; // To tlu_int of sparc_tlu_int.v |
---|
| 218 | // modified for shadow scan |
---|
| 219 | // input [3:0] lsu_tlu_iobrdge_pc_sel; |
---|
| 220 | input [`TLU_THRD_NUM-1:0] ctu_sscan_tid; |
---|
| 221 | input lsu_tlu_misalign_addr_ldst_atm_m;// To tcl of tlu_tcl.v |
---|
| 222 | // input lsu_tlu_nonalt_ldst_m; // To tcl of tlu_tcl.v |
---|
| 223 | input [12:0] lsu_tlu_pctxt_m; // To mmu_dp of tlu_mmu_dp.v |
---|
| 224 | input lsu_tlu_pcxpkt_ack; // To tlu_int of sparc_tlu_int.v |
---|
| 225 | input lsu_tlu_priv_action_g; // To tcl of tlu_tcl.v |
---|
| 226 | // input lsu_tlu_priv_violtn_g; // To tcl of tlu_tcl.v |
---|
| 227 | // input lsu_tlu_spec_access_epage_g;// To tcl of tlu_tcl.v |
---|
| 228 | input [63:0] lsu_tlu_st_rs3_data_g; // To tlu_int of sparc_tlu_int.v, ... |
---|
| 229 | input [63:0] lsu_tlu_rs3_data_g; // To tlu_int of sparc_tlu_int.v, ... |
---|
| 230 | // added for timing |
---|
| 231 | input [1:0] lsu_tlu_tlb_access_tid_m;// To mmu_ctl of tlu_mmu_ctl.v |
---|
| 232 | input [7:0] lsu_tlu_tlb_asi_state_m;// To mmu_ctl of tlu_mmu_ctl.v |
---|
| 233 | input [47:13] lsu_tlu_tlb_dmp_va_m; // To mmu_dp of tlu_mmu_dp.v |
---|
| 234 | input lsu_tlu_tlb_ld_inst_m; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 235 | input [10:0] lsu_tlu_tlb_ldst_va_m; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 236 | input lsu_tlu_tlb_st_inst_m; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 237 | // input lsu_tlu_tte_ebit_g; // To tcl of tlu_tcl.v |
---|
| 238 | input [8:0] lsu_tlu_ttype_m2; // To tcl of tlu_tcl.v |
---|
| 239 | // removed unused bits |
---|
| 240 | // input [1:0] lsu_tlu_ttype_tid_m2; // To tcl of tlu_tcl.v |
---|
| 241 | input lsu_tlu_ttype_vld_m2; // To tcl of tlu_tcl.v |
---|
| 242 | // input lsu_tlu_uncache_atomic_g;// To tcl of tlu_tcl.v |
---|
| 243 | // input lsu_tlu_write_op_m; // To tcl of tlu_tcl.v |
---|
| 244 | input lsu_tlu_wtchpt_trp_g; // To tcl of tlu_tcl.v |
---|
| 245 | // input lsu_tlu_xslating_ldst_m;// To tcl of tlu_tcl.v |
---|
| 246 | // input reset; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 247 | // input rst_l; // To tcl of tlu_tcl.v, ... |
---|
| 248 | input grst_l; // To tcl of tlu_tcl.v, ... |
---|
| 249 | input arst_l; // To tcl of tlu_tcl.v, ... |
---|
| 250 | // input rst_tri_en; // To tcl of tlu_tcl.v, ... |
---|
| 251 | input mem_write_disable; // To tcl of tlu_tcl.v, ... |
---|
| 252 | input mux_drive_disable; // To tcl of tlu_tcl.v, ... |
---|
| 253 | // input testmode_l; // To tcl of tlu_tcl.v, ... |
---|
| 254 | input sehold; // To tlu_int of sparc_tlu_int.v, ... |
---|
| 255 | input se; // To tlu_int of sparc_tlu_int.v, ... |
---|
| 256 | input si0,si1,short_si0,short_si1; // To tlu_int of sparc_tlu_int.v, ... |
---|
| 257 | // End of automatics |
---|
| 258 | // Read/Write Privileged State Register Access. |
---|
| 259 | input [`TLU_ASR_ADDR_WIDTH-1:0] ifu_tlu_sraddr_d; // addr of sr(st/pr) |
---|
| 260 | input [`TLU_ASR_ADDR_WIDTH-1:0] ifu_tlu_sraddr_d_v2; // addr of sr(st/pr) |
---|
| 261 | input ifu_tlu_rsr_inst_d ; // valid rd sr(st/pr) |
---|
| 262 | // modified for timing |
---|
| 263 | // input ifu_tlu_wsr_inst_d ; // valid wr sr(st/pr) |
---|
| 264 | input lsu_tlu_wsr_inst_e ; // valid wr sr(st/pr) |
---|
| 265 | input [63:0] exu_tlu_wsr_data_m ; // pr/st data to irf. |
---|
| 266 | |
---|
| 267 | // input [1:0] ifu_tlu_thrid_e ; // Thread id. |
---|
| 268 | input [7:0] lsu_tlu_rsr_data_e ; // sr/pr rd data from lsu. |
---|
| 269 | |
---|
| 270 | input ifu_lsu_alt_space_e; // alt-space access |
---|
| 271 | input ifu_tlu_alt_space_d; // alt-space access - d stage |
---|
| 272 | input lsu_tlu_squash_va_oor_m;// squash va_oor for mem-op. |
---|
| 273 | // input lsu_tlu_ill_inst_m; // new illegal instru from spu via lsu |
---|
| 274 | // |
---|
| 275 | // new interfaces to the pib |
---|
| 276 | input ifu_tlu_imiss_e; // icache misses -- New interface |
---|
| 277 | input [3:0] lsu_tlu_dcache_miss_w2; // dcache miss -- new interface |
---|
| 278 | input [3:0] lsu_tlu_l2_dmiss; // l2 misses -- new interface |
---|
| 279 | input [3:0] lsu_tlu_stb_full_w2; // store buffer full -- new interface |
---|
| 280 | input [1:0] ffu_tlu_fpu_tid; // ThrdID for the FF instr_cmplt -- new |
---|
| 281 | input ffu_tlu_fpu_cmplt; // FF instru complete -- new |
---|
| 282 | // |
---|
| 283 | // New trap from SPU |
---|
| 284 | // removed for timing fix |
---|
| 285 | input spu_tlu_rsrv_illgl_m; // illegal instruction from SPU |
---|
| 286 | input [2:0] lsu_pid_state0 ; // pid thread0 ; global use |
---|
| 287 | input [2:0] lsu_pid_state1 ; // pid thread1 ; global use |
---|
| 288 | input [2:0] lsu_pid_state2 ; // pid thread2 ; global use |
---|
| 289 | input [2:0] lsu_pid_state3 ; // pid thread3 ; global use |
---|
| 290 | // input [48:0] ifu_tlu_pc_w; |
---|
| 291 | |
---|
| 292 | input lsu_tlu_nucleus_ctxt_m ;// access is nucleus context |
---|
| 293 | input [2:0] lsu_tlu_tte_pg_sz_g ; // page-size of tte |
---|
| 294 | input [3:0] ifu_lsu_error_inj ; // inject parity error into tlb |
---|
| 295 | input [8:0] ifu_lsu_imm_asi_d; // asi state value from imm |
---|
| 296 | input ifu_lsu_imm_asi_vld_d; // valid asi state value from imm |
---|
| 297 | |
---|
| 298 | input [23:0] lsu_dsfsr_din_g ; // now from lsu instead of tlu_tcl |
---|
| 299 | input [3:0] lsu_dmmu_sfsr_trp_wr ; // now from lsu instead of tlu_tcl |
---|
| 300 | |
---|
| 301 | input lsu_mmu_flush_pipe_w ; // full trap |
---|
| 302 | |
---|
| 303 | input exu_lsu_priority_trap_m ;//fill,ue |
---|
| 304 | |
---|
| 305 | // output [5:0] int_tlu_rstid_i2; // From tlu_int of sparc_tlu_int.v |
---|
| 306 | /*AUTOOUTPUT*/ |
---|
| 307 | // Beginning of automatic outputs (from unused autoinst outputs) |
---|
| 308 | output [63:0] tlu_lsu_int_ldxa_data_w2; // From tlu_int of sparc_tlu_int.v |
---|
| 309 | output tlu_lsu_int_ld_ill_va_w2; // From tlu_int of sparc_tlu_int.v |
---|
| 310 | output tlu_lsu_int_ldxa_vld_w2; // From tlu_int of sparc_tlu_int.v |
---|
| 311 | output so0,so1,short_so0,short_so1; // From tlu_int of sparc_tlu_int.v, ... |
---|
| 312 | output tlu_dtlb_data_rd_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 313 | output tlu_dtlb_dmp_actxt_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 314 | output tlu_dtlb_dmp_all_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 315 | //output tlu_dtlb_dmp_by_ctxt_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 316 | output tlu_dtlb_dmp_nctxt_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 317 | output tlu_dtlb_dmp_pctxt_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 318 | output tlu_dtlb_dmp_sctxt_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 319 | output tlu_dtlb_dmp_vld_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 320 | output tlu_dtlb_invalidate_all_g;// From mmu_ctl of tlu_mmu_ctl.v |
---|
| 321 | output [5:0] tlu_dtlb_rw_index_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 322 | output tlu_dtlb_rw_index_vld_g;// From mmu_ctl of tlu_mmu_ctl.v |
---|
| 323 | output tlu_dtlb_tag_rd_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 324 | output [42:0] tlu_dtlb_tte_data_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 325 | output [58:0] tlu_dtlb_tte_tag_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 326 | output[3:0] lsu_ifu_inj_ack ; // ack for tlb error injection. |
---|
| 327 | // |
---|
| 328 | // width modified for hypervisor support |
---|
| 329 | // output [2:0] tlu_exu_agp; // From tcl of tlu_tcl.v |
---|
| 330 | output [`TSA_GLOBAL_WIDTH-1:0] tlu_exu_agp; // From tcl of tlu_tcl.v |
---|
| 331 | output tlu_exu_agp_swap; // From tcl of tlu_tcl.v |
---|
| 332 | output [1:0] tlu_exu_agp_tid; // From tcl of tlu_tcl.v |
---|
| 333 | output [7:0] tlu_exu_ccr_m; // From tcl of tlu_tcl.v |
---|
| 334 | output [2:0] tlu_exu_cwp_m; // From tcl of tlu_tcl.v |
---|
| 335 | output tlu_exu_cwp_retry_m; // From tcl of tlu_tcl.v |
---|
| 336 | output tlu_exu_cwpccr_update_m;// From tcl of tlu_tcl.v |
---|
| 337 | // tlu_exu_rsr_data_e being replaced by tlu_exu_rsr_data_m |
---|
| 338 | // the bus will become obsolete |
---|
| 339 | // output [`TLU_ASR_DATA_WIDTH-1:0] tlu_exu_rsr_data_e; // From tdp of tlu_tdp.v |
---|
| 340 | output [`TLU_ASR_DATA_WIDTH-1:0] tlu_exu_rsr_data_m; // From tdp of tlu_tdp.v |
---|
| 341 | output [40:0] tlu_idtlb_dmp_key_g; // From mmu_dp of tlu_mmu_dp.v |
---|
| 342 | output [1:0] tlu_idtlb_dmp_thrid_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 343 | output [3:0] tlu_ifu_hwint_i3; // From tlu_int of sparc_tlu_int.v |
---|
| 344 | // removed - ifu will derive the signal internally |
---|
| 345 | // output [3:0] tlu_ifu_int_activate_i3;// From tlu_int of sparc_tlu_int.v |
---|
| 346 | output tlu_ifu_nukeint_i2; // From tlu_int of sparc_tlu_int.v |
---|
| 347 | output [3:0] tlu_ifu_pstate_ie; // From tlu_int of sparc_tlu_int.v |
---|
| 348 | output [3:0] tlu_ifu_pstate_pef; // From tdp of tlu_tdp.v |
---|
| 349 | output tlu_ifu_resumint_i2; // From tlu_int of sparc_tlu_int.v |
---|
| 350 | output tlu_ifu_rstint_i2; // From tlu_int of sparc_tlu_int.v |
---|
| 351 | output [3:0] tlu_ifu_rstthr_i2; // From tlu_int of sparc_tlu_int.v |
---|
| 352 | output [1:0] tlu_ifu_trap_tid_w1; // From tcl of tlu_tcl.v |
---|
| 353 | output tlu_ifu_trapnpc_vld_w1; // From tdp of tlu_tdp.v |
---|
| 354 | output [48:0] tlu_ifu_trapnpc_w2; // From tdp of tlu_tdp.v |
---|
| 355 | output [48:0] tlu_ifu_trappc_w2; // From tdp of tlu_tdp.v |
---|
| 356 | // output [47:0] tlu_ifu_trapnpc_w2; // From tdp of tlu_tdp.v |
---|
| 357 | // output [47:0] tlu_ifu_trappc_w2; // From tdp of tlu_tdp.v |
---|
| 358 | output tlu_ifu_trappc_vld_w1; // From tcl of tlu_tcl.v |
---|
| 359 | output tlu_itlb_data_rd_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 360 | output tlu_itlb_dmp_actxt_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 361 | output tlu_itlb_dmp_all_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 362 | output tlu_itlb_dmp_nctxt_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 363 | output tlu_itlb_dmp_vld_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 364 | output tlu_itlb_invalidate_all_g;// From mmu_ctl of tlu_mmu_ctl.v |
---|
| 365 | output [5:0] tlu_itlb_rw_index_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 366 | output tlu_itlb_rw_index_vld_g;// From mmu_ctl of tlu_mmu_ctl.v |
---|
| 367 | output tlu_itlb_tag_rd_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 368 | output [42:0] tlu_itlb_tte_data_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 369 | output [58:0] tlu_itlb_tte_tag_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 370 | output tlu_itlb_wr_vld_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 371 | output [7:0] tlu_lsu_asi_m; // From tcl of tlu_tcl.v |
---|
| 372 | output tlu_lsu_asi_update_m; // From tcl of tlu_tcl.v |
---|
| 373 | // replaced by shadow scan signals |
---|
| 374 | output [62:0] tlu_sscan_test_data;// From tdp of tlu_tdp.v |
---|
| 375 | // output [47:0] tlu_sscan_pc;// From tdp of tlu_tdp.v |
---|
| 376 | // output [63:0] tlu_lsu_ldxa_data_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 377 | output [1:0] tlu_lsu_ldxa_tid_w2; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 378 | output [25:0] tlu_lsu_pcxpkt; // From tlu_int of sparc_tlu_int.v |
---|
| 379 | output [3:0] tlu_lsu_pstate_am; // From tcl of tlu_tcl.v |
---|
| 380 | output [3:0] tlu_lsu_pstate_cle; // From tdp of tlu_tdp.v |
---|
| 381 | output [3:0] tlu_lsu_pstate_priv; // From tdp of tlu_tdp.v |
---|
| 382 | output [3:0] tlu_lsu_redmode; // From tcl of tlu_tcl.v |
---|
| 383 | // output [3:0] tlu_lsu_redmode_rst; // From tcl of tlu_tcl.v |
---|
| 384 | output [3:0] tlu_lsu_redmode_rst_d1; // From tcl of tlu_tcl.v |
---|
| 385 | // output [`TLU_THRD_NUM-1:0] tlu_lsu_async_ack_w2; // From tcl of tlu_tcl.v |
---|
| 386 | output tlu_lsu_stxa_ack; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 387 | output [1:0] tlu_lsu_stxa_ack_tid; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 388 | output [1:0] tlu_lsu_tid_m; // From tcl of tlu_tcl.v |
---|
| 389 | output [`TLU_THRD_NUM-1:0] tlu_lsu_tl_zero; // From tcl of tlu_tcl.v |
---|
| 390 | output [`TLU_THRD_NUM-1:0] tlu_sftint_vld; // From tcl of tlu_tcl.v |
---|
| 391 | output [`TLU_THRD_NUM-1:0] tlu_hintp_vld; // From tcl of tlu_tcl.v |
---|
| 392 | output [`TLU_THRD_NUM-1:0] tlu_rerr_vld; // From tcl of tlu_tcl.v |
---|
| 393 | // End of automatics |
---|
| 394 | // Outputs |
---|
| 395 | // End of automatics |
---|
| 396 | // output tlu_ifu_flush_pipe_w; // From tcl of tlu_tcl.v |
---|
| 397 | output tlu_early_flush_pipe_w; // From tcl of tlu_tcl.v |
---|
| 398 | output tlu_early_flush_pipe2_w; // From tcl of tlu_tcl.v |
---|
| 399 | output tlu_exu_early_flush_pipe_w; // From tcl of tlu_tcl.v |
---|
| 400 | output tlu_lsu_ldxa_async_data_vld ; // tlu_lsu_ldxa_data_vld is for async op. |
---|
| 401 | output [`TLU_THRD_NUM-1:0] tlu_hpstate_priv; |
---|
| 402 | output [`TLU_THRD_NUM-1:0] tlu_hpstate_enb; |
---|
| 403 | // added for hpstate.ibe ECO |
---|
| 404 | output [`TLU_THRD_NUM-1:0] tlu_hpstate_ibe; |
---|
| 405 | output tlu_exu_priv_trap_m; // local traps send to exu |
---|
| 406 | output tlu_lsu_priv_trap_m; // local traps send to exu |
---|
| 407 | // output tlu_lsu_priv_trap_w; // local traps send to exu |
---|
| 408 | output tlu_exu_pic_onebelow_m; // local traps send to exu |
---|
| 409 | output tlu_exu_pic_twobelow_m; // local traps send to exu |
---|
| 410 | // |
---|
| 411 | // added for MMU performance enhancement |
---|
| 412 | output lsu_exu_ldxa_m ; |
---|
| 413 | output [63:0] lsu_exu_ldxa_data_g ; |
---|
| 414 | // Added to shift dsfsr logic from tlu to lsu. |
---|
| 415 | output [3:0] tlu_dsfsr_flt_vld; // From mmu_dp of tlu_mmu_dp.v |
---|
| 416 | |
---|
| 417 | |
---|
| 418 | // |
---|
| 419 | // added to abide to the Niagara reset methodology |
---|
| 420 | wire tlu_rst; // local active high reset - from tlu_tcl |
---|
| 421 | wire rclk; // temprary clock name |
---|
| 422 | wire [63:0] tlu_pib_rsr_data_e; // From tdp of tlu_tdp.v |
---|
| 423 | // wire tlu_rst_l; // local active high reset - from tlu_tcl |
---|
| 424 | wire int_rst_l; // local active high reset - from tlu_tcl |
---|
| 425 | // wire pib_rst_l; // local active high reset - from tlu_tcl |
---|
| 426 | wire [1:0] tlu_incr_tick; // From tcl of tlu_tcl.v |
---|
| 427 | wire [1:0] tlu_tckctr_in; // From tcl of tlu_tcl.v |
---|
| 428 | // wire [60:0] tlu_tick_incr_dout; // To tdp of tlu_tdp.v |
---|
| 429 | wire [61:0] tlu_incr64_dout; // To tdp of tlu_tdp.v |
---|
| 430 | wire [61:0] tlu_tick_incr_din; // From tdp of tlu_tdp.v |
---|
| 431 | wire tlu_tick_ctl_din; // To tlu_int of sparc_tlu_int.v |
---|
| 432 | // modified for bug 3017 |
---|
| 433 | wire [48:0] tlu_restore_pc_w1; |
---|
| 434 | wire [48:0] tlu_restore_npc_w1; |
---|
| 435 | wire [48:0] tlu_pc_new_w; |
---|
| 436 | wire [48:0] tlu_npc_new_w; |
---|
| 437 | wire [33:0] tlu_partial_trap_pc_w1; |
---|
| 438 | wire [1:0] tlu_int_tid_m; // To tlu_int of sparc_tlu_int.v |
---|
| 439 | wire [3:0] tlu_sftint_vld; // From tcl of tlu_tcl.v |
---|
| 440 | wire tlu_asi_write_g; // From hyperv of tlu_hyperv.v |
---|
| 441 | wire tlu_tte_real_g ; // tte is real |
---|
| 442 | wire [`TLU_THRD_NUM-1:0] tlu_hpstate_tlz; |
---|
| 443 | wire [`TLU_ASI_STATE_WIDTH-1:0] tlu_asi_state_e; |
---|
| 444 | // modified due to memory macro swap |
---|
| 445 | // |
---|
| 446 | // wire [`TSA_MEM_WIDTH-1:0] tsa_dout; |
---|
| 447 | wire [`TSA_MEM_WIDTH-1:0] tsa0_dout; |
---|
| 448 | wire [`TSA_MEM_WIDTH-1:0] tsa1_dout; |
---|
| 449 | |
---|
| 450 | /*AUTOWIRE*/ |
---|
| 451 | // Beginning of automatic wires (for undeclared instantiated-module outputs) |
---|
| 452 | wire [`TLU_ASR_DATA_WIDTH-1:0] tlu_wsr_data_w; // From tdp of tlu_tdp.v |
---|
| 453 | wire dmmu_any_sfsr_wr; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 454 | wire [3:0] dmmu_sfar_wr_en_l; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 455 | // wire [3:0] dmmu_sfsr_trp_wr; // From tcl of tlu_tcl.v |
---|
| 456 | wire [3:0] dmmu_sfsr_wr_en_l; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 457 | wire immu_any_sfsr_wr; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 458 | wire [3:0] immu_sfsr_trp_wr; // From tcl of tlu_tcl.v |
---|
| 459 | wire [3:0] immu_sfsr_wr_en_l; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 460 | wire [5:0] int_tlu_rstid_m; // From tlu_int of sparc_tlu_int.v |
---|
| 461 | wire itlb_wr_vld_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 462 | wire [7:0] lsu_tlu_rsr_data_mod_e; // From tcl of tlu_tcl.v |
---|
| 463 | wire [19:0] mra_byte_wen; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 464 | wire [3:0] mra_rd_ptr; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 465 | wire mra_rd_vld; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 466 | wire [159:10] mra_rdata; // From mra of tlu_mra.v |
---|
| 467 | wire [155:0] mra_wdata; // From mmu_dp of tlu_mmu_dp.v |
---|
| 468 | wire [3:0] mra_wr_ptr; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 469 | wire mra_wr_vld; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 470 | wire [2:0] tag_access_wdata_sel; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 471 | wire tlb_access_rst_l; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 472 | wire tlu_addr_msk_g; // From tcl of tlu_tcl.v |
---|
| 473 | wire tlu_admp_key_sel; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 474 | wire tlu_clr_sftint_l_g; // From tcl of tlu_tcl.v |
---|
| 475 | wire [4:0] tlu_dmp_key_vld_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 476 | wire [2:0] tlu_true_pc_sel_w; |
---|
| 477 | wire [48:0] ifu_npc_w; |
---|
| 478 | wire [3:0] tlu_dsfsr_flt_vld; // From mmu_dp of tlu_mmu_dp.v |
---|
| 479 | wire [47:13] tlu_dtag_access_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 480 | wire [3:0] tlu_dtsb_size_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 481 | wire tlu_dtsb_split_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 482 | wire [1:0] tlu_agp_tid_w2; // From tcl of tlu_tcl.v |
---|
| 483 | wire [`TSA_TTYPE_WIDTH-1:0] tlu_final_offset_w1; // From tcl of tlu_tcl.v |
---|
| 484 | wire [`TSA_TTYPE_WIDTH-1:0] tlu_final_ttype_w2; // From tcl of tlu_tcl.v |
---|
| 485 | wire tlu_full_flush_pipe_w2; // From tcl of tlu_tcl.v |
---|
| 486 | wire tlu_tcc_inst_w; // From tcl of tlu_tcl.v |
---|
| 487 | wire tlu_local_flush_w; // From tcl of tlu_tcl.v |
---|
| 488 | wire [47:0] tlu_idtsb_8k_ptr; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 489 | wire tlu_asi_data_nf_vld_w2; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 490 | wire tlu_inst_vld_nq_m; // From tcl of tlu_tcl.v |
---|
| 491 | wire tlu_int_asi_load; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 492 | wire [1:0] tlu_int_asi_thrid; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 493 | wire tlu_int_asi_vld; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 494 | wire [3:0] tlu_int_pstate_ie; // From tdp of tlu_tdp.v |
---|
| 495 | wire [3:0] tlu_int_redmode; // From tdp of tlu_tdp.v |
---|
| 496 | wire [23:0] tlu_isfsr_din_g; // From tcl of tlu_tcl.v |
---|
| 497 | wire [3:0] tlu_isfsr_flt_vld; // From mmu_dp of tlu_mmu_dp.v |
---|
| 498 | //wire [47:13] tlu_itsb_base_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 499 | wire [3:0] tlu_itsb_size_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 500 | wire tlu_itsb_split_w2; // From mmu_dp of tlu_mmu_dp.v |
---|
| 501 | wire [3:0] tlu_ldxa_l1mx1_sel; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 502 | wire [3:0] tlu_ldxa_l1mx2_sel; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 503 | wire [2:0] tlu_ldxa_l2mx1_sel; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 504 | // wire tlu_mmu_sync_data_excp_g;// From mmu_ctl of tlu_mmu_ctl.v |
---|
| 505 | wire [3:0] tlu_pil; // From tcl of tlu_tcl.v |
---|
| 506 | wire tlu_tlb_tag_invrt_parity ; |
---|
| 507 | wire tlu_tlb_data_invrt_parity ; |
---|
| 508 | wire tlu_sun4r_tte_g ; // sun4r vs. sun4v tte |
---|
| 509 | // |
---|
| 510 | // modified for bug 1767 |
---|
| 511 | /* |
---|
| 512 | wire [1:0] tlu_pstate0_mmodel; // From tdp of tlu_tdp.v |
---|
| 513 | wire [1:0] tlu_pstate1_mmodel; // From tdp of tlu_tdp.v |
---|
| 514 | wire [1:0] tlu_pstate2_mmodel; // From tdp of tlu_tdp.v |
---|
| 515 | wire [1:0] tlu_pstate3_mmodel; // From tdp of tlu_tdp.v |
---|
| 516 | wire [`TLU_THRD_NUM-1:0] tlu_pstate_tle; // From tdp of tlu_tdp.v |
---|
| 517 | wire [`TLU_THRD_NUM-1:0] tlu_pstate_cle; // From tdp of tlu_tdp.v |
---|
| 518 | */ |
---|
| 519 | wire [`TLU_THRD_NUM-1:0] tlu_pstate_am; // From tdp of tlu_tdp.v |
---|
| 520 | wire [1:0] tlu_pstate_din_sel0; // From tcl of tlu_tcl.v |
---|
| 521 | wire [1:0] tlu_pstate_din_sel1; // From tcl of tlu_tcl.v |
---|
| 522 | wire [1:0] tlu_pstate_din_sel2; // From tcl of tlu_tcl.v |
---|
| 523 | wire [1:0] tlu_pstate_din_sel3; // From tcl of tlu_tcl.v |
---|
| 524 | // wire [`TLU_THRD_NUM-1:0] tlu_pstate_priv; // From tdp of tlu_tdp.v |
---|
| 525 | // wire tlu_retry_inst_m; // From tcl of tlu_tcl.v |
---|
| 526 | // |
---|
| 527 | // modified for hypervisor support and bug 1767 |
---|
| 528 | /* |
---|
| 529 | wire tlu_select_alt_global; // From tcl of tlu_tcl.v |
---|
| 530 | wire tlu_select_int_global; // From tcl of tlu_tcl.v |
---|
| 531 | wire tlu_select_mmu_global; // From tcl of tlu_tcl.v |
---|
| 532 | wire [1:0] tlu_select_mmodel; // From tcl of tlu_tcl.v |
---|
| 533 | wire tlu_select_tle; // From tcl of tlu_tcl.v |
---|
| 534 | */ |
---|
| 535 | wire tlu_select_redmode; // From tcl of tlu_tcl.v |
---|
| 536 | // wire tlu_select_tba_g; // From tcl of tlu_tcl.v |
---|
| 537 | wire tlu_select_tba_w2; // From tcl of tlu_tcl.v |
---|
| 538 | wire tdp_select_tba_w2; // From tcl of tlu_tcl.v |
---|
| 539 | // wire tlu_self_boot_rst_g; // From tcl of tlu_tcl.v |
---|
| 540 | // wire tlu_self_boot_rst_w2; // From tcl of tlu_tcl.v |
---|
| 541 | wire tlu_set_sftint_l_g; // From tcl of tlu_tcl.v |
---|
| 542 | wire [`TLU_THRD_NUM-1:0] tlu_sftint_en_l_g; // From tcl of tlu_tcl.v |
---|
| 543 | wire [`TLU_THRD_NUM-1:0] tlu_sftint_mx_sel; // From tcl of tlu_tcl.v |
---|
| 544 | wire [3:0] tlu_sftint_id; // From tdp of tlu_tdp.v |
---|
| 545 | // wire [3:0] tlu_sftint_lvl14_int; // From tcl of tlu_tcl.v |
---|
| 546 | wire [3:0] tlu_sftint_penc_sel; // From tcl of tlu_tcl.v |
---|
| 547 | wire [3:0] tlu_slxa_thrd_sel; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 548 | wire [2:0] tlu_tag_access_ctxt_sel_m;// From tcl of tlu_tcl.v |
---|
| 549 | //wire tlu_tag_access_nctxt_g; // From mmu_dp of tlu_mmu_dp.v |
---|
| 550 | wire [`TLU_THRD_NUM-1:0] tlu_tba_en_l; // From tcl of tlu_tcl.v |
---|
| 551 | wire [`TLU_THRD_NUM-1:0] tlu_thrd_rsel_e; // From tcl of tlu_tcl.v |
---|
| 552 | // wire [`TLU_THRD_NUM-1:0] tlu_thrd_rsel_g; // From tcl of tlu_tcl.v |
---|
| 553 | // wire [`TLU_THRD_NUM-1:0] tlu_thrd_wsel_g; // From tcl of tlu_tcl.v |
---|
| 554 | wire [`TLU_THRD_NUM-1:0] tlu_thrd_wsel_w2; // From tcl of tlu_tcl.v |
---|
| 555 | wire [`TLU_THRD_NUM-1:0] tlu_thread_wsel_g; // From tcl of tlu_tcl.v |
---|
| 556 | wire [`TLU_THRD_NUM-1:0] tlu_thread_inst_vld_g; // From tcl of tlu_tcl.v |
---|
| 557 | // wire [`TLU_THRD_NUM-1:0] tlu_thread_inst_vld_w2; // From tcl of tlu_tcl.v |
---|
| 558 | wire tlu_tick_en_l; // From tcl of tlu_tcl.v |
---|
| 559 | // wire [`TLU_THRD_NUM-1:0] tlu_tick_int; // From tcl of tlu_tcl.v |
---|
| 560 | // wire [`TLU_THRD_NUM-1:0] tlu_stick_int; // From tcl of tlu_tcl.v |
---|
| 561 | // wire tlu_tick_match; // From tdp of tlu_tdp.v |
---|
| 562 | wire tlu_tick_npt; // From tcl of tlu_tcl.v |
---|
| 563 | wire [`TLU_THRD_NUM-1:0] tlu_tickcmp_en_l; // From tcl of tlu_tcl.v |
---|
| 564 | // wire tlu_tickcmp_intdis; // From tcl of tlu_tcl.v |
---|
| 565 | wire [`TLU_THRD_NUM-1:0] tlu_tickcmp_sel; // From tcl of tlu_tcl.v |
---|
| 566 | // wire tlu_tl_gt_0_g; // From tcl of tlu_tcl.v |
---|
| 567 | wire tlu_tl_gt_0_w2; // From tcl of tlu_tcl.v |
---|
| 568 | wire [2:0] tlu_trp_lvl; // From tcl of tlu_tcl.v |
---|
| 569 | wire [2:0] tlu_tte_tag_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 570 | wire [2:0] tlu_tte_wr_pid_g; // From mmu_ctl of tlu_mmu_ctl.v |
---|
| 571 | // wire [`TLU_THRD_NUM-1:0] tlu_update_pc_l_m; // From tcl of tlu_tcl.v |
---|
| 572 | wire [`TLU_THRD_NUM-1:0] tlu_update_pc_l_w; // From tcl of tlu_tcl.v |
---|
| 573 | wire [`TLU_THRD_NUM-1:0] tlu_trap_cwp_en; // From tcl of tlu_tcl.v |
---|
| 574 | wire tlu_cwp_no_change_m; // From tcl of tlu_tcl.v |
---|
| 575 | // modified due to timing |
---|
| 576 | // wire [3:0] tlu_update_pstate_l_g; // From tcl of tlu_tcl.v |
---|
| 577 | wire [3:0] tlu_update_pstate_l_w2; // From tcl of tlu_tcl.v |
---|
| 578 | wire tlu_wr_sftint_l_g; // From tcl of tlu_tcl.v |
---|
| 579 | // wire tlu_wsr_inst_g; // From tcl of tlu_tcl.v |
---|
| 580 | wire tlu_wsr_inst_nq_g; // From tcl of tlu_tcl.v |
---|
| 581 | // wire tlu_wr_tsa_inst_g; // From tcl of tlu_tcl.v |
---|
| 582 | wire tlu_wr_tsa_inst_w2; // From tcl of tlu_tcl.v |
---|
| 583 | wire tsa_npc_en; // From tcl of tlu_tcl.v |
---|
| 584 | wire tsa_pc_en; // From tcl of tlu_tcl.v |
---|
| 585 | wire [1:0] tsa_rd_tid; // From tcl of tlu_tcl.v |
---|
| 586 | wire [2:0] tsa_rd_tpl; // From tcl of tlu_tcl.v |
---|
| 587 | wire tsa_rd_vld_e; // From tcl of tlu_tcl.v |
---|
| 588 | wire tsa_rd_en; // From tcl of tlu_tcl.v |
---|
| 589 | // wire [`TLU_TSA_WIDTH-1:0] tsa_rdata; // From tsa of tlu_tsa.v |
---|
| 590 | wire tsa_tstate_en; // From tcl of tlu_tcl.v |
---|
| 591 | wire tsa_htstate_en; // From tlu_hyperv of tlu_hyperv.v |
---|
| 592 | wire tsa_ttype_en; // From tcl of tlu_tcl.v |
---|
| 593 | wire [`TLU_TSA_WIDTH-1:0] tsa_wdata; // From tdp of tlu_tdp.v |
---|
| 594 | wire [1:0] tsa_wr_tid; // From tcl of tlu_tcl.v |
---|
| 595 | wire [2:0] tsa_wr_tpl; // From tcl of tlu_tcl.v |
---|
| 596 | // modified due to tsa memory swap |
---|
| 597 | wire [1:0] tsa_wr_vld; // From tcl of tlu_tcl.v |
---|
| 598 | wire tlu_htstate_rw_d; // From tlu_hyperv of tlu_hyperv.v |
---|
| 599 | wire tlu_htstate_rw_g; // From tlu_hyperv of tlu_hyperv.v |
---|
| 600 | // modified due to rsr mux recode |
---|
| 601 | // wire tlu_htba_mx2_sel; // From tlu_hyperv of tlu_hyperv.v |
---|
| 602 | wire tlu_htickcmp_rw_e; // From tlu_hyperv of tlu_hyperv.v |
---|
| 603 | // End of automatics |
---|
| 604 | wire [`TLU_ASI_QUE_WIDTH-1:0] tlu_asi_queue_rdata_g; |
---|
| 605 | wire tlu_asi_queue_rd_vld_g; |
---|
| 606 | wire tlu_ld_data_vld_g; |
---|
| 607 | wire tlu_va_ill_g; |
---|
| 608 | // wire tlu_va_all_zero_g; |
---|
| 609 | // |
---|
| 610 | // modified for timing fixes |
---|
| 611 | // wire [3:0] pib_priv_act_trap ; |
---|
| 612 | wire [3:0] pib_priv_act_trap_m ; |
---|
| 613 | // wire [`QUE_TRAP_SEL_WIDTH-1:0] tlu_que_trap_sel_m; |
---|
| 614 | wire [5:0] tlu_ctxt_cfg_w2; // To mmu_ctl of tlu_mmu_ctl.v |
---|
| 615 | wire [`TLU_THRD_NUM-1:0] pib_picl_wrap; // To tcl of tlu_tcl.v |
---|
| 616 | wire [`TLU_THRD_NUM-1:0] pib_pich_wrap; // To tcl of tlu_tcl.v |
---|
| 617 | wire [`TLU_THRD_NUM-1:0] pich_wrap_flg; // To tcl of tlu_tcl.v |
---|
| 618 | wire [`TLU_THRD_NUM-1:0] pich_onebelow_flg; // To tcl of tlu_tcl.v |
---|
| 619 | wire [`TLU_THRD_NUM-1:0] pich_twobelow_flg; // To tcl of tlu_tcl.v |
---|
| 620 | wire tlu_pic_onebelow_e; // To tcl of tlu_tcl.v |
---|
| 621 | wire tlu_pic_twobelow_e; // To tcl of tlu_tcl.v |
---|
| 622 | wire tlu_pic_wrap_e; // To tcl of tlu_tcl.v |
---|
| 623 | // |
---|
| 624 | // modified for bug 5436: Niagara 2.0 |
---|
| 625 | wire [`TLU_THRD_NUM-1:0] tlu_pcr_ut; // To tcl of tlu_tcl.v |
---|
| 626 | wire [`TLU_THRD_NUM-1:0] tlu_pcr_st; // To tcl of tlu_tcl.v |
---|
| 627 | // wire tlu_pcr_ut_e; // To tcl of tlu_tcl.v |
---|
| 628 | // wire tlu_pcr_st_e; // To tcl of tlu_tcl.v |
---|
| 629 | wire tlu_pic_cnt_en_m; // To tcl of tlu_tcl.v |
---|
| 630 | // wire [`TLU_THRD_NUM-1:0] pich_threebelow_flg; // To tcl of tlu_tcl.v |
---|
| 631 | // |
---|
| 632 | // added for hypervisor support |
---|
| 633 | wire [`TSA_GLOBAL_WIDTH-1:0] tlu_dnrtry_global_g; |
---|
| 634 | // wire tlu_htick_match; |
---|
| 635 | // wire tlu_stick_match; |
---|
| 636 | wire tlu_trap_hpstate_enb; |
---|
| 637 | wire [`TLU_THRD_NUM-1:0] local_hpstate_priv; |
---|
| 638 | wire [`TLU_THRD_NUM-1:0] tcl_hpstate_priv; |
---|
| 639 | wire [`TLU_THRD_NUM-1:0] local_hpstate_enb; |
---|
| 640 | wire [`TLU_THRD_NUM-1:0] tcl_hpstate_enb; |
---|
| 641 | wire [`TLU_THRD_NUM-1:0] local_pstate_priv; |
---|
| 642 | wire [`TLU_THRD_NUM-1:0] local_pstate_ie; |
---|
| 643 | |
---|
| 644 | wire [`TSA_GLOBAL_WIDTH-1:0] tlu_gl_lvl0; |
---|
| 645 | wire [`TSA_GLOBAL_WIDTH-1:0] tlu_gl_lvl1; |
---|
| 646 | wire [`TSA_GLOBAL_WIDTH-1:0] tlu_gl_lvl2; |
---|
| 647 | wire [`TSA_GLOBAL_WIDTH-1:0] tlu_gl_lvl3; |
---|
| 648 | // wire [`TLU_THRD_NUM-1:0] tlu_hintp_en_l_g; |
---|
| 649 | wire [`TLU_THRD_NUM-1:0] tlu_htba_en_l; |
---|
| 650 | wire [`TLU_THRD_NUM-1:0] tlu_htickcmp_en_l; |
---|
| 651 | // wire [`TLU_THRD_NUM-1:0] tlu_set_hintp_g; |
---|
| 652 | wire [`TLU_THRD_NUM-1:0] tlu_set_hintp_sel_g; |
---|
| 653 | wire [`TLU_THRD_NUM-1:0] tlu_stickcmp_en_l; |
---|
| 654 | // modified for timing |
---|
| 655 | // wire [`TLU_THRD_NUM-1:0] tlu_update_hpstate_l_g; |
---|
| 656 | wire [`TLU_THRD_NUM-1:0] tlu_update_hpstate_l_w2; |
---|
| 657 | wire [`TLU_THRD_NUM-1:0] tlu_wr_hintp_g; |
---|
| 658 | wire [`TLU_THRD_NUM-1:0] tlu_cpu_mondo_cmp; |
---|
| 659 | wire [`TLU_THRD_NUM-1:0] tlu_dev_mondo_cmp; |
---|
| 660 | wire [`TLU_THRD_NUM-1:0] tlu_resum_err_cmp; |
---|
| 661 | wire [`TLU_THRD_NUM-1:0] tlu_hintp; |
---|
| 662 | wire [1:0] tlu_hpstate_din_sel0; |
---|
| 663 | wire [1:0] tlu_hpstate_din_sel1; |
---|
| 664 | wire [1:0] tlu_hpstate_din_sel2; |
---|
| 665 | wire [1:0] tlu_hpstate_din_sel3; |
---|
| 666 | wire [4:0] tlu_hyperv_rdpr_sel; |
---|
| 667 | wire [2:0] tlu_rdpr_mx1_sel; |
---|
| 668 | wire [2:0] tlu_rdpr_mx2_sel; |
---|
| 669 | wire [1:0] tlu_rdpr_mx3_sel; |
---|
| 670 | wire [1:0] tlu_rdpr_mx4_sel; |
---|
| 671 | wire [2:0] tlu_rdpr_mx5_sel; |
---|
| 672 | wire [2:0] tlu_rdpr_mx6_sel; |
---|
| 673 | wire [3:0] tlu_rdpr_mx7_sel; |
---|
| 674 | // modified for timing |
---|
| 675 | // wire tlu_ibrkpt_trap_g; |
---|
| 676 | wire tlu_ibrkpt_trap_w2; |
---|
| 677 | // wire tlu_select_htba_g; |
---|
| 678 | // wire tlu_select_htba_w2; |
---|
| 679 | wire [2:0] tlu_pc_mxsel_w2; |
---|
| 680 | // wire tlu_stickcmp_intdis; |
---|
| 681 | wire tlu_htickcmp_intdis; |
---|
| 682 | // wire tlu_gl_rw_g; |
---|
| 683 | wire tlu_gl_rw_m; |
---|
| 684 | wire [`TLU_THRD_NUM-1:0] tlu_por_rstint_g; |
---|
| 685 | // modified due to timing |
---|
| 686 | // wire tlu_thrd0_traps, tlu_thrd1_traps; |
---|
| 687 | // wire tlu_thrd2_traps, tlu_thrd3_traps; |
---|
| 688 | wire [`TLU_THRD_NUM-1:0] tlu_thrd_traps_w2; |
---|
| 689 | wire tlu_dnrtry0_inst_g, tlu_dnrtry1_inst_g; |
---|
| 690 | wire tlu_dnrtry2_inst_g, tlu_dnrtry3_inst_g; |
---|
| 691 | wire tlu_scpd_rd_vld_m; // tlu_scpd_rd_vld_g; |
---|
| 692 | wire tlu_scpd_wr_vld_g; |
---|
| 693 | wire tlu_hscpd_dacc_excpt_m; |
---|
| 694 | wire tlu_qtail_dacc_excpt_m; |
---|
| 695 | wire [`SCPD_RW_ADDR_WIDTH-1:0] tlu_scpd_rd_addr_m; |
---|
| 696 | wire [`SCPD_RW_ADDR_WIDTH-1:0] tlu_scpd_wr_addr_g; |
---|
| 697 | wire [79:0] tlu_scpd_asi_rdata_g; |
---|
| 698 | // |
---|
| 699 | // added for the change of hierarchy to promote sparc_tlu_intdp and |
---|
| 700 | // sparc_tlu_intctl onto the tlu level |
---|
| 701 | // wire inc_ind_asi_inrr; // From intctl of sparc_tlu_intctl.v |
---|
| 702 | wire [3:0] tlu_asi_rdata_mxsel_g; // From intctl of sparc_tlu_intctl.v |
---|
| 703 | wire [3:0] inc_ind_asi_rd_invr; // From intctl of sparc_tlu_intctl.v |
---|
| 704 | // wire [3:0] inc_ind_asi_thr; // From intctl of sparc_tlu_intctl.v |
---|
| 705 | wire [3:0] tlu_local_thrid_g; // From intctl of sparc_tlu_intctl.v |
---|
| 706 | wire [3:0] inc_ind_asi_wr_indr; // From intctl of sparc_tlu_intctl.v |
---|
| 707 | wire [3:0] inc_ind_asi_wr_inrr; // From intctl of sparc_tlu_intctl.v |
---|
| 708 | wire [3:0] inc_ind_indr_grant; // From intctl of sparc_tlu_intctl.v |
---|
| 709 | wire [3:0] inc_ind_ld_int_i1; // From intctl of sparc_tlu_intctl.v |
---|
| 710 | wire [3:0] inc_ind_rstthr_i1; // From intctl of sparc_tlu_intctl.v |
---|
| 711 | wire [3:0] inc_ind_thr_m; // From intctl of sparc_tlu_intctl.v |
---|
| 712 | wire [1:0] inc_indr_req_thrid; // From intctl of sparc_tlu_intctl.v |
---|
| 713 | wire inc_indr_req_valid; // From intctl of sparc_tlu_intctl.v |
---|
| 714 | wire [4:0] ind_inc_thrid_i1; // From intdp of sparc_tlu_intdp.v |
---|
| 715 | wire [1:0] ind_inc_type_i1; // From intdp of sparc_tlu_intdp.v |
---|
| 716 | // wire indr_inc_rst_pkt; // From intdp of sparc_tlu_intdp.v |
---|
| 717 | wire [3:0] int_pending_i2_l; // From intdp of sparc_tlu_intdp.v |
---|
| 718 | // hypervisor lite indicator |
---|
| 719 | // wire [`TLU_THRD_NUM-1:0] tlu_hyper_lite; |
---|
| 720 | |
---|
| 721 | wire [12:0] tlu_tag_access_ctxt_g ; |
---|
| 722 | wire tlu_lng_ltncy_en_l ; |
---|
| 723 | wire tlu_tsb_rd_ps0_sel ; |
---|
| 724 | wire [47:13] tlu_tsb_base_w2_d1 ; |
---|
| 725 | |
---|
| 726 | // scan chain wires |
---|
| 727 | wire scan1_1; |
---|
| 728 | wire scan1_2; |
---|
| 729 | wire scan1_3; |
---|
| 730 | wire scan0_1; |
---|
| 731 | wire short_scan0_1; |
---|
| 732 | wire short_scan0_2; |
---|
| 733 | wire short_scan0_3; |
---|
| 734 | wire short_scan0_4; |
---|
| 735 | wire short_scan0_5; |
---|
| 736 | wire short_scan0_6; |
---|
| 737 | //===================================================================================== |
---|
| 738 | // DUMMY WIRES FOR VLINT. TO BE FILTERED OUT. |
---|
| 739 | wire [9:0] dummy_mra_rdata; |
---|
| 740 | |
---|
| 741 | //===================================================================================== |
---|
| 742 | |
---|
| 743 | |
---|
| 744 | /* |
---|
| 745 | sparc_tlu_int AUTO_TEMPLATE ( |
---|
| 746 | .tlu_int_asi_state(lsu_asi_state[`TLU_ASI_STATE_WIDTH-1:0]), |
---|
| 747 | .lsu_tlu_pmode (1'b1), |
---|
| 748 | |
---|
| 749 | .int_tlu_longop_done()); |
---|
| 750 | */ |
---|
| 751 | // |
---|
| 752 | // modified the hierarchy to bring sparc_tlu_intdp and sparc_tlu_intctl |
---|
| 753 | // to the tlu level - eliminating sparc_tlu_int |
---|
| 754 | /* |
---|
| 755 | sparc_tlu_int tlu_int ( |
---|
| 756 | .tlu_int_asi_state(lsu_asi_state[`TLU_ASI_STATE_WIDTH-1:0]), |
---|
| 757 | .lsu_tlu_pmode (1'b1), // enable partition mode |
---|
| 758 | |
---|
| 759 | .int_tlu_longop_done(), // use to switch in thread |
---|
| 760 | // .tlu_int_asi_store(tlu_int_asi_store), |
---|
| 761 | // Outputs |
---|
| 762 | .int_scpd_asi_data(int_scpd_asi_data[63:0]), |
---|
| 763 | .int_scpd_asi_data_vld(int_scpd_asi_data_vld), |
---|
| 764 | .int_tlu_rstid_m (int_tlu_rstid_m[5:0]), |
---|
| 765 | .so (so), |
---|
| 766 | .tlu_ifu_hwint_i3(tlu_ifu_hwint_i3[3:0]), |
---|
| 767 | // .tlu_ifu_int_activate_i3(tlu_ifu_int_activate_i3[3:0]), |
---|
| 768 | .tlu_ifu_nukeint_i2(tlu_ifu_nukeint_i2), |
---|
| 769 | .tlu_ifu_pstate_ie(tlu_ifu_pstate_ie[3:0]), |
---|
| 770 | .tlu_ifu_resumint_i2(tlu_ifu_resumint_i2), |
---|
| 771 | .tlu_ifu_rstint_i2(tlu_ifu_rstint_i2), |
---|
| 772 | .tlu_ifu_rstthr_i2(tlu_ifu_rstthr_i2[3:0]), |
---|
| 773 | .tlu_lsu_pcxpkt (tlu_lsu_pcxpkt[25:0]), |
---|
| 774 | // Inputs |
---|
| 775 | .lsu_tlu_st_rs3_data_g(lsu_tlu_rs3_data_g[63:0]), |
---|
| 776 | .clk (rclk), |
---|
| 777 | .const_cpuid (const_cpuid[3:0]), |
---|
| 778 | .lsu_tlu_cpx_req (lsu_tlu_cpx_req[3:0]), |
---|
| 779 | .lsu_tlu_cpx_vld (lsu_tlu_cpx_vld), |
---|
| 780 | .lsu_tlu_intpkt (lsu_tlu_intpkt[17:0]), |
---|
| 781 | .lsu_tlu_pcxpkt_ack(lsu_tlu_pcxpkt_ack), |
---|
| 782 | .tlu_rst_l (tlu_rst_l), |
---|
| 783 | .se (se), |
---|
| 784 | .si (si), |
---|
| 785 | .tlu_int_asi_load(tlu_int_asi_load), |
---|
| 786 | .tlu_int_asi_thrid(tlu_int_asi_thrid[1:0]), |
---|
| 787 | .tlu_int_asi_vld (tlu_int_asi_vld), |
---|
| 788 | .tlu_int_pstate_ie(tlu_int_pstate_ie[3:0]), |
---|
| 789 | .tlu_int_redmode (tlu_int_redmode[3:0]), |
---|
| 790 | .tlu_int_sftint_pend(tlu_int_sftint_pend[3:0]), |
---|
| 791 | .tlu_int_tid_m (tlu_int_tid_m[1:0])); |
---|
| 792 | */ |
---|
| 793 | sparc_tlu_intdp intdp( |
---|
| 794 | .lsu_ind_intpkt_id(lsu_tlu_intpkt[`INT_VEC_HI:`INT_VEC_LO]), |
---|
| 795 | .lsu_ind_intpkt_type(lsu_tlu_intpkt[`INT_TYPE_HI:`INT_TYPE_LO]), |
---|
| 796 | .lsu_ind_intpkt_thr(lsu_tlu_intpkt[`INT_THR_HI:`INT_THR_LO]), |
---|
| 797 | .so (scan1_1), |
---|
| 798 | .si (si1), |
---|
| 799 | /*AUTOINST*/ |
---|
| 800 | // Outputs |
---|
| 801 | .int_pending_i2_l(int_pending_i2_l[3:0]), |
---|
| 802 | .ind_inc_thrid_i1(ind_inc_thrid_i1[4:0]), |
---|
| 803 | .ind_inc_type_i1(ind_inc_type_i1[1:0]), |
---|
| 804 | .int_tlu_rstid_m(int_tlu_rstid_m[5:0]), |
---|
| 805 | .tlu_lsu_pcxpkt(tlu_lsu_pcxpkt[25:0]), |
---|
| 806 | .tlu_lsu_int_ldxa_data_w2(tlu_lsu_int_ldxa_data_w2[63:0]), |
---|
| 807 | // Inputs |
---|
| 808 | .rclk (rclk), |
---|
| 809 | .se (se), |
---|
| 810 | .tlu_rst_l(int_rst_l), |
---|
| 811 | .lsu_tlu_st_rs3_data_g(lsu_tlu_rs3_data_g[63:0]), |
---|
| 812 | .tlu_asi_rdata_mxsel_g(tlu_asi_rdata_mxsel_g[3:0]), |
---|
| 813 | .tlu_scpd_asi_rdata_g(tlu_scpd_asi_rdata_g[`TLU_SCPD_DATA_WIDTH-1:0]), |
---|
| 814 | .tlu_asi_queue_rdata_g(tlu_asi_queue_rdata_g[`TLU_ASI_QUE_WIDTH-1:0]), |
---|
| 815 | .inc_ind_ld_int_i1(inc_ind_ld_int_i1[3:0]), |
---|
| 816 | .inc_ind_rstthr_i1(inc_ind_rstthr_i1[3:0]), |
---|
| 817 | .inc_ind_asi_thr(tlu_local_thrid_g[`TLU_THRD_NUM-1:0]), |
---|
| 818 | .inc_ind_asi_wr_indr(inc_ind_asi_wr_indr[3:0]), |
---|
| 819 | .inc_ind_indr_grant(inc_ind_indr_grant[3:0]), |
---|
| 820 | .inc_ind_thr_m(inc_ind_thr_m[3:0]), |
---|
| 821 | .inc_ind_asi_wr_inrr(inc_ind_asi_wr_inrr[3:0]), |
---|
| 822 | .inc_ind_asi_rd_invr(inc_ind_asi_rd_invr[3:0]), |
---|
| 823 | .inc_indr_req_valid(inc_indr_req_valid), |
---|
| 824 | .inc_indr_req_thrid(inc_indr_req_thrid[1:0])); |
---|
| 825 | |
---|
| 826 | sparc_tlu_intctl intctl( |
---|
| 827 | .so (scan0_1), |
---|
| 828 | .si (si0), |
---|
| 829 | .tlu_int_asi_store(tlu_asi_write_g), |
---|
| 830 | /*AUTOINST*/ |
---|
| 831 | // Outputs |
---|
| 832 | .tlu_ifu_hwint_i3(tlu_ifu_hwint_i3[3:0]), |
---|
| 833 | .tlu_ifu_rstthr_i2(tlu_ifu_rstthr_i2[3:0]), |
---|
| 834 | .tlu_ifu_rstint_i2(tlu_ifu_rstint_i2), |
---|
| 835 | .tlu_ifu_nukeint_i2(tlu_ifu_nukeint_i2), |
---|
| 836 | .tlu_ifu_resumint_i2(tlu_ifu_resumint_i2), |
---|
| 837 | .tlu_ifu_pstate_ie(tlu_ifu_pstate_ie[3:0]), |
---|
| 838 | .int_tlu_longop_done(), |
---|
| 839 | .inc_ind_ld_int_i1(inc_ind_ld_int_i1[3:0]), |
---|
| 840 | .inc_ind_rstthr_i1(inc_ind_rstthr_i1[3:0]), |
---|
| 841 | .inc_ind_indr_grant(inc_ind_indr_grant[3:0]), |
---|
| 842 | .inc_ind_thr_m(inc_ind_thr_m[3:0]), |
---|
| 843 | .inc_indr_req_valid(inc_indr_req_valid), |
---|
| 844 | .inc_indr_req_thrid(inc_indr_req_thrid[1:0]), |
---|
| 845 | .tlu_asi_data_nf_vld_w2(tlu_asi_data_nf_vld_w2), |
---|
| 846 | .tlu_lsu_int_ld_ill_va_w2(tlu_lsu_int_ld_ill_va_w2), |
---|
| 847 | .tlu_asi_rdata_mxsel_g(tlu_asi_rdata_mxsel_g[3:0]), |
---|
| 848 | .int_rst_l (int_rst_l), |
---|
| 849 | // Inputs |
---|
| 850 | .rclk (rclk), |
---|
| 851 | .se (se), |
---|
| 852 | .sehold (sehold), |
---|
| 853 | .grst_l (grst_l), |
---|
| 854 | .arst_l (arst_l), |
---|
| 855 | .rst_tri_en (mux_drive_disable), |
---|
| 856 | .const_cpuid(const_cpuid[3:0]), |
---|
| 857 | .lsu_tlu_cpx_vld(lsu_tlu_cpx_vld), |
---|
| 858 | .lsu_tlu_cpx_req(lsu_tlu_cpx_req[3:0]), |
---|
| 859 | .lsu_tlu_pcxpkt_ack(lsu_tlu_pcxpkt_ack), |
---|
| 860 | .ind_inc_thrid_i1(ind_inc_thrid_i1[4:0]), |
---|
| 861 | .ind_inc_type_i1(ind_inc_type_i1[1:0]), |
---|
| 862 | .tlu_int_asi_vld(tlu_int_asi_vld), |
---|
| 863 | .tlu_int_asi_load(tlu_int_asi_load), |
---|
| 864 | .tlu_int_asi_thrid(tlu_int_asi_thrid[1:0]), |
---|
| 865 | .tlu_int_asi_state(lsu_asi_state[7:0]), |
---|
| 866 | .tlu_int_tid_m(tlu_int_tid_m[1:0]), |
---|
| 867 | .tlu_int_pstate_ie(tlu_int_pstate_ie[3:0]), |
---|
| 868 | .tlu_asi_queue_rd_vld_g(tlu_asi_queue_rd_vld_g), |
---|
| 869 | .tlu_ld_data_vld_g(tlu_ld_data_vld_g), |
---|
| 870 | .tlu_va_ill_g(tlu_va_ill_g), |
---|
| 871 | .int_pending_i2_l(int_pending_i2_l[3:0])); |
---|
| 872 | |
---|
| 873 | tlu_misctl misctl ( |
---|
| 874 | // output |
---|
| 875 | .tlu_exu_pic_onebelow_m (tlu_exu_pic_onebelow_m), |
---|
| 876 | .tlu_exu_pic_twobelow_m (tlu_exu_pic_twobelow_m), |
---|
| 877 | .tlu_exu_cwp_m (tlu_exu_cwp_m[`TSA_CWP_WIDTH-1:0]), |
---|
| 878 | .tlu_exu_ccr_m (tlu_exu_ccr_m[`TSA_CCR_WIDTH-1:0]), |
---|
| 879 | .tlu_lsu_asi_m (tlu_lsu_asi_m[`TLU_ASI_STATE_WIDTH-1:0]), |
---|
| 880 | .tlu_cwp_no_change_m (tlu_cwp_no_change_m), |
---|
| 881 | .tlu_sscan_misctl_data (tlu_sscan_test_data[`MISCTL_SSCAN_HI:`MISCTL_SSCAN_LO]), |
---|
| 882 | .tlu_ifu_trappc_w2 (tlu_ifu_trappc_w2[48:0]), |
---|
| 883 | .tlu_ifu_trapnpc_w2 (tlu_ifu_trapnpc_w2[48:0]), |
---|
| 884 | .tlu_pc_new_w (tlu_pc_new_w[48:0]), |
---|
| 885 | .tlu_npc_new_w (tlu_npc_new_w[48:0]), |
---|
| 886 | .so (short_so0), |
---|
| 887 | // inputs |
---|
| 888 | .ctu_sscan_tid (ctu_sscan_tid[`TLU_THRD_NUM-1:0]), |
---|
| 889 | .ifu_tlu_pc_m (ifu_tlu_pc_m[48:0]), |
---|
| 890 | // .ifu_tlu_npc_m (ifu_tlu_npc_m[48:0]), |
---|
| 891 | .ifu_npc_w (ifu_npc_w[48:0]), |
---|
| 892 | .exu_tlu_cwp0 (exu_tlu_cwp0[`TSA_CWP_WIDTH-1:0]), |
---|
| 893 | .exu_tlu_cwp1 (exu_tlu_cwp1[`TSA_CWP_WIDTH-1:0]), |
---|
| 894 | .exu_tlu_cwp2 (exu_tlu_cwp2[`TSA_CWP_WIDTH-1:0]), |
---|
| 895 | .exu_tlu_cwp3 (exu_tlu_cwp3[`TSA_CWP_WIDTH-1:0]), |
---|
| 896 | .tlu_partial_trap_pc_w1 (tlu_partial_trap_pc_w1[33:0]), |
---|
| 897 | .tlu_restore_pc_w1 (tlu_restore_pc_w1[48:0]), |
---|
| 898 | .tlu_restore_npc_w1 (tlu_restore_npc_w1[48:0]), |
---|
| 899 | .tlu_final_ttype_w2 (tlu_final_ttype_w2[`TSA_TTYPE_WIDTH-1:0]), |
---|
| 900 | .tlu_final_offset_w1 (tlu_final_offset_w1[`TSA_TTYPE_WIDTH-1:0]), |
---|
| 901 | .tlu_restore_pc_sel_w1 (tlu_restore_pc_sel_w1), |
---|
| 902 | // .tlu_retry_inst_m (tlu_retry_inst_m), |
---|
| 903 | // .tlu_done_inst_m (tlu_done_inst_m), |
---|
| 904 | // .tlu_dnrtry_inst_m_l (tlu_dnrtry_inst_m_l), |
---|
| 905 | .tlu_true_pc_sel_w (tlu_true_pc_sel_w[2:0]), |
---|
| 906 | .tsa_wr_tid (tsa_wr_tid[1:0]), |
---|
| 907 | .tsa1_wr_vld (tsa_wr_vld[1]), |
---|
| 908 | .tsa_ttype_en (tsa_ttype_en), |
---|
| 909 | .tsa_rd_vld_e (tsa_rd_vld_e), |
---|
| 910 | // .tsa_rd_vld (tsa_rd_vld), |
---|
| 911 | .tsa0_rdata_cwp (tsa0_dout[`TSA0_MEM_CWP_HI:`TSA0_MEM_CWP_LO]), |
---|
| 912 | .tsa0_rdata_pstate (tsa0_dout[`TSA0_MEM_PSTATE_HI:`TSA0_MEM_PSTATE_LO]), |
---|
| 913 | .tsa0_rdata_asi (tsa0_dout[`TSA0_MEM_ASI_HI:`TSA0_MEM_ASI_LO]), |
---|
| 914 | .tsa0_rdata_ccr (tsa0_dout[`TSA0_MEM_CCR_HI:`TSA0_MEM_CCR_LO]), |
---|
| 915 | .tsa0_rdata_gl (tsa0_dout[`TSA0_MEM_GL_HI:`TSA0_MEM_GL_LO]), |
---|
| 916 | .tsa0_rdata_pc (tsa0_dout[`TSA0_TPC_HI:`TSA0_TPC_LO]), |
---|
| 917 | .tsa1_rdata_ttype (tsa1_dout[`TSA1_TTYPE_HI:`TSA1_TTYPE_LO]), |
---|
| 918 | .tsa1_rdata_npc (tsa1_dout[`TSA1_TNPC_HI:`TSA1_TNPC_LO]), |
---|
| 919 | .tsa1_rdata_htstate (tsa1_dout[`TSA1_HTSTATE_HI:`TSA1_HTSTATE_LO]), |
---|
| 920 | .tlu_thrd_rsel_e (tlu_thrd_rsel_e[`TLU_THRD_NUM-1:0]), |
---|
| 921 | // experiement |
---|
| 922 | .tlu_pic_onebelow_e (tlu_pic_onebelow_e), |
---|
| 923 | .tlu_pic_twobelow_e (tlu_pic_twobelow_e), |
---|
| 924 | .tlu_pic_cnt_en_m (tlu_pic_cnt_en_m), |
---|
| 925 | // .pich_onebelow_flg (pich_onebelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 926 | // .pich_twobelow_flg (pich_twobelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 927 | // .pich_threebelow_flg (pich_threebelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 928 | // .tlu_thread_inst_vld_w2 (tlu_thread_inst_vld_w2[`TLU_THRD_NUM-1:0]), |
---|
| 929 | // |
---|
| 930 | .tlu_rst (tlu_rst), |
---|
| 931 | .se (se), |
---|
| 932 | .si (short_scan0_6), |
---|
| 933 | .rclk (rclk)); |
---|
| 934 | |
---|
| 935 | tlu_tcl tcl ( |
---|
| 936 | .so (short_so1), |
---|
| 937 | .si (short_si1), |
---|
| 938 | .tlu_wsr_data_b63_w (tlu_wsr_data_w[`TLU_ASR_DATA_WIDTH-1]), |
---|
| 939 | .tlu_itag_acc_sel_g (tlu_itag_acc_sel_g), |
---|
| 940 | .pib_priv_act_trap_m (pib_priv_act_trap_m[3:0]), |
---|
| 941 | .spu_tlu_rsrv_illgl_m (spu_tlu_rsrv_illgl_m), |
---|
| 942 | .tlu_cpu_mondo_cmp (tlu_cpu_mondo_cmp[`TLU_THRD_NUM-1:0]), |
---|
| 943 | .tlu_dev_mondo_cmp (tlu_dev_mondo_cmp[`TLU_THRD_NUM-1:0]), |
---|
| 944 | .tlu_resum_err_cmp (tlu_resum_err_cmp[`TLU_THRD_NUM-1:0]), |
---|
| 945 | .tlu_hintp (tlu_hintp), |
---|
| 946 | .pich_wrap_flg (pich_wrap_flg[`TLU_THRD_NUM-1:0]), |
---|
| 947 | .pich_onebelow_flg (pich_onebelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 948 | .pich_twobelow_flg (pich_twobelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 949 | // modified for bug 5436: Niagara 2.0 |
---|
| 950 | .tlu_pcr_ut (tlu_pcr_ut[`TLU_THRD_NUM-1:0]), |
---|
| 951 | .tlu_pcr_st (tlu_pcr_st[`TLU_THRD_NUM-1:0]), |
---|
| 952 | // .tlu_pcr_ut_e (tlu_pcr_ut_e), |
---|
| 953 | // .tlu_pcr_st_e (tlu_pcr_st_e), |
---|
| 954 | .tlu_pic_cnt_en_m (tlu_pic_cnt_en_m), |
---|
| 955 | .tlu_pic_wrap_e (tlu_pic_wrap_e), |
---|
| 956 | // .pich_threebelow_flg (pich_threebelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 957 | .pib_picl_wrap (pib_picl_wrap[`TLU_THRD_NUM-1:0]), |
---|
| 958 | .tlu_local_flush_w (tlu_local_flush_w), |
---|
| 959 | .tlu_restore_pc_sel_w1 (tlu_restore_pc_sel_w1), |
---|
| 960 | .tlu_final_offset_w1 (tlu_final_offset_w1[`TSA_TTYPE_WIDTH-1:0]), |
---|
| 961 | // Outputs |
---|
| 962 | .pib_pich_wrap (pib_pich_wrap[`TLU_THRD_NUM-1:0]), |
---|
| 963 | .tlu_ibrkpt_trap_w2 (tlu_ibrkpt_trap_w2), |
---|
| 964 | .tlu_early_flush_pipe_w (tlu_early_flush_pipe_w), |
---|
| 965 | .tlu_early_flush_pipe2_w (tlu_early_flush_pipe2_w), |
---|
| 966 | .tlu_exu_early_flush_pipe_w (tlu_exu_early_flush_pipe_w), |
---|
| 967 | .tlu_ifu_trappc_vld_w1 (tlu_ifu_trappc_vld_w1), |
---|
| 968 | .tlu_ifu_trapnpc_vld_w1 (tlu_ifu_trapnpc_vld_w1), |
---|
| 969 | .tlu_ifu_trap_tid_w1 (tlu_ifu_trap_tid_w1[1:0]), |
---|
| 970 | .tlu_trap_hpstate_enb (tlu_trap_hpstate_enb), |
---|
| 971 | .tlu_exu_priv_trap_m (tlu_exu_priv_trap_m), |
---|
| 972 | .tlu_lsu_priv_trap_m (tlu_lsu_priv_trap_m), |
---|
| 973 | // .tlu_lsu_priv_trap_w (tlu_lsu_priv_trap_w), |
---|
| 974 | // .tlu_exu_pic_onebelow_m (tlu_exu_pic_onebelow_m), |
---|
| 975 | // .tlu_exu_pic_twobelow_m (tlu_exu_pic_twobelow_m), |
---|
| 976 | .tsa_wr_tpl (tsa_wr_tpl[2:0]), |
---|
| 977 | .tsa_rd_tid (tsa_rd_tid[1:0]), |
---|
| 978 | .tsa_rd_tpl (tsa_rd_tpl[2:0]), |
---|
| 979 | .tsa_wr_tid (tsa_wr_tid[1:0]), |
---|
| 980 | .tsa_wr_vld (tsa_wr_vld[1:0]), |
---|
| 981 | .tsa_rd_vld_e (tsa_rd_vld_e), |
---|
| 982 | .tsa_rd_en (tsa_rd_en), |
---|
| 983 | .tlu_lsu_tl_zero (tlu_lsu_tl_zero[3:0]), |
---|
| 984 | .tlu_full_flush_pipe_w2 (tlu_full_flush_pipe_w2), |
---|
| 985 | .tlu_exu_agp_tid (tlu_exu_agp_tid[1:0]), |
---|
| 986 | .tlu_agp_tid_w2 (tlu_agp_tid_w2[1:0]), |
---|
| 987 | .tlu_tcc_inst_w (tlu_tcc_inst_w), |
---|
| 988 | .tsa_pc_en (tsa_pc_en), |
---|
| 989 | .tsa_npc_en (tsa_npc_en), |
---|
| 990 | .tsa_tstate_en (tsa_tstate_en), |
---|
| 991 | .tsa_ttype_en (tsa_ttype_en), |
---|
| 992 | .tsa_htstate_en (tsa_htstate_en), |
---|
| 993 | .tlu_tl_gt_0_w2 (tlu_tl_gt_0_w2), |
---|
| 994 | // .tlu_retry_inst_m (tlu_retry_inst_m), |
---|
| 995 | // .tlu_done_inst_m (tlu_done_inst_m), |
---|
| 996 | // .tlu_dnrtry_inst_m_l (tlu_dnrtry_inst_m_l), |
---|
| 997 | .tlu_true_pc_sel_w (tlu_true_pc_sel_w[2:0]), |
---|
| 998 | .tlu_tick_en_l (tlu_tick_en_l), |
---|
| 999 | .tlu_tickcmp_en_l (tlu_tickcmp_en_l[`TLU_THRD_NUM-1:0]), |
---|
| 1000 | .tlu_tba_en_l (tlu_tba_en_l[`TLU_THRD_NUM-1:0]), |
---|
| 1001 | .tlu_thrd_wsel_w2 (tlu_thrd_wsel_w2[`TLU_THRD_NUM-1:0]), |
---|
| 1002 | .tlu_thread_wsel_g (tlu_thread_wsel_g[`TLU_THRD_NUM-1:0]), |
---|
| 1003 | .tlu_final_ttype_w2 (tlu_final_ttype_w2[`TSA_TTYPE_WIDTH-1:0]), |
---|
| 1004 | .tlu_thread_inst_vld_g (tlu_thread_inst_vld_g[`TLU_THRD_NUM-1:0]), |
---|
| 1005 | // .tlu_thread_inst_vld_w2 (tlu_thread_inst_vld_w2[`TLU_THRD_NUM-1:0]), |
---|
| 1006 | .tlu_update_pc_l_w (tlu_update_pc_l_w[`TLU_THRD_NUM-1:0]), |
---|
| 1007 | .tlu_select_redmode (tlu_select_redmode), |
---|
| 1008 | .tlu_pstate_din_sel0 (tlu_pstate_din_sel0[1:0]), |
---|
| 1009 | .tlu_pstate_din_sel1 (tlu_pstate_din_sel1[1:0]), |
---|
| 1010 | .tlu_pstate_din_sel2 (tlu_pstate_din_sel2[1:0]), |
---|
| 1011 | .tlu_pstate_din_sel3 (tlu_pstate_din_sel3[1:0]), |
---|
| 1012 | .tlu_update_pstate_l_w2 (tlu_update_pstate_l_w2[3:0]), |
---|
| 1013 | .tlu_trp_lvl (tlu_trp_lvl[2:0]), |
---|
| 1014 | .tlu_pil (tlu_pil[3:0]), |
---|
| 1015 | .tlu_wsr_inst_nq_g (tlu_wsr_inst_nq_g), |
---|
| 1016 | .tlu_wr_tsa_inst_w2 (tlu_wr_tsa_inst_w2), |
---|
| 1017 | .tlu_exu_cwp_retry_m (tlu_exu_cwp_retry_m), |
---|
| 1018 | .tlu_exu_cwpccr_update_m (tlu_exu_cwpccr_update_m), |
---|
| 1019 | .tlu_lsu_asi_update_m (tlu_lsu_asi_update_m), |
---|
| 1020 | .tlu_lsu_tid_m (tlu_lsu_tid_m[1:0]), |
---|
| 1021 | .tlu_select_tba_w2 (tlu_select_tba_w2), |
---|
| 1022 | .tdp_select_tba_w2 (tdp_select_tba_w2), |
---|
| 1023 | .tlu_set_sftint_l_g (tlu_set_sftint_l_g), |
---|
| 1024 | .tlu_clr_sftint_l_g (tlu_clr_sftint_l_g), |
---|
| 1025 | .tlu_wr_sftint_l_g (tlu_wr_sftint_l_g), |
---|
| 1026 | .tlu_sftint_en_l_g (tlu_sftint_en_l_g[`TLU_THRD_NUM-1:0]), |
---|
| 1027 | .tlu_sftint_mx_sel (tlu_sftint_mx_sel[`TLU_THRD_NUM-1:0]), |
---|
| 1028 | .tlu_sftint_penc_sel (tlu_sftint_penc_sel[`TLU_THRD_NUM-1:0]), |
---|
| 1029 | .tlu_sftint_vld (tlu_sftint_vld[`TLU_THRD_NUM-1:0]), |
---|
| 1030 | .tlu_hintp_vld (tlu_hintp_vld[`TLU_THRD_NUM-1:0]), |
---|
| 1031 | .tlu_rerr_vld (tlu_rerr_vld[`TLU_THRD_NUM-1:0]), |
---|
| 1032 | .tlu_int_tid_m (tlu_int_tid_m[1:0]), |
---|
| 1033 | .tlu_incr_tick (tlu_incr_tick[1:0]), |
---|
| 1034 | .tlu_tckctr_in (tlu_tckctr_in[1:0]), |
---|
| 1035 | .tlu_tickcmp_sel (tlu_tickcmp_sel[`TLU_THRD_NUM-1:0]), |
---|
| 1036 | .immu_sfsr_trp_wr (immu_sfsr_trp_wr[3:0]), |
---|
| 1037 | .tlu_isfsr_din_g (tlu_isfsr_din_g[23:0]), |
---|
| 1038 | .tlu_tick_npt (tlu_tick_npt), |
---|
| 1039 | .tlu_thrd_rsel_e (tlu_thrd_rsel_e[3:0]), |
---|
| 1040 | .tlu_inst_vld_nq_m (tlu_inst_vld_nq_m), |
---|
| 1041 | .tlu_lsu_pstate_am (tlu_lsu_pstate_am[3:0]), |
---|
| 1042 | .tlu_hyperv_rdpr_sel (tlu_hyperv_rdpr_sel[4:0]), |
---|
| 1043 | .tlu_rdpr_mx1_sel (tlu_rdpr_mx1_sel[2:0]), |
---|
| 1044 | .tlu_rdpr_mx2_sel (tlu_rdpr_mx2_sel[2:0]), |
---|
| 1045 | .tlu_rdpr_mx3_sel (tlu_rdpr_mx3_sel[1:0]), |
---|
| 1046 | .tlu_rdpr_mx4_sel (tlu_rdpr_mx4_sel[1:0]), |
---|
| 1047 | .tlu_rdpr_mx5_sel (tlu_rdpr_mx5_sel[2:0]), |
---|
| 1048 | .tlu_rdpr_mx6_sel (tlu_rdpr_mx6_sel[2:0]), |
---|
| 1049 | .tlu_rdpr_mx7_sel (tlu_rdpr_mx7_sel[3:0]), |
---|
| 1050 | .tlu_lsu_redmode_rst_d1 (tlu_lsu_redmode_rst_d1[3:0]), |
---|
| 1051 | .lsu_tlu_rsr_data_mod_e (lsu_tlu_rsr_data_mod_e[7:0]), |
---|
| 1052 | .tlu_addr_msk_g (tlu_addr_msk_g), |
---|
| 1053 | .tlu_stickcmp_en_l (tlu_stickcmp_en_l[`TLU_THRD_NUM-1:0]), |
---|
| 1054 | .tlu_htickcmp_en_l (tlu_htickcmp_en_l[`TLU_THRD_NUM-1:0]), |
---|
| 1055 | .tlu_htstate_rw_d (tlu_htstate_rw_d), |
---|
| 1056 | .tlu_htstate_rw_g (tlu_htstate_rw_g), |
---|
| 1057 | .tlu_dnrtry0_inst_g (tlu_dnrtry0_inst_g), |
---|
| 1058 | .tlu_dnrtry1_inst_g (tlu_dnrtry1_inst_g), |
---|
| 1059 | .tlu_dnrtry2_inst_g (tlu_dnrtry2_inst_g), |
---|
| 1060 | .tlu_dnrtry3_inst_g (tlu_dnrtry3_inst_g), |
---|
| 1061 | .tlu_thrd_traps_w2 (tlu_thrd_traps_w2[`TLU_THRD_NUM-1:0]), |
---|
| 1062 | .tlu_tick_ctl_din (tlu_tick_ctl_din), |
---|
| 1063 | .tlu_por_rstint_g (tlu_por_rstint_g[`TLU_THRD_NUM-1:0]), |
---|
| 1064 | .tlu_pc_mxsel_w2 (tlu_pc_mxsel_w2), |
---|
| 1065 | .ifu_npc_w (ifu_npc_w[48:0]), |
---|
| 1066 | .tlu_rst (tlu_rst), |
---|
| 1067 | // .tlu_rst_l (tlu_rst_l), |
---|
| 1068 | .tlu_sscan_tcl_data (tlu_sscan_test_data[`TCL_SSCAN_HI:`TCL_SSCAN_LO]), |
---|
| 1069 | // Inputs |
---|
| 1070 | .ifu_tlu_npc_m (ifu_tlu_npc_m[48:0]), |
---|
| 1071 | .ifu_tlu_pc_oor_e (ifu_tlu_pc_oor_e), |
---|
| 1072 | .lsu_tlu_early_flush_w (lsu_tlu_early_flush_w), |
---|
| 1073 | .ifu_tlu_flush_fd_w (ifu_tlu_flush_fd2_w), |
---|
| 1074 | .ifu_tlu_sraddr_d (ifu_tlu_sraddr_d[`TLU_ASR_ADDR_WIDTH-1:0]), |
---|
| 1075 | .ifu_tlu_rsr_inst_d (ifu_tlu_rsr_inst_d), |
---|
| 1076 | .lsu_tlu_wsr_inst_e (lsu_tlu_wsr_inst_e), |
---|
| 1077 | .tlu_wsr_data_w (tlu_wsr_data_w[3:0]), |
---|
| 1078 | .lsu_tlu_ttype_m2 (lsu_tlu_ttype_m2[8:0]), |
---|
| 1079 | .lsu_tlu_ttype_vld_m2 (lsu_tlu_ttype_vld_m2), |
---|
| 1080 | .ifu_tlu_done_inst_d (ifu_tlu_done_inst_d), |
---|
| 1081 | .ifu_tlu_retry_inst_d (ifu_tlu_retry_inst_d), |
---|
| 1082 | .ifu_tlu_ttype_m (ifu_tlu_ttype_m[8:0]), |
---|
| 1083 | .ifu_tlu_ttype_vld_m (ifu_tlu_ttype_vld_m), |
---|
| 1084 | .ifu_tlu_trap_m (ifu_tlu_trap_m), |
---|
| 1085 | .exu_tlu_ttype_m (exu_tlu_ttype_m[8:0]), |
---|
| 1086 | .exu_tlu_ttype_vld_m (exu_tlu_ttype_vld_m), |
---|
| 1087 | .exu_tlu_ue_trap_m (exu_tlu_ue_trap_m), |
---|
| 1088 | .exu_tlu_spill (exu_tlu_spill), |
---|
| 1089 | .exu_tlu_spill_tid (exu_tlu_spill_tid[1:0]), |
---|
| 1090 | .exu_tlu_spill_other (exu_tlu_spill_other), |
---|
| 1091 | .exu_tlu_spill_wtype (exu_tlu_spill_wtype), |
---|
| 1092 | .exu_tlu_va_oor_m (exu_tlu_va_oor_m), |
---|
| 1093 | .exu_tlu_va_oor_jl_ret_m (exu_tlu_va_oor_jl_ret_m), |
---|
| 1094 | .tlu_cwp_no_change_m (tlu_cwp_no_change_m), |
---|
| 1095 | .tlu_trap_cwp_en (tlu_trap_cwp_en[`TLU_THRD_NUM-1:0]), |
---|
| 1096 | .ifu_tlu_sir_inst_m (ifu_tlu_sir_inst_m), |
---|
| 1097 | .ifu_tlu_inst_vld_m (ifu_tlu_inst_vld_m), |
---|
| 1098 | .ifu_tlu_thrid_d (ifu_tlu_thrid_d[1:0]), |
---|
| 1099 | .lsu_tlu_async_ttype_vld_g (lsu_tlu_async_ttype_vld_g), |
---|
| 1100 | .lsu_tlu_defr_trp_taken_g (lsu_tlu_defr_trp_taken_g), |
---|
| 1101 | .lsu_tlu_async_ttype_g (lsu_tlu_async_ttype_g), |
---|
| 1102 | .lsu_tlu_async_tid_g (lsu_tlu_async_tid_g[1:0]), |
---|
| 1103 | .ifu_tlu_immu_miss_m (ifu_tlu_immu_miss_m), |
---|
| 1104 | .exu_tlu_cwp_cmplt (exu_tlu_cwp_cmplt), |
---|
| 1105 | .exu_tlu_cwp_retry (exu_tlu_cwp_retry), |
---|
| 1106 | .exu_tlu_cwp_cmplt_tid (exu_tlu_cwp_cmplt_tid[1:0]), |
---|
| 1107 | .ifu_tlu_rstint_m (ifu_tlu_rstint_m), |
---|
| 1108 | .ifu_tlu_hwint_m (ifu_tlu_hwint_m), |
---|
| 1109 | .ifu_tlu_swint_m (ifu_tlu_swint_m), |
---|
| 1110 | .int_tlu_rstid_m (int_tlu_rstid_m[5:0]), |
---|
| 1111 | .tlu_int_pstate_ie (local_pstate_ie[3:0]), |
---|
| 1112 | .tlu_int_redmode (tlu_int_redmode[3:0]), |
---|
| 1113 | .tlu_sftint_id (tlu_sftint_id[3:0]), |
---|
| 1114 | .lsu_tlu_misalign_addr_ldst_atm_m(lsu_tlu_misalign_addr_ldst_atm_m), |
---|
| 1115 | .exu_tlu_misalign_addr_jmpl_rtn_m(exu_tlu_misalign_addr_jmpl_rtn_m), |
---|
| 1116 | .lsu_tlu_priv_action_g (lsu_tlu_priv_action_g), |
---|
| 1117 | .lsu_tlu_wtchpt_trp_g (lsu_tlu_wtchpt_trp_g), |
---|
| 1118 | .ifu_tlu_priv_violtn_m (ifu_tlu_priv_violtn_m), |
---|
| 1119 | .ifu_lsu_memref_d (ifu_lsu_memref_d), |
---|
| 1120 | .tlu_pstate_priv (local_pstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1121 | .tlu_pstate_am (tlu_pstate_am[3:0]), |
---|
| 1122 | .tlu_isfsr_flt_vld (tlu_isfsr_flt_vld[3:0]), |
---|
| 1123 | .ffu_tlu_trap_ieee754 (ffu_tlu_trap_ieee754), |
---|
| 1124 | .ffu_tlu_trap_other (ffu_tlu_trap_other), |
---|
| 1125 | .ffu_tlu_trap_ue (ffu_tlu_trap_ue), |
---|
| 1126 | .ffu_ifu_tid_w2 (ffu_ifu_tid_w2[1:0]), |
---|
| 1127 | .ffu_tlu_ill_inst_m (ffu_tlu_ill_inst_m), // new trap from ffu |
---|
| 1128 | .lsu_tlu_rsr_data_e (lsu_tlu_rsr_data_e[7:0]), |
---|
| 1129 | .lsu_tlu_squash_va_oor_m (lsu_tlu_squash_va_oor_m), |
---|
| 1130 | .tlu_hpstate_priv (tcl_hpstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1131 | .tlu_hscpd_dacc_excpt_m(tlu_hscpd_dacc_excpt_m), |
---|
| 1132 | .tlu_qtail_dacc_excpt_m(tlu_qtail_dacc_excpt_m), |
---|
| 1133 | .tlu_htickcmp_rw_e (tlu_htickcmp_rw_e), |
---|
| 1134 | // .tlu_gl_rw_g (tlu_gl_rw_g), |
---|
| 1135 | .tlu_gl_rw_m (tlu_gl_rw_m), |
---|
| 1136 | .tlu_hpstate_enb (tcl_hpstate_enb[`TLU_THRD_NUM-1:0]), |
---|
| 1137 | .tlu_hpstate_tlz (tlu_hpstate_tlz[`TLU_THRD_NUM-1:0]), |
---|
| 1138 | .ctu_sscan_tid (ctu_sscan_tid[`TLU_THRD_NUM-1:0]), |
---|
| 1139 | .se (se), |
---|
| 1140 | .rclk (rclk), |
---|
| 1141 | .grst_l (grst_l), |
---|
| 1142 | .arst_l (arst_l), |
---|
| 1143 | .rst_tri_en (mux_drive_disable)); |
---|
| 1144 | |
---|
| 1145 | tlu_tdp tdp ( |
---|
| 1146 | .so (scan1_2), |
---|
| 1147 | .si (scan1_1), |
---|
| 1148 | .tsa_rdata ({tsa1_dout[`TSA1_HTSTATE_HI:`TSA1_HTSTATE_LO], |
---|
| 1149 | // tsa0_dout[`TSA0_TPC_HI:`TSA0_TPC_LO], |
---|
| 1150 | // tsa1_dout[`TSA1_TNPC_HI:`TSA1_TNPC_LO], |
---|
| 1151 | tsa0_dout[`TSA0_TPC_HI-1:`TSA0_TPC_LO], |
---|
| 1152 | tsa1_dout[`TSA1_TNPC_HI-1:`TSA1_TNPC_LO], |
---|
| 1153 | tsa0_dout[`TSA0_TSTATE_HI:`TSA0_TSTATE_LO], |
---|
| 1154 | tsa1_dout[`TSA1_TTYPE_HI:`TSA1_TTYPE_LO]}), |
---|
| 1155 | .lsu_tlu_rsr_data_e (lsu_tlu_rsr_data_mod_e[7:0]), |
---|
| 1156 | .ifu_lsu_imm_asi_d (ifu_lsu_imm_asi_d[7:0]), |
---|
| 1157 | .ifu_lsu_imm_asi_vld_d (ifu_lsu_imm_asi_vld_d), |
---|
| 1158 | .tlu_lsu_redmode (tlu_lsu_redmode[3:0]), |
---|
| 1159 | .tlu_exu_rsr_data_m (tlu_exu_rsr_data_m[`TLU_ASR_DATA_WIDTH-1:0]), |
---|
| 1160 | /*AUTOINST*/ |
---|
| 1161 | // Outputs |
---|
| 1162 | // modified for bug 3017 |
---|
| 1163 | .tlu_restore_pc_w1 (tlu_restore_pc_w1[48:0]), |
---|
| 1164 | .tlu_restore_npc_w1 (tlu_restore_npc_w1[48:0]), |
---|
| 1165 | .tlu_partial_trap_pc_w1 (tlu_partial_trap_pc_w1[33:0]), |
---|
| 1166 | .tlu_pib_rsr_data_e (tlu_pib_rsr_data_e[63:0]), |
---|
| 1167 | .tlu_asi_state_e (tlu_asi_state_e[`TLU_ASI_STATE_WIDTH-1:0]), |
---|
| 1168 | .tsa_wdata (tsa_wdata[`TLU_TSA_WIDTH-1:0]), |
---|
| 1169 | .tlu_int_pstate_ie (tlu_int_pstate_ie[3:0]), |
---|
| 1170 | .local_pstate_ie (local_pstate_ie[3:0]), |
---|
| 1171 | .tlu_ifu_pstate_pef (tlu_ifu_pstate_pef[3:0]), |
---|
| 1172 | .tlu_lsu_pstate_cle (tlu_lsu_pstate_cle[3:0]), |
---|
| 1173 | .tlu_lsu_pstate_priv (tlu_lsu_pstate_priv[3:0]), |
---|
| 1174 | .tlu_int_redmode (tlu_int_redmode[3:0]), |
---|
| 1175 | .local_pstate_priv (local_pstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1176 | .tlu_pstate_am (tlu_pstate_am[3:0]), |
---|
| 1177 | .tlu_sftint_id (tlu_sftint_id[3:0]), |
---|
| 1178 | .tlu_tick_incr_din (tlu_tick_incr_din[61:0]), |
---|
| 1179 | .tlu_sscan_test_data (tlu_sscan_test_data[`TDP_SSCAN_WIDTH-1:0]), |
---|
| 1180 | .tlu_dnrtry_global_g (tlu_dnrtry_global_g[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1181 | .tlu_hpstate_enb (tlu_hpstate_enb[`TLU_THRD_NUM-1:0]), |
---|
| 1182 | .local_hpstate_enb (local_hpstate_enb[`TLU_THRD_NUM-1:0]), |
---|
| 1183 | .tcl_hpstate_enb (tcl_hpstate_enb[`TLU_THRD_NUM-1:0]), |
---|
| 1184 | .tlu_hpstate_tlz (tlu_hpstate_tlz[`TLU_THRD_NUM-1:0]), |
---|
| 1185 | .tlu_hpstate_priv (tlu_hpstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1186 | .local_hpstate_priv (local_hpstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1187 | .tcl_hpstate_priv (tcl_hpstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1188 | .tlu_hpstate_ibe (tlu_hpstate_ibe[`TLU_THRD_NUM-1:0]), |
---|
| 1189 | .tlu_hintp (tlu_hintp), |
---|
| 1190 | // Inputs |
---|
| 1191 | .tlu_ibrkpt_trap_w2 (tlu_ibrkpt_trap_w2), |
---|
| 1192 | .pib_picl_wrap (pib_picl_wrap[`TLU_THRD_NUM-1:0]), |
---|
| 1193 | .pib_pich_wrap (pib_pich_wrap[`TLU_THRD_NUM-1:0]), |
---|
| 1194 | .tlu_por_rstint_g (tlu_por_rstint_g[`TLU_THRD_NUM-1:0]), |
---|
| 1195 | .rclk (rclk), |
---|
| 1196 | .tlu_rst (tlu_rst), |
---|
| 1197 | .tlu_trap_hpstate_enb (tlu_trap_hpstate_enb), |
---|
| 1198 | .tlu_thrd_wsel_w2 (tlu_thrd_wsel_w2[`TLU_THRD_NUM-1:0]), |
---|
| 1199 | .tlu_final_ttype_w2 (tlu_final_ttype_w2[`TSA_TTYPE_WIDTH-1:0]), |
---|
| 1200 | .tlu_pstate_din_sel0 (tlu_pstate_din_sel0[1:0]), |
---|
| 1201 | .tlu_pstate_din_sel1 (tlu_pstate_din_sel1[1:0]), |
---|
| 1202 | .tlu_pstate_din_sel2 (tlu_pstate_din_sel2[1:0]), |
---|
| 1203 | .tlu_pstate_din_sel3 (tlu_pstate_din_sel3[1:0]), |
---|
| 1204 | .tlu_wr_tsa_inst_w2 (tlu_wr_tsa_inst_w2), |
---|
| 1205 | .lsu_asi_reg0 (lsu_asi_reg0[7:0]), |
---|
| 1206 | .lsu_asi_reg1 (lsu_asi_reg1[7:0]), |
---|
| 1207 | .lsu_asi_reg2 (lsu_asi_reg2[7:0]), |
---|
| 1208 | .lsu_asi_reg3 (lsu_asi_reg3[7:0]), |
---|
| 1209 | .tlu_tickcmp_sel (tlu_tickcmp_sel[`TLU_THRD_NUM-1:0]), |
---|
| 1210 | .exu_tlu_ccr0_w (exu_tlu_ccr0_w[7:0]), |
---|
| 1211 | .exu_tlu_ccr1_w (exu_tlu_ccr1_w[7:0]), |
---|
| 1212 | .exu_tlu_ccr2_w (exu_tlu_ccr2_w[7:0]), |
---|
| 1213 | .exu_tlu_ccr3_w (exu_tlu_ccr3_w[7:0]), |
---|
| 1214 | .exu_tlu_cwp0 (exu_tlu_cwp0[2:0]), |
---|
| 1215 | .exu_tlu_cwp1 (exu_tlu_cwp1[2:0]), |
---|
| 1216 | .exu_tlu_cwp2 (exu_tlu_cwp2[2:0]), |
---|
| 1217 | .exu_tlu_cwp3 (exu_tlu_cwp3[2:0]), |
---|
| 1218 | .tlu_trap_cwp_en (tlu_trap_cwp_en[`TLU_THRD_NUM-1:0]), |
---|
| 1219 | // modified for bug 3017 |
---|
| 1220 | // .ifu_tlu_pc_m (ifu_tlu_pc_m[48:0]), |
---|
| 1221 | // .ifu_tlu_npc_m (ifu_tlu_npc_m[48:0]), |
---|
| 1222 | .tlu_pc_new_w (tlu_pc_new_w[48:0]), |
---|
| 1223 | .tlu_npc_new_w (tlu_npc_new_w[48:0]), |
---|
| 1224 | .tlu_sftint_en_l_g (tlu_sftint_en_l_g[`TLU_THRD_NUM-1:0]), |
---|
| 1225 | .tlu_sftint_mx_sel (tlu_sftint_mx_sel[`TLU_THRD_NUM-1:0]), |
---|
| 1226 | .tlu_set_sftint_l_g (tlu_set_sftint_l_g), |
---|
| 1227 | .tlu_clr_sftint_l_g (tlu_clr_sftint_l_g), |
---|
| 1228 | .tlu_wr_sftint_l_g (tlu_wr_sftint_l_g), |
---|
| 1229 | .tlu_sftint_penc_sel (tlu_sftint_penc_sel[3:0]), |
---|
| 1230 | .tlu_tba_en_l (tlu_tba_en_l[3:0]), |
---|
| 1231 | .tlu_tick_en_l (tlu_tick_en_l), |
---|
| 1232 | .tlu_tickcmp_en_l (tlu_tickcmp_en_l[3:0]), |
---|
| 1233 | // .tlu_done_inst_m (tlu_done_inst_m), |
---|
| 1234 | // .tlu_dnrtry_inst_m (tlu_dnrtry_inst_m), |
---|
| 1235 | // .tlu_dnrtry_inst_m_l (tlu_dnrtry_inst_m_l), |
---|
| 1236 | .tlu_update_pc_l_w (tlu_update_pc_l_w[3:0]), |
---|
| 1237 | .tlu_tl_gt_0_w2 (tlu_tl_gt_0_w2), |
---|
| 1238 | .tlu_select_tba_w2 (tdp_select_tba_w2), |
---|
| 1239 | .tlu_select_redmode (tlu_select_redmode), |
---|
| 1240 | .tlu_update_pstate_l_w2 (tlu_update_pstate_l_w2[3:0]), |
---|
| 1241 | .tlu_pil (tlu_pil[3:0]), |
---|
| 1242 | .tlu_trp_lvl (tlu_trp_lvl[2:0]), |
---|
| 1243 | .tlu_tick_npt (tlu_tick_npt), |
---|
| 1244 | .tlu_thrd_rsel_e (tlu_thrd_rsel_e[3:0]), |
---|
| 1245 | .tlu_tick_incr_dout (tlu_incr64_dout[60:0]), |
---|
| 1246 | .tlu_rdpr_mx1_sel (tlu_rdpr_mx1_sel[2:0]), |
---|
| 1247 | .tlu_rdpr_mx2_sel (tlu_rdpr_mx2_sel[2:0]), |
---|
| 1248 | .tlu_rdpr_mx3_sel (tlu_rdpr_mx3_sel[1:0]), |
---|
| 1249 | .tlu_rdpr_mx4_sel (tlu_rdpr_mx4_sel[1:0]), |
---|
| 1250 | .tlu_rdpr_mx5_sel (tlu_rdpr_mx5_sel[2:0]), |
---|
| 1251 | .tlu_rdpr_mx6_sel (tlu_rdpr_mx6_sel[2:0]), |
---|
| 1252 | .tlu_rdpr_mx7_sel (tlu_rdpr_mx7_sel[3:0]), |
---|
| 1253 | .ctu_sscan_tid (ctu_sscan_tid[`TLU_THRD_NUM-1:0]), |
---|
| 1254 | .tlu_gl_lvl0 (tlu_gl_lvl0[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1255 | .tlu_gl_lvl1 (tlu_gl_lvl1[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1256 | .tlu_gl_lvl2 (tlu_gl_lvl2[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1257 | .tlu_gl_lvl3 (tlu_gl_lvl3[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1258 | .tlu_hpstate_din_sel0 (tlu_hpstate_din_sel0[1:0]), |
---|
| 1259 | .tlu_hpstate_din_sel1 (tlu_hpstate_din_sel1[1:0]), |
---|
| 1260 | .tlu_hpstate_din_sel2 (tlu_hpstate_din_sel2[1:0]), |
---|
| 1261 | .tlu_hpstate_din_sel3 (tlu_hpstate_din_sel3[1:0]), |
---|
| 1262 | .tlu_htba_en_l (tlu_htba_en_l[`TLU_THRD_NUM-1:0]), |
---|
| 1263 | .tlu_htickcmp_en_l (tlu_htickcmp_en_l[`TLU_THRD_NUM-1:0]), |
---|
| 1264 | .tlu_htickcmp_intdis (tlu_htickcmp_intdis), |
---|
| 1265 | .tlu_pc_mxsel_w2 (tlu_pc_mxsel_w2), |
---|
| 1266 | .tlu_set_hintp_sel_g (tlu_set_hintp_sel_g[`TLU_THRD_NUM-1:0]), |
---|
| 1267 | .tlu_stickcmp_en_l (tlu_stickcmp_en_l[`TLU_THRD_NUM-1:0]), |
---|
| 1268 | .tlu_update_hpstate_l_w2 (tlu_update_hpstate_l_w2[`TLU_THRD_NUM-1:0]), |
---|
| 1269 | .tlu_wr_hintp_g (tlu_wr_hintp_g[`TLU_THRD_NUM-1:0]), |
---|
| 1270 | .tlu_wsr_data_w (tlu_wsr_data_w[`TLU_ASR_DATA_WIDTH-1:0]), |
---|
| 1271 | .se (se)); |
---|
| 1272 | |
---|
| 1273 | // modified for Niagara SRAMs methodology |
---|
| 1274 | |
---|
| 1275 | bw_r_rf32x80 tsa0 ( |
---|
| 1276 | // Outputs |
---|
| 1277 | .dout (tsa0_dout[`TSA_MEM_WIDTH-1:0]), |
---|
| 1278 | .so (short_scan0_1), |
---|
| 1279 | // Inputs |
---|
| 1280 | .wr_adr ({tsa_wr_tid[1:0],tsa_wr_tpl[2:0]}), |
---|
| 1281 | .wr_en (tsa_wr_vld[0]), |
---|
| 1282 | .nib_wr_en ({{12{tsa_pc_en}}, |
---|
| 1283 | { 8{tsa_tstate_en}}}), |
---|
| 1284 | .rd_adr ({tsa_rd_tid[1:0],tsa_rd_tpl[2:0]}), |
---|
| 1285 | .rd_en (tsa_rd_en), |
---|
| 1286 | .din ({1'b0, tsa_wdata[`TLU_PC_HI:`TLU_PC_LO], |
---|
| 1287 | 3'b0, tsa_wdata[`TLU_GL_HI:`TLU_CWP_LO]}), |
---|
| 1288 | .reset_l (arst_l), |
---|
| 1289 | .rst_tri_en (mem_write_disable), |
---|
| 1290 | .sehold (sehold), |
---|
| 1291 | .se (se), |
---|
| 1292 | .si (short_si0), |
---|
| 1293 | .rclk (rclk)); |
---|
| 1294 | |
---|
| 1295 | bw_r_rf32x80 tsa1 ( |
---|
| 1296 | // Outputs |
---|
| 1297 | .dout (tsa1_dout[`TSA_MEM_WIDTH-1:0]), |
---|
| 1298 | .so (short_scan0_2), |
---|
| 1299 | // Inputs |
---|
| 1300 | .wr_adr ({tsa_wr_tid[1:0],tsa_wr_tpl[2:0]}), |
---|
| 1301 | .wr_en (tsa_wr_vld[1]), |
---|
| 1302 | .nib_wr_en ({ 4'h0, // unused |
---|
| 1303 | { 1{tsa_htstate_en}}, |
---|
| 1304 | {12{tsa_npc_en}}, |
---|
| 1305 | { 3{tsa_ttype_en}}}), |
---|
| 1306 | .rd_adr ({tsa_rd_tid[1:0],tsa_rd_tpl[2:0]}), |
---|
| 1307 | .rd_en (tsa_rd_en), |
---|
| 1308 | .din ({16'h0000, // unused bits |
---|
| 1309 | tsa_wdata[`TLU_HTSTATE_HI:`TLU_HTSTATE_LO], |
---|
| 1310 | 1'b0, tsa_wdata[`TLU_NPC_HI:`TLU_NPC_LO], |
---|
| 1311 | 3'b0, tsa_wdata[`TLU_TT_HI:`TLU_TT_LO]}), |
---|
| 1312 | .reset_l (arst_l), |
---|
| 1313 | .rst_tri_en (mem_write_disable), |
---|
| 1314 | .sehold (sehold), |
---|
| 1315 | .se (se), |
---|
| 1316 | .si (short_scan0_1), |
---|
| 1317 | .rclk (rclk)); |
---|
| 1318 | |
---|
| 1319 | // replaced with softmacro from the library |
---|
| 1320 | tlu_incr64 tick_incr64 ( |
---|
| 1321 | .out ({tlu_incr64_dout[61:0], tlu_tckctr_in[1:0]}), |
---|
| 1322 | .in ({tlu_tick_incr_din[61:0], tlu_incr_tick[1:0]}) |
---|
| 1323 | ); |
---|
| 1324 | /* |
---|
| 1325 | zzinc64 tick_incr64 ( |
---|
| 1326 | .out ({tlu_incr64_dout[61:0], tlu_tckctr_in[1:0]}), |
---|
| 1327 | .in ({tlu_tick_incr_din[61:0], tlu_incr_tick[1:0]}) |
---|
| 1328 | ); |
---|
| 1329 | */ |
---|
| 1330 | |
---|
| 1331 | tlu_mmu_ctl mmu_ctl ( |
---|
| 1332 | .so (so0), |
---|
| 1333 | .si(scan0_1), |
---|
| 1334 | .lsu_tlu_st_rs3_data_b12t0_g(lsu_tlu_st_rs3_data_g[12:0]), |
---|
| 1335 | .lsu_tlu_st_rs3_data_b48_g(lsu_tlu_st_rs3_data_g[48]), |
---|
| 1336 | //.lsu_tlu_st_rs3_data_b10t8_g(lsu_tlu_st_rs3_data_g[10:8]), |
---|
| 1337 | .tlu_sun4r_tte_g (tlu_sun4r_tte_g), |
---|
| 1338 | .ifu_tlu_flush_m (ifu_tlu_flush_m), |
---|
| 1339 | .tlu_mmu_early_flush_pipe_w (tlu_exu_early_flush_pipe_w), |
---|
| 1340 | .lsu_mmu_early_flush_w (lsu_tlu_early_flush_w), |
---|
| 1341 | .lsu_mmu_flush_pipe_w (lsu_mmu_flush_pipe_w), |
---|
| 1342 | .dmmu_sfsr_trp_wr (lsu_dmmu_sfsr_trp_wr[3:0]), |
---|
| 1343 | .rst_tri_en (mux_drive_disable), |
---|
| 1344 | .ifu_tlu_priv_violtn_m (ifu_tlu_priv_violtn_m), |
---|
| 1345 | // MMU_ASI_RD_CHANGE |
---|
| 1346 | .lsu_exu_ldxa_m (lsu_exu_ldxa_m), |
---|
| 1347 | .ifu_lsu_memref_d (ifu_lsu_memref_d), |
---|
| 1348 | .ifu_lsu_imm_asi_d (ifu_lsu_imm_asi_d[8:0]), |
---|
| 1349 | .ifu_lsu_thrid_s (ifu_lsu_thrid_s[1:0]), |
---|
| 1350 | .lsu_asi_reg0 (lsu_asi_reg0[7:0]), |
---|
| 1351 | .lsu_asi_reg1 (lsu_asi_reg1[7:0]), |
---|
| 1352 | .lsu_asi_reg2 (lsu_asi_reg2[7:0]), |
---|
| 1353 | .lsu_asi_reg3 (lsu_asi_reg3[7:0]), |
---|
| 1354 | .tlu_lng_ltncy_en_l(tlu_lng_ltncy_en_l), |
---|
| 1355 | .tlu_tsb_rd_ps0_sel (tlu_tsb_rd_ps0_sel), |
---|
| 1356 | .tlu_tsb_base_w2_d1 (tlu_tsb_base_w2_d1[47:13]), |
---|
| 1357 | .tlu_lsu_pstate_am (tlu_lsu_pstate_am[3:0]), |
---|
| 1358 | .exu_tlu_va_oor_m (exu_tlu_va_oor_m), |
---|
| 1359 | .exu_tlu_va_oor_jl_ret_m (exu_tlu_va_oor_jl_ret_m), |
---|
| 1360 | .tlu_lsu_tl_zero (tlu_lsu_tl_zero[3:0]), |
---|
| 1361 | .lsu_mmu_defr_trp_taken_g (lsu_mmu_defr_trp_taken_g), |
---|
| 1362 | /*AUTOINST*/ |
---|
| 1363 | // Outputs |
---|
| 1364 | .tlu_tlb_access_en_l_d1 (tlu_tlb_access_en_l_d1), |
---|
| 1365 | .mra_byte_wen (mra_byte_wen[19:0]), |
---|
| 1366 | .tlu_tag_access_ctxt_sel_m (tlu_tag_access_ctxt_sel_m[2:0]), |
---|
| 1367 | .tlu_tlb_tag_invrt_parity(tlu_tlb_tag_invrt_parity), |
---|
| 1368 | .tlu_tlb_data_invrt_parity(tlu_tlb_data_invrt_parity), |
---|
| 1369 | .lsu_ifu_inj_ack (lsu_ifu_inj_ack[3:0]), |
---|
| 1370 | .dmmu_any_sfsr_wr (dmmu_any_sfsr_wr), |
---|
| 1371 | .dmmu_sfsr_wr_en_l (dmmu_sfsr_wr_en_l[3:0]), |
---|
| 1372 | .dmmu_sfar_wr_en_l (dmmu_sfar_wr_en_l[3:0]), |
---|
| 1373 | .immu_any_sfsr_wr (immu_any_sfsr_wr), |
---|
| 1374 | .immu_sfsr_wr_en_l (immu_sfsr_wr_en_l[3:0]), |
---|
| 1375 | .tlu_tte_tag_g (tlu_tte_tag_g[2:0]), |
---|
| 1376 | .tlu_dtlb_rw_index_vld_g(tlu_dtlb_rw_index_vld_g), |
---|
| 1377 | .tlu_dtlb_rw_index_g(tlu_dtlb_rw_index_g[5:0]), |
---|
| 1378 | .tlu_dtlb_data_rd_g(tlu_dtlb_data_rd_g), |
---|
| 1379 | .tlu_dtlb_tag_rd_g (tlu_dtlb_tag_rd_g), |
---|
| 1380 | .tlu_itlb_rw_index_vld_g(tlu_itlb_rw_index_vld_g), |
---|
| 1381 | .tlu_itlb_wr_vld_g (tlu_itlb_wr_vld_g), |
---|
| 1382 | .itlb_wr_vld_g (itlb_wr_vld_g), |
---|
| 1383 | .tlu_itlb_rw_index_g(tlu_itlb_rw_index_g[5:0]), |
---|
| 1384 | .tlu_itlb_data_rd_g(tlu_itlb_data_rd_g), |
---|
| 1385 | .tlu_itlb_tag_rd_g (tlu_itlb_tag_rd_g), |
---|
| 1386 | .tlu_idtsb_8k_ptr (tlu_idtsb_8k_ptr[47:0]), |
---|
| 1387 | .tlu_dtlb_invalidate_all_g(tlu_dtlb_invalidate_all_g), |
---|
| 1388 | .tlu_itlb_invalidate_all_g(tlu_itlb_invalidate_all_g), |
---|
| 1389 | .tlu_slxa_thrd_sel (tlu_slxa_thrd_sel[3:0]), |
---|
| 1390 | .tlu_lsu_ldxa_tid_w2(tlu_lsu_ldxa_tid_w2[1:0]), |
---|
| 1391 | .tlu_itlb_dmp_vld_g(tlu_itlb_dmp_vld_g), |
---|
| 1392 | .tlu_itlb_dmp_all_g(tlu_itlb_dmp_all_g), |
---|
| 1393 | .tlu_itlb_dmp_actxt_g(tlu_itlb_dmp_actxt_g), |
---|
| 1394 | .tlu_itlb_dmp_nctxt_g(tlu_itlb_dmp_nctxt_g), |
---|
| 1395 | .tlu_dtlb_dmp_vld_g(tlu_dtlb_dmp_vld_g), |
---|
| 1396 | //.tlu_dtlb_dmp_by_ctxt_g(tlu_dtlb_dmp_by_ctxt_g), |
---|
| 1397 | .tlu_dtlb_dmp_all_g(tlu_dtlb_dmp_all_g), |
---|
| 1398 | .tlu_dtlb_dmp_pctxt_g(tlu_dtlb_dmp_pctxt_g), |
---|
| 1399 | .tlu_dtlb_dmp_sctxt_g(tlu_dtlb_dmp_sctxt_g), |
---|
| 1400 | .tlu_dtlb_dmp_nctxt_g(tlu_dtlb_dmp_nctxt_g), |
---|
| 1401 | .tlu_dtlb_dmp_actxt_g(tlu_dtlb_dmp_actxt_g), |
---|
| 1402 | .tlu_idtlb_dmp_thrid_g(tlu_idtlb_dmp_thrid_g[1:0]), |
---|
| 1403 | .tlu_dmp_key_vld_g (tlu_dmp_key_vld_g[4:0]), |
---|
| 1404 | .tlu_int_asi_load (tlu_int_asi_load), |
---|
| 1405 | // .tlu_int_asi_store (tlu_int_asi_store), |
---|
| 1406 | .tlu_int_asi_thrid (tlu_int_asi_thrid[1:0]), |
---|
| 1407 | .tlu_int_asi_vld (tlu_int_asi_vld), |
---|
| 1408 | .tlb_access_rst_l (tlb_access_rst_l), |
---|
| 1409 | .tlu_lsu_stxa_ack (tlu_lsu_stxa_ack), |
---|
| 1410 | .tlu_lsu_stxa_ack_tid(tlu_lsu_stxa_ack_tid[1:0]), |
---|
| 1411 | .mra_wr_ptr (mra_wr_ptr[3:0]), |
---|
| 1412 | .mra_rd_ptr (mra_rd_ptr[3:0]), |
---|
| 1413 | .mra_wr_vld (mra_wr_vld), |
---|
| 1414 | .mra_rd_vld (mra_rd_vld), |
---|
| 1415 | .tag_access_wdata_sel(tag_access_wdata_sel[2:0]), |
---|
| 1416 | .tlu_admp_key_sel (tlu_admp_key_sel), |
---|
| 1417 | // .tlu_mmu_sync_data_excp_g(tlu_mmu_sync_data_excp_g), |
---|
| 1418 | .tlu_tte_wr_pid_g (tlu_tte_wr_pid_g[2:0]), |
---|
| 1419 | .tlu_lsu_ldxa_async_data_vld(tlu_lsu_ldxa_async_data_vld), |
---|
| 1420 | .tlu_tte_real_g (tlu_tte_real_g), |
---|
| 1421 | .tlu_ldxa_l1mx1_sel(tlu_ldxa_l1mx1_sel[3:0]), |
---|
| 1422 | .tlu_ldxa_l1mx2_sel(tlu_ldxa_l1mx2_sel[3:0]), |
---|
| 1423 | .tlu_ldxa_l2mx1_sel(tlu_ldxa_l2mx1_sel[2:0]), |
---|
| 1424 | // Inputs |
---|
| 1425 | .tlu_itag_acc_sel_g (tlu_itag_acc_sel_g), |
---|
| 1426 | .sehold (sehold), |
---|
| 1427 | .spu_tlu_rsrv_illgl_m (1'b0), |
---|
| 1428 | .ifu_mmu_trap_m (ifu_mmu_trap_m), |
---|
| 1429 | .ffu_tlu_ill_inst_m(ffu_tlu_ill_inst_m), |
---|
| 1430 | .ifu_tlu_inst_vld_m (ifu_tlu_inst_vld_m_bf1), |
---|
| 1431 | .exu_lsu_priority_trap_m(exu_lsu_priority_trap_m), |
---|
| 1432 | .exu_mmu_early_va_e (exu_mmu_early_va_e[7:0]), |
---|
| 1433 | .tlu_tag_access_ctxt_g (tlu_tag_access_ctxt_g[12:0]), |
---|
| 1434 | .ifu_lsu_error_inj (ifu_lsu_error_inj[3:0]), |
---|
| 1435 | .lsu_tlu_nucleus_ctxt_m (lsu_tlu_nucleus_ctxt_m), |
---|
| 1436 | .lsu_tlu_tte_pg_sz_g (lsu_tlu_tte_pg_sz_g[2:0]), |
---|
| 1437 | .ifu_lsu_ld_inst_e (ifu_lsu_ld_inst_e), |
---|
| 1438 | .ifu_lsu_st_inst_e (ifu_lsu_st_inst_e), |
---|
| 1439 | .lsu_tlu_dmmu_miss_g(lsu_tlu_dmmu_miss_g), |
---|
| 1440 | .tlu_dtsb_split_w2 (tlu_dtsb_split_w2), |
---|
| 1441 | .tlu_dtsb_size_w2 (tlu_dtsb_size_w2[3:0]), |
---|
| 1442 | .tlu_dtag_access_w2(tlu_dtag_access_w2[47:13]), |
---|
| 1443 | .tlu_itsb_split_w2 (tlu_itsb_split_w2), |
---|
| 1444 | .tlu_itsb_size_w2 (tlu_itsb_size_w2[3:0]), |
---|
| 1445 | .tlu_ctxt_cfg_w2 (tlu_ctxt_cfg_w2[5:0]), |
---|
| 1446 | //.tlu_tag_access_nctxt_g(tlu_tag_access_nctxt_g), |
---|
| 1447 | .lsu_tlu_st_rs3_data_g(lsu_tlu_st_rs3_data_g[62:61]), |
---|
| 1448 | .ifu_tlu_immu_miss_m(ifu_tlu_immu_miss_m), |
---|
| 1449 | // .ifu_tlu_thrid_e (ifu_tlu_thrid_e[1:0]), |
---|
| 1450 | .ifu_lsu_alt_space_e(ifu_lsu_alt_space_e), |
---|
| 1451 | .ifu_tlu_alt_space_d(ifu_tlu_alt_space_d), |
---|
| 1452 | .lsu_tlu_dtlb_done (lsu_tlu_dtlb_done), |
---|
| 1453 | .ifu_tlu_itlb_done (ifu_tlu_itlb_done), |
---|
| 1454 | .lsu_tlu_tlb_asi_state_m(lsu_tlu_tlb_asi_state_m[7:0]), |
---|
| 1455 | .lsu_tlu_tlb_ldst_va_m(lsu_tlu_tlb_ldst_va_m[10:0]), |
---|
| 1456 | .lsu_tlu_tlb_ld_inst_m(lsu_tlu_tlb_ld_inst_m), |
---|
| 1457 | .lsu_tlu_tlb_st_inst_m(lsu_tlu_tlb_st_inst_m), |
---|
| 1458 | .lsu_tlu_tlb_access_tid_m(lsu_tlu_tlb_access_tid_m[1:0]), |
---|
| 1459 | .immu_sfsr_trp_wr (immu_sfsr_trp_wr[3:0]), |
---|
| 1460 | .lsu_tlu_daccess_excptn_g(lsu_tlu_daccess_excptn_g), |
---|
| 1461 | .lsu_tlu_daccess_prot_g(lsu_tlu_daccess_prot_g), |
---|
| 1462 | .lsu_pid_state0 (lsu_pid_state0[2:0]), |
---|
| 1463 | .lsu_pid_state1 (lsu_pid_state1[2:0]), |
---|
| 1464 | .lsu_pid_state2 (lsu_pid_state2[2:0]), |
---|
| 1465 | .lsu_pid_state3 (lsu_pid_state3[2:0]), |
---|
| 1466 | .rclk (rclk), |
---|
| 1467 | .se (se), |
---|
| 1468 | .grst_l (grst_l), |
---|
| 1469 | .arst_l (arst_l)); |
---|
| 1470 | |
---|
| 1471 | /* |
---|
| 1472 | tlu_mmu_dp AUTO_TEMPLATE (); |
---|
| 1473 | */ |
---|
| 1474 | |
---|
| 1475 | |
---|
| 1476 | tlu_mmu_dp mmu_dp ( |
---|
| 1477 | .so (short_scan0_3), |
---|
| 1478 | .si (short_scan0_2), |
---|
| 1479 | .ifu_tlu_pc_m (ifu_tlu_pc_m[47:13]), |
---|
| 1480 | .lsu_exu_ldxa_data_g (lsu_exu_ldxa_data_g[63:0]), |
---|
| 1481 | .tlu_dsfsr_din_g (lsu_dsfsr_din_g[23:0]), |
---|
| 1482 | // MMU_ASI_RD_CHANGE |
---|
| 1483 | .tlu_lng_ltncy_en_l(tlu_lng_ltncy_en_l), |
---|
| 1484 | .tlu_tsb_rd_ps0_sel (tlu_tsb_rd_ps0_sel), |
---|
| 1485 | .tlu_tsb_base_w2_d1 (tlu_tsb_base_w2_d1[47:13]), |
---|
| 1486 | /*AUTOINST*/ |
---|
| 1487 | // Outputs |
---|
| 1488 | .tlu_tag_access_ctxt_g (tlu_tag_access_ctxt_g[12:0]), |
---|
| 1489 | .tlu_ctxt_cfg_w2 (tlu_ctxt_cfg_w2[5:0]), |
---|
| 1490 | .tlu_dtsb_split_w2 (tlu_dtsb_split_w2), |
---|
| 1491 | .tlu_dtsb_size_w2 (tlu_dtsb_size_w2[3:0]), |
---|
| 1492 | .tlu_dtag_access_w2 (tlu_dtag_access_w2[47:13]), |
---|
| 1493 | .tlu_itsb_split_w2 (tlu_itsb_split_w2), |
---|
| 1494 | .tlu_itsb_size_w2 (tlu_itsb_size_w2[3:0]), |
---|
| 1495 | .tlu_itlb_tte_tag_w2 (tlu_itlb_tte_tag_w2[58:0]), |
---|
| 1496 | .tlu_itlb_tte_data_w2(tlu_itlb_tte_data_w2[42:0]), |
---|
| 1497 | .tlu_dtlb_tte_tag_w2 (tlu_dtlb_tte_tag_w2[58:0]), |
---|
| 1498 | .tlu_dtlb_tte_data_w2(tlu_dtlb_tte_data_w2[42:0]), |
---|
| 1499 | // .tlu_lsu_ldxa_data_w2(tlu_lsu_ldxa_data_w2[63:0]), |
---|
| 1500 | .tlu_idtlb_dmp_key_g (tlu_idtlb_dmp_key_g[40:0]), |
---|
| 1501 | .tlu_dsfsr_flt_vld (tlu_dsfsr_flt_vld[3:0]), |
---|
| 1502 | .tlu_isfsr_flt_vld (tlu_isfsr_flt_vld[3:0]), |
---|
| 1503 | //.tlu_tag_access_nctxt_g(tlu_tag_access_nctxt_g), |
---|
| 1504 | .mra_wdata (mra_wdata[155:0]), |
---|
| 1505 | // Inputs |
---|
| 1506 | .tlu_tlb_access_en_l_d1 (tlu_tlb_access_en_l_d1), |
---|
| 1507 | .tlu_sun4r_tte_g (tlu_sun4r_tte_g), |
---|
| 1508 | .tlu_tlb_tag_invrt_parity(tlu_tlb_tag_invrt_parity), |
---|
| 1509 | .tlu_tlb_data_invrt_parity(tlu_tlb_data_invrt_parity), |
---|
| 1510 | .tlu_addr_msk_g (tlu_addr_msk_g), |
---|
| 1511 | .dmmu_any_sfsr_wr (dmmu_any_sfsr_wr), |
---|
| 1512 | .dmmu_sfsr_wr_en_l (dmmu_sfsr_wr_en_l[3:0]), |
---|
| 1513 | .immu_any_sfsr_wr (immu_any_sfsr_wr), |
---|
| 1514 | .immu_sfsr_wr_en_l (immu_sfsr_wr_en_l[3:0]), |
---|
| 1515 | .lsu_tlu_dside_ctxt_m(lsu_tlu_dside_ctxt_m[12:0]), |
---|
| 1516 | .lsu_tlu_pctxt_m (lsu_tlu_pctxt_m[12:0]), |
---|
| 1517 | .tlu_tag_access_ctxt_sel_m(tlu_tag_access_ctxt_sel_m[2:0]), |
---|
| 1518 | .lsu_tlu_st_rs3_data_b63t59_g(lsu_tlu_st_rs3_data_g[63:59]), |
---|
| 1519 | .lsu_tlu_st_rs3_data_b47t0_g(lsu_tlu_st_rs3_data_g[47:0]), |
---|
| 1520 | .exu_lsu_ldst_va_e (exu_lsu_ldst_va_e[`ASI_VA_WIDTH-1:0]), |
---|
| 1521 | .tlu_idtsb_8k_ptr (tlu_idtsb_8k_ptr[47:0]), |
---|
| 1522 | .lsu_tlu_tlb_dmp_va_m(lsu_tlu_tlb_dmp_va_m[47:13]), |
---|
| 1523 | .tlu_slxa_thrd_sel (tlu_slxa_thrd_sel[3:0]), |
---|
| 1524 | .tlu_tte_tag_g (tlu_tte_tag_g[2:0]), |
---|
| 1525 | .tlu_dmp_key_vld_g (tlu_dmp_key_vld_g[4:0]), |
---|
| 1526 | .tlb_access_rst_l (tlb_access_rst_l), |
---|
| 1527 | .tag_access_wdata_sel(tag_access_wdata_sel[2:0]), |
---|
| 1528 | .mra_rdata (mra_rdata[159:10]), |
---|
| 1529 | .tlu_admp_key_sel (tlu_admp_key_sel), |
---|
| 1530 | .tlu_isfsr_din_g (tlu_isfsr_din_g[23:0]), |
---|
| 1531 | .tlu_tte_wr_pid_g (tlu_tte_wr_pid_g[2:0]), |
---|
| 1532 | .tlu_tte_real_g (tlu_tte_real_g), |
---|
| 1533 | .tlu_ldxa_l1mx1_sel (tlu_ldxa_l1mx1_sel[3:0]), |
---|
| 1534 | .tlu_ldxa_l1mx2_sel (tlu_ldxa_l1mx2_sel[3:0]), |
---|
| 1535 | .tlu_ldxa_l2mx1_sel (tlu_ldxa_l2mx1_sel[2:0]), |
---|
| 1536 | .rclk (rclk), |
---|
| 1537 | .arst_l (arst_l), |
---|
| 1538 | .grst_l (grst_l), |
---|
| 1539 | .se (se), |
---|
| 1540 | .dmmu_sfar_wr_en_l (dmmu_sfar_wr_en_l[3:0])); |
---|
| 1541 | // .rst_l (tlu_rst_l)); |
---|
| 1542 | |
---|
| 1543 | tlu_hyperv tlu_hyperv (/*AUTOINST*/ |
---|
| 1544 | .so(scan1_3), |
---|
| 1545 | .si(scan1_2), |
---|
| 1546 | .grst_l (grst_l), |
---|
| 1547 | .arst_l (arst_l), |
---|
| 1548 | .rst_tri_en (mux_drive_disable), |
---|
| 1549 | // output |
---|
| 1550 | // modified for timing |
---|
| 1551 | // .tlu_gl_rw_g (tlu_gl_rw_g), |
---|
| 1552 | .tlu_gl_rw_m (tlu_gl_rw_m), |
---|
| 1553 | .tlu_gl_lvl0 (tlu_gl_lvl0[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1554 | .tlu_gl_lvl1 (tlu_gl_lvl1[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1555 | .tlu_gl_lvl2 (tlu_gl_lvl2[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1556 | .tlu_gl_lvl3 (tlu_gl_lvl3[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1557 | .tlu_hpstate_din_sel0 (tlu_hpstate_din_sel0[1:0]), |
---|
| 1558 | .tlu_hpstate_din_sel1 (tlu_hpstate_din_sel1[1:0]), |
---|
| 1559 | .tlu_hpstate_din_sel2 (tlu_hpstate_din_sel2[1:0]), |
---|
| 1560 | .tlu_hpstate_din_sel3 (tlu_hpstate_din_sel3[1:0]), |
---|
| 1561 | .tlu_htickcmp_rw_e (tlu_htickcmp_rw_e), |
---|
| 1562 | // .tlu_update_hpstate_l_g (tlu_update_hpstate_l_g[`TLU_THRD_NUM-1:0]), |
---|
| 1563 | .tlu_update_hpstate_l_w2 (tlu_update_hpstate_l_w2[`TLU_THRD_NUM-1:0]), |
---|
| 1564 | // .tlu_htickcmp_en_l (tlu_htickcmp_en_l[`TLU_THRD_NUM-1:0]), |
---|
| 1565 | .tlu_htickcmp_intdis (tlu_htickcmp_intdis), |
---|
| 1566 | // .tlu_hintp_en_l_g (tlu_hintp_en_l_g[`TLU_THRD_NUM-1:0]), |
---|
| 1567 | .tlu_wr_hintp_g (tlu_wr_hintp_g[`TLU_THRD_NUM-1:0]), |
---|
| 1568 | // .tlu_set_hintp_g (tlu_set_hintp_g[`TLU_THRD_NUM-1:0]), |
---|
| 1569 | .tlu_set_hintp_sel_g (tlu_set_hintp_sel_g[`TLU_THRD_NUM-1:0]), |
---|
| 1570 | .tlu_htba_en_l (tlu_htba_en_l[`TLU_THRD_NUM-1:0]), |
---|
| 1571 | // .tlu_hyper_lite (tlu_hyper_lite[`TLU_THRD_NUM-1:0]), |
---|
| 1572 | .tlu_hscpd_dacc_excpt_m (tlu_hscpd_dacc_excpt_m), |
---|
| 1573 | .tlu_qtail_dacc_excpt_m (tlu_qtail_dacc_excpt_m), |
---|
| 1574 | .tlu_scpd_rd_vld_m (tlu_scpd_rd_vld_m), |
---|
| 1575 | // .tlu_scpd_rd_vld_g (tlu_scpd_rd_vld_g), |
---|
| 1576 | .tlu_scpd_wr_vld_g (tlu_scpd_wr_vld_g), |
---|
| 1577 | .tlu_scpd_rd_addr_m (tlu_scpd_rd_addr_m[`SCPD_RW_ADDR_WIDTH-1:0]), |
---|
| 1578 | .tlu_scpd_wr_addr_g (tlu_scpd_wr_addr_g[`SCPD_RW_ADDR_WIDTH-1:0]), |
---|
| 1579 | .tlu_asi_queue_rdata_g(tlu_asi_queue_rdata_g[`TLU_ASI_QUE_WIDTH-1:0]), |
---|
| 1580 | .tlu_ld_data_vld_g(tlu_ld_data_vld_g), |
---|
| 1581 | .tlu_asi_queue_rd_vld_g(tlu_asi_queue_rd_vld_g), |
---|
| 1582 | // .tlu_va_all_zero_g(tlu_va_all_zero_g), |
---|
| 1583 | .tlu_va_ill_g(tlu_va_ill_g), |
---|
| 1584 | .tlu_htstate_rw_d (tlu_htstate_rw_d), |
---|
| 1585 | .tlu_htstate_rw_g (tlu_htstate_rw_g), |
---|
| 1586 | // .tlu_htba_mx2_sel (tlu_htba_mx2_sel), |
---|
| 1587 | // .tlu_rdpr_mx5_sel (tlu_rdpr_mx5_sel[3:0]), |
---|
| 1588 | .tlu_hyperv_rdpr_sel (tlu_hyperv_rdpr_sel[4:0]), |
---|
| 1589 | // .tlu_rdpr_mx5_active (tlu_rdpr_mx5_active), |
---|
| 1590 | .tlu_exu_agp (tlu_exu_agp[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1591 | .tlu_exu_agp_swap (tlu_exu_agp_swap), |
---|
| 1592 | .tlu_cpu_mondo_cmp (tlu_cpu_mondo_cmp[`TLU_THRD_NUM-1:0]), |
---|
| 1593 | .tlu_dev_mondo_cmp (tlu_dev_mondo_cmp[`TLU_THRD_NUM-1:0]), |
---|
| 1594 | .tlu_resum_err_cmp (tlu_resum_err_cmp[`TLU_THRD_NUM-1:0]), |
---|
| 1595 | // .tlu_exu_agp_tid (tlu_exu_agp_tid[1:0]), |
---|
| 1596 | .tlu_asi_write_g (tlu_asi_write_g), |
---|
| 1597 | .inc_ind_asi_wr_inrr(inc_ind_asi_wr_inrr[`TLU_THRD_NUM-1:0]), |
---|
| 1598 | .inc_ind_asi_wr_indr(inc_ind_asi_wr_indr[`TLU_THRD_NUM-1:0]), |
---|
| 1599 | .inc_ind_asi_rd_invr(inc_ind_asi_rd_invr[`TLU_THRD_NUM-1:0]), |
---|
| 1600 | .tlu_local_thrid_g(tlu_local_thrid_g[`TLU_THRD_NUM-1:0]), |
---|
| 1601 | // input |
---|
| 1602 | .tlu_por_rstint_g (tlu_por_rstint_g[`TLU_THRD_NUM-1:0]), |
---|
| 1603 | // .tlu_wsr_inst_g (tlu_wsr_inst_g), |
---|
| 1604 | .tlu_wsr_inst_nq_g (tlu_wsr_inst_nq_g), |
---|
| 1605 | // .ifu_tlu_thrid_e (ifu_tlu_thrid_e[1:0]), |
---|
| 1606 | .ifu_tlu_thrid_d (ifu_tlu_thrid_d[1:0]), |
---|
| 1607 | .ifu_tlu_sraddr_d (ifu_tlu_sraddr_d_v2[`TLU_ASR_ADDR_WIDTH-1:0]), |
---|
| 1608 | .tlu_wsr_data_w_global (tlu_wsr_data_w[`TLU_GLOBAL_WIDTH-1:0]), |
---|
| 1609 | .tlu_dnrtry_global_g (tlu_dnrtry_global_g[`TSA_GLOBAL_WIDTH-1:0]), |
---|
| 1610 | .tlu_dnrtry0_inst_g (tlu_dnrtry0_inst_g), |
---|
| 1611 | .tlu_dnrtry1_inst_g (tlu_dnrtry1_inst_g), |
---|
| 1612 | .tlu_dnrtry2_inst_g (tlu_dnrtry2_inst_g), |
---|
| 1613 | .tlu_dnrtry3_inst_g (tlu_dnrtry3_inst_g), |
---|
| 1614 | // modified due to timing |
---|
| 1615 | // .tlu_thrd0_traps (tlu_thrd0_traps), |
---|
| 1616 | // .tlu_thrd1_traps (tlu_thrd1_traps), |
---|
| 1617 | // .tlu_thrd2_traps (tlu_thrd2_traps), |
---|
| 1618 | // .tlu_thrd3_traps (tlu_thrd3_traps), |
---|
| 1619 | // .tlu_select_tba_g (tlu_select_tba_g), |
---|
| 1620 | .tlu_thrd_traps_w2 (tlu_thrd_traps_w2[`TLU_THRD_NUM-1:0]), |
---|
| 1621 | .tlu_select_tba_w2 (tlu_select_tba_w2), |
---|
| 1622 | .tlu_tick_ctl_din (tlu_tick_ctl_din), |
---|
| 1623 | // .tlu_htick_match (tlu_htick_match), |
---|
| 1624 | .tlu_tickcmp_sel (tlu_tickcmp_sel[`TLU_THRD_NUM-1:0]), |
---|
| 1625 | .tlu_pstate_priv (local_pstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1626 | .tlu_hpstate_priv (local_hpstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1627 | .tlu_hpstate_enb (local_hpstate_enb[`TLU_THRD_NUM-1:0]), |
---|
| 1628 | .ifu_lsu_alt_space_e (ifu_lsu_alt_space_e), |
---|
| 1629 | .ifu_lsu_ld_inst_e (ifu_lsu_ld_inst_e), |
---|
| 1630 | .ifu_lsu_st_inst_e (ifu_lsu_st_inst_e), |
---|
| 1631 | .tlu_asi_state_e (tlu_asi_state_e[`TLU_ASI_STATE_WIDTH-1:0]), |
---|
| 1632 | // new signal to replace ifu_tlu_flush_w |
---|
| 1633 | // .ifu_tlu_flush_w (ifu_tlu_flush_w), |
---|
| 1634 | // .tlu_flush_pipe_w (tlu_flush_pipe_w), |
---|
| 1635 | // .tlu_flush_all_w (tlu_flush_all_w), |
---|
| 1636 | .lsu_tlu_early_flush_w (lsu_tlu_early_flush2_w), |
---|
| 1637 | .tlu_local_flush_w (tlu_local_flush_w), |
---|
| 1638 | .tlu_lsu_int_ldxa_vld_w2(tlu_lsu_int_ldxa_vld_w2), |
---|
| 1639 | .tlu_asi_data_nf_vld_w2 (tlu_asi_data_nf_vld_w2), |
---|
| 1640 | .ifu_tlu_flush_fd_w (ifu_tlu_flush_fd_w), |
---|
| 1641 | .tlu_inst_vld_m (tlu_inst_vld_nq_m), |
---|
| 1642 | // .exu_lsu_ldst_va_e (exu_lsu_ldst_va_e[`TLU_ASI_VA_WIDTH-1:0]), |
---|
| 1643 | .lsu_tlu_ldst_va_m (lsu_tlu_ldst_va_m[`TLU_ASI_VA_WIDTH-1:0]), |
---|
| 1644 | .tlu_asi_queue_data_g (lsu_tlu_rs3_data_g[`TLU_ASI_QUE_HI:`TLU_ASI_QUE_LO]), |
---|
| 1645 | // .tlu_exu_agp_tid (tlu_exu_agp_tid[1:0]), |
---|
| 1646 | // .tlu_agp_tid_g (tlu_agp_tid_g[1:0]), |
---|
| 1647 | .tlu_agp_tid_w2 (tlu_agp_tid_w2[1:0]), |
---|
| 1648 | .se(se), |
---|
| 1649 | // .tlu_rst_l (tlu_rst_l), |
---|
| 1650 | // .clk (clk)); |
---|
| 1651 | .rclk (rclk)); |
---|
| 1652 | |
---|
| 1653 | /* |
---|
| 1654 | bw_r_rf16x160 AUTO_TEMPLATE ( |
---|
| 1655 | .word_wen (4'b1111), |
---|
| 1656 | .rd_clk (rclk), |
---|
| 1657 | .wr_clk (rclk), |
---|
| 1658 | .reset_l (arst_l), |
---|
| 1659 | .din ({mra_wdata[155:0],4'b0000}), |
---|
| 1660 | //.si (), |
---|
| 1661 | .si_r (), |
---|
| 1662 | .si_w (), |
---|
| 1663 | .se (se), |
---|
| 1664 | .sehold (sehold), |
---|
| 1665 | //.so ()); |
---|
| 1666 | .so_r (), |
---|
| 1667 | .so_w ()); |
---|
| 1668 | */ |
---|
| 1669 | |
---|
| 1670 | bw_r_rf16x160 mra (/*AUTOINST*/ |
---|
| 1671 | // Outputs |
---|
| 1672 | .dout ({mra_rdata[159:10],dummy_mra_rdata[9:0]}), |
---|
| 1673 | //.so (), |
---|
| 1674 | .so_r (short_scan0_4), |
---|
| 1675 | .so_w (short_scan0_5), |
---|
| 1676 | // Inputs |
---|
| 1677 | .rd_clk (rclk), |
---|
| 1678 | .wr_clk (rclk), |
---|
| 1679 | .din ({mra_wdata[155:0],4'b0000}), |
---|
| 1680 | .rst_tri_en (mem_write_disable), |
---|
| 1681 | .word_wen (4'b1111), |
---|
| 1682 | .byte_wen (mra_byte_wen[19:0]), |
---|
| 1683 | .wr_adr (mra_wr_ptr[3:0]), |
---|
| 1684 | .rd_adr (mra_rd_ptr[3:0]), |
---|
| 1685 | .wr_en (mra_wr_vld), |
---|
| 1686 | .read_en (mra_rd_vld), |
---|
| 1687 | .reset_l (arst_l), |
---|
| 1688 | .sehold (sehold), |
---|
| 1689 | //.si (), |
---|
| 1690 | .si_w (short_scan0_4), |
---|
| 1691 | .si_r (short_scan0_3), |
---|
| 1692 | .se (se)); |
---|
| 1693 | |
---|
| 1694 | |
---|
| 1695 | |
---|
| 1696 | //tlu_mra mra (/*AUTOINST*/ |
---|
| 1697 | // // Outputs |
---|
| 1698 | // .mra_rdata (mra_rdata[155:0]), |
---|
| 1699 | // // Inputs |
---|
| 1700 | // .mra_wr_ptr (mra_wr_ptr[3:0]), |
---|
| 1701 | // .mra_rd_ptr (mra_rd_ptr[3:0]), |
---|
| 1702 | // .mra_wr_vld (mra_wr_vld), |
---|
| 1703 | // .mra_rd_vld (mra_rd_vld), |
---|
| 1704 | // .mra_field1_en (mra_field1_en), |
---|
| 1705 | // .mra_field2_en (mra_field2_en), |
---|
| 1706 | // .mra_field3_en (mra_field3_en), |
---|
| 1707 | // .mra_field4_en (mra_field4_en), |
---|
| 1708 | // .mra_wdata (mra_wdata[155:0]), |
---|
| 1709 | // .clk (rclk)); |
---|
| 1710 | |
---|
| 1711 | /* |
---|
| 1712 | tlu_pib AUTO_TEMPLATE ( |
---|
| 1713 | .ifu_tlu_imiss_m (ifu_tlu_imiss_m), |
---|
| 1714 | .lsu_tlu_dcache_miss_w2 (lsu_tlu_dcache_miss_w2[3:0]), |
---|
| 1715 | .lsu_tlu_l2_dmiss (lsu_tlu_l2_dmiss[3:0]), |
---|
| 1716 | .lsu_tlu_stb_full_w2 (lsu_tlu_stb_full_w2[3:0])); |
---|
| 1717 | .ffu_tlu_fpu_tid (ffu_tlu_fpu_tid[1:0]), |
---|
| 1718 | .ffu_tlu_fpu_cmplt (ffu_tlu_fpu_cmplt), |
---|
| 1719 | // .pib_pic_wrap (pib_pic_wrap[3:0]), |
---|
| 1720 | .pib_picl_wrap (pib_picl_wrap[`TLU_THRD_NUM-1:0]), |
---|
| 1721 | .pich_wrap_flg (pich_wrap_flg[`TLU_THRD_NUM-1:0]), |
---|
| 1722 | .pich_onebelow_flg (pich_onebelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 1723 | .pich_twobelow_flg (pich_twobelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 1724 | .tlu_pic_onebelow_e (tlu_pic_onebelow_e), |
---|
| 1725 | .tlu_pic_twobelow_e (tlu_pic_twobelow_e), |
---|
| 1726 | .tlu_pic_wrap_e (tlu_pic_wrap_e), |
---|
| 1727 | // modified for bug 5436: Niagara 2.0 |
---|
| 1728 | .tlu_pcr_ut (tlu_pcr_ut[`TLU_THRD_NUM-1:0]), |
---|
| 1729 | .tlu_pcr_st (tlu_pcr_st[`TLU_THRD_NUM-1:0]), |
---|
| 1730 | //.tlu_pcr_ut_e (tlu_pcr_ut_e), |
---|
| 1731 | //.tlu_pcr_st_e (tlu_pcr_st_e), |
---|
| 1732 | // .pich_threebelow_flg (pich_threebelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 1733 | // modified for timing fixes |
---|
| 1734 | // .pib_priv_act_trap (pib_priv_act_trap[3:0]), |
---|
| 1735 | .pib_priv_act_trap_m (pib_priv_act_trap_m[3:0]), |
---|
| 1736 | */ |
---|
| 1737 | tlu_pib tlu_pib (/*AUTOINST*/ |
---|
| 1738 | .so (so1), |
---|
| 1739 | .si (scan1_3), |
---|
| 1740 | .grst_l (grst_l), |
---|
| 1741 | .arst_l (arst_l), |
---|
| 1742 | .ifu_tlu_imiss_e (ifu_tlu_imiss_e), |
---|
| 1743 | .ifu_tlu_immu_miss_m (ifu_tlu_immu_miss_m), |
---|
| 1744 | .tlu_hpstate_enb (local_hpstate_enb[`TLU_THRD_NUM-1:0]), |
---|
| 1745 | .ifu_tlu_l2imiss (ifu_tlu_l2imiss[`TLU_THRD_NUM-1:0]), |
---|
| 1746 | .tlu_thread_inst_vld_g (tlu_thread_inst_vld_g[`TLU_THRD_NUM-1:0]), |
---|
| 1747 | .ifu_tlu_thrid_d (ifu_tlu_thrid_d[1:0]), |
---|
| 1748 | .exu_tlu_wsr_data_m (exu_tlu_wsr_data_m[`TLU_ASR_DATA_WIDTH-1:0]), |
---|
| 1749 | .tlu_full_flush_pipe_w2 (tlu_full_flush_pipe_w2), |
---|
| 1750 | .tlu_tcc_inst_w (tlu_tcc_inst_w), |
---|
| 1751 | .ifu_tlu_flush_fd_w (ifu_tlu_flush_fd3_w), |
---|
| 1752 | .ifu_tlu_sraddr_d (ifu_tlu_sraddr_d_v2[`TLU_ASR_ADDR_WIDTH-1:0]), |
---|
| 1753 | .ifu_tlu_rsr_inst_d (ifu_tlu_rsr_inst_d), |
---|
| 1754 | // .ifu_tlu_wsr_inst_d (ifu_tlu_wsr_inst_d), |
---|
| 1755 | .lsu_tlu_wsr_inst_e (lsu_tlu_wsr_inst_e), |
---|
| 1756 | .tlu_wsr_inst_nq_g (tlu_wsr_inst_nq_g), |
---|
| 1757 | .tlu_pib_rsr_data_e (tlu_pib_rsr_data_e[`TLU_ASR_DATA_WIDTH-1:0]), |
---|
| 1758 | .tlu_pstate_priv (local_pstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1759 | .tlu_hpstate_priv (local_hpstate_priv[`TLU_THRD_NUM-1:0]), |
---|
| 1760 | .tlu_thread_wsel_g (tlu_thread_wsel_g[`TLU_THRD_NUM-1:0]), |
---|
| 1761 | .ffu_tlu_fpu_tid (ffu_tlu_fpu_tid[1:0]), |
---|
| 1762 | .ffu_tlu_fpu_cmplt (ffu_tlu_fpu_cmplt), |
---|
| 1763 | .lsu_tlu_dmmu_miss_g (lsu_tlu_dmmu_miss_g), |
---|
| 1764 | .lsu_tlu_dcache_miss_w2(lsu_tlu_dcache_miss_w2[`TLU_THRD_NUM-1:0]), |
---|
| 1765 | .lsu_tlu_l2_dmiss (lsu_tlu_l2_dmiss[`TLU_THRD_NUM-1:0]), |
---|
| 1766 | .lsu_tlu_stb_full_w2 (lsu_tlu_stb_full_w2[`TLU_THRD_NUM-1:0]), |
---|
| 1767 | .tlu_wsr_data_w (tlu_wsr_data_w[`TLU_ASR_DATA_WIDTH-1:0]), |
---|
| 1768 | // modified for timing fixes |
---|
| 1769 | // .pib_priv_act_trap (pib_priv_act_trap[`TLU_THRD_NUM-1:0]), |
---|
| 1770 | .pib_priv_act_trap_m (pib_priv_act_trap_m[`TLU_THRD_NUM-1:0]), |
---|
| 1771 | // .pib_pic_wrap (pib_pic_wrap[`TLU_THRD_NUM-1:0]), |
---|
| 1772 | .pib_picl_wrap (pib_picl_wrap[`TLU_THRD_NUM-1:0]), |
---|
| 1773 | .pich_wrap_flg (pich_wrap_flg[`TLU_THRD_NUM-1:0]), |
---|
| 1774 | .pich_onebelow_flg (pich_onebelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 1775 | .pich_twobelow_flg (pich_twobelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 1776 | .tlu_pic_onebelow_e (tlu_pic_onebelow_e), |
---|
| 1777 | .tlu_pic_twobelow_e (tlu_pic_twobelow_e), |
---|
| 1778 | // modified for bug 5436: Niagara 2.0 |
---|
| 1779 | .tlu_pcr_ut (tlu_pcr_ut[`TLU_THRD_NUM-1:0]), |
---|
| 1780 | .tlu_pcr_st (tlu_pcr_st[`TLU_THRD_NUM-1:0]), |
---|
| 1781 | //.tlu_pcr_ut_e (tlu_pcr_ut_e), |
---|
| 1782 | //.tlu_pcr_st_e (tlu_pcr_st_e), |
---|
| 1783 | .tlu_pic_wrap_e (tlu_pic_wrap_e), |
---|
| 1784 | // .pich_threebelow_flg (pich_threebelow_flg[`TLU_THRD_NUM-1:0]), |
---|
| 1785 | // .tlu_que_trap_sel_m (tlu_que_trap_sel_m[`QUE_TRAP_SEL_WIDTH-1:0]), |
---|
| 1786 | // .tlu_exu_rsr_data_e (tlu_exu_rsr_data_e[`TLU_ASR_DATA_WIDTH-1:0]), |
---|
| 1787 | // |
---|
| 1788 | // reset was removed to abide to the Niagara reset methodology |
---|
| 1789 | // .reset (reset), |
---|
| 1790 | .se (se), |
---|
| 1791 | // .tlu_rst_l (tlu_rst_l), |
---|
| 1792 | // .rst_tri_en (mux_drive_disable), |
---|
| 1793 | .rclk (rclk) ); |
---|
| 1794 | |
---|
| 1795 | // modified due to Niagara SRAM methodology |
---|
| 1796 | /* |
---|
| 1797 | tlu_scpd tlu_scpd ( |
---|
| 1798 | .lsu_tlu_st_rs3_data_g (lsu_tlu_rs3_data_g[`TLU_SCPD_DATA_WIDTH-1:0]), |
---|
| 1799 | .tlu_scpd_rd_vld_m (tlu_scpd_rd_vld_m), |
---|
| 1800 | .tlu_scpd_wr_vld_g (tlu_scpd_wr_vld_g), |
---|
| 1801 | .tlu_scpd_rd_addr_m (tlu_scpd_rd_addr_m[`SCPD_RW_ADDR_WIDTH-1:0]), |
---|
| 1802 | .tlu_scpd_wr_addr_g (tlu_scpd_wr_addr_g[`SCPD_RW_ADDR_WIDTH-1:0]), |
---|
| 1803 | // |
---|
| 1804 | // reset was removed to abide to the Niagara reset methodology |
---|
| 1805 | // .reset (reset), |
---|
| 1806 | .tlu_rst (tlu_rst), |
---|
| 1807 | .clk (rclk), |
---|
| 1808 | .tlu_scpd_asi_rdata_g (tlu_scpd_asi_rdata_g[`TLU_SCPD_DATA_WIDTH-1:0])); |
---|
| 1809 | // |
---|
| 1810 | */ |
---|
| 1811 | bw_r_rf32x80 tlu_scpd ( |
---|
| 1812 | // output |
---|
| 1813 | .dout (tlu_scpd_asi_rdata_g[79:0]), |
---|
| 1814 | .so (short_scan0_6), |
---|
| 1815 | // intput |
---|
| 1816 | .din ({{16{1'b0}}, // unused inputs |
---|
| 1817 | lsu_tlu_rs3_data_g[`TLU_SCPD_DATA_WIDTH-1:0]}), |
---|
| 1818 | .rd_en (tlu_scpd_rd_vld_m), |
---|
| 1819 | .wr_en (tlu_scpd_wr_vld_g), |
---|
| 1820 | .rd_adr (tlu_scpd_rd_addr_m[`SCPD_RW_ADDR_WIDTH-1:0]), |
---|
| 1821 | .wr_adr (tlu_scpd_wr_addr_g[`SCPD_RW_ADDR_WIDTH-1:0]), |
---|
| 1822 | .nib_wr_en (20'hfffff), |
---|
| 1823 | .reset_l (arst_l), |
---|
| 1824 | .rst_tri_en (mem_write_disable), |
---|
| 1825 | .sehold (sehold), |
---|
| 1826 | .se (se), |
---|
| 1827 | .si (short_scan0_5), |
---|
| 1828 | //.clk (clk)); |
---|
| 1829 | .rclk (rclk)); |
---|
| 1830 | endmodule |
---|
| 1831 | // Local Variables: |
---|
| 1832 | // verilog-library-directories:("." "../../../srams/rtl") |
---|
| 1833 | // End: |
---|