OpenCores
URL https://opencores.org/ocsvn/sparc64soc/sparc64soc/trunk

Subversion Repositories sparc64soc

[/] [sparc64soc/] [trunk/] [T1-CPU/] [ifu/] [sparc_ifu.v] - Blame information for rev 8

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dmitryr
// ========== Copyright Header Begin ==========================================
2
// 
3
// OpenSPARC T1 Processor File: sparc_ifu.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
//  Description:
24
//    The instruction fetch unit (IFU) contains the icache, ifq and
25
//    fetch dp.
26
*/
27
 
28
////////////////////////////////////////////////////////////////////////
29
// Global header file includes
30
////////////////////////////////////////////////////////////////////////
31
`include "sys.h"
32
`include "iop.h"
33
`include "ifu.h"
34
`include "lsu.h"
35
 
36
////////////////////////////////////////////////////////////////////////
37
// Local header file includes / local defines
38
////////////////////////////////////////////////////////////////////////
39
 
40
module sparc_ifu (/*AUTOARG*/
41
   // Outputs
42
   spc_efc_ifuse_data, sparc_sscan_so, mbist_icache_fail, mbist_done,
43
   mbist_dcache_write, mbist_dcache_word, mbist_dcache_way,
44
   mbist_dcache_read, mbist_dcache_index, mbist_dcache_fail,
45
   ifu_tlu_ttype_m, ifu_tlu_trap_m, ifu_tlu_thrid_e, ifu_tlu_thrid_d,
46
   ifu_tlu_sraddr_d_v2, ifu_tlu_sraddr_d, ifu_tlu_sir_inst_m,
47
   ifu_tlu_sftint_m, ifu_tlu_rstint_m, ifu_tlu_rsr_inst_d,
48
   ifu_tlu_retry_inst_d, ifu_tlu_priv_violtn_m, ifu_tlu_pc_oor_e,
49
   ifu_tlu_pc_m, ifu_tlu_npc_m, ifu_tlu_mb_inst_e, ifu_tlu_l2imiss,
50
   ifu_tlu_itlb_done, ifu_tlu_inst_vld_m, ifu_tlu_immu_miss_m,
51
   ifu_tlu_imm_asi_d, ifu_tlu_icmiss_e, ifu_tlu_hwint_m,
52
   ifu_tlu_flush_m, ifu_tlu_flsh_inst_e, ifu_tlu_done_inst_d,
53
   ifu_tlu_alt_space_d, ifu_spu_trap_ack, ifu_spu_nceen,
54
   ifu_spu_inst_vld_w, ifu_mmu_trap_m, ifu_lsu_wsr_inst_d,
55
   ifu_lsu_swap_e, ifu_lsu_st_inst_e, ifu_lsu_sign_ext_e,
56
   ifu_lsu_rd_e, ifu_lsu_pref_inst_e, ifu_lsu_pcxreq_d,
57
   ifu_lsu_pcxpkt_e, ifu_lsu_nceen, ifu_lsu_memref_d,
58
   ifu_lsu_ldxa_tid_w2, ifu_lsu_ldxa_illgl_va_w2,
59
   ifu_lsu_ldxa_data_w2, ifu_lsu_ldxa_data_vld_w2, ifu_lsu_ldstub_e,
60
   ifu_lsu_ldst_size_e, ifu_lsu_ldst_fp_e, ifu_lsu_ldst_dbl_e,
61
   ifu_lsu_ld_inst_e, ifu_lsu_inv_clear, ifu_lsu_imm_asi_vld_d,
62
   ifu_lsu_imm_asi_d, ifu_lsu_ibuf_busy, ifu_lsu_fwd_wr_ack,
63
   ifu_lsu_fwd_data_vld, ifu_lsu_error_inj, ifu_lsu_destid_s,
64
   ifu_lsu_casa_e, ifu_lsu_asi_rd_unc, ifu_lsu_asi_ack,
65
   ifu_lsu_alt_space_d, ifu_ffu_visop_d, ifu_ffu_stfsr_d,
66
   ifu_ffu_quad_op_e, ifu_ffu_mvcnd_m, ifu_ffu_ldxfsr_d,
67
   ifu_ffu_ldst_size_d, ifu_ffu_ldfsr_d, ifu_ffu_inj_frferr,
68
   ifu_ffu_fst_d, ifu_ffu_frs2_d, ifu_ffu_frs1_d, ifu_ffu_frd_d,
69
   ifu_ffu_fpopcode_d, ifu_ffu_fpop2_d, ifu_ffu_fpop1_d,
70
   ifu_ffu_fld_d, ifu_ffu_fcc_num_d, ifu_exu_wsr_inst_d,
71
   ifu_exu_wen_d, ifu_exu_useimm_d, ifu_exu_usecin_d,
72
   ifu_exu_use_rsr_e_l, ifu_exu_tv_d, ifu_exu_ttype_vld_m,
73
   ifu_exu_tid_s2, ifu_exu_tcc_e, ifu_exu_tagop_d, ifu_exu_shiftop_d,
74
   ifu_exu_sethi_inst_d, ifu_exu_setcc_d, ifu_exu_saved_e,
75
   ifu_exu_save_d, ifu_exu_rs3o_vld_d, ifu_exu_rs3e_vld_d,
76
   ifu_exu_rs3_s, ifu_exu_rs2_vld_d, ifu_exu_rs2_s,
77
   ifu_exu_rs1_vld_d, ifu_exu_rs1_s, ifu_exu_return_d,
78
   ifu_exu_restored_e, ifu_exu_restore_d, ifu_exu_ren3_s,
79
   ifu_exu_ren2_s, ifu_exu_ren1_s, ifu_exu_rd_ifusr_e,
80
   ifu_exu_rd_ffusr_e, ifu_exu_rd_exusr_e, ifu_exu_rd_d,
81
   ifu_exu_range_check_other_d, ifu_exu_range_check_jlret_d,
82
   ifu_exu_pcver_e, ifu_exu_pc_d, ifu_exu_nceen_e, ifu_exu_muls_d,
83
   ifu_exu_kill_e, ifu_exu_invert_d, ifu_exu_inst_vld_w,
84
   ifu_exu_inst_vld_e, ifu_exu_inj_irferr, ifu_exu_imm_data_d,
85
   ifu_exu_ialign_d, ifu_exu_flushw_e, ifu_exu_enshift_d,
86
   ifu_exu_ecc_mask, ifu_exu_dontmv_regz1_e, ifu_exu_dontmv_regz0_e,
87
   ifu_exu_disable_ce_e, ifu_exu_dbrinst_d, ifu_exu_casa_d,
88
   ifu_exu_aluop_d, ifu_exu_addr_mask_d, so0, short_so0, short_so1,
89
   ifu_tlu_inst_vld_w, ifu_tlu_flush_w, ifu_lsu_alt_space_e,
90
   ifu_tlu_ttype_vld_m, ifu_exu_muldivop_d, ifu_lsu_thrid_s,
91
   mbist_write_data,
92
   // Inputs
93
   tlu_lsu_redmode, tlu_lsu_pstate_priv, tlu_lsu_pstate_am,
94
   tlu_itlb_wr_vld_g, tlu_itlb_tag_rd_g, tlu_itlb_invalidate_all_g,
95
   tlu_itlb_dmp_vld_g, tlu_itlb_dmp_nctxt_g, tlu_itlb_dmp_actxt_g,
96
   tlu_itlb_data_rd_g, tlu_ifu_trappc_w2, tlu_ifu_trappc_vld_w1,
97
   tlu_ifu_trapnpc_w2, tlu_ifu_trapnpc_vld_w1, tlu_ifu_trap_tid_w1,
98
   tlu_ifu_sftint_vld, tlu_ifu_rstthr_i2, tlu_ifu_rstint_i2,
99
   tlu_ifu_resumint_i2, tlu_ifu_rerr_vld, tlu_ifu_pstate_pef,
100
   tlu_ifu_pstate_ie, tlu_ifu_nukeint_i2, tlu_ifu_hwint_i3,
101
   tlu_ifu_hintp_vld, tlu_ifu_flush_pipe_w, tlu_idtlb_dmp_thrid_g,
102
   tlu_hpstate_priv, tlu_hpstate_ibe, tlu_hpstate_enb, testmode_l,
103
   spu_ifu_unc_err_w1, spu_ifu_ttype_w2, spu_ifu_ttype_vld_w2,
104
   spu_ifu_ttype_tid_w2, spu_ifu_mamem_err_w1, spu_ifu_int_w2,
105
   spu_ifu_err_addr_w2, spu_ifu_corr_err_w2, sehold, se, rclk,
106
   mbist_userdata_mode, mbist_stop_on_next_fail, mbist_stop_on_fail,
107
   mbist_start, mbist_loop_on_address, mbist_loop_mode,
108
   mbist_dcache_data_in, mbist_bisi_mode, lsu_t3_pctxt_state,
109
   lsu_t2_pctxt_state, lsu_t1_pctxt_state, lsu_t0_pctxt_state,
110
   lsu_pid_state3, lsu_pid_state2, lsu_pid_state1, lsu_pid_state0,
111
   lsu_ifu_t3_tlz, lsu_ifu_t2_tlz, lsu_ifu_t1_tlz, lsu_ifu_t0_tlz,
112
   lsu_ifu_stxa_data, lsu_ifu_stbcnt3, lsu_ifu_stbcnt2,
113
   lsu_ifu_stbcnt1, lsu_ifu_stbcnt0, lsu_ifu_stallreq,
114
   lsu_ifu_quad_asi_e, lsu_ifu_pcxpkt_ack_d,
115
   lsu_ifu_ldsta_internal_e, lsu_ifu_ldst_miss_g, lsu_ifu_ldst_cmplt,
116
   lsu_ifu_ld_pcxpkt_vld, lsu_ifu_ld_pcxpkt_tid,
117
   lsu_ifu_ld_icache_index, lsu_ifu_l2_unc_error,
118
   lsu_ifu_l2_corr_error, lsu_ifu_io_error, lsu_ifu_inj_ack,
119
   lsu_ifu_icache_en, lsu_ifu_error_tid, lsu_ifu_err_addr,
120
   lsu_ifu_dtlb_tag_ue, lsu_ifu_dtlb_data_ue, lsu_ifu_dtlb_data_su,
121
   lsu_ifu_direct_map_l1, lsu_ifu_dcache_tag_perror,
122
   lsu_ifu_dcache_data_perror, lsu_ifu_dc_parity_error_w2,
123
   lsu_ifu_cpxpkt_i1, lsu_ifu_asi_vld, lsu_ifu_asi_thrid,
124
   lsu_ifu_asi_state, lsu_ifu_asi_load, lsu_ifu_asi_addr,
125
   lsu_ifu_addr_real_l, grst_l, gdbginit_l, ffu_ifu_tid_w2,
126
   ffu_ifu_stallreq, ffu_ifu_inj_ack, ffu_ifu_fst_ce_w,
127
   ffu_ifu_fpop_done_w2, ffu_ifu_err_synd_w2, ffu_ifu_err_reg_w2,
128
   ffu_ifu_ecc_ue_w2, ffu_ifu_ecc_ce_w2, ffu_ifu_cc_w2,
129
   ffu_ifu_cc_vld_w2, exu_ifu_va_oor_m, exu_ifu_spill_e,
130
   exu_ifu_regz_e, exu_ifu_regn_e, exu_ifu_oddwin_s,
131
   exu_ifu_longop_done_g, exu_ifu_inj_ack, exu_ifu_err_synd_m,
132
   exu_ifu_err_reg_m, exu_ifu_ecc_ue_m, exu_ifu_ecc_ce_m,
133
   exu_ifu_cc_d, exu_ifu_brpc_e, efc_spc_ifuse_dshift,
134
   efc_spc_ifuse_data, efc_spc_ifuse_ashift, efc_spc_fuse_clk2,
135
   efc_spc_fuse_clk1, ctu_tck, ctu_sscan_tid, ctu_sscan_snap,
136
   ctu_sscan_se, const_maskid, const_cpuid, arst_l,
137
   mem_write_disable, mux_drive_disable, exu_tlu_wsr_data_m,
138
   lsu_ictag_mrgn, lsu_idtlb_mrgn, si0, short_si0, short_si1,
139
   tlu_itlb_tte_tag_w2, tlu_itlb_tte_data_w2,
140
   tlu_itlb_rw_index_vld_g, tlu_itlb_rw_index_g, tlu_idtlb_dmp_key_g,
141
   tlu_itlb_dmp_all_g, lsu_sscan_data, tlu_sscan_data
142
   );
143
 
144
 
145
   input          mem_write_disable;
146
   input          mux_drive_disable;
147
 
148
   input [2:0]     exu_tlu_wsr_data_m;
149
   input [3:0]    lsu_ictag_mrgn;
150
   input [7:0]    lsu_idtlb_mrgn;
151
 
152
   // eco 5362
153
   output         ifu_exu_addr_mask_d;
154
 
155
 
156
   // scan ports
157
   input                si0, short_si0,short_si1;
158
   output               so0,short_so0,short_so1;
159
   output         ifu_tlu_inst_vld_w;   // From fcl of sparc_ifu_fcl.v
160
   output         ifu_tlu_flush_w;        // From fcl of sparc_ifu_fcl.v
161
   output         ifu_lsu_alt_space_e;    // From dec of sparc_ifu_dec.v
162
   output         ifu_tlu_ttype_vld_m;// From fcl of sparc_ifu_fcl.v
163
   output [4:0]   ifu_exu_muldivop_d;
164
   output [1:0]   ifu_lsu_thrid_s;
165
 
166
   // itlb inputs
167
   input [58:0]   tlu_itlb_tte_tag_w2;
168
   input [42:0]   tlu_itlb_tte_data_w2;
169
   input          tlu_itlb_rw_index_vld_g;
170
   input [5:0]    tlu_itlb_rw_index_g;
171
   input [40:0]   tlu_idtlb_dmp_key_g;
172
   input          tlu_itlb_dmp_all_g;
173
 
174
   // sscan rename
175
   input [15:0]   lsu_sscan_data;
176
   input [62:0]   tlu_sscan_data;
177
 
178
   output [7:0]   mbist_write_data;     // From mbist of sparc_ifu_mbist.v
179
 
180
   /*AUTOINPUT*/
181
   // Beginning of automatic inputs (from unused autoinst inputs)
182
   input                arst_l;                 // To swl of sparc_ifu_swl.v, ...
183
   input [3:0]          const_cpuid;            // To swl of sparc_ifu_swl.v, ...
184
   input [7:0]          const_maskid;           // To fdp of sparc_ifu_fdp.v
185
   input                ctu_sscan_se;           // To sscan of sparc_ifu_sscan.v
186
   input                ctu_sscan_snap;         // To sscan of sparc_ifu_sscan.v
187
   input [3:0]          ctu_sscan_tid;          // To swl of sparc_ifu_swl.v, ...
188
   input                ctu_tck;                // To sscan of sparc_ifu_sscan.v
189
   input                efc_spc_fuse_clk1;      // To icdhdr of cmp_sram_redhdr.v, ...
190
   input                efc_spc_fuse_clk2;      // To icdhdr of cmp_sram_redhdr.v
191
   input                efc_spc_ifuse_ashift;   // To icdhdr of cmp_sram_redhdr.v
192
   input                efc_spc_ifuse_data;     // To icdhdr of cmp_sram_redhdr.v
193
   input                efc_spc_ifuse_dshift;   // To icdhdr of cmp_sram_redhdr.v
194
   input [47:0]         exu_ifu_brpc_e;         // To fdp of sparc_ifu_fdp.v
195
   input [7:0]          exu_ifu_cc_d;           // To dcl of sparc_ifu_dcl.v
196
   input                exu_ifu_ecc_ce_m;       // To fcl of sparc_ifu_fcl.v, ...
197
   input                exu_ifu_ecc_ue_m;       // To errctl of sparc_ifu_errctl.v
198
   input [7:0]          exu_ifu_err_reg_m;      // To errdp of sparc_ifu_errdp.v
199
   input [7:0]          exu_ifu_err_synd_m;     // To errdp of sparc_ifu_errdp.v
200
   input                exu_ifu_inj_ack;        // To errctl of sparc_ifu_errctl.v
201
   input [3:0]          exu_ifu_longop_done_g;  // To swl of sparc_ifu_swl.v
202
   input [3:0]          exu_ifu_oddwin_s;       // To fcl of sparc_ifu_fcl.v
203
   input                exu_ifu_regn_e;         // To dcl of sparc_ifu_dcl.v
204
   input                exu_ifu_regz_e;         // To fcl of sparc_ifu_fcl.v
205
   input                exu_ifu_spill_e;        // To swl of sparc_ifu_swl.v
206
   input                exu_ifu_va_oor_m;       // To fcl of sparc_ifu_fcl.v
207
   input [3:0]          ffu_ifu_cc_vld_w2;      // To dcl of sparc_ifu_dcl.v
208
   input [7:0]          ffu_ifu_cc_w2;          // To dcl of sparc_ifu_dcl.v
209
   input                ffu_ifu_ecc_ce_w2;      // To errctl of sparc_ifu_errctl.v
210
   input                ffu_ifu_ecc_ue_w2;      // To errctl of sparc_ifu_errctl.v
211
   input [5:0]          ffu_ifu_err_reg_w2;     // To errdp of sparc_ifu_errdp.v
212
   input [13:0]         ffu_ifu_err_synd_w2;    // To errdp of sparc_ifu_errdp.v
213
   input                ffu_ifu_fpop_done_w2;   // To swl of sparc_ifu_swl.v
214
   input                ffu_ifu_fst_ce_w;       // To swl of sparc_ifu_swl.v, ...
215
   input                ffu_ifu_inj_ack;        // To errctl of sparc_ifu_errctl.v
216
   input                ffu_ifu_stallreq;       // To fcl of sparc_ifu_fcl.v
217
   input [1:0]          ffu_ifu_tid_w2;         // To swl of sparc_ifu_swl.v, ...
218
   input                gdbginit_l;             // To swl of sparc_ifu_swl.v, ...
219
   input                grst_l;                 // To swl of sparc_ifu_swl.v, ...
220
   input [3:0]          lsu_ifu_addr_real_l;    // To fcl of sparc_ifu_fcl.v
221
   input [17:0]         lsu_ifu_asi_addr;       // To ifqdp of sparc_ifu_ifqdp.v
222
   input                lsu_ifu_asi_load;       // To ifqctl of sparc_ifu_ifqctl.v
223
   input [7:0]          lsu_ifu_asi_state;      // To ifqctl of sparc_ifu_ifqctl.v
224
   input [1:0]          lsu_ifu_asi_thrid;      // To ifqctl of sparc_ifu_ifqctl.v
225
   input                lsu_ifu_asi_vld;        // To ifqctl of sparc_ifu_ifqctl.v
226
   input [`CPX_WIDTH-1:0]lsu_ifu_cpxpkt_i1;     // To ifqdp of sparc_ifu_ifqdp.v
227
   input                lsu_ifu_dc_parity_error_w2;// To swl of sparc_ifu_swl.v, ...
228
   input                lsu_ifu_dcache_data_perror;// To errctl of sparc_ifu_errctl.v
229
   input                lsu_ifu_dcache_tag_perror;// To errctl of sparc_ifu_errctl.v
230
   input                lsu_ifu_direct_map_l1;  // To ifqctl of sparc_ifu_ifqctl.v
231
   input                lsu_ifu_dtlb_data_su;   // To errctl of sparc_ifu_errctl.v
232
   input                lsu_ifu_dtlb_data_ue;   // To errctl of sparc_ifu_errctl.v
233
   input                lsu_ifu_dtlb_tag_ue;    // To errctl of sparc_ifu_errctl.v
234
   input [47:4]         lsu_ifu_err_addr;       // To errdp of sparc_ifu_errdp.v
235
   input [1:0]          lsu_ifu_error_tid;      // To errctl of sparc_ifu_errctl.v
236
   input [3:0]          lsu_ifu_icache_en;      // To fcl of sparc_ifu_fcl.v
237
   input [3:0]          lsu_ifu_inj_ack;        // To errctl of sparc_ifu_errctl.v
238
   input                lsu_ifu_io_error;       // To errctl of sparc_ifu_errctl.v
239
   input                lsu_ifu_l2_corr_error;  // To errctl of sparc_ifu_errctl.v
240
   input                lsu_ifu_l2_unc_error;   // To errctl of sparc_ifu_errctl.v
241
   input [`IC_IDX_HI:5] lsu_ifu_ld_icache_index;// To invctl of sparc_ifu_invctl.v
242
   input [1:0]          lsu_ifu_ld_pcxpkt_tid;  // To invctl of sparc_ifu_invctl.v
243
   input                lsu_ifu_ld_pcxpkt_vld;  // To invctl of sparc_ifu_invctl.v
244
   input [3:0]          lsu_ifu_ldst_cmplt;     // To swl of sparc_ifu_swl.v
245
   input                lsu_ifu_ldst_miss_g;    // To swl of sparc_ifu_swl.v
246
   input                lsu_ifu_ldsta_internal_e;// To dec of sparc_ifu_dec.v, ...
247
   input                lsu_ifu_pcxpkt_ack_d;   // To ifqctl of sparc_ifu_ifqctl.v
248
   input                lsu_ifu_quad_asi_e;     // To swl of sparc_ifu_swl.v
249
   input                lsu_ifu_stallreq;       // To fcl of sparc_ifu_fcl.v
250
   input [3:0]          lsu_ifu_stbcnt0;        // To swl of sparc_ifu_swl.v
251
   input [3:0]          lsu_ifu_stbcnt1;        // To swl of sparc_ifu_swl.v
252
   input [3:0]          lsu_ifu_stbcnt2;        // To swl of sparc_ifu_swl.v
253
   input [3:0]          lsu_ifu_stbcnt3;        // To swl of sparc_ifu_swl.v
254
   input [47:0]         lsu_ifu_stxa_data;      // To ifqdp of sparc_ifu_ifqdp.v
255
   input                lsu_ifu_t0_tlz;         // To fcl of sparc_ifu_fcl.v
256
   input                lsu_ifu_t1_tlz;         // To fcl of sparc_ifu_fcl.v
257
   input                lsu_ifu_t2_tlz;         // To fcl of sparc_ifu_fcl.v
258
   input                lsu_ifu_t3_tlz;         // To fcl of sparc_ifu_fcl.v
259
   input [2:0]          lsu_pid_state0;         // To fcl of sparc_ifu_fcl.v
260
   input [2:0]          lsu_pid_state1;         // To fcl of sparc_ifu_fcl.v
261
   input [2:0]          lsu_pid_state2;         // To fcl of sparc_ifu_fcl.v
262
   input [2:0]          lsu_pid_state3;         // To fcl of sparc_ifu_fcl.v
263
   input [12:0]         lsu_t0_pctxt_state;     // To fdp of sparc_ifu_fdp.v
264
   input [12:0]         lsu_t1_pctxt_state;     // To fdp of sparc_ifu_fdp.v
265
   input [12:0]         lsu_t2_pctxt_state;     // To fdp of sparc_ifu_fdp.v
266
   input [12:0]         lsu_t3_pctxt_state;     // To fdp of sparc_ifu_fdp.v
267
   input                mbist_bisi_mode;        // To mbist of sparc_ifu_mbist.v
268
   input [71:0]         mbist_dcache_data_in;   // To mbist of sparc_ifu_mbist.v
269
   input                mbist_loop_mode;        // To mbist of sparc_ifu_mbist.v
270
   input                mbist_loop_on_address;  // To mbist of sparc_ifu_mbist.v
271
   input                mbist_start;            // To mbist of sparc_ifu_mbist.v
272
   input                mbist_stop_on_fail;     // To mbist of sparc_ifu_mbist.v
273
   input                mbist_stop_on_next_fail;// To mbist of sparc_ifu_mbist.v
274
   input                mbist_userdata_mode;    // To mbist of sparc_ifu_mbist.v
275
   input                rclk;                   // To dec of sparc_ifu_dec.v, ...
276
   input                se;                     // To dec of sparc_ifu_dec.v, ...
277
   input                sehold;                 // To fcl of sparc_ifu_fcl.v, ...
278
   input                spu_ifu_corr_err_w2;    // To errctl of sparc_ifu_errctl.v
279
   input [39:4]         spu_ifu_err_addr_w2;    // To errdp of sparc_ifu_errdp.v
280
   input                spu_ifu_int_w2;         // To errctl of sparc_ifu_errctl.v
281
   input                spu_ifu_mamem_err_w1;   // To errctl of sparc_ifu_errctl.v
282
   input [1:0]          spu_ifu_ttype_tid_w2;   // To fcl of sparc_ifu_fcl.v, ...
283
   input                spu_ifu_ttype_vld_w2;   // To fcl of sparc_ifu_fcl.v
284
   input                spu_ifu_ttype_w2;       // To fcl of sparc_ifu_fcl.v
285
   input                spu_ifu_unc_err_w1;     // To errctl of sparc_ifu_errctl.v
286
   input                testmode_l;             // To icdhdr of cmp_sram_redhdr.v
287
   input [3:0]          tlu_hpstate_enb;        // To fcl of sparc_ifu_fcl.v
288
   input [3:0]          tlu_hpstate_ibe;        // To swl of sparc_ifu_swl.v
289
   input [3:0]          tlu_hpstate_priv;       // To fcl of sparc_ifu_fcl.v
290
   input [1:0]          tlu_idtlb_dmp_thrid_g;  // To fcl of sparc_ifu_fcl.v
291
   input                tlu_ifu_flush_pipe_w;   // To swl of sparc_ifu_swl.v, ...
292
   input [3:0]          tlu_ifu_hintp_vld;      // To fcl of sparc_ifu_fcl.v
293
   input [3:0]          tlu_ifu_hwint_i3;       // To fcl of sparc_ifu_fcl.v
294
   input                tlu_ifu_nukeint_i2;     // To fcl of sparc_ifu_fcl.v
295
   input [3:0]          tlu_ifu_pstate_ie;      // To fcl of sparc_ifu_fcl.v
