source: XOpenSparcT1/trunk/T1-CPU/ifu/sparc_ifu.v @ 6

Revision 6, 147.1 KB checked in by pntsvt00, 13 years ago (diff)

versione iniziale opensparc

Line 
1// ========== 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
40module 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   bw_r_tlb_fpga itlb(
1549                              .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                               
2321endmodule
2322// Local Variables:
2323// verilog-library-directories:("." "../../../srams/rtl" "../../../common/rtl")
2324// End:
Note: See TracBrowser for help on using the repository browser.