Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / spc / ifu / rtl / ifu_ftu.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: ifu_ftu.v
4// Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
5// 4150 Network Circle, Santa Clara, California 95054, U.S.A.
6//
7// * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8//
9// This program is free software; you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation; version 2 of the License.
12//
13// This program is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16// GNU General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with this program; if not, write to the Free Software
20// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21//
22// For the avoidance of doubt, and except that if any non-GPL license
23// choice is available it will apply instead, Sun elects to use only
24// the General Public License version 2 (GPLv2) at this time for any
25// software where a choice of GPL license versions is made
26// available with the language indicating that GPLv2 or any later version
27// may be used, or where a choice of which version of the GPL is applied is
28// otherwise unspecified.
29//
30// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
31// CA 95054 USA or visit www.sun.com if you need additional information or
32// have any questions.
33//
34// ========== Copyright Header End ============================================
35`define IC_ARR_HI 63 // (16Kb / 8 ways) / 32 bytes/line = 64 lines/way
36`define IC_ARR_INDX_HI 10 // log2(IC_SZ/IC_WAYS)-1=log2(16Kb/8ways)-1=log2(2048)-1 = 11-1 =10;
37`define IC_ARR_INDX_LO 5 // log2(IC_LINE_SZ) = log2(32) = 5
38`define IC_NUM_WAYS 8 // Number of ways;
39`define IC_WAY_HI 2 // log2(IC_NUM_WAYS) - 1 = log2(8)-1 = 3-1 = 2
40`define IC_TAG_SZ 29
41
42
43module ifu_ftu (
44 tcu_scan_en,
45 l2clk,
46 scan_in,
47 spc_aclk_wmr,
48 wmr_scan_in,
49 wmr_scan_out,
50 tcu_pce_ov,
51 spc_aclk,
52 spc_bclk,
53 tcu_muxtest,
54 tcu_dectest,
55 tcu_array_wr_inhibit,
56 tcu_se_scancollar_in,
57 tcu_se_scancollar_out,
58 lbist_run,
59 mbi_run,
60 mbi_ict_write_en,
61 mbi_ict_read_en,
62 mbi_icd_write_en,
63 mbi_icd_read_en,
64 mbi_itb_write_en,
65 mbi_itb_read_en,
66 mbi_icv_write_en,
67 mbi_icv_read_en,
68 mbi_cambist_run,
69 mbi_cambist_shift,
70 mbi_dis_clr_ubit,
71 mbi_init_to_zero,
72 mbi_itb_cam_en_pre,
73 mbi_repl_write,
74 mbi_itb_demap_en,
75 mbi_demap_type,
76 ftu_mbi_tlb_data_cmp,
77 ftu_mbi_tlb_cam_hit,
78 ftu_mbi_tlb_cam_mhit,
79 ftu_mbi_tlb_ctxt0_hit,
80 ftu_mbi_tlb_valid,
81 ftu_mbi_tlb_used,
82 lsu_asi_error_inject,
83 lsu_ifu_direct_map,
84 mbi_addr,
85 mbi_wdata,
86 mbi_cmpsel,
87 ftu_mbi_ict_fail,
88 ftu_mbi_icd_fail,
89 ftu_mbi_itb_fail,
90 ftu_mbi_icv_fail,
91 spc_core_running_status,
92 in_rngl_cdbus,
93 exu_address0_e,
94 exu_address1_e,
95 tlu_retry,
96 tlu_ceter_pscce,
97 tlu_trap_pc_0,
98 tlu_trap_pc_1,
99 tlu_npc_w,
100 tlu_ifu_hpstate_hpriv,
101 tlu_ifu_pstate_priv,
102 tlu_pstate_am,
103 tlu_ifu_invalidate,
104 cmu_fill_paddr,
105 cmu_inval_ack,
106 cmu_l2_err,
107 cmu_l2miss,
108 tlu_cerer_ittp,
109 tlu_cerer_itdp,
110 tlu_cerer_ittm,
111 tlu_cerer_icl2c,
112 tlu_cerer_icl2u,
113 tlu_cerer_icl2nd,
114 tlu_cerer_icvp,
115 tlu_cerer_ictp,
116 tlu_cerer_ictm,
117 cmu_icache_invalidate,
118 cmu_evic_invalidate,
119 cmu_icache_invalidate_way,
120 cmu_icache_inv_way1,
121 cmu_icache_invalidate_index,
122 dec_load_flush_w,
123 dec_tid0_d,
124 dec_tid1_d,
125 dec_br_taken_e,
126 dec_valid_e,
127 tlu_trap_pc_0_valid,
128 tlu_trap_pc_1_valid,
129 tlu_trap_0_tid,
130 tlu_trap_1_tid,
131 tlu_flush_ifu,
132 tlu_itlb_reload,
133 tlu_itlb_bypass,
134 tlu_tl_gt_0,
135 ibu_empty,
136 ibu_room_4ormore,
137 cmu_null_st,
138 cmu_dupmiss_st,
139 cmu_rst_dupmiss,
140 cmu_any_un_cacheable,
141 cmu_any_data_ready,
142 cmu_thr0_data_ready,
143 cmu_thr1_data_ready,
144 cmu_thr2_data_ready,
145 cmu_thr3_data_ready,
146 cmu_thr4_data_ready,
147 cmu_thr5_data_ready,
148 cmu_thr6_data_ready,
149 cmu_thr7_data_ready,
150 cmu_fill_inst0,
151 cmu_fill_inst1,
152 cmu_fill_inst2,
153 cmu_fill_inst3,
154 lsu_ic_enable,
155 lsu_ifu_no_miss,
156 lsu_ifu_ctxt_data,
157 lsu_ifu_tid_w,
158 lsu_ifu_wr_p0ctxt,
159 lsu_ifu_wr_p1ctxt,
160 lsu_ifu_wr_pid,
161 lsu_immu_enable,
162 lsu_ifu_ftu_pmen,
163 lsu_ic_pmen,
164 cmu_fill_wrway,
165 cmu_instr_v,
166 cmu_ic_data,
167 mmu_index,
168 ftu_buffer_wr_en_f,
169 ifu_rngl_cdbus,
170 ftu_rep_way,
171 ftu_paddr,
172 ftu_instr_0_c,
173 ftu_instr_1_c,
174 ftu_instr_2_c,
175 ftu_instr_3_c,
176 ftu_exception_valid_c,
177 ftu_instr_exceptions_c,
178 ftu_instr_valid_c,
179 ftu_fetch_thr_c,
180 ftu_curr_fetch_thr_f,
181 ftu_ifu_quiesce,
182 ifu_ibuffer_write_c,
183 ftu_ic_no_err_c,
184 ftu_bus_0_is_first,
185 ftu_bus_1_is_first,
186 ftu_bus_2_is_first,
187 ftu_bus_3_is_first,
188 ftu_instr_sf_valid_c,
189 ftu_excp_way_d,
190 ftu_excp_tid_d,
191 ftu_excp_way_valid_d,
192 ftu_thrx_un_cacheable,
193 ftu_agc_thr0_cmiss_c,
194 ftu_agc_thr1_cmiss_c,
195 ftu_agc_thr2_cmiss_c,
196 ftu_agc_thr3_cmiss_c,
197 ftu_agc_thr4_cmiss_c,
198 ftu_agc_thr5_cmiss_c,
199 ftu_agc_thr6_cmiss_c,
200 ftu_agc_thr7_cmiss_c,
201 ftu_thr0_inv_req_c,
202 ftu_thr1_inv_req_c,
203 ftu_thr2_inv_req_c,
204 ftu_thr3_inv_req_c,
205 ftu_thr4_inv_req_c,
206 ftu_thr5_inv_req_c,
207 ftu_thr6_inv_req_c,
208 ftu_thr7_inv_req_c,
209 ftu_ibu_redirect_bf,
210 ftu_thr0_redirect_bf,
211 ftu_thr1_redirect_bf,
212 ftu_thr2_redirect_bf,
213 ftu_thr3_redirect_bf,
214 ftu_thr4_redirect_bf,
215 ftu_thr5_redirect_bf,
216 ftu_thr6_redirect_bf,
217 ftu_thr7_redirect_bf,
218 ic_dmo_rd_data,
219 scan_out,
220 efu_spc_fuse_data,
221 efu_spc_fuse_ixfer_en,
222 slow_cmp_sync_en,
223 cmp_slow_sync_en,
224 efu_spc_fuse_iclr,
225 spc_efu_fuse_idata,
226 spc_efu_fuse_ixfer_en,
227 vnw_ary);
228wire pce;
229wire io_cmp_sync_en;
230wire cmp_io_sync_en;
231wire [10:0] ifu_ftu_agd_pc_bf_unused;
232wire [47:0] ifu_agd_pc_bf;
233wire ftu_agd_dp_scanin;
234wire ftu_agd_dp_scanout;
235wire [68:0] itd_tag;
236wire ftu_ctx_dp_wmr_scanin;
237wire ftu_ctx_dp_wmr_scanout;
238wire ftu_ctx_dp_scanin;
239wire ftu_ctx_dp_scanout;
240wire ftu_agc_ctl_scanin;
241wire ftu_agc_ctl_scanout;
242wire [37:0] itb_tte_data;
243wire [39:37] ftu_paddr_unq;
244wire [32:0] asi_wr_data;
245wire ftu_cms_ctl_scanin;
246wire ftu_cms_ctl_scanout;
247wire [32:0] word2_reordered;
248wire [7:0] cms_ic_modified_parity;
249wire [32:0] word3_reordered;
250wire [32:0] word6_reordered;
251wire [32:0] word7_reordered;
252wire [5:0] hdr_sram_rvalue;
253wire [3:0] hdr_sram_rid;
254wire hdr_sram_wr_en;
255wire hdr_sram_red_clr;
256wire [5:0] sram_hdr_read_data;
257wire red_en_unused;
258wire [32:0] icd_bus_2_instr_c;
259wire [32:0] icd_bus_3_instr_c;
260wire ftu_icd_cust_scanin;
261wire ftu_icd_cust_scanout;
262wire hdr_scanin;
263wire hdr_scanout;
264wire [10:5] agd_ict_index_bf;
265wire ftu_ict_cust_scanin;
266wire ftu_ict_cust_scanout;
267wire ftu_icv_cust_scanin;
268wire ftu_icv_cust_scanout;
269wire [31:0] agc_icv_wren_bf;
270wire agc_icv_wr_req_bf;
271wire ftp_iv_rd_req_bf;
272wire [10:2] agd_ic_index_bf;
273wire [10:6] agd_icv_windex_bf;
274wire [31:0] agc_icv_wrdata_bf;
275wire [31:0] icv_valid_f;
276wire tte_ubit;
277wire itc_tte_ubit;
278wire ftu_itb_cust_scanin;
279wire ftu_itb_cust_scanout;
280wire itc_dis_clr_ubit;
281wire itc_bypass_bf;
282wire itc_wr_u_en;
283wire itc_itlb_rd_vld_bf;
284wire ftp_itlb_cam_vld_bf;
285wire [5:0] itd_rw_index;
286wire itc_rw_index_vld;
287wire itc_demap;
288wire itc_demap_context;
289wire itc_demap_all;
290wire itc_demap_real;
291wire [37:0] itd_data;
292wire [28:0] ict_itlb_way_0_tag_f_rep0;
293wire [28:0] ict_itlb_way_1_tag_f_rep0;
294wire [28:0] ict_itlb_way_2_tag_f_rep0;
295wire [28:0] ict_itlb_way_3_tag_f_rep0;
296wire [28:0] ict_itlb_way_4_tag_f_rep0;
297wire [28:0] ict_itlb_way_5_tag_f_rep0;
298wire [28:0] ict_itlb_way_6_tag_f_rep0;
299wire [28:0] ict_itlb_way_7_tag_f_rep0;
300wire [7:0] agd_itlb_valid_fast_f;
301wire [7:0] itb_icd_waysel_c;
302wire itb_chit_c;
303wire itb_cam_hit_c;
304wire itb_itb_mhit_c;
305wire [39:13] pa_unflopped_unused;
306wire [65:0] itb_tte_tag;
307wire itb_tte_u_bit;
308wire itb_tte_data_parity;
309wire itb_tte_p_c;
310wire [39:3] asi_addr_bf;
311wire ftu_itc_ctl_scanin;
312wire ftu_itc_ctl_scanout;
313wire ftu_itd_dp_scanin;
314wire ftu_itd_dp_scanout;
315wire [2:0] ftp_curr_pid_bf;
316wire itc_ra_to_pa_bf;
317wire [13:0] ctx_cntx_0_to_write_bf;
318wire [13:0] ctx_cntx_1_to_write_bf;
319wire [12:0] ctx_curr_cntx_0_bf;
320wire [12:0] ctx_curr_cntx_1_bf;
321wire ftu_ftp_ctl_scanin;
322wire ftu_ftp_ctl_scanout;
323wire ftu_tfc_ctl_scanin;
324wire ftu_tfc_ctl_scanout;
325wire ftu_byp_dp_scanin;
326wire ftu_byp_dp_scanout;
327wire ftu_asi_ctl_scanin;
328wire ftu_asi_ctl_scanout;
329wire [2:0] ftp_thr0_trprdpc_sel_bf;
330wire [2:0] ftp_thr1_trprdpc_sel_bf;
331wire [2:0] ftp_thr2_trprdpc_sel_bf;
332wire [2:0] ftp_thr3_trprdpc_sel_bf;
333wire [2:0] ftp_thr4_trprdpc_sel_bf;
334wire [2:0] ftp_thr5_trprdpc_sel_bf;
335wire [2:0] ftp_thr6_trprdpc_sel_bf;
336wire [2:0] ftp_thr7_trprdpc_sel_bf;
337wire [3:0] agc_thr0_pcf_sel_bf;
338wire [3:0] agc_thr1_pcf_sel_bf;
339wire [3:0] agc_thr2_pcf_sel_bf;
340wire [3:0] agc_thr3_pcf_sel_bf;
341wire [3:0] agc_thr4_pcf_sel_bf;
342wire [3:0] agc_thr5_pcf_sel_bf;
343wire [3:0] agc_thr6_pcf_sel_bf;
344wire [3:0] agc_thr7_pcf_sel_bf;
345wire [1:0] agc_thr0_pcf_sel_last_bf;
346wire [1:0] agc_thr1_pcf_sel_last_bf;
347wire [1:0] agc_thr2_pcf_sel_last_bf;
348wire [1:0] agc_thr3_pcf_sel_last_bf;
349wire [1:0] agc_thr4_pcf_sel_last_bf;
350wire [1:0] agc_thr5_pcf_sel_last_bf;
351wire [1:0] agc_thr6_pcf_sel_last_bf;
352wire [1:0] agc_thr7_pcf_sel_last_bf;
353wire ftp_thr0_sel_br_bf;
354wire ftp_thr1_sel_br_bf;
355wire ftp_thr2_sel_br_bf;
356wire ftp_thr3_sel_br_bf;
357wire ftp_thr4_sel_br_bf;
358wire ftp_thr5_sel_br_bf;
359wire ftp_thr6_sel_br_bf;
360wire ftp_thr7_sel_br_bf;
361wire [3:0] agc_sel_inv_index;
362wire [3:0] agc_pc_sel_for_c;
363wire agc_thr0_byp_incr_bit5;
364wire agc_thr1_byp_incr_bit5;
365wire agc_thr2_byp_incr_bit5;
366wire agc_thr3_byp_incr_bit5;
367wire agc_thr4_byp_incr_bit5;
368wire agc_thr5_byp_incr_bit5;
369wire agc_thr6_byp_incr_bit5;
370wire agc_thr7_byp_incr_bit5;
371wire [4:2] agc_thr0_byp_pc_update_bf;
372wire [4:2] agc_thr1_byp_pc_update_bf;
373wire [4:2] agc_thr2_byp_pc_update_bf;
374wire [4:2] agc_thr3_byp_pc_update_bf;
375wire [4:2] agc_thr4_byp_pc_update_bf;
376wire [4:2] agc_thr5_byp_pc_update_bf;
377wire [4:2] agc_thr6_byp_pc_update_bf;
378wire [4:2] agc_thr7_byp_pc_update_bf;
379wire [7:0] ftp_new_thr_sel_bf;
380wire [2:0] ftp_ict_data_sel_bf;
381wire [5:0] ftp_pc_sel_am;
382wire [2:0] ftp_pc_sel_tag_part1;
383wire [3:0] ftp_pc_sel_tag_part2;
384wire [1:0] ftp_pc_sel_tag_pc_bot;
385wire [1:0] ftp_pc_sel_tag_pc_top;
386wire ftp_any_thr_clken;
387wire ftp_sel_icv_mbist_addr;
388wire [4:0] ftp_icaddr_sel_first_mux;
389wire [2:0] agd_direct_map_rep_way;
390wire [7:0] agd_itlb_valid_f;
391wire [7:0] agd_itlb_valid_dupl_f;
392wire [47:2] ifu_agd_pc_f;
393wire [4:2] agd_thr0_pc_4_2_f;
394wire [4:2] agd_thr1_pc_4_2_f;
395wire [4:2] agd_thr2_pc_4_2_f;
396wire [4:2] agd_thr3_pc_4_2_f;
397wire [4:2] agd_thr4_pc_4_2_f;
398wire [4:2] agd_thr5_pc_4_2_f;
399wire [4:2] agd_thr6_pc_4_2_f;
400wire [4:2] agd_thr7_pc_4_2_f;
401wire [29:0] agd_ict_wrtag_bf;
402wire [32:0] agd_asi_bist_wrdata;
403wire [7:0] agd_mbist_wdata_bf;
404wire agd_va_hole_excp_f;
405wire [4:2] agd_address0_m;
406wire [4:2] agd_address1_m;
407wire agc_thr0_cntx_0_sel_ff;
408wire agc_thr0_cntx_1_sel_ff;
409wire agc_thr1_cntx_0_sel_ff;
410wire agc_thr1_cntx_1_sel_ff;
411wire agc_thr2_cntx_0_sel_ff;
412wire agc_thr2_cntx_1_sel_ff;
413wire agc_thr3_cntx_0_sel_ff;
414wire agc_thr3_cntx_1_sel_ff;
415wire agc_thr4_cntx_0_sel_ff;
416wire agc_thr4_cntx_1_sel_ff;
417wire agc_thr5_cntx_0_sel_ff;
418wire agc_thr5_cntx_1_sel_ff;
419wire agc_thr6_cntx_0_sel_ff;
420wire agc_thr6_cntx_1_sel_ff;
421wire agc_thr7_cntx_0_sel_ff;
422wire agc_thr7_cntx_1_sel_ff;
423wire [1:0] agc_thr0_cntx_0_sel;
424wire [1:0] agc_thr0_cntx_1_sel;
425wire [1:0] agc_thr1_cntx_0_sel;
426wire [1:0] agc_thr1_cntx_1_sel;
427wire [1:0] agc_thr2_cntx_0_sel;
428wire [1:0] agc_thr2_cntx_1_sel;
429wire [1:0] agc_thr3_cntx_0_sel;
430wire [1:0] agc_thr3_cntx_1_sel;
431wire [1:0] agc_thr4_cntx_0_sel;
432wire [1:0] agc_thr4_cntx_1_sel;
433wire [1:0] agc_thr5_cntx_0_sel;
434wire [1:0] agc_thr5_cntx_1_sel;
435wire [1:0] agc_thr6_cntx_0_sel;
436wire [1:0] agc_thr6_cntx_1_sel;
437wire [1:0] agc_thr7_cntx_0_sel;
438wire [1:0] agc_thr7_cntx_1_sel;
439wire [7:0] ftp_itb_fetch_thr_bf;
440wire [7:0] itc_thr_to_write;
441wire ftp_itlb_probe_req_l;
442wire asi_ith_det_req;
443wire ftp_asi_tg_wr_req_hold;
444wire ftp_itlb_cam_vld_f;
445wire [2:0] asi_way_bf;
446wire itc_demap_next;
447wire [7:0] ftp_curr_fetch_thr_f;
448wire [7:0] ftp_fetch_thr_q_f;
449wire ftp_fill_req_q_bf;
450wire [3:0] err_w0_8b_parity_f;
451wire [3:0] err_w1_8b_parity_f;
452wire [3:0] err_w2_8b_parity_f;
453wire [3:0] err_w3_8b_parity_f;
454wire [3:0] err_w4_8b_parity_f;
455wire [3:0] err_w5_8b_parity_f;
456wire [3:0] err_w6_8b_parity_f;
457wire [3:0] err_w7_8b_parity_f;
458wire tsm_thr0_ignore_by_pass;
459wire tsm_thr1_ignore_by_pass;
460wire tsm_thr2_ignore_by_pass;
461wire tsm_thr3_ignore_by_pass;
462wire tsm_thr4_ignore_by_pass;
463wire tsm_thr5_ignore_by_pass;
464wire tsm_thr6_ignore_by_pass;
465wire tsm_thr7_ignore_by_pass;
466wire tsm_thr0_no_new_miss;
467wire tsm_thr1_no_new_miss;
468wire tsm_thr2_no_new_miss;
469wire tsm_thr3_no_new_miss;
470wire tsm_thr4_no_new_miss;
471wire tsm_thr5_no_new_miss;
472wire tsm_thr6_no_new_miss;
473wire tsm_thr7_no_new_miss;
474wire [1:0] ftp_tid0_e;
475wire [1:0] ftp_tid1_e;
476wire ftp_fetch_v_f;
477wire ftp_asi_mbist_access_bf;
478wire itd_prty_256m;
479wire itd_prty_4m;
480wire itd_prty_64k;
481wire itd_prty_8k;
482wire itd_prty_ctxt0;
483wire itd_prty_ctxt1;
484wire tlb_context0_hit;
485wire agc_itb_tag_perr_c;
486wire [1:0] agc_vl_data_c;
487wire [3:0] agc_asi_sel_word_c;
488wire [7:0] agc_sel_tg_data_f;
489wire [7:0] agc_word_en_bf;
490wire [7:0] agc_by_pass_update_lru_bf;
491wire [7:0] agc_invalidation_req_ff;
492wire agc_any_invalidation_req_f;
493wire agc_thr0_sf_valid_f;
494wire agc_thr1_sf_valid_f;
495wire agc_thr2_sf_valid_f;
496wire agc_thr3_sf_valid_f;
497wire agc_thr4_sf_valid_f;
498wire agc_thr5_sf_valid_f;
499wire agc_thr6_sf_valid_f;
500wire agc_thr7_sf_valid_f;
501wire agc_thr0_micro_flush_unq_c;
502wire agc_thr1_micro_flush_unq_c;
503wire agc_thr2_micro_flush_unq_c;
504wire agc_thr3_micro_flush_unq_c;
505wire agc_thr4_micro_flush_unq_c;
506wire agc_thr5_micro_flush_unq_c;
507wire agc_thr6_micro_flush_unq_c;
508wire agc_thr7_micro_flush_unq_c;
509wire agc_thr0_err_detect_c;
510wire agc_thr1_err_detect_c;
511wire agc_thr2_err_detect_c;
512wire agc_thr3_err_detect_c;
513wire agc_thr4_err_detect_c;
514wire agc_thr5_err_detect_c;
515wire agc_thr6_err_detect_c;
516wire agc_thr7_err_detect_c;
517wire agc_thr0_cmiss_stm_c;
518wire agc_thr1_cmiss_stm_c;
519wire agc_thr2_cmiss_stm_c;
520wire agc_thr3_cmiss_stm_c;
521wire agc_thr4_cmiss_stm_c;
522wire agc_thr5_cmiss_stm_c;
523wire agc_thr6_cmiss_stm_c;
524wire agc_thr7_cmiss_stm_c;
525wire [2:0] agc_fill_wrway_bf;
526wire agc_thr0_lsu_no_ic_miss;
527wire agc_thr1_lsu_no_ic_miss;
528wire agc_thr2_lsu_no_ic_miss;
529wire agc_thr3_lsu_no_ic_miss;
530wire agc_thr4_lsu_no_ic_miss;
531wire agc_thr5_lsu_no_ic_miss;
532wire agc_thr6_lsu_no_ic_miss;
533wire agc_thr7_lsu_no_ic_miss;
534wire agc_thr0_itb_miss_c;
535wire agc_thr1_itb_miss_c;
536wire agc_thr2_itb_miss_c;
537wire agc_thr3_itb_miss_c;
538wire agc_thr4_itb_miss_c;
539wire agc_thr5_itb_miss_c;
540wire agc_thr6_itb_miss_c;
541wire agc_thr7_itb_miss_c;
542wire agc_thr0_tlu_redirect_bf;
543wire agc_thr1_tlu_redirect_bf;
544wire agc_thr2_tlu_redirect_bf;
545wire agc_thr3_tlu_redirect_bf;
546wire agc_thr4_tlu_redirect_bf;
547wire agc_thr5_tlu_redirect_bf;
548wire agc_thr6_tlu_redirect_bf;
549wire agc_thr7_tlu_redirect_bf;
550wire agc_kill_fetch_cv_c;
551wire [2:0] agc_instr_bp_sel_c;
552wire ftp_icd_quad_0_en_bf;
553wire ftp_icd_quad_1_en_bf;
554wire ftp_icd_quad_2_en_bf;
555wire ftp_icd_quad_3_en_bf;
556wire ftp_ic_rd_req_bf;
557wire ftp_ic_wr_req_bf;
558wire ftp_ic_wr_ps_en_bf;
559wire [32:0] icd_bus_0_instr_c;
560wire [32:0] icd_bus_1_instr_c;
561wire ftp_tg_rd_req_bf;
562wire ftp_tg_wr_req_bf;
563wire ftp_tg_clk_en;
564wire [29:0] ict_itlb_way_0_tag_f;
565wire [29:0] ict_itlb_way_1_tag_f;
566wire [29:0] ict_itlb_way_2_tag_f;
567wire [29:0] ict_itlb_way_3_tag_f;
568wire [29:0] ict_itlb_way_4_tag_f;
569wire [29:0] ict_itlb_way_5_tag_f;
570wire [29:0] ict_itlb_way_6_tag_f;
571wire [29:0] ict_itlb_way_7_tag_f;
572wire itd_index_valid_in;
573wire ftp_itt_rd_req_bf;
574wire ftp_itd_rd_req_bf;
575wire ftp_ith_det_req_bf;
576wire itc_sel_trap_pc_0;
577wire itc_sel_trap_pc_1;
578wire itc_sel_demap_tag_d;
579wire itc_sel_demap_tag_c0;
580wire itc_sel_demap_tag_c1;
581wire itc_sel_write_tag;
582wire itc_sel_write_tag_indexed;
583wire itc_sel_default;
584wire itc_tag_error_inj;
585wire itc_data_error_inj;
586wire itc_write_next;
587wire itc_sel_mbist;
588wire itc_mbi_itb_read_en;
589wire itc_itb_data_sz_1;
590wire [2:0] ftp_thr0_pid_data;
591wire [2:0] ftp_thr1_pid_data;
592wire [2:0] ftp_thr2_pid_data;
593wire [2:0] ftp_thr3_pid_data;
594wire [2:0] ftp_thr4_pid_data;
595wire [2:0] ftp_thr5_pid_data;
596wire [2:0] ftp_thr6_pid_data;
597wire [2:0] ftp_thr7_pid_data;
598wire tsm_thr0_ready_hp_bf_in;
599wire tsm_thr1_ready_hp_bf_in;
600wire tsm_thr2_ready_hp_bf_in;
601wire tsm_thr3_ready_hp_bf_in;
602wire tsm_thr4_ready_hp_bf_in;
603wire tsm_thr5_ready_hp_bf_in;
604wire tsm_thr6_ready_hp_bf_in;
605wire tsm_thr7_ready_hp_bf_in;
606wire tsm_thr0_fill_rdy0;
607wire tsm_thr1_fill_rdy0;
608wire tsm_thr2_fill_rdy0;
609wire tsm_thr3_fill_rdy0;
610wire tsm_thr4_fill_rdy0;
611wire tsm_thr5_fill_rdy0;
612wire tsm_thr6_fill_rdy0;
613wire tsm_thr7_fill_rdy0;
614wire asi_ic_wr_req;
615wire asi_ic_rd_req;
616wire asi_tg_wr_req;
617wire asi_tg_rd_req;
618wire asi_itd_rd_req;
619wire asi_itt_rd_req;
620wire [2:0] asi_tid;
621wire ftp_asi_rd_done;
622wire ftp_asi_wr_done;
623wire ftp_reset_fill_wait;
624wire ftp_sel_mbist_itb_cycle0;
625wire ftp_sel_mbist_itb_cycle1;
626wire ftp_sel_mbist_itb_cycle2;
627wire ftp_sel_mbist_itb_cycle3;
628wire ftp_sel_itlb_tag_cntx0_c;
629wire ftp_sel_itlb_tag_cntx1_c;
630wire ftp_sel_itlb_data_c;
631wire ftp_sel_itlb_pa_c;
632wire ftp_asi_it_rd_done;
633wire ftp_asi_ic_rd_done;
634wire ftp_asi_ic_wr_done;
635wire ftp_asi_tg_rd_done;
636wire ftp_asi_tg_wr_done;
637wire ftp_thr0_room_is_less_t_3;
638wire ftp_thr1_room_is_less_t_3;
639wire ftp_thr2_room_is_less_t_3;
640wire ftp_thr3_room_is_less_t_3;
641wire ftp_thr4_room_is_less_t_3;
642wire ftp_thr5_room_is_less_t_3;
643wire ftp_thr6_room_is_less_t_3;
644wire ftp_thr7_room_is_less_t_3;
645wire ftp_thr0_go_to_sf_wait;
646wire ftp_thr1_go_to_sf_wait;
647wire ftp_thr2_go_to_sf_wait;
648wire ftp_thr3_go_to_sf_wait;
649wire ftp_thr4_go_to_sf_wait;
650wire ftp_thr5_go_to_sf_wait;
651wire ftp_thr6_go_to_sf_wait;
652wire ftp_thr7_go_to_sf_wait;
653wire ftp_mbi_icd_read_en_bf;
654wire ftp_mbi_ict_read_en_bf;
655wire asi_wr_request;
656wire asi_rd_request;
657wire [32:0] ic_rd_data;
658wire [29:0] tg_rd_data;
659wire [63:0] it_rd_data;
660
661 input tcu_scan_en;
662 input l2clk;
663 input scan_in;
664
665 input spc_aclk_wmr;
666 input wmr_scan_in;
667 output wmr_scan_out;
668
669
670 input tcu_pce_ov; // scan signals
671 input spc_aclk;
672 input spc_bclk;
673 input tcu_muxtest;
674 input tcu_dectest;
675 input tcu_array_wr_inhibit;
676 input tcu_se_scancollar_in;
677 input tcu_se_scancollar_out;
678
679 input lbist_run;
680 input mbi_run;
681 input mbi_ict_write_en;
682 input mbi_ict_read_en;
683 input mbi_icd_write_en;
684 input mbi_icd_read_en;
685 input mbi_itb_write_en;
686 input mbi_itb_read_en;
687 input mbi_icv_write_en;
688 input mbi_icv_read_en;
689
690 input mbi_cambist_run;
691 input mbi_cambist_shift;
692 input mbi_dis_clr_ubit;
693 input mbi_init_to_zero;
694 input mbi_itb_cam_en_pre;
695
696 input mbi_repl_write;
697 input mbi_itb_demap_en;
698 input [1:0] mbi_demap_type;
699
700
701 output ftu_mbi_tlb_data_cmp;
702 output ftu_mbi_tlb_cam_hit;
703 output ftu_mbi_tlb_cam_mhit;
704 output ftu_mbi_tlb_ctxt0_hit;
705 output ftu_mbi_tlb_valid;
706 output ftu_mbi_tlb_used;
707
708 input [31:28] lsu_asi_error_inject;
709 input lsu_ifu_direct_map;
710
711 input [8:0] mbi_addr;
712 input [7:0] mbi_wdata;
713 input [2:0] mbi_cmpsel;
714
715
716 output ftu_mbi_ict_fail;
717 output ftu_mbi_icd_fail;
718 output ftu_mbi_itb_fail;
719 output ftu_mbi_icv_fail;
720
721
722input [7:0] spc_core_running_status;
723
724
725 input [64:0] in_rngl_cdbus;
726 input [47:0] exu_address0_e;
727 input [47:0] exu_address1_e;
728 input [1:0] tlu_retry ;
729 input [7:0] tlu_ceter_pscce ;
730 input [47:0] tlu_trap_pc_0;
731 input [47:0] tlu_trap_pc_1;
732 input [47:2] tlu_npc_w;
733 input [7:0] tlu_ifu_hpstate_hpriv;
734 input [7:0] tlu_ifu_pstate_priv;
735 input [7:0] tlu_pstate_am;
736 input [1:0] tlu_ifu_invalidate ;
737
738 input [39:5] cmu_fill_paddr;
739 input [7:0] cmu_inval_ack;
740 input [1:0] cmu_l2_err;
741 input cmu_l2miss;
742// Error enables //
743 input tlu_cerer_ittp ;
744 input tlu_cerer_itdp ;
745 input tlu_cerer_ittm ;
746 input tlu_cerer_icl2c ;
747 input tlu_cerer_icl2u ;
748 input tlu_cerer_icl2nd ;
749 input tlu_cerer_icvp ;
750 input tlu_cerer_ictp ;
751 input tlu_cerer_ictm ;
752
753 input cmu_icache_invalidate;
754 input cmu_evic_invalidate;
755
756 input [2:0] cmu_icache_invalidate_way;
757 input [2:0] cmu_icache_inv_way1;
758 input [10:5] cmu_icache_invalidate_index;
759
760
761
762 input [1:0] dec_load_flush_w;
763
764
765 input [1:0] dec_tid0_d;
766 input [1:0] dec_tid1_d;
767 input [1:0] dec_br_taken_e;
768 input [1:0] dec_valid_e;
769
770
771 input tlu_trap_pc_0_valid;
772 input tlu_trap_pc_1_valid;
773 input [1:0] tlu_trap_0_tid;
774 input [1:0] tlu_trap_1_tid;
775 input [7:0] tlu_flush_ifu;
776 input [1:0] tlu_itlb_reload;
777 input [7:0] tlu_itlb_bypass;
778 input [7:0] tlu_tl_gt_0;
779
780
781 input [7:0] ibu_empty;
782 input [7:0] ibu_room_4ormore;
783
784 input [7:0] cmu_null_st;
785 input [7:0] cmu_dupmiss_st;
786 input [7:0] cmu_rst_dupmiss;
787
788
789 input cmu_any_un_cacheable;
790
791 input cmu_any_data_ready;
792 input cmu_thr0_data_ready;
793 input cmu_thr1_data_ready;
794 input cmu_thr2_data_ready;
795 input cmu_thr3_data_ready;
796 input cmu_thr4_data_ready;
797 input cmu_thr5_data_ready;
798 input cmu_thr6_data_ready;
799 input cmu_thr7_data_ready;
800 input [32:0] cmu_fill_inst0;
801 input [32:0] cmu_fill_inst1;
802 input [32:0] cmu_fill_inst2;
803 input [32:0] cmu_fill_inst3;
804
805 input [7:0] lsu_ic_enable;
806 input [7:0] lsu_ifu_no_miss;
807 input [12:0] lsu_ifu_ctxt_data;
808 input [2:0] lsu_ifu_tid_w;
809 input lsu_ifu_wr_p0ctxt;
810 input lsu_ifu_wr_p1ctxt;
811 input lsu_ifu_wr_pid;
812 input [7:0] lsu_immu_enable;
813 input lsu_ifu_ftu_pmen;
814 input lsu_ic_pmen;
815
816input [2:0] cmu_fill_wrway;
817input [3:0] cmu_instr_v;
818
819 input [263:0] cmu_ic_data;
820
821input [6:0] mmu_index; // valid and index from data_access
822
823output [7:0] ftu_buffer_wr_en_f ;
824
825output [64:0] ifu_rngl_cdbus;
826output [2:0] ftu_rep_way ;
827output [39:0] ftu_paddr ;
828output [32:0] ftu_instr_0_c ;
829output [32:0] ftu_instr_1_c ;
830output [32:0] ftu_instr_2_c ;
831output [32:0] ftu_instr_3_c ;
832output ftu_exception_valid_c ;
833output [4:0] ftu_instr_exceptions_c ;
834output [3:0] ftu_instr_valid_c ;
835output [7:0] ftu_fetch_thr_c ;
836output [7:0] ftu_curr_fetch_thr_f ;
837output [7:0] ftu_ifu_quiesce ;
838output [7:0] ifu_ibuffer_write_c ;
839output ftu_ic_no_err_c ; // Data being by_passed does not have an error
840output ftu_bus_0_is_first ; // bus 0 contains first instr
841output ftu_bus_1_is_first ; // bus 1 contains first instr
842output ftu_bus_2_is_first ; // bus 2 contains first instr
843output ftu_bus_3_is_first ; // bus 3 contains first instr
844output ftu_instr_sf_valid_c ;
845
846
847
848output [2:0] ftu_excp_way_d;
849output [2:0] ftu_excp_tid_d;
850output ftu_excp_way_valid_d;
851
852
853
854
855output ftu_thrx_un_cacheable ;
856
857output ftu_agc_thr0_cmiss_c ;
858output ftu_agc_thr1_cmiss_c ;
859output ftu_agc_thr2_cmiss_c ;
860output ftu_agc_thr3_cmiss_c ;
861output ftu_agc_thr4_cmiss_c ;
862output ftu_agc_thr5_cmiss_c ;
863output ftu_agc_thr6_cmiss_c ;
864output ftu_agc_thr7_cmiss_c ;
865
866output ftu_thr0_inv_req_c ;
867output ftu_thr1_inv_req_c ;
868output ftu_thr2_inv_req_c ;
869output ftu_thr3_inv_req_c ;
870output ftu_thr4_inv_req_c ;
871output ftu_thr5_inv_req_c ;
872output ftu_thr6_inv_req_c ;
873output ftu_thr7_inv_req_c ;
874
875
876output [7:0] ftu_ibu_redirect_bf;
877output ftu_thr0_redirect_bf ;
878output ftu_thr1_redirect_bf ;
879output ftu_thr2_redirect_bf ;
880output ftu_thr3_redirect_bf ;
881output ftu_thr4_redirect_bf ;
882output ftu_thr5_redirect_bf ;
883output ftu_thr6_redirect_bf ;
884output ftu_thr7_redirect_bf ;
885
886output [32:0] ic_dmo_rd_data;
887
888output scan_out;
889
890// EFU interface
891
892input efu_spc_fuse_data;
893input efu_spc_fuse_ixfer_en;
894
895input slow_cmp_sync_en;
896input cmp_slow_sync_en;
897input efu_spc_fuse_iclr;
898output spc_efu_fuse_idata;
899output spc_efu_fuse_ixfer_en;
900
901input vnw_ary;
902
903assign pce = 1'b1;
904
905assign io_cmp_sync_en = slow_cmp_sync_en;
906assign cmp_io_sync_en = cmp_slow_sync_en;
907assign ifu_ftu_agd_pc_bf_unused[10:0] = ifu_agd_pc_bf[10:0] ;
908
909
910
911ifu_ftu_agd_dp ftu_agd_dp (
912 .scan_in(ftu_agd_dp_scanin),
913 .scan_out(ftu_agd_dp_scanout),
914 .l2clk(l2clk),
915 .itc_va({itd_tag[51:32],
916 itd_tag[31:26],
917 itd_tag[23:18],
918 itd_tag[16:14]}),
919 .tcu_scan_en(tcu_scan_en),
920 .tcu_pce_ov(tcu_pce_ov),
921 .spc_aclk(spc_aclk),
922 .spc_bclk(spc_bclk),
923 .tcu_muxtest(tcu_muxtest),
924 .mbi_addr(mbi_addr[5:0]),
925 .mbi_cmpsel(mbi_cmpsel[2:0]),
926 .mbi_wdata(mbi_wdata[7:0]),
927 .mbi_icv_read_en(mbi_icv_read_en),
928 .ftp_thr0_trprdpc_sel_bf(ftp_thr0_trprdpc_sel_bf[2:0]),
929 .ftp_thr1_trprdpc_sel_bf(ftp_thr1_trprdpc_sel_bf[2:0]),
930 .ftp_thr2_trprdpc_sel_bf(ftp_thr2_trprdpc_sel_bf[2:0]),
931 .ftp_thr3_trprdpc_sel_bf(ftp_thr3_trprdpc_sel_bf[2:0]),
932 .ftp_thr4_trprdpc_sel_bf(ftp_thr4_trprdpc_sel_bf[2:0]),
933 .ftp_thr5_trprdpc_sel_bf(ftp_thr5_trprdpc_sel_bf[2:0]),
934 .ftp_thr6_trprdpc_sel_bf(ftp_thr6_trprdpc_sel_bf[2:0]),
935 .ftp_thr7_trprdpc_sel_bf(ftp_thr7_trprdpc_sel_bf[2:0]),
936 .agc_thr0_pcf_sel_bf(agc_thr0_pcf_sel_bf[3:0]),
937 .agc_thr1_pcf_sel_bf(agc_thr1_pcf_sel_bf[3:0]),
938 .agc_thr2_pcf_sel_bf(agc_thr2_pcf_sel_bf[3:0]),
939 .agc_thr3_pcf_sel_bf(agc_thr3_pcf_sel_bf[3:0]),
940 .agc_thr4_pcf_sel_bf(agc_thr4_pcf_sel_bf[3:0]),
941 .agc_thr5_pcf_sel_bf(agc_thr5_pcf_sel_bf[3:0]),
942 .agc_thr6_pcf_sel_bf(agc_thr6_pcf_sel_bf[3:0]),
943 .agc_thr7_pcf_sel_bf(agc_thr7_pcf_sel_bf[3:0]),
944 .agc_thr0_pcf_sel_last_bf(agc_thr0_pcf_sel_last_bf[1:0]),
945 .agc_thr1_pcf_sel_last_bf(agc_thr1_pcf_sel_last_bf[1:0]),
946 .agc_thr2_pcf_sel_last_bf(agc_thr2_pcf_sel_last_bf[1:0]),
947 .agc_thr3_pcf_sel_last_bf(agc_thr3_pcf_sel_last_bf[1:0]),
948 .agc_thr4_pcf_sel_last_bf(agc_thr4_pcf_sel_last_bf[1:0]),
949 .agc_thr5_pcf_sel_last_bf(agc_thr5_pcf_sel_last_bf[1:0]),
950 .agc_thr6_pcf_sel_last_bf(agc_thr6_pcf_sel_last_bf[1:0]),
951 .agc_thr7_pcf_sel_last_bf(agc_thr7_pcf_sel_last_bf[1:0]),
952 .ftp_thr0_sel_br_bf(ftp_thr0_sel_br_bf),
953 .ftp_thr1_sel_br_bf(ftp_thr1_sel_br_bf),
954 .ftp_thr2_sel_br_bf(ftp_thr2_sel_br_bf),
955 .ftp_thr3_sel_br_bf(ftp_thr3_sel_br_bf),
956 .ftp_thr4_sel_br_bf(ftp_thr4_sel_br_bf),
957 .ftp_thr5_sel_br_bf(ftp_thr5_sel_br_bf),
958 .ftp_thr6_sel_br_bf(ftp_thr6_sel_br_bf),
959 .ftp_thr7_sel_br_bf(ftp_thr7_sel_br_bf),
960 .agc_sel_inv_index(agc_sel_inv_index[3:0]),
961 .agc_pc_sel_for_c(agc_pc_sel_for_c[3:0]),
962 .icv_valid_f(icv_valid_f[31:0]),
963 .asi_addr_bf(asi_addr_bf[39:3]),
964 .agc_thr0_byp_incr_bit5(agc_thr0_byp_incr_bit5),
965 .agc_thr1_byp_incr_bit5(agc_thr1_byp_incr_bit5),
966 .agc_thr2_byp_incr_bit5(agc_thr2_byp_incr_bit5),
967 .agc_thr3_byp_incr_bit5(agc_thr3_byp_incr_bit5),
968 .agc_thr4_byp_incr_bit5(agc_thr4_byp_incr_bit5),
969 .agc_thr5_byp_incr_bit5(agc_thr5_byp_incr_bit5),
970 .agc_thr6_byp_incr_bit5(agc_thr6_byp_incr_bit5),
971 .agc_thr7_byp_incr_bit5(agc_thr7_byp_incr_bit5),
972 .agc_thr0_byp_pc_update_bf(agc_thr0_byp_pc_update_bf[4:2]),
973 .agc_thr1_byp_pc_update_bf(agc_thr1_byp_pc_update_bf[4:2]),
974 .agc_thr2_byp_pc_update_bf(agc_thr2_byp_pc_update_bf[4:2]),
975 .agc_thr3_byp_pc_update_bf(agc_thr3_byp_pc_update_bf[4:2]),
976 .agc_thr4_byp_pc_update_bf(agc_thr4_byp_pc_update_bf[4:2]),
977 .agc_thr5_byp_pc_update_bf(agc_thr5_byp_pc_update_bf[4:2]),
978 .agc_thr6_byp_pc_update_bf(agc_thr6_byp_pc_update_bf[4:2]),
979 .agc_thr7_byp_pc_update_bf(agc_thr7_byp_pc_update_bf[4:2]),
980 .ftp_new_thr_sel_bf(ftp_new_thr_sel_bf[7:0]),
981 .ftp_ict_data_sel_bf(ftp_ict_data_sel_bf[2:0]),
982 .ftp_pc_sel_am(ftp_pc_sel_am[5:0]),
983 .ftp_pc_sel_tag_part1(ftp_pc_sel_tag_part1[2:0]),
984 .ftp_pc_sel_tag_part2(ftp_pc_sel_tag_part2[3:0]),
985 .ftp_pc_sel_tag_pc_bot(ftp_pc_sel_tag_pc_bot[1:0]),
986 .ftp_pc_sel_tag_pc_top(ftp_pc_sel_tag_pc_top[1:0]),
987 .ftp_any_thr_clken(ftp_any_thr_clken),
988 .ftp_sel_icv_mbist_addr(ftp_sel_icv_mbist_addr),
989 .ftp_icaddr_sel_first_mux(ftp_icaddr_sel_first_mux[4:0]),
990 .tlu_trap_pc_0(tlu_trap_pc_0[47:2]),
991 .tlu_trap_pc_1(tlu_trap_pc_1[47:2]),
992 .exu_address0_e(exu_address0_e[47:0]),
993 .exu_address1_e(exu_address1_e[47:0]),
994 .tlu_npc_w(tlu_npc_w[47:2]),
995 .cmu_fill_paddr(cmu_fill_paddr[39:5]),
996 .asi_wr_data(asi_wr_data[32:0]),
997 .cmu_icache_invalidate_index(cmu_icache_invalidate_index[10:6]),
998 .cmu_thr0_data_ready(cmu_thr0_data_ready),
999 .cmu_thr1_data_ready(cmu_thr1_data_ready),
1000 .cmu_thr2_data_ready(cmu_thr2_data_ready),
1001 .cmu_thr3_data_ready(cmu_thr3_data_ready),
1002 .cmu_thr4_data_ready(cmu_thr4_data_ready),
1003 .cmu_thr5_data_ready(cmu_thr5_data_ready),
1004 .cmu_thr6_data_ready(cmu_thr6_data_ready),
1005 .cmu_thr7_data_ready(cmu_thr7_data_ready),
1006 .agd_direct_map_rep_way(agd_direct_map_rep_way[2:0]),
1007 .agd_itlb_valid_f(agd_itlb_valid_f[7:0]),
1008 .agd_itlb_valid_fast_f(agd_itlb_valid_fast_f[7:0]),
1009 .agd_itlb_valid_dupl_f(agd_itlb_valid_dupl_f[7:0]),
1010 .ifu_agd_pc_bf(ifu_agd_pc_bf[47:0]),
1011 .agd_ict_index_bf(agd_ict_index_bf[10:5]),
1012 .agd_ic_index_bf(agd_ic_index_bf[10:2]),
1013 .agd_icv_windex_bf(agd_icv_windex_bf[10:6]),
1014 .ifu_agd_pc_f(ifu_agd_pc_f[47:2]),
1015 .agd_thr0_pc_4_2_f(agd_thr0_pc_4_2_f[4:2]),
1016 .agd_thr1_pc_4_2_f(agd_thr1_pc_4_2_f[4:2]),
1017 .agd_thr2_pc_4_2_f(agd_thr2_pc_4_2_f[4:2]),
1018 .agd_thr3_pc_4_2_f(agd_thr3_pc_4_2_f[4:2]),
1019 .agd_thr4_pc_4_2_f(agd_thr4_pc_4_2_f[4:2]),
1020 .agd_thr5_pc_4_2_f(agd_thr5_pc_4_2_f[4:2]),
1021 .agd_thr6_pc_4_2_f(agd_thr6_pc_4_2_f[4:2]),
1022 .agd_thr7_pc_4_2_f(agd_thr7_pc_4_2_f[4:2]),
1023 .agd_ict_wrtag_bf(agd_ict_wrtag_bf[29:0]),
1024 .agd_asi_bist_wrdata(agd_asi_bist_wrdata[32:0]),
1025 .agd_mbist_wdata_bf(agd_mbist_wdata_bf[7:0]),
1026 .ftu_paddr(ftu_paddr[12:0]),
1027 .ftu_mbi_icv_fail(ftu_mbi_icv_fail),
1028 .agd_va_hole_excp_f(agd_va_hole_excp_f),
1029 .agd_address0_m(agd_address0_m[4:2]),
1030 .agd_address1_m(agd_address1_m[4:2])
1031);
1032
1033ifu_ftu_ctx_dp ftu_ctx_dp (
1034 .wmr_scan_in(ftu_ctx_dp_wmr_scanin),
1035 .wmr_scan_out(ftu_ctx_dp_wmr_scanout),
1036 .scan_in(ftu_ctx_dp_scanin),
1037 .scan_out(ftu_ctx_dp_scanout),
1038 .l2clk(l2clk),
1039 .tcu_scan_en(tcu_scan_en),
1040 .tcu_pce_ov(tcu_pce_ov),
1041 .spc_aclk(spc_aclk),
1042 .spc_bclk(spc_bclk),
1043 .spc_aclk_wmr(spc_aclk_wmr),
1044 .lsu_ifu_ctxt_data(lsu_ifu_ctxt_data[12:0]),
1045 .agc_thr0_cntx_0_sel_ff(agc_thr0_cntx_0_sel_ff),
1046 .agc_thr0_cntx_1_sel_ff(agc_thr0_cntx_1_sel_ff),
1047 .agc_thr1_cntx_0_sel_ff(agc_thr1_cntx_0_sel_ff),
1048 .agc_thr1_cntx_1_sel_ff(agc_thr1_cntx_1_sel_ff),
1049 .agc_thr2_cntx_0_sel_ff(agc_thr2_cntx_0_sel_ff),
1050 .agc_thr2_cntx_1_sel_ff(agc_thr2_cntx_1_sel_ff),
1051 .agc_thr3_cntx_0_sel_ff(agc_thr3_cntx_0_sel_ff),
1052 .agc_thr3_cntx_1_sel_ff(agc_thr3_cntx_1_sel_ff),
1053 .agc_thr4_cntx_0_sel_ff(agc_thr4_cntx_0_sel_ff),
1054 .agc_thr4_cntx_1_sel_ff(agc_thr4_cntx_1_sel_ff),
1055 .agc_thr5_cntx_0_sel_ff(agc_thr5_cntx_0_sel_ff),
1056 .agc_thr5_cntx_1_sel_ff(agc_thr5_cntx_1_sel_ff),
1057 .agc_thr6_cntx_0_sel_ff(agc_thr6_cntx_0_sel_ff),
1058 .agc_thr6_cntx_1_sel_ff(agc_thr6_cntx_1_sel_ff),
1059 .agc_thr7_cntx_0_sel_ff(agc_thr7_cntx_0_sel_ff),
1060 .agc_thr7_cntx_1_sel_ff(agc_thr7_cntx_1_sel_ff),
1061 .agc_thr0_cntx_0_sel(agc_thr0_cntx_0_sel[1:0]),
1062 .agc_thr0_cntx_1_sel(agc_thr0_cntx_1_sel[1:0]),
1063 .agc_thr1_cntx_0_sel(agc_thr1_cntx_0_sel[1:0]),
1064 .agc_thr1_cntx_1_sel(agc_thr1_cntx_1_sel[1:0]),
1065 .agc_thr2_cntx_0_sel(agc_thr2_cntx_0_sel[1:0]),
1066 .agc_thr2_cntx_1_sel(agc_thr2_cntx_1_sel[1:0]),
1067 .agc_thr3_cntx_0_sel(agc_thr3_cntx_0_sel[1:0]),
1068 .agc_thr3_cntx_1_sel(agc_thr3_cntx_1_sel[1:0]),
1069 .agc_thr4_cntx_0_sel(agc_thr4_cntx_0_sel[1:0]),
1070 .agc_thr4_cntx_1_sel(agc_thr4_cntx_1_sel[1:0]),
1071 .agc_thr5_cntx_0_sel(agc_thr5_cntx_0_sel[1:0]),
1072 .agc_thr5_cntx_1_sel(agc_thr5_cntx_1_sel[1:0]),
1073 .agc_thr6_cntx_0_sel(agc_thr6_cntx_0_sel[1:0]),
1074 .agc_thr6_cntx_1_sel(agc_thr6_cntx_1_sel[1:0]),
1075 .agc_thr7_cntx_0_sel(agc_thr7_cntx_0_sel[1:0]),
1076 .agc_thr7_cntx_1_sel(agc_thr7_cntx_1_sel[1:0]),
1077 .ftp_itb_fetch_thr_bf(ftp_itb_fetch_thr_bf[7:0]),
1078 .itc_thr_to_write(itc_thr_to_write[7:0]),
1079 .tlu_tl_gt_0(tlu_tl_gt_0[7:0]),
1080 .ftp_itlb_probe_req_l(ftp_itlb_probe_req_l),
1081 .ctx_curr_cntx_0_bf(ctx_curr_cntx_0_bf[12:0]),
1082 .ctx_curr_cntx_1_bf(ctx_curr_cntx_1_bf[12:0]),
1083 .ctx_cntx_0_to_write_bf(ctx_cntx_0_to_write_bf[13:0]),
1084 .ctx_cntx_1_to_write_bf(ctx_cntx_1_to_write_bf[13:0])
1085);
1086
1087ifu_ftu_agc_ctl ftu_agc_ctl(
1088 .scan_in(ftu_agc_ctl_scanin),
1089 .scan_out(ftu_agc_ctl_scanout),
1090 .l2clk(l2clk),
1091 .tlb_pgsize({itb_tte_data[17],itb_tte_data[10],itb_tte_data[6]}),
1092 .itb_tte_tag_parity(itb_tte_data[37]),
1093 .fill_paddr_bit_5(cmu_fill_paddr[5]) ,
1094 .tlb_nfo(itb_tte_data[5]) ,
1095 .itc_real_bf(itd_tag[52]) ,
1096 .ftu_paddr_unq_39(ftu_paddr_unq[39]) ,
1097 .asi_vl_arr_data(asi_wr_data[31:30]) ,
1098 .inv_paddr_bit_5(cmu_icache_invalidate_index[5]),
1099 .tcu_se_scancollar_out(tcu_se_scancollar_out),
1100 .tcu_scan_en(tcu_scan_en),
1101 .tcu_pce_ov(tcu_pce_ov),
1102 .spc_aclk(spc_aclk),
1103 .spc_bclk(spc_bclk),
1104 .tlu_trap_pc_0_valid(tlu_trap_pc_0_valid),
1105 .tlu_retry(tlu_retry[1:0]),
1106 .tlu_ceter_pscce(tlu_ceter_pscce[7:0]),
1107 .tlu_trap_pc_1_valid(tlu_trap_pc_1_valid),
1108 .tlu_ifu_invalidate(tlu_ifu_invalidate[1:0]),
1109 .tlu_trap_0_tid(tlu_trap_0_tid[1:0]),
1110 .tlu_trap_1_tid(tlu_trap_1_tid[1:0]),
1111 .spc_core_running_status(spc_core_running_status[7:0]),
1112 .mbi_wdata(mbi_wdata[7:0]),
1113 .mbi_addr(mbi_addr[8:6]),
1114 .mbi_cmpsel(mbi_cmpsel[2:0]),
1115 .mbi_run(mbi_run),
1116 .mbi_icv_write_en(mbi_icv_write_en),
1117 .tlu_flush_ifu(tlu_flush_ifu[7:0]),
1118 .tlu_ifu_hpstate_hpriv(tlu_ifu_hpstate_hpriv[7:0]),
1119 .tlu_ifu_pstate_priv(tlu_ifu_pstate_priv[7:0]),
1120 .tlu_cerer_ittp(tlu_cerer_ittp),
1121 .tlu_cerer_itdp(tlu_cerer_itdp),
1122 .tlu_cerer_ittm(tlu_cerer_ittm),
1123 .tlu_cerer_icl2c(tlu_cerer_icl2c),
1124 .tlu_cerer_icl2u(tlu_cerer_icl2u),
1125 .tlu_cerer_icl2nd(tlu_cerer_icl2nd),
1126 .tlu_cerer_icvp(tlu_cerer_icvp),
1127 .tlu_cerer_ictp(tlu_cerer_ictp),
1128 .tlu_cerer_ictm(tlu_cerer_ictm),
1129 .agd_va_hole_excp_f(agd_va_hole_excp_f),
1130 .agd_itlb_valid_f(agd_itlb_valid_f[7:0]),
1131 .agd_itlb_valid_dupl_f(agd_itlb_valid_dupl_f[7:0]),
1132 .asi_ith_det_req(asi_ith_det_req),
1133 .ftp_asi_tg_wr_req_hold(ftp_asi_tg_wr_req_hold),
1134 .ftp_itlb_cam_vld_f(ftp_itlb_cam_vld_f),
1135 .asi_addr_bf(asi_addr_bf[6:3]),
1136 .asi_way_bf(asi_way_bf[2:0]),
1137 .ifu_agd_pc_f(ifu_agd_pc_f[47:2]),
1138 .agd_thr0_pc_4_2_f(agd_thr0_pc_4_2_f[4:2]),
1139 .agd_thr1_pc_4_2_f(agd_thr1_pc_4_2_f[4:2]),
1140 .agd_thr2_pc_4_2_f(agd_thr2_pc_4_2_f[4:2]),
1141 .agd_thr3_pc_4_2_f(agd_thr3_pc_4_2_f[4:2]),
1142 .agd_thr4_pc_4_2_f(agd_thr4_pc_4_2_f[4:2]),
1143 .agd_thr5_pc_4_2_f(agd_thr5_pc_4_2_f[4:2]),
1144 .agd_thr6_pc_4_2_f(agd_thr6_pc_4_2_f[4:2]),
1145 .agd_thr7_pc_4_2_f(agd_thr7_pc_4_2_f[4:2]),
1146 .dec_load_flush_w(dec_load_flush_w[1:0]),
1147 .itc_bypass_bf(itc_bypass_bf),
1148 .itc_demap_next(itc_demap_next),
1149 .ftp_curr_fetch_thr_f(ftp_curr_fetch_thr_f[7:0]),
1150 .ftp_fetch_thr_q_f(ftp_fetch_thr_q_f[7:0]),
1151 .ftp_fill_req_q_bf(ftp_fill_req_q_bf),
1152 .ftp_any_thr_clken(ftp_any_thr_clken),
1153 .err_w0_8b_parity_f(err_w0_8b_parity_f[3:0]),
1154 .err_w1_8b_parity_f(err_w1_8b_parity_f[3:0]),
1155 .err_w2_8b_parity_f(err_w2_8b_parity_f[3:0]),
1156 .err_w3_8b_parity_f(err_w3_8b_parity_f[3:0]),
1157 .err_w4_8b_parity_f(err_w4_8b_parity_f[3:0]),
1158 .err_w5_8b_parity_f(err_w5_8b_parity_f[3:0]),
1159 .err_w6_8b_parity_f(err_w6_8b_parity_f[3:0]),
1160 .err_w7_8b_parity_f(err_w7_8b_parity_f[3:0]),
1161 .tsm_thr0_ignore_by_pass(tsm_thr0_ignore_by_pass),
1162 .tsm_thr1_ignore_by_pass(tsm_thr1_ignore_by_pass),
1163 .tsm_thr2_ignore_by_pass(tsm_thr2_ignore_by_pass),
1164 .tsm_thr3_ignore_by_pass(tsm_thr3_ignore_by_pass),
1165 .tsm_thr4_ignore_by_pass(tsm_thr4_ignore_by_pass),
1166 .tsm_thr5_ignore_by_pass(tsm_thr5_ignore_by_pass),
1167 .tsm_thr6_ignore_by_pass(tsm_thr6_ignore_by_pass),
1168 .tsm_thr7_ignore_by_pass(tsm_thr7_ignore_by_pass),
1169 .tsm_thr0_no_new_miss(tsm_thr0_no_new_miss),
1170 .tsm_thr1_no_new_miss(tsm_thr1_no_new_miss),
1171 .tsm_thr2_no_new_miss(tsm_thr2_no_new_miss),
1172 .tsm_thr3_no_new_miss(tsm_thr3_no_new_miss),
1173 .tsm_thr4_no_new_miss(tsm_thr4_no_new_miss),
1174 .tsm_thr5_no_new_miss(tsm_thr5_no_new_miss),
1175 .tsm_thr6_no_new_miss(tsm_thr6_no_new_miss),
1176 .tsm_thr7_no_new_miss(tsm_thr7_no_new_miss),
1177 .cmu_any_data_ready(cmu_any_data_ready),
1178 .cmu_any_un_cacheable(cmu_any_un_cacheable),
1179 .cmu_l2_err(cmu_l2_err[1:0]),
1180 .cmu_l2miss(cmu_l2miss),
1181 .cmu_thr0_data_ready(cmu_thr0_data_ready),
1182 .cmu_thr1_data_ready(cmu_thr1_data_ready),
1183 .cmu_thr2_data_ready(cmu_thr2_data_ready),
1184 .cmu_thr3_data_ready(cmu_thr3_data_ready),
1185 .cmu_thr4_data_ready(cmu_thr4_data_ready),
1186 .cmu_thr5_data_ready(cmu_thr5_data_ready),
1187 .cmu_thr6_data_ready(cmu_thr6_data_ready),
1188 .cmu_thr7_data_ready(cmu_thr7_data_ready),
1189 .cmu_fill_wrway(cmu_fill_wrway[2:0]),
1190 .cmu_icache_invalidate(cmu_icache_invalidate),
1191 .cmu_evic_invalidate(cmu_evic_invalidate),
1192 .cmu_icache_invalidate_way(cmu_icache_invalidate_way[2:0]),
1193 .cmu_icache_inv_way1(cmu_icache_inv_way1[2:0]),
1194 .cmu_instr_v(cmu_instr_v[3:0]),
1195 .dec_br_taken_e(dec_br_taken_e[1:0]),
1196 .dec_valid_e(dec_valid_e[1:0]),
1197 .ftp_tid0_e(ftp_tid0_e[1:0]),
1198 .ftp_tid1_e(ftp_tid1_e[1:0]),
1199 .ftp_fetch_v_f(ftp_fetch_v_f),
1200 .itb_chit_c(itb_chit_c),
1201 .itb_cam_hit_c(itb_cam_hit_c),
1202 .itb_tte_p_c(itb_tte_p_c),
1203 .itb_itb_mhit_c(itb_itb_mhit_c),
1204 .itb_tte_data_parity(itb_tte_data_parity),
1205 .itb_icd_waysel_c(itb_icd_waysel_c[7:0]),
1206 .lsu_ifu_tid_w(lsu_ifu_tid_w[2:0]),
1207 .lsu_ifu_wr_p0ctxt(lsu_ifu_wr_p0ctxt),
1208 .lsu_ifu_wr_p1ctxt(lsu_ifu_wr_p1ctxt),
1209 .lsu_ifu_no_miss(lsu_ifu_no_miss[7:0]),
1210 .lsu_ic_enable(lsu_ic_enable[7:0]),
1211 .cmu_inval_ack(cmu_inval_ack[7:0]),
1212 .ftp_asi_mbist_access_bf(ftp_asi_mbist_access_bf),
1213 .itd_prty_256m(itd_prty_256m),
1214 .itd_prty_4m(itd_prty_4m),
1215 .itd_prty_64k(itd_prty_64k),
1216 .itd_prty_8k(itd_prty_8k),
1217 .itd_prty_ctxt0(itd_prty_ctxt0),
1218 .itd_prty_ctxt1(itd_prty_ctxt1),
1219 .tlb_context0_hit(tlb_context0_hit),
1220 .ftu_buffer_wr_en_f(ftu_buffer_wr_en_f[7:0]),
1221 .agc_itb_tag_perr_c(agc_itb_tag_perr_c),
1222 .agc_vl_data_c(agc_vl_data_c[1:0]),
1223 .agc_asi_sel_word_c(agc_asi_sel_word_c[3:0]),
1224 .agc_sel_tg_data_f(agc_sel_tg_data_f[7:0]),
1225 .agc_word_en_bf(agc_word_en_bf[7:0]),
1226 .agc_by_pass_update_lru_bf(agc_by_pass_update_lru_bf[7:0]),
1227 .agc_invalidation_req_ff(agc_invalidation_req_ff[7:0]),
1228 .agc_any_invalidation_req_f(agc_any_invalidation_req_f),
1229 .agc_thr0_sf_valid_f(agc_thr0_sf_valid_f),
1230 .agc_thr1_sf_valid_f(agc_thr1_sf_valid_f),
1231 .agc_thr2_sf_valid_f(agc_thr2_sf_valid_f),
1232 .agc_thr3_sf_valid_f(agc_thr3_sf_valid_f),
1233 .agc_thr4_sf_valid_f(agc_thr4_sf_valid_f),
1234 .agc_thr5_sf_valid_f(agc_thr5_sf_valid_f),
1235 .agc_thr6_sf_valid_f(agc_thr6_sf_valid_f),
1236 .agc_thr7_sf_valid_f(agc_thr7_sf_valid_f),
1237 .agc_thr0_micro_flush_unq_c(agc_thr0_micro_flush_unq_c),
1238 .agc_thr1_micro_flush_unq_c(agc_thr1_micro_flush_unq_c),
1239 .agc_thr2_micro_flush_unq_c(agc_thr2_micro_flush_unq_c),
1240 .agc_thr3_micro_flush_unq_c(agc_thr3_micro_flush_unq_c),
1241 .agc_thr4_micro_flush_unq_c(agc_thr4_micro_flush_unq_c),
1242 .agc_thr5_micro_flush_unq_c(agc_thr5_micro_flush_unq_c),
1243 .agc_thr6_micro_flush_unq_c(agc_thr6_micro_flush_unq_c),
1244 .agc_thr7_micro_flush_unq_c(agc_thr7_micro_flush_unq_c),
1245 .agc_thr0_err_detect_c(agc_thr0_err_detect_c),
1246 .agc_thr1_err_detect_c(agc_thr1_err_detect_c),
1247 .agc_thr2_err_detect_c(agc_thr2_err_detect_c),
1248 .agc_thr3_err_detect_c(agc_thr3_err_detect_c),
1249 .agc_thr4_err_detect_c(agc_thr4_err_detect_c),
1250 .agc_thr5_err_detect_c(agc_thr5_err_detect_c),
1251 .agc_thr6_err_detect_c(agc_thr6_err_detect_c),
1252 .agc_thr7_err_detect_c(agc_thr7_err_detect_c),
1253 .agc_thr0_cmiss_stm_c(agc_thr0_cmiss_stm_c),
1254 .agc_thr1_cmiss_stm_c(agc_thr1_cmiss_stm_c),
1255 .agc_thr2_cmiss_stm_c(agc_thr2_cmiss_stm_c),
1256 .agc_thr3_cmiss_stm_c(agc_thr3_cmiss_stm_c),
1257 .agc_thr4_cmiss_stm_c(agc_thr4_cmiss_stm_c),
1258 .agc_thr5_cmiss_stm_c(agc_thr5_cmiss_stm_c),
1259 .agc_thr6_cmiss_stm_c(agc_thr6_cmiss_stm_c),
1260 .agc_thr7_cmiss_stm_c(agc_thr7_cmiss_stm_c),
1261 .ftu_agc_thr0_cmiss_c(ftu_agc_thr0_cmiss_c),
1262 .ftu_agc_thr1_cmiss_c(ftu_agc_thr1_cmiss_c),
1263 .ftu_agc_thr2_cmiss_c(ftu_agc_thr2_cmiss_c),
1264 .ftu_agc_thr3_cmiss_c(ftu_agc_thr3_cmiss_c),
1265 .ftu_agc_thr4_cmiss_c(ftu_agc_thr4_cmiss_c),
1266 .ftu_agc_thr5_cmiss_c(ftu_agc_thr5_cmiss_c),
1267 .ftu_agc_thr6_cmiss_c(ftu_agc_thr6_cmiss_c),
1268 .ftu_agc_thr7_cmiss_c(ftu_agc_thr7_cmiss_c),
1269 .ftu_thr0_inv_req_c(ftu_thr0_inv_req_c),
1270 .ftu_thr1_inv_req_c(ftu_thr1_inv_req_c),
1271 .ftu_thr2_inv_req_c(ftu_thr2_inv_req_c),
1272 .ftu_thr3_inv_req_c(ftu_thr3_inv_req_c),
1273 .ftu_thr4_inv_req_c(ftu_thr4_inv_req_c),
1274 .ftu_thr5_inv_req_c(ftu_thr5_inv_req_c),
1275 .ftu_thr6_inv_req_c(ftu_thr6_inv_req_c),
1276 .ftu_thr7_inv_req_c(ftu_thr7_inv_req_c),
1277 .ifu_ibuffer_write_c(ifu_ibuffer_write_c[7:0]),
1278 .ftu_fetch_thr_c(ftu_fetch_thr_c[7:0]),
1279 .ftu_instr_sf_valid_c(ftu_instr_sf_valid_c),
1280 .ftu_excp_way_d(ftu_excp_way_d[2:0]),
1281 .ftu_excp_tid_d(ftu_excp_tid_d[2:0]),
1282 .ftu_excp_way_valid_d(ftu_excp_way_valid_d),
1283 .agc_fill_wrway_bf(agc_fill_wrway_bf[2:0]),
1284 .agc_sel_inv_index(agc_sel_inv_index[3:0]),
1285 .agc_thr0_lsu_no_ic_miss(agc_thr0_lsu_no_ic_miss),
1286 .agc_thr1_lsu_no_ic_miss(agc_thr1_lsu_no_ic_miss),
1287 .agc_thr2_lsu_no_ic_miss(agc_thr2_lsu_no_ic_miss),
1288 .agc_thr3_lsu_no_ic_miss(agc_thr3_lsu_no_ic_miss),
1289 .agc_thr4_lsu_no_ic_miss(agc_thr4_lsu_no_ic_miss),
1290 .agc_thr5_lsu_no_ic_miss(agc_thr5_lsu_no_ic_miss),
1291 .agc_thr6_lsu_no_ic_miss(agc_thr6_lsu_no_ic_miss),
1292 .agc_thr7_lsu_no_ic_miss(agc_thr7_lsu_no_ic_miss),
1293 .agc_thr0_itb_miss_c(agc_thr0_itb_miss_c),
1294 .agc_thr1_itb_miss_c(agc_thr1_itb_miss_c),
1295 .agc_thr2_itb_miss_c(agc_thr2_itb_miss_c),
1296 .agc_thr3_itb_miss_c(agc_thr3_itb_miss_c),
1297 .agc_thr4_itb_miss_c(agc_thr4_itb_miss_c),
1298 .agc_thr5_itb_miss_c(agc_thr5_itb_miss_c),
1299 .agc_thr6_itb_miss_c(agc_thr6_itb_miss_c),
1300 .agc_thr7_itb_miss_c(agc_thr7_itb_miss_c),
1301 .ftu_ic_no_err_c(ftu_ic_no_err_c),
1302 .ftu_bus_0_is_first(ftu_bus_0_is_first),
1303 .ftu_bus_1_is_first(ftu_bus_1_is_first),
1304 .ftu_bus_2_is_first(ftu_bus_2_is_first),
1305 .ftu_bus_3_is_first(ftu_bus_3_is_first),
1306 .ftu_instr_valid_c(ftu_instr_valid_c[3:0]),
1307 .ftu_exception_valid_c(ftu_exception_valid_c),
1308 .ftu_instr_exceptions_c(ftu_instr_exceptions_c[4:0]),
1309 .agc_thr0_pcf_sel_bf(agc_thr0_pcf_sel_bf[3:0]),
1310 .agc_thr1_pcf_sel_bf(agc_thr1_pcf_sel_bf[3:0]),
1311 .agc_thr2_pcf_sel_bf(agc_thr2_pcf_sel_bf[3:0]),
1312 .agc_thr3_pcf_sel_bf(agc_thr3_pcf_sel_bf[3:0]),
1313 .agc_thr4_pcf_sel_bf(agc_thr4_pcf_sel_bf[3:0]),
1314 .agc_thr5_pcf_sel_bf(agc_thr5_pcf_sel_bf[3:0]),
1315 .agc_thr6_pcf_sel_bf(agc_thr6_pcf_sel_bf[3:0]),
1316 .agc_thr7_pcf_sel_bf(agc_thr7_pcf_sel_bf[3:0]),
1317 .agc_thr0_pcf_sel_last_bf(agc_thr0_pcf_sel_last_bf[1:0]),
1318 .agc_thr1_pcf_sel_last_bf(agc_thr1_pcf_sel_last_bf[1:0]),
1319 .agc_thr2_pcf_sel_last_bf(agc_thr2_pcf_sel_last_bf[1:0]),
1320 .agc_thr3_pcf_sel_last_bf(agc_thr3_pcf_sel_last_bf[1:0]),
1321 .agc_thr4_pcf_sel_last_bf(agc_thr4_pcf_sel_last_bf[1:0]),
1322 .agc_thr5_pcf_sel_last_bf(agc_thr5_pcf_sel_last_bf[1:0]),
1323 .agc_thr6_pcf_sel_last_bf(agc_thr6_pcf_sel_last_bf[1:0]),
1324 .agc_thr7_pcf_sel_last_bf(agc_thr7_pcf_sel_last_bf[1:0]),
1325 .agc_icv_wr_req_bf(agc_icv_wr_req_bf),
1326 .agc_icv_wrdata_bf(agc_icv_wrdata_bf[31:0]),
1327 .agc_icv_wren_bf(agc_icv_wren_bf[31:0]),
1328 .ftu_thr0_redirect_bf(ftu_thr0_redirect_bf),
1329 .ftu_thr1_redirect_bf(ftu_thr1_redirect_bf),
1330 .ftu_thr2_redirect_bf(ftu_thr2_redirect_bf),
1331 .ftu_thr3_redirect_bf(ftu_thr3_redirect_bf),
1332 .ftu_thr4_redirect_bf(ftu_thr4_redirect_bf),
1333 .ftu_thr5_redirect_bf(ftu_thr5_redirect_bf),
1334 .ftu_thr6_redirect_bf(ftu_thr6_redirect_bf),
1335 .ftu_thr7_redirect_bf(ftu_thr7_redirect_bf),
1336 .ftu_ibu_redirect_bf(ftu_ibu_redirect_bf[7:0]),
1337 .agc_thr0_tlu_redirect_bf(agc_thr0_tlu_redirect_bf),
1338 .agc_thr1_tlu_redirect_bf(agc_thr1_tlu_redirect_bf),
1339 .agc_thr2_tlu_redirect_bf(agc_thr2_tlu_redirect_bf),
1340 .agc_thr3_tlu_redirect_bf(agc_thr3_tlu_redirect_bf),
1341 .agc_thr4_tlu_redirect_bf(agc_thr4_tlu_redirect_bf),
1342 .agc_thr5_tlu_redirect_bf(agc_thr5_tlu_redirect_bf),
1343 .agc_thr6_tlu_redirect_bf(agc_thr6_tlu_redirect_bf),
1344 .agc_thr7_tlu_redirect_bf(agc_thr7_tlu_redirect_bf),
1345 .agc_kill_fetch_cv_c(agc_kill_fetch_cv_c),
1346 .agc_pc_sel_for_c(agc_pc_sel_for_c[3:0]),
1347 .agc_instr_bp_sel_c(agc_instr_bp_sel_c[2:0]),
1348 .agc_thr0_byp_incr_bit5(agc_thr0_byp_incr_bit5),
1349 .agc_thr1_byp_incr_bit5(agc_thr1_byp_incr_bit5),
1350 .agc_thr2_byp_incr_bit5(agc_thr2_byp_incr_bit5),
1351 .agc_thr3_byp_incr_bit5(agc_thr3_byp_incr_bit5),
1352 .agc_thr4_byp_incr_bit5(agc_thr4_byp_incr_bit5),
1353 .agc_thr5_byp_incr_bit5(agc_thr5_byp_incr_bit5),
1354 .agc_thr6_byp_incr_bit5(agc_thr6_byp_incr_bit5),
1355 .agc_thr7_byp_incr_bit5(agc_thr7_byp_incr_bit5),
1356 .agc_thr0_byp_pc_update_bf(agc_thr0_byp_pc_update_bf[4:2]),
1357 .agc_thr1_byp_pc_update_bf(agc_thr1_byp_pc_update_bf[4:2]),
1358 .agc_thr2_byp_pc_update_bf(agc_thr2_byp_pc_update_bf[4:2]),
1359 .agc_thr3_byp_pc_update_bf(agc_thr3_byp_pc_update_bf[4:2]),
1360 .agc_thr4_byp_pc_update_bf(agc_thr4_byp_pc_update_bf[4:2]),
1361 .agc_thr5_byp_pc_update_bf(agc_thr5_byp_pc_update_bf[4:2]),
1362 .agc_thr6_byp_pc_update_bf(agc_thr6_byp_pc_update_bf[4:2]),
1363 .agc_thr7_byp_pc_update_bf(agc_thr7_byp_pc_update_bf[4:2]),
1364 .agc_thr0_cntx_0_sel(agc_thr0_cntx_0_sel[1:0]),
1365 .agc_thr0_cntx_1_sel(agc_thr0_cntx_1_sel[1:0]),
1366 .agc_thr1_cntx_0_sel(agc_thr1_cntx_0_sel[1:0]),
1367 .agc_thr1_cntx_1_sel(agc_thr1_cntx_1_sel[1:0]),
1368 .agc_thr2_cntx_0_sel(agc_thr2_cntx_0_sel[1:0]),
1369 .agc_thr2_cntx_1_sel(agc_thr2_cntx_1_sel[1:0]),
1370 .agc_thr3_cntx_0_sel(agc_thr3_cntx_0_sel[1:0]),
1371 .agc_thr3_cntx_1_sel(agc_thr3_cntx_1_sel[1:0]),
1372 .agc_thr4_cntx_0_sel(agc_thr4_cntx_0_sel[1:0]),
1373 .agc_thr4_cntx_1_sel(agc_thr4_cntx_1_sel[1:0]),
1374 .agc_thr5_cntx_0_sel(agc_thr5_cntx_0_sel[1:0]),
1375 .agc_thr5_cntx_1_sel(agc_thr5_cntx_1_sel[1:0]),
1376 .agc_thr6_cntx_0_sel(agc_thr6_cntx_0_sel[1:0]),
1377 .agc_thr6_cntx_1_sel(agc_thr6_cntx_1_sel[1:0]),
1378 .agc_thr7_cntx_0_sel(agc_thr7_cntx_0_sel[1:0]),
1379 .agc_thr7_cntx_1_sel(agc_thr7_cntx_1_sel[1:0]),
1380 .agc_thr0_cntx_0_sel_ff(agc_thr0_cntx_0_sel_ff),
1381 .agc_thr0_cntx_1_sel_ff(agc_thr0_cntx_1_sel_ff),
1382 .agc_thr1_cntx_0_sel_ff(agc_thr1_cntx_0_sel_ff),
1383 .agc_thr1_cntx_1_sel_ff(agc_thr1_cntx_1_sel_ff),
1384 .agc_thr2_cntx_0_sel_ff(agc_thr2_cntx_0_sel_ff),
1385 .agc_thr2_cntx_1_sel_ff(agc_thr2_cntx_1_sel_ff),
1386 .agc_thr3_cntx_0_sel_ff(agc_thr3_cntx_0_sel_ff),
1387 .agc_thr3_cntx_1_sel_ff(agc_thr3_cntx_1_sel_ff),
1388 .agc_thr4_cntx_0_sel_ff(agc_thr4_cntx_0_sel_ff),
1389 .agc_thr4_cntx_1_sel_ff(agc_thr4_cntx_1_sel_ff),
1390 .agc_thr5_cntx_0_sel_ff(agc_thr5_cntx_0_sel_ff),
1391 .agc_thr5_cntx_1_sel_ff(agc_thr5_cntx_1_sel_ff),
1392 .agc_thr6_cntx_0_sel_ff(agc_thr6_cntx_0_sel_ff),
1393 .agc_thr6_cntx_1_sel_ff(agc_thr6_cntx_1_sel_ff),
1394 .agc_thr7_cntx_0_sel_ff(agc_thr7_cntx_0_sel_ff),
1395 .agc_thr7_cntx_1_sel_ff(agc_thr7_cntx_1_sel_ff),
1396 .ftu_mbi_tlb_cam_hit(ftu_mbi_tlb_cam_hit),
1397 .ftu_mbi_tlb_ctxt0_hit(ftu_mbi_tlb_ctxt0_hit),
1398 .ftu_mbi_tlb_cam_mhit(ftu_mbi_tlb_cam_mhit));
1399
1400ifu_ftu_cms_ctl ftu_cms_ctl(
1401 .scan_in(ftu_cms_ctl_scanin),
1402 .scan_out(ftu_cms_ctl_scanout),
1403 .l2clk(l2clk),
1404 .itb_tte_cp_c(itb_tte_data[3]),
1405 .cmu_ic_data_parity({cmu_ic_data[263],cmu_ic_data[230],cmu_ic_data[197],cmu_ic_data[164],
1406 cmu_ic_data[131],cmu_ic_data[98],cmu_ic_data[65],cmu_ic_data[32]}),
1407 .tcu_scan_en(tcu_scan_en),
1408 .tcu_pce_ov(tcu_pce_ov),
1409 .spc_aclk(spc_aclk),
1410 .spc_bclk(spc_bclk),
1411 .lsu_ic_enable(lsu_ic_enable[7:0]),
1412 .lsu_ifu_direct_map(lsu_ifu_direct_map),
1413 .agd_direct_map_rep_way(agd_direct_map_rep_way[2:0]),
1414 .ftp_curr_fetch_thr_f(ftp_curr_fetch_thr_f[7:0]),
1415 .ftu_agc_thr0_cmiss_c(ftu_agc_thr0_cmiss_c),
1416 .ftu_agc_thr1_cmiss_c(ftu_agc_thr1_cmiss_c),
1417 .ftu_agc_thr2_cmiss_c(ftu_agc_thr2_cmiss_c),
1418 .ftu_agc_thr3_cmiss_c(ftu_agc_thr3_cmiss_c),
1419 .ftu_agc_thr4_cmiss_c(ftu_agc_thr4_cmiss_c),
1420 .ftu_agc_thr5_cmiss_c(ftu_agc_thr5_cmiss_c),
1421 .ftu_agc_thr6_cmiss_c(ftu_agc_thr6_cmiss_c),
1422 .ftu_agc_thr7_cmiss_c(ftu_agc_thr7_cmiss_c),
1423 .ftu_paddr_unq(ftu_paddr_unq[39:37]),
1424 .agc_any_invalidation_req_f(agc_any_invalidation_req_f),
1425 .itc_bypass_bf(itc_bypass_bf),
1426 .cmu_l2_err(cmu_l2_err[1:0]),
1427 .tlu_cerer_icl2u(tlu_cerer_icl2u),
1428 .tlu_cerer_icl2nd(tlu_cerer_icl2nd),
1429 .ftu_thrx_un_cacheable(ftu_thrx_un_cacheable),
1430 .ftu_rep_way(ftu_rep_way[2:0]),
1431 .cms_ic_modified_parity(cms_ic_modified_parity[7:0]),
1432 .ftu_paddr(ftu_paddr[39:37])) ;
1433
1434
1435////////////////////////////////////////////////////////////////////////
1436// Icache Data //
1437////////////////////////////////////////////////////////////////////////
1438
1439assign word2_reordered[32:0] = {cmu_ic_data[66],cmu_ic_data[67],cmu_ic_data[68],cmu_ic_data[69],
1440 cmu_ic_data[70],cmu_ic_data[71],cmu_ic_data[72],cmu_ic_data[73],
1441 cmu_ic_data[74],cmu_ic_data[75],cmu_ic_data[76],cmu_ic_data[77],
1442 cmu_ic_data[78],cmu_ic_data[79],cmu_ic_data[80],cmu_ic_data[81],
1443 cmu_ic_data[82],cmu_ic_data[83],cmu_ic_data[84],cmu_ic_data[85],
1444 cmu_ic_data[86],cmu_ic_data[87],cmu_ic_data[88],cmu_ic_data[89],
1445 cmu_ic_data[90],cmu_ic_data[91],cmu_ic_data[92],cmu_ic_data[93],
1446 cmu_ic_data[94],cmu_ic_data[95],cmu_ic_data[96],cmu_ic_data[97],
1447 cms_ic_modified_parity[2]};
1448
1449assign word3_reordered[32:0] = {cmu_ic_data[99],cmu_ic_data[100],cmu_ic_data[101],cmu_ic_data[102],
1450 cmu_ic_data[103],cmu_ic_data[104],cmu_ic_data[105],cmu_ic_data[106],
1451 cmu_ic_data[107],cmu_ic_data[108],cmu_ic_data[109],cmu_ic_data[110],
1452 cmu_ic_data[111],cmu_ic_data[112],cmu_ic_data[113],cmu_ic_data[114],
1453 cmu_ic_data[115],cmu_ic_data[116],cmu_ic_data[117],cmu_ic_data[118],
1454 cmu_ic_data[119],cmu_ic_data[120],cmu_ic_data[121],cmu_ic_data[122],
1455 cmu_ic_data[123],cmu_ic_data[124],cmu_ic_data[125],cmu_ic_data[126],
1456 cmu_ic_data[127],cmu_ic_data[128],cmu_ic_data[129],cmu_ic_data[130],
1457 cms_ic_modified_parity[3]};
1458
1459assign word6_reordered[32:0] = {cmu_ic_data[198],cmu_ic_data[199],cmu_ic_data[200],cmu_ic_data[201],
1460 cmu_ic_data[202],cmu_ic_data[203],cmu_ic_data[204],cmu_ic_data[205],
1461 cmu_ic_data[206],cmu_ic_data[207],cmu_ic_data[208],cmu_ic_data[209],
1462 cmu_ic_data[210],cmu_ic_data[211],cmu_ic_data[212],cmu_ic_data[213],
1463 cmu_ic_data[214],cmu_ic_data[215],cmu_ic_data[216],cmu_ic_data[217],
1464 cmu_ic_data[218],cmu_ic_data[219],cmu_ic_data[220],cmu_ic_data[221],
1465 cmu_ic_data[222],cmu_ic_data[223],cmu_ic_data[224],cmu_ic_data[225],
1466 cmu_ic_data[226],cmu_ic_data[227],cmu_ic_data[228],cmu_ic_data[229],
1467 cms_ic_modified_parity[6]};
1468
1469assign word7_reordered[32:0] = {cmu_ic_data[231],cmu_ic_data[232],cmu_ic_data[233],cmu_ic_data[234],
1470 cmu_ic_data[235],cmu_ic_data[236],cmu_ic_data[237],cmu_ic_data[238],
1471 cmu_ic_data[239],cmu_ic_data[240],cmu_ic_data[241],cmu_ic_data[242],
1472 cmu_ic_data[243],cmu_ic_data[244],cmu_ic_data[245],cmu_ic_data[246],
1473 cmu_ic_data[247],cmu_ic_data[248],cmu_ic_data[249],cmu_ic_data[250],
1474 cmu_ic_data[251],cmu_ic_data[252],cmu_ic_data[253],cmu_ic_data[254],
1475 cmu_ic_data[255],cmu_ic_data[256],cmu_ic_data[257],cmu_ic_data[258],
1476 cmu_ic_data[259],cmu_ic_data[260],cmu_ic_data[261],cmu_ic_data[262],
1477 cms_ic_modified_parity[7]};
1478
1479n2_icd_sp_16p5kb_cust ftu_icd_cust(
1480 .red_en_in({2{hdr_sram_rvalue[0]}}) ,
1481 .red_d_in(hdr_sram_rvalue[5:1]) ,
1482 .rid_in(hdr_sram_rid[3:0]) ,
1483 .red_wen(hdr_sram_wr_en) ,
1484 .red_arst(hdr_sram_red_clr) ,
1485 .red_d_out(sram_hdr_read_data[5:1]),
1486 .red_en_out({red_en_unused,sram_hdr_read_data[0]}),
1487 .tcu_aclk(spc_aclk),
1488 .tcu_bclk(spc_bclk),
1489 .cmu_ic_data({word7_reordered[32:0],
1490 word6_reordered[32:0],
1491 cms_ic_modified_parity[5],cmu_ic_data[196:165],
1492 cms_ic_modified_parity[4],cmu_ic_data[163:132],
1493 word3_reordered[32:0],
1494 word2_reordered[32:0],
1495 cms_ic_modified_parity[1],cmu_ic_data[64:33] ,
1496 cms_ic_modified_parity[0],cmu_ic_data[31:0] }),
1497 .icd_bus_2_instr_c({icd_bus_2_instr_c [0],icd_bus_2_instr_c [1],icd_bus_2_instr_c [2],icd_bus_2_instr_c [3],
1498 icd_bus_2_instr_c [4],icd_bus_2_instr_c [5],icd_bus_2_instr_c [6],icd_bus_2_instr_c [7],
1499 icd_bus_2_instr_c [8],icd_bus_2_instr_c [9],icd_bus_2_instr_c[10],icd_bus_2_instr_c[11],
1500 icd_bus_2_instr_c[12],icd_bus_2_instr_c[13],icd_bus_2_instr_c[14],icd_bus_2_instr_c[15],
1501 icd_bus_2_instr_c[16],icd_bus_2_instr_c[17],icd_bus_2_instr_c[18],icd_bus_2_instr_c[19],
1502 icd_bus_2_instr_c[20],icd_bus_2_instr_c[21],icd_bus_2_instr_c[22],icd_bus_2_instr_c[23],
1503 icd_bus_2_instr_c[24],icd_bus_2_instr_c[25],icd_bus_2_instr_c[26],icd_bus_2_instr_c[27],
1504 icd_bus_2_instr_c[28],icd_bus_2_instr_c[29],icd_bus_2_instr_c[30],icd_bus_2_instr_c[31],
1505 icd_bus_2_instr_c[32]}),
1506 .icd_bus_3_instr_c({icd_bus_3_instr_c [0],icd_bus_3_instr_c [1],icd_bus_3_instr_c [2],icd_bus_3_instr_c [3],
1507 icd_bus_3_instr_c [4],icd_bus_3_instr_c [5],icd_bus_3_instr_c [6],icd_bus_3_instr_c [7],
1508 icd_bus_3_instr_c [8],icd_bus_3_instr_c [9],icd_bus_3_instr_c[10],icd_bus_3_instr_c[11],
1509 icd_bus_3_instr_c[12],icd_bus_3_instr_c[13],icd_bus_3_instr_c[14],icd_bus_3_instr_c[15],
1510 icd_bus_3_instr_c[16],icd_bus_3_instr_c[17],icd_bus_3_instr_c[18],icd_bus_3_instr_c[19],
1511 icd_bus_3_instr_c[20],icd_bus_3_instr_c[21],icd_bus_3_instr_c[22],icd_bus_3_instr_c[23],
1512 icd_bus_3_instr_c[24],icd_bus_3_instr_c[25],icd_bus_3_instr_c[26],icd_bus_3_instr_c[27],
1513 icd_bus_3_instr_c[28],icd_bus_3_instr_c[29],icd_bus_3_instr_c[30],icd_bus_3_instr_c[31],
1514 icd_bus_3_instr_c[32]}),
1515 .scan_in(ftu_icd_cust_scanin),
1516 .scan_out(ftu_icd_cust_scanout),
1517 .l2clk(l2clk),
1518 .tcu_pce_ov(tcu_pce_ov),
1519 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
1520 .tcu_se_scancollar_in(tcu_se_scancollar_in),
1521 .tcu_se_scancollar_out(tcu_se_scancollar_out),
1522 .tcu_scan_en(tcu_scan_en),
1523 .ftp_icd_quad_0_en_bf(ftp_icd_quad_0_en_bf),
1524 .ftp_icd_quad_1_en_bf(ftp_icd_quad_1_en_bf),
1525 .ftp_icd_quad_2_en_bf(ftp_icd_quad_2_en_bf),
1526 .ftp_icd_quad_3_en_bf(ftp_icd_quad_3_en_bf),
1527 .agd_ic_index_bf(agd_ic_index_bf[10:2]),
1528 .agc_fill_wrway_bf(agc_fill_wrway_bf[2:0]),
1529 .agd_asi_bist_wrdata(agd_asi_bist_wrdata[32:0]),
1530 .itb_icd_waysel_c(itb_icd_waysel_c[7:0]),
1531 .agc_word_en_bf(agc_word_en_bf[7:0]),
1532 .ftp_ic_rd_req_bf(ftp_ic_rd_req_bf),
1533 .ftp_ic_wr_req_bf(ftp_ic_wr_req_bf),
1534 .ftp_ic_wr_ps_en_bf(ftp_ic_wr_ps_en_bf),
1535 .ftp_asi_mbist_access_bf(ftp_asi_mbist_access_bf),
1536 .vnw_ary(vnw_ary),
1537 .icd_bus_0_instr_c(icd_bus_0_instr_c[32:0]),
1538 .icd_bus_1_instr_c(icd_bus_1_instr_c[32:0])
1539) ;
1540
1541////////////////////////////////////////////////////////////////////////
1542// Redundancy header for I$
1543////////////////////////////////////////////////////////////////////////
1544ifu_ftu_red_ctl hdr (
1545 .scan_in(hdr_scanin),
1546 .scan_out(hdr_scanout),
1547 .l2clk (l2clk),
1548 .efu_spc_fuse_data(efu_spc_fuse_data),
1549 .efu_spc_fuse_ixfer_en(efu_spc_fuse_ixfer_en),
1550 .efu_spc_fuse_iclr(efu_spc_fuse_iclr),
1551 .io_cmp_sync_en(io_cmp_sync_en),
1552 .cmp_io_sync_en(cmp_io_sync_en),
1553 .spc_efu_fuse_idata(spc_efu_fuse_idata),
1554 .spc_efu_fuse_ixfer_en(spc_efu_fuse_ixfer_en),
1555 .hdr_sram_rvalue(hdr_sram_rvalue[5:0]),
1556 .hdr_sram_rid(hdr_sram_rid[3:0]),
1557 .hdr_sram_wr_en(hdr_sram_wr_en),
1558 .hdr_sram_red_clr(hdr_sram_red_clr),
1559 .sram_hdr_read_data(sram_hdr_read_data[5:0]),
1560 .tcu_pce_ov(tcu_pce_ov),
1561 .spc_aclk(spc_aclk),
1562 .spc_bclk(spc_bclk),
1563 .tcu_scan_en(tcu_scan_en)
1564);
1565
1566////////////////////////////////////////////////////////////////////////
1567// tag ARRAYS //
1568////////////////////////////////////////////////////////////////////////
1569n2_ict_sp_1920b_cust ftu_ict_cust (
1570 .tcu_aclk(spc_aclk),
1571 .tcu_bclk(spc_bclk),
1572 .agd_ic_index_bf(agd_ict_index_bf[10:5]),
1573 .scan_in(ftu_ict_cust_scanin),
1574 .scan_out(ftu_ict_cust_scanout),
1575 .l2clk(l2clk),
1576 .tcu_pce_ov(tcu_pce_ov),
1577 .tcu_scan_en(tcu_scan_en),
1578 .tcu_se_scancollar_in(tcu_se_scancollar_in),
1579 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
1580 .agc_fill_wrway_bf(agc_fill_wrway_bf[2:0]),
1581 .ftp_tg_rd_req_bf(ftp_tg_rd_req_bf),
1582 .ftp_tg_wr_req_bf(ftp_tg_wr_req_bf),
1583 .ftp_tg_clk_en(ftp_tg_clk_en),
1584 .agd_ict_wrtag_bf(agd_ict_wrtag_bf[29:0]),
1585 .ict_itlb_way_0_tag_f(ict_itlb_way_0_tag_f[29:0]),
1586 .ict_itlb_way_1_tag_f(ict_itlb_way_1_tag_f[29:0]),
1587 .ict_itlb_way_2_tag_f(ict_itlb_way_2_tag_f[29:0]),
1588 .ict_itlb_way_3_tag_f(ict_itlb_way_3_tag_f[29:0]),
1589 .ict_itlb_way_4_tag_f(ict_itlb_way_4_tag_f[29:0]),
1590 .ict_itlb_way_5_tag_f(ict_itlb_way_5_tag_f[29:0]),
1591 .ict_itlb_way_6_tag_f(ict_itlb_way_6_tag_f[29:0]),
1592 .ict_itlb_way_7_tag_f(ict_itlb_way_7_tag_f[29:0])
1593 );
1594
1595
1596////////////////////////////////////////////////////////////////////////
1597// icache valid bits. //
1598////////////////////////////////////////////////////////////////////////
1599n2_dva_dp_32x32_cust ftu_icv_cust (
1600 .tcu_aclk(spc_aclk),
1601 .tcu_bclk(spc_bclk),
1602 .scan_in(ftu_icv_cust_scanin),
1603 .scan_out(ftu_icv_cust_scanout),
1604 .l2clk(l2clk),
1605 .bit_wen(agc_icv_wren_bf[31:0]),
1606 .wr_en(agc_icv_wr_req_bf),
1607 .rd_en(ftp_iv_rd_req_bf),
1608 .rd_addr(agd_ic_index_bf[`IC_ARR_INDX_HI:6]) ,
1609 .wr_addr(agd_icv_windex_bf[`IC_ARR_INDX_HI:6]),
1610 .din(agc_icv_wrdata_bf[31:0]),
1611 .dout(icv_valid_f[31:0]),
1612 .tcu_pce_ov(tcu_pce_ov),
1613 .tcu_se_scancollar_in(tcu_se_scancollar_in),
1614 .tcu_scan_en(tcu_scan_en),
1615 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
1616 .pce(pce)
1617
1618 );
1619
1620
1621////////////////////////////////////////////////////////////////////////
1622// ITLB //
1623////////////////////////////////////////////////////////////////////////
1624assign tte_ubit = itc_tte_ubit;
1625
1626
1627n2_tlb_tl_64x59_cust ftu_itb_cust (
1628 .tcu_aclk(spc_aclk),
1629 .tcu_bclk(spc_bclk),
1630 .scan_in(ftu_itb_cust_scanin),
1631 .scan_out(ftu_itb_cust_scanout),
1632 .l2clk(l2clk),
1633// Inputs
1634
1635 .disable_clear_ubit (itc_dis_clr_ubit),
1636 .tlb_bypass (itc_bypass_bf),
1637 .tlb_wr_vld (itc_wr_u_en),
1638 .tlb_rd_vld (itc_itlb_rd_vld_bf),
1639 .tlb_cam_vld (ftp_itlb_cam_vld_bf),
1640 .tlb_rw_index (itd_rw_index[5:0]),
1641 .tlb_rw_index_vld (itc_rw_index_vld),
1642 .tlb_demap (itc_demap),
1643 .tlb_demap_context (itc_demap_context),
1644 .tlb_demap_all (itc_demap_all),
1645 .tlb_demap_real (itc_demap_real),
1646 // Separate page size mask from tag proper
1647 .tte_tag ({itd_tag[68:52],ifu_agd_pc_bf[47:22],itd_tag[24],
1648 ifu_agd_pc_bf[21:16],ifu_agd_pc_bf[15:13],
1649 itd_tag[12:0]}),
1650 .tte_page_size_mask ({itd_tag[25],itd_tag[17],itd_tag[13]}),
1651 .tte_data (itd_data[37:0]),
1652 .tlb_va (ifu_agd_pc_bf[12:11]),
1653 .cache_ptag_w0 (ict_itlb_way_0_tag_f_rep0[28:0]),
1654 .cache_ptag_w1 (ict_itlb_way_1_tag_f_rep0[28:0]),
1655 .cache_ptag_w2 (ict_itlb_way_2_tag_f_rep0[28:0]),
1656 .cache_ptag_w3 (ict_itlb_way_3_tag_f_rep0[28:0]),
1657 .cache_ptag_w4 (ict_itlb_way_4_tag_f_rep0[28:0]),
1658 .cache_ptag_w5 (ict_itlb_way_5_tag_f_rep0[28:0]),
1659 .cache_ptag_w6 (ict_itlb_way_6_tag_f_rep0[28:0]),
1660 .cache_ptag_w7 (ict_itlb_way_7_tag_f_rep0[28:0]),
1661 .cache_set_vld (agd_itlb_valid_fast_f[7:0]),
1662// Outputs
1663 .cache_way_hit (itb_icd_waysel_c[7:0]),
1664 .cache_hit (itb_chit_c),
1665 .tlb_cam_hit (itb_cam_hit_c),
1666 .tlb_cam_mhit (itb_itb_mhit_c),
1667 .tlb_pgnum_crit (pa_unflopped_unused[39:13]),
1668 .tlb_pgnum ({ftu_paddr_unq[39:37],ftu_paddr[36:13]}),
1669 .tlb_tte_data (itb_tte_data[37:0]),
1670 .tlb_tte_tag (itb_tte_tag[65:0]),
1671 .tlb_tte_u_bit (itb_tte_u_bit),
1672 .tlb_tte_data_parity (itb_tte_data_parity),
1673 .tcu_pce_ov(tcu_pce_ov),
1674 .pce(pce),
1675 .tcu_se_scancollar_in(tcu_se_scancollar_in),
1676 .tcu_se_scancollar_out(tcu_se_scancollar_out),
1677 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
1678 .tcu_scan_en(tcu_scan_en),
1679 .tte_ubit(tte_ubit),
1680 .tlb_context0_hit(tlb_context0_hit)
1681);
1682
1683assign itb_tte_p_c = itb_tte_data[1];
1684
1685
1686ifu_ftu_itc_ctl ftu_itc_ctl (
1687 .asi_real_bf(asi_addr_bf[4]),
1688 .mbi_wdata_6(mbi_wdata[6]),
1689 .mbi_wdata_0(mbi_wdata[0]),
1690 .tlu_trap_pc_0_45_43(tlu_trap_pc_0[45:43]) ,
1691 .tlu_trap_pc_1_45_43(tlu_trap_pc_1[45:43]) ,
1692 .itb_tte_data_v_27_22(itb_tte_data[17]) ,
1693 .itb_tte_data_v_21_16(itb_tte_data[10]) ,
1694 .lsu_asi_error_inject_b31(lsu_asi_error_inject[31]),
1695 .lsu_asi_error_inject_b29(lsu_asi_error_inject[29]),
1696 .lsu_asi_error_inject_b28(lsu_asi_error_inject[28]),
1697 .tlu_trap_pc_0(tlu_trap_pc_0[37:35]),
1698 .tlu_trap_pc_1(tlu_trap_pc_1[37:35]),
1699 .scan_in(ftu_itc_ctl_scanin),
1700 .scan_out(ftu_itc_ctl_scanout),
1701 .l2clk(l2clk),
1702 .tcu_scan_en(tcu_scan_en),
1703 .tcu_pce_ov(tcu_pce_ov),
1704 .spc_aclk(spc_aclk),
1705 .spc_bclk(spc_bclk),
1706 .tlu_itlb_reload(tlu_itlb_reload[1:0]),
1707 .itd_index_valid_in(itd_index_valid_in),
1708 .ftp_itt_rd_req_bf(ftp_itt_rd_req_bf),
1709 .ftp_itd_rd_req_bf(ftp_itd_rd_req_bf),
1710 .tlu_itlb_bypass(tlu_itlb_bypass[7:0]),
1711 .lsu_immu_enable(lsu_immu_enable[7:0]),
1712 .ftp_itb_fetch_thr_bf(ftp_itb_fetch_thr_bf[7:0]),
1713 .ftp_ith_det_req_bf(ftp_ith_det_req_bf),
1714 .mbi_run(mbi_run),
1715 .lbist_run(lbist_run),
1716 .mbi_cambist_run(mbi_cambist_run),
1717 .mbi_itb_demap_en(mbi_itb_demap_en),
1718 .mbi_demap_type(mbi_demap_type[1:0]),
1719 .mbi_dis_clr_ubit(mbi_dis_clr_ubit),
1720 .mbi_repl_write(mbi_repl_write),
1721 .mbi_itb_cam_en_pre(mbi_itb_cam_en_pre),
1722 .mbi_itb_write_en(mbi_itb_write_en),
1723 .mbi_itb_read_en(mbi_itb_read_en),
1724 .itc_wr_u_en(itc_wr_u_en),
1725 .itc_rw_index_vld(itc_rw_index_vld),
1726 .itc_demap(itc_demap),
1727 .itc_demap_context(itc_demap_context),
1728 .itc_demap_all(itc_demap_all),
1729 .itc_demap_real(itc_demap_real),
1730 .itc_tte_ubit(itc_tte_ubit),
1731 .itc_sel_trap_pc_0(itc_sel_trap_pc_0),
1732 .itc_sel_trap_pc_1(itc_sel_trap_pc_1),
1733 .itc_sel_demap_tag_d(itc_sel_demap_tag_d),
1734 .itc_sel_demap_tag_c0(itc_sel_demap_tag_c0),
1735 .itc_sel_demap_tag_c1(itc_sel_demap_tag_c1),
1736 .itc_sel_write_tag(itc_sel_write_tag),
1737 .itc_sel_write_tag_indexed(itc_sel_write_tag_indexed),
1738 .itc_sel_default(itc_sel_default),
1739 .itc_itlb_rd_vld_bf(itc_itlb_rd_vld_bf),
1740 .itc_bypass_bf(itc_bypass_bf),
1741 .itc_ra_to_pa_bf(itc_ra_to_pa_bf),
1742 .itc_tag_error_inj(itc_tag_error_inj),
1743 .itc_data_error_inj(itc_data_error_inj),
1744 .itc_dis_clr_ubit(itc_dis_clr_ubit),
1745 .itc_write_next(itc_write_next),
1746 .itc_demap_next(itc_demap_next),
1747 .itc_sel_mbist(itc_sel_mbist),
1748 .itc_mbi_itb_read_en(itc_mbi_itb_read_en),
1749 .itc_thr_to_write(itc_thr_to_write[7:0]),
1750 .itc_itb_data_sz_1(itc_itb_data_sz_1)
1751);
1752
1753ifu_ftu_itd_dp ftu_itd_dp (
1754 .scan_in(ftu_itd_dp_scanin),
1755 .scan_out(ftu_itd_dp_scanout),
1756 .l2clk(l2clk),
1757 .default_pid(ftp_curr_pid_bf[2:0]),
1758 .default_r(itc_ra_to_pa_bf),
1759 .write_context_0(ctx_cntx_0_to_write_bf[13:0]),
1760 .write_context_1(ctx_cntx_1_to_write_bf[13:0]),
1761 .default_context_0(ctx_curr_cntx_0_bf[12:0]),
1762 .default_context_1(ctx_curr_cntx_1_bf[12:0]),
1763 .tcu_scan_en(tcu_scan_en),
1764 .tcu_muxtest(tcu_muxtest),
1765 .tcu_dectest(tcu_dectest),
1766 .tcu_pce_ov(tcu_pce_ov),
1767 .spc_aclk(spc_aclk),
1768 .spc_bclk(spc_bclk),
1769 .itc_sel_trap_pc_0(itc_sel_trap_pc_0),
1770 .itc_sel_trap_pc_1(itc_sel_trap_pc_1),
1771 .itc_sel_demap_tag_d(itc_sel_demap_tag_d),
1772 .itc_sel_demap_tag_c0(itc_sel_demap_tag_c0),
1773 .itc_sel_demap_tag_c1(itc_sel_demap_tag_c1),
1774 .itc_sel_write_tag(itc_sel_write_tag),
1775 .itc_sel_default(itc_sel_default),
1776 .itc_sel_write_tag_indexed(itc_sel_write_tag_indexed),
1777 .itc_tag_error_inj(itc_tag_error_inj),
1778 .itc_data_error_inj(itc_data_error_inj),
1779 .ifu_agd_pc_bf(ifu_agd_pc_bf[47:13]),
1780 .tlu_trap_pc_0(tlu_trap_pc_0[47:0]),
1781 .tlu_trap_pc_1(tlu_trap_pc_1[47:0]),
1782 .mmu_index(mmu_index[6:0]),
1783 .ftp_thr0_pid_data(ftp_thr0_pid_data[2:0]),
1784 .ftp_thr1_pid_data(ftp_thr1_pid_data[2:0]),
1785 .ftp_thr2_pid_data(ftp_thr2_pid_data[2:0]),
1786 .ftp_thr3_pid_data(ftp_thr3_pid_data[2:0]),
1787 .ftp_thr4_pid_data(ftp_thr4_pid_data[2:0]),
1788 .ftp_thr5_pid_data(ftp_thr5_pid_data[2:0]),
1789 .ftp_thr6_pid_data(ftp_thr6_pid_data[2:0]),
1790 .ftp_thr7_pid_data(ftp_thr7_pid_data[2:0]),
1791 .asi_addr_bf(asi_addr_bf[8:3]),
1792 .mbi_addr(mbi_addr[5:0]),
1793 .mbi_wdata(mbi_wdata[7:0]),
1794 .mbi_run(mbi_run),
1795 .mbi_cambist_run(mbi_cambist_run),
1796 .mbi_cambist_shift(mbi_cambist_shift),
1797 .mbi_init_to_zero(mbi_init_to_zero),
1798 .itc_sel_mbist(itc_sel_mbist),
1799 .itc_write_next(itc_write_next),
1800 .itd_tag(itd_tag[68:0]),
1801 .itd_data(itd_data[37:0]),
1802 .itd_index_valid_in(itd_index_valid_in),
1803 .itd_rw_index(itd_rw_index[5:0]),
1804 .itd_prty_256m(itd_prty_256m),
1805 .itd_prty_4m(itd_prty_4m),
1806 .itd_prty_64k(itd_prty_64k),
1807 .itd_prty_8k(itd_prty_8k),
1808 .itd_prty_ctxt0(itd_prty_ctxt0),
1809 .itd_prty_ctxt1(itd_prty_ctxt1)
1810);
1811
1812////////////////////////////////////////////////////////////////////////
1813// Fetch pick logic
1814////////////////////////////////////////////////////////////////////////
1815ifu_ftu_ftp_ctl ftu_ftp_ctl (
1816 .lsu_ifu_pid_data(lsu_ifu_ctxt_data[2:0]),
1817 .asi_sel_cntx_0(asi_addr_bf[10]),
1818 .scan_in(ftu_ftp_ctl_scanin),
1819 .scan_out(ftu_ftp_ctl_scanout),
1820 .l2clk(l2clk),
1821 .tcu_scan_en(tcu_scan_en),
1822 .tcu_pce_ov(tcu_pce_ov),
1823 .spc_aclk(spc_aclk),
1824 .spc_bclk(spc_bclk),
1825 .spc_core_running_status(spc_core_running_status[7:0]),
1826 .tlu_pstate_am(tlu_pstate_am[7:0]),
1827 .tlu_flush_ifu(tlu_flush_ifu[7:0]),
1828 .tlu_itlb_bypass(tlu_itlb_bypass[7:0]),
1829 .tlu_trap_0_tid(tlu_trap_0_tid[1:0]),
1830 .tlu_trap_1_tid(tlu_trap_1_tid[1:0]),
1831 .tlu_trap_pc_0_valid(tlu_trap_pc_0_valid),
1832 .tlu_trap_pc_1_valid(tlu_trap_pc_1_valid),
1833 .dec_br_taken_e(dec_br_taken_e[1:0]),
1834 .dec_valid_e(dec_valid_e[1:0]),
1835 .dec_tid0_d(dec_tid0_d[1:0]),
1836 .dec_tid1_d(dec_tid1_d[1:0]),
1837 .itc_demap_next(itc_demap_next),
1838 .mbi_run(mbi_run),
1839 .mbi_itb_cam_en_pre(mbi_itb_cam_en_pre),
1840 .mbi_cmpsel(mbi_cmpsel[1:0]),
1841 .mbi_ict_read_en(mbi_ict_read_en),
1842 .mbi_ict_write_en(mbi_ict_write_en),
1843 .mbi_icd_read_en(mbi_icd_read_en),
1844 .mbi_icd_write_en(mbi_icd_write_en),
1845 .mbi_icv_read_en(mbi_icv_read_en),
1846 .mbi_icv_write_en(mbi_icv_write_en),
1847 .cmu_thr0_data_ready(cmu_thr0_data_ready),
1848 .cmu_thr1_data_ready(cmu_thr1_data_ready),
1849 .cmu_thr2_data_ready(cmu_thr2_data_ready),
1850 .cmu_thr3_data_ready(cmu_thr3_data_ready),
1851 .cmu_thr4_data_ready(cmu_thr4_data_ready),
1852 .cmu_thr5_data_ready(cmu_thr5_data_ready),
1853 .cmu_thr6_data_ready(cmu_thr6_data_ready),
1854 .cmu_thr7_data_ready(cmu_thr7_data_ready),
1855 .tsm_thr0_ignore_by_pass(tsm_thr0_ignore_by_pass),
1856 .tsm_thr1_ignore_by_pass(tsm_thr1_ignore_by_pass),
1857 .tsm_thr2_ignore_by_pass(tsm_thr2_ignore_by_pass),
1858 .tsm_thr3_ignore_by_pass(tsm_thr3_ignore_by_pass),
1859 .tsm_thr4_ignore_by_pass(tsm_thr4_ignore_by_pass),
1860 .tsm_thr5_ignore_by_pass(tsm_thr5_ignore_by_pass),
1861 .tsm_thr6_ignore_by_pass(tsm_thr6_ignore_by_pass),
1862 .tsm_thr7_ignore_by_pass(tsm_thr7_ignore_by_pass),
1863 .dec_load_flush_w(dec_load_flush_w[1:0]),
1864 .tsm_thr0_ready_hp_bf_in(tsm_thr0_ready_hp_bf_in),
1865 .tsm_thr1_ready_hp_bf_in(tsm_thr1_ready_hp_bf_in),
1866 .tsm_thr2_ready_hp_bf_in(tsm_thr2_ready_hp_bf_in),
1867 .tsm_thr3_ready_hp_bf_in(tsm_thr3_ready_hp_bf_in),
1868 .tsm_thr4_ready_hp_bf_in(tsm_thr4_ready_hp_bf_in),
1869 .tsm_thr5_ready_hp_bf_in(tsm_thr5_ready_hp_bf_in),
1870 .tsm_thr6_ready_hp_bf_in(tsm_thr6_ready_hp_bf_in),
1871 .tsm_thr7_ready_hp_bf_in(tsm_thr7_ready_hp_bf_in),
1872 .tsm_thr0_fill_rdy0(tsm_thr0_fill_rdy0),
1873 .tsm_thr1_fill_rdy0(tsm_thr1_fill_rdy0),
1874 .tsm_thr2_fill_rdy0(tsm_thr2_fill_rdy0),
1875 .tsm_thr3_fill_rdy0(tsm_thr3_fill_rdy0),
1876 .tsm_thr4_fill_rdy0(tsm_thr4_fill_rdy0),
1877 .tsm_thr5_fill_rdy0(tsm_thr5_fill_rdy0),
1878 .tsm_thr6_fill_rdy0(tsm_thr6_fill_rdy0),
1879 .tsm_thr7_fill_rdy0(tsm_thr7_fill_rdy0),
1880 .cmu_icache_invalidate(cmu_icache_invalidate),
1881 .cmu_any_un_cacheable(cmu_any_un_cacheable),
1882 .cmu_any_data_ready(cmu_any_data_ready),
1883 .ibu_empty(ibu_empty[7:0]),
1884 .ibu_room_4ormore(ibu_room_4ormore[7:0]),
1885 .agc_by_pass_update_lru_bf(agc_by_pass_update_lru_bf[7:0]),
1886 .agc_invalidation_req_ff(agc_invalidation_req_ff[7:0]),
1887 .agc_kill_fetch_cv_c(agc_kill_fetch_cv_c),
1888 .agc_thr0_micro_flush_unq_c(agc_thr0_micro_flush_unq_c),
1889 .agc_thr1_micro_flush_unq_c(agc_thr1_micro_flush_unq_c),
1890 .agc_thr2_micro_flush_unq_c(agc_thr2_micro_flush_unq_c),
1891 .agc_thr3_micro_flush_unq_c(agc_thr3_micro_flush_unq_c),
1892 .agc_thr4_micro_flush_unq_c(agc_thr4_micro_flush_unq_c),
1893 .agc_thr5_micro_flush_unq_c(agc_thr5_micro_flush_unq_c),
1894 .agc_thr6_micro_flush_unq_c(agc_thr6_micro_flush_unq_c),
1895 .agc_thr7_micro_flush_unq_c(agc_thr7_micro_flush_unq_c),
1896 .agc_thr0_sf_valid_f(agc_thr0_sf_valid_f),
1897 .agc_thr1_sf_valid_f(agc_thr1_sf_valid_f),
1898 .agc_thr2_sf_valid_f(agc_thr2_sf_valid_f),
1899 .agc_thr3_sf_valid_f(agc_thr3_sf_valid_f),
1900 .agc_thr4_sf_valid_f(agc_thr4_sf_valid_f),
1901 .agc_thr5_sf_valid_f(agc_thr5_sf_valid_f),
1902 .agc_thr6_sf_valid_f(agc_thr6_sf_valid_f),
1903 .agc_thr7_sf_valid_f(agc_thr7_sf_valid_f),
1904 .asi_ic_wr_req(asi_ic_wr_req),
1905 .asi_ic_rd_req(asi_ic_rd_req),
1906 .asi_tg_wr_req(asi_tg_wr_req),
1907 .asi_tg_rd_req(asi_tg_rd_req),
1908 .asi_itd_rd_req(asi_itd_rd_req),
1909 .asi_itt_rd_req(asi_itt_rd_req),
1910 .asi_ith_det_req(asi_ith_det_req),
1911 .asi_tid(asi_tid[2:0]),
1912 .agd_address0_m(agd_address0_m[4:2]),
1913 .agd_address1_m(agd_address1_m[4:2]),
1914 .agd_thr0_pc_4_2_f(agd_thr0_pc_4_2_f[4:2]),
1915 .agd_thr1_pc_4_2_f(agd_thr1_pc_4_2_f[4:2]),
1916 .agd_thr2_pc_4_2_f(agd_thr2_pc_4_2_f[4:2]),
1917 .agd_thr3_pc_4_2_f(agd_thr3_pc_4_2_f[4:2]),
1918 .agd_thr4_pc_4_2_f(agd_thr4_pc_4_2_f[4:2]),
1919 .agd_thr5_pc_4_2_f(agd_thr5_pc_4_2_f[4:2]),
1920 .agd_thr6_pc_4_2_f(agd_thr6_pc_4_2_f[4:2]),
1921 .agd_thr7_pc_4_2_f(agd_thr7_pc_4_2_f[4:2]),
1922 .ifu_agd_pc_f(ifu_agd_pc_f[4:2]),
1923 .asi_addr_bf(asi_addr_bf[5:3]),
1924 .lsu_ifu_ftu_pmen(lsu_ifu_ftu_pmen),
1925 .lsu_ic_pmen(lsu_ic_pmen),
1926 .lsu_ifu_wr_pid(lsu_ifu_wr_pid),
1927 .lsu_ifu_tid_w(lsu_ifu_tid_w[2:0]),
1928 .ftp_asi_rd_done(ftp_asi_rd_done),
1929 .ftp_asi_wr_done(ftp_asi_wr_done),
1930 .ftp_reset_fill_wait(ftp_reset_fill_wait),
1931 .ftp_ic_rd_req_bf(ftp_ic_rd_req_bf),
1932 .ftp_ic_wr_ps_en_bf(ftp_ic_wr_ps_en_bf),
1933 .ftp_ic_wr_req_bf(ftp_ic_wr_req_bf),
1934 .ftp_tg_rd_req_bf(ftp_tg_rd_req_bf),
1935 .ftp_tg_wr_req_bf(ftp_tg_wr_req_bf),
1936 .ftp_iv_rd_req_bf(ftp_iv_rd_req_bf),
1937 .ftp_itt_rd_req_bf(ftp_itt_rd_req_bf),
1938 .ftp_itd_rd_req_bf(ftp_itd_rd_req_bf),
1939 .ftp_itlb_cam_vld_bf(ftp_itlb_cam_vld_bf),
1940 .ftp_itlb_cam_vld_f(ftp_itlb_cam_vld_f),
1941 .ftp_ith_det_req_bf(ftp_ith_det_req_bf),
1942 .ftp_itlb_probe_req_l(ftp_itlb_probe_req_l),
1943 .ftp_sel_icv_mbist_addr(ftp_sel_icv_mbist_addr),
1944 .ftp_sel_mbist_itb_cycle0(ftp_sel_mbist_itb_cycle0),
1945 .ftp_sel_mbist_itb_cycle1(ftp_sel_mbist_itb_cycle1),
1946 .ftp_sel_mbist_itb_cycle2(ftp_sel_mbist_itb_cycle2),
1947 .ftp_sel_mbist_itb_cycle3(ftp_sel_mbist_itb_cycle3),
1948 .ftp_sel_itlb_tag_cntx0_c(ftp_sel_itlb_tag_cntx0_c),
1949 .ftp_sel_itlb_tag_cntx1_c(ftp_sel_itlb_tag_cntx1_c),
1950 .ftp_sel_itlb_data_c(ftp_sel_itlb_data_c),
1951 .ftp_sel_itlb_pa_c(ftp_sel_itlb_pa_c),
1952 .ftp_asi_mbist_access_bf(ftp_asi_mbist_access_bf),
1953 .ftp_asi_it_rd_done(ftp_asi_it_rd_done),
1954 .ftp_asi_ic_rd_done(ftp_asi_ic_rd_done),
1955 .ftp_asi_ic_wr_done(ftp_asi_ic_wr_done),
1956 .ftp_asi_tg_rd_done(ftp_asi_tg_rd_done),
1957 .ftp_asi_tg_wr_done(ftp_asi_tg_wr_done),
1958 .ftp_asi_tg_wr_req_hold(ftp_asi_tg_wr_req_hold),
1959 .ftp_thr0_room_is_less_t_3(ftp_thr0_room_is_less_t_3),
1960 .ftp_thr1_room_is_less_t_3(ftp_thr1_room_is_less_t_3),
1961 .ftp_thr2_room_is_less_t_3(ftp_thr2_room_is_less_t_3),
1962 .ftp_thr3_room_is_less_t_3(ftp_thr3_room_is_less_t_3),
1963 .ftp_thr4_room_is_less_t_3(ftp_thr4_room_is_less_t_3),
1964 .ftp_thr5_room_is_less_t_3(ftp_thr5_room_is_less_t_3),
1965 .ftp_thr6_room_is_less_t_3(ftp_thr6_room_is_less_t_3),
1966 .ftp_thr7_room_is_less_t_3(ftp_thr7_room_is_less_t_3),
1967 .ftp_thr0_go_to_sf_wait(ftp_thr0_go_to_sf_wait),
1968 .ftp_thr1_go_to_sf_wait(ftp_thr1_go_to_sf_wait),
1969 .ftp_thr2_go_to_sf_wait(ftp_thr2_go_to_sf_wait),
1970 .ftp_thr3_go_to_sf_wait(ftp_thr3_go_to_sf_wait),
1971 .ftp_thr4_go_to_sf_wait(ftp_thr4_go_to_sf_wait),
1972 .ftp_thr5_go_to_sf_wait(ftp_thr5_go_to_sf_wait),
1973 .ftp_thr6_go_to_sf_wait(ftp_thr6_go_to_sf_wait),
1974 .ftp_thr7_go_to_sf_wait(ftp_thr7_go_to_sf_wait),
1975 .ftp_thr0_trprdpc_sel_bf(ftp_thr0_trprdpc_sel_bf[2:0]),
1976 .ftp_thr1_trprdpc_sel_bf(ftp_thr1_trprdpc_sel_bf[2:0]),
1977 .ftp_thr2_trprdpc_sel_bf(ftp_thr2_trprdpc_sel_bf[2:0]),
1978 .ftp_thr3_trprdpc_sel_bf(ftp_thr3_trprdpc_sel_bf[2:0]),
1979 .ftp_thr4_trprdpc_sel_bf(ftp_thr4_trprdpc_sel_bf[2:0]),
1980 .ftp_thr5_trprdpc_sel_bf(ftp_thr5_trprdpc_sel_bf[2:0]),
1981 .ftp_thr6_trprdpc_sel_bf(ftp_thr6_trprdpc_sel_bf[2:0]),
1982 .ftp_thr7_trprdpc_sel_bf(ftp_thr7_trprdpc_sel_bf[2:0]),
1983 .ftp_thr0_sel_br_bf(ftp_thr0_sel_br_bf),
1984 .ftp_thr1_sel_br_bf(ftp_thr1_sel_br_bf),
1985 .ftp_thr2_sel_br_bf(ftp_thr2_sel_br_bf),
1986 .ftp_thr3_sel_br_bf(ftp_thr3_sel_br_bf),
1987 .ftp_thr4_sel_br_bf(ftp_thr4_sel_br_bf),
1988 .ftp_thr5_sel_br_bf(ftp_thr5_sel_br_bf),
1989 .ftp_thr6_sel_br_bf(ftp_thr6_sel_br_bf),
1990 .ftp_thr7_sel_br_bf(ftp_thr7_sel_br_bf),
1991 .ftp_icd_quad_0_en_bf(ftp_icd_quad_0_en_bf),
1992 .ftp_icd_quad_1_en_bf(ftp_icd_quad_1_en_bf),
1993 .ftp_icd_quad_2_en_bf(ftp_icd_quad_2_en_bf),
1994 .ftp_icd_quad_3_en_bf(ftp_icd_quad_3_en_bf),
1995 .ftp_tg_clk_en(ftp_tg_clk_en),
1996 .ftp_pc_sel_am(ftp_pc_sel_am[5:0]),
1997 .ftp_pc_sel_tag_part1(ftp_pc_sel_tag_part1[2:0]),
1998 .ftp_pc_sel_tag_part2(ftp_pc_sel_tag_part2[3:0]),
1999 .ftp_pc_sel_tag_pc_bot(ftp_pc_sel_tag_pc_bot[1:0]),
2000 .ftp_pc_sel_tag_pc_top(ftp_pc_sel_tag_pc_top[1:0]),
2001 .ftp_icaddr_sel_first_mux(ftp_icaddr_sel_first_mux[4:0]),
2002 .ftp_itb_fetch_thr_bf(ftp_itb_fetch_thr_bf[7:0]),
2003 .ftp_new_thr_sel_bf(ftp_new_thr_sel_bf[7:0]),
2004 .ftu_curr_fetch_thr_f(ftu_curr_fetch_thr_f[7:0]),
2005 .ftp_curr_fetch_thr_f(ftp_curr_fetch_thr_f[7:0]),
2006 .ftp_fetch_thr_q_f(ftp_fetch_thr_q_f[7:0]),
2007 .ftp_tid0_e(ftp_tid0_e[1:0]),
2008 .ftp_tid1_e(ftp_tid1_e[1:0]),
2009 .ftp_fetch_v_f(ftp_fetch_v_f),
2010 .ftp_fill_req_q_bf(ftp_fill_req_q_bf),
2011 .ftp_mbi_icd_read_en_bf(ftp_mbi_icd_read_en_bf),
2012 .ftp_mbi_ict_read_en_bf(ftp_mbi_ict_read_en_bf),
2013 .ftp_ict_data_sel_bf(ftp_ict_data_sel_bf[2:0]),
2014 .ftp_any_thr_clken(ftp_any_thr_clken),
2015 .ftp_curr_pid_bf(ftp_curr_pid_bf[2:0]),
2016 .ftp_thr7_pid_data(ftp_thr7_pid_data[2:0]),
2017 .ftp_thr6_pid_data(ftp_thr6_pid_data[2:0]),
2018 .ftp_thr5_pid_data(ftp_thr5_pid_data[2:0]),
2019 .ftp_thr4_pid_data(ftp_thr4_pid_data[2:0]),
2020 .ftp_thr3_pid_data(ftp_thr3_pid_data[2:0]),
2021 .ftp_thr2_pid_data(ftp_thr2_pid_data[2:0]),
2022 .ftp_thr1_pid_data(ftp_thr1_pid_data[2:0]),
2023 .ftp_thr0_pid_data(ftp_thr0_pid_data[2:0])
2024);
2025
2026
2027
2028//////////////////////////////////////////////////////
2029// Thread fetch control has all the logic to control//
2030// which threads are eligible for fetch. //
2031//////////////////////////////////////////////////////
2032ifu_ftu_tfc_ctl ftu_tfc_ctl (
2033 .scan_in(ftu_tfc_ctl_scanin),
2034 .scan_out(ftu_tfc_ctl_scanout),
2035 .l2clk(l2clk),
2036 .tcu_scan_en(tcu_scan_en),
2037 .spc_aclk(spc_aclk),
2038 .spc_bclk(spc_bclk),
2039 .tcu_pce_ov(tcu_pce_ov),
2040 .ftu_thr0_redirect_bf(ftu_thr0_redirect_bf),
2041 .ftu_thr1_redirect_bf(ftu_thr1_redirect_bf),
2042 .ftu_thr2_redirect_bf(ftu_thr2_redirect_bf),
2043 .ftu_thr3_redirect_bf(ftu_thr3_redirect_bf),
2044 .ftu_thr4_redirect_bf(ftu_thr4_redirect_bf),
2045 .ftu_thr5_redirect_bf(ftu_thr5_redirect_bf),
2046 .ftu_thr6_redirect_bf(ftu_thr6_redirect_bf),
2047 .ftu_thr7_redirect_bf(ftu_thr7_redirect_bf),
2048 .agc_thr0_err_detect_c(agc_thr0_err_detect_c),
2049 .agc_thr1_err_detect_c(agc_thr1_err_detect_c),
2050 .agc_thr2_err_detect_c(agc_thr2_err_detect_c),
2051 .agc_thr3_err_detect_c(agc_thr3_err_detect_c),
2052 .agc_thr4_err_detect_c(agc_thr4_err_detect_c),
2053 .agc_thr5_err_detect_c(agc_thr5_err_detect_c),
2054 .agc_thr6_err_detect_c(agc_thr6_err_detect_c),
2055 .agc_thr7_err_detect_c(agc_thr7_err_detect_c),
2056 .ftu_thr0_inv_req_c(ftu_thr0_inv_req_c),
2057 .ftu_thr1_inv_req_c(ftu_thr1_inv_req_c),
2058 .ftu_thr2_inv_req_c(ftu_thr2_inv_req_c),
2059 .ftu_thr3_inv_req_c(ftu_thr3_inv_req_c),
2060 .ftu_thr4_inv_req_c(ftu_thr4_inv_req_c),
2061 .ftu_thr5_inv_req_c(ftu_thr5_inv_req_c),
2062 .ftu_thr6_inv_req_c(ftu_thr6_inv_req_c),
2063 .ftu_thr7_inv_req_c(ftu_thr7_inv_req_c),
2064 .agc_thr0_lsu_no_ic_miss(agc_thr0_lsu_no_ic_miss),
2065 .agc_thr1_lsu_no_ic_miss(agc_thr1_lsu_no_ic_miss),
2066 .agc_thr2_lsu_no_ic_miss(agc_thr2_lsu_no_ic_miss),
2067 .agc_thr3_lsu_no_ic_miss(agc_thr3_lsu_no_ic_miss),
2068 .agc_thr4_lsu_no_ic_miss(agc_thr4_lsu_no_ic_miss),
2069 .agc_thr5_lsu_no_ic_miss(agc_thr5_lsu_no_ic_miss),
2070 .agc_thr6_lsu_no_ic_miss(agc_thr6_lsu_no_ic_miss),
2071 .agc_thr7_lsu_no_ic_miss(agc_thr7_lsu_no_ic_miss),
2072 .agc_thr0_tlu_redirect_bf(agc_thr0_tlu_redirect_bf),
2073 .agc_thr1_tlu_redirect_bf(agc_thr1_tlu_redirect_bf),
2074 .agc_thr2_tlu_redirect_bf(agc_thr2_tlu_redirect_bf),
2075 .agc_thr3_tlu_redirect_bf(agc_thr3_tlu_redirect_bf),
2076 .agc_thr4_tlu_redirect_bf(agc_thr4_tlu_redirect_bf),
2077 .agc_thr5_tlu_redirect_bf(agc_thr5_tlu_redirect_bf),
2078 .agc_thr6_tlu_redirect_bf(agc_thr6_tlu_redirect_bf),
2079 .agc_thr7_tlu_redirect_bf(agc_thr7_tlu_redirect_bf),
2080 .ftp_thr0_go_to_sf_wait(ftp_thr0_go_to_sf_wait),
2081 .ftp_thr1_go_to_sf_wait(ftp_thr1_go_to_sf_wait),
2082 .ftp_thr2_go_to_sf_wait(ftp_thr2_go_to_sf_wait),
2083 .ftp_thr3_go_to_sf_wait(ftp_thr3_go_to_sf_wait),
2084 .ftp_thr4_go_to_sf_wait(ftp_thr4_go_to_sf_wait),
2085 .ftp_thr5_go_to_sf_wait(ftp_thr5_go_to_sf_wait),
2086 .ftp_thr6_go_to_sf_wait(ftp_thr6_go_to_sf_wait),
2087 .ftp_thr7_go_to_sf_wait(ftp_thr7_go_to_sf_wait),
2088 .cmu_inval_ack(cmu_inval_ack[7:0]),
2089 .cmu_rst_dupmiss(cmu_rst_dupmiss[7:0]),
2090 .cmu_null_st(cmu_null_st[7:0]),
2091 .cmu_dupmiss_st(cmu_dupmiss_st[7:0]),
2092 .cmu_thr0_data_ready(cmu_thr0_data_ready),
2093 .cmu_thr1_data_ready(cmu_thr1_data_ready),
2094 .cmu_thr2_data_ready(cmu_thr2_data_ready),
2095 .cmu_thr3_data_ready(cmu_thr3_data_ready),
2096 .cmu_thr4_data_ready(cmu_thr4_data_ready),
2097 .cmu_thr5_data_ready(cmu_thr5_data_ready),
2098 .cmu_thr6_data_ready(cmu_thr6_data_ready),
2099 .cmu_thr7_data_ready(cmu_thr7_data_ready),
2100 .agc_thr0_cmiss_stm_c(agc_thr0_cmiss_stm_c),
2101 .agc_thr1_cmiss_stm_c(agc_thr1_cmiss_stm_c),
2102 .agc_thr2_cmiss_stm_c(agc_thr2_cmiss_stm_c),
2103 .agc_thr3_cmiss_stm_c(agc_thr3_cmiss_stm_c),
2104 .agc_thr4_cmiss_stm_c(agc_thr4_cmiss_stm_c),
2105 .agc_thr5_cmiss_stm_c(agc_thr5_cmiss_stm_c),
2106 .agc_thr6_cmiss_stm_c(agc_thr6_cmiss_stm_c),
2107 .agc_thr7_cmiss_stm_c(agc_thr7_cmiss_stm_c),
2108 .agc_thr0_itb_miss_c(agc_thr0_itb_miss_c),
2109 .agc_thr1_itb_miss_c(agc_thr1_itb_miss_c),
2110 .agc_thr2_itb_miss_c(agc_thr2_itb_miss_c),
2111 .agc_thr3_itb_miss_c(agc_thr3_itb_miss_c),
2112 .agc_thr4_itb_miss_c(agc_thr4_itb_miss_c),
2113 .agc_thr5_itb_miss_c(agc_thr5_itb_miss_c),
2114 .agc_thr6_itb_miss_c(agc_thr6_itb_miss_c),
2115 .agc_thr7_itb_miss_c(agc_thr7_itb_miss_c),
2116 .cmu_any_data_ready(cmu_any_data_ready),
2117 .ftp_reset_fill_wait(ftp_reset_fill_wait),
2118 .ftp_thr0_room_is_less_t_3(ftp_thr0_room_is_less_t_3),
2119 .ftp_thr1_room_is_less_t_3(ftp_thr1_room_is_less_t_3),
2120 .ftp_thr2_room_is_less_t_3(ftp_thr2_room_is_less_t_3),
2121 .ftp_thr3_room_is_less_t_3(ftp_thr3_room_is_less_t_3),
2122 .ftp_thr4_room_is_less_t_3(ftp_thr4_room_is_less_t_3),
2123 .ftp_thr5_room_is_less_t_3(ftp_thr5_room_is_less_t_3),
2124 .ftp_thr6_room_is_less_t_3(ftp_thr6_room_is_less_t_3),
2125 .ftp_thr7_room_is_less_t_3(ftp_thr7_room_is_less_t_3),
2126 .itc_demap_next(itc_demap_next),
2127 .tlu_flush_ifu(tlu_flush_ifu[7:0]),
2128 .asi_wr_request(asi_wr_request),
2129 .asi_rd_request(asi_rd_request),
2130 .ftp_asi_rd_done(ftp_asi_rd_done),
2131 .ftp_asi_wr_done(ftp_asi_wr_done),
2132 .tsm_thr0_fill_rdy0(tsm_thr0_fill_rdy0),
2133 .tsm_thr1_fill_rdy0(tsm_thr1_fill_rdy0),
2134 .tsm_thr2_fill_rdy0(tsm_thr2_fill_rdy0),
2135 .tsm_thr3_fill_rdy0(tsm_thr3_fill_rdy0),
2136 .tsm_thr4_fill_rdy0(tsm_thr4_fill_rdy0),
2137 .tsm_thr5_fill_rdy0(tsm_thr5_fill_rdy0),
2138 .tsm_thr6_fill_rdy0(tsm_thr6_fill_rdy0),
2139 .tsm_thr7_fill_rdy0(tsm_thr7_fill_rdy0),
2140 .tsm_thr0_no_new_miss(tsm_thr0_no_new_miss),
2141 .tsm_thr1_no_new_miss(tsm_thr1_no_new_miss),
2142 .tsm_thr2_no_new_miss(tsm_thr2_no_new_miss),
2143 .tsm_thr3_no_new_miss(tsm_thr3_no_new_miss),
2144 .tsm_thr4_no_new_miss(tsm_thr4_no_new_miss),
2145 .tsm_thr5_no_new_miss(tsm_thr5_no_new_miss),
2146 .tsm_thr6_no_new_miss(tsm_thr6_no_new_miss),
2147 .tsm_thr7_no_new_miss(tsm_thr7_no_new_miss),
2148 .tsm_thr0_ignore_by_pass(tsm_thr0_ignore_by_pass),
2149 .tsm_thr1_ignore_by_pass(tsm_thr1_ignore_by_pass),
2150 .tsm_thr2_ignore_by_pass(tsm_thr2_ignore_by_pass),
2151 .tsm_thr3_ignore_by_pass(tsm_thr3_ignore_by_pass),
2152 .tsm_thr4_ignore_by_pass(tsm_thr4_ignore_by_pass),
2153 .tsm_thr5_ignore_by_pass(tsm_thr5_ignore_by_pass),
2154 .tsm_thr6_ignore_by_pass(tsm_thr6_ignore_by_pass),
2155 .tsm_thr7_ignore_by_pass(tsm_thr7_ignore_by_pass),
2156 .tsm_thr0_ready_hp_bf_in(tsm_thr0_ready_hp_bf_in),
2157 .tsm_thr1_ready_hp_bf_in(tsm_thr1_ready_hp_bf_in),
2158 .tsm_thr2_ready_hp_bf_in(tsm_thr2_ready_hp_bf_in),
2159 .tsm_thr3_ready_hp_bf_in(tsm_thr3_ready_hp_bf_in),
2160 .tsm_thr4_ready_hp_bf_in(tsm_thr4_ready_hp_bf_in),
2161 .tsm_thr5_ready_hp_bf_in(tsm_thr5_ready_hp_bf_in),
2162 .tsm_thr6_ready_hp_bf_in(tsm_thr6_ready_hp_bf_in),
2163 .tsm_thr7_ready_hp_bf_in(tsm_thr7_ready_hp_bf_in),
2164 .ftu_ifu_quiesce(ftu_ifu_quiesce[7:0])
2165);
2166
2167////////////////////////////////////////////////////////////
2168// Bypass data to IB buffers.
2169// This file muxes the instructions from the IC and the
2170// Instruction being by_passed from the cache_miss unit.
2171////////////////////////////////////////////////////////////
2172ifu_ftu_byp_dp ftu_byp_dp (
2173 .scan_in(ftu_byp_dp_scanin),
2174 .scan_out(ftu_byp_dp_scanout),
2175 .l2clk(l2clk),
2176 .tcu_scan_en(tcu_scan_en),
2177 .tcu_se_scancollar_out(tcu_se_scancollar_out),
2178 .tcu_pce_ov(tcu_pce_ov),
2179 .spc_aclk(spc_aclk),
2180 .spc_bclk(spc_bclk),
2181 .tcu_muxtest(tcu_muxtest),
2182 .tcu_dectest(tcu_dectest),
2183 .mbi_cambist_run(mbi_cambist_run),
2184 .mbi_addr(mbi_addr[5:0]),
2185 .agd_mbist_wdata_bf(agd_mbist_wdata_bf[7:0]),
2186 .ftp_mbi_icd_read_en_bf(ftp_mbi_icd_read_en_bf),
2187 .ftp_mbi_ict_read_en_bf(ftp_mbi_ict_read_en_bf),
2188 .itc_mbi_itb_read_en(itc_mbi_itb_read_en),
2189 .cmu_fill_inst0(cmu_fill_inst0[32:0]),
2190 .cmu_fill_inst1(cmu_fill_inst1[32:0]),
2191 .cmu_fill_inst2(cmu_fill_inst2[32:0]),
2192 .cmu_fill_inst3(cmu_fill_inst3[32:0]),
2193 .icd_bus_0_instr_c(icd_bus_0_instr_c[32:0]),
2194 .icd_bus_1_instr_c(icd_bus_1_instr_c[32:0]),
2195 .icd_bus_2_instr_c(icd_bus_2_instr_c[32:0]),
2196 .icd_bus_3_instr_c(icd_bus_3_instr_c[32:0]),
2197 .agc_instr_bp_sel_c(agc_instr_bp_sel_c[2:0]),
2198 .agc_asi_sel_word_c(agc_asi_sel_word_c[3:0]),
2199 .agc_sel_tg_data_f(agc_sel_tg_data_f[7:0]),
2200 .ict_itlb_way_0_tag_f(ict_itlb_way_0_tag_f[29:0]),
2201 .ict_itlb_way_1_tag_f(ict_itlb_way_1_tag_f[29:0]),
2202 .ict_itlb_way_2_tag_f(ict_itlb_way_2_tag_f[29:0]),
2203 .ict_itlb_way_3_tag_f(ict_itlb_way_3_tag_f[29:0]),
2204 .ict_itlb_way_4_tag_f(ict_itlb_way_4_tag_f[29:0]),
2205 .ict_itlb_way_5_tag_f(ict_itlb_way_5_tag_f[29:0]),
2206 .ict_itlb_way_6_tag_f(ict_itlb_way_6_tag_f[29:0]),
2207 .ict_itlb_way_7_tag_f(ict_itlb_way_7_tag_f[29:0]),
2208 .itb_tte_data(itb_tte_data[37:0]),
2209 .itb_tte_tag(itb_tte_tag[65:0]),
2210 .itb_tte_u_bit(itb_tte_u_bit),
2211 .ftu_paddr(ftu_paddr[39:13]),
2212 .itb_cam_hit_c(itb_cam_hit_c),
2213 .itb_itb_mhit_c(itb_itb_mhit_c),
2214 .itb_tte_data_parity(itb_tte_data_parity),
2215 .agc_itb_tag_perr_c(agc_itb_tag_perr_c),
2216 .itc_itb_data_sz_1(itc_itb_data_sz_1),
2217 .ftp_sel_mbist_itb_cycle0(ftp_sel_mbist_itb_cycle0),
2218 .ftp_sel_mbist_itb_cycle1(ftp_sel_mbist_itb_cycle1),
2219 .ftp_sel_mbist_itb_cycle2(ftp_sel_mbist_itb_cycle2),
2220 .ftp_sel_mbist_itb_cycle3(ftp_sel_mbist_itb_cycle3),
2221 .ftp_sel_itlb_tag_cntx0_c(ftp_sel_itlb_tag_cntx0_c),
2222 .ftp_sel_itlb_tag_cntx1_c(ftp_sel_itlb_tag_cntx1_c),
2223 .ftp_sel_itlb_data_c(ftp_sel_itlb_data_c),
2224 .ftp_sel_itlb_pa_c(ftp_sel_itlb_pa_c),
2225 .ftu_instr_0_c(ftu_instr_0_c[32:0]),
2226 .ftu_instr_1_c(ftu_instr_1_c[32:0]),
2227 .ftu_instr_2_c(ftu_instr_2_c[32:0]),
2228 .ftu_instr_3_c(ftu_instr_3_c[32:0]),
2229 .ic_rd_data(ic_rd_data[32:0]),
2230 .ic_dmo_rd_data(ic_dmo_rd_data[32:0]),
2231 .tg_rd_data(tg_rd_data[29:0]),
2232 .it_rd_data(it_rd_data[63:0]),
2233 .ftu_mbi_ict_fail(ftu_mbi_ict_fail),
2234 .ftu_mbi_icd_fail(ftu_mbi_icd_fail),
2235 .ftu_mbi_itb_fail(ftu_mbi_itb_fail),
2236 .ftu_mbi_tlb_data_cmp(ftu_mbi_tlb_data_cmp),
2237 .ftu_mbi_tlb_used(ftu_mbi_tlb_used),
2238 .ftu_mbi_tlb_valid(ftu_mbi_tlb_valid),
2239 .ict_itlb_way_0_tag_f_rep0(ict_itlb_way_0_tag_f_rep0[28:0]),
2240 .ict_itlb_way_1_tag_f_rep0(ict_itlb_way_1_tag_f_rep0[28:0]),
2241 .ict_itlb_way_2_tag_f_rep0(ict_itlb_way_2_tag_f_rep0[28:0]),
2242 .ict_itlb_way_3_tag_f_rep0(ict_itlb_way_3_tag_f_rep0[28:0]),
2243 .ict_itlb_way_4_tag_f_rep0(ict_itlb_way_4_tag_f_rep0[28:0]),
2244 .ict_itlb_way_5_tag_f_rep0(ict_itlb_way_5_tag_f_rep0[28:0]),
2245 .ict_itlb_way_6_tag_f_rep0(ict_itlb_way_6_tag_f_rep0[28:0]),
2246 .ict_itlb_way_7_tag_f_rep0(ict_itlb_way_7_tag_f_rep0[28:0])
2247);
2248
2249
2250////////////////////////////////////////////////////////////
2251// parity error generation block //
2252////////////////////////////////////////////////////////////
2253ifu_ftu_err_dp ftu_err_dp (.ict_itlb_way_0_tag_f(ict_itlb_way_0_tag_f[29:0]),
2254 .ict_itlb_way_1_tag_f(ict_itlb_way_1_tag_f[29:0]),
2255 .ict_itlb_way_2_tag_f(ict_itlb_way_2_tag_f[29:0]),
2256 .ict_itlb_way_3_tag_f(ict_itlb_way_3_tag_f[29:0]),
2257 .ict_itlb_way_4_tag_f(ict_itlb_way_4_tag_f[29:0]),
2258 .ict_itlb_way_5_tag_f(ict_itlb_way_5_tag_f[29:0]),
2259 .ict_itlb_way_6_tag_f(ict_itlb_way_6_tag_f[29:0]),
2260 .ict_itlb_way_7_tag_f(ict_itlb_way_7_tag_f[29:0]),
2261 .err_w0_8b_parity_f(err_w0_8b_parity_f[3:0]),
2262 .err_w1_8b_parity_f(err_w1_8b_parity_f[3:0]),
2263 .err_w2_8b_parity_f(err_w2_8b_parity_f[3:0]),
2264 .err_w3_8b_parity_f(err_w3_8b_parity_f[3:0]),
2265 .err_w4_8b_parity_f(err_w4_8b_parity_f[3:0]),
2266 .err_w5_8b_parity_f(err_w5_8b_parity_f[3:0]),
2267 .err_w6_8b_parity_f(err_w6_8b_parity_f[3:0]),
2268 .err_w7_8b_parity_f(err_w7_8b_parity_f[3:0])
2269 );
2270
2271ifu_ftu_asi_ctl ftu_asi_ctl (
2272 .scan_in(ftu_asi_ctl_scanin),
2273 .scan_out(ftu_asi_ctl_scanout),
2274 .l2clk(l2clk),
2275 .rng_in_cdbus(in_rngl_cdbus),
2276 .tcu_scan_en(tcu_scan_en),
2277 .tcu_pce_ov(tcu_pce_ov),
2278 .spc_aclk(spc_aclk),
2279 .spc_bclk(spc_bclk),
2280 .ic_rd_data(ic_rd_data[32:0]),
2281 .tg_rd_data(tg_rd_data[29:0]),
2282 .it_rd_data(it_rd_data[63:0]),
2283 .agc_vl_data_c(agc_vl_data_c[1:0]),
2284 .ftp_asi_ic_rd_done(ftp_asi_ic_rd_done),
2285 .ftp_asi_ic_wr_done(ftp_asi_ic_wr_done),
2286 .ftp_asi_tg_rd_done(ftp_asi_tg_rd_done),
2287 .ftp_asi_tg_wr_done(ftp_asi_tg_wr_done),
2288 .ftp_asi_it_rd_done(ftp_asi_it_rd_done),
2289 .asi_wr_data(asi_wr_data[32:0]),
2290 .asi_ic_rd_req(asi_ic_rd_req),
2291 .asi_ic_wr_req(asi_ic_wr_req),
2292 .asi_tg_rd_req(asi_tg_rd_req),
2293 .asi_tg_wr_req(asi_tg_wr_req),
2294 .asi_itd_rd_req(asi_itd_rd_req),
2295 .asi_itt_rd_req(asi_itt_rd_req),
2296 .asi_ith_det_req(asi_ith_det_req),
2297 .asi_wr_request(asi_wr_request),
2298 .asi_rd_request(asi_rd_request),
2299 .asi_addr_bf(asi_addr_bf[39:3]),
2300 .asi_way_bf(asi_way_bf[2:0]),
2301 .asi_tid(asi_tid[2:0]),
2302 .ifu_rngl_cdbus(ifu_rngl_cdbus[64:0]));
2303
2304
2305// fixscan start:
2306assign ftu_agd_dp_scanin = scan_in ;
2307assign ftu_ctx_dp_scanin = ftu_agd_dp_scanout ;
2308assign ftu_agc_ctl_scanin = ftu_ctx_dp_scanout ;
2309assign ftu_cms_ctl_scanin = ftu_agc_ctl_scanout ;
2310assign ftu_icd_cust_scanin = ftu_cms_ctl_scanout ;
2311assign hdr_scanin = ftu_icd_cust_scanout ;
2312assign ftu_ict_cust_scanin = hdr_scanout ;
2313assign ftu_icv_cust_scanin = ftu_ict_cust_scanout ;
2314assign ftu_itb_cust_scanin = ftu_icv_cust_scanout ;
2315assign ftu_itc_ctl_scanin = ftu_itb_cust_scanout ;
2316assign ftu_itd_dp_scanin = ftu_itc_ctl_scanout ;
2317assign ftu_ftp_ctl_scanin = ftu_itd_dp_scanout ;
2318assign ftu_tfc_ctl_scanin = ftu_ftp_ctl_scanout ;
2319assign ftu_byp_dp_scanin = ftu_tfc_ctl_scanout ;
2320assign ftu_asi_ctl_scanin = ftu_byp_dp_scanout ;
2321assign scan_out = ftu_asi_ctl_scanout ;
2322
2323assign ftu_ctx_dp_wmr_scanin = wmr_scan_in ;
2324assign wmr_scan_out = ftu_ctx_dp_wmr_scanout ;
2325// fixscan end:
2326endmodule
2327