296
   input [3:0]          tlu_ifu_pstate_pef;     // To swl of sparc_ifu_swl.v
297
   input [3:0]          tlu_ifu_rerr_vld;       // To fcl of sparc_ifu_fcl.v
298
   input                tlu_ifu_resumint_i2;    // To fcl of sparc_ifu_fcl.v
299
   input                tlu_ifu_rstint_i2;      // To fcl of sparc_ifu_fcl.v
300
   input [3:0]          tlu_ifu_rstthr_i2;      // To fcl of sparc_ifu_fcl.v
301
   input [3:0]          tlu_ifu_sftint_vld;     // To fcl of sparc_ifu_fcl.v
302
   input [1:0]          tlu_ifu_trap_tid_w1;    // To swl of sparc_ifu_swl.v, ...
303
   input                tlu_ifu_trapnpc_vld_w1; // To fcl of sparc_ifu_fcl.v
304
   input [48:0]         tlu_ifu_trapnpc_w2;     // To fdp of sparc_ifu_fdp.v
305
   input                tlu_ifu_trappc_vld_w1;  // To swl of sparc_ifu_swl.v, ...
306
   input [48:0]         tlu_ifu_trappc_w2;      // To fdp of sparc_ifu_fdp.v
307
   input                tlu_itlb_data_rd_g;     // To fcl of sparc_ifu_fcl.v
308
   input                tlu_itlb_dmp_actxt_g;   // To fdp of sparc_ifu_fdp.v
309
   input                tlu_itlb_dmp_nctxt_g;   // To fdp of sparc_ifu_fdp.v
310
   input                tlu_itlb_dmp_vld_g;     // To fcl of sparc_ifu_fcl.v
311
   input                tlu_itlb_invalidate_all_g;// To fcl of sparc_ifu_fcl.v
312
   input                tlu_itlb_tag_rd_g;      // To fcl of sparc_ifu_fcl.v
313
   input                tlu_itlb_wr_vld_g;      // To fcl of sparc_ifu_fcl.v
314
   input [3:0]          tlu_lsu_pstate_am;      // To fcl of sparc_ifu_fcl.v
315
   input [3:0]          tlu_lsu_pstate_priv;    // To fcl of sparc_ifu_fcl.v, ...
316
   input [3:0]          tlu_lsu_redmode;        // To fcl of sparc_ifu_fcl.v
317
   // End of automatics
318
 
319
 
320
   /*AUTOOUTPUT*/
321
   // Beginning of automatic outputs (from unused autoinst outputs)
322
   output [2:0]         ifu_exu_aluop_d;        // From dec of sparc_ifu_dec.v
323
   output               ifu_exu_casa_d;         // From dec of sparc_ifu_dec.v
324
   output               ifu_exu_dbrinst_d;      // From dcl of sparc_ifu_dcl.v
325
   output               ifu_exu_disable_ce_e;   // From fcl of sparc_ifu_fcl.v
326
   output               ifu_exu_dontmv_regz0_e; // From dcl of sparc_ifu_dcl.v
327
   output               ifu_exu_dontmv_regz1_e; // From dcl of sparc_ifu_dcl.v
328
   output [7:0]         ifu_exu_ecc_mask;       // From errctl of sparc_ifu_errctl.v
329
   output               ifu_exu_enshift_d;      // From dec of sparc_ifu_dec.v
330
   output               ifu_exu_flushw_e;       // From dec of sparc_ifu_dec.v
331
   output               ifu_exu_ialign_d;       // From dec of sparc_ifu_dec.v
332
   output [31:0]        ifu_exu_imm_data_d;     // From imd of sparc_ifu_imd.v
333
   output               ifu_exu_inj_irferr;     // From errctl of sparc_ifu_errctl.v
334
   output               ifu_exu_inst_vld_e;     // From fcl of sparc_ifu_fcl.v
335
   output               ifu_exu_inst_vld_w;     // From fcl of sparc_ifu_fcl.v
336
   output               ifu_exu_invert_d;       // From dec of sparc_ifu_dec.v
337
   output               ifu_exu_kill_e;         // From dcl of sparc_ifu_dcl.v
338
   output               ifu_exu_muls_d;         // From dec of sparc_ifu_dec.v
339
   output               ifu_exu_nceen_e;        // From errctl of sparc_ifu_errctl.v
340
   output [47:0]        ifu_exu_pc_d;           // From fdp of sparc_ifu_fdp.v
341
   output [63:0]        ifu_exu_pcver_e;        // From fdp of sparc_ifu_fdp.v
342
   output               ifu_exu_range_check_jlret_d;// From dec of sparc_ifu_dec.v
343
   output               ifu_exu_range_check_other_d;// From dec of sparc_ifu_dec.v
344
   output [4:0]         ifu_exu_rd_d;           // From imd of sparc_ifu_imd.v
345
   output               ifu_exu_rd_exusr_e;     // From dec of sparc_ifu_dec.v
346
   output               ifu_exu_rd_ffusr_e;     // From dec of sparc_ifu_dec.v
347
   output               ifu_exu_rd_ifusr_e;     // From dec of sparc_ifu_dec.v
348
   output               ifu_exu_ren1_s;         // From fcl of sparc_ifu_fcl.v
349
   output               ifu_exu_ren2_s;         // From fcl of sparc_ifu_fcl.v
350
   output               ifu_exu_ren3_s;         // From fcl of sparc_ifu_fcl.v
351
   output               ifu_exu_restore_d;      // From dec of sparc_ifu_dec.v
352
   output               ifu_exu_restored_e;     // From dec of sparc_ifu_dec.v
353
   output               ifu_exu_return_d;       // From dec of sparc_ifu_dec.v
354
   output [4:0]         ifu_exu_rs1_s;          // From fdp of sparc_ifu_fdp.v
355
   output               ifu_exu_rs1_vld_d;      // From dec of sparc_ifu_dec.v
356
   output [4:0]         ifu_exu_rs2_s;          // From fdp of sparc_ifu_fdp.v
357
   output               ifu_exu_rs2_vld_d;      // From dec of sparc_ifu_dec.v
358
   output [4:0]         ifu_exu_rs3_s;          // From fdp of sparc_ifu_fdp.v
359
   output               ifu_exu_rs3e_vld_d;     // From dec of sparc_ifu_dec.v
360
   output               ifu_exu_rs3o_vld_d;     // From dec of sparc_ifu_dec.v
361
   output               ifu_exu_save_d;         // From dec of sparc_ifu_dec.v
362
   output               ifu_exu_saved_e;        // From dec of sparc_ifu_dec.v
363
   output               ifu_exu_setcc_d;        // From dec of sparc_ifu_dec.v
364
   output               ifu_exu_sethi_inst_d;   // From dec of sparc_ifu_dec.v
365
   output [2:0]         ifu_exu_shiftop_d;      // From dec of sparc_ifu_dec.v
366
   output               ifu_exu_tagop_d;        // From dec of sparc_ifu_dec.v
367
   output               ifu_exu_tcc_e;          // From dcl of sparc_ifu_dcl.v
368
   output [1:0]         ifu_exu_tid_s2;         // From fcl of sparc_ifu_fcl.v
369
   output               ifu_exu_ttype_vld_m;    // From fcl of sparc_ifu_fcl.v
370
   output               ifu_exu_tv_d;           // From dec of sparc_ifu_dec.v
371
   output               ifu_exu_use_rsr_e_l;    // From dec of sparc_ifu_dec.v
372
   output               ifu_exu_usecin_d;       // From dec of sparc_ifu_dec.v
373
   output               ifu_exu_useimm_d;       // From dec of sparc_ifu_dec.v
374
   output               ifu_exu_wen_d;          // From dec of sparc_ifu_dec.v
375
   output               ifu_exu_wsr_inst_d;     // From dec of sparc_ifu_dec.v
376
   output [1:0]         ifu_ffu_fcc_num_d;      // From imd of sparc_ifu_imd.v
377
   output               ifu_ffu_fld_d;          // From dec of sparc_ifu_dec.v
378
   output               ifu_ffu_fpop1_d;        // From dec of sparc_ifu_dec.v
379
   output               ifu_ffu_fpop2_d;        // From dec of sparc_ifu_dec.v
380
   output [8:0]         ifu_ffu_fpopcode_d;     // From imd of sparc_ifu_imd.v
381
   output [4:0]         ifu_ffu_frd_d;          // From imd of sparc_ifu_imd.v
382
   output [4:0]         ifu_ffu_frs1_d;         // From imd of sparc_ifu_imd.v
383
   output [4:0]         ifu_ffu_frs2_d;         // From imd of sparc_ifu_imd.v
384
   output               ifu_ffu_fst_d;          // From dec of sparc_ifu_dec.v
385
   output               ifu_ffu_inj_frferr;     // From errctl of sparc_ifu_errctl.v
386
   output               ifu_ffu_ldfsr_d;        // From dec of sparc_ifu_dec.v
387
   output               ifu_ffu_ldst_size_d;    // From dec of sparc_ifu_dec.v
388
   output               ifu_ffu_ldxfsr_d;       // From dec of sparc_ifu_dec.v
389
   output               ifu_ffu_mvcnd_m;        // From dcl of sparc_ifu_dcl.v
390
   output               ifu_ffu_quad_op_e;      // From dec of sparc_ifu_dec.v
391
   output               ifu_ffu_stfsr_d;        // From dec of sparc_ifu_dec.v
392
   output               ifu_ffu_visop_d;        // From dec of sparc_ifu_dec.v
393
   output               ifu_lsu_alt_space_d;    // From dec of sparc_ifu_dec.v
394
   output               ifu_lsu_asi_ack;        // From ifqctl of sparc_ifu_ifqctl.v
395
   output               ifu_lsu_asi_rd_unc;     // From errctl of sparc_ifu_errctl.v
396
   output               ifu_lsu_casa_e;         // From dec of sparc_ifu_dec.v
397
   output [2:0]         ifu_lsu_destid_s;       // From ifqctl of sparc_ifu_ifqctl.v
398
   output [3:0]         ifu_lsu_error_inj;      // From errctl of sparc_ifu_errctl.v
399
   output               ifu_lsu_fwd_data_vld;   // From errctl of sparc_ifu_errctl.v
400
   output               ifu_lsu_fwd_wr_ack;     // From ifqctl of sparc_ifu_ifqctl.v
401
   output               ifu_lsu_ibuf_busy;      // From ifqctl of sparc_ifu_ifqctl.v
402
   output [7:0]         ifu_lsu_imm_asi_d;      // From imd of sparc_ifu_imd.v
403
   output               ifu_lsu_imm_asi_vld_d;  // From imd of sparc_ifu_imd.v
404
   output               ifu_lsu_inv_clear;      // From ifqctl of sparc_ifu_ifqctl.v
405
   output               ifu_lsu_ld_inst_e;      // From dec of sparc_ifu_dec.v
406
   output               ifu_lsu_ldst_dbl_e;     // From dec of sparc_ifu_dec.v
407
   output               ifu_lsu_ldst_fp_e;      // From dec of sparc_ifu_dec.v
408
   output [1:0]         ifu_lsu_ldst_size_e;    // From dec of sparc_ifu_dec.v
409
   output               ifu_lsu_ldstub_e;       // From dec of sparc_ifu_dec.v
410
   output               ifu_lsu_ldxa_data_vld_w2;// From errctl of sparc_ifu_errctl.v
411
   output [63:0]        ifu_lsu_ldxa_data_w2;   // From errdp of sparc_ifu_errdp.v
412
   output               ifu_lsu_ldxa_illgl_va_w2;// From ifqctl of sparc_ifu_ifqctl.v
413
   output [1:0]         ifu_lsu_ldxa_tid_w2;    // From errctl of sparc_ifu_errctl.v
414
   output               ifu_lsu_memref_d;       // From dec of sparc_ifu_dec.v
415
   output [3:0]         ifu_lsu_nceen;          // From errctl of sparc_ifu_errctl.v
416
   output [51:0]        ifu_lsu_pcxpkt_e;       // From ifqdp of sparc_ifu_ifqdp.v
417
   output               ifu_lsu_pcxreq_d;       // From ifqctl of sparc_ifu_ifqctl.v
418
   output               ifu_lsu_pref_inst_e;    // From dec of sparc_ifu_dec.v
419
   output [4:0]         ifu_lsu_rd_e;           // From imd of sparc_ifu_imd.v
420
   output               ifu_lsu_sign_ext_e;     // From dec of sparc_ifu_dec.v
421
   output               ifu_lsu_st_inst_e;      // From dec of sparc_ifu_dec.v
422
   output               ifu_lsu_swap_e;         // From dec of sparc_ifu_dec.v
423
   output               ifu_lsu_wsr_inst_d;     // From dec of sparc_ifu_dec.v
424
   output               ifu_mmu_trap_m;         // From fcl of sparc_ifu_fcl.v
425
   output               ifu_spu_inst_vld_w;     // From fcl of sparc_ifu_fcl.v
426
   output [3:0]         ifu_spu_nceen;          // From errctl of sparc_ifu_errctl.v
427
   output               ifu_spu_trap_ack;       // From fcl of sparc_ifu_fcl.v
428
   output               ifu_tlu_alt_space_d;    // From dec of sparc_ifu_dec.v
429
   output               ifu_tlu_done_inst_d;    // From dec of sparc_ifu_dec.v
430
   output               ifu_tlu_flsh_inst_e;    // From dec of sparc_ifu_dec.v
431
   output               ifu_tlu_flush_m;        // From fcl of sparc_ifu_fcl.v
432
   output               ifu_tlu_hwint_m;        // From fcl of sparc_ifu_fcl.v
433
   output               ifu_tlu_icmiss_e;       // From fcl of sparc_ifu_fcl.v
434
   output [8:0]         ifu_tlu_imm_asi_d;      // From imd of sparc_ifu_imd.v
435
   output               ifu_tlu_immu_miss_m;    // From fcl of sparc_ifu_fcl.v
436
   output               ifu_tlu_inst_vld_m;     // From fcl of sparc_ifu_fcl.v
437
   output               ifu_tlu_itlb_done;      // From fcl of sparc_ifu_fcl.v
438
   output [3:0]         ifu_tlu_l2imiss;        // From ifqctl of sparc_ifu_ifqctl.v
439
   output               ifu_tlu_mb_inst_e;      // From dec of sparc_ifu_dec.v
440
   output [48:0]        ifu_tlu_npc_m;          // From fdp of sparc_ifu_fdp.v
441
   output [48:0]        ifu_tlu_pc_m;           // From fdp of sparc_ifu_fdp.v
442
   output               ifu_tlu_pc_oor_e;       // From fdp of sparc_ifu_fdp.v
443
   output               ifu_tlu_priv_violtn_m;  // From fcl of sparc_ifu_fcl.v
444
   output               ifu_tlu_retry_inst_d;   // From dec of sparc_ifu_dec.v
445
   output               ifu_tlu_rsr_inst_d;     // From dec of sparc_ifu_dec.v
446
   output               ifu_tlu_rstint_m;       // From fcl of sparc_ifu_fcl.v
447
   output               ifu_tlu_sftint_m;       // From fcl of sparc_ifu_fcl.v
448
   output               ifu_tlu_sir_inst_m;     // From dec of sparc_ifu_dec.v
449
   output [6:0]         ifu_tlu_sraddr_d;       // From imd of sparc_ifu_imd.v
450
   output [6:0]         ifu_tlu_sraddr_d_v2;    // From imd of sparc_ifu_imd.v
451
   output [1:0]         ifu_tlu_thrid_d;        // From fcl of sparc_ifu_fcl.v
452
   output [1:0]         ifu_tlu_thrid_e;        // From fcl of sparc_ifu_fcl.v
453
   output               ifu_tlu_trap_m;         // From fcl of sparc_ifu_fcl.v
454
   output [8:0]         ifu_tlu_ttype_m;        // From fcl of sparc_ifu_fcl.v
455
   output               mbist_dcache_fail;      // From mbist of sparc_ifu_mbist.v
456
   output [6:0]         mbist_dcache_index;     // From mbist of sparc_ifu_mbist.v
457
   output               mbist_dcache_read;      // From mbist of sparc_ifu_mbist.v
458
   output [1:0]         mbist_dcache_way;       // From mbist of sparc_ifu_mbist.v
459
   output               mbist_dcache_word;      // From mbist of sparc_ifu_mbist.v
460
   output               mbist_dcache_write;     // From mbist of sparc_ifu_mbist.v
461
   output               mbist_done;             // From mbist of sparc_ifu_mbist.v
462
   output               mbist_icache_fail;      // From mbist of sparc_ifu_mbist.v
463
   output               sparc_sscan_so;         // From sscan of sparc_ifu_sscan.v
464
   output               spc_efc_ifuse_data;     // From icdhdr of cmp_sram_redhdr.v
465
   // End of automatics
466
 
467
   /*AUTOWIRE*/
468
   // Beginning of automatic wires (for undeclared instantiated-module outputs)
469
   wire                 dcl_fcl_bcregz0_e;      // From dcl of sparc_ifu_dcl.v
470
   wire                 dcl_fcl_bcregz1_e;      // From dcl of sparc_ifu_dcl.v
471
   wire                 dcl_imd_broff_sel_bcc_d_l;// From dcl of sparc_ifu_dcl.v
472
   wire                 dcl_imd_broff_sel_bpcc_d_l;// From dcl of sparc_ifu_dcl.v
473
   wire                 dcl_imd_broff_sel_br_d_l;// From dcl of sparc_ifu_dcl.v
474
   wire                 dcl_imd_broff_sel_call_d_l;// From dcl of sparc_ifu_dcl.v
475
   wire                 dcl_imd_immbr_sel_br_d; // From dcl of sparc_ifu_dcl.v
476
   wire                 dcl_imd_immdata_sel_movcc_d_l;// From dcl of sparc_ifu_dcl.v
477
   wire                 dcl_imd_immdata_sel_movr_d_l;// From dcl of sparc_ifu_dcl.v
478
   wire                 dcl_imd_immdata_sel_sethi_d_l;// From dcl of sparc_ifu_dcl.v
479
   wire                 dcl_imd_immdata_sel_simm13_d_l;// From dcl of sparc_ifu_dcl.v
480
   wire                 dcl_swl_tcc_done_m;     // From dcl of sparc_ifu_dcl.v
481
   wire [2:0]           dec_dcl_cctype_d;       // From dec of sparc_ifu_dec.v
482
   wire                 dec_fcl_rdsr_sel_pc_d;  // From dec of sparc_ifu_dec.v
483
   wire                 dec_fcl_rdsr_sel_thr_d; // From dec of sparc_ifu_dec.v
484
   wire                 dec_imd_call_inst_d;    // From dec of sparc_ifu_dec.v
485
   wire                 dec_swl_allfp_d;        // From dec of sparc_ifu_dec.v
486
   wire                 dec_swl_br_done_d;      // From dec of sparc_ifu_dec.v
487
   wire                 dec_swl_div_inst_d;     // From dec of sparc_ifu_dec.v
488
   wire                 dec_swl_fpop_d;         // From dec of sparc_ifu_dec.v
489
   wire                 dec_swl_frf_lower_d;    // From dec of sparc_ifu_dec.v
490
   wire                 dec_swl_frf_upper_d;    // From dec of sparc_ifu_dec.v
491
   wire                 dec_swl_ld_inst_d;      // From dec of sparc_ifu_dec.v
492
   wire                 dec_swl_ll_done_d;      // From dec of sparc_ifu_dec.v
493
   wire                 dec_swl_mul_inst_d;     // From dec of sparc_ifu_dec.v
494
   wire                 dec_swl_rdsr_sel_thr_d; // From dec of sparc_ifu_dec.v
495
   wire                 dec_swl_st_inst_d;      // From dec of sparc_ifu_dec.v
496
   wire                 dec_swl_sta_inst_e;     // From dec of sparc_ifu_dec.v
497
   wire                 dec_swl_std_inst_d;     // From dec of sparc_ifu_dec.v
498
   wire                 dec_swl_wrt_tcr_w;      // From dec of sparc_ifu_dec.v
499
   wire                 dec_swl_wrtfprs_w;      // From dec of sparc_ifu_dec.v
500
   wire                 dtu_fcl_br_inst_d;      // From dec of sparc_ifu_dec.v
501
   wire                 dtu_fcl_flush_sonly_e;  // From dec of sparc_ifu_dec.v
502
   wire                 dtu_fcl_fpdis_e;        // From dec of sparc_ifu_dec.v
503
   wire                 dtu_fcl_illinst_e;      // From dec of sparc_ifu_dec.v
504
   wire                 dtu_fcl_imask_hit_e;    // From dec of sparc_ifu_dec.v
505
   wire [3:0]           dtu_fcl_nextthr_bf;     // From swl of sparc_ifu_swl.v
506
   wire                 dtu_fcl_ntr_s;          // From swl of sparc_ifu_swl.v
507
   wire                 dtu_fcl_privop_e;       // From dec of sparc_ifu_dec.v
508
   wire                 dtu_fcl_retract_d;      // From swl of sparc_ifu_swl.v
509
   wire                 dtu_fcl_rollback_g;     // From swl of sparc_ifu_swl.v
510
   wire                 dtu_fcl_running_s;      // From swl of sparc_ifu_swl.v
511
   wire                 dtu_fcl_sir_inst_e;     // From dec of sparc_ifu_dec.v
512
   wire [3:0]           dtu_fcl_thr_active;     // From swl of sparc_ifu_swl.v
513
   wire [40:0]          dtu_fdp_thrconf_e;      // From swl of sparc_ifu_swl.v
514
   wire                 dtu_ifq_kill_latest_d;  // From dec of sparc_ifu_dec.v
515
   wire                 dtu_inst_anull_e;       // From dcl of sparc_ifu_dcl.v
516
   wire [31:0]          dtu_inst_d;             // From imd of sparc_ifu_imd.v
517
   wire                 dtu_reset;              // From swl of sparc_ifu_swl.v
518
   wire                 erb_dtu_ifeterr_d1;     // From errctl of sparc_ifu_errctl.v
519
   wire [38:0]          erb_dtu_imask;          // From errdp of sparc_ifu_errdp.v
520
   wire [3:0]           erb_fcl_ce_trapvec;     // From errctl of sparc_ifu_errctl.v
521
   wire [3:0]           erb_fcl_ifet_uevec_d1;  // From errctl of sparc_ifu_errctl.v
522
   wire                 erb_fcl_itlb_ce_d1;     // From errctl of sparc_ifu_errctl.v
523
   wire [3:0]           erb_fcl_spu_uetrap;     // From errctl of sparc_ifu_errctl.v
524
   wire [3:0]           erb_fcl_ue_trapvec;     // From errctl of sparc_ifu_errctl.v
525
   wire                 erb_ifq_ifeterr_d1;     // From errctl of sparc_ifu_errctl.v
526
   wire                 erb_ifq_itlberr_s1;     // From errctl of sparc_ifu_errctl.v
527
   wire                 erb_reset;              // From errctl of sparc_ifu_errctl.v
528
   wire [3:0]           erc_erd_asi_thr_l;      // From errctl of sparc_ifu_errctl.v
529
   wire                 erc_erd_asisrc_sel_err_s_l;// From errctl of sparc_ifu_errctl.v
530
   wire                 erc_erd_asisrc_sel_icd_s_l;// From errctl of sparc_ifu_errctl.v
531
   wire                 erc_erd_asisrc_sel_itlb_s_l;// From errctl of sparc_ifu_errctl.v
532
   wire                 erc_erd_asisrc_sel_misc_s_l;// From errctl of sparc_ifu_errctl.v
533
   wire [3:0]           erc_erd_asiway_s1_l;    // From errctl of sparc_ifu_errctl.v
534
   wire [3:0]           erc_erd_eadr0_sel_frf_l;// From errctl of sparc_ifu_errctl.v
535
   wire [3:0]           erc_erd_eadr0_sel_irf_l;// From errctl of sparc_ifu_errctl.v
536
   wire [3:0]           erc_erd_eadr0_sel_itlb_l;// From errctl of sparc_ifu_errctl.v
537
   wire [3:0]           erc_erd_eadr0_sel_lsu_l;// From errctl of sparc_ifu_errctl.v
538
   wire [3:0]           erc_erd_eadr1_sel_l1pa_l;// From errctl of sparc_ifu_errctl.v
539
   wire [3:0]           erc_erd_eadr1_sel_l2pa_l;// From errctl of sparc_ifu_errctl.v
540
   wire [3:0]           erc_erd_eadr1_sel_other_l;// From errctl of sparc_ifu_errctl.v
541
   wire [3:0]           erc_erd_eadr1_sel_pcd1_l;// From errctl of sparc_ifu_errctl.v
542
   wire [3:0]           erc_erd_eadr2_sel_mx0_l;// From errctl of sparc_ifu_errctl.v
543
   wire [3:0]           erc_erd_eadr2_sel_mx1_l;// From errctl of sparc_ifu_errctl.v
544
   wire [3:0]           erc_erd_eadr2_sel_old_l;// From errctl of sparc_ifu_errctl.v
545
   wire [3:0]           erc_erd_eadr2_sel_wrt_l;// From errctl of sparc_ifu_errctl.v
546
   wire                 erc_erd_errasi_sel_addr_l;// From errctl of sparc_ifu_errctl.v
547
   wire                 erc_erd_errasi_sel_en_l;// From errctl of sparc_ifu_errctl.v
548
   wire                 erc_erd_errasi_sel_inj_l;// From errctl of sparc_ifu_errctl.v
549
   wire                 erc_erd_errasi_sel_stat_l;// From errctl of sparc_ifu_errctl.v
550
   wire [1:0]           erc_erd_erren_asidata;  // From errctl of sparc_ifu_errctl.v
551
   wire [31:0]          erc_erd_errinj_asidata; // From errctl of sparc_ifu_errctl.v
552
   wire [22:0]          erc_erd_errstat_asidata;// From errctl of sparc_ifu_errctl.v
553
   wire                 erc_erd_ld_imask;       // From errctl of sparc_ifu_errctl.v
554
   wire                 erc_erd_miscasi_sel_ict_l;// From errctl of sparc_ifu_errctl.v
555
   wire                 erc_erd_miscasi_sel_imask_l;// From errctl of sparc_ifu_errctl.v
556
   wire                 erc_erd_miscasi_sel_other_l;// From errctl of sparc_ifu_errctl.v
557
   wire                 erc_erd_pgsz_b0;        // From errctl of sparc_ifu_errctl.v
558
   wire                 erc_erd_pgsz_b1;        // From errctl of sparc_ifu_errctl.v
559
   wire                 erd_erc_fetpe_s1;       // From errdp of sparc_ifu_errdp.v
560
   wire                 erd_erc_nirpe_s1;       // From errdp of sparc_ifu_errdp.v
561
   wire [3:0]           erd_erc_tagpe_s1;       // From errdp of sparc_ifu_errdp.v
562
   wire [1:0]           erd_erc_tlbd_pe_s1;     // From errdp of sparc_ifu_errdp.v
563
   wire [1:0]           erd_erc_tlbt_pe_s1;     // From errdp of sparc_ifu_errdp.v
564
   wire [2:0]           erd_erc_tte_pgsz;       // From errdp of sparc_ifu_errdp.v
565
   wire                 fcl_dcl_regz_e;         // From fcl of sparc_ifu_fcl.v
566
   wire                 fcl_dec_dslot_s;        // From fcl of sparc_ifu_fcl.v
567
   wire                 fcl_dec_intr_vld_d;     // From fcl of sparc_ifu_fcl.v
568
   wire                 fcl_dtu_ely_inst_vld_d; // From fcl of sparc_ifu_fcl.v
569
   wire                 fcl_dtu_hprivmode_d;    // From fcl of sparc_ifu_fcl.v
570
   wire                 fcl_dtu_hprivmode_w2;   // From fcl of sparc_ifu_fcl.v
571
   wire                 fcl_dtu_inst_vld_d;     // From fcl of sparc_ifu_fcl.v
572
   wire                 fcl_dtu_inst_vld_e;     // From fcl of sparc_ifu_fcl.v
573
   wire                 fcl_dtu_intr_vld_e;     // From fcl of sparc_ifu_fcl.v
574
   wire                 fcl_dtu_nuke_thr_w;     // From fcl of sparc_ifu_fcl.v
575
   wire                 fcl_dtu_privmode_d;     // From fcl of sparc_ifu_fcl.v
576
   wire                 fcl_dtu_resum_thr_w;    // From fcl of sparc_ifu_fcl.v
577
   wire                 fcl_dtu_rst_thr_w;      // From fcl of sparc_ifu_fcl.v
578
   wire                 fcl_dtu_stall_bf;       // From fcl of sparc_ifu_fcl.v
579
   wire                 fcl_dtu_sync_intr_d;    // From fcl of sparc_ifu_fcl.v
580
   wire [3:0]           fcl_dtu_thr_f;          // From fcl of sparc_ifu_fcl.v
581
   wire                 fcl_dtu_tlzero_d;       // From fcl of sparc_ifu_fcl.v
582
   wire [1:0]           fcl_erb_asi_tid_f;      // From fcl of sparc_ifu_fcl.v
583
   wire [3:0]           fcl_erb_clear_iferr;    // From fcl of sparc_ifu_fcl.v
584
   wire                 fcl_erb_ievld_s1;       // From fcl of sparc_ifu_fcl.v
585
   wire                 fcl_erb_immuevld_s1;    // From fcl of sparc_ifu_fcl.v
586
   wire                 fcl_erb_inst_issue_d;   // From fcl of sparc_ifu_fcl.v
587
   wire                 fcl_erb_inst_vld_d1;    // From fcl of sparc_ifu_fcl.v
588
   wire                 fcl_erb_itlbrd_data_s;  // From fcl of sparc_ifu_fcl.v
589
   wire                 fcl_erb_itlbrd_vld_s;   // From fcl of sparc_ifu_fcl.v
590
   wire                 fcl_erb_tevld_s1;       // From fcl of sparc_ifu_fcl.v
591
   wire                 fcl_fdp_ctxt_sel_curr_bf_l;// From fcl of sparc_ifu_fcl.v
592
   wire                 fcl_fdp_ctxt_sel_dmp_bf_l;// From fcl of sparc_ifu_fcl.v
593
   wire                 fcl_fdp_ctxt_sel_sw_bf_l;// From fcl of sparc_ifu_fcl.v
594
   wire [3:0]           fcl_fdp_dmpthr_l;       // From fcl of sparc_ifu_fcl.v
595
   wire                 fcl_fdp_inst_sel_curr_s_l;// From fcl of sparc_ifu_fcl.v
596
   wire                 fcl_fdp_inst_sel_nir_s_l;// From fcl of sparc_ifu_fcl.v
597
   wire                 fcl_fdp_inst_sel_nop_s_l;// From fcl of sparc_ifu_fcl.v
598
   wire                 fcl_fdp_inst_sel_switch_s_l;// From fcl of sparc_ifu_fcl.v
599
   wire                 fcl_fdp_mask32b_f;      // From fcl of sparc_ifu_fcl.v
600
   wire [3:0]           fcl_fdp_next_ctxt_bf_l; // From fcl of sparc_ifu_fcl.v
601
   wire [3:0]           fcl_fdp_next_thr_bf_l;  // From fcl of sparc_ifu_fcl.v
602
   wire [3:0]           fcl_fdp_nextpcs_sel_pcd_f_l;// From fcl of sparc_ifu_fcl.v
603
   wire [3:0]           fcl_fdp_nextpcs_sel_pce_f_l;// From fcl of sparc_ifu_fcl.v
604
   wire [3:0]           fcl_fdp_nextpcs_sel_pcf_f_l;// From fcl of sparc_ifu_fcl.v
605
   wire [3:0]           fcl_fdp_nextpcs_sel_pcs_f_l;// From fcl of sparc_ifu_fcl.v
606
   wire [3:0]           fcl_fdp_nirthr_s1_l;    // From fcl of sparc_ifu_fcl.v
607
   wire                 fcl_fdp_noswpc_sel_inc_l_bf;// From fcl of sparc_ifu_fcl.v
608
   wire                 fcl_fdp_noswpc_sel_old_l_bf;// From fcl of sparc_ifu_fcl.v
609
   wire                 fcl_fdp_noswpc_sel_tnpc_l_bf;// From fcl of sparc_ifu_fcl.v
610
   wire                 fcl_fdp_oddwin_s;       // From fcl of sparc_ifu_fcl.v
611
   wire                 fcl_fdp_pcbf_sel_br_bf_l;// From fcl of sparc_ifu_fcl.v
612
   wire                 fcl_fdp_pcbf_sel_nosw_bf_l;// From fcl of sparc_ifu_fcl.v
613
   wire                 fcl_fdp_pcbf_sel_swpc_bf_l;// From fcl of sparc_ifu_fcl.v
614
   wire                 fcl_fdp_pcoor_f;        // From fcl of sparc_ifu_fcl.v
615
   wire [3:0]           fcl_fdp_pcoor_vec_f;    // From fcl of sparc_ifu_fcl.v
616
   wire [3:0]           fcl_fdp_rbinst_sel_inste_s;// From fcl of sparc_ifu_fcl.v
617
   wire                 fcl_fdp_rdsr_sel_pc_e_l;// From fcl of sparc_ifu_fcl.v
618
   wire                 fcl_fdp_rdsr_sel_thr_e_l;// From fcl of sparc_ifu_fcl.v
619
   wire                 fcl_fdp_rdsr_sel_ver_e_l;// From fcl of sparc_ifu_fcl.v
620
   wire [3:0]           fcl_fdp_tctxt_sel_prim; // From fcl of sparc_ifu_fcl.v
621
   wire [3:0]           fcl_fdp_thr_s1_l;       // From fcl of sparc_ifu_fcl.v
622
   wire [3:0]           fcl_fdp_thr_s2_l;       // From fcl of sparc_ifu_fcl.v
623
   wire [3:0]           fcl_fdp_thrtnpc_sel_npcw_l;// From fcl of sparc_ifu_fcl.v
624
   wire [3:0]           fcl_fdp_thrtnpc_sel_old_l;// From fcl of sparc_ifu_fcl.v
625
   wire [3:0]           fcl_fdp_thrtnpc_sel_pcf_l;// From fcl of sparc_ifu_fcl.v
626
   wire [3:0]           fcl_fdp_thrtnpc_sel_tnpc_l;// From fcl of sparc_ifu_fcl.v
627
   wire [3:0]           fcl_fdp_tinst_sel_curr_s_l;// From fcl of sparc_ifu_fcl.v
628
   wire [3:0]           fcl_fdp_tinst_sel_ifq_s_l;// From fcl of sparc_ifu_fcl.v
629
   wire [3:0]           fcl_fdp_tinst_sel_old_s_l;// From fcl of sparc_ifu_fcl.v
630
   wire [3:0]           fcl_fdp_tinst_sel_rb_s_l;// From fcl of sparc_ifu_fcl.v
631
   wire [3:0]           fcl_fdp_tpcbf_sel_brpc_bf_l;// From fcl of sparc_ifu_fcl.v
632
   wire [3:0]           fcl_fdp_tpcbf_sel_old_bf_l;// From fcl of sparc_ifu_fcl.v
633
   wire [3:0]           fcl_fdp_tpcbf_sel_pcp4_bf_l;// From fcl of sparc_ifu_fcl.v
634
   wire [3:0]           fcl_fdp_tpcbf_sel_trap_bf_l;// From fcl of sparc_ifu_fcl.v
635
   wire [3:0]           fcl_fdp_trrbpc_sel_err_bf_l;// From fcl of sparc_ifu_fcl.v
636
   wire [3:0]           fcl_fdp_trrbpc_sel_pcs_bf_l;// From fcl of sparc_ifu_fcl.v
637
   wire [3:0]           fcl_fdp_trrbpc_sel_rb_bf_l;// From fcl of sparc_ifu_fcl.v
638
   wire [3:0]           fcl_fdp_trrbpc_sel_trap_bf_l;// From fcl of sparc_ifu_fcl.v
639
   wire                 fcl_fdp_usenir_sel_nir_s1;// From fcl of sparc_ifu_fcl.v
640
   wire                 fcl_icd_index_sel_ifq_bf;// From fcl of sparc_ifu_fcl.v
641
   wire                 fcl_icd_rdreq_bf;       // From fcl of sparc_ifu_fcl.v
642
   wire                 fcl_icd_wrreq_bf;       // From fcl of sparc_ifu_fcl.v
643
   wire                 fcl_ict_wrreq_bf;       // From fcl of sparc_ifu_fcl.v
644
   wire                 fcl_icv_rdreq_bf;       // From fcl of sparc_ifu_fcl.v
645
   wire                 fcl_icv_wrreq_bf;       // From fcl of sparc_ifu_fcl.v
646
   wire [3:0]           fcl_ifq_canthr;         // From fcl of sparc_ifu_fcl.v
647
   wire                 fcl_ifq_grant_bf;       // From fcl of sparc_ifu_fcl.v
648
   wire                 fcl_ifq_icache_en_s_l;  // From fcl of sparc_ifu_fcl.v
649
   wire                 fcl_ifq_icmiss_s1;      // From fcl of sparc_ifu_fcl.v
650
   wire                 fcl_ifq_rdreq_s1;       // From fcl of sparc_ifu_fcl.v
651
   wire [1:0]           fcl_ifq_thr_s1;         // From fcl of sparc_ifu_fcl.v
652
   wire                 fcl_imd_oddwin_d;       // From fcl of sparc_ifu_fcl.v
653
   wire                 fcl_swl_flush_w;        // From fcl of sparc_ifu_fcl.v
654
   wire                 fcl_swl_flush_wake_w;   // From fcl of sparc_ifu_fcl.v
655
   wire [3:0]           fcl_swl_int_activate_i3;// From fcl of sparc_ifu_fcl.v
656
   wire                 fcl_swl_swcvld_s;       // From fcl of sparc_ifu_fcl.v
657
   wire                 fcl_swl_swout_f;        // From fcl of sparc_ifu_fcl.v
658
   wire [31:0]          fdp_dtu_inst_s;         // From fdp of sparc_ifu_fdp.v
659
   wire [47:0]          fdp_erb_pc_f;           // From fdp of sparc_ifu_fdp.v
660
   wire                 fdp_fcl_ibit_s;         // From fdp of sparc_ifu_fdp.v
661
   wire [5:2]           fdp_fcl_op3_s;          // From fdp of sparc_ifu_fdp.v
662
   wire [1:0]           fdp_fcl_op_s;           // From fdp of sparc_ifu_fdp.v
663
   wire                 fdp_fcl_pc_oor_e;       // From fdp of sparc_ifu_fdp.v
664
   wire [3:0]           fdp_fcl_pc_oor_vec_f;   // From fdp of sparc_ifu_fdp.v
665
   wire                 fdp_fcl_swc_s2;         // From fdp of sparc_ifu_fdp.v
666
   wire [11:5]          fdp_icv_index_bf;       // From fdp of sparc_ifu_fdp.v
667
   wire [1:0]           fuse_icd_repair_en;     // From icdhdr of cmp_sram_redhdr.v
668
   wire [7:0]           fuse_icd_repair_value;  // From icdhdr of cmp_sram_redhdr.v
669
   wire [5:0]           fuse_icd_rid;           // From icdhdr of cmp_sram_redhdr.v
670
   wire                 fuse_icd_wren;          // From icdhdr of cmp_sram_redhdr.v
671
   wire [1:0]           icd_fuse_repair_en;     // From icd of bw_r_icd.v
672
   wire [7:0]           icd_fuse_repair_value;  // From icd of bw_r_icd.v
673
   wire [135:0]         icd_wsel_fetdata_s1;    // From icd of bw_r_icd.v
674
   wire [135:0]         icd_wsel_topdata_s1;    // From icd of bw_r_icd.v
675
   wire [3:0]           icv_itlb_valid_f;       // From icv of bw_r_rf16x32.v
676
   wire                 ifc_ifd_addr_sel_asi_i2_l;// From ifqctl of sparc_ifu_ifqctl.v
677
   wire                 ifc_ifd_addr_sel_bist_i2_l;// From ifqctl of sparc_ifu_ifqctl.v
678
   wire                 ifc_ifd_addr_sel_fill_i2_l;// From ifqctl of sparc_ifu_ifqctl.v
679
   wire                 ifc_ifd_addr_sel_old_i2_l;// From ifqctl of sparc_ifu_ifqctl.v
680
   wire                 ifc_ifd_errinv_e;       // From ifqctl of sparc_ifu_ifqctl.v
681
   wire                 ifc_ifd_filladdr4_i2;   // From ifqctl of sparc_ifu_ifqctl.v
682
   wire [3:0]           ifc_ifd_finst_sel_l;    // From ifqctl of sparc_ifu_ifqctl.v
683
   wire                 ifc_ifd_idx_sel_fwd_i2; // From ifqctl of sparc_ifu_ifqctl.v
684
   wire                 ifc_ifd_ifqbyp_en_l;    // From ifqctl of sparc_ifu_ifqctl.v
685
   wire                 ifc_ifd_ifqbyp_sel_asi_l;// From ifqctl of sparc_ifu_ifqctl.v
686
   wire                 ifc_ifd_ifqbyp_sel_fwd_l;// From ifqctl of sparc_ifu_ifqctl.v
687
   wire                 ifc_ifd_ifqbyp_sel_inq_l;// From ifqctl of sparc_ifu_ifqctl.v
688
   wire                 ifc_ifd_ifqbyp_sel_lsu_l;// From ifqctl of sparc_ifu_ifqctl.v
689
   wire                 ifc_ifd_ld_inq_i1;      // From ifqctl of sparc_ifu_ifqctl.v
690
   wire [3:0]           ifc_ifd_ldmil_sel_new;  // From ifqctl of sparc_ifu_ifqctl.v
691
   wire [3:0]           ifc_ifd_milfill_sel_i2_l;// From ifqctl of sparc_ifu_ifqctl.v
692
   wire [3:0]           ifc_ifd_milreq_sel_d_l; // From ifqctl of sparc_ifu_ifqctl.v
693
   wire [4:2]           ifc_ifd_pcxline_adj_d;  // From ifqctl of sparc_ifu_ifqctl.v
694
   wire [1:0]           ifc_ifd_repway_s;       // From ifqctl of sparc_ifu_ifqctl.v
695
   wire                 ifc_ifd_reqvalid_e;     // From ifqctl of sparc_ifu_ifqctl.v
696
   wire [1:0]           ifc_ifd_thrid_e;        // From ifqctl of sparc_ifu_ifqctl.v
697
   wire                 ifc_ifd_uncached_e;     // From ifqctl of sparc_ifu_ifqctl.v
698
   wire                 ifc_inv_asireq_i2;      // From ifqctl of sparc_ifu_ifqctl.v
699
   wire                 ifc_inv_ifqadv_i2;      // From ifqctl of sparc_ifu_ifqctl.v
700
   wire                 ifd_ifc_4bpkt_i2;       // From ifqdp of sparc_ifu_ifqdp.v
701
   wire                 ifd_ifc_asi_vachklo_i2; // From ifqdp of sparc_ifu_ifqdp.v
702
   wire [3:2]           ifd_ifc_asiaddr_i2;     // From ifqdp of sparc_ifu_ifqdp.v
703
   wire                 ifd_ifc_cpxce_i2;       // From ifqdp of sparc_ifu_ifqdp.v
704
   wire                 ifd_ifc_cpxms_i2;       // From ifqdp of sparc_ifu_ifqdp.v
705
   wire                 ifd_ifc_cpxnc_i2;       // From ifqdp of sparc_ifu_ifqdp.v
706
   wire [`CPX_RQ_SIZE:0]ifd_ifc_cpxreq_i1;      // From ifqdp of sparc_ifu_ifqdp.v
707
   wire [3:0]           ifd_ifc_cpxreq_nxt;     // From ifqdp of sparc_ifu_ifqdp.v
708
   wire [1:0]           ifd_ifc_cpxthr_nxt;     // From ifqdp of sparc_ifu_ifqdp.v
709
   wire                 ifd_ifc_cpxue_i2;       // From ifqdp of sparc_ifu_ifqdp.v
710
   wire                 ifd_ifc_cpxvld_i2;      // From ifqdp of sparc_ifu_ifqdp.v
711
   wire [2:0]           ifd_ifc_destid0;        // From ifqdp of sparc_ifu_ifqdp.v
712
   wire [2:0]           ifd_ifc_destid1;        // From ifqdp of sparc_ifu_ifqdp.v
713
   wire [2:0]           ifd_ifc_destid2;        // From ifqdp of sparc_ifu_ifqdp.v
714
   wire [2:0]           ifd_ifc_destid3;        // From ifqdp of sparc_ifu_ifqdp.v
715
   wire                 ifd_ifc_fwd2ic_i2;      // From ifqdp of sparc_ifu_ifqdp.v
716
   wire [1:0]           ifd_ifc_instoffset0;    // From ifqdp of sparc_ifu_ifqdp.v
717
   wire [1:0]           ifd_ifc_instoffset1;    // From ifqdp of sparc_ifu_ifqdp.v
718
   wire [1:0]           ifd_ifc_instoffset2;    // From ifqdp of sparc_ifu_ifqdp.v
719
   wire [1:0]           ifd_ifc_instoffset3;    // From ifqdp of sparc_ifu_ifqdp.v
720
   wire                 ifd_ifc_iobpkt_i2;      // From ifqdp of sparc_ifu_ifqdp.v
721
   wire [3:0]           ifd_ifc_miladdr4_i2;    // From ifqdp of sparc_ifu_ifqdp.v
722
   wire [3:0]           ifd_ifc_milhit_s;       // From ifqdp of sparc_ifu_ifqdp.v
723
   wire [2:0]           ifd_ifc_newdestid_s;    // From ifqdp of sparc_ifu_ifqdp.v
724
   wire [4:2]           ifd_ifc_pcxline_d;      // From ifqdp of sparc_ifu_ifqdp.v
725
   wire [`CPX_WIDTH-1:0]ifd_inv_ifqop_i2;       // From ifqdp of sparc_ifu_ifqdp.v
726
   wire [1:0]           ifd_inv_wrway_i2;       // From ifqdp of sparc_ifu_ifqdp.v
727
   wire [3:0]           ifq_dtu_pred_rdy;       // From ifqctl of sparc_ifu_ifqctl.v
728
   wire [3:0]           ifq_dtu_thrrdy;         // From ifqctl of sparc_ifu_ifqctl.v
729
   wire                 ifq_erb_asi_erraddr_i2; // From ifqctl of sparc_ifu_ifqctl.v
730
   wire                 ifq_erb_asi_erren_i2;   // From ifqctl of sparc_ifu_ifqctl.v
731
   wire                 ifq_erb_asi_errinj_i2;  // From ifqctl of sparc_ifu_ifqctl.v
732
   wire                 ifq_erb_asi_errstat_i2; // From ifqctl of sparc_ifu_ifqctl.v
733
   wire                 ifq_erb_asi_imask_i2;   // From ifqctl of sparc_ifu_ifqctl.v
734
   wire [47:0]          ifq_erb_asidata_i2;     // From ifqdp of sparc_ifu_ifqdp.v
735
   wire [1:0]           ifq_erb_asiway_f;       // From invctl of sparc_ifu_invctl.v
736
   wire                 ifq_erb_asiwr_i2;       // From ifqctl of sparc_ifu_ifqctl.v
737
   wire                 ifq_erb_ce_rep;         // From ifqctl of sparc_ifu_ifqctl.v
738
   wire                 ifq_erb_fwdrd_bf;       // From ifqctl of sparc_ifu_ifqctl.v
739
   wire                 ifq_erb_ifet_ce;        // From ifqctl of sparc_ifu_ifqctl.v
740
   wire                 ifq_erb_io_ue;          // From ifqctl of sparc_ifu_ifqctl.v
741
   wire                 ifq_erb_l2_ue;          // From ifqctl of sparc_ifu_ifqctl.v
742
   wire [1:0]           ifq_erb_l2err_tid;      // From ifqctl of sparc_ifu_ifqctl.v
743
   wire                 ifq_erb_rdinst_f;       // From ifqctl of sparc_ifu_ifqctl.v
744
   wire                 ifq_erb_rdtag_f;        // From ifqctl of sparc_ifu_ifqctl.v
745
   wire                 ifq_erb_ue_rep;         // From ifqctl of sparc_ifu_ifqctl.v
746
   wire [`IC_IDX_HI:4]  ifq_erb_wrindex_f;      // From ifqdp of sparc_ifu_ifqdp.v
747
   wire [1:0]           ifq_fcl_asi_tid_bf;     // From ifqctl of sparc_ifu_ifqctl.v
748
   wire                 ifq_fcl_asird_bf;       // From ifqctl of sparc_ifu_ifqctl.v
749
   wire [3:0]           ifq_fcl_fill_thr;       // From ifqctl of sparc_ifu_ifqctl.v
750
   wire                 ifq_fcl_flush_sonly_e;  // From ifqctl of sparc_ifu_ifqctl.v
751
   wire                 ifq_fcl_icd_wrreq_bf;   // From ifqctl of sparc_ifu_ifqctl.v
752
   wire                 ifq_fcl_ictv_wrreq_bf;  // From ifqctl of sparc_ifu_ifqctl.v
753
   wire                 ifq_fcl_invreq_bf;      // From invctl of sparc_ifu_invctl.v
754
   wire                 ifq_fcl_rdreq_bf;       // From ifqctl of sparc_ifu_ifqctl.v
755
   wire                 ifq_fcl_stallreq;       // From ifqctl of sparc_ifu_ifqctl.v
756
   wire                 ifq_fcl_wrreq_bf;       // From ifqctl of sparc_ifu_ifqctl.v
757
   wire [32:0]          ifq_fdp_fill_inst;      // From ifqdp of sparc_ifu_ifqdp.v
758
   wire                 ifq_icd_data_sel_bist_i2;// From ifqctl of sparc_ifu_ifqctl.v
759
   wire                 ifq_icd_data_sel_fill_i2;// From ifqctl of sparc_ifu_ifqctl.v
760
   wire                 ifq_icd_data_sel_old_i2;// From ifqctl of sparc_ifu_ifqctl.v
761
   wire [`IC_IDX_HI:2]  ifq_icd_index_bf;       // From ifqdp of sparc_ifu_ifqdp.v
762
   wire [3:0]           ifq_icd_worden_bf;      // From ifqctl of sparc_ifu_ifqctl.v
763
   wire [135:0]         ifq_icd_wrdata_i2;      // From ifqdp of sparc_ifu_ifqdp.v
764
   wire [1:0]           ifq_icd_wrway_bf;       // From ifqdp of sparc_ifu_ifqdp.v
765
   wire [3:0]           ifq_ict_dec_wrway_bf;   // From invctl of sparc_ifu_invctl.v
766
   wire                 ifq_icv_wrdata_bf;      // From ifqctl of sparc_ifu_ifqctl.v
767
   wire [15:0]          ifq_icv_wren_bf;        // From invctl of sparc_ifu_invctl.v
768
   wire [`IC_IDX_HI:5]  ifq_icv_wrindex_bf;     // From invctl of sparc_ifu_invctl.v
769
   wire                 ifq_swl_stallreq;       // From ifqctl of sparc_ifu_ifqctl.v
770
   wire                 imd_dcl_abit_d;         // From imd of sparc_ifu_imd.v
771
   wire [3:0]           imd_dcl_brcond_d;       // From imd of sparc_ifu_imd.v
772
   wire [7:0]           imd_dcl_mvcond_d;       // From imd of sparc_ifu_imd.v
773
   wire                 inv_ifc_inv_pending;    // From invctl of sparc_ifu_invctl.v
774
   wire [7:0]           mbist_icache_index;     // From mbist of sparc_ifu_mbist.v
775
   wire                 mbist_icache_read;      // From mbist of sparc_ifu_mbist.v
776
   wire [1:0]           mbist_icache_way;       // From mbist of sparc_ifu_mbist.v
777
   wire                 mbist_icache_word;      // From mbist of sparc_ifu_mbist.v
778
   wire                 mbist_icache_write;     // From mbist of sparc_ifu_mbist.v
779
   wire                 mbist_ifq_run_bist;     // From mbist of sparc_ifu_mbist.v
780
   wire [3:0]           swl_dcl_thr_d;          // From swl of sparc_ifu_swl.v
781
   wire [3:0]           swl_dcl_thr_w2;         // From swl of sparc_ifu_swl.v
782
   wire                 swl_dec_divbusy_e;      // From swl of sparc_ifu_swl.v
783
   wire                 swl_dec_fp_enable_d;    // From swl of sparc_ifu_swl.v
784
   wire                 swl_dec_fpbusy_e;       // From swl of sparc_ifu_swl.v
785
   wire                 swl_dec_ibe_e;          // From swl of sparc_ifu_swl.v
786
   wire                 swl_dec_mulbusy_e;      // From swl of sparc_ifu_swl.v
787
   wire [10:0]          swl_sscan_thrstate;     // From swl of sparc_ifu_swl.v
788
   wire [33:0]          wsel_fdp_fetdata_s1;    // From wseldp of sparc_ifu_wseldp.v
789
   wire [33:0]          wsel_fdp_topdata_s1;    // From wseldp of sparc_ifu_wseldp.v
790
   wire                 wsr_fixed_inst_w;       // From dec of sparc_ifu_dec.v
791
   // End of automatics
792
 
793
   // tlb not auto instantiated
794
   wire           fcl_itlb_invall_f_l;  // From fcl of sparc_ifu_fcl.v
795
 
796
   wire           itlb_fcl_imiss_s_l;     // To fcl of sparc_ifu_fcl.v
797
   wire           itlb_fcl_tlbmiss_f_l;   // To fcl of sparc_ifu_fcl.v
798
   wire [3:0]     itlb_wsel_waysel_s1;     // To icd of sparc_ifu_icd.v
799
   wire [39:10]   itlb_ifq_paddr_s;       // To ifqdp of sparc_ifu_ifqdp.v, ...
800
   wire [42:0]    itlb_rd_tte_data;       // To errdp of sparc_ifu_errdp.v
801
   wire [58:0]    itlb_rd_tte_tag;        // To errdp of sparc_ifu_errdp.v
802
 
803
   wire           fcl_itlb_addr_mask_l;   // From fcl of sparc_ifu_fcl.v
804
   wire           fcl_itlb_cam_bypass_bf; // From fcl of sparc_ifu_fcl.v
805
   wire [2:0]     fcl_itlb_cam_pid_bf;    // From fcl of sparc_ifu_fcl.v
806
   wire           fcl_itlb_cam_real_bf;   // From fcl of sparc_ifu_fcl.v
807
   wire           fcl_itlb_cam_vld_bf;    // From fcl of sparc_ifu_fcl.v
808
   wire           fcl_itlb_data_rd_vld_bf;// From fcl of sparc_ifu_fcl.v
809
   wire           fcl_itlb_dmp_vld_bf;    // From fcl of sparc_ifu_fcl.v
810
   wire           fcl_itlb_dmp_all_bf;    // From fcl of sparc_ifu_fcl.v
811
   wire           fcl_itlb_tag_rd_vld_bf; // From fcl of sparc_ifu_fcl.v
812
   wire           fcl_itlb_wr_vld_bf;     // From fcl of sparc_ifu_fcl.v
813
   wire [47:2]    fdp_icd_vaddr_bf;       // From fdp of sparc_ifu_fdp.v
814
   wire [12:0]    fdp_itlb_ctxt_bf;       // From fdp of sparc_ifu_fdp.v
815
   wire [32:0]    ict_itlb_tag0_f;        // From ict of bw_r_idct.v
816
   wire [32:0]    ict_itlb_tag1_f;        // From ict of bw_r_idct.v
817
   wire [32:0]    ict_itlb_tag2_f;        // From ict of bw_r_idct.v
818
   wire [32:0]    ict_itlb_tag3_f;        // From ict of bw_r_idct.v
819
 
820
   // sscan rename
821
   wire [3:0]       ifq_sscan_data;         // From ifqctl of sparc_ifu_ifqctl.v
822
   // bist rename
823
   wire [7:0]       mbist_icache_wdata;
824
 
825
 
826
   // rptr bus for bist read of icache
827
   wire [67:0]      wsel_mbist_icache_data;
828
 
829
   // bus width mismatch
830
   wire [`IC_TAG_SZ:0] ifq_ict_wrtag_f;        // From ifqdp of sparc_ifu_ifqdp.v
831
 
832
   // scan wires
833
   wire                scan0_1;
834
   wire                scan0_2;
835
   wire                scan0_3;
836
   wire                scan0_4;
837
   wire                scan0_5;
838
   wire                scan0_6;
839
   wire                scan0_7;
840
   wire                scan0_8;
841
   wire                scan0_9;
842
   wire                scan0_10;
843
   wire                scan0_11;
844
   wire                scan0_12;
845
   wire                scan0_13;
846
 
847
   wire                short_scan1_1;
848
   wire                short_scan0_1;
849
   wire                short_scan0_2;
850
 
851
 
852
//----------------------------------------------------------------------
853
// Code start here 
854
//----------------------------------------------------------------------
855
 
856
//   sparc_ifu_dtu dtu(
857
//                   .thr_config_in_w (exu_tlu_wsr_data_w[2:0]),
858
//                    /*AUTOINST*/);
859
 
860
   // decode
861
   sparc_ifu_dec dec(
862
                     .so                (scan0_1),
863
                     .si                (si0),
864
                        /*AUTOINST*/
865
                     // Outputs
866
                     .ifu_exu_aluop_d   (ifu_exu_aluop_d[2:0]),
867
                     .ifu_exu_invert_d  (ifu_exu_invert_d),
868
                     .ifu_exu_useimm_d  (ifu_exu_useimm_d),
869
                     .ifu_exu_usecin_d  (ifu_exu_usecin_d),
870
                     .ifu_exu_enshift_d (ifu_exu_enshift_d),
871
                     .ifu_exu_tagop_d   (ifu_exu_tagop_d),
872
                     .ifu_exu_tv_d      (ifu_exu_tv_d),
873
                     .ifu_exu_muls_d    (ifu_exu_muls_d),
874
                     .ifu_exu_ialign_d  (ifu_exu_ialign_d),
875
                     .ifu_exu_range_check_jlret_d(ifu_exu_range_check_jlret_d),
876
                     .ifu_exu_range_check_other_d(ifu_exu_range_check_other_d),
877
                     .ifu_exu_shiftop_d (ifu_exu_shiftop_d[2:0]),
878
                     .ifu_exu_muldivop_d(ifu_exu_muldivop_d[4:0]),
879
                     .ifu_exu_wen_d     (ifu_exu_wen_d),
880
                     .ifu_exu_setcc_d   (ifu_exu_setcc_d),
881
                     .ifu_exu_rd_ifusr_e(ifu_exu_rd_ifusr_e),
882
                     .ifu_exu_rd_exusr_e(ifu_exu_rd_exusr_e),
883
                     .ifu_exu_rd_ffusr_e(ifu_exu_rd_ffusr_e),
884
                     .ifu_exu_rs1_vld_d (ifu_exu_rs1_vld_d),
885
                     .ifu_exu_rs2_vld_d (ifu_exu_rs2_vld_d),
886
                     .ifu_exu_rs3e_vld_d(ifu_exu_rs3e_vld_d),
887
                     .ifu_exu_rs3o_vld_d(ifu_exu_rs3o_vld_d),
888
                     .ifu_exu_use_rsr_e_l(ifu_exu_use_rsr_e_l),
889
                     .ifu_exu_save_d    (ifu_exu_save_d),
890
                     .ifu_exu_restore_d (ifu_exu_restore_d),
891
                     .ifu_exu_return_d  (ifu_exu_return_d),
892
                     .ifu_exu_flushw_e  (ifu_exu_flushw_e),
893
                     .ifu_exu_saved_e   (ifu_exu_saved_e),
894
                     .ifu_exu_restored_e(ifu_exu_restored_e),
895
                     .ifu_tlu_rsr_inst_d(ifu_tlu_rsr_inst_d),
896
                     .ifu_lsu_wsr_inst_d(ifu_lsu_wsr_inst_d),
897
                     .ifu_exu_wsr_inst_d(ifu_exu_wsr_inst_d),
898
                     .ifu_tlu_done_inst_d(ifu_tlu_done_inst_d),
899
                     .ifu_tlu_retry_inst_d(ifu_tlu_retry_inst_d),
900
                     .ifu_lsu_ld_inst_e (ifu_lsu_ld_inst_e),
901
                     .ifu_lsu_st_inst_e (ifu_lsu_st_inst_e),
902
                     .ifu_lsu_pref_inst_e(ifu_lsu_pref_inst_e),
903
                     .ifu_lsu_alt_space_e(ifu_lsu_alt_space_e),
904
                     .ifu_lsu_alt_space_d(ifu_lsu_alt_space_d),
905
                     .ifu_tlu_alt_space_d(ifu_tlu_alt_space_d),
906
                     .ifu_lsu_memref_d  (ifu_lsu_memref_d),
907
                     .ifu_lsu_sign_ext_e(ifu_lsu_sign_ext_e),
908
                     .ifu_lsu_ldstub_e  (ifu_lsu_ldstub_e),
909
                     .ifu_lsu_casa_e    (ifu_lsu_casa_e),
910
                     .ifu_exu_casa_d    (ifu_exu_casa_d),
911
                     .ifu_lsu_swap_e    (ifu_lsu_swap_e),
912
                     .ifu_tlu_mb_inst_e (ifu_tlu_mb_inst_e),
913
                     .ifu_tlu_sir_inst_m(ifu_tlu_sir_inst_m),
914
                     .ifu_tlu_flsh_inst_e(ifu_tlu_flsh_inst_e),
915
                     .ifu_lsu_ldst_dbl_e(ifu_lsu_ldst_dbl_e),
916
                     .ifu_lsu_ldst_fp_e (ifu_lsu_ldst_fp_e),
917
                     .ifu_lsu_ldst_size_e(ifu_lsu_ldst_size_e[1:0]),
918
                     .ifu_ffu_fpop1_d   (ifu_ffu_fpop1_d),
919
                     .ifu_ffu_visop_d   (ifu_ffu_visop_d),
920
                     .ifu_ffu_fpop2_d   (ifu_ffu_fpop2_d),
921
                     .ifu_ffu_fld_d     (ifu_ffu_fld_d),
922
                     .ifu_ffu_fst_d     (ifu_ffu_fst_d),
923
                     .ifu_ffu_ldst_size_d(ifu_ffu_ldst_size_d),
924
                     .ifu_ffu_ldfsr_d   (ifu_ffu_ldfsr_d),
925
                     .ifu_ffu_ldxfsr_d  (ifu_ffu_ldxfsr_d),
926
                     .ifu_ffu_stfsr_d   (ifu_ffu_stfsr_d),
927
                     .ifu_ffu_quad_op_e (ifu_ffu_quad_op_e),
928
                     .dec_fcl_rdsr_sel_pc_d(dec_fcl_rdsr_sel_pc_d),
929
                     .dec_fcl_rdsr_sel_thr_d(dec_fcl_rdsr_sel_thr_d),
930
                     .dec_imd_call_inst_d(dec_imd_call_inst_d),
931
                     .dtu_fcl_flush_sonly_e(dtu_fcl_flush_sonly_e),
932
                     .dtu_fcl_illinst_e (dtu_fcl_illinst_e),
933
                     .dtu_fcl_fpdis_e   (dtu_fcl_fpdis_e),
934
                     .dtu_fcl_privop_e  (dtu_fcl_privop_e),
935
                     .dtu_fcl_imask_hit_e(dtu_fcl_imask_hit_e),
936
                     .dtu_fcl_br_inst_d (dtu_fcl_br_inst_d),
937
                     .dtu_fcl_sir_inst_e(dtu_fcl_sir_inst_e),
938
                     .dtu_ifq_kill_latest_d(dtu_ifq_kill_latest_d),
939
                     .dec_swl_wrt_tcr_w (dec_swl_wrt_tcr_w),
940
                     .dec_swl_wrtfprs_w (dec_swl_wrtfprs_w),
941
                     .dec_swl_ll_done_d (dec_swl_ll_done_d),
942
                     .dec_swl_br_done_d (dec_swl_br_done_d),
943
                     .dec_swl_rdsr_sel_thr_d(dec_swl_rdsr_sel_thr_d),
944
                     .dec_swl_ld_inst_d (dec_swl_ld_inst_d),
945
                     .dec_swl_sta_inst_e(dec_swl_sta_inst_e),
946
                     .dec_swl_std_inst_d(dec_swl_std_inst_d),
947
                     .dec_swl_st_inst_d (dec_swl_st_inst_d),
948
                     .dec_swl_fpop_d    (dec_swl_fpop_d),
949
                     .dec_swl_allfp_d   (dec_swl_allfp_d),
950
                     .dec_swl_frf_upper_d(dec_swl_frf_upper_d),
951
                     .dec_swl_frf_lower_d(dec_swl_frf_lower_d),
952
                     .dec_swl_div_inst_d(dec_swl_div_inst_d),
953
                     .dec_swl_mul_inst_d(dec_swl_mul_inst_d),
954
                     .wsr_fixed_inst_w  (wsr_fixed_inst_w),
955
                     .ifu_exu_sethi_inst_d(ifu_exu_sethi_inst_d),
956
                     .dec_dcl_cctype_d  (dec_dcl_cctype_d[2:0]),
957
                     // Inputs
958
                     .rclk              (rclk),
959
                     .se                (se),
960
                     .dtu_inst_d        (dtu_inst_d[31:0]),
961
                     .erb_dtu_imask     (erb_dtu_imask[38:0]),
962
                     .swl_dec_ibe_e     (swl_dec_ibe_e),
963
                     .dtu_inst_anull_e  (dtu_inst_anull_e),
964
                     .lsu_ifu_ldsta_internal_e(lsu_ifu_ldsta_internal_e),
965
                     .fcl_dtu_tlzero_d  (fcl_dtu_tlzero_d),
966
                     .fcl_dtu_privmode_d(fcl_dtu_privmode_d),
967
                     .fcl_dtu_hprivmode_d(fcl_dtu_hprivmode_d),
968
                     .fcl_dtu_inst_vld_d(fcl_dtu_inst_vld_d),
969
                     .fcl_dtu_ely_inst_vld_d(fcl_dtu_ely_inst_vld_d),
970
                     .fcl_dec_intr_vld_d(fcl_dec_intr_vld_d),
971
                     .fcl_dtu_inst_vld_e(fcl_dtu_inst_vld_e),
972
                     .fcl_dec_dslot_s   (fcl_dec_dslot_s),
973
                     .swl_dec_mulbusy_e (swl_dec_mulbusy_e),
974
                     .swl_dec_fpbusy_e  (swl_dec_fpbusy_e),
975
                     .swl_dec_divbusy_e (swl_dec_divbusy_e),
976
                     .swl_dec_fp_enable_d(swl_dec_fp_enable_d));
977
 
978
 
979
   // Pipeline Control and Switch Logic
980
   sparc_ifu_swl swl(
981
                     .so                (scan0_2),
982
                     .si                (scan0_1),
983
                                 .thr_config_in_m       (exu_tlu_wsr_data_m[2:0]),
984
                     .extra_longlat_compl(4'b0),
985
 
986
                                 /*AUTOINST*/
987
                     // Outputs
988
                     .swl_sscan_thrstate(swl_sscan_thrstate[10:0]),
989
                     .dtu_reset         (dtu_reset),
990
                     .swl_dec_mulbusy_e (swl_dec_mulbusy_e),
991
                     .swl_dec_divbusy_e (swl_dec_divbusy_e),
992
                     .swl_dec_fpbusy_e  (swl_dec_fpbusy_e),
993
                     .swl_dec_fp_enable_d(swl_dec_fp_enable_d),
994
                     .swl_dec_ibe_e     (swl_dec_ibe_e),
995
                     .dtu_fcl_ntr_s     (dtu_fcl_ntr_s),
996
                     .dtu_fcl_running_s (dtu_fcl_running_s),
997
                     .dtu_fcl_rollback_g(dtu_fcl_rollback_g),
998
                     .dtu_fcl_retract_d (dtu_fcl_retract_d),
999
                     .dtu_fcl_thr_active(dtu_fcl_thr_active[3:0]),
1000
                     .dtu_fcl_nextthr_bf(dtu_fcl_nextthr_bf[3:0]),
1001
                     .swl_dcl_thr_d     (swl_dcl_thr_d[3:0]),
1002
                     .swl_dcl_thr_w2    (swl_dcl_thr_w2[3:0]),
1003
                     .dtu_fdp_thrconf_e (dtu_fdp_thrconf_e[40:0]),
1004
                     // Inputs
1005
                     .rclk              (rclk),
1006
                     .se                (se),
1007
                     .gdbginit_l        (gdbginit_l),
1008
                     .arst_l            (arst_l),
1009
                     .grst_l            (grst_l),
1010
                     .ctu_sscan_tid     (ctu_sscan_tid[3:0]),
1011
                     .ifq_dtu_thrrdy    (ifq_dtu_thrrdy[3:0]),
1012
                     .ifq_dtu_pred_rdy  (ifq_dtu_pred_rdy[3:0]),
1013
                     .ifu_tlu_inst_vld_w(ifu_tlu_inst_vld_w),
1014
                     .ifu_tlu_ttype_vld_m(ifu_tlu_ttype_vld_m),
1015
                     .fcl_dtu_hprivmode_d(fcl_dtu_hprivmode_d),
1016
                     .fcl_dtu_hprivmode_w2(fcl_dtu_hprivmode_w2),
1017
                     .tlu_ifu_flush_pipe_w(tlu_ifu_flush_pipe_w),
1018
                     .fcl_swl_flush_w   (fcl_swl_flush_w),
1019
                     .fcl_dtu_sync_intr_d(fcl_dtu_sync_intr_d),
1020
                     .fcl_dtu_nuke_thr_w(fcl_dtu_nuke_thr_w),
1021
                     .fcl_dtu_rst_thr_w (fcl_dtu_rst_thr_w),
1022
                     .fcl_dtu_resum_thr_w(fcl_dtu_resum_thr_w),
1023
                     .fcl_dtu_thr_f     (fcl_dtu_thr_f[3:0]),
1024
                     .tlu_hpstate_ibe   (tlu_hpstate_ibe[3:0]),
1025
                     .lsu_ifu_ldsta_internal_e(lsu_ifu_ldsta_internal_e),
1026
                     .tlu_ifu_trappc_vld_w1(tlu_ifu_trappc_vld_w1),
1027
                     .dec_swl_ll_done_d (dec_swl_ll_done_d),
1028
                     .dec_swl_br_done_d (dec_swl_br_done_d),
1029
                     .dec_swl_rdsr_sel_thr_d(dec_swl_rdsr_sel_thr_d),
1030
                     .dec_swl_std_inst_d(dec_swl_std_inst_d),
1031
                     .dec_swl_sta_inst_e(dec_swl_sta_inst_e),
1032
                     .wsr_fixed_inst_w  (wsr_fixed_inst_w),
1033
                     .dec_swl_ld_inst_d (dec_swl_ld_inst_d),
1034
                     .dec_swl_mul_inst_d(dec_swl_mul_inst_d),
1035
                     .dec_swl_div_inst_d(dec_swl_div_inst_d),
1036
                     .dec_swl_fpop_d    (dec_swl_fpop_d),
1037
                     .dec_swl_allfp_d   (dec_swl_allfp_d),
1038
                     .dec_swl_frf_upper_d(dec_swl_frf_upper_d),
1039
                     .dec_swl_frf_lower_d(dec_swl_frf_lower_d),
1040
                     .dec_swl_wrtfprs_w (dec_swl_wrtfprs_w),
1041
                     .dcl_swl_tcc_done_m(dcl_swl_tcc_done_m),
1042
                     .exu_ifu_longop_done_g(exu_ifu_longop_done_g[3:0]),
1043
                     .exu_ifu_spill_e   (exu_ifu_spill_e),
1044
                     .lsu_ifu_ldst_cmplt(lsu_ifu_ldst_cmplt[3:0]),
1045
                     .lsu_ifu_dc_parity_error_w2(lsu_ifu_dc_parity_error_w2),
1046
                     .lsu_ifu_stbcnt0   (lsu_ifu_stbcnt0[3:0]),
1047
                     .lsu_ifu_stbcnt1   (lsu_ifu_stbcnt1[3:0]),
1048
                     .lsu_ifu_stbcnt2   (lsu_ifu_stbcnt2[3:0]),
1049
                     .lsu_ifu_stbcnt3   (lsu_ifu_stbcnt3[3:0]),
1050
                     .lsu_ifu_quad_asi_e(lsu_ifu_quad_asi_e),
1051
                     .ffu_ifu_fpop_done_w2(ffu_ifu_fpop_done_w2),
1052
                     .ffu_ifu_tid_w2    (ffu_ifu_tid_w2[1:0]),
1053
                     .ffu_ifu_fst_ce_w  (ffu_ifu_fst_ce_w),
1054
                     .tlu_ifu_trap_tid_w1(tlu_ifu_trap_tid_w1[1:0]),
1055
                     .tlu_ifu_pstate_pef(tlu_ifu_pstate_pef[3:0]),
1056
                     .lsu_ifu_ldst_miss_g(lsu_ifu_ldst_miss_g),
1057
                     .fcl_swl_int_activate_i3(fcl_swl_int_activate_i3[3:0]),
1058
                     .fcl_swl_flush_wake_w(fcl_swl_flush_wake_w),
1059
                     .ifq_swl_stallreq  (ifq_swl_stallreq),
1060
                     .fcl_dtu_stall_bf  (fcl_dtu_stall_bf),
1061
                     .fcl_swl_swout_f   (fcl_swl_swout_f),
1062
                     .fcl_swl_swcvld_s  (fcl_swl_swcvld_s),
1063
                     .fdp_fcl_swc_s2    (fdp_fcl_swc_s2),
1064
                     .fcl_ifq_icmiss_s1 (fcl_ifq_icmiss_s1),
1065
                     .fcl_dtu_inst_vld_e(fcl_dtu_inst_vld_e),
1066
                     .fcl_dtu_intr_vld_e(fcl_dtu_intr_vld_e),
1067
                     .fcl_dtu_inst_vld_d(fcl_dtu_inst_vld_d),
1068
                     .erb_dtu_ifeterr_d1(erb_dtu_ifeterr_d1),
1069
                     .dtu_inst_anull_e  (dtu_inst_anull_e),
1070
                     .const_cpuid       (const_cpuid[3:0]),
1071
                     .dec_swl_wrt_tcr_w (dec_swl_wrt_tcr_w),
1072
                     .dec_swl_st_inst_d (dec_swl_st_inst_d));
1073
 
1074
   // Branch Logic
1075
   sparc_ifu_dcl  dcl(
1076
                      .so               (scan0_3),
1077
                      .si               (scan0_2),
1078
                                  .dtu_dcl_opf2_d       (dtu_inst_d[7]),
1079
                      .fdp_dcl_op_s     (fdp_dtu_inst_s[31:30]),
1080
                      .fdp_dcl_op3_s    (fdp_dtu_inst_s[24:19]),
1081
 
1082
                                  /*AUTOINST*/
1083
                      // Outputs
1084
                      .ifu_exu_kill_e   (ifu_exu_kill_e),
1085
                      .ifu_exu_dontmv_regz0_e(ifu_exu_dontmv_regz0_e),
1086
                      .ifu_exu_dontmv_regz1_e(ifu_exu_dontmv_regz1_e),
1087
                      .ifu_exu_tcc_e    (ifu_exu_tcc_e),
1088
                      .ifu_exu_dbrinst_d(ifu_exu_dbrinst_d),
1089
                      .ifu_ffu_mvcnd_m  (ifu_ffu_mvcnd_m),
1090
                      .dcl_fcl_bcregz0_e(dcl_fcl_bcregz0_e),
1091
                      .dcl_fcl_bcregz1_e(dcl_fcl_bcregz1_e),
1092
                      .dtu_inst_anull_e (dtu_inst_anull_e),
1093
                      .dcl_swl_tcc_done_m(dcl_swl_tcc_done_m),
1094
                      .dcl_imd_immdata_sel_simm13_d_l(dcl_imd_immdata_sel_simm13_d_l),
1095
                      .dcl_imd_immdata_sel_movcc_d_l(dcl_imd_immdata_sel_movcc_d_l),
1096
                      .dcl_imd_immdata_sel_sethi_d_l(dcl_imd_immdata_sel_sethi_d_l),
1097
                      .dcl_imd_immdata_sel_movr_d_l(dcl_imd_immdata_sel_movr_d_l),
1098
                      .dcl_imd_broff_sel_call_d_l(dcl_imd_broff_sel_call_d_l),
1099
                      .dcl_imd_broff_sel_br_d_l(dcl_imd_broff_sel_br_d_l),
1100
                      .dcl_imd_broff_sel_bcc_d_l(dcl_imd_broff_sel_bcc_d_l),
1101
                      .dcl_imd_broff_sel_bpcc_d_l(dcl_imd_broff_sel_bpcc_d_l),
1102
                      .dcl_imd_immbr_sel_br_d(dcl_imd_immbr_sel_br_d),
1103
                      // Inputs
1104
                      .rclk             (rclk),
1105
                      .se               (se),
1106
                      .dtu_reset        (dtu_reset),
1107
                      .exu_ifu_cc_d     (exu_ifu_cc_d[7:0]),
1108
                      .fcl_dcl_regz_e   (fcl_dcl_regz_e),
1109
                      .exu_ifu_regn_e   (exu_ifu_regn_e),
1110
                      .ffu_ifu_cc_w2    (ffu_ifu_cc_w2[7:0]),
1111
                      .ffu_ifu_cc_vld_w2(ffu_ifu_cc_vld_w2[3:0]),
1112
                      .tlu_ifu_flush_pipe_w(tlu_ifu_flush_pipe_w),
1113
                      .swl_dcl_thr_d    (swl_dcl_thr_d[3:0]),
1114
                      .swl_dcl_thr_w2   (swl_dcl_thr_w2[3:0]),
1115
                      .imd_dcl_brcond_d (imd_dcl_brcond_d[3:0]),
1116
                      .imd_dcl_mvcond_d (imd_dcl_mvcond_d[7:0]),
1117
                      .imd_dcl_abit_d   (imd_dcl_abit_d),
1118
                      .dec_dcl_cctype_d (dec_dcl_cctype_d[2:0]),
1119
                      .fcl_dtu_inst_vld_e(fcl_dtu_inst_vld_e),
1120
                      .fcl_dtu_intr_vld_e(fcl_dtu_intr_vld_e),
1121
                      .ifu_tlu_flush_w  (ifu_tlu_flush_w));
1122
 
1123
/*   sparc_ifu_imd AUTO_TEMPLATE(
1124
                         .dcl_imd_call_inst_d (dec_imd_call_inst_d),
1125
                         );
1126
 
1127
*/
1128
   sparc_ifu_imd  imd(
1129
                      .so               (scan0_4),
1130
                      .si               (scan0_3),
1131
 
1132
                      /*AUTOINST*/
1133
                      // Outputs
1134
                      .ifu_exu_imm_data_d(ifu_exu_imm_data_d[31:0]),
1135
                      .dtu_inst_d       (dtu_inst_d[31:0]),
1136
                      .ifu_exu_rd_d     (ifu_exu_rd_d[4:0]),
1137
                      .ifu_lsu_rd_e     (ifu_lsu_rd_e[4:0]),
1138
                      .ifu_lsu_imm_asi_d(ifu_lsu_imm_asi_d[7:0]),
1139
                      .ifu_tlu_imm_asi_d(ifu_tlu_imm_asi_d[8:0]),
1140
                      .ifu_lsu_imm_asi_vld_d(ifu_lsu_imm_asi_vld_d),
1141
                      .ifu_tlu_sraddr_d (ifu_tlu_sraddr_d[6:0]),
1142
                      .ifu_tlu_sraddr_d_v2(ifu_tlu_sraddr_d_v2[6:0]),
1143
                      .imd_dcl_brcond_d (imd_dcl_brcond_d[3:0]),
1144
                      .imd_dcl_mvcond_d (imd_dcl_mvcond_d[7:0]),
1145
                      .imd_dcl_abit_d   (imd_dcl_abit_d),
1146
                      .ifu_ffu_frs1_d   (ifu_ffu_frs1_d[4:0]),
1147
                      .ifu_ffu_frs2_d   (ifu_ffu_frs2_d[4:0]),
1148
                      .ifu_ffu_frd_d    (ifu_ffu_frd_d[4:0]),
1149
                      .ifu_ffu_fpopcode_d(ifu_ffu_fpopcode_d[8:0]),
1150
                      .ifu_ffu_fcc_num_d(ifu_ffu_fcc_num_d[1:0]),
1151
                      // Inputs
1152
                      .rclk             (rclk),
1153
                      .se               (se),
1154
                      .fdp_dtu_inst_s   (fdp_dtu_inst_s[31:0]),
1155
                      .fcl_imd_oddwin_d (fcl_imd_oddwin_d),
1156
                      .dcl_imd_immdata_sel_simm13_d_l(dcl_imd_immdata_sel_simm13_d_l),
1157
                      .dcl_imd_immdata_sel_movcc_d_l(dcl_imd_immdata_sel_movcc_d_l),
1158
                      .dcl_imd_immdata_sel_sethi_d_l(dcl_imd_immdata_sel_sethi_d_l),
1159
                      .dcl_imd_immdata_sel_movr_d_l(dcl_imd_immdata_sel_movr_d_l),
1160
                      .dcl_imd_broff_sel_call_d_l(dcl_imd_broff_sel_call_d_l),
1161
                      .dcl_imd_broff_sel_br_d_l(dcl_imd_broff_sel_br_d_l),
1162
                      .dcl_imd_broff_sel_bcc_d_l(dcl_imd_broff_sel_bcc_d_l),
1163
                      .dcl_imd_broff_sel_bpcc_d_l(dcl_imd_broff_sel_bpcc_d_l),
1164
                      .dcl_imd_immbr_sel_br_d(dcl_imd_immbr_sel_br_d),
1165
                      .dcl_imd_call_inst_d(dec_imd_call_inst_d)); // Templated
1166
 
1167
   sparc_ifu_fdp  fdp(
1168
                      .so               (scan0_5),
1169
                      .si               (scan0_4),
1170
                     .fdp_itlb_ctxt_bf (fdp_itlb_ctxt_bf[12:0]),
1171
                      .fdp_icd_vaddr_bf (fdp_icd_vaddr_bf[47:2]),
1172
                      .icd_fdp_fetdata_s1(wsel_fdp_fetdata_s1[32:0]),
1173
                      .icd_fdp_topdata_s1(wsel_fdp_topdata_s1[32:0]),
1174
                      // eco 5362
1175
                      .fcl_fdp_addr_mask_d(ifu_exu_addr_mask_d),
1176
                      /*AUTOINST*/
1177
                      // Outputs
1178
                      .fdp_icv_index_bf (fdp_icv_index_bf[11:5]),
1179
                      .fdp_erb_pc_f     (fdp_erb_pc_f[47:0]),
1180
                      .fdp_dtu_inst_s   (fdp_dtu_inst_s[31:0]),
1181
                      .ifu_exu_pc_d     (ifu_exu_pc_d[47:0]),
1182
                      .ifu_exu_rs1_s    (ifu_exu_rs1_s[4:0]),
1183
                      .ifu_exu_rs2_s    (ifu_exu_rs2_s[4:0]),
1184
                      .ifu_exu_rs3_s    (ifu_exu_rs3_s[4:0]),
1185
                      .ifu_tlu_pc_m     (ifu_tlu_pc_m[48:0]),
1186
                      .ifu_tlu_npc_m    (ifu_tlu_npc_m[48:0]),
1187
                      .ifu_tlu_pc_oor_e (ifu_tlu_pc_oor_e),
1188
                      .ifu_exu_pcver_e  (ifu_exu_pcver_e[63:0]),
1189
                      .fdp_fcl_swc_s2   (fdp_fcl_swc_s2),
1190
                      .fdp_fcl_pc_oor_vec_f(fdp_fcl_pc_oor_vec_f[3:0]),
1191
                      .fdp_fcl_pc_oor_e (fdp_fcl_pc_oor_e),
1192
                      .fdp_fcl_op_s     (fdp_fcl_op_s[1:0]),
1193
                      .fdp_fcl_op3_s    (fdp_fcl_op3_s[5:2]),
1194
                      .fdp_fcl_ibit_s   (fdp_fcl_ibit_s),
1195
                      // Inputs
1196
                      .rclk             (rclk),
1197
                      .se               (se),
1198
                      .const_maskid     (const_maskid[7:0]),
1199
                      .lsu_t0_pctxt_state(lsu_t0_pctxt_state[12:0]),
1200
                      .lsu_t1_pctxt_state(lsu_t1_pctxt_state[12:0]),
1201
                      .lsu_t2_pctxt_state(lsu_t2_pctxt_state[12:0]),
1202
                      .lsu_t3_pctxt_state(lsu_t3_pctxt_state[12:0]),
1203
                      .exu_ifu_brpc_e   (exu_ifu_brpc_e[47:0]),
1204
                      .tlu_ifu_trappc_w2(tlu_ifu_trappc_w2[48:0]),
1205
                      .tlu_ifu_trapnpc_w2(tlu_ifu_trapnpc_w2[48:0]),
1206
                      .tlu_itlb_dmp_nctxt_g(tlu_itlb_dmp_nctxt_g),
1207
                      .tlu_itlb_dmp_actxt_g(tlu_itlb_dmp_actxt_g),
1208
                      .tlu_itlb_tte_tag_w2(tlu_itlb_tte_tag_w2[12:0]),
1209
                      .dtu_fdp_thrconf_e(dtu_fdp_thrconf_e[40:0]),
1210
                      .ifq_fdp_fill_inst(ifq_fdp_fill_inst[32:0]),
1211
                      .fcl_fdp_oddwin_s (fcl_fdp_oddwin_s),
1212
                      .fcl_fdp_pcoor_vec_f(fcl_fdp_pcoor_vec_f[3:0]),
1213
                      .fcl_fdp_pcoor_f  (fcl_fdp_pcoor_f),
1214
                      .fcl_fdp_mask32b_f(fcl_fdp_mask32b_f),
1215
                      .fcl_fdp_tctxt_sel_prim(fcl_fdp_tctxt_sel_prim[3:0]),
1216
                      .fcl_fdp_usenir_sel_nir_s1(fcl_fdp_usenir_sel_nir_s1),
1217
                      .fcl_fdp_rbinst_sel_inste_s(fcl_fdp_rbinst_sel_inste_s[3:0]),
1218
                      .fcl_fdp_thrtnpc_sel_tnpc_l(fcl_fdp_thrtnpc_sel_tnpc_l[3:0]),
1219
                      .fcl_fdp_thrtnpc_sel_npcw_l(fcl_fdp_thrtnpc_sel_npcw_l[3:0]),
1220
                      .fcl_fdp_thrtnpc_sel_pcf_l(fcl_fdp_thrtnpc_sel_pcf_l[3:0]),
1221
                      .fcl_fdp_thrtnpc_sel_old_l(fcl_fdp_thrtnpc_sel_old_l[3:0]),
1222
                      .fcl_fdp_thr_s1_l (fcl_fdp_thr_s1_l[3:0]),
1223
                      .fcl_fdp_next_thr_bf_l(fcl_fdp_next_thr_bf_l[3:0]),
1224
                      .fcl_fdp_next_ctxt_bf_l(fcl_fdp_next_ctxt_bf_l[3:0]),
1225
                      .fcl_fdp_thr_s2_l (fcl_fdp_thr_s2_l[3:0]),
1226
                      .fcl_fdp_nirthr_s1_l(fcl_fdp_nirthr_s1_l[3:0]),
1227
                      .fcl_fdp_tpcbf_sel_pcp4_bf_l(fcl_fdp_tpcbf_sel_pcp4_bf_l[3:0]),
1228
                      .fcl_fdp_tpcbf_sel_brpc_bf_l(fcl_fdp_tpcbf_sel_brpc_bf_l[3:0]),
1229
                      .fcl_fdp_tpcbf_sel_trap_bf_l(fcl_fdp_tpcbf_sel_trap_bf_l[3:0]),
1230
                      .fcl_fdp_tpcbf_sel_old_bf_l(fcl_fdp_tpcbf_sel_old_bf_l[3:0]),
1231
                      .fcl_fdp_pcbf_sel_swpc_bf_l(fcl_fdp_pcbf_sel_swpc_bf_l),
1232
                      .fcl_fdp_pcbf_sel_nosw_bf_l(fcl_fdp_pcbf_sel_nosw_bf_l),
1233
                      .fcl_fdp_pcbf_sel_br_bf_l(fcl_fdp_pcbf_sel_br_bf_l),
1234
                      .fcl_fdp_trrbpc_sel_trap_bf_l(fcl_fdp_trrbpc_sel_trap_bf_l[3:0]),
1235
                      .fcl_fdp_trrbpc_sel_rb_bf_l(fcl_fdp_trrbpc_sel_rb_bf_l[3:0]),
1236
                      .fcl_fdp_trrbpc_sel_err_bf_l(fcl_fdp_trrbpc_sel_err_bf_l[3:0]),
1237
                      .fcl_fdp_trrbpc_sel_pcs_bf_l(fcl_fdp_trrbpc_sel_pcs_bf_l[3:0]),
1238
                      .fcl_fdp_noswpc_sel_tnpc_l_bf(fcl_fdp_noswpc_sel_tnpc_l_bf),
1239
                      .fcl_fdp_noswpc_sel_old_l_bf(fcl_fdp_noswpc_sel_old_l_bf),
1240
                      .fcl_fdp_noswpc_sel_inc_l_bf(fcl_fdp_noswpc_sel_inc_l_bf),
1241
                      .fcl_fdp_nextpcs_sel_pce_f_l(fcl_fdp_nextpcs_sel_pce_f_l[3:0]),
1242
                      .fcl_fdp_nextpcs_sel_pcd_f_l(fcl_fdp_nextpcs_sel_pcd_f_l[3:0]),
1243
                      .fcl_fdp_nextpcs_sel_pcs_f_l(fcl_fdp_nextpcs_sel_pcs_f_l[3:0]),
1244
                      .fcl_fdp_nextpcs_sel_pcf_f_l(fcl_fdp_nextpcs_sel_pcf_f_l[3:0]),
1245
                      .fcl_fdp_rdsr_sel_pc_e_l(fcl_fdp_rdsr_sel_pc_e_l),
1246
                      .fcl_fdp_rdsr_sel_ver_e_l(fcl_fdp_rdsr_sel_ver_e_l),
1247
                      .fcl_fdp_rdsr_sel_thr_e_l(fcl_fdp_rdsr_sel_thr_e_l),
1248
                      .fcl_fdp_inst_sel_curr_s_l(fcl_fdp_inst_sel_curr_s_l),
1249
                      .fcl_fdp_inst_sel_switch_s_l(fcl_fdp_inst_sel_switch_s_l),
1250
                      .fcl_fdp_inst_sel_nir_s_l(fcl_fdp_inst_sel_nir_s_l),
1251
                      .fcl_fdp_inst_sel_nop_s_l(fcl_fdp_inst_sel_nop_s_l),
1252
                      .fcl_fdp_tinst_sel_curr_s_l(fcl_fdp_tinst_sel_curr_s_l[3:0]),
1253
                      .fcl_fdp_tinst_sel_rb_s_l(fcl_fdp_tinst_sel_rb_s_l[3:0]),
1254
                      .fcl_fdp_tinst_sel_old_s_l(fcl_fdp_tinst_sel_old_s_l[3:0]),
1255
                      .fcl_fdp_tinst_sel_ifq_s_l(fcl_fdp_tinst_sel_ifq_s_l[3:0]),
1256
                      .fcl_fdp_dmpthr_l (fcl_fdp_dmpthr_l[3:0]),
1257
                      .fcl_fdp_ctxt_sel_dmp_bf_l(fcl_fdp_ctxt_sel_dmp_bf_l),
1258
                      .fcl_fdp_ctxt_sel_sw_bf_l(fcl_fdp_ctxt_sel_sw_bf_l),
1259
                      .fcl_fdp_ctxt_sel_curr_bf_l(fcl_fdp_ctxt_sel_curr_bf_l));
1260
 
1261
   sparc_ifu_fcl fcl(
1262
                     .so                (short_scan1_1),
1263
                     .si                (short_si1),
1264
                     .rst_tri_en        (mux_drive_disable),
1265
 
1266
                     // keep around in case we need it later
1267
                     .ifu_reset_l       (),
1268
 
1269
                                 .fdp_fcl_va2_bf    (fdp_icd_vaddr_bf[2]),
1270
                     .itlb_fcl_priv_s1  (itlb_rd_tte_data[`STLB_DATA_P]),
1271
                     .tlu_fcl_dmp_pid_bf (tlu_itlb_tte_tag_w2[58:56]),
1272
                     .tlu_fcl_dmp_real_bf (tlu_itlb_tte_tag_w2[55]),
1273
                     .itlb_fcl_cp_s1    (itlb_rd_tte_data[`STLB_DATA_CP]),
1274
                     // need these here since itlb is not auto inst'ed
1275
                                 .fcl_itlb_invall_f_l(fcl_itlb_invall_f_l),
1276
                     .fcl_itlb_cam_vld_bf(fcl_itlb_cam_vld_bf),
1277
                     .fcl_itlb_cam_bypass_bf(fcl_itlb_cam_bypass_bf),
1278
                     .fcl_itlb_addr_mask_l(fcl_itlb_addr_mask_l),
1279
                     .fcl_itlb_cam_real_bf(fcl_itlb_cam_real_bf),
1280
                     .fcl_itlb_cam_pid_bf(fcl_itlb_cam_pid_bf[2:0]),
1281
                     .fcl_itlb_wr_vld_bf(fcl_itlb_wr_vld_bf),
1282
                     .fcl_itlb_dmp_vld_bf(fcl_itlb_dmp_vld_bf),
1283
                     .fcl_itlb_dmp_all_bf(fcl_itlb_dmp_all_bf),
1284
                     .fcl_itlb_tag_rd_vld_bf(fcl_itlb_tag_rd_vld_bf),
1285
                     .fcl_itlb_data_rd_vld_bf(fcl_itlb_data_rd_vld_bf),
1286
 
1287
                     // eco 5362
1288
                     .fcl_fdp_addr_mask_d(ifu_exu_addr_mask_d),
1289
 
1290
                      /*AUTOINST*/
1291
                     // Outputs
1292
                     .fcl_icd_rdreq_bf  (fcl_icd_rdreq_bf),
1293
                     .fcl_icv_rdreq_bf  (fcl_icv_rdreq_bf),
1294
                     .fcl_icd_wrreq_bf  (fcl_icd_wrreq_bf),
1295
                     .fcl_ict_wrreq_bf  (fcl_ict_wrreq_bf),
1296
                     .fcl_icv_wrreq_bf  (fcl_icv_wrreq_bf),
1297
                     .fcl_icd_index_sel_ifq_bf(fcl_icd_index_sel_ifq_bf),
1298
                     .fcl_ifq_grant_bf  (fcl_ifq_grant_bf),
1299
                     .fcl_ifq_icmiss_s1 (fcl_ifq_icmiss_s1),
1300
                     .fcl_ifq_rdreq_s1  (fcl_ifq_rdreq_s1),
1301
                     .fcl_ifq_icache_en_s_l(fcl_ifq_icache_en_s_l),
1302
                     .fcl_ifq_thr_s1    (fcl_ifq_thr_s1[1:0]),
1303
                     .fcl_ifq_canthr    (fcl_ifq_canthr[3:0]),
1304
                     .fcl_erb_ievld_s1  (fcl_erb_ievld_s1),
1305
                     .fcl_erb_tevld_s1  (fcl_erb_tevld_s1),
1306
                     .fcl_erb_immuevld_s1(fcl_erb_immuevld_s1),
1307
                     .ifu_lsu_thrid_s   (ifu_lsu_thrid_s[1:0]),
1308
                     .fcl_erb_asi_tid_f (fcl_erb_asi_tid_f[1:0]),
1309
                     .fcl_erb_clear_iferr(fcl_erb_clear_iferr[3:0]),
1310
                     .fcl_erb_itlbrd_vld_s(fcl_erb_itlbrd_vld_s),
1311
                     .fcl_erb_itlbrd_data_s(fcl_erb_itlbrd_data_s),
1312
                     .fcl_dec_dslot_s   (fcl_dec_dslot_s),
1313
                     .fcl_dtu_inst_vld_e(fcl_dtu_inst_vld_e),
1314
                     .fcl_dtu_intr_vld_e(fcl_dtu_intr_vld_e),
1315
                     .fcl_dtu_inst_vld_d(fcl_dtu_inst_vld_d),
1316
                     .fcl_dtu_ely_inst_vld_d(fcl_dtu_ely_inst_vld_d),
1317
                     .fcl_dec_intr_vld_d(fcl_dec_intr_vld_d),
1318
                     .fcl_erb_inst_issue_d(fcl_erb_inst_issue_d),
1319
                     .fcl_erb_inst_vld_d1(fcl_erb_inst_vld_d1),
1320
                     .ifu_tlu_inst_vld_m(ifu_tlu_inst_vld_m),
1321
                     .ifu_exu_inst_vld_e(ifu_exu_inst_vld_e),
1322
                     .ifu_exu_inst_vld_w(ifu_exu_inst_vld_w),
1323
                     .ifu_spu_inst_vld_w(ifu_spu_inst_vld_w),
1324
                     .ifu_tlu_inst_vld_w(ifu_tlu_inst_vld_w),
1325
                     .ifu_tlu_flush_w   (ifu_tlu_flush_w),
1326
                     .ifu_tlu_flush_m   (ifu_tlu_flush_m),
1327
                     .fcl_swl_int_activate_i3(fcl_swl_int_activate_i3[3:0]),
1328
                     .fcl_swl_flush_wake_w(fcl_swl_flush_wake_w),
1329
                     .fcl_swl_flush_w   (fcl_swl_flush_w),
1330
                     .fcl_dcl_regz_e    (fcl_dcl_regz_e),
1331
                     .ifu_tlu_thrid_e   (ifu_tlu_thrid_e[1:0]),
1332
                     .ifu_tlu_thrid_d   (ifu_tlu_thrid_d[1:0]),
1333
                     .ifu_tlu_immu_miss_m(ifu_tlu_immu_miss_m),
1334
                     .ifu_tlu_priv_violtn_m(ifu_tlu_priv_violtn_m),
1335
                     .ifu_tlu_icmiss_e  (ifu_tlu_icmiss_e),
1336
                     .ifu_tlu_ttype_vld_m(ifu_tlu_ttype_vld_m),
1337
                     .ifu_exu_ttype_vld_m(ifu_exu_ttype_vld_m),
1338
                     .ifu_mmu_trap_m    (ifu_mmu_trap_m),
1339
                     .ifu_tlu_trap_m    (ifu_tlu_trap_m),
1340
                     .ifu_tlu_ttype_m   (ifu_tlu_ttype_m[8:0]),
1341
                     .ifu_tlu_hwint_m   (ifu_tlu_hwint_m),
1342
                     .ifu_tlu_sftint_m  (ifu_tlu_sftint_m),
1343
                     .ifu_tlu_rstint_m  (ifu_tlu_rstint_m),
1344
                     .fcl_dtu_rst_thr_w (fcl_dtu_rst_thr_w),
1345
                     .fcl_dtu_resum_thr_w(fcl_dtu_resum_thr_w),
1346
                     .ifu_tlu_itlb_done (ifu_tlu_itlb_done),
1347
                     .ifu_spu_trap_ack  (ifu_spu_trap_ack),
1348
                     .ifu_exu_tid_s2    (ifu_exu_tid_s2[1:0]),
1349
                     .ifu_exu_ren1_s    (ifu_exu_ren1_s),
1350
                     .ifu_exu_ren2_s    (ifu_exu_ren2_s),
1351
                     .ifu_exu_ren3_s    (ifu_exu_ren3_s),
1352
                     .ifu_exu_disable_ce_e(ifu_exu_disable_ce_e),
1353
                     .fcl_dtu_sync_intr_d(fcl_dtu_sync_intr_d),
1354
                     .fcl_dtu_tlzero_d  (fcl_dtu_tlzero_d),
1355
                     .fcl_dtu_privmode_d(fcl_dtu_privmode_d),
1356
                     .fcl_dtu_hprivmode_d(fcl_dtu_hprivmode_d),
1357
                     .fcl_dtu_hprivmode_w2(fcl_dtu_hprivmode_w2),
1358
                     .fcl_dtu_nuke_thr_w(fcl_dtu_nuke_thr_w),
1359
                     .fcl_swl_swout_f   (fcl_swl_swout_f),
1360
                     .fcl_dtu_stall_bf  (fcl_dtu_stall_bf),
1361
                     .fcl_swl_swcvld_s  (fcl_swl_swcvld_s),
1362
                     .fcl_dtu_thr_f     (fcl_dtu_thr_f[3:0]),
1363
                     .fcl_imd_oddwin_d  (fcl_imd_oddwin_d),
1364
                     .fcl_fdp_oddwin_s  (fcl_fdp_oddwin_s),
1365
                     .fcl_fdp_pcoor_vec_f(fcl_fdp_pcoor_vec_f[3:0]),
1366
                     .fcl_fdp_pcoor_f   (fcl_fdp_pcoor_f),
1367
                     .fcl_fdp_mask32b_f (fcl_fdp_mask32b_f),
1368
                     .fcl_fdp_tctxt_sel_prim(fcl_fdp_tctxt_sel_prim[3:0]),
1369
                     .fcl_fdp_usenir_sel_nir_s1(fcl_fdp_usenir_sel_nir_s1),
1370
                     .fcl_fdp_rbinst_sel_inste_s(fcl_fdp_rbinst_sel_inste_s[3:0]),
1371
                     .fcl_fdp_thrtnpc_sel_tnpc_l(fcl_fdp_thrtnpc_sel_tnpc_l[3:0]),
1372
                     .fcl_fdp_thrtnpc_sel_npcw_l(fcl_fdp_thrtnpc_sel_npcw_l[3:0]),
1373
                     .fcl_fdp_thrtnpc_sel_pcf_l(fcl_fdp_thrtnpc_sel_pcf_l[3:0]),
1374
                     .fcl_fdp_thrtnpc_sel_old_l(fcl_fdp_thrtnpc_sel_old_l[3:0]),
1375
                     .fcl_fdp_thr_s1_l  (fcl_fdp_thr_s1_l[3:0]),
1376
                     .fcl_fdp_next_thr_bf_l(fcl_fdp_next_thr_bf_l[3:0]),
1377
                     .fcl_fdp_next_ctxt_bf_l(fcl_fdp_next_ctxt_bf_l[3:0]),
1378
                     .fcl_fdp_nirthr_s1_l(fcl_fdp_nirthr_s1_l[3:0]),
1379
                     .fcl_fdp_thr_s2_l  (fcl_fdp_thr_s2_l[3:0]),
1380
                     .fcl_fdp_tpcbf_sel_pcp4_bf_l(fcl_fdp_tpcbf_sel_pcp4_bf_l[3:0]),
1381
                     .fcl_fdp_tpcbf_sel_brpc_bf_l(fcl_fdp_tpcbf_sel_brpc_bf_l[3:0]),
1382
                     .fcl_fdp_tpcbf_sel_trap_bf_l(fcl_fdp_tpcbf_sel_trap_bf_l[3:0]),
1383
                     .fcl_fdp_tpcbf_sel_old_bf_l(fcl_fdp_tpcbf_sel_old_bf_l[3:0]),
1384
                     .fcl_fdp_pcbf_sel_nosw_bf_l(fcl_fdp_pcbf_sel_nosw_bf_l),
1385
                     .fcl_fdp_pcbf_sel_swpc_bf_l(fcl_fdp_pcbf_sel_swpc_bf_l),
1386
                     .fcl_fdp_pcbf_sel_br_bf_l(fcl_fdp_pcbf_sel_br_bf_l),
1387
                     .fcl_fdp_trrbpc_sel_trap_bf_l(fcl_fdp_trrbpc_sel_trap_bf_l[3:0]),
1388
                     .fcl_fdp_trrbpc_sel_rb_bf_l(fcl_fdp_trrbpc_sel_rb_bf_l[3:0]),
1389
                     .fcl_fdp_trrbpc_sel_err_bf_l(fcl_fdp_trrbpc_sel_err_bf_l[3:0]),
1390
                     .fcl_fdp_trrbpc_sel_pcs_bf_l(fcl_fdp_trrbpc_sel_pcs_bf_l[3:0]),
1391
                     .fcl_fdp_noswpc_sel_tnpc_l_bf(fcl_fdp_noswpc_sel_tnpc_l_bf),
1392
                     .fcl_fdp_noswpc_sel_old_l_bf(fcl_fdp_noswpc_sel_old_l_bf),
1393
                     .fcl_fdp_noswpc_sel_inc_l_bf(fcl_fdp_noswpc_sel_inc_l_bf),
1394
                     .fcl_fdp_nextpcs_sel_pce_f_l(fcl_fdp_nextpcs_sel_pce_f_l[3:0]),
1395
                     .fcl_fdp_nextpcs_sel_pcd_f_l(fcl_fdp_nextpcs_sel_pcd_f_l[3:0]),
1396
                     .fcl_fdp_nextpcs_sel_pcs_f_l(fcl_fdp_nextpcs_sel_pcs_f_l[3:0]),
1397
                     .fcl_fdp_nextpcs_sel_pcf_f_l(fcl_fdp_nextpcs_sel_pcf_f_l[3:0]),
1398
                     .fcl_fdp_inst_sel_curr_s_l(fcl_fdp_inst_sel_curr_s_l),
1399
                     .fcl_fdp_inst_sel_switch_s_l(fcl_fdp_inst_sel_switch_s_l),
1400
                     .fcl_fdp_inst_sel_nir_s_l(fcl_fdp_inst_sel_nir_s_l),
1401
                     .fcl_fdp_inst_sel_nop_s_l(fcl_fdp_inst_sel_nop_s_l),
1402
                     .fcl_fdp_tinst_sel_curr_s_l(fcl_fdp_tinst_sel_curr_s_l[3:0]),
1403
                     .fcl_fdp_tinst_sel_rb_s_l(fcl_fdp_tinst_sel_rb_s_l[3:0]),
1404
                     .fcl_fdp_tinst_sel_old_s_l(fcl_fdp_tinst_sel_old_s_l[3:0]),
1405
                     .fcl_fdp_tinst_sel_ifq_s_l(fcl_fdp_tinst_sel_ifq_s_l[3:0]),
1406
                     .fcl_fdp_dmpthr_l  (fcl_fdp_dmpthr_l[3:0]),
1407
                     .fcl_fdp_ctxt_sel_dmp_bf_l(fcl_fdp_ctxt_sel_dmp_bf_l),
1408
                     .fcl_fdp_ctxt_sel_sw_bf_l(fcl_fdp_ctxt_sel_sw_bf_l),
1409
                     .fcl_fdp_ctxt_sel_curr_bf_l(fcl_fdp_ctxt_sel_curr_bf_l),
1410
                     .fcl_fdp_rdsr_sel_pc_e_l(fcl_fdp_rdsr_sel_pc_e_l),
1411
                     .fcl_fdp_rdsr_sel_thr_e_l(fcl_fdp_rdsr_sel_thr_e_l),
1412
                     .fcl_fdp_rdsr_sel_ver_e_l(fcl_fdp_rdsr_sel_ver_e_l),
1413
                     // Inputs
1414
                     .rclk              (rclk),
1415
                     .grst_l            (grst_l),
1416
                     .arst_l            (arst_l),
1417
                     .se                (se),
1418
                     .sehold            (sehold),
1419
                     .tlu_ifu_flush_pipe_w(tlu_ifu_flush_pipe_w),
1420
                     .exu_ifu_va_oor_m  (exu_ifu_va_oor_m),
1421
                     .exu_ifu_oddwin_s  (exu_ifu_oddwin_s[3:0]),
1422
                     .spu_ifu_ttype_tid_w2(spu_ifu_ttype_tid_w2[1:0]),
1423
                     .spu_ifu_ttype_vld_w2(spu_ifu_ttype_vld_w2),
1424
                     .spu_ifu_ttype_w2  (spu_ifu_ttype_w2),
1425
                     .erb_fcl_spu_uetrap(erb_fcl_spu_uetrap[3:0]),
1426
                     .exu_ifu_regz_e    (exu_ifu_regz_e),
1427
                     .dcl_fcl_bcregz0_e (dcl_fcl_bcregz0_e),
1428
                     .dcl_fcl_bcregz1_e (dcl_fcl_bcregz1_e),
1429
                     .dtu_fcl_rollback_g(dtu_fcl_rollback_g),
1430
                     .dtu_fcl_retract_d (dtu_fcl_retract_d),
1431
                     .dtu_fcl_br_inst_d (dtu_fcl_br_inst_d),
1432
                     .dtu_fcl_sir_inst_e(dtu_fcl_sir_inst_e),
1433
                     .dtu_fcl_privop_e  (dtu_fcl_privop_e),
1434
                     .dtu_fcl_fpdis_e   (dtu_fcl_fpdis_e),
1435
                     .dtu_fcl_imask_hit_e(dtu_fcl_imask_hit_e),
1436
                     .dtu_fcl_illinst_e (dtu_fcl_illinst_e),
1437
                     .dtu_fcl_thr_active(dtu_fcl_thr_active[3:0]),
1438
                     .dec_fcl_rdsr_sel_pc_d(dec_fcl_rdsr_sel_pc_d),
1439
                     .dec_fcl_rdsr_sel_thr_d(dec_fcl_rdsr_sel_thr_d),
1440
                     .ifq_fcl_wrreq_bf  (ifq_fcl_wrreq_bf),
1441
                     .ifq_fcl_icd_wrreq_bf(ifq_fcl_icd_wrreq_bf),
1442
                     .ifq_fcl_ictv_wrreq_bf(ifq_fcl_ictv_wrreq_bf),
1443
                     .ifq_fcl_rdreq_bf  (ifq_fcl_rdreq_bf),
1444
                     .ifq_fcl_asi_tid_bf(ifq_fcl_asi_tid_bf[1:0]),
1445
                     .ifq_fcl_asird_bf  (ifq_fcl_asird_bf),
1446
                     .ifq_fcl_invreq_bf (ifq_fcl_invreq_bf),
1447
                     .erb_fcl_itlb_ce_d1(erb_fcl_itlb_ce_d1),
1448
                     .erb_dtu_ifeterr_d1(erb_dtu_ifeterr_d1),
1449
                     .erb_fcl_ifet_uevec_d1(erb_fcl_ifet_uevec_d1[3:0]),
1450
                     .erb_fcl_ue_trapvec(erb_fcl_ue_trapvec[3:0]),
1451
                     .erb_fcl_ce_trapvec(erb_fcl_ce_trapvec[3:0]),
1452
                     .dtu_fcl_nextthr_bf(dtu_fcl_nextthr_bf[3:0]),
1453
                     .dtu_fcl_ntr_s     (dtu_fcl_ntr_s),
1454
                     .dtu_fcl_running_s (dtu_fcl_running_s),
1455
                     .dtu_fcl_flush_sonly_e(dtu_fcl_flush_sonly_e),
1456
                     .fdp_fcl_swc_s2    (fdp_fcl_swc_s2),
1457
                     .itlb_fcl_tlbmiss_f_l(itlb_fcl_tlbmiss_f_l),
1458
                     .itlb_fcl_imiss_s_l(itlb_fcl_imiss_s_l),
1459
                     .fdp_fcl_pc_oor_vec_f(fdp_fcl_pc_oor_vec_f[3:0]),
1460
                     .fdp_fcl_pc_oor_e  (fdp_fcl_pc_oor_e),
1461
                     .fdp_fcl_op_s      (fdp_fcl_op_s[1:0]),
1462
                     .fdp_fcl_op3_s     (fdp_fcl_op3_s[5:2]),
1463
                     .fdp_fcl_ibit_s    (fdp_fcl_ibit_s),
1464
                     .lsu_ifu_stallreq  (lsu_ifu_stallreq),
1465
                     .ffu_ifu_stallreq  (ffu_ifu_stallreq),
1466
                     .ifq_fcl_stallreq  (ifq_fcl_stallreq),
1467
                     .dtu_inst_anull_e  (dtu_inst_anull_e),
1468
                     .ifq_fcl_fill_thr  (ifq_fcl_fill_thr[3:0]),
1469
                     .ifq_fcl_flush_sonly_e(ifq_fcl_flush_sonly_e),
1470
                     .tlu_ifu_trap_tid_w1(tlu_ifu_trap_tid_w1[1:0]),
1471
                     .tlu_ifu_trappc_vld_w1(tlu_ifu_trappc_vld_w1),
1472
                     .tlu_ifu_trapnpc_vld_w1(tlu_ifu_trapnpc_vld_w1),
1473
                     .tlu_lsu_pstate_priv(tlu_lsu_pstate_priv[3:0]),
1474
                     .tlu_lsu_pstate_am (tlu_lsu_pstate_am[3:0]),
1475
                     .tlu_hpstate_priv  (tlu_hpstate_priv[3:0]),
1476
                     .tlu_lsu_redmode   (tlu_lsu_redmode[3:0]),
1477
                     .tlu_hpstate_enb   (tlu_hpstate_enb[3:0]),
1478
                     .lsu_ifu_addr_real_l(lsu_ifu_addr_real_l[3:0]),
1479
                     .lsu_pid_state0    (lsu_pid_state0[2:0]),
1480
                     .lsu_pid_state1    (lsu_pid_state1[2:0]),
1481
                     .lsu_pid_state2    (lsu_pid_state2[2:0]),
1482
                     .lsu_pid_state3    (lsu_pid_state3[2:0]),
1483
                     .lsu_ifu_icache_en (lsu_ifu_icache_en[3:0]),
1484
                     .lsu_ifu_dc_parity_error_w2(lsu_ifu_dc_parity_error_w2),
1485
                     .lsu_ifu_t0_tlz    (lsu_ifu_t0_tlz),
1486
                     .lsu_ifu_t1_tlz    (lsu_ifu_t1_tlz),
1487
                     .lsu_ifu_t2_tlz    (lsu_ifu_t2_tlz),
1488
                     .lsu_ifu_t3_tlz    (lsu_ifu_t3_tlz),
1489
                     .tlu_ifu_hwint_i3  (tlu_ifu_hwint_i3[3:0]),
1490
                     .tlu_ifu_pstate_ie (tlu_ifu_pstate_ie[3:0]),
1491
                     .tlu_ifu_sftint_vld(tlu_ifu_sftint_vld[3:0]),
1492
                     .tlu_ifu_hintp_vld (tlu_ifu_hintp_vld[3:0]),
1493
                     .tlu_ifu_rerr_vld  (tlu_ifu_rerr_vld[3:0]),
1494
                     .tlu_ifu_rstthr_i2 (tlu_ifu_rstthr_i2[3:0]),
1495
                     .tlu_ifu_rstint_i2 (tlu_ifu_rstint_i2),
1496
                     .tlu_ifu_resumint_i2(tlu_ifu_resumint_i2),
1497
                     .tlu_ifu_nukeint_i2(tlu_ifu_nukeint_i2),
1498
                     .tlu_itlb_wr_vld_g (tlu_itlb_wr_vld_g),
1499
                     .tlu_itlb_dmp_vld_g(tlu_itlb_dmp_vld_g),
1500
                     .tlu_itlb_dmp_all_g(tlu_itlb_dmp_all_g),
1501
                     .tlu_itlb_data_rd_g(tlu_itlb_data_rd_g),
1502
                     .tlu_itlb_tag_rd_g (tlu_itlb_tag_rd_g),
1503
                     .tlu_itlb_invalidate_all_g(tlu_itlb_invalidate_all_g),
1504
                     .tlu_idtlb_dmp_thrid_g(tlu_idtlb_dmp_thrid_g[1:0]),
1505
                     .exu_ifu_ecc_ce_m  (exu_ifu_ecc_ce_m),
1506
                     .ffu_ifu_fst_ce_w  (ffu_ifu_fst_ce_w));
1507
 
1508
//   sparc_ifu_itlb itlb(
1509
//                        .adj    (lsu_idtlb_mrgn[7:0]),
1510
//                                        .reset  (fcl_itlb_invall_bf),
1511
//                        .tlu_itlb_dmp_actxt_g(tlu_itlb_dmp_actxt_g),
1512
//                        .itlb_vaddr_offset_f (fdp_erb_pc_f[`IC_IDX_HI:(`IC_IDX_HI-1)]),
1513
//                                        /*AUTOINST*/
1514
//                        // Outputs
1515
//                        .ifu_lsu_tlb_writeable(ifu_lsu_tlb_writeable),
1516
//                        .itlb_ifq_paddr_s(itlb_ifq_paddr_s[39:10]),
1517
//                        .itlb_icd_waysel_s1(itlb_icd_waysel_s1[3:0]),
1518
//                        .itlb_fcl_imiss_s_l(itlb_fcl_imiss_s_l),
1519
//                        .itlb_fcl_tlbmiss_f_l(itlb_fcl_tlbmiss_f_l),
1520
//                        .itlb_fcl_priv_s1(itlb_fcl_priv_s1),
1521
//                        .itlb_rd_tte_data(itlb_rd_tte_data[42:0]),
1522
//                        .itlb_rd_tte_tag(itlb_rd_tte_tag[58:0]),
1523
//                        .so             (so),
1524
                        // Inputs
1525
//                        .clk            (clk),
1526
//                        .se             (se),
1527
//                        .si             (si),
1528
//                        .fdp_icd_vaddr_bf(fdp_icd_vaddr_bf[47:10]),
1529
//                        .fdp_itlb_ctxt_bf(fdp_itlb_ctxt_bf[12:0]),
1530
//                        .ict_itlb_tags_f(ict_itlb_tags_f[`IC_TAG_ALL_HI:0]),
1531
//                        .icv_itlb_valid_f(icv_itlb_valid_f[3:0]),
1532
//                        .fcl_itlb_cam_vld_bf(fcl_itlb_cam_vld_bf),
1533
//                        .fcl_itlb_wr_vld_bf(fcl_itlb_wr_vld_bf),
1534
//                        .fcl_itlb_addr_mask_l(fcl_itlb_addr_mask_l),
1535
//                        .fcl_itlb_dmp_vld_bf(fcl_itlb_dmp_vld_bf),
1536
//                        .fcl_itlb_tag_rd_vld_bf(fcl_itlb_tag_rd_vld_bf),
1537
//                        .fcl_itlb_data_rd_vld_bf(fcl_itlb_data_rd_vld_bf),
1538
//                        .fcl_itlb_cam_real_bf(fcl_itlb_cam_real_bf),
1539
//                        .fcl_itlb_cam_pid_bf(fcl_itlb_cam_pid_bf[2:0]),
1540
//                        .tlu_itlb_tte_tag_w2(tlu_itlb_tte_tag_w2[58:0]),
1541
//                        .tlu_itlb_tte_data_w2(tlu_itlb_tte_data_w2[42:0]),
1542
//                        .tlu_itlb_rw_index_vld_g(tlu_itlb_rw_index_vld_g),
1543
//                        .tlu_itlb_rw_index_g(tlu_itlb_rw_index_g[5:0]),
1544
//                        .tlu_idtlb_dmp_key_g(tlu_idtlb_dmp_key_g[40:0]),
1545
//                        .tlu_itlb_dmp_by_ctxt_g(tlu_itlb_dmp_by_ctxt_g),
1546
//                        .tlu_itlb_dmp_all_g(tlu_itlb_dmp_all_g));
1547
 
1548 8 dmitryr
   bw_r_tlb_fpga itlb(
1549 2 dmitryr
                              .tlb_pgnum_crit   (),
1550
                              // Outputs
1551
                              .tlb_rd_tte_tag    (itlb_rd_tte_tag[58:0]),  // 2
1552
                              .tlb_rd_tte_data (itlb_rd_tte_data[42:0]), // 2
1553
                              .tlb_pgnum             (itlb_ifq_paddr_s[`IC_TAG_HI:10]), // 2
1554
                              .tlb_cam_hit         (itlb_fcl_tlbmiss_f_l),    // 1
1555
                              .cache_way_hit   (itlb_wsel_waysel_s1[3:0]), // 2
1556
                              .cache_hit       (itlb_fcl_imiss_s_l),      // 2
1557
                              .so               (short_scan0_1),
1558
 
1559
                                  // Inputs
1560
                  .rclk          (rclk),
1561
                  .rst_tri_en    (mem_write_disable),
1562
                              .tlb_cam_vld      (fcl_itlb_cam_vld_bf),       // 0
1563
 
1564
//`ifdef SPARC_HPV_EN               
1565
                  .tlb_cam_key   ({fdp_icd_vaddr_bf[47:28],  // 0
1566
                                   1'b1,
1567
                                   fdp_icd_vaddr_bf[27:22],
1568
                                   1'b1,
1569
                                   fdp_icd_vaddr_bf[21:16],
1570
                                   1'b1,
1571
                                   fdp_icd_vaddr_bf[15:13],
1572
                                   1'b1,
1573
                                   fcl_itlb_cam_real_bf,  // g is the same as r
1574
                                   fcl_itlb_cam_real_bf}),// this is the r bit
1575
 
1576
//`else // !`ifdef SPARC_HPV_EN
1577
//                  .tlb_cam_key ({1'b0, // unused          // 0
1578
//                                 fdp_icd_vaddr_bf[47:35], 
1579
//                                                             1'b1, // v47_22
1580
//                                                             fdp_icd_vaddr_bf[34:22],
1581
//                                                             fdp_icd_vaddr_bf[21:20],
1582
//                                                             1'b1, // v21_19
1583
//                                                             fdp_icd_vaddr_bf[19],
1584
//                                                             fdp_icd_vaddr_bf[18:17],
1585
//                                                             1'b1, // v18_16
1586
//                                                             fdp_icd_vaddr_bf[16],
1587
//                                                             fdp_icd_vaddr_bf[15:14],
1588
//                                                             1'b1, // v15_13
1589
//                                                             fdp_icd_vaddr_bf[13], // global bit
1590
//                                                             1'b0}),  // all r's are zero
1591
//                  
1592
//                  .tlb_cam_real     (fcl_itlb_cam_real_bf),    // 0
1593
//                            .tlb_demap_ctxt   (tlu_itlb_dmp_by_ctxt_g),  // 0
1594
//`endif
1595
 
1596
                  .tlb_cam_pid    (fcl_itlb_cam_pid_bf[2:0]),  // 0
1597
                              .tlb_demap_key    (tlu_idtlb_dmp_key_g[40:0]), // 0
1598
 
1599
                              .tlb_addr_mask_l (fcl_itlb_addr_mask_l),      // 0
1600
                              .tlb_ctxt              (fdp_itlb_ctxt_bf[12:0]),    // 0
1601
 
1602
                              .tlb_wr_vld           (fcl_itlb_wr_vld_bf),         // 0
1603
                              .tlb_wr_tte_tag   (tlu_itlb_tte_tag_w2[58:0]),  // 1
1604
                              .tlb_wr_tte_data(tlu_itlb_tte_data_w2[42:0]), // 1
1605
 
1606
                              .tlb_rd_tag_vld    (fcl_itlb_tag_rd_vld_bf),    // 0
1607
                              .tlb_rd_data_vld (fcl_itlb_data_rd_vld_bf),   // 0
1608
                              .tlb_rw_index_vld(tlu_itlb_rw_index_vld_g),   // 0
1609
                              .tlb_rw_index        (tlu_itlb_rw_index_g[5:0]),  // 0
1610
 
1611
                              .tlb_demap            (fcl_itlb_dmp_vld_bf),        // 0
1612
                              .tlb_demap_all    (fcl_itlb_dmp_all_bf),        // 0
1613
                  .tlb_demap_auto (tlu_itlb_dmp_actxt_g),
1614
 
1615
                              .cache_ptag_w3    ({ict_itlb_tag3_f[27:0],   // 1
1616
                                                                  fdp_erb_pc_f[`IC_IDX_HI:(`IC_IDX_HI-1)]}),
1617
                              .cache_ptag_w2    ({ict_itlb_tag2_f[27:0],    // 1
1618
                                                                  fdp_erb_pc_f[`IC_IDX_HI:(`IC_IDX_HI-1)]}),
1619
                              .cache_ptag_w1    ({ict_itlb_tag1_f[27:0],    // 1
1620
                                    fdp_erb_pc_f[`IC_IDX_HI:(`IC_IDX_HI-1)]}),
1621
                              .cache_ptag_w0    ({ict_itlb_tag0_f[27:0],     // 1
1622
                                    fdp_erb_pc_f[`IC_IDX_HI:(`IC_IDX_HI-1)]}),
1623
 
1624
                              .cache_set_vld    (icv_itlb_valid_f[3:0]),     // 1
1625
 
1626
                              .tlb_bypass           (fcl_itlb_cam_bypass_bf),    // 0
1627
                              .tlb_bypass_va    (fdp_icd_vaddr_bf[12:10]),   // 0
1628
 
1629
                              .si               (short_si0),
1630
                              .se               (se),
1631
                  .hold (sehold),
1632
                              .adj                  (lsu_idtlb_mrgn[7:0]),
1633
                 // tlb expects this to be asynchronous reset!
1634
                  .arst_l     (arst_l),
1635
                              .rst_soft_l (fcl_itlb_invall_f_l));  // 1
1636
 
1637
 
1638
   sparc_ifu_wseldp wseldp(
1639
                           .so          (scan0_6),
1640
                           .si          (scan0_5),
1641
                         .wsel_mbist_icache_data(wsel_mbist_icache_data[67:0]),
1642
                         /*AUTOINST*/
1643
                           // Outputs
1644
                           .wsel_fdp_fetdata_s1(wsel_fdp_fetdata_s1[33:0]),
1645
                           .wsel_fdp_topdata_s1(wsel_fdp_topdata_s1[33:0]),
1646
                           // Inputs
1647
                           .rclk        (rclk),
1648
                           .se          (se),
1649
                           .icd_wsel_fetdata_s1(icd_wsel_fetdata_s1[135:0]),
1650
                           .icd_wsel_topdata_s1(icd_wsel_topdata_s1[135:0]),
1651
                           .itlb_wsel_waysel_s1(itlb_wsel_waysel_s1[3:0]),
1652
                           .ifq_erb_asiway_f(ifq_erb_asiway_f[1:0]));
1653
 
1654
 
1655
/*   cmp_sram_redhdr AUTO_TEMPLATE(
1656
                            .fuse_ary_wren(fuse_icd_wren),
1657
                            .fuse_ary_rid(fuse_icd_rid[5:0]),
1658
                            .fuse_ary_repair_value(fuse_icd_repair_value[7:0]),
1659
                            .fuse_ary_repair_en(fuse_icd_repair_en[1:0]),
1660
                            .spc_efc_xfuse_data(spc_efc_ifuse_data),
1661
 
1662
                            .efc_spc_xfuse_data(efc_spc_ifuse_data),
1663
                            .efc_spc_xfuse_ashift(efc_spc_ifuse_ashift),
1664
                            .efc_spc_xfuse_dshift(efc_spc_ifuse_dshift),
1665
                            .ary_fuse_repair_value(icd_fuse_repair_value[7:0]),
1666
                            .ary_fuse_repair_en(icd_fuse_repair_en[1:0]),
1667
                            .scanin   (scan0_6));
1668
 */
1669
 
1670
   cmp_sram_redhdr icdhdr(
1671
                          .scanout      (scan0_7),
1672
                          /*AUTOINST*/
1673
                          // Outputs
1674
                          .fuse_ary_wren(fuse_icd_wren),         // Templated
1675
                          .fuse_ary_rid (fuse_icd_rid[5:0]),     // Templated
1676
                          .fuse_ary_repair_value(fuse_icd_repair_value[7:0]), // Templated
1677
                          .fuse_ary_repair_en(fuse_icd_repair_en[1:0]), // Templated
1678
                          .spc_efc_xfuse_data(spc_efc_ifuse_data), // Templated
1679
                          // Inputs
1680
                          .rclk         (rclk),
1681
                          .se           (se),
1682
                          .scanin       (scan0_6),               // Templated
1683
                          .arst_l       (arst_l),
1684
                          .testmode_l   (testmode_l),
1685
                          .efc_spc_fuse_clk1(efc_spc_fuse_clk1),
1686
                          .efc_spc_fuse_clk2(efc_spc_fuse_clk2),
1687
                          .efc_spc_xfuse_data(efc_spc_ifuse_data), // Templated
1688
                          .efc_spc_xfuse_ashift(efc_spc_ifuse_ashift), // Templated
1689
                          .efc_spc_xfuse_dshift(efc_spc_ifuse_dshift), // Templated
1690
                          .ary_fuse_repair_value(icd_fuse_repair_value[7:0]), // Templated
1691
                          .ary_fuse_repair_en(icd_fuse_repair_en[1:0])); // Templated
1692
//   sparc_ifu_icd icd
1693
   bw_r_icd icd(
1694
                .so                     (scan0_8),
1695
                .si                     (scan0_7),
1696
                                   .fdp_icd_index_bf  (fdp_icd_vaddr_bf[`IC_IDX_HI:2]),
1697
                 .ifq_icd_index_bf  ({ifq_icd_index_bf[`IC_IDX_HI:2]}),
1698
                 .bist_ic_data      (mbist_icache_wdata[7:0]),
1699
                 .rst_tri_en        (mem_write_disable),
1700
                 .reset_l           (arst_l),
1701
                                   /*AUTOINST*/
1702
                // Outputs
1703
                .icd_wsel_fetdata_s1    (icd_wsel_fetdata_s1[135:0]),
1704
                .icd_wsel_topdata_s1    (icd_wsel_topdata_s1[135:0]),
1705
                .icd_fuse_repair_value  (icd_fuse_repair_value[7:0]),
1706
                .icd_fuse_repair_en     (icd_fuse_repair_en[1:0]),
1707
                // Inputs
1708
                .rclk                   (rclk),
1709
                .se                     (se),
1710
                .sehold                 (sehold),
1711
                .fcl_icd_index_sel_ifq_bf(fcl_icd_index_sel_ifq_bf),
1712
                .ifq_icd_wrway_bf       (ifq_icd_wrway_bf[1:0]),
1713
                .ifq_icd_worden_bf      (ifq_icd_worden_bf[3:0]),
1714
                .ifq_icd_wrdata_i2      (ifq_icd_wrdata_i2[135:0]),
1715
                .fcl_icd_rdreq_bf       (fcl_icd_rdreq_bf),
1716
                .fcl_icd_wrreq_bf       (fcl_icd_wrreq_bf),
1717
                .ifq_icd_data_sel_old_i2(ifq_icd_data_sel_old_i2),
1718
                .ifq_icd_data_sel_fill_i2(ifq_icd_data_sel_fill_i2),
1719
                .ifq_icd_data_sel_bist_i2(ifq_icd_data_sel_bist_i2),
1720
                .fuse_icd_wren          (fuse_icd_wren),
1721
                .fuse_icd_rid           (fuse_icd_rid[3:0]),
1722
                .fuse_icd_repair_value  (fuse_icd_repair_value[7:0]),
1723
                .fuse_icd_repair_en     (fuse_icd_repair_en[1:0]),
1724
                .efc_spc_fuse_clk1      (efc_spc_fuse_clk1));
1725
 
1726
/*   bw_r_idct AUTO_TEMPLATE(
1727
                     // Inputs
1728
                     .adj          (lsu_ictag_mrgn[3:0]),
1729
                     .reset_l      (arst_l),
1730
                                 .index0_x     (fdp_icd_vaddr_bf[`IC_IDX_HI:5]),
1731
                     .index1_x     (ifq_icd_index_bf[`IC_IDX_HI:5]),
1732
                     .index_sel_x  (fcl_icd_index_sel_ifq_bf),
1733
                     .dec_wrway_x  (ifq_ict_dec_wrway_bf[3:0]),
1734
                     .wrtag_w0_y   ({4'b0, ifq_ict_wrtag_f[`IC_TAG_SZ:0]}),
1735
                     .wrtag_w1_y   ({4'b0, ifq_ict_wrtag_f[`IC_TAG_SZ:0]}),
1736
                     .wrtag_w2_y   ({4'b0, ifq_ict_wrtag_f[`IC_TAG_SZ:0]}),
1737
                     .wrtag_w3_y   ({4'b0, ifq_ict_wrtag_f[`IC_TAG_SZ:0]}),
1738
                     .rdreq_x      (fcl_icd_rdreq_bf),
1739
                     .wrreq_x      (fcl_ict_wrreq_bf));
1740
 */
1741
 
1742
   bw_r_idct ict(
1743
                 .so                    (short_scan0_2),
1744
                 .si                    (short_scan0_1),
1745
                 .rdtag_w0_y    (ict_itlb_tag0_f[32:0]),
1746
                 .rdtag_w1_y    (ict_itlb_tag1_f[32:0]),
1747
                 .rdtag_w2_y    (ict_itlb_tag2_f[32:0]),
1748
                 .rdtag_w3_y    (ict_itlb_tag3_f[32:0]),
1749
                 .rst_tri_en        (mem_write_disable),
1750
 
1751
                     /*AUTOINST*/
1752
                 // Inputs
1753
                 .rclk                  (rclk),
1754
                 .se                    (se),
1755
                 .reset_l               (arst_l),                // Templated
1756
                 .sehold                (sehold),
1757
                 .index0_x              (fdp_icd_vaddr_bf[`IC_IDX_HI:5]), // Templated
1758
                 .index1_x              (ifq_icd_index_bf[`IC_IDX_HI:5]), // Templated
1759
                 .index_sel_x           (fcl_icd_index_sel_ifq_bf), // Templated
1760
                 .dec_wrway_x           (ifq_ict_dec_wrway_bf[3:0]), // Templated
1761
                 .rdreq_x               (fcl_icd_rdreq_bf),      // Templated
1762
                 .wrreq_x               (fcl_ict_wrreq_bf),      // Templated
1763
                 .wrtag_w0_y            ({4'b0, ifq_ict_wrtag_f[`IC_TAG_SZ:0]}), // Templated
1764
                 .wrtag_w1_y            ({4'b0, ifq_ict_wrtag_f[`IC_TAG_SZ:0]}), // Templated
1765
                 .wrtag_w2_y            ({4'b0, ifq_ict_wrtag_f[`IC_TAG_SZ:0]}), // Templated
1766
                 .wrtag_w3_y            ({4'b0, ifq_ict_wrtag_f[`IC_TAG_SZ:0]}), // Templated
1767
                 .adj                   (lsu_ictag_mrgn[3:0]));   // Templated
1768
//     sparc_ifu_icv icv
1769
/*   bw_r_rf16x32 AUTO_TEMPLATE(
1770
                    // Outputs
1771
                    .dout          (icv_itlb_valid_f[3:0]),
1772
                    .so            (short_so0),
1773
                    // Inputs
1774
                    .clk           (clk),
1775
                    .se            (se),
1776
                    .sehold        (sehold),
1777
                    .si            (short_scan0_2),
1778
                    .rst_tri_en        (mem_write_disable),
1779
                    .reset_l       (arst_l),
1780
                                .rd_adr2       (fdp_icv_index_bf[11:5]),
1781
                    .rd_adr1       (ifq_icv_wrindex_bf[`IC_IDX_HI:5]),
1782
                    .wr_adr        (ifq_icv_wrindex_bf[`IC_IDX_HI:7]),
1783
                    .rd_adr1_sel   (fcl_ifq_grant_bf),
1784
                    .din           (ifq_icv_wrdata_bf),
1785
                    .bit_wen       (ifq_icv_wren_bf[15:0]),
1786
                    .rd_en         (fcl_icv_rdreq_bf),
1787
                    .wr_en         (fcl_icv_wrreq_bf));
1788
 */
1789
   bw_r_rf16x32  icv(/*AUTOINST*/
1790
                     // Outputs
1791
                     .dout              (icv_itlb_valid_f[3:0]), // Templated
1792
                     .so                (short_so0),             // Templated
1793
                     // Inputs
1794
                     .rclk              (rclk),
1795
                     .se                (se),                    // Templated
1796
                     .si                (short_scan0_2),         // Templated
1797
                     .reset_l           (arst_l),                // Templated
1798
                     .sehold            (sehold),                // Templated
1799
                     .rst_tri_en        (mem_write_disable),     // Templated
1800
                     .rd_adr1           (ifq_icv_wrindex_bf[`IC_IDX_HI:5]), // Templated
1801
                     .rd_adr2           (fdp_icv_index_bf[11:5]), // Templated
1802
                     .rd_adr1_sel       (fcl_ifq_grant_bf),      // Templated
1803
                     .rd_en             (fcl_icv_rdreq_bf),      // Templated
1804
                     .wr_adr            (ifq_icv_wrindex_bf[`IC_IDX_HI:7]), // Templated
1805
                     .wr_en             (fcl_icv_wrreq_bf),      // Templated
1806
                     .bit_wen           (ifq_icv_wren_bf[15:0]), // Templated
1807
                     .din               (ifq_icv_wrdata_bf));     // Templated
1808
   sparc_ifu_ifqdp ifqdp(
1809
                         .so            (short_so1),
1810
                         .si            (short_scan1_1),
1811
                        .ifq_ict_wrtag_f(ifq_ict_wrtag_f[`IC_TAG_SZ:0]),
1812
                         .fdp_ifq_paddr_f(fdp_erb_pc_f[9:2]),
1813
                         /*AUTOINST*/
1814
                         // Outputs
1815
                         .ifu_lsu_pcxpkt_e(ifu_lsu_pcxpkt_e[51:0]),
1816
                         .ifq_fdp_fill_inst(ifq_fdp_fill_inst[32:0]),
1817
                         .ifq_erb_asidata_i2(ifq_erb_asidata_i2[47:0]),
1818
                         .ifd_inv_ifqop_i2(ifd_inv_ifqop_i2[`CPX_WIDTH-1:0]),
1819
                         .ifq_icd_index_bf(ifq_icd_index_bf[`IC_IDX_HI:2]),
1820
                         .ifq_icd_wrdata_i2(ifq_icd_wrdata_i2[135:0]),
1821
                         .ifq_erb_wrindex_f(ifq_erb_wrindex_f[`IC_IDX_HI:4]),
1822
                         .ifq_icd_wrway_bf(ifq_icd_wrway_bf[1:0]),
1823
                         .ifd_ifc_milhit_s(ifd_ifc_milhit_s[3:0]),
1824
                         .ifd_ifc_instoffset0(ifd_ifc_instoffset0[1:0]),
1825
                         .ifd_ifc_instoffset1(ifd_ifc_instoffset1[1:0]),
1826
                         .ifd_ifc_instoffset2(ifd_ifc_instoffset2[1:0]),
1827
                         .ifd_ifc_instoffset3(ifd_ifc_instoffset3[1:0]),
1828
                         .ifd_ifc_cpxthr_nxt(ifd_ifc_cpxthr_nxt[1:0]),
1829
                         .ifd_ifc_cpxreq_nxt(ifd_ifc_cpxreq_nxt[3:0]),
1830
                         .ifd_ifc_cpxreq_i1(ifd_ifc_cpxreq_i1[`CPX_RQ_SIZE:0]),
1831
                         .ifd_ifc_destid0(ifd_ifc_destid0[2:0]),
1832
                         .ifd_ifc_destid1(ifd_ifc_destid1[2:0]),
1833
                         .ifd_ifc_destid2(ifd_ifc_destid2[2:0]),
1834
                         .ifd_ifc_destid3(ifd_ifc_destid3[2:0]),
1835
                         .ifd_ifc_newdestid_s(ifd_ifc_newdestid_s[2:0]),
1836
                         .ifd_ifc_pcxline_d(ifd_ifc_pcxline_d[4:2]),
1837
                         .ifd_ifc_asi_vachklo_i2(ifd_ifc_asi_vachklo_i2),
1838
                         .ifd_ifc_cpxvld_i2(ifd_ifc_cpxvld_i2),
1839
                         .ifd_ifc_asiaddr_i2(ifd_ifc_asiaddr_i2[3:2]),
1840
                         .ifd_ifc_iobpkt_i2(ifd_ifc_iobpkt_i2),
1841
                         .ifd_ifc_fwd2ic_i2(ifd_ifc_fwd2ic_i2),
1842
                         .ifd_ifc_4bpkt_i2(ifd_ifc_4bpkt_i2),
1843
                         .ifd_ifc_cpxnc_i2(ifd_ifc_cpxnc_i2),
1844
                         .ifd_ifc_cpxce_i2(ifd_ifc_cpxce_i2),
1845
                         .ifd_ifc_cpxue_i2(ifd_ifc_cpxue_i2),
1846
                         .ifd_ifc_cpxms_i2(ifd_ifc_cpxms_i2),
1847
                         .ifd_ifc_miladdr4_i2(ifd_ifc_miladdr4_i2[3:0]),
1848
                         .ifd_inv_wrway_i2(ifd_inv_wrway_i2[1:0]),
1849
                         // Inputs
1850
                         .rclk          (rclk),
1851
                         .se            (se),
1852
                         .lsu_ifu_cpxpkt_i1(lsu_ifu_cpxpkt_i1[`CPX_WIDTH-1:0]),
1853
                         .lsu_ifu_asi_addr(lsu_ifu_asi_addr[17:0]),
1854
                         .lsu_ifu_stxa_data(lsu_ifu_stxa_data[47:0]),
1855
                         .itlb_ifq_paddr_s(itlb_ifq_paddr_s[39:10]),
1856
                         .ifc_ifd_reqvalid_e(ifc_ifd_reqvalid_e),
1857
                         .ifc_ifd_filladdr4_i2(ifc_ifd_filladdr4_i2),
1858
                         .ifc_ifd_repway_s(ifc_ifd_repway_s[1:0]),
1859
                         .ifc_ifd_uncached_e(ifc_ifd_uncached_e),
1860
                         .ifc_ifd_thrid_e(ifc_ifd_thrid_e[1:0]),
1861
                         .ifc_ifd_pcxline_adj_d(ifc_ifd_pcxline_adj_d[4:2]),
1862
                         .ifc_ifd_errinv_e(ifc_ifd_errinv_e),
1863
                         .ifc_ifd_ldmil_sel_new(ifc_ifd_ldmil_sel_new[3:0]),
1864
                         .ifc_ifd_ld_inq_i1(ifc_ifd_ld_inq_i1),
1865
                         .ifc_ifd_idx_sel_fwd_i2(ifc_ifd_idx_sel_fwd_i2),
1866
                         .ifc_ifd_milreq_sel_d_l(ifc_ifd_milreq_sel_d_l[3:0]),
1867
                         .ifc_ifd_milfill_sel_i2_l(ifc_ifd_milfill_sel_i2_l[3:0]),
1868
                         .ifc_ifd_finst_sel_l(ifc_ifd_finst_sel_l[3:0]),
1869
                         .ifc_ifd_ifqbyp_sel_fwd_l(ifc_ifd_ifqbyp_sel_fwd_l),
1870
                         .ifc_ifd_ifqbyp_sel_inq_l(ifc_ifd_ifqbyp_sel_inq_l),
1871
                         .ifc_ifd_ifqbyp_sel_asi_l(ifc_ifd_ifqbyp_sel_asi_l),
1872
                         .ifc_ifd_ifqbyp_sel_lsu_l(ifc_ifd_ifqbyp_sel_lsu_l),
1873
                         .ifc_ifd_ifqbyp_en_l(ifc_ifd_ifqbyp_en_l),
1874
                         .ifc_ifd_addr_sel_bist_i2_l(ifc_ifd_addr_sel_bist_i2_l),
1875
                         .ifc_ifd_addr_sel_asi_i2_l(ifc_ifd_addr_sel_asi_i2_l),
1876
                         .ifc_ifd_addr_sel_old_i2_l(ifc_ifd_addr_sel_old_i2_l),
1877
                         .ifc_ifd_addr_sel_fill_i2_l(ifc_ifd_addr_sel_fill_i2_l),
1878
                         .mbist_icache_way(mbist_icache_way[1:0]),
1879
                         .mbist_icache_word(mbist_icache_word),
1880
                         .mbist_icache_index(mbist_icache_index[7:0]));
1881
 
1882
   sparc_ifu_ifqctl ifqctl(
1883
                           .so          (scan0_9),
1884
                           .si          (scan0_8),
1885
                           .ifd_ifc_cpxvalid_i1(lsu_ifu_cpxpkt_i1[`CPX_VLD]),
1886
                           .lsu_ifu_cpxpkt_wayvld_i1 (lsu_ifu_cpxpkt_i1[`CPX_WYVLD]),
1887
                           .ifq_sscan_data(ifq_sscan_data[3:0]),
1888
                           .rst_tri_en  (mux_drive_disable),
1889
 
1890
                           /*AUTOINST*/
1891
                           // Outputs
1892
                           .ifu_lsu_inv_clear(ifu_lsu_inv_clear),
1893
                           .ifu_lsu_ibuf_busy(ifu_lsu_ibuf_busy),
1894
                           .ifu_lsu_asi_ack(ifu_lsu_asi_ack),
1895
                           .ifu_lsu_ldxa_illgl_va_w2(ifu_lsu_ldxa_illgl_va_w2),
1896
                           .ifu_lsu_fwd_wr_ack(ifu_lsu_fwd_wr_ack),
1897
                           .ifu_lsu_pcxreq_d(ifu_lsu_pcxreq_d),
1898
                           .ifu_lsu_destid_s(ifu_lsu_destid_s[2:0]),
1899
                           .ifu_tlu_l2imiss(ifu_tlu_l2imiss[3:0]),
1900
                           .ifq_fcl_stallreq(ifq_fcl_stallreq),
1901
                           .ifq_swl_stallreq(ifq_swl_stallreq),
1902
                           .ifq_fcl_flush_sonly_e(ifq_fcl_flush_sonly_e),
1903
                           .ifq_fcl_wrreq_bf(ifq_fcl_wrreq_bf),
1904
                           .ifq_fcl_rdreq_bf(ifq_fcl_rdreq_bf),
1905
                           .ifq_fcl_icd_wrreq_bf(ifq_fcl_icd_wrreq_bf),
1906
                           .ifq_fcl_ictv_wrreq_bf(ifq_fcl_ictv_wrreq_bf),
1907
                           .ifq_erb_fwdrd_bf(ifq_erb_fwdrd_bf),
1908
                           .ifq_erb_rdtag_f(ifq_erb_rdtag_f),
1909
                           .ifq_erb_rdinst_f(ifq_erb_rdinst_f),
1910
                           .ifq_erb_asi_erren_i2(ifq_erb_asi_erren_i2),
1911
                           .ifq_erb_asi_errstat_i2(ifq_erb_asi_errstat_i2),
1912
                           .ifq_erb_asi_errinj_i2(ifq_erb_asi_errinj_i2),
1913
                           .ifq_erb_asi_erraddr_i2(ifq_erb_asi_erraddr_i2),
1914
                           .ifq_erb_asi_imask_i2(ifq_erb_asi_imask_i2),
1915
                           .ifq_erb_asiwr_i2(ifq_erb_asiwr_i2),
1916
                           .ifq_fcl_asird_bf(ifq_fcl_asird_bf),
1917
                           .ifq_fcl_asi_tid_bf(ifq_fcl_asi_tid_bf[1:0]),
1918
                           .ifq_erb_ue_rep(ifq_erb_ue_rep),
1919
                           .ifq_erb_ce_rep(ifq_erb_ce_rep),
1920
                           .ifq_erb_l2_ue(ifq_erb_l2_ue),
1921
                           .ifq_erb_io_ue(ifq_erb_io_ue),
1922
                           .ifq_erb_ifet_ce(ifq_erb_ifet_ce),
1923
                           .ifq_erb_l2err_tid(ifq_erb_l2err_tid[1:0]),
1924
                           .ifq_icv_wrdata_bf(ifq_icv_wrdata_bf),
1925
                           .ifq_icd_worden_bf(ifq_icd_worden_bf[3:0]),
1926
                           .ifq_fcl_fill_thr(ifq_fcl_fill_thr[3:0]),
1927
                           .ifq_dtu_thrrdy(ifq_dtu_thrrdy[3:0]),
1928
                           .ifq_dtu_pred_rdy(ifq_dtu_pred_rdy[3:0]),
1929
                           .ifc_ifd_filladdr4_i2(ifc_ifd_filladdr4_i2),
1930
                           .ifc_ifd_reqvalid_e(ifc_ifd_reqvalid_e),
1931
                           .ifc_ifd_idx_sel_fwd_i2(ifc_ifd_idx_sel_fwd_i2),
1932
                           .ifc_ifd_errinv_e(ifc_ifd_errinv_e),
1933
                           .ifc_ifd_uncached_e(ifc_ifd_uncached_e),
1934
                           .ifc_ifd_thrid_e(ifc_ifd_thrid_e[1:0]),
1935
                           .ifc_ifd_pcxline_adj_d(ifc_ifd_pcxline_adj_d[4:2]),
1936
                           .ifc_inv_asireq_i2(ifc_inv_asireq_i2),
1937
                           .ifc_ifd_repway_s(ifc_ifd_repway_s[1:0]),
1938
                           .ifc_ifd_milfill_sel_i2_l(ifc_ifd_milfill_sel_i2_l[3:0]),
1939
                           .ifc_ifd_finst_sel_l(ifc_ifd_finst_sel_l[3:0]),
1940
                           .ifc_ifd_milreq_sel_d_l(ifc_ifd_milreq_sel_d_l[3:0]),
1941
                           .ifc_ifd_ifqbyp_sel_fwd_l(ifc_ifd_ifqbyp_sel_fwd_l),
1942
                           .ifc_ifd_ifqbyp_sel_inq_l(ifc_ifd_ifqbyp_sel_inq_l),
1943
                           .ifc_ifd_ifqbyp_sel_asi_l(ifc_ifd_ifqbyp_sel_asi_l),
1944
                           .ifc_ifd_ifqbyp_sel_lsu_l(ifc_ifd_ifqbyp_sel_lsu_l),
1945
                           .ifc_ifd_ifqbyp_en_l(ifc_ifd_ifqbyp_en_l),
1946
                           .ifc_ifd_addr_sel_bist_i2_l(ifc_ifd_addr_sel_bist_i2_l),
1947
                           .ifc_ifd_addr_sel_asi_i2_l(ifc_ifd_addr_sel_asi_i2_l),
1948
                           .ifc_ifd_addr_sel_old_i2_l(ifc_ifd_addr_sel_old_i2_l),
1949
                           .ifc_ifd_addr_sel_fill_i2_l(ifc_ifd_addr_sel_fill_i2_l),
1950
                           .ifq_icd_data_sel_bist_i2(ifq_icd_data_sel_bist_i2),
1951
                           .ifq_icd_data_sel_fill_i2(ifq_icd_data_sel_fill_i2),
1952
                           .ifq_icd_data_sel_old_i2(ifq_icd_data_sel_old_i2),
1953
                           .ifc_ifd_ldmil_sel_new(ifc_ifd_ldmil_sel_new[3:0]),
1954
                           .ifc_ifd_ld_inq_i1(ifc_ifd_ld_inq_i1),
1955
                           .ifc_inv_ifqadv_i2(ifc_inv_ifqadv_i2),
1956
                           // Inputs
1957
                           .ifd_ifc_milhit_s(ifd_ifc_milhit_s[3:0]),
1958
                           .ifd_ifc_instoffset0(ifd_ifc_instoffset0[1:0]),
1959
                           .ifd_ifc_instoffset1(ifd_ifc_instoffset1[1:0]),
1960
                           .ifd_ifc_instoffset2(ifd_ifc_instoffset2[1:0]),
1961
                           .ifd_ifc_instoffset3(ifd_ifc_instoffset3[1:0]),
1962
                           .ifd_ifc_cpxreq_i1(ifd_ifc_cpxreq_i1[`CPX_RQ_SIZE:0]),
1963
                           .ifd_ifc_cpxreq_nxt(ifd_ifc_cpxreq_nxt[3:0]),
1964
                           .ifd_ifc_cpxthr_nxt(ifd_ifc_cpxthr_nxt[1:0]),
1965
                           .ifd_ifc_cpxvld_i2(ifd_ifc_cpxvld_i2),
1966
                           .ifd_ifc_iobpkt_i2(ifd_ifc_iobpkt_i2),
1967
                           .ifd_ifc_4bpkt_i2(ifd_ifc_4bpkt_i2),
1968
                           .ifd_ifc_cpxnc_i2(ifd_ifc_cpxnc_i2),
1969
                           .ifd_ifc_fwd2ic_i2(ifd_ifc_fwd2ic_i2),
1970
                           .ifd_ifc_cpxce_i2(ifd_ifc_cpxce_i2),
1971
                           .ifd_ifc_cpxue_i2(ifd_ifc_cpxue_i2),
1972
                           .ifd_ifc_cpxms_i2(ifd_ifc_cpxms_i2),
1973
                           .ifd_ifc_miladdr4_i2(ifd_ifc_miladdr4_i2[3:0]),
1974
                           .ifd_ifc_asiaddr_i2(ifd_ifc_asiaddr_i2[3:2]),
1975
                           .ifd_ifc_asi_vachklo_i2(ifd_ifc_asi_vachklo_i2),
1976
                           .ifd_ifc_destid0(ifd_ifc_destid0[2:0]),
1977
                           .ifd_ifc_destid1(ifd_ifc_destid1[2:0]),
1978
                           .ifd_ifc_destid2(ifd_ifc_destid2[2:0]),
1979
                           .ifd_ifc_destid3(ifd_ifc_destid3[2:0]),
1980
                           .ifd_ifc_newdestid_s(ifd_ifc_newdestid_s[2:0]),
1981
                           .ifd_ifc_pcxline_d(ifd_ifc_pcxline_d[4:2]),
1982
                           .inv_ifc_inv_pending(inv_ifc_inv_pending),
1983
                           .fcl_ifq_icmiss_s1(fcl_ifq_icmiss_s1),
1984
                           .fcl_ifq_rdreq_s1(fcl_ifq_rdreq_s1),
1985
                           .fcl_ifq_thr_s1(fcl_ifq_thr_s1[1:0]),
1986
                           .fcl_ifq_canthr(fcl_ifq_canthr[3:0]),
1987
                           .fcl_ifq_grant_bf(fcl_ifq_grant_bf),
1988
                           .dtu_ifq_kill_latest_d(dtu_ifq_kill_latest_d),
1989
                           .erb_ifq_ifeterr_d1(erb_ifq_ifeterr_d1),
1990
                           .erb_ifq_itlberr_s1(erb_ifq_itlberr_s1),
1991
                           .lsu_ifu_pcxpkt_ack_d(lsu_ifu_pcxpkt_ack_d),
1992
                           .lsu_ifu_direct_map_l1(lsu_ifu_direct_map_l1),
1993
                           .lsu_ifu_asi_vld(lsu_ifu_asi_vld),
1994
                           .lsu_ifu_asi_state(lsu_ifu_asi_state[7:0]),
1995
                           .lsu_ifu_asi_load(lsu_ifu_asi_load),
1996
                           .lsu_ifu_asi_thrid(lsu_ifu_asi_thrid[1:0]),
1997
                           .fcl_ifq_icache_en_s_l(fcl_ifq_icache_en_s_l),
1998
                           .mbist_ifq_run_bist(mbist_ifq_run_bist),
1999
                           .mbist_icache_write(mbist_icache_write),
2000
                           .mbist_icache_read(mbist_icache_read),
2001
                           .ctu_sscan_tid(ctu_sscan_tid[3:0]),
2002
                           .rclk        (rclk),
2003
                           .se          (se),
2004
                           .gdbginit_l  (gdbginit_l),
2005
                           .arst_l      (arst_l),
2006
                           .grst_l      (grst_l),
2007
                           .sehold      (sehold));
2008
 
2009
   sparc_ifu_invctl invctl(
2010
                           .so          (scan0_10),
2011
                           .si          (scan0_9),
2012
                           /*AUTOINST*/
2013
                           // Outputs
2014
                           .inv_ifc_inv_pending(inv_ifc_inv_pending),
2015
                           .ifq_icv_wrindex_bf(ifq_icv_wrindex_bf[`IC_IDX_HI:5]),
2016
                           .ifq_icv_wren_bf(ifq_icv_wren_bf[15:0]),
2017
                           .ifq_ict_dec_wrway_bf(ifq_ict_dec_wrway_bf[3:0]),
2018
                           .ifq_fcl_invreq_bf(ifq_fcl_invreq_bf),
2019
                           .ifq_erb_asiway_f(ifq_erb_asiway_f[1:0]),
2020
                           // Inputs
2021
                           .rclk        (rclk),
2022
                           .se          (se),
2023
                           .const_cpuid (const_cpuid[2:0]),
2024
                           .mbist_icache_write(mbist_icache_write),
2025
                           .lsu_ifu_ld_icache_index(lsu_ifu_ld_icache_index[`IC_IDX_HI:5]),
2026
                           .lsu_ifu_ld_pcxpkt_vld(lsu_ifu_ld_pcxpkt_vld),
2027
                           .lsu_ifu_ld_pcxpkt_tid(lsu_ifu_ld_pcxpkt_tid[1:0]),
2028
                           .ifc_inv_ifqadv_i2(ifc_inv_ifqadv_i2),
2029
                           .ifc_inv_asireq_i2(ifc_inv_asireq_i2),
2030
                           .ifq_icd_index_bf(ifq_icd_index_bf[`IC_IDX_HI:5]),
2031
                           .ifd_inv_ifqop_i2(ifd_inv_ifqop_i2[`CPX_WIDTH-1:0]),
2032
                           .ifd_inv_wrway_i2(ifd_inv_wrway_i2[1:0]));
2033
 
2034
 
2035
   sparc_ifu_errdp  errdp(
2036
                          .so           (scan0_11),
2037
                          .si           (scan0_10),
2038
                         .ifq_erb_wrtag_f(ifq_ict_wrtag_f[`IC_TAG_SZ-1:0]),
2039
                          .ict_itlb_tags_f({ict_itlb_tag3_f[28:0],
2040
                                            ict_itlb_tag2_f[28:0],
2041
                                            ict_itlb_tag1_f[28:0],
2042
                                            ict_itlb_tag0_f[28:0]}),
2043
                          .wsel_erb_asidata_s({wsel_mbist_icache_data[65:64],
2044
                                               wsel_mbist_icache_data[31:0]}),
2045
 
2046
                                            /*AUTOINST*/
2047
                          // Outputs
2048
                          .ifu_lsu_ldxa_data_w2(ifu_lsu_ldxa_data_w2[63:0]),
2049
                          .erb_dtu_imask(erb_dtu_imask[38:0]),
2050
                          .erd_erc_tlbt_pe_s1(erd_erc_tlbt_pe_s1[1:0]),
2051
                          .erd_erc_tlbd_pe_s1(erd_erc_tlbd_pe_s1[1:0]),
2052
                          .erd_erc_tagpe_s1(erd_erc_tagpe_s1[3:0]),
2053
                          .erd_erc_nirpe_s1(erd_erc_nirpe_s1),
2054
                          .erd_erc_fetpe_s1(erd_erc_fetpe_s1),
2055
                          .erd_erc_tte_pgsz(erd_erc_tte_pgsz[2:0]),
2056
                          // Inputs
2057
                          .rclk         (rclk),
2058
                          .se           (se),
2059
                          .erb_reset    (erb_reset),
2060
                          .itlb_rd_tte_data(itlb_rd_tte_data[42:0]),
2061
                          .itlb_rd_tte_tag(itlb_rd_tte_tag[58:0]),
2062
                          .itlb_ifq_paddr_s(itlb_ifq_paddr_s[39:10]),
2063
                          .wsel_fdp_fetdata_s1(wsel_fdp_fetdata_s1[33:0]),
2064
                          .wsel_fdp_topdata_s1(wsel_fdp_topdata_s1[33:0]),
2065
                          .icv_itlb_valid_f(icv_itlb_valid_f[3:0]),
2066
                          .lsu_ifu_err_addr(lsu_ifu_err_addr[47:4]),
2067
                          .spu_ifu_err_addr_w2(spu_ifu_err_addr_w2[39:4]),
2068
                          .fdp_erb_pc_f (fdp_erb_pc_f[47:0]),
2069
                          .exu_ifu_err_reg_m(exu_ifu_err_reg_m[7:0]),
2070
                          .exu_ifu_err_synd_m(exu_ifu_err_synd_m[7:0]),
2071
                          .ffu_ifu_err_reg_w2(ffu_ifu_err_reg_w2[5:0]),
2072
                          .ffu_ifu_err_synd_w2(ffu_ifu_err_synd_w2[13:0]),
2073
                          .tlu_itlb_rw_index_g(tlu_itlb_rw_index_g[5:0]),
2074
                          .erc_erd_pgsz_b0(erc_erd_pgsz_b0),
2075
                          .erc_erd_pgsz_b1(erc_erd_pgsz_b1),
2076
                          .erc_erd_erren_asidata(erc_erd_erren_asidata[1:0]),
2077
                          .erc_erd_errstat_asidata(erc_erd_errstat_asidata[22:0]),
2078
                          .erc_erd_errinj_asidata(erc_erd_errinj_asidata[31:0]),
2079
                          .ifq_erb_asidata_i2(ifq_erb_asidata_i2[47:0]),
2080
                          .ifq_erb_wrindex_f(ifq_erb_wrindex_f[`IC_IDX_HI:4]),
2081
                          .erc_erd_asiway_s1_l(erc_erd_asiway_s1_l[3:0]),
2082
                          .fcl_erb_itlbrd_data_s(fcl_erb_itlbrd_data_s),
2083
                          .erc_erd_ld_imask(erc_erd_ld_imask),
2084
                          .erc_erd_asisrc_sel_icd_s_l(erc_erd_asisrc_sel_icd_s_l),
2085
                          .erc_erd_asisrc_sel_misc_s_l(erc_erd_asisrc_sel_misc_s_l),
2086
                          .erc_erd_asisrc_sel_err_s_l(erc_erd_asisrc_sel_err_s_l),
2087
                          .erc_erd_asisrc_sel_itlb_s_l(erc_erd_asisrc_sel_itlb_s_l),
2088
                          .erc_erd_errasi_sel_en_l(erc_erd_errasi_sel_en_l),
2089
                          .erc_erd_errasi_sel_stat_l(erc_erd_errasi_sel_stat_l),
2090
                          .erc_erd_errasi_sel_inj_l(erc_erd_errasi_sel_inj_l),
2091
                          .erc_erd_errasi_sel_addr_l(erc_erd_errasi_sel_addr_l),
2092
                          .erc_erd_miscasi_sel_ict_l(erc_erd_miscasi_sel_ict_l),
2093
                          .erc_erd_miscasi_sel_imask_l(erc_erd_miscasi_sel_imask_l),
2094
                          .erc_erd_miscasi_sel_other_l(erc_erd_miscasi_sel_other_l),
2095
                          .erc_erd_asi_thr_l(erc_erd_asi_thr_l[3:0]),
2096
                          .erc_erd_eadr0_sel_irf_l(erc_erd_eadr0_sel_irf_l[3:0]),
2097
                          .erc_erd_eadr0_sel_itlb_l(erc_erd_eadr0_sel_itlb_l[3:0]),
2098
                          .erc_erd_eadr0_sel_frf_l(erc_erd_eadr0_sel_frf_l[3:0]),
2099
                          .erc_erd_eadr0_sel_lsu_l(erc_erd_eadr0_sel_lsu_l[3:0]),
2100
                          .erc_erd_eadr1_sel_pcd1_l(erc_erd_eadr1_sel_pcd1_l[3:0]),
2101
                          .erc_erd_eadr1_sel_l1pa_l(erc_erd_eadr1_sel_l1pa_l[3:0]),
2102
                          .erc_erd_eadr1_sel_l2pa_l(erc_erd_eadr1_sel_l2pa_l[3:0]),
2103
                          .erc_erd_eadr1_sel_other_l(erc_erd_eadr1_sel_other_l[3:0]),
2104
                          .erc_erd_eadr2_sel_mx1_l(erc_erd_eadr2_sel_mx1_l[3:0]),
2105
                          .erc_erd_eadr2_sel_wrt_l(erc_erd_eadr2_sel_wrt_l[3:0]),
2106
                          .erc_erd_eadr2_sel_mx0_l(erc_erd_eadr2_sel_mx0_l[3:0]),
2107
                          .erc_erd_eadr2_sel_old_l(erc_erd_eadr2_sel_old_l[3:0]));
2108
 
2109
   sparc_ifu_errctl errctl(
2110
                           .so          (scan0_12),
2111
                           .si          (scan0_11),
2112
                          .ifu_tlu_inst_vld_w(ifu_spu_inst_vld_w),
2113
 
2114
                           /*AUTOINST*/
2115
                           // Outputs
2116
                           .erc_erd_pgsz_b0(erc_erd_pgsz_b0),
2117
                           .erc_erd_pgsz_b1(erc_erd_pgsz_b1),
2118
                           .ifu_lsu_asi_rd_unc(ifu_lsu_asi_rd_unc),
2119
                           .ifu_lsu_ldxa_tid_w2(ifu_lsu_ldxa_tid_w2[1:0]),
2120
                           .ifu_lsu_ldxa_data_vld_w2(ifu_lsu_ldxa_data_vld_w2),
2121
                           .ifu_lsu_fwd_data_vld(ifu_lsu_fwd_data_vld),
2122
                           .ifu_lsu_error_inj(ifu_lsu_error_inj[3:0]),
2123
                           .ifu_exu_ecc_mask(ifu_exu_ecc_mask[7:0]),
2124
                           .ifu_exu_inj_irferr(ifu_exu_inj_irferr),
2125
                           .ifu_ffu_inj_frferr(ifu_ffu_inj_frferr),
2126
                           .ifu_exu_nceen_e(ifu_exu_nceen_e),
2127
                           .ifu_lsu_nceen(ifu_lsu_nceen[3:0]),
2128
                           .ifu_spu_nceen(ifu_spu_nceen[3:0]),
2129
                           .erb_fcl_spu_uetrap(erb_fcl_spu_uetrap[3:0]),
2130
                           .erb_ifq_itlberr_s1(erb_ifq_itlberr_s1),
2131
                           .erb_ifq_ifeterr_d1(erb_ifq_ifeterr_d1),
2132
                           .erb_dtu_ifeterr_d1(erb_dtu_ifeterr_d1),
2133
                           .erb_fcl_itlb_ce_d1(erb_fcl_itlb_ce_d1),
2134
                           .erb_fcl_ce_trapvec(erb_fcl_ce_trapvec[3:0]),
2135
                           .erb_fcl_ue_trapvec(erb_fcl_ue_trapvec[3:0]),
2136
                           .erb_fcl_ifet_uevec_d1(erb_fcl_ifet_uevec_d1[3:0]),
2137
                           .erc_erd_errstat_asidata(erc_erd_errstat_asidata[22:0]),
2138
                           .erc_erd_errinj_asidata(erc_erd_errinj_asidata[31:0]),
2139
                           .erc_erd_erren_asidata(erc_erd_erren_asidata[1:0]),
2140
                           .erc_erd_eadr0_sel_irf_l(erc_erd_eadr0_sel_irf_l[3:0]),
2141
                           .erc_erd_eadr0_sel_itlb_l(erc_erd_eadr0_sel_itlb_l[3:0]),
2142
                           .erc_erd_eadr0_sel_frf_l(erc_erd_eadr0_sel_frf_l[3:0]),
2143
                           .erc_erd_eadr0_sel_lsu_l(erc_erd_eadr0_sel_lsu_l[3:0]),
2144
                           .erc_erd_asiway_s1_l(erc_erd_asiway_s1_l[3:0]),
2145
                           .erc_erd_eadr1_sel_pcd1_l(erc_erd_eadr1_sel_pcd1_l[3:0]),
2146
                           .erc_erd_eadr1_sel_l1pa_l(erc_erd_eadr1_sel_l1pa_l[3:0]),
2147
                           .erc_erd_eadr1_sel_l2pa_l(erc_erd_eadr1_sel_l2pa_l[3:0]),
2148
                           .erc_erd_eadr1_sel_other_l(erc_erd_eadr1_sel_other_l[3:0]),
2149
                           .erc_erd_eadr2_sel_mx1_l(erc_erd_eadr2_sel_mx1_l[3:0]),
2150
                           .erc_erd_eadr2_sel_wrt_l(erc_erd_eadr2_sel_wrt_l[3:0]),
2151
                           .erc_erd_eadr2_sel_mx0_l(erc_erd_eadr2_sel_mx0_l[3:0]),
2152
                           .erc_erd_eadr2_sel_old_l(erc_erd_eadr2_sel_old_l[3:0]),
2153
                           .erc_erd_asi_thr_l(erc_erd_asi_thr_l[3:0]),
2154
                           .erc_erd_asisrc_sel_icd_s_l(erc_erd_asisrc_sel_icd_s_l),
2155
                           .erc_erd_asisrc_sel_misc_s_l(erc_erd_asisrc_sel_misc_s_l),
2156
                           .erc_erd_asisrc_sel_err_s_l(erc_erd_asisrc_sel_err_s_l),
2157
                           .erc_erd_asisrc_sel_itlb_s_l(erc_erd_asisrc_sel_itlb_s_l),
2158
                           .erc_erd_errasi_sel_en_l(erc_erd_errasi_sel_en_l),
2159
                           .erc_erd_errasi_sel_stat_l(erc_erd_errasi_sel_stat_l),
2160
                           .erc_erd_errasi_sel_inj_l(erc_erd_errasi_sel_inj_l),
2161
                           .erc_erd_errasi_sel_addr_l(erc_erd_errasi_sel_addr_l),
2162
                           .erc_erd_miscasi_sel_ict_l(erc_erd_miscasi_sel_ict_l),
2163
                           .erc_erd_miscasi_sel_imask_l(erc_erd_miscasi_sel_imask_l),
2164
                           .erc_erd_miscasi_sel_other_l(erc_erd_miscasi_sel_other_l),
2165
                           .erc_erd_ld_imask(erc_erd_ld_imask),
2166
                           .erb_reset   (erb_reset),
2167
                           // Inputs
2168
                           .rclk        (rclk),
2169
                           .se          (se),
2170
                           .arst_l      (arst_l),
2171
                           .grst_l      (grst_l),
2172
                           .erd_erc_tte_pgsz(erd_erc_tte_pgsz[2:0]),
2173
                           .icv_itlb_valid_f(icv_itlb_valid_f[3:0]),
2174
                           .fcl_erb_ievld_s1(fcl_erb_ievld_s1),
2175
                           .fcl_erb_tevld_s1(fcl_erb_tevld_s1),
2176
                           .fcl_erb_immuevld_s1(fcl_erb_immuevld_s1),
2177
                           .fcl_erb_inst_issue_d(fcl_erb_inst_issue_d),
2178
                           .fcl_erb_inst_vld_d1(fcl_erb_inst_vld_d1),
2179
                           .ifu_lsu_thrid_s(ifu_lsu_thrid_s[1:0]),
2180
                           .fcl_erb_asi_tid_f(fcl_erb_asi_tid_f[1:0]),
2181
                           .ifq_fcl_asi_tid_bf(ifq_fcl_asi_tid_bf[1:0]),
2182
                           .fcl_erb_clear_iferr(fcl_erb_clear_iferr[3:0]),
2183
                           .fcl_erb_itlbrd_vld_s(fcl_erb_itlbrd_vld_s),
2184
                           .fcl_erb_itlbrd_data_s(fcl_erb_itlbrd_data_s),
2185
                           .erd_erc_tagpe_s1(erd_erc_tagpe_s1[3:0]),
2186
                           .erd_erc_nirpe_s1(erd_erc_nirpe_s1),
2187
                           .erd_erc_fetpe_s1(erd_erc_fetpe_s1),
2188
                           .erd_erc_tlbt_pe_s1(erd_erc_tlbt_pe_s1[1:0]),
2189
                           .erd_erc_tlbd_pe_s1(erd_erc_tlbd_pe_s1[1:0]),
2190
                           .tlu_lsu_pstate_priv(tlu_lsu_pstate_priv[3:0]),
2191
                           .tlu_hpstate_priv  (tlu_hpstate_priv[3:0]),
2192
                           .lsu_ifu_dtlb_data_su(lsu_ifu_dtlb_data_su),
2193
                           .lsu_ifu_dtlb_data_ue(lsu_ifu_dtlb_data_ue),
2194
                           .lsu_ifu_dtlb_tag_ue(lsu_ifu_dtlb_tag_ue),
2195
                           .lsu_ifu_dcache_data_perror(lsu_ifu_dcache_data_perror),
2196
                           .lsu_ifu_dcache_tag_perror(lsu_ifu_dcache_tag_perror),
2197
                           .lsu_ifu_l2_unc_error(lsu_ifu_l2_unc_error),
2198
                           .lsu_ifu_l2_corr_error(lsu_ifu_l2_corr_error),
2199
                           .lsu_ifu_io_error(lsu_ifu_io_error),
2200
                           .lsu_ifu_error_tid(lsu_ifu_error_tid[1:0]),
2201
                           .spu_ifu_unc_err_w1(spu_ifu_unc_err_w1),
2202
                           .spu_ifu_mamem_err_w1(spu_ifu_mamem_err_w1),
2203
                           .spu_ifu_corr_err_w2(spu_ifu_corr_err_w2),
2204
                           .spu_ifu_int_w2(spu_ifu_int_w2),
2205
                           .spu_ifu_ttype_tid_w2(spu_ifu_ttype_tid_w2[1:0]),
2206
                           .lsu_ifu_inj_ack(lsu_ifu_inj_ack[3:0]),
2207
                           .ffu_ifu_ecc_ce_w2(ffu_ifu_ecc_ce_w2),
2208
                           .ffu_ifu_ecc_ue_w2(ffu_ifu_ecc_ue_w2),
2209
                           .ffu_ifu_inj_ack(ffu_ifu_inj_ack),
2210
                           .ffu_ifu_tid_w2(ffu_ifu_tid_w2[1:0]),
2211
                           .exu_ifu_ecc_ce_m(exu_ifu_ecc_ce_m),
2212
                           .exu_ifu_ecc_ue_m(exu_ifu_ecc_ue_m),
2213
                           .exu_ifu_inj_ack(exu_ifu_inj_ack),
2214
                           .ifq_erb_ue_rep(ifq_erb_ue_rep),
2215
                           .ifq_erb_ce_rep(ifq_erb_ce_rep),
2216
                           .ifq_erb_l2_ue(ifq_erb_l2_ue),
2217
                           .ifq_erb_io_ue(ifq_erb_io_ue),
2218
                           .ifq_erb_ifet_ce(ifq_erb_ifet_ce),
2219
                           .ifq_erb_l2err_tid(ifq_erb_l2err_tid[1:0]),
2220
                           .ifq_erb_rdtag_f(ifq_erb_rdtag_f),
2221
                           .ifq_erb_rdinst_f(ifq_erb_rdinst_f),
2222
                           .ifq_erb_asi_erren_i2(ifq_erb_asi_erren_i2),
2223
                           .ifq_erb_asi_errstat_i2(ifq_erb_asi_errstat_i2),
2224
                           .ifq_erb_asi_errinj_i2(ifq_erb_asi_errinj_i2),
2225
                           .ifq_erb_asi_erraddr_i2(ifq_erb_asi_erraddr_i2),
2226
                           .ifq_erb_asi_imask_i2(ifq_erb_asi_imask_i2),
2227
                           .ifq_erb_asiwr_i2(ifq_erb_asiwr_i2),
2228
                           .ifq_fcl_asird_bf(ifq_fcl_asird_bf),
2229
                           .ifq_erb_fwdrd_bf(ifq_erb_fwdrd_bf),
2230
                           .ifq_erb_asidata_i2(ifq_erb_asidata_i2[31:0]),
2231
                           .ifq_erb_asiway_f(ifq_erb_asiway_f[1:0]));
2232
 
2233
   // BIST Controller
2234
//   sparc_ifu_icd_arr_bist bist(// Outputs
2235
//                             .Test_fdp_icd_index_bf_0 (bist_ic_index[8:0]),
2236
//                             .Test_ifq_icd_wrway_bf_0 (bist_ic_way),
2237
//                             .Test_ifq_icd_wrdata_f_0 ({null_data[135:2], 
2238
//                                                        bist_ic_data[1:0]}),
2239
//                             .Test_fcl_icd_rdreq_bf_0 (bist_ic_read),
2240
//                             .Test_fcl_icd_wrreq_bf_0 (bist_ic_write),
2241
//                             .Test_ifq_icd_worden_bf_0 (bist_ic_worden),
2242
//                             .tselect (),
2243
//                             .tst_done (),
2244
//                             .fail_h (),
2245
//                             .scan_out (),
2246
//                             // Inputs
2247
//                             .clk (clk),
2248
//                             .diag_clk(1'b0),
2249
//                             .rst_l (rst_l),
2250
//                             .test_h (1'b0),
2251
//                             .debugz (1'b0),
2252
//                             .hold_l (1'b1),
2253
//                             .Test_icd_fdp_topdata_s1_0 (icd_fdp_topdata_s1),
2254
//                             .Test_icd_fdp_fetdata_s1_0 (icd_fdp_fetdata_s1));
2255
 
2256
   sparc_ifu_mbist mbist(
2257
                         .mbist_icache_data_in(wsel_mbist_icache_data[67:0]),
2258
                         .mbist_si      (scan0_12),
2259
                         .mbist_se      (se),
2260
 
2261
                         .mbist_icache_wdata(mbist_icache_wdata[7:0]),
2262
                         .mbist_dcache_wdata(mbist_write_data[7:0]),
2263
 
2264
                         .mbist_so      (scan0_13),
2265
                         .rclk           (rclk),
2266
 
2267
                         /*AUTOINST*/
2268
                         // Outputs
2269
                         .mbist_dcache_read(mbist_dcache_read),
2270
                         .mbist_dcache_write(mbist_dcache_write),
2271
                         .mbist_dcache_word(mbist_dcache_word),
2272
                         .mbist_dcache_index(mbist_dcache_index[6:0]),
2273
                         .mbist_dcache_way(mbist_dcache_way[1:0]),
2274
                         .mbist_icache_read(mbist_icache_read),
2275
                         .mbist_icache_write(mbist_icache_write),
2276
                         .mbist_icache_index(mbist_icache_index[7:0]),
2277
                         .mbist_icache_word(mbist_icache_word),
2278
                         .mbist_icache_way(mbist_icache_way[1:0]),
2279
                         .mbist_ifq_run_bist(mbist_ifq_run_bist),
2280
                         .mbist_done    (mbist_done),
2281
                         .mbist_dcache_fail(mbist_dcache_fail),
2282
                         .mbist_icache_fail(mbist_icache_fail),
2283
                         // Inputs
2284
                         .grst_l        (grst_l),
2285
                         .arst_l        (arst_l),
2286
                         .mbist_start   (mbist_start),
2287
                         .mbist_userdata_mode(mbist_userdata_mode),
2288
                         .mbist_bisi_mode(mbist_bisi_mode),
2289
                         .mbist_loop_mode(mbist_loop_mode),
2290
                         .mbist_loop_on_address(mbist_loop_on_address),
2291
                         .mbist_stop_on_fail(mbist_stop_on_fail),
2292
                         .mbist_stop_on_next_fail(mbist_stop_on_next_fail),
2293
                         .mbist_dcache_data_in(mbist_dcache_data_in[71:0]));
2294
 
2295
 
2296
   sparc_ifu_sscan sscan(
2297
                         .so            (so0),
2298
                         .si            (scan0_13),
2299
                         .ifq_sscan_test_data(ifq_sscan_data[3:0]),
2300
                         .lsu_sscan_test_data(lsu_sscan_data[15:0]),
2301
                         .tlu_sscan_test_data(tlu_sscan_data[62:0]),
2302
                         /*AUTOINST*/
2303
                         // Outputs
2304
                         .sparc_sscan_so(sparc_sscan_so),
2305
                         // Inputs
2306
                         .ctu_sscan_snap(ctu_sscan_snap),
2307
                         .ctu_sscan_se  (ctu_sscan_se),
2308
                         .ctu_tck       (ctu_tck),
2309
                         .se            (se),
2310
                         .swl_sscan_thrstate(swl_sscan_thrstate[10:0]),
2311
                         .rclk          (rclk));
2312
 
2313
   // floating outputs
2314
   sink #(4) s0(.in (ict_itlb_tag0_f[32:29]));
2315
   sink #(4) s1(.in (ict_itlb_tag1_f[32:29]));
2316
   sink #(4) s2(.in (ict_itlb_tag2_f[32:29]));
2317
   sink #(4) s3(.in (ict_itlb_tag3_f[32:29]));
2318
   sink #(2) s4(.in (fuse_icd_rid[5:4]));
2319
 
2320
 
2321
endmodule
2322
// Local Variables:
2323
// verilog-library-directories:("." "../../../srams/rtl" "../../../common/rtl")
2324
// End:

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.