Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / spc / tlu / rtl / tlu.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: tlu.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 ============================================
35module tlu (
36 l2clk,
37 scan_in,
38 tcu_pce_ov,
39 spc_aclk,
40 spc_bclk,
41 tcu_scan_en,
42 tcu_dectest,
43 tcu_muxtest,
44 tcu_array_wr_inhibit,
45 tcu_se_scancollar_in,
46 hver_mask_minor_rev,
47 spc_aclk_wmr,
48 lb_scan_en_wmr,
49 wmr_scan_in,
50 tcu_wmr_vec_mask,
51 cmp_tick_enable,
52 lsu_asi_clken,
53 lsu_tlu_pmen,
54 mbi_tsa0_write_en,
55 mbi_tsa1_write_en,
56 mbi_tca_write_en,
57 mbi_addr,
58 mbi_run,
59 mbi_wdata,
60 mbi_tsa0_read_en,
61 mbi_tsa1_read_en,
62 mbi_tca_read_en,
63 mbi_tlu_cmpsel,
64 tcu_shscan_pce_ov,
65 tcu_shscan_clk_stop,
66 tcu_shscan_aclk,
67 tcu_shscan_bclk,
68 tcu_shscan_scan_in,
69 tcu_shscan_scan_en,
70 tcu_shscanid,
71 tcu_core_running,
72 tcu_ss_mode,
73 tcu_do_mode,
74 tcu_ss_request,
75 ftu_ifu_quiesce,
76 pku_quiesce,
77 ftu_excp_way_d,
78 ftu_excp_tid_d,
79 ftu_excp_way_valid_d,
80 dec_inst0_cnt,
81 dec_inst1_cnt,
82 dec_raw_pick_p,
83 dec_tid0_m,
84 dec_tid1_m,
85 dec_inst_valid_m,
86 dec_lsu_inst_m,
87 dec_fgu_inst_m,
88 dec_illegal_inst_m,
89 dec_exc0_m,
90 dec_exc1_m,
91 dec_done_inst_m,
92 dec_retry_inst_m,
93 dec_sir_inst_m,
94 dec_hpriv_exc_m,
95 dec_priv_exc_m,
96 dec_fpdisable_exc_m,
97 dec_br_taken_m,
98 dec_annul_ds_m,
99 dec_ds_m,
100 dec_icache_perr_m,
101 dec_cti_inst_m,
102 dec_flush_b,
103 exu_ibp_m,
104 exu_tcc_m,
105 exu_tof_m,
106 exu_cecc_m,
107 exu_uecc_m,
108 exu0_ecc_addr_m,
109 exu1_ecc_addr_m,
110 exu0_ecc_check_m,
111 exu1_ecc_check_m,
112 exu_oor_va_m,
113 exu_misalign_m,
114 exu_spill_b,
115 exu_fill_m,
116 exu_normal_b,
117 exu_cleanwin_b,
118 exu0_wstate_b,
119 exu1_wstate_b,
120 exu0_ccr0,
121 exu0_ccr1,
122 exu0_ccr2,
123 exu0_ccr3,
124 exu1_ccr0,
125 exu1_ccr1,
126 exu1_ccr2,
127 exu1_ccr3,
128 exu0_cwp0,
129 exu0_cwp1,
130 exu0_cwp2,
131 exu0_cwp3,
132 exu1_cwp0,
133 exu1_cwp1,
134 exu1_cwp2,
135 exu1_cwp3,
136 exu0_trap_number_b,
137 exu1_trap_number_b,
138 exu_tlu_window_block,
139 exu_address0_e,
140 exu_address1_e,
141 lsu_lddf_align_b,
142 lsu_stdf_align_b,
143 lsu_illegal_inst_b,
144 lsu_daccess_prot_b,
145 lsu_priv_action_b,
146 lsu_va_watchpoint_b,
147 lsu_pa_watchpoint_b,
148 lsu_align_b,
149 lsu_tlb_miss_b_,
150 lsu_dae_invalid_asi_b,
151 lsu_dae_nc_page_b,
152 lsu_dae_nfo_page_b,
153 lsu_dae_priv_viol_b,
154 lsu_dae_so_page,
155 lsu_priv_action_g,
156 lsu_tid_g,
157 lsu_trap_flush,
158 lsu_tlb_bypass_b,
159 lsu_tlb_real_b,
160 lsu_sync_inst_b,
161 lsu_stb_empty,
162 lsu_tlu_twocycle_m,
163 lsu_block_store_b,
164 lsu_dcmh_err_g,
165 lsu_dcvp_err_g,
166 lsu_dctp_err_g,
167 lsu_dcdp_err_g,
168 lsu_dcl2c_err_g,
169 lsu_dcl2u_err_g,
170 lsu_dcl2nd_err_g,
171 lsu_dcsoc_err_g,
172 lsu_dcerr_tid_g,
173 lsu_dcerr_sfar_g,
174 lsu_sbdlc_err_g,
175 lsu_sbdlu_err_g,
176 lsu_sbdpc_err_g,
177 lsu_sbdpu_err_g,
178 lsu_sbapp_err_g,
179 lsu_sbdiou_err_g,
180 lsu_stberr_tid_g,
181 lsu_stberr_index_g,
182 lsu_stberr_priv_g,
183 lsu_stb_flush_g,
184 lsu_dttp_err_b,
185 lsu_dtdp_err_b,
186 lsu_dtmh_err_b,
187 lsu_perfmon_trap_b,
188 lsu_perfmon_trap_g,
189 lsu_va_b,
190 lsu_ext_interrupt,
191 lsu_ext_int_type,
192 lsu_ext_int_vec,
193 lsu_ext_int_tid,
194 l15_spc_data1,
195 l15_spc_cpkt,
196 l15_spc_valid,
197 lsu_asi_error_inject,
198 lsu_rngf_cdbus,
199 fgu_pdist_beat2_fx1,
200 fgu_predict_fx2,
201 fgu_cecc_fx2,
202 fgu_uecc_fx2,
203 fgu_ecc_addr_fx2,
204 fgu_ecc_check_fx2,
205 fgu_fpx_ieee_trap_fw,
206 fgu_fpd_ieee_trap_fw,
207 fgu_fpx_unfin_fw,
208 fgu_fpx_trap_tid_fw,
209 fgu_fpd_unfin_fw,
210 fgu_fpd_idiv0_trap_fw,
211 fgu_fpd_trap_tid_fw,
212 mmu_hw_tw_enable,
213 mmu_write_itlb,
214 mmu_reload_done,
215 mmu_i_unauth_access,
216 mmu_i_tsb_miss,
217 mmu_d_tsb_miss,
218 mmu_i_tte_outofrange,
219 mmu_d_tte_outofrange,
220 mmu_itte_tag_data,
221 mmu_asi_data,
222 mmu_asi_read,
223 mmu_dae_req,
224 mmu_dae_tid,
225 mmu_asi_cecc,
226 mmu_asi_uecc,
227 mmu_asi_tid,
228 mmu_asi_index,
229 mmu_asi_mra_not_sca,
230 mmu_i_l2cerr,
231 mmu_d_l2cerr,
232 mmu_i_eccerr,
233 mmu_d_eccerr,
234 mmu_thr0_err_type,
235 mmu_thr1_err_type,
236 mmu_thr2_err_type,
237 mmu_thr3_err_type,
238 mmu_thr4_err_type,
239 mmu_thr5_err_type,
240 mmu_thr6_err_type,
241 mmu_thr7_err_type,
242 mmu_thr0_err_index,
243 mmu_thr1_err_index,
244 mmu_thr2_err_index,
245 mmu_thr3_err_index,
246 mmu_thr4_err_index,
247 mmu_thr5_err_index,
248 mmu_thr6_err_index,
249 mmu_thr7_err_index,
250 spu_pmu_ma_busy,
251 spu_tlu_cwq_busy,
252 spu_tlu_mamu_err_req,
253 spu_tlu_ma_int_req,
254 spu_tlu_cwq_int_req,
255 spu_tlu_l2_error,
256 pmu_tlu_trap_m,
257 pmu_tlu_debug_event,
258 scan_out,
259 wmr_scan_out,
260 spc_shscan_scan_out,
261 tlu_core_running_status,
262 tlu_ss_complete,
263 tlu_hardstop_request,
264 tlu_softstop_request,
265 tlu_trigger_pulse,
266 tlu_dbg_instr_cmt_grp0,
267 tlu_dbg_instr_cmt_grp1,
268 tlu_flush_ifu,
269 tlu_window_block,
270 tlu_retry_state,
271 tlu_halted,
272 tlu_pc_0_d,
273 tlu_pc_1_d,
274 tlu_flush_exu_b,
275 tlu_ccr_0,
276 tlu_ccr_1,
277 tlu_cwp_0,
278 tlu_cwp_1,
279 tlu_ccr_cwp_0_valid,
280 tlu_ccr_cwp_1_valid,
281 tlu_ccr_cwp_0_tid,
282 tlu_ccr_cwp_1_tid,
283 tlu_gl0,
284 tlu_gl1,
285 tlu_gl2,
286 tlu_gl3,
287 tlu_gl4,
288 tlu_gl5,
289 tlu_gl6,
290 tlu_gl7,
291 tlu_itlb_bypass_e,
292 tlu_flush_lsu_b,
293 tlu_flush_fgu_b,
294 tlu_trap_pc_0,
295 tlu_trap_pc_0_valid,
296 tlu_trap_0_tid,
297 tlu_trap_pc_1,
298 tlu_trap_pc_1_valid,
299 tlu_trap_1_tid,
300 tlu_retry,
301 tlu_ifu_invalidate,
302 tlu_itlb_reload,
303 tlu_itlb_bypass,
304 tlu_release_tte,
305 tlu_rngf_cdbus,
306 tlu_rngf_cdbus_error,
307 tlu_asi_0,
308 tlu_asi_1,
309 tlu_asi_0_valid,
310 tlu_asi_1_valid,
311 tlu_asi_0_tid,
312 tlu_asi_1_tid,
313 tlu_tl_gt_0,
314 tlu_lsu_clear_ctl_reg_,
315 tlu_load_i_tag_access_p,
316 tlu_load_i_tag_access_n,
317 tlu_load_d_tag_access,
318 tlu_load_d_tag_access_r,
319 tlu_npc_w,
320 tlu_pc_0_w,
321 tlu_pc_1_w,
322 tlu_iht_request,
323 tlu_dht_request,
324 tlu_mmu_tl_gt_0,
325 tlu_flush_pmu_b,
326 tlu_flush_pmu_w,
327 tlu_pmu_trap_taken,
328 tlu_pmu_trap_mask_e,
329 tlu_lsu_hpstate_hpriv,
330 tlu_lsu_pstate_priv,
331 tlu_ifu_hpstate_hpriv,
332 tlu_ifu_pstate_priv,
333 tlu_pmu_hpstate_hpriv,
334 tlu_pmu_pstate_priv,
335 tlu_dec_hpstate_hpriv,
336 tlu_dec_pstate_priv,
337 tlu_dec_pstate_pef,
338 tlu_pstate_cle,
339 tlu_pstate_am,
340 tlu_cerer_ittp,
341 tlu_cerer_itdp,
342 tlu_cerer_ittm,
343 tlu_cerer_hwtwmu,
344 tlu_cerer_hwtwl2,
345 tlu_cerer_icl2c,
346 tlu_cerer_icl2u,
347 tlu_cerer_icl2nd,
348 tlu_cerer_irf,
349 tlu_cerer_frf,
350 tlu_cerer_dttp,
351 tlu_cerer_dttm,
352 tlu_cerer_dtdp,
353 tlu_cerer_dcl2c,
354 tlu_cerer_dcl2u,
355 tlu_cerer_dcl2nd,
356 tlu_cerer_sbdlc,
357 tlu_cerer_sbdlu,
358 tlu_cerer_mrau,
359 tlu_cerer_scac,
360 tlu_cerer_scau,
361 tlu_cerer_sbapp,
362 tlu_cerer_l2c_socc,
363 tlu_cerer_l2u_socu,
364 tlu_cerer_icvp,
365 tlu_cerer_ictp,
366 tlu_cerer_ictm,
367 tlu_cerer_icdp,
368 tlu_cerer_dcvp,
369 tlu_cerer_dctp,
370 tlu_cerer_dctm,
371 tlu_cerer_dcdp,
372 tlu_cerer_sbdpc,
373 tlu_cerer_sbdpu,
374 tlu_cerer_mamu,
375 tlu_cerer_mal2c,
376 tlu_cerer_mal2u,
377 tlu_cerer_mal2nd,
378 tlu_cerer_cwql2c,
379 tlu_cerer_cwql2u,
380 tlu_cerer_cwql2nd,
381 tlu_cerer_sbdiou,
382 tlu_ceter_pscce,
383 tlu_tag_access_tid_0_b,
384 tlu_i_tag_access_0_b,
385 tlu_d_tag_access_0_b,
386 tlu_tag_access_tid_1_b,
387 tlu_i_tag_access_1_b,
388 tlu_d_tag_access_1_b,
389 tlu_mbi_tsa0_fail,
390 tlu_mbi_tsa1_fail,
391 tlu_mbi_tca_fail,
392 tlu_spec_enable);
393wire [30:8] error_inject_unused;
394wire rd_pce;
395wire wr_pce;
396wire bist_clk_mux_sel;
397wire tcu_scan_en_wmr;
398wire fls0_wmr_scanin;
399wire fls0_wmr_scanout;
400wire fls0_scanin;
401wire fls0_scanout;
402wire trl0_shscanid_2;
403wire [1:0] trl0_shscanid;
404wire [7:0] cxi_xir;
405wire [7:0] cxi_ivt;
406wire [7:0] asi_spec_enable;
407wire [7:0] asi_immu_enable;
408wire [7:0] asi_irl_cleared;
409wire [7:0] asi_halt;
410wire [7:0] asi_clear_spu_trap_req;
411wire [7:0] tel_tsacu_exc;
412wire [1:0] pct0_iaw_exc_e;
413wire [3:2] pct_npc_0_w;
414wire [3:2] pct_npc_1_w;
415wire [3:2] pct_npc_2_w;
416wire [3:2] pct_npc_3_w;
417wire [1:0] pct_pc_oor_va_e;
418wire [7:0] trl_tl_eq_0;
419wire [7:0] trl_pil_mask_15;
420wire [7:0] trl_iln_exc;
421wire [7:0] trl_hstick_match;
422wire [7:0] trl_unhalt_;
423wire [7:0] trl_tlz_exc;
424wire [7:0] trl_nns_exc;
425wire [7:0] trl_ssc_exc;
426wire [7:0] trl_invalidate_pc;
427wire [7:0] trl_invalidate_npc;
428wire [7:0] trl_pc_sel_trap_pc;
429wire [7:0] trl_fls_npc_en;
430wire [7:0] trl_trap_taken;
431wire trl0_take_sma;
432wire trl0_take_cwq;
433wire trl0_take_xir;
434wire trl0_take_ftt;
435wire [7:0] trl_core_running_status;
436wire [4:0] trl0_tsa_wr_addr;
437wire [7:0] tlu_ceter_de;
438wire [7:0] tlu_ceter_dhcce;
439wire [7:0] tsd_hpstate_ibe;
440wire [7:0] tsd_hpstate_hpriv;
441wire [7:0] tsd_hpstate_red;
442wire [7:0] tsd_pstate_tct;
443wire [7:0] tsd_pstate_priv;
444wire [7:0] tsd_pstate_ie;
445wire [7:0] tsd_pstate_am;
446wire [7:0] tsd_itlb_bypass;
447wire tsd0_mrqr_exc_;
448wire tsd0_dqr_exc_;
449wire [7:0] asi_check_qr_exc;
450wire [7:0] dfd_fls_desr_f;
451wire [7:0] dfd_fls_desr_s;
452wire [7:0] ras_precise_error;
453wire [7:0] ras_disrupting_error;
454wire [7:0] ras_deferred_error;
455wire fls0_spc_hardstop_request;
456wire fls0_spc_softstop_request;
457wire fls0_spc_trigger_pulse;
458wire tlu_flush_lsu_b_unused;
459wire tlu_flush_fgu_b_unused;
460wire fls0_flush_lsu_b;
461wire fls0_flush_fgu_b;
462wire [1:0] fls0_tid_d;
463wire [3:0] fls0_tid_dec_b;
464wire [3:0] fls0_tid_dec_w;
465wire [7:0] fls_pc_sel_npc;
466wire [7:0] fls_pc_sel_npc_plus_4;
467wire [7:0] fls_npc_sel_npc_plus_4;
468wire [7:0] fls_npc_sel_npc_plus_8;
469wire [7:0] fls_npc_sel_target;
470wire fls0_npc_b_sel_npc;
471wire fls0_pc_is_npc;
472wire [1:0] fls_pstate_am_d_;
473wire [1:0] fls_pstate_am_b_;
474wire [1:0] fls_pstate_am_w_;
475wire fls0_lsu_inst_w_unused;
476wire fls0_dfd_lsu_inst_b;
477wire [2:0] fls_wstate0;
478wire [2:0] fls_wstate1;
479wire [2:0] fls_wstate2;
480wire [2:0] fls_wstate3;
481wire [7:0] fls_tcc_number_0;
482wire [7:0] fls_tcc_number_1;
483wire [7:0] fls_tcc_number_2;
484wire [7:0] fls_tcc_number_3;
485wire [7:0] fls_tid_dec_w_in;
486wire [7:0] fls_por_request;
487wire [7:0] fls_xir_request;
488wire [7:0] fls_ivt_request;
489wire [7:0] fls_sir_request;
490wire [7:0] fls_itm_request;
491wire [7:0] fls_iln_request;
492wire [7:0] fls_hst_request;
493wire [7:0] fls_tlz_request;
494wire [7:0] fls_sma_request;
495wire [7:0] fls_cwq_request;
496wire [7:0] fls_ade_request;
497wire [7:0] fls_iae_request;
498wire [7:0] fls_ipe_request;
499wire [1:0] fls_ipv_request;
500wire [1:0] fls_inp_request;
501wire [1:0] fls_iar_request;
502wire [1:0] fls_irr_request;
503wire [1:0] fls_mar_request;
504wire [1:0] fls_mrr_request;
505wire [1:0] fls_pro_request;
506wire [1:0] fls_ill_request;
507wire [1:0] fls_don_request;
508wire [1:0] fls_ret_request;
509wire [1:0] fls_fpd_request;
510wire [1:0] fls_snn_request;
511wire [1:0] fls_sno_request;
512wire [1:0] fls_fnn_request;
513wire [1:0] fls_fno_request;
514wire [1:0] fls_clw_request;
515wire [7:0] fls_dtm_request;
516wire [1:0] fls_ldf_request;
517wire [1:0] fls_stf_request;
518wire [1:0] fls_dap_request;
519wire [1:0] fls_vaw_request;
520wire [1:0] fls_iaw_request;
521wire [1:0] fls_paw_request;
522wire [1:0] fls_maa_request;
523wire [1:0] fls_fpe_request;
524wire [7:0] fls_fei_request;
525wire [7:0] fls_fof_request;
526wire [7:0] fls_pra_request;
527wire [1:0] fls_dia_request;
528wire [7:0] fls_ups_request;
529wire [1:0] fls_dpv_request;
530wire [1:0] fls_dnc_request;
531wire [1:0] fls_dnf_request;
532wire [1:0] fls_dso_request;
533wire [1:0] fls_tof_request;
534wire [7:0] fls_dbz_request;
535wire [1:0] fls_tcc_request;
536wire [7:0] fls_dae_request;
537wire [7:0] fls_lsr_request;
538wire [1:0] fls_irt_request;
539wire [1:0] fls_drt_request;
540wire [7:0] fls_pmu_request;
541wire [7:0] fls_mqr_request;
542wire [7:0] fls_dqr_request;
543wire [7:0] fls_rqr_request;
544wire [7:0] fls_idl_request;
545wire [7:0] fls_res_request;
546wire [7:0] fls_ssr_request;
547wire [7:0] fls_ssc_request;
548wire [7:0] fls_nns_request;
549wire [7:0] fls_ime_request;
550wire [7:0] fls_dme_request;
551wire [7:0] fls_eer_request;
552wire [1:0] fls_icp_request;
553wire [7:0] fls_ftt_request;
554wire [1:0] fls_ibp_request;
555wire [1:0] fls_tct_request;
556wire [1:0] fls_ref_request;
557wire [1:0] fls_ipe_dme_request;
558wire [7:0] fls_pc_valid;
559wire [7:0] fls_load_dsfar;
560wire [1:0] fls_irf_cecc_b;
561wire [1:0] fls_irf_uecc_b;
562wire [1:0] fls_kill_irf_ecc_w;
563wire [2:0] fls0_cwp0;
564wire [2:0] fls0_cwp1;
565wire [2:0] fls0_cwp2;
566wire [2:0] fls0_cwp3;
567wire [7:0] fls_core_running;
568wire fls_ss_request;
569wire [7:0] fls_pct_pc_en;
570wire [7:0] fls_pct_npc_en;
571wire [7:0] fls_trl_l1en;
572wire [4:2] fls0_npc_if_cnt_eq_1_d;
573wire [4:2] fls0_npc_if_cnt_eq_2_d;
574wire [4:2] fls0_npc_if_cnt_eq_3_d;
575wire [7:0] fls_flush;
576wire [1:0] fls_disrupting_flush_w;
577wire fls_f_cecc_w;
578wire fls_f_uecc_w;
579wire [1:0] fls_ss_update_pc_w;
580wire fls1_wmr_scanin;
581wire fls1_wmr_scanout;
582wire fls1_scanin;
583wire fls1_scanout;
584wire trl1_shscanid_2;
585wire [1:0] trl1_shscanid;
586wire [1:0] pct1_iaw_exc_e;
587wire [3:2] pct_npc_4_w;
588wire [3:2] pct_npc_5_w;
589wire [3:2] pct_npc_6_w;
590wire [3:2] pct_npc_7_w;
591wire trl1_take_sma;
592wire trl1_take_cwq;
593wire trl1_take_xir;
594wire trl1_take_ftt;
595wire [4:0] trl1_tsa_wr_addr;
596wire tsd1_mrqr_exc_;
597wire tsd1_dqr_exc_;
598wire fls1_spc_hardstop_request;
599wire fls1_spc_softstop_request;
600wire fls1_spc_trigger_pulse;
601wire fls1_flush_lsu_b_unused;
602wire fls1_flush_fgu_b_unused;
603wire [1:0] fls1_tid_d;
604wire [3:0] fls1_tid_dec_b;
605wire [3:0] fls1_tid_dec_w;
606wire fls1_npc_b_sel_npc;
607wire fls1_pc_is_npc;
608wire fls1_lsu_inst_w;
609wire fls1_dfd_lsu_inst_b;
610wire [2:0] fls_wstate4;
611wire [2:0] fls_wstate5;
612wire [2:0] fls_wstate6;
613wire [2:0] fls_wstate7;
614wire [7:0] fls_tcc_number_4;
615wire [7:0] fls_tcc_number_5;
616wire [7:0] fls_tcc_number_6;
617wire [7:0] fls_tcc_number_7;
618wire [2:0] fls1_cwp0;
619wire [2:0] fls1_cwp1;
620wire [2:0] fls1_cwp2;
621wire [2:0] fls1_cwp3;
622wire fls_ss_request_unused;
623wire [4:2] fls1_npc_if_cnt_eq_1_d;
624wire [4:2] fls1_npc_if_cnt_eq_2_d;
625wire [4:2] fls1_npc_if_cnt_eq_3_d;
626wire fls_f_cecc_w_unused;
627wire fls_f_uecc_w_unused;
628wire pct0_wmr_scanin;
629wire pct0_wmr_scanout;
630wire pct0_scanin;
631wire pct0_scanout;
632wire [47:2] tic_exu_address0_m;
633wire [7:0] asi_rd_pc;
634wire [1:0] asi_wr_iaw;
635wire [63:0] asi_wr_data_0;
636wire [7:0] trl_npc_sel_trap_npc;
637wire [7:0] trl_npc_sel_tnpc;
638wire [8:0] trl0_trap_type;
639wire [3:0] trl0_pc_thread_sel;
640wire [1:0] trl_pc_pstate_am_;
641wire [1:0] trl_pc_sel_pc;
642wire [1:0] trl_pc_sel_npc;
643wire [1:0] trl_pc_sel_trap;
644wire [1:0] trl_pc_sel_reset;
645wire [1:0] trl_pc_done;
646wire [1:0] trl_pc_retry;
647wire [1:0] trl_pc_tte;
648wire [1:0] trl_pct_trap_pc_en;
649wire [1:0] trl_pct_tnpc_en;
650wire [47:14] tsd0_tba;
651wire [47:2] tsd0_tpc;
652wire [1:0] tsd_tpc_oor_va;
653wire [47:2] tsd0_tnpc;
654wire [1:0] tsd_tnpc_oor_va;
655wire [1:0] tsd_tnpc_nonseq;
656wire [47:2] tsd0_asi_data_;
657wire [48:2] pct0_asi_data;
658wire [47:2] pct0_tsa_pc;
659wire [1:0] pct_tsa_pc_oor_va;
660wire [47:2] pct0_tsa_npc;
661wire [1:0] pct_tsa_npc_oor_va;
662wire [1:0] pct_tsa_npc_nonseq;
663wire [7:0] pct_npc_is_nonseq;
664wire [47:2] pct0_shadow_pc_d;
665wire [47:2] pct0_npc_w;
666wire [47:2] pct0_target_b;
667wire [16:0] pct0_trl_wr_data;
668wire [10:5] tsd_pc_0_w;
669wire [47:2] tlu_pc_0_prebuf_d;
670wire pct1_wmr_scanin;
671wire pct1_wmr_scanout;
672wire pct1_scanin;
673wire pct1_scanout;
674wire [47:2] tic_exu_address1_m;
675wire [62:0] asi_wr_data_1;
676wire [8:0] trl1_trap_type;
677wire [3:0] trl1_pc_thread_sel;
678wire [47:14] tsd1_tba;
679wire [47:2] tsd1_tpc;
680wire [47:2] tsd1_tnpc;
681wire [47:2] tsd1_asi_data_;
682wire [48:2] pct1_asi_data;
683wire [47:2] pct1_tsa_pc;
684wire [47:2] pct1_tsa_npc;
685wire [47:2] pct1_shadow_pc_d;
686wire [47:2] pct1_npc_w;
687wire [47:2] pct1_target_b;
688wire [16:0] pct1_trl_wr_data;
689wire [10:5] tsd_pc_1_w;
690wire cxi_scanin;
691wire cxi_scanout;
692wire [13:1] l15_spc_cpkt_unused;
693wire [13:6] l15_spc_data1_unused;
694wire cth_wmr_scanin;
695wire cth_wmr_scanout;
696wire cth_scanin;
697wire cth_scanout;
698wire trl0_wmr_scanin;
699wire trl0_wmr_scanout;
700wire trl0_scanin;
701wire trl0_scanout;
702wire trl1_itw_last;
703wire [1:0] tsa0_gl;
704wire [1:0] tsa_tnpc_nonseq;
705wire [7:0] tsd_hpstate_tlz;
706wire [1:0] tsd_htstate_hpriv;
707wire [7:0] asi_rd_tl;
708wire [7:0] asi_wr_tl;
709wire [7:0] asi_rd_pil;
710wire [7:0] asi_wr_pil;
711wire [7:0] asi_rd_gl;
712wire [7:0] asi_wr_gl;
713wire [7:0] asi_wr_set_softint;
714wire [7:0] asi_wr_clear_softint;
715wire [7:0] asi_rd_softint;
716wire [7:0] asi_wr_softint;
717wire [7:0] asi_rd_hintp;
718wire [7:0] asi_wr_hintp;
719wire [1:0] asi_preempt_trap;
720wire [1:0] asi_preempt_done_retry;
721wire [1:0] asi_rmw_tsa;
722wire [7:0] asi_wr_asireg;
723wire [1:0] asi_trl_pstate_en;
724wire [1:0] asi_mbist_tsa_rd_en;
725wire [1:0] asi_mbist_tsa_wr_en;
726wire [8:0] trl0_tsa_trap_type;
727wire [4:0] trl0_asireg_sel;
728wire trl0_asireg_en;
729wire [3:0] trl0_thread_sel;
730wire [2:0] trl0_tba_sel;
731wire [4:0] trl0_pstate_thread_sel;
732wire [3:0] trl0_don_ret_pstate_sel;
733wire trl0_pstate_en;
734wire [1:0] trl_reset_trap;
735wire [1:0] trl_other_trap;
736wire [1:0] trl_stay_in_priv;
737wire [1:0] trl_tsa_wr_en_pre;
738wire [1:0] trl_tsa_rd_en;
739wire [4:0] trl0_tsa_rd_addr;
740wire trl0_save_tsa;
741wire trl0_tsd_tsa_en;
742wire trl0_tsd_tsa_wd_en;
743wire trl0_capture_ss;
744wire trl0_rmw_tsa;
745wire [1:0] trl_tl_gt_0;
746wire [1:0] trl0_tsa_gl;
747wire [16:0] trl0_asi_data;
748wire [7:0] trl_ss_complete;
749wire trl0_itw_wait;
750wire trl0_itw_last;
751wire [2:0] trl0_shadow_tl;
752wire [2:0] trl0_tl_for_tt;
753wire [1:0] trl_tel_en;
754wire [1:0] trl_gl0;
755wire [1:0] trl_gl1;
756wire [1:0] trl_gl2;
757wire [1:0] trl_gl3;
758wire [7:0] trl_tsacu_en_in;
759wire [2:0] tlu_tsa_index_0;
760wire [7:0] tlu_tccd;
761wire [7:0] tlu_tcud;
762wire [1:0] tlu_tca_index_0;
763wire trl1_wmr_scanin;
764wire trl1_wmr_scanout;
765wire trl1_scanin;
766wire trl1_scanout;
767wire [1:0] tsa1_gl;
768wire [8:0] trl1_tsa_trap_type;
769wire [4:0] trl1_asireg_sel;
770wire trl1_asireg_en;
771wire [3:0] trl1_thread_sel;
772wire [2:0] trl1_tba_sel;
773wire [4:0] trl1_pstate_thread_sel;
774wire [3:0] trl1_don_ret_pstate_sel;
775wire trl1_pstate_en;
776wire [4:0] trl1_tsa_rd_addr;
777wire trl1_save_tsa;
778wire trl1_tsd_tsa_en;
779wire trl1_tsd_tsa_wd_en;
780wire trl1_capture_ss;
781wire trl1_rmw_tsa;
782wire [1:0] trl1_tsa_gl;
783wire [16:0] trl1_asi_data;
784wire trl1_itw_wait_unused;
785wire [2:0] trl1_shadow_tl;
786wire [2:0] trl1_tl_for_tt;
787wire [1:0] trl_gl4;
788wire [1:0] trl_gl5;
789wire [1:0] trl_gl6;
790wire [1:0] trl_gl7;
791wire [2:0] tlu_tsa_index_1;
792wire [1:0] tlu_tca_index_1;
793wire [135:0] teg0_data_in;
794wire [1:0] tsd_wr_tpc_oor_va;
795wire [1:0] tsd_wr_tnpc_oor_va;
796wire [1:0] tsd_wr_tnpc_nonseq;
797wire [1:0] tsd0_wr_gl;
798wire [29:0] tsd0_wr_data;
799wire [8:0] tsd0_wr_trap_type;
800wire [47:2] tsd0_wr_tpc;
801wire [47:2] tsd0_wr_tnpc;
802wire [15:0] teg0_ecc;
803wire asi_error_tsau;
804wire [7:0] asi_mbist_tsa_ecc_in;
805wire [15:0] tem0_ecc;
806wire tel0_scanin;
807wire tel0_scanout;
808wire [1:0] asi_mbist_tel_en;
809wire [15:0] tsa0_ecc;
810wire [15:0] ted0_syndrome;
811wire ted00_cecc_err;
812wire ted00_uecc_err;
813wire ted00_uecc_err_;
814wire ted01_cecc_err;
815wire ted01_uecc_err;
816wire ted01_uecc_err_;
817wire [15:0] tel0_syndrome;
818wire [15:0] tel0_ecc;
819wire [15:0] tel0_crit_ecc;
820wire tel0_tsac;
821wire tel0_tsau;
822wire [7:0] tlu_tsac;
823wire [7:0] tlu_tsau;
824wire [135:0] tsd0_ted_mra_rd_data;
825wire tlu_cerer_tsac;
826wire tlu_cerer_tsau;
827wire [1:0] asi_tsacu;
828wire [135:0] tsb0_data_out;
829wire [1:0] trl_tsa_wr_en;
830wire tsa0_scanin;
831wire tsa0_scanout;
832wire [1:0] tsa_tpc_oor_va;
833wire [1:0] tsa_tnpc_oor_va;
834wire [29:0] tsa0_rd_data;
835wire [8:0] tsa0_trap_type;
836wire [47:2] tsa0_tpc;
837wire [47:2] tsa0_tnpc;
838wire [135:0] teg1_data_in;
839wire [1:0] tsd1_wr_gl;
840wire [29:0] tsd1_wr_data;
841wire [8:0] tsd1_wr_trap_type;
842wire [47:2] tsd1_wr_tpc;
843wire [47:2] tsd1_wr_tnpc;
844wire [15:0] teg1_ecc;
845wire [15:0] tem1_ecc;
846wire tel1_scanin;
847wire tel1_scanout;
848wire [15:0] tsa1_ecc;
849wire [15:0] ted1_syndrome;
850wire ted10_cecc_err;
851wire ted10_uecc_err;
852wire ted10_uecc_err_;
853wire ted11_cecc_err;
854wire ted11_uecc_err;
855wire ted11_uecc_err_;
856wire [15:0] tel1_syndrome;
857wire [15:0] tel1_ecc;
858wire [15:0] tel1_crit_ecc;
859wire tel1_tsac;
860wire tel1_tsau;
861wire [135:0] tsd1_ted_mra_rd_data;
862wire [135:0] tsb1_data_out;
863wire tsa1_scanin;
864wire tsa1_scanout;
865wire [29:0] tsa1_rd_data;
866wire [8:0] tsa1_trap_type;
867wire [47:2] tsa1_tpc;
868wire [47:2] tsa1_tnpc;
869wire tsd0_wmr_scanin;
870wire tsd0_wmr_scanout;
871wire tsd0_scanin;
872wire tsd0_scanout;
873wire [1:0] asi_wr_mondo_head;
874wire [1:0] asi_wr_mondo_tail;
875wire [1:0] asi_wr_device_head;
876wire [1:0] asi_wr_device_tail;
877wire [1:0] asi_wr_res_err_head;
878wire [1:0] asi_wr_res_err_tail;
879wire [1:0] asi_wr_nonres_err_head;
880wire [1:0] asi_wr_nonres_err_tail;
881wire [1:0] asi_rd_iqr_reg;
882wire [1:0] asi_rd_tpc;
883wire [1:0] asi_wr_tpc;
884wire [1:0] asi_rd_tnpc;
885wire [1:0] asi_wr_tnpc;
886wire [1:0] asi_rd_tstate;
887wire [1:0] asi_wr_tstate;
888wire [1:0] asi_rd_tt;
889wire [1:0] asi_wr_tt;
890wire [1:0] asi_rd_htstate;
891wire [1:0] asi_wr_htstate;
892wire [7:0] asi_wr_tba;
893wire [7:0] asi_wr_pstate;
894wire [7:0] asi_wr_hpstate;
895wire [7:0] asi_wr_htba;
896wire [7:0] asi_rd_asireg;
897wire [1:0] asi_rd_tba_htba;
898wire [1:0] asi_rd_pstate_hpstate;
899wire asi_tsd0_wr_data_12;
900wire [10:8] asi_tsd0_wr_data_10_08;
901wire [5:0] asi_tsd0_wr_data_05_00;
902wire [1:0] tsd0_asi_data;
903wire [10:0] tsd0_shadow_pstate;
904wire [47:2] tsd0_shadow_tpc;
905wire [8:0] tsd0_shadow_tt;
906wire [31:0] tsd0_mbist_data;
907wire tsd1_wmr_scanin;
908wire tsd1_wmr_scanout;
909wire tsd1_scanin;
910wire tsd1_scanout;
911wire asi_tsd1_wr_data_12;
912wire [10:8] asi_tsd1_wr_data_10_08;
913wire [5:0] asi_tsd1_wr_data_05_00;
914wire [1:0] tsd1_asi_data;
915wire [10:0] tsd1_shadow_pstate;
916wire [47:2] tsd1_shadow_tpc;
917wire [8:0] tsd1_shadow_tt;
918wire [31:0] tsd1_mbist_data;
919wire asi_wmr_scanin;
920wire asi_wmr_scanout;
921wire asi_scanin;
922wire asi_scanout;
923wire tic_scanin;
924wire tic_scanout;
925wire tca_scanin;
926wire tca_scanout;
927wire [4:0] tic_cmpr_addr;
928wire tic_cmpr_rd_en;
929wire tic_cmpr_wr_en;
930wire [7:0] cem_ecc;
931wire asi_tca_wr_data_63;
932wire [7:0] tca_ecc;
933wire [63:0] tca_cmpr_data_in;
934wire cep_scanin;
935wire cep_scanout;
936wire [63:0] cep_wr_data;
937wire [7:0] ceg_ecc;
938wire asi_error_tccu;
939wire cel_scanin;
940wire cel_scanout;
941wire [63:0] tic_cmpr_data;
942wire [7:0] cel_crit_ecc;
943wire [7:0] ced_syndrome;
944wire ced_cecc_err;
945wire ced_uecc_err;
946wire ced_uecc_err__unused;
947wire cer_scanin;
948wire cer_scanout;
949wire ras_wmr_scanin;
950wire ras_wmr_scanout;
951wire ras_scanin;
952wire ras_scanout;
953wire [61:0] cth_wr_data;
954wire dfd_wmr_scanin;
955wire dfd_wmr_scanout;
956wire dfd_scanin;
957wire dfd_scanout;
958wire sse_scanin;
959wire sse_scanout;
960wire shscan_l2clk;
961wire asi_ece_exc;
962wire asi_eue_exc;
963wire [2:0] asi_ecc_tid;
964wire [63:46] asi_decr;
965wire asi_rd_iaw;
966wire [63:0] cth_irl_cleared;
967wire tlu_cerer_l2nd;
968wire [7:0] cxi_wr_int_dis;
969wire [5:0] cxi_int_dis_vec;
970wire cxi_l2_soc_sre;
971wire [1:0] cxi_l2_soc_err_type;
972wire [2:0] cxi_l2_soc_tid;
973wire cxi_l2_err;
974wire cxi_soc_err;
975wire [7:0] asi_wr_int_rec;
976wire [7:0] asi_rd_inc_vec_2;
977wire [2:0] asi_int_rec_mux_sel_in;
978wire asi_rd_int_rec;
979wire asi_rd_inc_vec;
980wire asi_wr_any_int_rec;
981wire asi_rd_stage_1;
982wire [47:0] dfd_asi_data;
983wire [18:0] dfd_asi_desr;
984wire [63:0] cth_asi_data;
985wire [4:0] tic_addr;
986wire tic_not_valid;
987wire tic_match;
988wire cel_tccd;
989wire cel_tcud;
990wire [4:0] asi_tsa_rd_addr;
991wire asi_tsa_rd_iqr_ecc;
992wire [1:0] asi_tsa_tid;
993wire [4:0] asi_mbist_addr;
994wire [7:0] asi_error_mask;
995wire asi_mbist_run;
996wire [2:0] asi_rd_iqr;
997wire [2:0] asi_rd_h_pstate_tba;
998wire [47:0] asi_tsa_wr_data;
999wire asi_tsa_wr_data_npc_oor_va;
1000wire asi_tsa_wr_data_npc_nonseq;
1001wire [7:0] asi_mbist_ecc_in;
1002wire [3:0] asi_mbist_cmpsel;
1003wire mbd_compare;
1004wire [63:0] tic_asi_data;
1005wire [7:0] cel_ecc;
1006wire [63:0] cer_asi_data;
1007wire cel_tccp;
1008wire cel_tcup;
1009wire [7:0] dfd_desr_f;
1010wire [7:0] dfd_fesr_f;
1011wire asi_rd_tick;
1012wire asi_wr_tick;
1013wire [4:0] asi_tca_addr;
1014wire asi_tca_addr_valid;
1015wire asi_tca_wr;
1016wire asi_rd_cerer;
1017wire asi_rd_ceter;
1018wire asi_wr_cerer;
1019wire [2:0] asi_ceter_tid;
1020wire asi_wr_ceter;
1021wire [2:0] asi_rd_tid;
1022wire asi_rd_isfsr;
1023wire asi_rd_dsfsr;
1024wire asi_rd_dsfar;
1025wire asi_rd_desr;
1026wire asi_rd_fesr;
1027wire [7:0] asi_wr_isfsr;
1028wire [7:0] asi_wr_dsfsr;
1029wire [7:0] asi_wr_dsfar;
1030wire asi_tsac;
1031wire asi_tsau;
1032wire [2:0] asi_tsacu_tid;
1033wire asi_stg1_en;
1034wire [7:0] asi_mbd_compare_data;
1035wire asi_mbd_sel_tsd0;
1036wire asi_mbd_sel_tsd1;
1037wire asi_mbd_sel_tic;
1038wire asi_tccup_in;
1039wire asi_tccud_in;
1040wire [2:0] tlu_tca_tid;
1041wire [1:0] tlu_tca_index;
1042wire [31:0] tic_mbist_data;
1043wire [1:0] tic_exu_address0_b;
1044wire [1:0] tic_exu_address1_b;
1045wire tlu_cerer_tccp;
1046wire tlu_cerer_tcup;
1047wire tlu_cerer_tccd;
1048wire tlu_cerer_tcud;
1049wire [7:0] cel_syndrome;
1050wire [7:0] dfd_desr_s;
1051wire [1:0] dfd_fesr_priv_0;
1052wire [1:0] dfd_fesr_priv_1;
1053wire [1:0] dfd_fesr_priv_2;
1054wire [1:0] dfd_fesr_priv_3;
1055wire [1:0] dfd_fesr_priv_4;
1056wire [1:0] dfd_fesr_priv_5;
1057wire [1:0] dfd_fesr_priv_6;
1058wire [1:0] dfd_fesr_priv_7;
1059wire [3:0] ras_asi_data;
1060wire [19:0] ras_dsfar_0;
1061wire [19:0] ras_dsfar_1;
1062wire [19:0] ras_dsfar_2;
1063wire [19:0] ras_dsfar_3;
1064wire [19:0] ras_dsfar_4;
1065wire [19:0] ras_dsfar_5;
1066wire [19:0] ras_dsfar_6;
1067wire [19:0] ras_dsfar_7;
1068wire [7:0] ras_dsfar_sel_lsu_va;
1069wire [7:0] ras_dsfar_sel_ras;
1070wire [7:0] ras_dsfar_sel_tsa;
1071wire [7:0] ras_rd_dsfar;
1072wire [61:56] ras_desr_et_0;
1073wire [61:56] ras_desr_et_1;
1074wire [61:56] ras_desr_et_2;
1075wire [61:56] ras_desr_et_3;
1076wire [61:56] ras_desr_et_4;
1077wire [61:56] ras_desr_et_5;
1078wire [61:56] ras_desr_et_6;
1079wire [61:56] ras_desr_et_7;
1080wire [10:0] ras_desr_ea_0;
1081wire [10:0] ras_desr_ea_1;
1082wire [10:0] ras_desr_ea_2;
1083wire [10:0] ras_desr_ea_3;
1084wire [10:0] ras_desr_ea_4;
1085wire [10:0] ras_desr_ea_5;
1086wire [10:0] ras_desr_ea_6;
1087wire [10:0] ras_desr_ea_7;
1088wire ras_desr_me_0;
1089wire ras_desr_me_1;
1090wire ras_desr_me_2;
1091wire ras_desr_me_3;
1092wire ras_desr_me_4;
1093wire ras_desr_me_5;
1094wire ras_desr_me_6;
1095wire ras_desr_me_7;
1096wire [7:0] ras_desr_en;
1097wire [7:0] ras_write_desr_1st;
1098wire [7:0] ras_write_desr_2nd;
1099wire [7:0] ras_rd_desr;
1100wire [61:60] ras_fesr_et_0;
1101wire [61:60] ras_fesr_et_1;
1102wire [61:60] ras_fesr_et_2;
1103wire [61:60] ras_fesr_et_3;
1104wire [61:60] ras_fesr_et_4;
1105wire [61:60] ras_fesr_et_5;
1106wire [61:60] ras_fesr_et_6;
1107wire [61:60] ras_fesr_et_7;
1108wire [59:55] ras_fesr_ea_0;
1109wire [59:55] ras_fesr_ea_1;
1110wire [59:55] ras_fesr_ea_2;
1111wire [59:55] ras_fesr_ea_3;
1112wire [59:55] ras_fesr_ea_4;
1113wire [59:55] ras_fesr_ea_5;
1114wire [59:55] ras_fesr_ea_6;
1115wire [59:55] ras_fesr_ea_7;
1116wire [7:0] ras_fesr_en;
1117wire [7:0] ras_write_fesr;
1118wire [59:58] ras_fesr_priv;
1119wire [7:0] ras_update_priv;
1120wire [7:0] ras_rd_fesr;
1121wire sse_shscan_clk_stop;
1122wire [47:2] sse_shadow_pc;
1123
1124
1125
1126
1127input l2clk;
1128input scan_in;
1129input tcu_pce_ov;
1130input spc_aclk;
1131input spc_bclk;
1132input tcu_scan_en;
1133input tcu_dectest;
1134input tcu_muxtest;
1135input tcu_array_wr_inhibit;
1136input tcu_se_scancollar_in;
1137
1138input [3:0] hver_mask_minor_rev; // Input to spc for easy metal change
1139
1140input spc_aclk_wmr; // Warm reset (non)scan
1141input lb_scan_en_wmr;
1142input wmr_scan_in;
1143
1144// RSTVADDR (POR address) control
1145input tcu_wmr_vec_mask;
1146
1147// TICK register enable
1148input cmp_tick_enable;
1149
1150input lsu_asi_clken; // Power management
1151input lsu_tlu_pmen; // Power management
1152
1153// MBIST
1154input mbi_tsa0_write_en; // MBIST write control
1155input mbi_tsa1_write_en; // MBIST write control
1156input mbi_tca_write_en; // MBIST write control
1157input [4:0] mbi_addr; // 32 entry addressability for MBIST
1158input mbi_run; // Select MBIST controls
1159input [7:0] mbi_wdata; // MBIST write data
1160input mbi_tsa0_read_en; // MBIST read control
1161input mbi_tsa1_read_en; // MBIST read control
1162input mbi_tca_read_en; // MBIST read control
1163input [3:0] mbi_tlu_cmpsel; // Mux (NPE) between 32 bit chunks
1164
1165input tcu_shscan_pce_ov; // Shadow scan controls
1166input tcu_shscan_clk_stop;
1167input tcu_shscan_aclk;
1168input tcu_shscan_bclk;
1169input tcu_shscan_scan_in;
1170input tcu_shscan_scan_en;
1171input [2:0] tcu_shscanid; // Select which thread to shadow
1172
1173input [7:0] tcu_core_running;
1174input tcu_ss_mode; // Core is in single step mode
1175input tcu_do_mode; // Core is in disable overlap mode
1176input tcu_ss_request; // Enabled threads should single step
1177
1178input [7:0] ftu_ifu_quiesce;
1179input [7:0] pku_quiesce;
1180
1181input [2:0] ftu_excp_way_d;
1182input [2:0] ftu_excp_tid_d;
1183input ftu_excp_way_valid_d;
1184
1185input [1:0] dec_inst0_cnt; // Count of instructions in E, M, B
1186input [1:0] dec_inst1_cnt; // Count of instructions in E, M, B
1187input [7:0] dec_raw_pick_p; // Decoded TID for instructions at P
1188input [1:0] dec_tid0_m; // TID for instruction in TG0 at M
1189input [1:0] dec_tid1_m; // TID for instruction in TG1 at M
1190input [1:0] dec_inst_valid_m; // Valid instruction
1191input [1:0] dec_lsu_inst_m; // LSU instruction
1192input [1:0] dec_fgu_inst_m; // FGU instruction
1193input [1:0] dec_illegal_inst_m; // Illegal instruction
1194input [4:0] dec_exc0_m; // Exceptions before the ibuffer
1195input [4:0] dec_exc1_m; // Exceptions before the ibuffer
1196input [1:0] dec_done_inst_m; // DONE
1197input [1:0] dec_retry_inst_m; // RETRY
1198input [1:0] dec_sir_inst_m; // Software initiated reset
1199input [1:0] dec_hpriv_exc_m; // Instruction has hyperprivilege exc
1200input [1:0] dec_priv_exc_m; // Instruction has privilege exc
1201input [1:0] dec_fpdisable_exc_m; // Floating-point disabled exception
1202input [1:0] dec_br_taken_m; // Branch in M is taken
1203input [1:0] dec_annul_ds_m; // Branch in M annuls delay slot
1204input [1:0] dec_ds_m; // Instruction is in a delay slot
1205input [1:0] dec_icache_perr_m; // Icache data array had parity error
1206input [1:0] dec_cti_inst_m;
1207input [1:0] dec_flush_b; // Flush instruction in B
1208
1209input [1:0] exu_ibp_m; // Instruction breakpoint
1210input [1:0] exu_tcc_m; // Trap on condition codes
1211input [1:0] exu_tof_m; // Tag overflow (TADccTV, TSUBccTV)
1212input [1:0] exu_cecc_m; // Correctable ECC error on source
1213input [1:0] exu_uecc_m; // Uncorrectable ECC error on source
1214input [4:0] exu0_ecc_addr_m; // Address for ECC error
1215input [4:0] exu1_ecc_addr_m; // Address for ECC error
1216input [7:0] exu0_ecc_check_m; // ECC bits
1217input [7:0] exu1_ecc_check_m; // ECC bits
1218input [1:0] exu_oor_va_m; // VA is out of range
1219input [1:0] exu_misalign_m; // Misaligned address for JMPL, RETURN
1220input [1:0] exu_spill_b;
1221input [1:0] exu_fill_m;
1222input [1:0] exu_normal_b;
1223input [1:0] exu_cleanwin_b;
1224input [2:0] exu0_wstate_b;
1225input [2:0] exu1_wstate_b;
1226input [7:0] exu0_ccr0;
1227input [7:0] exu0_ccr1;
1228input [7:0] exu0_ccr2;
1229input [7:0] exu0_ccr3;
1230input [7:0] exu1_ccr0;
1231input [7:0] exu1_ccr1;
1232input [7:0] exu1_ccr2;
1233input [7:0] exu1_ccr3;
1234input [2:0] exu0_cwp0;
1235input [2:0] exu0_cwp1;
1236input [2:0] exu0_cwp2;
1237input [2:0] exu0_cwp3;
1238input [2:0] exu1_cwp0;
1239input [2:0] exu1_cwp1;
1240input [2:0] exu1_cwp2;
1241input [2:0] exu1_cwp3;
1242input [7:0] exu0_trap_number_b; // Bits 7:0 of the ALU result
1243input [7:0] exu1_trap_number_b;
1244input [1:0] exu_tlu_window_block; // EXU needs hole for CWP change
1245input [47:0] exu_address0_e; // Target address for branch in TG0
1246input [47:0] exu_address1_e; // Target address for branch in TG1
1247
1248input lsu_lddf_align_b;
1249input lsu_stdf_align_b;
1250input lsu_illegal_inst_b;
1251input lsu_daccess_prot_b;
1252input lsu_priv_action_b;
1253input lsu_va_watchpoint_b;
1254input lsu_pa_watchpoint_b;
1255input lsu_align_b; // Alignment exception
1256input lsu_tlb_miss_b_; // TLB miss
1257input lsu_dae_invalid_asi_b;
1258input lsu_dae_nc_page_b;
1259input lsu_dae_nfo_page_b;
1260input lsu_dae_priv_viol_b;
1261input lsu_dae_so_page;
1262input lsu_priv_action_g;
1263input [2:0] lsu_tid_g; // TID for exceptions from G
1264input [7:0] lsu_trap_flush; // Flush thread and redirect to NPC
1265input lsu_tlb_bypass_b; // TLB in bypass mode
1266input lsu_tlb_real_b; // TLB doing RA->PA translation
1267input lsu_sync_inst_b; // Instruction will get a trap flush
1268input [7:0] lsu_stb_empty; // Store buffer empty (for entering RED)
1269input lsu_tlu_twocycle_m; // LSU takes extra cycle on this inst
1270input [7:0] lsu_block_store_b; // LSU reads FRF for block store
1271input lsu_dcmh_err_g; // LSU data cache multiple hit
1272input lsu_dcvp_err_g; // LSU data cache valid parity error
1273input lsu_dctp_err_g; // LSU data cache tag parity error
1274input lsu_dcdp_err_g; // LSU data cache parity error
1275input lsu_dcl2c_err_g; // LSU data cache L2 correctable ECC
1276input lsu_dcl2u_err_g; // LSU data cache L2 uncorrectable ECC
1277input lsu_dcl2nd_err_g; // LSU data cache L2 NotData
1278input lsu_dcsoc_err_g; // LSU data cache SOC error
1279input [2:0] lsu_dcerr_tid_g; // TID for G stage errors (above)
1280input [8:0] lsu_dcerr_sfar_g; // DSFAR data for data cache errors
1281input lsu_sbdlc_err_g; // STB RAW error (CE)
1282input lsu_sbdlu_err_g; // STB RAW error (UE)
1283input lsu_sbdpc_err_g; // STB read for issue data (CE)
1284input lsu_sbdpu_err_g; // STB read for issue data (UE)
1285input lsu_sbapp_err_g; // STB read for issue addr parity error
1286input lsu_sbdiou_err_g; // STB read for issue IO/ext ASI parity
1287input [2:0] lsu_stberr_tid_g; // TID of STB error
1288input [2:0] lsu_stberr_index_g; // Index of STB error
1289input [1:0] lsu_stberr_priv_g; // Privilege level for STB entry
1290input lsu_stb_flush_g; // STB entry flushed STB (capture priv)
1291input lsu_dttp_err_b; // DTLB tag parity error
1292input lsu_dtdp_err_b; // DTLB data parity error
1293input lsu_dtmh_err_b; // DTLB data parity error
1294input lsu_perfmon_trap_b; // Take pic_overflow on this instruction
1295input lsu_perfmon_trap_g; // Take pic_overflow on this instruction
1296input [47:0] lsu_va_b; // For DSFAR
1297input lsu_ext_interrupt; // Write to interrupt vector dispatch
1298input [1:0] lsu_ext_int_type; // Type for CPX packet
1299input [5:0] lsu_ext_int_vec; // Interrupt vector
1300input [2:0] lsu_ext_int_tid;
1301
1302input [15:0] l15_spc_data1; // Lowest 16 bits of return data from L2
1303input [17:0] l15_spc_cpkt; // Control part of cpx packet
1304 // NOTE: 17:13 == 144:140
1305 // 12 is always 1'b0
1306 // 11:0 == 139:128
1307input l15_spc_valid;
1308
1309input [31:0] lsu_asi_error_inject; // 31:Enb 22:TCCU 21:TSAU 7:0 ECCMASK
1310input [64:0] lsu_rngf_cdbus; // control/data bus from lsu
1311
1312
1313
1314input fgu_pdist_beat2_fx1; // Second part of PDIST in FX1
1315input fgu_predict_fx2; // Exception predicted
1316input fgu_cecc_fx2; // Correctable ECC Error on FRF
1317input fgu_uecc_fx2; // Uncorrectable ECC Error on FRF
1318input [5:0] fgu_ecc_addr_fx2; // Address for ECC error
1319input [13:0] fgu_ecc_check_fx2; // ECC bits
1320input fgu_fpx_ieee_trap_fw; // IEEE 754 trap exception
1321input fgu_fpd_ieee_trap_fw; // IEEE 754 trap exception
1322input fgu_fpx_unfin_fw; // Other FGU exception
1323input [2:0] fgu_fpx_trap_tid_fw; // TID for FGU exceptions other than div
1324input fgu_fpd_unfin_fw; // Other divide exception
1325input fgu_fpd_idiv0_trap_fw;
1326input [2:0] fgu_fpd_trap_tid_fw; // TID for divide exception
1327
1328input [7:0] mmu_hw_tw_enable; // Hardware tablewalk enable
1329input [7:0] mmu_write_itlb; // Reload the ITLB
1330input [7:0] mmu_reload_done; // Hardware tablewalk done
1331input [7:0] mmu_i_unauth_access; // Hardware tablewalk ITSB with EP=0
1332input [7:0] mmu_i_tsb_miss; // Hardware tablewalk missed
1333input [7:0] mmu_d_tsb_miss; // Hardware tablewalk missed
1334input [7:0] mmu_i_tte_outofrange; // RA out of range
1335input [7:0] mmu_d_tte_outofrange; // RA out of range
1336input [47:0] mmu_itte_tag_data;
1337input [64:0] mmu_asi_data; // ASI read data for fast bus
1338input mmu_asi_read; // Valid for MMU ASI read
1339input mmu_dae_req; // data_access_exception for bad pg size
1340input [2:0] mmu_dae_tid;
1341input mmu_asi_cecc; // Correctable ECC error on ASI read
1342input mmu_asi_uecc; // Uncorrectable ECC error on ASI read
1343input [2:0] mmu_asi_tid; // Thread for reported error
1344input [10:0] mmu_asi_index; // Syndrome and index of the failure
1345input mmu_asi_mra_not_sca; // 1: MRA error 0: Scratchpad error
1346input [7:0] mmu_i_l2cerr; // HW TW had L2 CE on I rld
1347input [7:0] mmu_d_l2cerr; // HW TW had L2 CE on D rld
1348input [7:0] mmu_i_eccerr; // HW TW had MRA or L2 error on I rld
1349input [7:0] mmu_d_eccerr; // HW TW had MRA or L2 error on D rld
1350input [2:0] mmu_thr0_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0)
1351input [2:0] mmu_thr1_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0)
1352input [2:0] mmu_thr2_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0)
1353input [2:0] mmu_thr3_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0)
1354input [2:0] mmu_thr4_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0)
1355input [2:0] mmu_thr5_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0)
1356input [2:0] mmu_thr6_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0)
1357input [2:0] mmu_thr7_err_type; // [2]: 1-MRA 0-L2 [1:0] ND U C - (3-0)
1358input [2:0] mmu_thr0_err_index;
1359input [2:0] mmu_thr1_err_index;
1360input [2:0] mmu_thr2_err_index;
1361input [2:0] mmu_thr3_err_index;
1362input [2:0] mmu_thr4_err_index;
1363input [2:0] mmu_thr5_err_index;
1364input [2:0] mmu_thr6_err_index;
1365input [2:0] mmu_thr7_err_index;
1366
1367input spu_pmu_ma_busy; // Must idle before parking
1368input spu_tlu_cwq_busy; // Must idle before soft stop parking
1369input [10:0] spu_tlu_mamu_err_req; // SPU MAMEM parity error
1370input [4:0] spu_tlu_ma_int_req; // SPU MA 4 err 3 vld 2:0 thread ID
1371input [3:0] spu_tlu_cwq_int_req; // SPU CWQ trap rq 3 vld 2:0 thread ID
1372input [5:0] spu_tlu_l2_error; // MAL2[C,U,ND],CWQL2[C,U,ND]
1373
1374
1375input [7:0] pmu_tlu_trap_m; // PMU trap; kill instruction in M
1376input [7:0] pmu_tlu_debug_event; // PMU event; soft/hard stop or pulse
1377
1378
1379output scan_out;
1380
1381output wmr_scan_out; // Warm reset (non)scan
1382
1383output spc_shscan_scan_out; // Shadow scan
1384
1385output [7:0] tlu_core_running_status;
1386output tlu_ss_complete;
1387
1388output tlu_hardstop_request;
1389output tlu_softstop_request;
1390output tlu_trigger_pulse;
1391output [1:0] tlu_dbg_instr_cmt_grp0;
1392output [1:0] tlu_dbg_instr_cmt_grp1;
1393
1394output [7:0] tlu_flush_ifu; // Flush specified thread
1395
1396output [1:0] tlu_window_block; // Block decode of CWP altering ops
1397
1398output [7:0] tlu_retry_state; // DEC should not wait for delay slot
1399
1400output [7:0] tlu_halted; // Pick should stall;
1401
1402output [47:2] tlu_pc_0_d;
1403output [47:2] tlu_pc_1_d;
1404output [1:0] tlu_flush_exu_b; // EXU to flush instr in B stage
1405output [7:0] tlu_ccr_0;
1406output [7:0] tlu_ccr_1;
1407output [2:0] tlu_cwp_0;
1408output [2:0] tlu_cwp_1;
1409output tlu_ccr_cwp_0_valid;
1410output tlu_ccr_cwp_1_valid;
1411output [1:0] tlu_ccr_cwp_0_tid;
1412output [1:0] tlu_ccr_cwp_1_tid;
1413output [1:0] tlu_gl0;
1414output [1:0] tlu_gl1;
1415output [1:0] tlu_gl2;
1416output [1:0] tlu_gl3;
1417output [1:0] tlu_gl4;
1418output [1:0] tlu_gl5;
1419output [1:0] tlu_gl6;
1420output [1:0] tlu_gl7;
1421output [1:0] tlu_itlb_bypass_e;
1422
1423output tlu_flush_lsu_b; // LSU to flush instr in B stage
1424
1425output tlu_flush_fgu_b; // FGU to flush instr in B stage
1426
1427output [47:0] tlu_trap_pc_0;
1428output tlu_trap_pc_0_valid;
1429output [1:0] tlu_trap_0_tid;
1430
1431output [47:0] tlu_trap_pc_1;
1432output tlu_trap_pc_1_valid;
1433output [1:0] tlu_trap_1_tid;
1434
1435output [1:0] tlu_retry;
1436output [1:0] tlu_ifu_invalidate; // Forces IFU to invalidate, refetch
1437
1438output [1:0] tlu_itlb_reload;
1439output [7:0] tlu_itlb_bypass;
1440
1441output [7:0] tlu_release_tte;
1442
1443output [64:0] tlu_rngf_cdbus;
1444output tlu_rngf_cdbus_error; // Same cycle as data on cdbus
1445
1446output [7:0] tlu_asi_0;
1447output [7:0] tlu_asi_1;
1448output tlu_asi_0_valid;
1449output tlu_asi_1_valid;
1450output [1:0] tlu_asi_0_tid;
1451output [1:0] tlu_asi_1_tid;
1452
1453output [7:0] tlu_tl_gt_0;
1454output [7:0] tlu_lsu_clear_ctl_reg_;
1455
1456output [7:0] tlu_load_i_tag_access_p;
1457output [7:0] tlu_load_i_tag_access_n;
1458output [7:0] tlu_load_d_tag_access;
1459output [7:0] tlu_load_d_tag_access_r;
1460output [47:2] tlu_npc_w;
1461output [47:13] tlu_pc_0_w;
1462output [47:13] tlu_pc_1_w;
1463output [7:0] tlu_iht_request; // ITLB hardware tablewalk request
1464output [7:0] tlu_dht_request; // DTLB hardware tablewalk request
1465output [7:0] tlu_mmu_tl_gt_0;
1466
1467
1468output [1:0] tlu_flush_pmu_b;
1469output [1:0] tlu_flush_pmu_w;
1470output [7:0] tlu_pmu_trap_taken;
1471output [1:0] tlu_pmu_trap_mask_e;
1472
1473output [7:0] tlu_lsu_hpstate_hpriv;
1474output [7:0] tlu_lsu_pstate_priv;
1475output [7:0] tlu_ifu_hpstate_hpriv;
1476output [7:0] tlu_ifu_pstate_priv;
1477output [7:0] tlu_pmu_hpstate_hpriv;
1478output [7:0] tlu_pmu_pstate_priv;
1479output [7:0] tlu_dec_hpstate_hpriv;
1480output [7:0] tlu_dec_pstate_priv;
1481output [7:0] tlu_dec_pstate_pef;
1482output [7:0] tlu_pstate_cle;
1483output [7:0] tlu_pstate_am;
1484
1485output tlu_cerer_ittp ;
1486output tlu_cerer_itdp ;
1487output tlu_cerer_ittm ;
1488output tlu_cerer_hwtwmu ;
1489output tlu_cerer_hwtwl2 ;
1490output tlu_cerer_icl2c ;
1491output tlu_cerer_icl2u ;
1492output tlu_cerer_icl2nd ;
1493output tlu_cerer_irf ;
1494output tlu_cerer_frf ;
1495output tlu_cerer_dttp ;
1496output tlu_cerer_dttm ;
1497output tlu_cerer_dtdp ;
1498output tlu_cerer_dcl2c ;
1499output tlu_cerer_dcl2u ;
1500output tlu_cerer_dcl2nd ;
1501output tlu_cerer_sbdlc ;
1502output tlu_cerer_sbdlu ;
1503output tlu_cerer_mrau ;
1504output tlu_cerer_scac ;
1505output tlu_cerer_scau ;
1506output tlu_cerer_sbapp ;
1507output tlu_cerer_l2c_socc ;
1508output tlu_cerer_l2u_socu ;
1509output tlu_cerer_icvp ;
1510output tlu_cerer_ictp ;
1511output tlu_cerer_ictm ;
1512output tlu_cerer_icdp ;
1513output tlu_cerer_dcvp ;
1514output tlu_cerer_dctp ;
1515output tlu_cerer_dctm ;
1516output tlu_cerer_dcdp ;
1517output tlu_cerer_sbdpc ;
1518output tlu_cerer_sbdpu ;
1519output tlu_cerer_mamu ;
1520output tlu_cerer_mal2c ;
1521output tlu_cerer_mal2u ;
1522output tlu_cerer_mal2nd ;
1523output tlu_cerer_cwql2c ;
1524output tlu_cerer_cwql2u ;
1525output tlu_cerer_cwql2nd ;
1526output tlu_cerer_sbdiou ;
1527
1528output [7:0] tlu_ceter_pscce;
1529
1530output [1:0] tlu_tag_access_tid_0_b; // Tag access power management
1531output tlu_i_tag_access_0_b; // Tag access power management
1532output tlu_d_tag_access_0_b; // Tag access power management
1533output [1:0] tlu_tag_access_tid_1_b; // Tag access power management
1534output tlu_i_tag_access_1_b; // Tag access power management
1535output tlu_d_tag_access_1_b; // Tag access power management
1536
1537output tlu_mbi_tsa0_fail; // MBIST
1538output tlu_mbi_tsa1_fail; // MBIST
1539output tlu_mbi_tca_fail; // MBIST
1540
1541output [7:0] tlu_spec_enable;
1542
1543
1544
1545//////////////////////////////////////////////////////////////////////////////
1546
1547assign error_inject_unused[30:23] =
1548 lsu_asi_error_inject[30:23];
1549assign error_inject_unused[20:8] =
1550 lsu_asi_error_inject[20:8];
1551
1552assign tlu_cerer_sbdiou =
1553 tlu_cerer_sbdpu;
1554
1555assign rd_pce = 1'b1;
1556assign wr_pce = 1'b1;
1557assign bist_clk_mux_sel = 1'b0;
1558assign tcu_scan_en_wmr = lb_scan_en_wmr;
1559
1560
1561
1562////////////////////////////////////////////////////////////////////////////////
1563// Flush Logic: one for each thread group and datapath to merge LSU, FGU flushes
1564tlu_fls_ctl fls0 (
1565 .wmr_scan_in(fls0_wmr_scanin),
1566 .wmr_scan_out(fls0_wmr_scanout),
1567 .scan_in(fls0_scanin),
1568 .scan_out(fls0_scanout),
1569 .l2clk (l2clk ),
1570 .thread_group (1'b0 ),
1571 .trl_shscanid ({trl0_shscanid_2 ,
1572 trl0_shscanid [1:0]}),
1573 .tcu_core_running (tcu_core_running [3:0] ),
1574 .cxi_xir (cxi_xir [3:0] ),
1575 .cxi_ivt (cxi_ivt [3:0] ),
1576 .dec_raw_pick_p (dec_raw_pick_p [3:1] ),
1577 .dec_tid_m (dec_tid0_m [1:0] ),
1578 .dec_inst_valid_m (dec_inst_valid_m [0 ] ),
1579 .dec_lsu_inst_m (dec_lsu_inst_m [0 ] ),
1580 .dec_fgu_inst_m (dec_fgu_inst_m [0 ] ),
1581 .dec_illegal_inst_m (dec_illegal_inst_m [0 ] ),
1582 .dec_exc_m (dec_exc0_m [4:0] ),
1583 .dec_done_inst_m (dec_done_inst_m [0 ] ),
1584 .dec_retry_inst_m (dec_retry_inst_m [0 ] ),
1585 .dec_sir_inst_m (dec_sir_inst_m [0 ] ),
1586 .dec_hpriv_exc_m (dec_hpriv_exc_m [0 ] ),
1587 .dec_priv_exc_m (dec_priv_exc_m [0 ] ),
1588 .dec_fpdisable_exc_m (dec_fpdisable_exc_m [0 ] ),
1589 .dec_br_taken_m (dec_br_taken_m [0 ] ),
1590 .dec_annul_ds_m (dec_annul_ds_m [0 ] ),
1591 .dec_ds_m (dec_ds_m [0 ] ),
1592 .dec_icache_perr_m (dec_icache_perr_m [0 ] ),
1593 .dec_cti_inst_m (dec_cti_inst_m [0 ] ),
1594 .dec_flush_b (dec_flush_b [0 ] ),
1595 .exu_ibp_m (exu_ibp_m [0 ] ),
1596 .exu_tcc_m (exu_tcc_m [0 ] ),
1597 .exu_tof_m (exu_tof_m [0 ] ),
1598 .exu_cecc_m (exu_cecc_m [0 ] ),
1599 .exu_uecc_m (exu_uecc_m [0 ] ),
1600 .exu_oor_va_m (exu_oor_va_m [0 ] ),
1601 .exu_misalign_m (exu_misalign_m [0 ] ),
1602 .exu_spill_b (exu_spill_b [0 ] ),
1603 .exu_fill_m (exu_fill_m [0 ] ),
1604 .exu_normal_b (exu_normal_b [0 ] ),
1605 .exu_cleanwin_b (exu_cleanwin_b [0 ] ),
1606 .exu_wstate_b (exu0_wstate_b [2:0] ),
1607 .exu_trap_number_b (exu0_trap_number_b [7:0] ),
1608 .exu_cwp0 (exu0_cwp0 [2:0] ),
1609 .exu_cwp1 (exu0_cwp1 [2:0] ),
1610 .exu_cwp2 (exu0_cwp2 [2:0] ),
1611 .exu_cwp3 (exu0_cwp3 [2:0] ),
1612 .lsu_trap_flush (lsu_trap_flush [3:0] ),
1613 .lsu_spec_enable (asi_spec_enable [3:0] ),
1614 .lsu_block_store_b (lsu_block_store_b [3:0] ),
1615 .lsu_immu_enable (asi_immu_enable [3:0] ),
1616 .asi_irl_cleared (asi_irl_cleared [3:0] ),
1617 .asi_halt (asi_halt [3:0] ),
1618 .asi_clear_spu_trap_req (asi_clear_spu_trap_req [3:0] ),
1619 .tel_tsacu_exc (tel_tsacu_exc [3:0] ),
1620 .mmu_hw_tw_enable (mmu_hw_tw_enable [3:0] ),
1621 .mmu_i_unauth_access (mmu_i_unauth_access [3:0] ),
1622 .mmu_i_tsb_miss (mmu_i_tsb_miss [3:0] ),
1623 .mmu_d_tsb_miss (mmu_d_tsb_miss [3:0] ),
1624 .mmu_i_tte_outofrange (mmu_i_tte_outofrange [3:0] ),
1625 .mmu_d_tte_outofrange (mmu_d_tte_outofrange [3:0] ),
1626 .mmu_i_eccerr (mmu_i_eccerr [3:0] ),
1627 .mmu_d_eccerr (mmu_d_eccerr [3:0] ),
1628 .mmu_thr0_err_type_b1 (mmu_thr0_err_type [1 ] ),
1629 .mmu_thr1_err_type_b1 (mmu_thr1_err_type [1 ] ),
1630 .mmu_thr2_err_type_b1 (mmu_thr2_err_type [1 ] ),
1631 .mmu_thr3_err_type_b1 (mmu_thr3_err_type [1 ] ),
1632 .pmu_tlu_trap_m (pmu_tlu_trap_m [3:0] ),
1633 .pmu_tlu_debug_event (pmu_tlu_debug_event [3:0] ),
1634 .flsx_flush_lsu_b (1'b0 ),
1635 .flsx_flush_fgu_b (1'b0 ),
1636 .pct_iaw_exc_e (pct0_iaw_exc_e [1:0] ),
1637 .pct_npc_0_w (pct_npc_0_w [3:2] ),
1638 .pct_npc_1_w (pct_npc_1_w [3:2] ),
1639 .pct_npc_2_w (pct_npc_2_w [3:2] ),
1640 .pct_npc_3_w (pct_npc_3_w [3:2] ),
1641 .pct_pc_oor_va_e (pct_pc_oor_va_e [0 ] ),
1642 .trl_tl_eq_0 (trl_tl_eq_0 [3:0] ),
1643 .trl_pil_mask_15 (trl_pil_mask_15 [3:0] ),
1644 .trl_iln_exc (trl_iln_exc [3:0] ),
1645 .trl_hstick_match (trl_hstick_match [3:0] ),
1646 .trl_unhalt_ (trl_unhalt_ [3:0] ),
1647 .trl_tlz_exc (trl_tlz_exc [3:0] ),
1648 .trl_nns_exc (trl_nns_exc [3:0] ),
1649 .trl_ssc_exc (trl_ssc_exc [3:0] ),
1650 .trl_invalidate_pc (trl_invalidate_pc [3:0] ),
1651 .trl_invalidate_npc (trl_invalidate_npc [3:0] ),
1652 .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [3:0] ),
1653 .trl_fls_npc_en (trl_fls_npc_en [3:0] ),
1654 .trl_trap_taken (trl_trap_taken [3:0] ),
1655 .trl_take_sma (trl0_take_sma ),
1656 .trl_take_cwq (trl0_take_cwq ),
1657 .trl_take_xir (trl0_take_xir ),
1658 .trl_take_ftt (trl0_take_ftt ),
1659 .trl_core_running_status(trl_core_running_status[3:0] ),
1660 .trl_check_rqr (trl0_tsa_wr_addr [0 ] ),
1661 .tlu_ceter_de (tlu_ceter_de [3:0] ),
1662 .tlu_ceter_dhcce (tlu_ceter_dhcce [3:0] ),
1663 .tsd_hpstate_ibe (tsd_hpstate_ibe [3:0] ),
1664 .tsd_hpstate_hpriv (tsd_hpstate_hpriv [3:0] ),
1665 .tsd_hpstate_red (tsd_hpstate_red [3:0] ),
1666 .tsd_pstate_tct (tsd_pstate_tct [3:0] ),
1667 .tsd_pstate_priv (tsd_pstate_priv [3:0] ),
1668 .tsd_pstate_ie (tsd_pstate_ie [3:0] ),
1669 .tsd_pstate_am (tsd_pstate_am [3:0] ),
1670 .tsd_itlb_bypass (tsd_itlb_bypass [3:0] ),
1671 .tsd_mrqr_exc_ (tsd0_mrqr_exc_ ),
1672 .tsd_dqr_exc_ (tsd0_dqr_exc_ ),
1673 .asi_check_qr_exc (asi_check_qr_exc [3:0] ),
1674 .dfd_fls_desr_f (dfd_fls_desr_f [3:0] ),
1675 .dfd_fls_desr_s (dfd_fls_desr_s [3:0] ),
1676 .ras_precise_error (ras_precise_error [3:0] ),
1677 .ras_disrupting_error (ras_disrupting_error [3:0] ),
1678 .ras_deferred_error (ras_deferred_error [3:0] ),
1679 .fls_spc_hardstop_request(fls0_spc_hardstop_request ),
1680 .fls_spc_softstop_request(fls0_spc_softstop_request ),
1681 .fls_spc_trigger_pulse (fls0_spc_trigger_pulse ),
1682 .tlu_dbg_instr_cmt_grp (tlu_dbg_instr_cmt_grp0 [1:0] ),
1683 .tlu_flush_ifu (tlu_flush_ifu [3:0] ),
1684 .tlu_flush_exu_b (tlu_flush_exu_b [0 ] ),
1685 .tlu_flush_lsu_b (tlu_flush_lsu_b_unused ),
1686 .tlu_flush_fgu_b (tlu_flush_fgu_b_unused ),
1687 .tlu_flush_pmu_b (tlu_flush_pmu_b [0 ] ),
1688 .tlu_flush_pmu_w (tlu_flush_pmu_w [0 ] ),
1689 .tlu_load_i_tag_access_p(tlu_load_i_tag_access_p[3:0] ),
1690 .tlu_load_i_tag_access_n(tlu_load_i_tag_access_n[3:0] ),
1691 .tlu_load_d_tag_access (tlu_load_d_tag_access [3:0] ),
1692 .tlu_load_d_tag_access_r(tlu_load_d_tag_access_r[3:0] ),
1693 .fls_flush_lsu_b (fls0_flush_lsu_b ),
1694 .fls_flush_fgu_b (fls0_flush_fgu_b ),
1695 .fls_tid_d (fls0_tid_d [1:0] ),
1696 .fls_tid_dec_b (fls0_tid_dec_b [3:0] ),
1697 .fls_tid_dec_w (fls0_tid_dec_w [3:0] ),
1698 .fls_pc_sel_npc (fls_pc_sel_npc [3:0] ),
1699 .fls_pc_sel_npc_plus_4 (fls_pc_sel_npc_plus_4 [3:0] ),
1700 .fls_npc_sel_npc_plus_4 (fls_npc_sel_npc_plus_4 [3:0] ),
1701 .fls_npc_sel_npc_plus_8 (fls_npc_sel_npc_plus_8 [3:0] ),
1702 .fls_npc_sel_target (fls_npc_sel_target [3:0] ),
1703 .fls_npc_b_sel_npc (fls0_npc_b_sel_npc ),
1704 .fls_pc_is_npc (fls0_pc_is_npc ),
1705 .fls_pstate_am_d_ (fls_pstate_am_d_ [0 ] ),
1706 .fls_pstate_am_b_ (fls_pstate_am_b_ [0 ] ),
1707 .fls_pstate_am_w_ (fls_pstate_am_w_ [0 ] ),
1708 .fls_lsu_inst_w (fls0_lsu_inst_w_unused ),
1709 .fls_dfd_lsu_inst_b (fls0_dfd_lsu_inst_b ),
1710 .fls_wstate0 (fls_wstate0 [2:0] ),
1711 .fls_wstate1 (fls_wstate1 [2:0] ),
1712 .fls_wstate2 (fls_wstate2 [2:0] ),
1713 .fls_wstate3 (fls_wstate3 [2:0] ),
1714 .fls_tcc_number_0 (fls_tcc_number_0 [7:0] ),
1715 .fls_tcc_number_1 (fls_tcc_number_1 [7:0] ),
1716 .fls_tcc_number_2 (fls_tcc_number_2 [7:0] ),
1717 .fls_tcc_number_3 (fls_tcc_number_3 [7:0] ),
1718 .fls_tid_dec_w_in (fls_tid_dec_w_in [3:0] ),
1719 .fls_por_request (fls_por_request [3:0] ),
1720 .fls_xir_request (fls_xir_request [3:0] ),
1721 .fls_ivt_request (fls_ivt_request [3:0] ),
1722 .fls_sir_request (fls_sir_request [3:0] ),
1723 .fls_itm_request (fls_itm_request [3:0] ),
1724 .fls_iln_request (fls_iln_request [3:0] ),
1725 .fls_hst_request (fls_hst_request [3:0] ),
1726 .fls_tlz_request (fls_tlz_request [3:0] ),
1727 .fls_sma_request (fls_sma_request [3:0] ),
1728 .fls_cwq_request (fls_cwq_request [3:0] ),
1729 .fls_ade_request (fls_ade_request [3:0] ),
1730 .fls_iae_request (fls_iae_request [3:0] ),
1731 .fls_ipe_request (fls_ipe_request [3:0] ),
1732 .fls_ipv_request (fls_ipv_request [0 ] ),
1733 .fls_inp_request (fls_inp_request [0 ] ),
1734 .fls_iar_request (fls_iar_request [0 ] ),
1735 .fls_irr_request (fls_irr_request [0 ] ),
1736 .fls_mar_request (fls_mar_request [0 ] ),
1737 .fls_mrr_request (fls_mrr_request [0 ] ),
1738 .fls_pro_request (fls_pro_request [0 ] ),
1739 .fls_ill_request (fls_ill_request [0 ] ),
1740 .fls_don_request (fls_don_request [0 ] ),
1741 .fls_ret_request (fls_ret_request [0 ] ),
1742 .fls_fpd_request (fls_fpd_request [0 ] ),
1743 .fls_snn_request (fls_snn_request [0 ] ),
1744 .fls_sno_request (fls_sno_request [0 ] ),
1745 .fls_fnn_request (fls_fnn_request [0 ] ),
1746 .fls_fno_request (fls_fno_request [0 ] ),
1747 .fls_clw_request (fls_clw_request [0 ] ),
1748 .fls_dtm_request (fls_dtm_request [3:0] ),
1749 .fls_ldf_request (fls_ldf_request [0 ] ),
1750 .fls_stf_request (fls_stf_request [0 ] ),
1751 .fls_dap_request (fls_dap_request [0 ] ),
1752 .fls_vaw_request (fls_vaw_request [0 ] ),
1753 .fls_iaw_request (fls_iaw_request [0 ] ),
1754 .fls_paw_request (fls_paw_request [0 ] ),
1755 .fls_maa_request (fls_maa_request [0 ] ),
1756 .fls_fpe_request (fls_fpe_request [0 ] ),
1757 .fls_fei_request (fls_fei_request [3:0] ),
1758 .fls_fof_request (fls_fof_request [3:0] ),
1759 .fls_pra_request (fls_pra_request [3:0] ),
1760 .fls_dia_request (fls_dia_request [0 ] ),
1761 .fls_ups_request (fls_ups_request [3:0] ),
1762 .fls_dpv_request (fls_dpv_request [0 ] ),
1763 .fls_dnc_request (fls_dnc_request [0 ] ),
1764 .fls_dnf_request (fls_dnf_request [0 ] ),
1765 .fls_dso_request (fls_dso_request [0 ] ),
1766 .fls_tof_request (fls_tof_request [0 ] ),
1767 .fls_dbz_request (fls_dbz_request [3:0] ),
1768 .fls_tcc_request (fls_tcc_request [0 ] ),
1769 .fls_dae_request (fls_dae_request [3:0] ),
1770 .fls_lsr_request (fls_lsr_request [3:0] ),
1771 .fls_irt_request (fls_irt_request [0 ] ),
1772 .fls_drt_request (fls_drt_request [0 ] ),
1773 .fls_pmu_request (fls_pmu_request [3:0] ),
1774 .fls_mqr_request (fls_mqr_request [3:0] ),
1775 .fls_dqr_request (fls_dqr_request [3:0] ),
1776 .fls_rqr_request (fls_rqr_request [3:0] ),
1777 .fls_idl_request (fls_idl_request [3:0] ),
1778 .fls_res_request (fls_res_request [3:0] ),
1779 .fls_ssr_request (fls_ssr_request [3:0] ),
1780 .fls_ssc_request (fls_ssc_request [3:0] ),
1781 .fls_nns_request (fls_nns_request [3:0] ),
1782 .fls_ime_request (fls_ime_request [3:0] ),
1783 .fls_dme_request (fls_dme_request [3:0] ),
1784 .fls_eer_request (fls_eer_request [3:0] ),
1785 .fls_icp_request (fls_icp_request [0 ] ),
1786 .fls_ftt_request (fls_ftt_request [3:0] ),
1787 .fls_ibp_request (fls_ibp_request [0 ] ),
1788 .fls_tct_request (fls_tct_request [0 ] ),
1789 .fls_ref_request (fls_ref_request [0 ] ),
1790 .fls_ipe_dme_request (fls_ipe_dme_request [0 ] ),
1791 .fls_pc_valid (fls_pc_valid [3:0] ),
1792 .fls_load_dsfar (fls_load_dsfar [3:0] ),
1793 .fls_irf_cecc_b (fls_irf_cecc_b [0 ] ),
1794 .fls_irf_uecc_b (fls_irf_uecc_b [0 ] ),
1795 .fls_kill_irf_ecc_w (fls_kill_irf_ecc_w [0 ] ),
1796 .fls_cwp0 (fls0_cwp0 [2:0] ),
1797 .fls_cwp1 (fls0_cwp1 [2:0] ),
1798 .fls_cwp2 (fls0_cwp2 [2:0] ),
1799 .fls_cwp3 (fls0_cwp3 [2:0] ),
1800 .fls_core_running (fls_core_running [3:0] ),
1801 .fls_ss_request (fls_ss_request ),
1802 .fls_pct_pc_en (fls_pct_pc_en [3:0] ),
1803 .fls_pct_npc_en (fls_pct_npc_en [3:0] ),
1804 .fls_trl_l1en (fls_trl_l1en [3:0] ),
1805 .fls_npc_if_cnt_eq_1_d (fls0_npc_if_cnt_eq_1_d [4:2] ),
1806 .fls_npc_if_cnt_eq_2_d (fls0_npc_if_cnt_eq_2_d [4:2] ),
1807 .fls_npc_if_cnt_eq_3_d (fls0_npc_if_cnt_eq_3_d [4:2] ),
1808 .fls_flush (fls_flush [3:0] ),
1809 .fls_disrupting_flush_w (fls_disrupting_flush_w [0 ] ),
1810 .fls_f_cecc_w (fls_f_cecc_w ),
1811 .fls_f_uecc_w (fls_f_uecc_w ),
1812 .fls_ss_update_pc_w (fls_ss_update_pc_w [0 ] ),
1813 .tlu_iht_request (tlu_iht_request [3:0] ),
1814 .tlu_dht_request (tlu_dht_request [3:0] ),
1815 .tlu_itlb_bypass_e (tlu_itlb_bypass_e [0 ] ),
1816 .tlu_tag_access_tid_b (tlu_tag_access_tid_0_b [1:0] ),
1817 .tlu_i_tag_access_b (tlu_i_tag_access_0_b ),
1818 .tlu_d_tag_access_b (tlu_d_tag_access_0_b ),
1819 .tlu_retry_state (tlu_retry_state [3:0] ),
1820 .tlu_halted (tlu_halted [3:0] ),
1821 .tcu_pce_ov(tcu_pce_ov),
1822 .spc_aclk(spc_aclk),
1823 .spc_bclk(spc_bclk),
1824 .tcu_scan_en(tcu_scan_en),
1825 .spc_aclk_wmr(spc_aclk_wmr),
1826 .lsu_tlu_pmen(lsu_tlu_pmen),
1827 .tcu_ss_mode(tcu_ss_mode),
1828 .tcu_do_mode(tcu_do_mode),
1829 .tcu_ss_request(tcu_ss_request),
1830 .lsu_lddf_align_b(lsu_lddf_align_b),
1831 .lsu_stdf_align_b(lsu_stdf_align_b),
1832 .lsu_illegal_inst_b(lsu_illegal_inst_b),
1833 .lsu_daccess_prot_b(lsu_daccess_prot_b),
1834 .lsu_priv_action_b(lsu_priv_action_b),
1835 .lsu_va_watchpoint_b(lsu_va_watchpoint_b),
1836 .lsu_pa_watchpoint_b(lsu_pa_watchpoint_b),
1837 .lsu_align_b(lsu_align_b),
1838 .lsu_tlb_miss_b_(lsu_tlb_miss_b_),
1839 .lsu_dae_invalid_asi_b(lsu_dae_invalid_asi_b),
1840 .lsu_dae_nc_page_b(lsu_dae_nc_page_b),
1841 .lsu_dae_nfo_page_b(lsu_dae_nfo_page_b),
1842 .lsu_dae_priv_viol_b(lsu_dae_priv_viol_b),
1843 .lsu_dae_so_page(lsu_dae_so_page),
1844 .lsu_priv_action_g(lsu_priv_action_g),
1845 .lsu_tid_g(lsu_tid_g[2:0]),
1846 .lsu_tlb_bypass_b(lsu_tlb_bypass_b),
1847 .lsu_tlb_real_b(lsu_tlb_real_b),
1848 .lsu_sync_inst_b(lsu_sync_inst_b),
1849 .lsu_tlu_twocycle_m(lsu_tlu_twocycle_m),
1850 .lsu_dcl2u_err_g(lsu_dcl2u_err_g),
1851 .lsu_dcl2nd_err_g(lsu_dcl2nd_err_g),
1852 .lsu_dcerr_tid_g(lsu_dcerr_tid_g[2:0]),
1853 .lsu_sbdlc_err_g(lsu_sbdlc_err_g),
1854 .lsu_sbdlu_err_g(lsu_sbdlu_err_g),
1855 .lsu_sbapp_err_g(lsu_sbapp_err_g),
1856 .lsu_sbdiou_err_g(lsu_sbdiou_err_g),
1857 .lsu_stberr_tid_g(lsu_stberr_tid_g[2:0]),
1858 .lsu_dttp_err_b(lsu_dttp_err_b),
1859 .lsu_dtdp_err_b(lsu_dtdp_err_b),
1860 .lsu_dtmh_err_b(lsu_dtmh_err_b),
1861 .lsu_perfmon_trap_b(lsu_perfmon_trap_b),
1862 .lsu_perfmon_trap_g(lsu_perfmon_trap_g),
1863 .fgu_predict_fx2(fgu_predict_fx2),
1864 .fgu_pdist_beat2_fx1(fgu_pdist_beat2_fx1),
1865 .fgu_cecc_fx2(fgu_cecc_fx2),
1866 .fgu_uecc_fx2(fgu_uecc_fx2),
1867 .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw),
1868 .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw),
1869 .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw),
1870 .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw),
1871 .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw),
1872 .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]),
1873 .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]),
1874 .asi_ece_exc(asi_ece_exc),
1875 .asi_eue_exc(asi_eue_exc),
1876 .asi_ecc_tid(asi_ecc_tid[2:0]),
1877 .asi_decr(asi_decr[63:46]),
1878 .mmu_asi_cecc(mmu_asi_cecc),
1879 .mmu_asi_uecc(mmu_asi_uecc),
1880 .mmu_asi_tid(mmu_asi_tid[2:0]),
1881 .mmu_dae_req(mmu_dae_req),
1882 .mmu_dae_tid(mmu_dae_tid[2:0]),
1883 .spu_tlu_ma_int_req(spu_tlu_ma_int_req[4:0]),
1884 .spu_tlu_cwq_int_req(spu_tlu_cwq_int_req[3:0])
1885);
1886
1887tlu_fls_ctl fls1 (
1888 .wmr_scan_in(fls1_wmr_scanin),
1889 .wmr_scan_out(fls1_wmr_scanout),
1890 .scan_in(fls1_scanin),
1891 .scan_out(fls1_scanout),
1892 .l2clk (l2clk ),
1893 .thread_group (1'b1 ),
1894 .trl_shscanid ({trl1_shscanid_2 ,
1895 trl1_shscanid [1:0]}),
1896 .tcu_core_running (tcu_core_running [7:4] ),
1897 .cxi_xir (cxi_xir [7:4] ),
1898 .cxi_ivt (cxi_ivt [7:4] ),
1899 .dec_raw_pick_p (dec_raw_pick_p [7:5] ),
1900 .dec_tid_m (dec_tid1_m [1:0] ),
1901 .dec_inst_valid_m (dec_inst_valid_m [1 ] ),
1902 .dec_lsu_inst_m (dec_lsu_inst_m [1 ] ),
1903 .dec_fgu_inst_m (dec_fgu_inst_m [1 ] ),
1904 .dec_illegal_inst_m (dec_illegal_inst_m [1 ] ),
1905 .dec_exc_m (dec_exc1_m [4:0] ),
1906 .dec_done_inst_m (dec_done_inst_m [1 ] ),
1907 .dec_retry_inst_m (dec_retry_inst_m [1 ] ),
1908 .dec_sir_inst_m (dec_sir_inst_m [1 ] ),
1909 .dec_hpriv_exc_m (dec_hpriv_exc_m [1 ] ),
1910 .dec_priv_exc_m (dec_priv_exc_m [1 ] ),
1911 .dec_fpdisable_exc_m (dec_fpdisable_exc_m [1 ] ),
1912 .dec_br_taken_m (dec_br_taken_m [1 ] ),
1913 .dec_annul_ds_m (dec_annul_ds_m [1 ] ),
1914 .dec_ds_m (dec_ds_m [1 ] ),
1915 .dec_icache_perr_m (dec_icache_perr_m [1 ] ),
1916 .dec_cti_inst_m (dec_cti_inst_m [1 ] ),
1917 .dec_flush_b (dec_flush_b [1 ] ),
1918 .exu_ibp_m (exu_ibp_m [1 ] ),
1919 .exu_tcc_m (exu_tcc_m [1 ] ),
1920 .exu_tof_m (exu_tof_m [1 ] ),
1921 .exu_cecc_m (exu_cecc_m [1 ] ),
1922 .exu_uecc_m (exu_uecc_m [1 ] ),
1923 .exu_oor_va_m (exu_oor_va_m [1 ] ),
1924 .exu_misalign_m (exu_misalign_m [1 ] ),
1925 .exu_spill_b (exu_spill_b [1 ] ),
1926 .exu_fill_m (exu_fill_m [1 ] ),
1927 .exu_normal_b (exu_normal_b [1 ] ),
1928 .exu_cleanwin_b (exu_cleanwin_b [1 ] ),
1929 .exu_wstate_b (exu1_wstate_b [2:0] ),
1930 .exu_trap_number_b (exu1_trap_number_b [7:0] ),
1931 .exu_cwp0 (exu1_cwp0 [2:0] ),
1932 .exu_cwp1 (exu1_cwp1 [2:0] ),
1933 .exu_cwp2 (exu1_cwp2 [2:0] ),
1934 .exu_cwp3 (exu1_cwp3 [2:0] ),
1935 .lsu_trap_flush (lsu_trap_flush [7:4] ),
1936 .lsu_spec_enable (asi_spec_enable [7:4] ),
1937 .lsu_block_store_b (lsu_block_store_b [7:4] ),
1938 .lsu_immu_enable (asi_immu_enable [7:4] ),
1939 .asi_irl_cleared (asi_irl_cleared [7:4] ),
1940 .asi_halt (asi_halt [7:4] ),
1941 .asi_clear_spu_trap_req (asi_clear_spu_trap_req [7:4] ),
1942 .tel_tsacu_exc (tel_tsacu_exc [7:4] ),
1943 .mmu_hw_tw_enable (mmu_hw_tw_enable [7:4] ),
1944 .mmu_i_unauth_access (mmu_i_unauth_access [7:4] ),
1945 .mmu_i_tsb_miss (mmu_i_tsb_miss [7:4] ),
1946 .mmu_d_tsb_miss (mmu_d_tsb_miss [7:4] ),
1947 .mmu_i_tte_outofrange (mmu_i_tte_outofrange [7:4] ),
1948 .mmu_d_tte_outofrange (mmu_d_tte_outofrange [7:4] ),
1949 .mmu_i_eccerr (mmu_i_eccerr [7:4] ),
1950 .mmu_d_eccerr (mmu_d_eccerr [7:4] ),
1951 .mmu_thr0_err_type_b1 (mmu_thr4_err_type [1 ] ),
1952 .mmu_thr1_err_type_b1 (mmu_thr5_err_type [1 ] ),
1953 .mmu_thr2_err_type_b1 (mmu_thr6_err_type [1 ] ),
1954 .mmu_thr3_err_type_b1 (mmu_thr7_err_type [1 ] ),
1955 .pmu_tlu_trap_m (pmu_tlu_trap_m [7:4] ),
1956 .pmu_tlu_debug_event (pmu_tlu_debug_event [7:4] ),
1957 .flsx_flush_lsu_b (fls0_flush_lsu_b ),
1958 .flsx_flush_fgu_b (fls0_flush_fgu_b ),
1959 .pct_iaw_exc_e (pct1_iaw_exc_e [1:0] ),
1960 .pct_npc_0_w (pct_npc_4_w [3:2] ),
1961 .pct_npc_1_w (pct_npc_5_w [3:2] ),
1962 .pct_npc_2_w (pct_npc_6_w [3:2] ),
1963 .pct_npc_3_w (pct_npc_7_w [3:2] ),
1964 .pct_pc_oor_va_e (pct_pc_oor_va_e [1 ] ),
1965 .trl_tl_eq_0 (trl_tl_eq_0 [7:4] ),
1966 .trl_pil_mask_15 (trl_pil_mask_15 [7:4] ),
1967 .trl_iln_exc (trl_iln_exc [7:4] ),
1968 .trl_hstick_match (trl_hstick_match [7:4] ),
1969 .trl_unhalt_ (trl_unhalt_ [7:4] ),
1970 .trl_tlz_exc (trl_tlz_exc [7:4] ),
1971 .trl_nns_exc (trl_nns_exc [7:4] ),
1972 .trl_ssc_exc (trl_ssc_exc [7:4] ),
1973 .trl_invalidate_pc (trl_invalidate_pc [7:4] ),
1974 .trl_invalidate_npc (trl_invalidate_npc [7:4] ),
1975 .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [7:4] ),
1976 .trl_fls_npc_en (trl_fls_npc_en [7:4] ),
1977 .trl_trap_taken (trl_trap_taken [7:4] ),
1978 .trl_take_sma (trl1_take_sma ),
1979 .trl_take_cwq (trl1_take_cwq ),
1980 .trl_take_xir (trl1_take_xir ),
1981 .trl_take_ftt (trl1_take_ftt ),
1982 .trl_core_running_status(trl_core_running_status[7:4] ),
1983 .trl_check_rqr (trl1_tsa_wr_addr [0 ] ),
1984 .tlu_ceter_de (tlu_ceter_de [7:4] ),
1985 .tlu_ceter_dhcce (tlu_ceter_dhcce [7:4] ),
1986 .tsd_hpstate_ibe (tsd_hpstate_ibe [7:4] ),
1987 .tsd_hpstate_hpriv (tsd_hpstate_hpriv [7:4] ),
1988 .tsd_hpstate_red (tsd_hpstate_red [7:4] ),
1989 .tsd_pstate_tct (tsd_pstate_tct [7:4] ),
1990 .tsd_pstate_priv (tsd_pstate_priv [7:4] ),
1991 .tsd_pstate_ie (tsd_pstate_ie [7:4] ),
1992 .tsd_pstate_am (tsd_pstate_am [7:4] ),
1993 .tsd_itlb_bypass (tsd_itlb_bypass [7:4] ),
1994 .tsd_mrqr_exc_ (tsd1_mrqr_exc_ ),
1995 .tsd_dqr_exc_ (tsd1_dqr_exc_ ),
1996 .asi_check_qr_exc (asi_check_qr_exc [7:4] ),
1997 .dfd_fls_desr_f (dfd_fls_desr_f [7:4] ),
1998 .dfd_fls_desr_s (dfd_fls_desr_s [7:4] ),
1999 .ras_precise_error (ras_precise_error [7:4] ),
2000 .ras_disrupting_error (ras_disrupting_error [7:4] ),
2001 .ras_deferred_error (ras_deferred_error [7:4] ),
2002 .fls_spc_hardstop_request(fls1_spc_hardstop_request ),
2003 .fls_spc_softstop_request(fls1_spc_softstop_request ),
2004 .fls_spc_trigger_pulse (fls1_spc_trigger_pulse ),
2005 .tlu_dbg_instr_cmt_grp (tlu_dbg_instr_cmt_grp1 [1:0] ),
2006 .tlu_flush_ifu (tlu_flush_ifu [7:4] ),
2007 .tlu_flush_exu_b (tlu_flush_exu_b [1 ] ),
2008 .tlu_flush_lsu_b (tlu_flush_lsu_b ),
2009 .tlu_flush_fgu_b (tlu_flush_fgu_b ),
2010 .tlu_flush_pmu_b (tlu_flush_pmu_b [1 ] ),
2011 .tlu_flush_pmu_w (tlu_flush_pmu_w [1 ] ),
2012 .tlu_load_i_tag_access_p(tlu_load_i_tag_access_p[7:4] ),
2013 .tlu_load_i_tag_access_n(tlu_load_i_tag_access_n[7:4] ),
2014 .tlu_load_d_tag_access (tlu_load_d_tag_access [7:4] ),
2015 .tlu_load_d_tag_access_r(tlu_load_d_tag_access_r[7:4] ),
2016 .fls_flush_lsu_b (fls1_flush_lsu_b_unused ),
2017 .fls_flush_fgu_b (fls1_flush_fgu_b_unused ),
2018 .fls_tid_d (fls1_tid_d [1:0] ),
2019 .fls_tid_dec_b (fls1_tid_dec_b [3:0] ),
2020 .fls_tid_dec_w (fls1_tid_dec_w [3:0] ),
2021 .fls_pc_sel_npc (fls_pc_sel_npc [7:4] ),
2022 .fls_pc_sel_npc_plus_4 (fls_pc_sel_npc_plus_4 [7:4] ),
2023 .fls_npc_sel_npc_plus_4 (fls_npc_sel_npc_plus_4 [7:4] ),
2024 .fls_npc_sel_npc_plus_8 (fls_npc_sel_npc_plus_8 [7:4] ),
2025 .fls_npc_sel_target (fls_npc_sel_target [7:4] ),
2026 .fls_npc_b_sel_npc (fls1_npc_b_sel_npc ),
2027 .fls_pc_is_npc (fls1_pc_is_npc ),
2028 .fls_pstate_am_d_ (fls_pstate_am_d_ [1 ] ),
2029 .fls_pstate_am_b_ (fls_pstate_am_b_ [1 ] ),
2030 .fls_pstate_am_w_ (fls_pstate_am_w_ [1 ] ),
2031 .fls_lsu_inst_w (fls1_lsu_inst_w ),
2032 .fls_dfd_lsu_inst_b (fls1_dfd_lsu_inst_b ),
2033 .fls_wstate0 (fls_wstate4 [2:0] ),
2034 .fls_wstate1 (fls_wstate5 [2:0] ),
2035 .fls_wstate2 (fls_wstate6 [2:0] ),
2036 .fls_wstate3 (fls_wstate7 [2:0] ),
2037 .fls_tcc_number_0 (fls_tcc_number_4 [7:0] ),
2038 .fls_tcc_number_1 (fls_tcc_number_5 [7:0] ),
2039 .fls_tcc_number_2 (fls_tcc_number_6 [7:0] ),
2040 .fls_tcc_number_3 (fls_tcc_number_7 [7:0] ),
2041 .fls_tid_dec_w_in (fls_tid_dec_w_in [7:4] ),
2042 .fls_por_request (fls_por_request [7:4] ),
2043 .fls_xir_request (fls_xir_request [7:4] ),
2044 .fls_ivt_request (fls_ivt_request [7:4] ),
2045 .fls_sir_request (fls_sir_request [7:4] ),
2046 .fls_itm_request (fls_itm_request [7:4] ),
2047 .fls_iln_request (fls_iln_request [7:4] ),
2048 .fls_hst_request (fls_hst_request [7:4] ),
2049 .fls_tlz_request (fls_tlz_request [7:4] ),
2050 .fls_sma_request (fls_sma_request [7:4] ),
2051 .fls_cwq_request (fls_cwq_request [7:4] ),
2052 .fls_ade_request (fls_ade_request [7:4] ),
2053 .fls_iae_request (fls_iae_request [7:4] ),
2054 .fls_ipe_request (fls_ipe_request [7:4] ),
2055 .fls_ipv_request (fls_ipv_request [1 ] ),
2056 .fls_inp_request (fls_inp_request [1 ] ),
2057 .fls_iar_request (fls_iar_request [1 ] ),
2058 .fls_irr_request (fls_irr_request [1 ] ),
2059 .fls_mar_request (fls_mar_request [1 ] ),
2060 .fls_mrr_request (fls_mrr_request [1 ] ),
2061 .fls_pro_request (fls_pro_request [1 ] ),
2062 .fls_ill_request (fls_ill_request [1 ] ),
2063 .fls_don_request (fls_don_request [1 ] ),
2064 .fls_ret_request (fls_ret_request [1 ] ),
2065 .fls_fpd_request (fls_fpd_request [1 ] ),
2066 .fls_snn_request (fls_snn_request [1 ] ),
2067 .fls_sno_request (fls_sno_request [1 ] ),
2068 .fls_fnn_request (fls_fnn_request [1 ] ),
2069 .fls_fno_request (fls_fno_request [1 ] ),
2070 .fls_clw_request (fls_clw_request [1 ] ),
2071 .fls_dtm_request (fls_dtm_request [7:4] ),
2072 .fls_ldf_request (fls_ldf_request [1 ] ),
2073 .fls_stf_request (fls_stf_request [1 ] ),
2074 .fls_dap_request (fls_dap_request [1 ] ),
2075 .fls_vaw_request (fls_vaw_request [1 ] ),
2076 .fls_iaw_request (fls_iaw_request [1 ] ),
2077 .fls_paw_request (fls_paw_request [1 ] ),
2078 .fls_maa_request (fls_maa_request [1 ] ),
2079 .fls_fpe_request (fls_fpe_request [1 ] ),
2080 .fls_fei_request (fls_fei_request [7:4] ),
2081 .fls_fof_request (fls_fof_request [7:4] ),
2082 .fls_pra_request (fls_pra_request [7:4] ),
2083 .fls_dia_request (fls_dia_request [1 ] ),
2084 .fls_ups_request (fls_ups_request [7:4] ),
2085 .fls_dpv_request (fls_dpv_request [1 ] ),
2086 .fls_dnc_request (fls_dnc_request [1 ] ),
2087 .fls_dnf_request (fls_dnf_request [1 ] ),
2088 .fls_dso_request (fls_dso_request [1 ] ),
2089 .fls_tof_request (fls_tof_request [1 ] ),
2090 .fls_dbz_request (fls_dbz_request [7:4] ),
2091 .fls_tcc_request (fls_tcc_request [1 ] ),
2092 .fls_dae_request (fls_dae_request [7:4] ),
2093 .fls_lsr_request (fls_lsr_request [7:4] ),
2094 .fls_irt_request (fls_irt_request [1 ] ),
2095 .fls_drt_request (fls_drt_request [1 ] ),
2096 .fls_pmu_request (fls_pmu_request [7:4] ),
2097 .fls_mqr_request (fls_mqr_request [7:4] ),
2098 .fls_dqr_request (fls_dqr_request [7:4] ),
2099 .fls_rqr_request (fls_rqr_request [7:4] ),
2100 .fls_idl_request (fls_idl_request [7:4] ),
2101 .fls_res_request (fls_res_request [7:4] ),
2102 .fls_ssr_request (fls_ssr_request [7:4] ),
2103 .fls_ssc_request (fls_ssc_request [7:4] ),
2104 .fls_nns_request (fls_nns_request [7:4] ),
2105 .fls_ime_request (fls_ime_request [7:4] ),
2106 .fls_dme_request (fls_dme_request [7:4] ),
2107 .fls_eer_request (fls_eer_request [7:4] ),
2108 .fls_icp_request (fls_icp_request [1 ] ),
2109 .fls_ftt_request (fls_ftt_request [7:4] ),
2110 .fls_ibp_request (fls_ibp_request [1 ] ),
2111 .fls_tct_request (fls_tct_request [1 ] ),
2112 .fls_ref_request (fls_ref_request [1 ] ),
2113 .fls_ipe_dme_request (fls_ipe_dme_request [1 ] ),
2114 .fls_pc_valid (fls_pc_valid [7:4] ),
2115 .fls_load_dsfar (fls_load_dsfar [7:4] ),
2116 .fls_irf_cecc_b (fls_irf_cecc_b [1 ] ),
2117 .fls_irf_uecc_b (fls_irf_uecc_b [1 ] ),
2118 .fls_kill_irf_ecc_w (fls_kill_irf_ecc_w [1 ] ),
2119 .fls_cwp0 (fls1_cwp0 [2:0] ),
2120 .fls_cwp1 (fls1_cwp1 [2:0] ),
2121 .fls_cwp2 (fls1_cwp2 [2:0] ),
2122 .fls_cwp3 (fls1_cwp3 [2:0] ),
2123 .fls_core_running (fls_core_running [7:4] ),
2124 .fls_ss_request (fls_ss_request_unused ),
2125 .fls_pct_pc_en (fls_pct_pc_en [7:4] ),
2126 .fls_pct_npc_en (fls_pct_npc_en [7:4] ),
2127 .fls_trl_l1en (fls_trl_l1en [7:4] ),
2128 .fls_npc_if_cnt_eq_1_d (fls1_npc_if_cnt_eq_1_d [4:2] ),
2129 .fls_npc_if_cnt_eq_2_d (fls1_npc_if_cnt_eq_2_d [4:2] ),
2130 .fls_npc_if_cnt_eq_3_d (fls1_npc_if_cnt_eq_3_d [4:2] ),
2131 .fls_flush (fls_flush [7:4] ),
2132 .fls_disrupting_flush_w (fls_disrupting_flush_w [1 ] ),
2133 .fls_f_cecc_w (fls_f_cecc_w_unused ),
2134 .fls_f_uecc_w (fls_f_uecc_w_unused ),
2135 .fls_ss_update_pc_w (fls_ss_update_pc_w [1 ] ),
2136 .tlu_iht_request (tlu_iht_request [7:4] ),
2137 .tlu_dht_request (tlu_dht_request [7:4] ),
2138 .tlu_itlb_bypass_e (tlu_itlb_bypass_e [1 ] ),
2139 .tlu_tag_access_tid_b (tlu_tag_access_tid_1_b [1:0] ),
2140 .tlu_i_tag_access_b (tlu_i_tag_access_1_b ),
2141 .tlu_d_tag_access_b (tlu_d_tag_access_1_b ),
2142 .tlu_retry_state (tlu_retry_state [7:4] ),
2143 .tlu_halted (tlu_halted [7:4] ),
2144 .tcu_pce_ov(tcu_pce_ov),
2145 .spc_aclk(spc_aclk),
2146 .spc_bclk(spc_bclk),
2147 .tcu_scan_en(tcu_scan_en),
2148 .spc_aclk_wmr(spc_aclk_wmr),
2149 .lsu_tlu_pmen(lsu_tlu_pmen),
2150 .tcu_ss_mode(tcu_ss_mode),
2151 .tcu_do_mode(tcu_do_mode),
2152 .tcu_ss_request(tcu_ss_request),
2153 .lsu_lddf_align_b(lsu_lddf_align_b),
2154 .lsu_stdf_align_b(lsu_stdf_align_b),
2155 .lsu_illegal_inst_b(lsu_illegal_inst_b),
2156 .lsu_daccess_prot_b(lsu_daccess_prot_b),
2157 .lsu_priv_action_b(lsu_priv_action_b),
2158 .lsu_va_watchpoint_b(lsu_va_watchpoint_b),
2159 .lsu_pa_watchpoint_b(lsu_pa_watchpoint_b),
2160 .lsu_align_b(lsu_align_b),
2161 .lsu_tlb_miss_b_(lsu_tlb_miss_b_),
2162 .lsu_dae_invalid_asi_b(lsu_dae_invalid_asi_b),
2163 .lsu_dae_nc_page_b(lsu_dae_nc_page_b),
2164 .lsu_dae_nfo_page_b(lsu_dae_nfo_page_b),
2165 .lsu_dae_priv_viol_b(lsu_dae_priv_viol_b),
2166 .lsu_dae_so_page(lsu_dae_so_page),
2167 .lsu_priv_action_g(lsu_priv_action_g),
2168 .lsu_tid_g(lsu_tid_g[2:0]),
2169 .lsu_tlb_bypass_b(lsu_tlb_bypass_b),
2170 .lsu_tlb_real_b(lsu_tlb_real_b),
2171 .lsu_sync_inst_b(lsu_sync_inst_b),
2172 .lsu_tlu_twocycle_m(lsu_tlu_twocycle_m),
2173 .lsu_dcl2u_err_g(lsu_dcl2u_err_g),
2174 .lsu_dcl2nd_err_g(lsu_dcl2nd_err_g),
2175 .lsu_dcerr_tid_g(lsu_dcerr_tid_g[2:0]),
2176 .lsu_sbdlc_err_g(lsu_sbdlc_err_g),
2177 .lsu_sbdlu_err_g(lsu_sbdlu_err_g),
2178 .lsu_sbapp_err_g(lsu_sbapp_err_g),
2179 .lsu_sbdiou_err_g(lsu_sbdiou_err_g),
2180 .lsu_stberr_tid_g(lsu_stberr_tid_g[2:0]),
2181 .lsu_dttp_err_b(lsu_dttp_err_b),
2182 .lsu_dtdp_err_b(lsu_dtdp_err_b),
2183 .lsu_dtmh_err_b(lsu_dtmh_err_b),
2184 .lsu_perfmon_trap_b(lsu_perfmon_trap_b),
2185 .lsu_perfmon_trap_g(lsu_perfmon_trap_g),
2186 .fgu_predict_fx2(fgu_predict_fx2),
2187 .fgu_pdist_beat2_fx1(fgu_pdist_beat2_fx1),
2188 .fgu_cecc_fx2(fgu_cecc_fx2),
2189 .fgu_uecc_fx2(fgu_uecc_fx2),
2190 .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw),
2191 .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw),
2192 .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw),
2193 .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw),
2194 .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw),
2195 .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]),
2196 .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]),
2197 .asi_ece_exc(asi_ece_exc),
2198 .asi_eue_exc(asi_eue_exc),
2199 .asi_ecc_tid(asi_ecc_tid[2:0]),
2200 .asi_decr(asi_decr[63:46]),
2201 .mmu_asi_cecc(mmu_asi_cecc),
2202 .mmu_asi_uecc(mmu_asi_uecc),
2203 .mmu_asi_tid(mmu_asi_tid[2:0]),
2204 .mmu_dae_req(mmu_dae_req),
2205 .mmu_dae_tid(mmu_dae_tid[2:0]),
2206 .spu_tlu_ma_int_req(spu_tlu_ma_int_req[4:0]),
2207 .spu_tlu_cwq_int_req(spu_tlu_cwq_int_req[3:0])
2208);
2209
2210
2211
2212////////////////////////////////////////////////////////////////////////////////
2213// PC and NPC tracking: one for each thread group
2214tlu_pct_dp pct0 (
2215 .wmr_scan_in(pct0_wmr_scanin),
2216 .wmr_scan_out(pct0_wmr_scanout),
2217 .scan_in(pct0_scanin),
2218 .scan_out(pct0_scanout),
2219 .l2clk (l2clk ),
2220 .dec_flush_b (dec_flush_b [0 ] ),
2221 .dec_inst_cnt (dec_inst0_cnt [1:0] ),
2222 .dec_raw_pick_p (dec_raw_pick_p [3:0] ),
2223 .exu_address_m (tic_exu_address0_m [47:2] ),
2224 .exu_oor_va_m (exu_oor_va_m [0 ] ),
2225 .asi_rd_pc (asi_rd_pc [3:0] ),
2226 .asi_wr_iaw (asi_wr_iaw [0 ] ),
2227 .asi_wr_data (asi_wr_data_0 [47:0] ),
2228 .fls_tid_dec_b (fls0_tid_dec_b [3:0] ),
2229 .fls_tid_dec_w (fls0_tid_dec_w [3:0] ),
2230 .fls_pc_sel_npc (fls_pc_sel_npc [3:0] ),
2231 .fls_pc_sel_npc_plus_4 (fls_pc_sel_npc_plus_4 [3:0] ),
2232 .fls_npc_sel_npc_plus_4 (fls_npc_sel_npc_plus_4 [3:0] ),
2233 .fls_npc_sel_npc_plus_8 (fls_npc_sel_npc_plus_8 [3:0] ),
2234 .fls_npc_sel_target (fls_npc_sel_target [3:0] ),
2235 .fls_npc_b_sel_npc (fls0_npc_b_sel_npc ),
2236 .fls_pc_is_npc (fls0_pc_is_npc ),
2237 .fls_pstate_am_d_ (fls_pstate_am_d_ [0 ] ),
2238 .fls_pstate_am_b_ (fls_pstate_am_b_ [0 ] ),
2239 .fls_pstate_am_w_ (fls_pstate_am_w_ [0 ] ),
2240 .fls_npc_if_cnt_eq_1_d (fls0_npc_if_cnt_eq_1_d [4:2] ),
2241 .fls_npc_if_cnt_eq_2_d (fls0_npc_if_cnt_eq_2_d [4:2] ),
2242 .fls_npc_if_cnt_eq_3_d (fls0_npc_if_cnt_eq_3_d [4:2] ),
2243 .fls_pct_pc_en (fls_pct_pc_en [3:0] ),
2244 .fls_pct_npc_en (fls_pct_npc_en [3:0] ),
2245 .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [3:0] ),
2246 .trl_npc_sel_trap_npc (trl_npc_sel_trap_npc [3:0] ),
2247 .trl_npc_sel_tnpc (trl_npc_sel_tnpc [3:0] ),
2248 .trl_trap_type (trl0_trap_type [8:0] ),
2249 .trl_pc_thread_sel (trl0_pc_thread_sel [3:0] ),
2250 .trl_pc_pstate_am_ (trl_pc_pstate_am_ [0 ] ),
2251 .trl_pc_sel_pc (trl_pc_sel_pc [0 ] ),
2252 .trl_pc_sel_npc (trl_pc_sel_npc [0 ] ),
2253 .trl_pc_sel_trap (trl_pc_sel_trap [0 ] ),
2254 .trl_pc_sel_reset (trl_pc_sel_reset [0 ] ),
2255 .trl_pc_done (trl_pc_done [0 ] ),
2256 .trl_pc_retry (trl_pc_retry [0 ] ),
2257 .trl_pc_tte (trl_pc_tte [0 ] ),
2258 .trl_pct_trap_pc_en (trl_pct_trap_pc_en [0 ] ),
2259 .trl_pct_tnpc_en (trl_pct_tnpc_en [0 ] ),
2260 .tsd_tba (tsd0_tba [47:14] ),
2261 .tsd_tpc (tsd0_tpc [47:2] ),
2262 .tsd_tpc_oor_va (tsd_tpc_oor_va [0 ] ),
2263 .tsd_tnpc (tsd0_tnpc [47:2] ),
2264 .tsd_tnpc_oor_va (tsd_tnpc_oor_va [0 ] ),
2265 .tsd_tnpc_nonseq (tsd_tnpc_nonseq [0 ] ),
2266 .tsd_asi_data_ (tsd0_asi_data_ [47:2] ),
2267 .tsd_pstate_am (tsd_pstate_am [3:0] ),
2268 .pct_npc_0_w (pct_npc_0_w [3:2] ),
2269 .pct_npc_1_w (pct_npc_1_w [3:2] ),
2270 .pct_npc_2_w (pct_npc_2_w [3:2] ),
2271 .pct_npc_3_w (pct_npc_3_w [3:2] ),
2272 .pct_asi_data (pct0_asi_data [48:2] ),
2273 .pct_tsa_pc (pct0_tsa_pc [47:2] ),
2274 .pct_tsa_pc_oor_va (pct_tsa_pc_oor_va [0 ] ),
2275 .pct_tsa_npc (pct0_tsa_npc [47:2] ),
2276 .pct_tsa_npc_oor_va (pct_tsa_npc_oor_va [0 ] ),
2277 .pct_tsa_npc_nonseq (pct_tsa_npc_nonseq [0 ] ),
2278 .pct_npc_is_nonseq (pct_npc_is_nonseq [3:0] ),
2279 .pct_pc_oor_va_e (pct_pc_oor_va_e [0 ] ),
2280 .pct_iaw_exc_e (pct0_iaw_exc_e [1:0] ),
2281 .pct_shadow_pc_d (pct0_shadow_pc_d [47:2] ),
2282 .pct_npc_w (pct0_npc_w [47:2] ),
2283 .pct_target_b (pct0_target_b [47:2] ),
2284 .pct_trl_wr_data (pct0_trl_wr_data [16:0] ),
2285 .tsd_pc_w (tsd_pc_0_w [10:5] ),
2286 .tlu_pc_d (tlu_pc_0_prebuf_d [47:2] ),
2287 .tlu_pc_w (tlu_pc_0_w [47:13] ),
2288 .tlu_trap_pc (tlu_trap_pc_0 [47:0] ),
2289 .tcu_pce_ov(tcu_pce_ov),
2290 .spc_aclk(spc_aclk),
2291 .spc_bclk(spc_bclk),
2292 .tcu_scan_en(tcu_scan_en),
2293 .tcu_dectest(tcu_dectest),
2294 .tcu_muxtest(tcu_muxtest),
2295 .tcu_scan_en_wmr(tcu_scan_en_wmr),
2296 .spc_aclk_wmr(spc_aclk_wmr),
2297 .tcu_wmr_vec_mask(tcu_wmr_vec_mask),
2298 .mmu_itte_tag_data(mmu_itte_tag_data[47:0]),
2299 .asi_rd_iaw(asi_rd_iaw)
2300);
2301
2302tlu_pct_dp pct1 (
2303 .wmr_scan_in(pct1_wmr_scanin),
2304 .wmr_scan_out(pct1_wmr_scanout),
2305 .scan_in(pct1_scanin),
2306 .scan_out(pct1_scanout),
2307 .l2clk (l2clk ),
2308 .dec_flush_b (dec_flush_b [1 ] ),
2309 .dec_inst_cnt (dec_inst1_cnt [1:0] ),
2310 .dec_raw_pick_p (dec_raw_pick_p [7:4] ),
2311 .exu_address_m (tic_exu_address1_m [47:2] ),
2312 .exu_oor_va_m (exu_oor_va_m [1 ] ),
2313 .asi_rd_pc (asi_rd_pc [7:4] ),
2314 .asi_wr_iaw (asi_wr_iaw [1 ] ),
2315 .asi_wr_data (asi_wr_data_1 [47:0] ),
2316 .fls_tid_dec_b (fls1_tid_dec_b [3:0] ),
2317 .fls_tid_dec_w (fls1_tid_dec_w [3:0] ),
2318 .fls_pc_sel_npc (fls_pc_sel_npc [7:4] ),
2319 .fls_pc_sel_npc_plus_4 (fls_pc_sel_npc_plus_4 [7:4] ),
2320 .fls_npc_sel_npc_plus_4 (fls_npc_sel_npc_plus_4 [7:4] ),
2321 .fls_npc_sel_npc_plus_8 (fls_npc_sel_npc_plus_8 [7:4] ),
2322 .fls_npc_sel_target (fls_npc_sel_target [7:4] ),
2323 .fls_npc_b_sel_npc (fls1_npc_b_sel_npc ),
2324 .fls_pc_is_npc (fls1_pc_is_npc ),
2325 .fls_pstate_am_d_ (fls_pstate_am_d_ [1 ] ),
2326 .fls_pstate_am_b_ (fls_pstate_am_b_ [1 ] ),
2327 .fls_pstate_am_w_ (fls_pstate_am_w_ [1 ] ),
2328 .fls_npc_if_cnt_eq_1_d (fls1_npc_if_cnt_eq_1_d [4:2] ),
2329 .fls_npc_if_cnt_eq_2_d (fls1_npc_if_cnt_eq_2_d [4:2] ),
2330 .fls_npc_if_cnt_eq_3_d (fls1_npc_if_cnt_eq_3_d [4:2] ),
2331 .fls_pct_pc_en (fls_pct_pc_en [7:4] ),
2332 .fls_pct_npc_en (fls_pct_npc_en [7:4] ),
2333 .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [7:4] ),
2334 .trl_npc_sel_trap_npc (trl_npc_sel_trap_npc [7:4] ),
2335 .trl_npc_sel_tnpc (trl_npc_sel_tnpc [7:4] ),
2336 .trl_trap_type (trl1_trap_type [8:0] ),
2337 .trl_pc_thread_sel (trl1_pc_thread_sel [3:0] ),
2338 .trl_pc_pstate_am_ (trl_pc_pstate_am_ [1 ] ),
2339 .trl_pc_sel_pc (trl_pc_sel_pc [1 ] ),
2340 .trl_pc_sel_npc (trl_pc_sel_npc [1 ] ),
2341 .trl_pc_sel_trap (trl_pc_sel_trap [1 ] ),
2342 .trl_pc_sel_reset (trl_pc_sel_reset [1 ] ),
2343 .trl_pc_done (trl_pc_done [1 ] ),
2344 .trl_pc_retry (trl_pc_retry [1 ] ),
2345 .trl_pc_tte (trl_pc_tte [1 ] ),
2346 .trl_pct_trap_pc_en (trl_pct_trap_pc_en [1 ] ),
2347 .trl_pct_tnpc_en (trl_pct_tnpc_en [1 ] ),
2348 .tsd_tba (tsd1_tba [47:14] ),
2349 .tsd_tpc (tsd1_tpc [47:2] ),
2350 .tsd_tpc_oor_va (tsd_tpc_oor_va [1 ] ),
2351 .tsd_tnpc (tsd1_tnpc [47:2] ),
2352 .tsd_tnpc_oor_va (tsd_tnpc_oor_va [1 ] ),
2353 .tsd_tnpc_nonseq (tsd_tnpc_nonseq [1 ] ),
2354 .tsd_asi_data_ (tsd1_asi_data_ [47:2] ),
2355 .tsd_pstate_am (tsd_pstate_am [7:4] ),
2356 .pct_npc_0_w (pct_npc_4_w [3:2] ),
2357 .pct_npc_1_w (pct_npc_5_w [3:2] ),
2358 .pct_npc_2_w (pct_npc_6_w [3:2] ),
2359 .pct_npc_3_w (pct_npc_7_w [3:2] ),
2360 .pct_asi_data (pct1_asi_data [48:2] ),
2361 .pct_tsa_pc (pct1_tsa_pc [47:2] ),
2362 .pct_tsa_pc_oor_va (pct_tsa_pc_oor_va [1 ] ),
2363 .pct_tsa_npc (pct1_tsa_npc [47:2] ),
2364 .pct_tsa_npc_oor_va (pct_tsa_npc_oor_va [1 ] ),
2365 .pct_tsa_npc_nonseq (pct_tsa_npc_nonseq [1 ] ),
2366 .pct_npc_is_nonseq (pct_npc_is_nonseq [7:4] ),
2367 .pct_pc_oor_va_e (pct_pc_oor_va_e [1 ] ),
2368 .pct_iaw_exc_e (pct1_iaw_exc_e [1:0] ),
2369 .pct_shadow_pc_d (pct1_shadow_pc_d [47:2] ),
2370 .pct_npc_w (pct1_npc_w [47:2] ),
2371 .pct_target_b (pct1_target_b [47:2] ),
2372 .pct_trl_wr_data (pct1_trl_wr_data [16:0] ),
2373 .tsd_pc_w (tsd_pc_1_w [10:5] ),
2374 .tlu_pc_d (tlu_pc_1_d [47:2] ),
2375 .tlu_pc_w (tlu_pc_1_w [47:13] ),
2376 .tlu_trap_pc (tlu_trap_pc_1 [47:0] ),
2377 .tcu_pce_ov(tcu_pce_ov),
2378 .spc_aclk(spc_aclk),
2379 .spc_bclk(spc_bclk),
2380 .tcu_scan_en(tcu_scan_en),
2381 .tcu_dectest(tcu_dectest),
2382 .tcu_muxtest(tcu_muxtest),
2383 .tcu_scan_en_wmr(tcu_scan_en_wmr),
2384 .spc_aclk_wmr(spc_aclk_wmr),
2385 .tcu_wmr_vec_mask(tcu_wmr_vec_mask),
2386 .mmu_itte_tag_data(mmu_itte_tag_data[47:0]),
2387 .asi_rd_iaw(asi_rd_iaw)
2388);
2389
2390tlu_npc_dp npc(
2391 .pct0_npc_w(pct0_npc_w[47:2]),
2392 .pct1_npc_w(pct1_npc_w[47:2]),
2393 .fls1_lsu_inst_w(fls1_lsu_inst_w),
2394 .tlu_npc_w(tlu_npc_w[47:2]));
2395
2396
2397
2398////////////////////////////////////////////////////////////////////////////////
2399// Crossbar Interface
2400tlu_cxi_ctl cxi (
2401 .scan_in(cxi_scanin),
2402 .scan_out(cxi_scanout),
2403 .l2clk (l2clk ),
2404 .lsu_cpx_req (l15_spc_cpkt [17:14] ),
2405 .lsu_cpx_err (l15_spc_cpkt [11:10] ),
2406 .lsu_cpx_sre (l15_spc_cpkt [9 ] ),
2407 .lsu_cpx_err_thread_id (l15_spc_cpkt [8:6] ),
2408 .lsu_cpx_thread_id (l15_spc_data1 [10:8] ),
2409 .lsu_cpx_valid (l15_spc_valid ),
2410 .lsu_cpx_type (l15_spc_data1 [15:14] ),
2411 .lsu_cpx_vector (l15_spc_data1 [5:0] ),
2412 .lsu_cpx_prefetch (l15_spc_cpkt [0 ] ),
2413 .spc_ss_complete (tlu_ss_complete ),
2414 .tcu_pce_ov(tcu_pce_ov),
2415 .spc_aclk(spc_aclk),
2416 .spc_bclk(spc_bclk),
2417 .tcu_scan_en(tcu_scan_en),
2418 .fls_core_running(fls_core_running[7:0]),
2419 .fls_ss_request(fls_ss_request),
2420 .lsu_ext_interrupt(lsu_ext_interrupt),
2421 .lsu_ext_int_type(lsu_ext_int_type[1:0]),
2422 .lsu_ext_int_vec(lsu_ext_int_vec[5:0]),
2423 .lsu_ext_int_tid(lsu_ext_int_tid[2:0]),
2424 .trl_ss_complete(trl_ss_complete[7:0]),
2425 .asi_irl_cleared(asi_irl_cleared[7:0]),
2426 .cth_irl_cleared(cth_irl_cleared[63:0]),
2427 .tlu_cerer_l2c_socc(tlu_cerer_l2c_socc),
2428 .tlu_cerer_l2u_socu(tlu_cerer_l2u_socu),
2429 .tlu_cerer_l2nd(tlu_cerer_l2nd),
2430 .cxi_xir(cxi_xir[7:0]),
2431 .cxi_ivt(cxi_ivt[7:0]),
2432 .cxi_wr_int_dis(cxi_wr_int_dis[7:0]),
2433 .cxi_int_dis_vec(cxi_int_dis_vec[5:0]),
2434 .cxi_l2_soc_sre(cxi_l2_soc_sre),
2435 .cxi_l2_soc_err_type(cxi_l2_soc_err_type[1:0]),
2436 .cxi_l2_soc_tid(cxi_l2_soc_tid[2:0]),
2437 .cxi_l2_err(cxi_l2_err),
2438 .cxi_soc_err(cxi_soc_err)
2439);
2440
2441assign l15_spc_cpkt_unused[13:12] = l15_spc_cpkt[13:12];
2442assign l15_spc_cpkt_unused[5:1] = l15_spc_cpkt[5:1];
2443assign l15_spc_data1_unused[13:11] = l15_spc_data1[13:11];
2444assign l15_spc_data1_unused[7:6] = l15_spc_data1[7:6];
2445
2446
2447
2448////////////////////////////////////////////////////////////////////////////////
2449// Cross Thread Interrupts
2450tlu_cth_dp cth (
2451 .wmr_scan_in(cth_wmr_scanin),
2452 .wmr_scan_out(cth_wmr_scanout),
2453 .scan_in(cth_scanin),
2454 .scan_out(cth_scanout),
2455 .l2clk (l2clk ),
2456 .asi_wr_data (asi_wr_data_0 [63:0] ),
2457 .tcu_pce_ov(tcu_pce_ov),
2458 .spc_aclk(spc_aclk),
2459 .spc_bclk(spc_bclk),
2460 .tcu_scan_en(tcu_scan_en),
2461 .tcu_dectest(tcu_dectest),
2462 .tcu_muxtest(tcu_muxtest),
2463 .tcu_scan_en_wmr(tcu_scan_en_wmr),
2464 .spc_aclk_wmr(spc_aclk_wmr),
2465 .lsu_rngf_cdbus(lsu_rngf_cdbus[64:56]),
2466 .cxi_wr_int_dis(cxi_wr_int_dis[7:0]),
2467 .cxi_int_dis_vec(cxi_int_dis_vec[5:0]),
2468 .asi_wr_int_rec(asi_wr_int_rec[7:0]),
2469 .asi_rd_inc_vec_2(asi_rd_inc_vec_2[7:0]),
2470 .asi_int_rec_mux_sel_in(asi_int_rec_mux_sel_in[2:0]),
2471 .asi_rd_int_rec(asi_rd_int_rec),
2472 .asi_rd_inc_vec(asi_rd_inc_vec),
2473 .asi_wr_any_int_rec(asi_wr_any_int_rec),
2474 .asi_rd_stage_1(asi_rd_stage_1),
2475 .dfd_asi_data(dfd_asi_data[47:0]),
2476 .dfd_asi_desr(dfd_asi_desr[18:0]),
2477 .cth_wr_data(cth_wr_data[61:0]),
2478 .cth_asi_data(cth_asi_data[63:0]),
2479 .cth_irl_cleared(cth_irl_cleared[63:0])
2480);
2481
2482
2483
2484////////////////////////////////////////////////////////////////////////////////
2485// Trap Redirect Logic: one for each thread group
2486tlu_trl_ctl trl0 (
2487 .wmr_scan_in(trl0_wmr_scanin),
2488 .wmr_scan_out(trl0_wmr_scanout),
2489 .scan_in(trl0_scanin),
2490 .scan_out(trl0_scanout),
2491 .l2clk (l2clk ),
2492 .thread_group (1'b0 ),
2493 .ftu_ifu_quiesce (ftu_ifu_quiesce [3:0] ),
2494 .pku_quiesce (pku_quiesce [3:0] ),
2495 .exu_tlu_window_block (exu_tlu_window_block [0 ] ),
2496 .lsu_stb_empty (lsu_stb_empty [3:0] ),
2497 .mmu_write_itlb (mmu_write_itlb [3:0] ),
2498 .mmu_reload_done (mmu_reload_done [3:0] ),
2499 .mmu_i_unauth_access (mmu_i_unauth_access [3:0] ),
2500 .mmu_i_tsb_miss (mmu_i_tsb_miss [3:0] ),
2501 .mmu_d_tsb_miss (mmu_d_tsb_miss [3:0] ),
2502 .mmu_i_tte_outofrange (mmu_i_tte_outofrange [3:0] ),
2503 .mmu_d_tte_outofrange (mmu_d_tte_outofrange [3:0] ),
2504 .fls_wstate0 (fls_wstate0 [2:0] ),
2505 .fls_wstate1 (fls_wstate1 [2:0] ),
2506 .fls_wstate2 (fls_wstate2 [2:0] ),
2507 .fls_wstate3 (fls_wstate3 [2:0] ),
2508 .fls_tcc_number_0 (fls_tcc_number_0 [7:0] ),
2509 .fls_tcc_number_1 (fls_tcc_number_1 [7:0] ),
2510 .fls_tcc_number_2 (fls_tcc_number_2 [7:0] ),
2511 .fls_tcc_number_3 (fls_tcc_number_3 [7:0] ),
2512 .fls_tid_d (fls0_tid_d [1:0] ),
2513 .fls_tid_dec_w_in (fls_tid_dec_w_in [3:0] ),
2514 .fls_por_request (fls_por_request [3:0] ),
2515 .fls_xir_request (fls_xir_request [3:0] ),
2516 .fls_ivt_request (fls_ivt_request [3:0] ),
2517 .fls_sir_request (fls_sir_request [3:0] ),
2518 .fls_itm_request (fls_itm_request [3:0] ),
2519 .fls_iln_request (fls_iln_request [3:0] ),
2520 .fls_hst_request (fls_hst_request [3:0] ),
2521 .fls_tlz_request (fls_tlz_request [3:0] ),
2522 .fls_sma_request (fls_sma_request [3:0] ),
2523 .fls_cwq_request (fls_cwq_request [3:0] ),
2524 .fls_ade_request (fls_ade_request [3:0] ),
2525 .fls_iae_request (fls_iae_request [3:0] ),
2526 .fls_ipe_request (fls_ipe_request [3:0] ),
2527 .fls_ipv_request (fls_ipv_request [0 ] ),
2528 .fls_inp_request (fls_inp_request [0 ] ),
2529 .fls_iar_request (fls_iar_request [0 ] ),
2530 .fls_irr_request (fls_irr_request [0 ] ),
2531 .fls_mar_request (fls_mar_request [0 ] ),
2532 .fls_mrr_request (fls_mrr_request [0 ] ),
2533 .fls_pro_request (fls_pro_request [0 ] ),
2534 .fls_ill_request (fls_ill_request [0 ] ),
2535 .fls_don_request (fls_don_request [0 ] ),
2536 .fls_ret_request (fls_ret_request [0 ] ),
2537 .fls_fpd_request (fls_fpd_request [0 ] ),
2538 .fls_snn_request (fls_snn_request [0 ] ),
2539 .fls_sno_request (fls_sno_request [0 ] ),
2540 .fls_fnn_request (fls_fnn_request [0 ] ),
2541 .fls_fno_request (fls_fno_request [0 ] ),
2542 .fls_clw_request (fls_clw_request [0 ] ),
2543 .fls_dtm_request (fls_dtm_request [3:0] ),
2544 .fls_ldf_request (fls_ldf_request [0 ] ),
2545 .fls_stf_request (fls_stf_request [0 ] ),
2546 .fls_dap_request (fls_dap_request [0 ] ),
2547 .fls_vaw_request (fls_vaw_request [0 ] ),
2548 .fls_iaw_request (fls_iaw_request [0 ] ),
2549 .fls_paw_request (fls_paw_request [0 ] ),
2550 .fls_maa_request (fls_maa_request [0 ] ),
2551 .fls_fpe_request (fls_fpe_request [0 ] ),
2552 .fls_fei_request (fls_fei_request [3:0] ),
2553 .fls_fof_request (fls_fof_request [3:0] ),
2554 .fls_pra_request (fls_pra_request [3:0] ),
2555 .fls_dia_request (fls_dia_request [0 ] ),
2556 .fls_ups_request (fls_ups_request [3:0] ),
2557 .fls_dpv_request (fls_dpv_request [0 ] ),
2558 .fls_dnc_request (fls_dnc_request [0 ] ),
2559 .fls_dnf_request (fls_dnf_request [0 ] ),
2560 .fls_dso_request (fls_dso_request [0 ] ),
2561 .fls_tof_request (fls_tof_request [0 ] ),
2562 .fls_dbz_request (fls_dbz_request [3:0] ),
2563 .fls_tcc_request (fls_tcc_request [0 ] ),
2564 .fls_dae_request (fls_dae_request [3:0] ),
2565 .fls_lsr_request (fls_lsr_request [3:0] ),
2566 .fls_irt_request (fls_irt_request [0 ] ),
2567 .fls_drt_request (fls_drt_request [0 ] ),
2568 .fls_pmu_request (fls_pmu_request [3:0] ),
2569 .fls_mqr_request (fls_mqr_request [3:0] ),
2570 .fls_dqr_request (fls_dqr_request [3:0] ),
2571 .fls_rqr_request (fls_rqr_request [3:0] ),
2572 .fls_idl_request (fls_idl_request [3:0] ),
2573 .fls_res_request (fls_res_request [3:0] ),
2574 .fls_ssr_request (fls_ssr_request [3:0] ),
2575 .fls_ssc_request (fls_ssc_request [3:0] ),
2576 .fls_nns_request (fls_nns_request [3:0] ),
2577 .fls_ime_request (fls_ime_request [3:0] ),
2578 .fls_dme_request (fls_dme_request [3:0] ),
2579 .fls_eer_request (fls_eer_request [3:0] ),
2580 .fls_icp_request (fls_icp_request [0 ] ),
2581 .fls_ftt_request (fls_ftt_request [3:0] ),
2582 .fls_ibp_request (fls_ibp_request [0 ] ),
2583 .fls_tct_request (fls_tct_request [0 ] ),
2584 .fls_ref_request (fls_ref_request [0 ] ),
2585 .fls_pc_valid (fls_pc_valid [3:0] ),
2586 .pmu_tlu_trap_m (pmu_tlu_trap_m [3:0] ),
2587 .fls_trl_l1en (fls_trl_l1en [3:0] ),
2588 .fls_core_running (fls_core_running [3:0] ),
2589 .tlu_flush_ifu (tlu_flush_ifu [3:0] ),
2590 .pct_npc_is_nonseq (pct_npc_is_nonseq [3:0] ),
2591 .trlx_itw_wait (1'b0 ),
2592 .trlx_itw_last (trl1_itw_last ),
2593 .tsa_gl (tsa0_gl [1:0] ),
2594 .tsa_tnpc_nonseq (tsa_tnpc_nonseq [0 ] ),
2595 .tel_tsacu_exc (tel_tsacu_exc [3:0] ),
2596 .tlu_ceter_de (tlu_ceter_de [3:0] ),
2597 .tlu_ceter_pscce (tlu_ceter_pscce [3:0] ),
2598 .tsd_hpstate_red (tsd_hpstate_red [3:0] ),
2599 .tsd_hpstate_hpriv (tsd_hpstate_hpriv [3:0] ),
2600 .tsd_hpstate_tlz (tsd_hpstate_tlz [3:0] ),
2601 .tsd_pstate_ie (tsd_pstate_ie [3:0] ),
2602 .tsd_pstate_am (tsd_pstate_am [3:0] ),
2603 .tsd_htstate_hpriv (tsd_htstate_hpriv [0] ),
2604 .asi_rd_tl (asi_rd_tl [3:0] ),
2605 .asi_wr_tl (asi_wr_tl [3:0] ),
2606 .asi_rd_pil (asi_rd_pil [3:0] ),
2607 .asi_wr_pil (asi_wr_pil [3:0] ),
2608 .asi_rd_gl (asi_rd_gl [3:0] ),
2609 .asi_wr_gl (asi_wr_gl [3:0] ),
2610 .asi_wr_set_softint (asi_wr_set_softint [3:0] ),
2611 .asi_wr_clear_softint (asi_wr_clear_softint [3:0] ),
2612 .asi_rd_softint (asi_rd_softint [3:0] ),
2613 .asi_wr_softint (asi_wr_softint [3:0] ),
2614 .asi_rd_hintp (asi_rd_hintp [3:0] ),
2615 .asi_wr_hintp (asi_wr_hintp [3:0] ),
2616 .asi_wr_data (pct0_trl_wr_data [16:0] ),
2617 .asi_preempt_trap (asi_preempt_trap [0 ] ),
2618 .asi_preempt_done_retry (asi_preempt_done_retry [0 ] ),
2619 .asi_rmw_tsa (asi_rmw_tsa [0 ] ),
2620 .asi_wr_asireg (asi_wr_asireg [3:0] ),
2621 .asi_trl_pstate_en (asi_trl_pstate_en [0 ] ),
2622 .asi_mbist_tsa_rd_en (asi_mbist_tsa_rd_en [0 ] ),
2623 .asi_mbist_tsa_wr_en (asi_mbist_tsa_wr_en [0 ] ),
2624 .spc_core_running_status(tlu_core_running_status[3:0] ),
2625 .trl_core_running_status(trl_core_running_status[3:0] ),
2626 .trl_pil_mask_15 (trl_pil_mask_15 [3:0] ),
2627 .trl_iln_exc (trl_iln_exc [3:0] ),
2628 .trl_hstick_match (trl_hstick_match [3:0] ),
2629 .trl_unhalt_ (trl_unhalt_ [3:0] ),
2630 .trl_tlz_exc (trl_tlz_exc [3:0] ),
2631 .trl_nns_exc (trl_nns_exc [3:0] ),
2632 .trl_ssc_exc (trl_ssc_exc [3:0] ),
2633 .trl_take_sma (trl0_take_sma ),
2634 .trl_take_cwq (trl0_take_cwq ),
2635 .trl_take_xir (trl0_take_xir ),
2636 .trl_take_ftt (trl0_take_ftt ),
2637 .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [3:0] ),
2638 .trl_npc_sel_trap_npc (trl_npc_sel_trap_npc [3:0] ),
2639 .trl_npc_sel_tnpc (trl_npc_sel_tnpc [3:0] ),
2640 .trl_invalidate_pc (trl_invalidate_pc [3:0] ),
2641 .trl_invalidate_npc (trl_invalidate_npc [3:0] ),
2642 .trl_trap_type (trl0_trap_type [8:0] ),
2643 .trl_tsa_trap_type (trl0_tsa_trap_type [8:0] ),
2644 .trl_asireg_sel (trl0_asireg_sel [4:0] ),
2645 .trl_asireg_en (trl0_asireg_en ),
2646 .trl_thread_sel (trl0_thread_sel [3:0] ),
2647 .trl_tba_sel (trl0_tba_sel [2:0] ),
2648 .trl_pc_thread_sel (trl0_pc_thread_sel [3:0] ),
2649 .trl_pc_pstate_am_ (trl_pc_pstate_am_ [0 ] ),
2650 .trl_pstate_thread_sel (trl0_pstate_thread_sel [4:0] ),
2651 .trl_don_ret_pstate_sel (trl0_don_ret_pstate_sel[3:0] ),
2652 .trl_pstate_en (trl0_pstate_en ),
2653 .trl_pc_sel_pc (trl_pc_sel_pc [0 ] ),
2654 .trl_pc_sel_npc (trl_pc_sel_npc [0 ] ),
2655 .trl_pc_sel_trap (trl_pc_sel_trap [0 ] ),
2656 .trl_pc_sel_reset (trl_pc_sel_reset [0 ] ),
2657 .trl_pc_done (trl_pc_done [0 ] ),
2658 .trl_pc_retry (trl_pc_retry [0 ] ),
2659 .trl_pc_tte (trl_pc_tte [0 ] ),
2660 .trl_pct_trap_pc_en (trl_pct_trap_pc_en [0 ] ),
2661 .trl_pct_tnpc_en (trl_pct_tnpc_en [0 ] ),
2662 .trl_reset_trap (trl_reset_trap [0 ] ),
2663 .trl_other_trap (trl_other_trap [0 ] ),
2664 .trl_stay_in_priv (trl_stay_in_priv [0 ] ),
2665 .trl_tsa_wr_en (trl_tsa_wr_en_pre [0 ] ),
2666 .trl_tsa_wr_addr (trl0_tsa_wr_addr [4:0] ),
2667 .trl_tsa_rd_en (trl_tsa_rd_en [0 ] ),
2668 .trl_tsa_rd_addr (trl0_tsa_rd_addr [4:0] ),
2669 .trl_save_tsa (trl0_save_tsa ),
2670 .trl_tsd_tsa_en (trl0_tsd_tsa_en ),
2671 .trl_tsd_tsa_wd_en (trl0_tsd_tsa_wd_en ),
2672 .trl_capture_ss (trl0_capture_ss ),
2673 .trl_rmw_tsa (trl0_rmw_tsa ),
2674 .trl_tl_gt_0 (trl_tl_gt_0 [0 ] ),
2675 .trl_tl_eq_0 (trl_tl_eq_0 [3:0] ),
2676 .trl_tsa_gl (trl0_tsa_gl [1:0] ),
2677 .trl_asi_data (trl0_asi_data [16:0] ),
2678 .trl_ss_complete (trl_ss_complete [3:0] ),
2679 .trl_itw_wait (trl0_itw_wait ),
2680 .trl_itw_last (trl0_itw_last ),
2681 .trl_shscanid (trl0_shscanid [1:0] ),
2682 .trl_shscanid_2 (trl0_shscanid_2 ),
2683 .trl_shadow_tl (trl0_shadow_tl [2:0] ),
2684 .trl_tl_for_tt (trl0_tl_for_tt [2:0] ),
2685 .trl_fls_npc_en (trl_fls_npc_en [3:0] ),
2686 .trl_trap_taken (trl_trap_taken [3:0] ),
2687 .trl_tel_en (trl_tel_en [0 ] ),
2688 .trl_gl0 (trl_gl0 [1:0] ),
2689 .trl_gl1 (trl_gl1 [1:0] ),
2690 .trl_gl2 (trl_gl2 [1:0] ),
2691 .trl_gl3 (trl_gl3 [1:0] ),
2692 .trl_tsacu_en_in (trl_tsacu_en_in [3:0] ),
2693 .tlu_tsa_index (tlu_tsa_index_0 [2:0] ),
2694 .tlu_tccd (tlu_tccd [3:0] ),
2695 .tlu_tcud (tlu_tcud [3:0] ),
2696 .tlu_tca_index (tlu_tca_index_0 [1:0] ),
2697 .tlu_window_block (tlu_window_block [0 ] ),
2698 .tlu_trap_pc_valid (tlu_trap_pc_0_valid ),
2699 .tlu_retry (tlu_retry [0 ] ),
2700 .tlu_ifu_invalidate (tlu_ifu_invalidate [0 ] ),
2701 .tlu_trap_tid (tlu_trap_0_tid [1:0] ),
2702 .tlu_itlb_reload (tlu_itlb_reload [0 ] ),
2703 .tlu_ccr_cwp_valid (tlu_ccr_cwp_0_valid ),
2704 .tlu_ccr_cwp_tid (tlu_ccr_cwp_0_tid [1:0] ),
2705 .tlu_asi_valid (tlu_asi_0_valid ),
2706 .tlu_asi_tid (tlu_asi_0_tid [1:0] ),
2707 .tlu_gl0 (tlu_gl0 [1:0] ),
2708 .tlu_gl1 (tlu_gl1 [1:0] ),
2709 .tlu_gl2 (tlu_gl2 [1:0] ),
2710 .tlu_gl3 (tlu_gl3 [1:0] ),
2711 .tlu_tl_gt_0 (tlu_tl_gt_0 [3:0] ),
2712 .tlu_mmu_tl_gt_0 (tlu_mmu_tl_gt_0 [3:0] ),
2713 .tlu_release_tte (tlu_release_tte [3:0] ),
2714 .tlu_lsu_clear_ctl_reg_ (tlu_lsu_clear_ctl_reg_ [3:0] ),
2715 .tlu_pmu_trap_taken (tlu_pmu_trap_taken [3:0] ),
2716 .tlu_pmu_trap_mask_e (tlu_pmu_trap_mask_e [0 ] ),
2717 .tcu_pce_ov(tcu_pce_ov),
2718 .spc_aclk(spc_aclk),
2719 .spc_bclk(spc_bclk),
2720 .tcu_scan_en(tcu_scan_en),
2721 .spc_aclk_wmr(spc_aclk_wmr),
2722 .lsu_tlu_pmen(lsu_tlu_pmen),
2723 .tcu_shscanid(tcu_shscanid[2:0]),
2724 .tcu_ss_mode(tcu_ss_mode),
2725 .tcu_do_mode(tcu_do_mode),
2726 .mbi_run(mbi_run),
2727 .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw),
2728 .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw),
2729 .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw),
2730 .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw),
2731 .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw),
2732 .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]),
2733 .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]),
2734 .spu_pmu_ma_busy(spu_pmu_ma_busy),
2735 .spu_tlu_cwq_busy(spu_tlu_cwq_busy),
2736 .spu_tlu_ma_int_req(spu_tlu_ma_int_req[2:0]),
2737 .tic_addr(tic_addr[4:0]),
2738 .tic_not_valid(tic_not_valid),
2739 .tic_match(tic_match),
2740 .cel_tccd(cel_tccd),
2741 .cel_tcud(cel_tcud),
2742 .asi_tsa_rd_addr(asi_tsa_rd_addr[4:0]),
2743 .asi_tsa_rd_iqr_ecc(asi_tsa_rd_iqr_ecc),
2744 .asi_tsa_tid(asi_tsa_tid[1:0]),
2745 .asi_mbist_addr(asi_mbist_addr[4:0])
2746);
2747
2748tlu_trl_ctl trl1 (
2749 .wmr_scan_in(trl1_wmr_scanin),
2750 .wmr_scan_out(trl1_wmr_scanout),
2751 .scan_in(trl1_scanin),
2752 .scan_out(trl1_scanout),
2753 .l2clk (l2clk ),
2754 .thread_group (1'b1 ),
2755 .ftu_ifu_quiesce (ftu_ifu_quiesce [7:4] ),
2756 .pku_quiesce (pku_quiesce [7:4] ),
2757 .exu_tlu_window_block (exu_tlu_window_block [1 ] ),
2758 .lsu_stb_empty (lsu_stb_empty [7:4] ),
2759 .mmu_write_itlb (mmu_write_itlb [7:4] ),
2760 .mmu_reload_done (mmu_reload_done [7:4] ),
2761 .mmu_i_unauth_access (mmu_i_unauth_access [7:4] ),
2762 .mmu_i_tsb_miss (mmu_i_tsb_miss [7:4] ),
2763 .mmu_d_tsb_miss (mmu_d_tsb_miss [7:4] ),
2764 .mmu_i_tte_outofrange (mmu_i_tte_outofrange [7:4] ),
2765 .mmu_d_tte_outofrange (mmu_d_tte_outofrange [7:4] ),
2766 .fls_wstate0 (fls_wstate4 [2:0] ),
2767 .fls_wstate1 (fls_wstate5 [2:0] ),
2768 .fls_wstate2 (fls_wstate6 [2:0] ),
2769 .fls_wstate3 (fls_wstate7 [2:0] ),
2770 .fls_tcc_number_0 (fls_tcc_number_4 [7:0] ),
2771 .fls_tcc_number_1 (fls_tcc_number_5 [7:0] ),
2772 .fls_tcc_number_2 (fls_tcc_number_6 [7:0] ),
2773 .fls_tcc_number_3 (fls_tcc_number_7 [7:0] ),
2774 .fls_tid_d (fls1_tid_d [1:0] ),
2775 .fls_tid_dec_w_in (fls_tid_dec_w_in [7:4] ),
2776 .fls_por_request (fls_por_request [7:4] ),
2777 .fls_xir_request (fls_xir_request [7:4] ),
2778 .fls_ivt_request (fls_ivt_request [7:4] ),
2779 .fls_sir_request (fls_sir_request [7:4] ),
2780 .fls_itm_request (fls_itm_request [7:4] ),
2781 .fls_iln_request (fls_iln_request [7:4] ),
2782 .fls_hst_request (fls_hst_request [7:4] ),
2783 .fls_tlz_request (fls_tlz_request [7:4] ),
2784 .fls_sma_request (fls_sma_request [7:4] ),
2785 .fls_cwq_request (fls_cwq_request [7:4] ),
2786 .fls_ade_request (fls_ade_request [7:4] ),
2787 .fls_iae_request (fls_iae_request [7:4] ),
2788 .fls_ipe_request (fls_ipe_request [7:4] ),
2789 .fls_ipv_request (fls_ipv_request [1 ] ),
2790 .fls_inp_request (fls_inp_request [1 ] ),
2791 .fls_iar_request (fls_iar_request [1 ] ),
2792 .fls_irr_request (fls_irr_request [1 ] ),
2793 .fls_mar_request (fls_mar_request [1 ] ),
2794 .fls_mrr_request (fls_mrr_request [1 ] ),
2795 .fls_pro_request (fls_pro_request [1 ] ),
2796 .fls_ill_request (fls_ill_request [1 ] ),
2797 .fls_don_request (fls_don_request [1 ] ),
2798 .fls_ret_request (fls_ret_request [1 ] ),
2799 .fls_fpd_request (fls_fpd_request [1 ] ),
2800 .fls_snn_request (fls_snn_request [1 ] ),
2801 .fls_sno_request (fls_sno_request [1 ] ),
2802 .fls_fnn_request (fls_fnn_request [1 ] ),
2803 .fls_fno_request (fls_fno_request [1 ] ),
2804 .fls_clw_request (fls_clw_request [1 ] ),
2805 .fls_dtm_request (fls_dtm_request [7:4] ),
2806 .fls_ldf_request (fls_ldf_request [1 ] ),
2807 .fls_stf_request (fls_stf_request [1 ] ),
2808 .fls_dap_request (fls_dap_request [1 ] ),
2809 .fls_vaw_request (fls_vaw_request [1 ] ),
2810 .fls_iaw_request (fls_iaw_request [1 ] ),
2811 .fls_paw_request (fls_paw_request [1 ] ),
2812 .fls_maa_request (fls_maa_request [1 ] ),
2813 .fls_fpe_request (fls_fpe_request [1 ] ),
2814 .fls_fei_request (fls_fei_request [7:4] ),
2815 .fls_fof_request (fls_fof_request [7:4] ),
2816 .fls_pra_request (fls_pra_request [7:4] ),
2817 .fls_dia_request (fls_dia_request [1 ] ),
2818 .fls_ups_request (fls_ups_request [7:4] ),
2819 .fls_dpv_request (fls_dpv_request [1 ] ),
2820 .fls_dnc_request (fls_dnc_request [1 ] ),
2821 .fls_dnf_request (fls_dnf_request [1 ] ),
2822 .fls_dso_request (fls_dso_request [1 ] ),
2823 .fls_tof_request (fls_tof_request [1 ] ),
2824 .fls_dbz_request (fls_dbz_request [7:4] ),
2825 .fls_tcc_request (fls_tcc_request [1 ] ),
2826 .fls_dae_request (fls_dae_request [7:4] ),
2827 .fls_lsr_request (fls_lsr_request [7:4] ),
2828 .fls_irt_request (fls_irt_request [1 ] ),
2829 .fls_drt_request (fls_drt_request [1 ] ),
2830 .fls_pmu_request (fls_pmu_request [7:4] ),
2831 .fls_mqr_request (fls_mqr_request [7:4] ),
2832 .fls_dqr_request (fls_dqr_request [7:4] ),
2833 .fls_rqr_request (fls_rqr_request [7:4] ),
2834 .fls_idl_request (fls_idl_request [7:4] ),
2835 .fls_res_request (fls_res_request [7:4] ),
2836 .fls_ssr_request (fls_ssr_request [7:4] ),
2837 .fls_ssc_request (fls_ssc_request [7:4] ),
2838 .fls_nns_request (fls_nns_request [7:4] ),
2839 .fls_ime_request (fls_ime_request [7:4] ),
2840 .fls_dme_request (fls_dme_request [7:4] ),
2841 .fls_eer_request (fls_eer_request [7:4] ),
2842 .fls_icp_request (fls_icp_request [1 ] ),
2843 .fls_ftt_request (fls_ftt_request [7:4] ),
2844 .fls_ibp_request (fls_ibp_request [1 ] ),
2845 .fls_tct_request (fls_tct_request [1 ] ),
2846 .fls_ref_request (fls_ref_request [1 ] ),
2847 .fls_pc_valid (fls_pc_valid [7:4] ),
2848 .pmu_tlu_trap_m (pmu_tlu_trap_m [7:4] ),
2849 .fls_trl_l1en (fls_trl_l1en [7:4] ),
2850 .fls_core_running (fls_core_running [7:4] ),
2851 .tlu_flush_ifu (tlu_flush_ifu [7:4] ),
2852 .pct_npc_is_nonseq (pct_npc_is_nonseq [7:4] ),
2853 .trlx_itw_wait (trl0_itw_wait ),
2854 .trlx_itw_last (trl0_itw_last ),
2855 .tsa_gl (tsa1_gl [1:0] ),
2856 .tsa_tnpc_nonseq (tsa_tnpc_nonseq [1 ] ),
2857 .tel_tsacu_exc (tel_tsacu_exc [7:4] ),
2858 .tlu_ceter_de (tlu_ceter_de [7:4] ),
2859 .tlu_ceter_pscce (tlu_ceter_pscce [7:4] ),
2860 .tsd_hpstate_red (tsd_hpstate_red [7:4] ),
2861 .tsd_hpstate_hpriv (tsd_hpstate_hpriv [7:4] ),
2862 .tsd_hpstate_tlz (tsd_hpstate_tlz [7:4] ),
2863 .tsd_pstate_ie (tsd_pstate_ie [7:4] ),
2864 .tsd_pstate_am (tsd_pstate_am [7:4] ),
2865 .tsd_htstate_hpriv (tsd_htstate_hpriv [1] ),
2866 .asi_rd_tl (asi_rd_tl [7:4] ),
2867 .asi_wr_tl (asi_wr_tl [7:4] ),
2868 .asi_rd_pil (asi_rd_pil [7:4] ),
2869 .asi_wr_pil (asi_wr_pil [7:4] ),
2870 .asi_rd_gl (asi_rd_gl [7:4] ),
2871 .asi_wr_gl (asi_wr_gl [7:4] ),
2872 .asi_wr_set_softint (asi_wr_set_softint [7:4] ),
2873 .asi_wr_clear_softint (asi_wr_clear_softint [7:4] ),
2874 .asi_rd_softint (asi_rd_softint [7:4] ),
2875 .asi_wr_softint (asi_wr_softint [7:4] ),
2876 .asi_rd_hintp (asi_rd_hintp [7:4] ),
2877 .asi_wr_hintp (asi_wr_hintp [7:4] ),
2878 .asi_wr_data (pct1_trl_wr_data [16:0] ),
2879 .asi_preempt_trap (asi_preempt_trap [1 ] ),
2880 .asi_preempt_done_retry (asi_preempt_done_retry [1 ] ),
2881 .asi_rmw_tsa (asi_rmw_tsa [1 ] ),
2882 .asi_wr_asireg (asi_wr_asireg [7:4] ),
2883 .asi_trl_pstate_en (asi_trl_pstate_en [1 ] ),
2884 .asi_mbist_tsa_rd_en (asi_mbist_tsa_rd_en [1 ] ),
2885 .asi_mbist_tsa_wr_en (asi_mbist_tsa_wr_en [1 ] ),
2886 .spc_core_running_status(tlu_core_running_status[7:4] ),
2887 .trl_core_running_status(trl_core_running_status[7:4] ),
2888 .trl_pil_mask_15 (trl_pil_mask_15 [7:4] ),
2889 .trl_iln_exc (trl_iln_exc [7:4] ),
2890 .trl_hstick_match (trl_hstick_match [7:4] ),
2891 .trl_unhalt_ (trl_unhalt_ [7:4] ),
2892 .trl_tlz_exc (trl_tlz_exc [7:4] ),
2893 .trl_nns_exc (trl_nns_exc [7:4] ),
2894 .trl_ssc_exc (trl_ssc_exc [7:4] ),
2895 .trl_take_sma (trl1_take_sma ),
2896 .trl_take_cwq (trl1_take_cwq ),
2897 .trl_take_xir (trl1_take_xir ),
2898 .trl_take_ftt (trl1_take_ftt ),
2899 .trl_pc_sel_trap_pc (trl_pc_sel_trap_pc [7:4] ),
2900 .trl_npc_sel_trap_npc (trl_npc_sel_trap_npc [7:4] ),
2901 .trl_npc_sel_tnpc (trl_npc_sel_tnpc [7:4] ),
2902 .trl_invalidate_pc (trl_invalidate_pc [7:4] ),
2903 .trl_invalidate_npc (trl_invalidate_npc [7:4] ),
2904 .trl_trap_type (trl1_trap_type [8:0] ),
2905 .trl_tsa_trap_type (trl1_tsa_trap_type [8:0] ),
2906 .trl_asireg_sel (trl1_asireg_sel [4:0] ),
2907 .trl_asireg_en (trl1_asireg_en ),
2908 .trl_thread_sel (trl1_thread_sel [3:0] ),
2909 .trl_tba_sel (trl1_tba_sel [2:0] ),
2910 .trl_pstate_thread_sel (trl1_pstate_thread_sel [4:0] ),
2911 .trl_don_ret_pstate_sel (trl1_don_ret_pstate_sel[3:0] ),
2912 .trl_pstate_en (trl1_pstate_en ),
2913 .trl_pc_thread_sel (trl1_pc_thread_sel [3:0] ),
2914 .trl_pc_pstate_am_ (trl_pc_pstate_am_ [1 ] ),
2915 .trl_pc_sel_pc (trl_pc_sel_pc [1 ] ),
2916 .trl_pc_sel_npc (trl_pc_sel_npc [1 ] ),
2917 .trl_pc_sel_trap (trl_pc_sel_trap [1 ] ),
2918 .trl_pc_sel_reset (trl_pc_sel_reset [1 ] ),
2919 .trl_pc_done (trl_pc_done [1 ] ),
2920 .trl_pc_retry (trl_pc_retry [1 ] ),
2921 .trl_pc_tte (trl_pc_tte [1 ] ),
2922 .trl_pct_trap_pc_en (trl_pct_trap_pc_en [1 ] ),
2923 .trl_pct_tnpc_en (trl_pct_tnpc_en [1 ] ),
2924 .trl_reset_trap (trl_reset_trap [1 ] ),
2925 .trl_other_trap (trl_other_trap [1 ] ),
2926 .trl_stay_in_priv (trl_stay_in_priv [1 ] ),
2927 .trl_tsa_wr_en (trl_tsa_wr_en_pre [1 ] ),
2928 .trl_tsa_wr_addr (trl1_tsa_wr_addr [4:0] ),
2929 .trl_tsa_rd_en (trl_tsa_rd_en [1 ] ),
2930 .trl_tsa_rd_addr (trl1_tsa_rd_addr [4:0] ),
2931 .trl_save_tsa (trl1_save_tsa ),
2932 .trl_tsd_tsa_en (trl1_tsd_tsa_en ),
2933 .trl_tsd_tsa_wd_en (trl1_tsd_tsa_wd_en ),
2934 .trl_capture_ss (trl1_capture_ss ),
2935 .trl_rmw_tsa (trl1_rmw_tsa ),
2936 .trl_tl_gt_0 (trl_tl_gt_0 [1 ] ),
2937 .trl_tl_eq_0 (trl_tl_eq_0 [7:4] ),
2938 .trl_tsa_gl (trl1_tsa_gl [1:0] ),
2939 .trl_asi_data (trl1_asi_data [16:0] ),
2940 .trl_ss_complete (trl_ss_complete [7:4] ),
2941 .trl_itw_wait (trl1_itw_wait_unused ),
2942 .trl_itw_last (trl1_itw_last ),
2943 .trl_shscanid (trl1_shscanid [1:0] ),
2944 .trl_shscanid_2 (trl1_shscanid_2 ),
2945 .trl_shadow_tl (trl1_shadow_tl [2:0] ),
2946 .trl_tl_for_tt (trl1_tl_for_tt [2:0] ),
2947 .trl_fls_npc_en (trl_fls_npc_en [7:4] ),
2948 .trl_trap_taken (trl_trap_taken [7:4] ),
2949 .trl_tel_en (trl_tel_en [1 ] ),
2950 .trl_gl0 (trl_gl4 [1:0] ),
2951 .trl_gl1 (trl_gl5 [1:0] ),
2952 .trl_gl2 (trl_gl6 [1:0] ),
2953 .trl_gl3 (trl_gl7 [1:0] ),
2954 .trl_tsacu_en_in (trl_tsacu_en_in [7:4] ),
2955 .tlu_tsa_index (tlu_tsa_index_1 [2:0] ),
2956 .tlu_tccd (tlu_tccd [7:4] ),
2957 .tlu_tcud (tlu_tcud [7:4] ),
2958 .tlu_tca_index (tlu_tca_index_1 [1:0] ),
2959 .tlu_window_block (tlu_window_block [1] ),
2960 .tlu_trap_pc_valid (tlu_trap_pc_1_valid ),
2961 .tlu_retry (tlu_retry [1 ] ),
2962 .tlu_ifu_invalidate (tlu_ifu_invalidate [1 ] ),
2963 .tlu_trap_tid (tlu_trap_1_tid [1:0] ),
2964 .tlu_itlb_reload (tlu_itlb_reload [1 ] ),
2965 .tlu_ccr_cwp_valid (tlu_ccr_cwp_1_valid ),
2966 .tlu_ccr_cwp_tid (tlu_ccr_cwp_1_tid [1:0] ),
2967 .tlu_asi_valid (tlu_asi_1_valid ),
2968 .tlu_asi_tid (tlu_asi_1_tid [1:0] ),
2969 .tlu_gl0 (tlu_gl4 [1:0] ),
2970 .tlu_gl1 (tlu_gl5 [1:0] ),
2971 .tlu_gl2 (tlu_gl6 [1:0] ),
2972 .tlu_gl3 (tlu_gl7 [1:0] ),
2973 .tlu_tl_gt_0 (tlu_tl_gt_0 [7:4] ),
2974 .tlu_mmu_tl_gt_0 (tlu_mmu_tl_gt_0 [7:4] ),
2975 .tlu_release_tte (tlu_release_tte [7:4] ),
2976 .tlu_lsu_clear_ctl_reg_ (tlu_lsu_clear_ctl_reg_ [7:4] ),
2977 .tlu_pmu_trap_taken (tlu_pmu_trap_taken [7:4] ),
2978 .tlu_pmu_trap_mask_e (tlu_pmu_trap_mask_e [1 ] ),
2979 .tcu_pce_ov(tcu_pce_ov),
2980 .spc_aclk(spc_aclk),
2981 .spc_bclk(spc_bclk),
2982 .tcu_scan_en(tcu_scan_en),
2983 .spc_aclk_wmr(spc_aclk_wmr),
2984 .lsu_tlu_pmen(lsu_tlu_pmen),
2985 .tcu_shscanid(tcu_shscanid[2:0]),
2986 .tcu_ss_mode(tcu_ss_mode),
2987 .tcu_do_mode(tcu_do_mode),
2988 .mbi_run(mbi_run),
2989 .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw),
2990 .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw),
2991 .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw),
2992 .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw),
2993 .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw),
2994 .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]),
2995 .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]),
2996 .spu_pmu_ma_busy(spu_pmu_ma_busy),
2997 .spu_tlu_cwq_busy(spu_tlu_cwq_busy),
2998 .spu_tlu_ma_int_req(spu_tlu_ma_int_req[2:0]),
2999 .tic_addr(tic_addr[4:0]),
3000 .tic_not_valid(tic_not_valid),
3001 .tic_match(tic_match),
3002 .cel_tccd(cel_tccd),
3003 .cel_tcud(cel_tcud),
3004 .asi_tsa_rd_addr(asi_tsa_rd_addr[4:0]),
3005 .asi_tsa_rd_iqr_ecc(asi_tsa_rd_iqr_ecc),
3006 .asi_tsa_tid(asi_tsa_tid[1:0]),
3007 .asi_mbist_addr(asi_mbist_addr[4:0])
3008);
3009
3010
3011
3012////////////////////////////////////////////////////////////////////////////////
3013// Trap Stack Array and associated datapath
3014// GL CCR ASI PSTATE CWP
3015// 41 40 39 32 31 24 19 8 4 0
3016
3017// ECC generation for 136 bits
3018
3019assign teg0_data_in[135:0] =
3020 {tsd_wr_tpc_oor_va [0 ],
3021 tsd_wr_tnpc_oor_va [0 ],
3022 tsd_wr_tnpc_nonseq [0 ],
3023 tsd0_wr_gl [1:0],
3024 tsd0_wr_data [29:0],
3025 tsd0_wr_trap_type [8:0],
3026 tsd0_wr_tpc [47:23],
3027 tsd0_wr_tpc [22:2],
3028 tsd0_wr_tnpc [47:2]};
3029
3030tlu_ecg_dp teg01 (
3031 .data_in (teg0_data_in [135:68]),
3032 .ecc_out (teg0_ecc [15:8] )
3033);
3034
3035tlu_ecg_dp teg00 (
3036 .data_in (teg0_data_in [67:0] ),
3037 .ecc_out (teg0_ecc [7:0] )
3038);
3039
3040tlu_eem_dp tem01 (
3041 .asi_error_inject (asi_error_tsau ),
3042 .asi_mbist_ecc_in (asi_mbist_tsa_ecc_in [7:0] ),
3043 .ecc_in (teg0_ecc [15:8] ),
3044 .ecc_out (tem0_ecc [15:8] ),
3045 .asi_error_mask(asi_error_mask[7:0]),
3046 .asi_mbist_run(asi_mbist_run)
3047);
3048
3049tlu_eem_dp tem00 (
3050 .asi_error_inject (asi_error_tsau ),
3051 .asi_mbist_ecc_in (asi_mbist_tsa_ecc_in [7:0] ),
3052 .ecc_in (teg0_ecc [7:0] ),
3053 .ecc_out (tem0_ecc [7:0] ),
3054 .asi_error_mask(asi_error_mask[7:0]),
3055 .asi_mbist_run(asi_mbist_run)
3056);
3057
3058// ECC error detection for 136 bits
3059tlu_tel_dp tel0 (
3060 .scan_in(tel0_scanin),
3061 .scan_out(tel0_scanout),
3062 .l2clk (l2clk ),
3063 .trl_tel_en (trl_tel_en [0 ] ),
3064 .asi_mbist_tel_en (asi_mbist_tel_en [0 ] ),
3065 .tsa_ecc (tsa0_ecc [15:0] ),
3066 .ted_syndrome (ted0_syndrome [15:0] ),
3067 .ted0_cecc_err (ted00_cecc_err ),
3068 .ted0_uecc_err (ted00_uecc_err ),
3069 .ted0_uecc_err_ (ted00_uecc_err_ ),
3070 .ted1_cecc_err (ted01_cecc_err ),
3071 .ted1_uecc_err (ted01_uecc_err ),
3072 .ted1_uecc_err_ (ted01_uecc_err_ ),
3073 .trl_tsacu_en_in (trl_tsacu_en_in [3:0] ),
3074 .tel_syndrome (tel0_syndrome [15:0] ),
3075 .tel_ecc (tel0_ecc [15:0] ),
3076 .tel_crit_ecc (tel0_crit_ecc [15:0] ),
3077 .tel_tsac (tel0_tsac ),
3078 .tel_tsau (tel0_tsau ),
3079 .tel_tsac_exc (tlu_tsac [3:0] ),
3080 .tel_tsau_exc (tlu_tsau [3:0] ),
3081 .tel_tsacu_exc (tel_tsacu_exc [3:0] ),
3082 .tcu_pce_ov(tcu_pce_ov),
3083 .spc_aclk(spc_aclk),
3084 .spc_bclk(spc_bclk),
3085 .tcu_scan_en(tcu_scan_en)
3086);
3087
3088tlu_ecd_dp ted01 (
3089 .data_in (tsd0_ted_mra_rd_data [135:68]),
3090 .ecc_in (tel0_crit_ecc [15:8] ),
3091 .cerer_ce (tlu_cerer_tsac ),
3092 .cerer_ue (tlu_cerer_tsau ),
3093 .syndrome (ted0_syndrome [15:8] ),
3094 .cecc_err (ted01_cecc_err ),
3095 .uecc_err (ted01_uecc_err ),
3096 .uecc_err_ (ted01_uecc_err_ )
3097);
3098
3099tlu_ecd_dp ted00 (
3100 .data_in (tsd0_ted_mra_rd_data [67:0] ),
3101 .ecc_in (tel0_crit_ecc [7:0] ),
3102 .cerer_ce (tlu_cerer_tsac ),
3103 .cerer_ue (tlu_cerer_tsau ),
3104 .syndrome (ted0_syndrome [7:0] ),
3105 .cecc_err (ted00_cecc_err ),
3106 .uecc_err (ted00_uecc_err ),
3107 .uecc_err_ (ted00_uecc_err_ )
3108);
3109
3110tlu_tsb_dp tsb0 (
3111 .tsb_in (teg0_data_in [135:0] ),
3112 .wr_en_in (trl_tsa_wr_en_pre [0 ] ),
3113 .ecc_error (asi_tsacu [0 ] ),
3114 .tsb_out (tsb0_data_out [135:0] ),
3115 .wr_en_out (trl_tsa_wr_en [0 ] )
3116);
3117
3118n2_com_dp_32x152_cust tsa0 (
3119 .scan_in(tsa0_scanin),
3120 .scan_out(tsa0_scanout),
3121 .rdclk (l2clk ),
3122 .wrclk (l2clk ),
3123 .tcu_aclk (spc_aclk ),
3124 .tcu_bclk (spc_bclk ),
3125 .rd_adr (trl0_tsa_rd_addr [4:0] ),
3126 .rd_en (trl_tsa_rd_en [0 ] ),
3127 .wr_adr (trl0_tsa_wr_addr [4:0] ),
3128 .wr_en (trl_tsa_wr_en [0 ] ),
3129 .din ({tsb0_data_out [135:134],
3130 tem0_ecc [15:0],
3131 tsb0_data_out [133:0]}),
3132 .dout ({tsa_tpc_oor_va [0 ],
3133 tsa_tnpc_oor_va [0 ],
3134 tsa0_ecc [15:0],
3135 tsa_tnpc_nonseq [0 ],
3136 tsa0_gl [1:0],
3137 tsa0_rd_data [29:0],
3138 tsa0_trap_type [8:0],
3139 tsa0_tpc [47:2],
3140 tsa0_tnpc [47:2]}),
3141 .tcu_pce_ov(tcu_pce_ov),
3142 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
3143 .tcu_se_scancollar_in(tcu_se_scancollar_in),
3144 .bist_clk_mux_sel(bist_clk_mux_sel),
3145 .rd_pce(rd_pce),
3146 .wr_pce(wr_pce)
3147);
3148
3149
3150// ECC generation for 136 bits
3151assign teg1_data_in[135:0] =
3152 {tsd_wr_tpc_oor_va [1 ],
3153 tsd_wr_tnpc_oor_va [1 ],
3154 tsd_wr_tnpc_nonseq [1 ],
3155 tsd1_wr_gl [1:0],
3156 tsd1_wr_data [29:0],
3157 tsd1_wr_trap_type [8:0],
3158 tsd1_wr_tpc [47:23],
3159 tsd1_wr_tpc [22:2],
3160 tsd1_wr_tnpc [47:2]};
3161
3162tlu_ecg_dp teg11 (
3163 .data_in (teg1_data_in [135:68]),
3164 .ecc_out (teg1_ecc [15:8] )
3165);
3166
3167tlu_ecg_dp teg10 (
3168 .data_in (teg1_data_in [67:0] ),
3169 .ecc_out (teg1_ecc [7:0] )
3170);
3171
3172tlu_eem_dp tem11 (
3173 .asi_error_inject (asi_error_tsau ),
3174 .asi_mbist_ecc_in (asi_mbist_tsa_ecc_in [7:0] ),
3175 .ecc_in (teg1_ecc [15:8] ),
3176 .ecc_out (tem1_ecc [15:8] ),
3177 .asi_error_mask(asi_error_mask[7:0]),
3178 .asi_mbist_run(asi_mbist_run)
3179);
3180
3181tlu_eem_dp tem10 (
3182 .asi_error_inject (asi_error_tsau ),
3183 .asi_mbist_ecc_in (asi_mbist_tsa_ecc_in [7:0] ),
3184 .ecc_in (teg1_ecc [7:0] ),
3185 .ecc_out (tem1_ecc [7:0] ),
3186 .asi_error_mask(asi_error_mask[7:0]),
3187 .asi_mbist_run(asi_mbist_run)
3188);
3189
3190// ECC error detection for 136 bits
3191tlu_tel_dp tel1 (
3192 .scan_in(tel1_scanin),
3193 .scan_out(tel1_scanout),
3194 .l2clk (l2clk ),
3195 .trl_tel_en (trl_tel_en [1 ] ),
3196 .asi_mbist_tel_en (asi_mbist_tel_en [1 ] ),
3197 .tsa_ecc (tsa1_ecc [15:0] ),
3198 .ted_syndrome (ted1_syndrome [15:0] ),
3199 .ted0_cecc_err (ted10_cecc_err ),
3200 .ted0_uecc_err (ted10_uecc_err ),
3201 .ted0_uecc_err_ (ted10_uecc_err_ ),
3202 .ted1_cecc_err (ted11_cecc_err ),
3203 .ted1_uecc_err (ted11_uecc_err ),
3204 .ted1_uecc_err_ (ted11_uecc_err_ ),
3205 .trl_tsacu_en_in (trl_tsacu_en_in [7:4] ),
3206 .tel_syndrome (tel1_syndrome [15:0] ),
3207 .tel_ecc (tel1_ecc [15:0] ),
3208 .tel_crit_ecc (tel1_crit_ecc [15:0] ),
3209 .tel_tsac (tel1_tsac ),
3210 .tel_tsau (tel1_tsau ),
3211 .tel_tsac_exc (tlu_tsac [7:4] ),
3212 .tel_tsau_exc (tlu_tsau [7:4] ),
3213 .tel_tsacu_exc (tel_tsacu_exc [7:4] ),
3214 .tcu_pce_ov(tcu_pce_ov),
3215 .spc_aclk(spc_aclk),
3216 .spc_bclk(spc_bclk),
3217 .tcu_scan_en(tcu_scan_en)
3218);
3219
3220tlu_ecd_dp ted11 (
3221 .data_in (tsd1_ted_mra_rd_data [135:68]),
3222 .ecc_in (tel1_crit_ecc [15:8] ),
3223 .cerer_ce (tlu_cerer_tsac ),
3224 .cerer_ue (tlu_cerer_tsau ),
3225 .syndrome (ted1_syndrome [15:8] ),
3226 .cecc_err (ted11_cecc_err ),
3227 .uecc_err (ted11_uecc_err ),
3228 .uecc_err_ (ted11_uecc_err_ )
3229);
3230
3231tlu_ecd_dp ted10 (
3232 .data_in (tsd1_ted_mra_rd_data [67:0] ),
3233 .ecc_in (tel1_crit_ecc [7:0] ),
3234 .cerer_ce (tlu_cerer_tsac ),
3235 .cerer_ue (tlu_cerer_tsau ),
3236 .syndrome (ted1_syndrome [7:0] ),
3237 .cecc_err (ted10_cecc_err ),
3238 .uecc_err (ted10_uecc_err ),
3239 .uecc_err_ (ted10_uecc_err_ )
3240);
3241
3242tlu_tsb_dp tsb1 (
3243 .tsb_in (teg1_data_in [135:0] ),
3244 .wr_en_in (trl_tsa_wr_en_pre [1 ] ),
3245 .ecc_error (asi_tsacu [1 ] ),
3246 .tsb_out (tsb1_data_out [135:0] ),
3247 .wr_en_out (trl_tsa_wr_en [1 ] )
3248);
3249
3250n2_com_dp_32x152_cust tsa1 (
3251 .scan_in(tsa1_scanin),
3252 .scan_out(tsa1_scanout),
3253 .rdclk (l2clk ),
3254 .wrclk (l2clk ),
3255 .tcu_aclk (spc_aclk ),
3256 .tcu_bclk (spc_bclk ),
3257 .rd_adr (trl1_tsa_rd_addr [4:0] ),
3258 .rd_en (trl_tsa_rd_en [1 ] ),
3259 .wr_adr (trl1_tsa_wr_addr [4:0] ),
3260 .wr_en (trl_tsa_wr_en [1 ] ),
3261 .din ({tsb1_data_out [135:134],
3262 tem1_ecc [15:0],
3263 tsb1_data_out [133:0]}),
3264 .dout ({tsa_tpc_oor_va [1 ],
3265 tsa_tnpc_oor_va [1 ],
3266 tsa1_ecc [15:0],
3267 tsa_tnpc_nonseq [1 ],
3268 tsa1_gl [1:0],
3269 tsa1_rd_data [29:0],
3270 tsa1_trap_type [8:0],
3271 tsa1_tpc [47:2],
3272 tsa1_tnpc [47:2]}),
3273 .tcu_pce_ov(tcu_pce_ov),
3274 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
3275 .tcu_se_scancollar_in(tcu_se_scancollar_in),
3276 .bist_clk_mux_sel(bist_clk_mux_sel),
3277 .rd_pce(rd_pce),
3278 .wr_pce(wr_pce)
3279);
3280
3281
3282tlu_tsd_dp tsd0 (
3283 .wmr_scan_in(tsd0_wmr_scanin),
3284 .wmr_scan_out(tsd0_wmr_scanout),
3285 .scan_in(tsd0_scanin),
3286 .scan_out(tsd0_scanout),
3287 .l2clk (l2clk ),
3288 .trl_shscanid (trl0_shscanid [1:0] ),
3289 .exu_ccr0 (exu0_ccr0 [7:0] ),
3290 .exu_ccr1 (exu0_ccr1 [7:0] ),
3291 .exu_ccr2 (exu0_ccr2 [7:0] ),
3292 .exu_ccr3 (exu0_ccr3 [7:0] ),
3293 .fls_cwp0 (fls0_cwp0 [2:0] ),
3294 .fls_cwp1 (fls0_cwp1 [2:0] ),
3295 .fls_cwp2 (fls0_cwp2 [2:0] ),
3296 .fls_cwp3 (fls0_cwp3 [2:0] ),
3297 .pct_tsa_pc (pct0_tsa_pc [47:2] ),
3298 .pct_tsa_pc_oor_va (pct_tsa_pc_oor_va [0 ] ),
3299 .pct_tsa_npc (pct0_tsa_npc [47:2] ),
3300 .pct_tsa_npc_oor_va (pct_tsa_npc_oor_va [0 ] ),
3301 .pct_tsa_npc_nonseq (pct_tsa_npc_nonseq [0 ] ),
3302 .trl_tsa_gl (trl0_tsa_gl [1:0] ),
3303 .trl_tsa_trap_type (trl0_tsa_trap_type [8:0] ),
3304 .trl_asireg_sel (trl0_asireg_sel [4:0] ),
3305 .trl_asireg_en (trl0_asireg_en ),
3306 .trl_thread_sel (trl0_thread_sel [3:0] ),
3307 .trl_tba_sel (trl0_tba_sel [2:0] ),
3308 .trl_pstate_thread_sel (trl0_pstate_thread_sel [4:0] ),
3309 .trl_don_ret_pstate_sel (trl0_don_ret_pstate_sel[3:0] ),
3310 .trl_pstate_en (trl0_pstate_en ),
3311 .trl_reset_trap (trl_reset_trap [0 ] ),
3312 .trl_other_trap (trl_other_trap [0 ] ),
3313 .trl_stay_in_priv (trl_stay_in_priv [0 ] ),
3314 .trl_tl_gt_0 (trl_tl_gt_0 [0 ] ),
3315 .trl_save_tsa (trl0_save_tsa ),
3316 .trl_tsd_tsa_en (trl0_tsd_tsa_en ),
3317 .trl_tsd_tsa_wd_en (trl0_tsd_tsa_wd_en ),
3318 .trl_capture_ss (trl0_capture_ss ),
3319 .trl_rmw_tsa (trl0_rmw_tsa ),
3320 .tsa_tpc (tsa0_tpc [47:2] ),
3321 .tsa_tpc_oor_va (tsa_tpc_oor_va [0 ] ),
3322 .tsa_tnpc (tsa0_tnpc [47:2] ),
3323 .tsa_tnpc_oor_va (tsa_tnpc_oor_va [0 ] ),
3324 .tsa_tnpc_nonseq (tsa_tnpc_nonseq [0 ] ),
3325 .tsa_gl (tsa0_gl [1:0] ),
3326 .tsa_rd_data (tsa0_rd_data [29:0] ),
3327 .tsa_trap_type (tsa0_trap_type [8:0] ),
3328 .asi_wr_mondo_head (asi_wr_mondo_head [0 ] ),
3329 .asi_wr_mondo_tail (asi_wr_mondo_tail [0 ] ),
3330 .asi_wr_device_head (asi_wr_device_head [0 ] ),
3331 .asi_wr_device_tail (asi_wr_device_tail [0 ] ),
3332 .asi_wr_res_err_head (asi_wr_res_err_head [0 ] ),
3333 .asi_wr_res_err_tail (asi_wr_res_err_tail [0 ] ),
3334 .asi_wr_nonres_err_head (asi_wr_nonres_err_head [0 ] ),
3335 .asi_wr_nonres_err_tail (asi_wr_nonres_err_tail [0 ] ),
3336 .asi_rd_iqr_reg (asi_rd_iqr_reg [0 ] ),
3337 .asi_rd_tpc (asi_rd_tpc [0 ] ),
3338 .asi_wr_tpc (asi_wr_tpc [0 ] ),
3339 .asi_rd_tnpc (asi_rd_tnpc [0 ] ),
3340 .asi_wr_tnpc (asi_wr_tnpc [0 ] ),
3341 .asi_rd_tstate (asi_rd_tstate [0 ] ),
3342 .asi_wr_tstate (asi_wr_tstate [0 ] ),
3343 .asi_rd_tt (asi_rd_tt [0 ] ),
3344 .asi_wr_tt (asi_wr_tt [0 ] ),
3345 .asi_rd_htstate (asi_rd_htstate [0 ] ),
3346 .asi_wr_htstate (asi_wr_htstate [0 ] ),
3347 .asi_wr_tba (asi_wr_tba [3:0] ),
3348 .asi_wr_pstate (asi_wr_pstate [3:0] ),
3349 .asi_wr_hpstate (asi_wr_hpstate [3:0] ),
3350 .asi_wr_htba (asi_wr_htba [3:0] ),
3351 .asi_rd_asireg (asi_rd_asireg [3:0] ),
3352 .asi_wr_asireg (asi_wr_asireg [3:0] ),
3353 .asi_rd_tba_htba (asi_rd_tba_htba [0 ] ),
3354 .asi_rd_pstate_hpstate (asi_rd_pstate_hpstate [0 ] ),
3355 .asi_wr_data_47_14 (asi_wr_data_0 [47:14] ),
3356 .asi_wr_data_07_00 (asi_wr_data_0 [7:0] ),
3357 .asi_tsd_wr_data_12 (asi_tsd0_wr_data_12 ),
3358 .asi_tsd_wr_data_10_08 (asi_tsd0_wr_data_10_08 [10:8] ),
3359 .asi_tsd_wr_data_05_00 (asi_tsd0_wr_data_05_00 [5:0] ),
3360 .tel_ecc (tel0_ecc [15:0] ),
3361 .tsd_tba (tsd0_tba [47:14] ),
3362 .tsd_wr_tpc (tsd0_wr_tpc [47:2] ),
3363 .tsd_wr_tpc_oor_va (tsd_wr_tpc_oor_va [0 ] ),
3364 .tsd_wr_tnpc (tsd0_wr_tnpc [47:2] ),
3365 .tsd_wr_tnpc_oor_va (tsd_wr_tnpc_oor_va [0 ] ),
3366 .tsd_wr_tnpc_nonseq (tsd_wr_tnpc_nonseq [0 ] ),
3367 .tsd_wr_gl (tsd0_wr_gl [1:0] ),
3368 .tsd_wr_data (tsd0_wr_data [29:0] ),
3369 .tsd_wr_trap_type (tsd0_wr_trap_type [8:0] ),
3370 .tsd_tpc (tsd0_tpc [47:2] ),
3371 .tsd_tpc_oor_va (tsd_tpc_oor_va [0 ] ),
3372 .tsd_tnpc (tsd0_tnpc [47:2] ),
3373 .tsd_tnpc_oor_va (tsd_tnpc_oor_va [0 ] ),
3374 .tsd_tnpc_nonseq (tsd_tnpc_nonseq [0 ] ),
3375 .tsd_mrqr_exc_ (tsd0_mrqr_exc_ ),
3376 .tsd_dqr_exc_ (tsd0_dqr_exc_ ),
3377 .tsd_asi_data_ (tsd0_asi_data_ [47:2] ),
3378 .tsd_asi_data (tsd0_asi_data [1:0] ),
3379 .tsd_ted_mra_rd_data (tsd0_ted_mra_rd_data [135:0] ),
3380 .tsd_hpstate_ibe (tsd_hpstate_ibe [3:0] ),
3381 .tsd_hpstate_red (tsd_hpstate_red [3:0] ),
3382 .tsd_hpstate_hpriv (tsd_hpstate_hpriv [3:0] ),
3383 .tsd_hpstate_tlz (tsd_hpstate_tlz [3:0] ),
3384 .tsd_pstate_tct (tsd_pstate_tct [3:0] ),
3385 .tsd_pstate_priv (tsd_pstate_priv [3:0] ),
3386 .tsd_pstate_ie (tsd_pstate_ie [3:0] ),
3387 .tsd_pstate_am (tsd_pstate_am [3:0] ),
3388 .tsd_htstate_hpriv (tsd_htstate_hpriv [0] ),
3389 .tsd_shadow_pstate (tsd0_shadow_pstate [10:0] ),
3390 .tsd_shadow_tpc (tsd0_shadow_tpc [47:2] ),
3391 .tsd_shadow_tt (tsd0_shadow_tt [8:0] ),
3392 .tsd_mbist_data (tsd0_mbist_data [31:0] ),
3393 .tsd_itlb_bypass (tsd_itlb_bypass [3:0] ),
3394 .tlu_itlb_bypass (tlu_itlb_bypass [3:0] ),
3395 .tlu_lsu_hpstate_hpriv (tlu_lsu_hpstate_hpriv [3:0] ),
3396 .tlu_lsu_pstate_priv (tlu_lsu_pstate_priv [3:0] ),
3397 .tlu_ifu_hpstate_hpriv (tlu_ifu_hpstate_hpriv [3:0] ),
3398 .tlu_ifu_pstate_priv (tlu_ifu_pstate_priv [3:0] ),
3399 .tlu_pmu_hpstate_hpriv (tlu_pmu_hpstate_hpriv [3:0] ),
3400 .tlu_pmu_pstate_priv (tlu_pmu_pstate_priv [3:0] ),
3401 .tlu_dec_hpstate_hpriv (tlu_dec_hpstate_hpriv [3:0] ),
3402 .tlu_dec_pstate_priv (tlu_dec_pstate_priv [3:0] ),
3403 .tlu_dec_pstate_pef (tlu_dec_pstate_pef [3:0] ),
3404 .tlu_pstate_cle (tlu_pstate_cle [3:0] ),
3405 .tlu_pstate_am (tlu_pstate_am [3:0] ),
3406 .tlu_ccr (tlu_ccr_0 [7:0] ),
3407 .tlu_asi (tlu_asi_0 [7:0] ),
3408 .tlu_cwp (tlu_cwp_0 [2:0] ),
3409 .tcu_pce_ov(tcu_pce_ov),
3410 .spc_aclk(spc_aclk),
3411 .spc_bclk(spc_bclk),
3412 .tcu_scan_en(tcu_scan_en),
3413 .tcu_dectest(tcu_dectest),
3414 .tcu_muxtest(tcu_muxtest),
3415 .tcu_scan_en_wmr(tcu_scan_en_wmr),
3416 .spc_aclk_wmr(spc_aclk_wmr),
3417 .asi_rd_iqr(asi_rd_iqr[2:0]),
3418 .asi_rd_h_pstate_tba(asi_rd_h_pstate_tba[2:0]),
3419 .asi_tsa_wr_data(asi_tsa_wr_data[47:0]),
3420 .asi_tsa_wr_data_npc_oor_va(asi_tsa_wr_data_npc_oor_va),
3421 .asi_tsa_wr_data_npc_nonseq(asi_tsa_wr_data_npc_nonseq),
3422 .asi_mbist_ecc_in(asi_mbist_ecc_in[7:0]),
3423 .asi_mbist_run(asi_mbist_run),
3424 .asi_mbist_cmpsel(asi_mbist_cmpsel[3:0])
3425);
3426
3427tlu_tsd_dp tsd1 (
3428 .wmr_scan_in(tsd1_wmr_scanin),
3429 .wmr_scan_out(tsd1_wmr_scanout),
3430 .scan_in(tsd1_scanin),
3431 .scan_out(tsd1_scanout),
3432 .l2clk (l2clk ),
3433 .trl_shscanid (trl1_shscanid [1:0] ),
3434 .exu_ccr0 (exu1_ccr0 [7:0] ),
3435 .exu_ccr1 (exu1_ccr1 [7:0] ),
3436 .exu_ccr2 (exu1_ccr2 [7:0] ),
3437 .exu_ccr3 (exu1_ccr3 [7:0] ),
3438 .fls_cwp0 (fls1_cwp0 [2:0] ),
3439 .fls_cwp1 (fls1_cwp1 [2:0] ),
3440 .fls_cwp2 (fls1_cwp2 [2:0] ),
3441 .fls_cwp3 (fls1_cwp3 [2:0] ),
3442 .pct_tsa_pc (pct1_tsa_pc [47:2] ),
3443 .pct_tsa_pc_oor_va (pct_tsa_pc_oor_va [1 ] ),
3444 .pct_tsa_npc (pct1_tsa_npc [47:2] ),
3445 .pct_tsa_npc_nonseq (pct_tsa_npc_nonseq [1 ] ),
3446 .pct_tsa_npc_oor_va (pct_tsa_npc_oor_va [1 ] ),
3447 .trl_tsa_gl (trl1_tsa_gl [1:0] ),
3448 .trl_tsa_trap_type (trl1_tsa_trap_type [8:0] ),
3449 .trl_asireg_sel (trl1_asireg_sel [4:0] ),
3450 .trl_asireg_en (trl1_asireg_en ),
3451 .trl_thread_sel (trl1_thread_sel [3:0] ),
3452 .trl_tba_sel (trl1_tba_sel [2:0] ),
3453 .trl_pstate_thread_sel (trl1_pstate_thread_sel [4:0] ),
3454 .trl_don_ret_pstate_sel (trl1_don_ret_pstate_sel[3:0] ),
3455 .trl_pstate_en (trl1_pstate_en ),
3456 .trl_reset_trap (trl_reset_trap [1 ] ),
3457 .trl_other_trap (trl_other_trap [1 ] ),
3458 .trl_stay_in_priv (trl_stay_in_priv [1 ] ),
3459 .trl_tl_gt_0 (trl_tl_gt_0 [1 ] ),
3460 .trl_save_tsa (trl1_save_tsa ),
3461 .trl_tsd_tsa_en (trl1_tsd_tsa_en ),
3462 .trl_tsd_tsa_wd_en (trl1_tsd_tsa_wd_en ),
3463 .trl_capture_ss (trl1_capture_ss ),
3464 .trl_rmw_tsa (trl1_rmw_tsa ),
3465 .tsa_tpc (tsa1_tpc [47:2] ),
3466 .tsa_tpc_oor_va (tsa_tpc_oor_va [1 ] ),
3467 .tsa_tnpc (tsa1_tnpc [47:2] ),
3468 .tsa_tnpc_oor_va (tsa_tnpc_oor_va [1 ] ),
3469 .tsa_tnpc_nonseq (tsa_tnpc_nonseq [1 ] ),
3470 .tsa_gl (tsa1_gl [1:0] ),
3471 .tsa_rd_data (tsa1_rd_data [29:0] ),
3472 .tsa_trap_type (tsa1_trap_type [8:0] ),
3473 .asi_wr_mondo_head (asi_wr_mondo_head [1 ] ),
3474 .asi_wr_mondo_tail (asi_wr_mondo_tail [1 ] ),
3475 .asi_wr_device_head (asi_wr_device_head [1 ] ),
3476 .asi_wr_device_tail (asi_wr_device_tail [1 ] ),
3477 .asi_wr_res_err_head (asi_wr_res_err_head [1 ] ),
3478 .asi_wr_res_err_tail (asi_wr_res_err_tail [1 ] ),
3479 .asi_wr_nonres_err_head (asi_wr_nonres_err_head [1 ] ),
3480 .asi_wr_nonres_err_tail (asi_wr_nonres_err_tail [1 ] ),
3481 .asi_rd_iqr_reg (asi_rd_iqr_reg [1 ] ),
3482 .asi_rd_tpc (asi_rd_tpc [1 ] ),
3483 .asi_wr_tpc (asi_wr_tpc [1 ] ),
3484 .asi_rd_tnpc (asi_rd_tnpc [1 ] ),
3485 .asi_wr_tnpc (asi_wr_tnpc [1 ] ),
3486 .asi_rd_tstate (asi_rd_tstate [1 ] ),
3487 .asi_wr_tstate (asi_wr_tstate [1 ] ),
3488 .asi_rd_tt (asi_rd_tt [1 ] ),
3489 .asi_wr_tt (asi_wr_tt [1 ] ),
3490 .asi_rd_htstate (asi_rd_htstate [1 ] ),
3491 .asi_wr_htstate (asi_wr_htstate [1 ] ),
3492 .asi_wr_tba (asi_wr_tba [7:4] ),
3493 .asi_wr_pstate (asi_wr_pstate [7:4] ),
3494 .asi_wr_hpstate (asi_wr_hpstate [7:4] ),
3495 .asi_wr_htba (asi_wr_htba [7:4] ),
3496 .asi_rd_asireg (asi_rd_asireg [7:4] ),
3497 .asi_wr_asireg (asi_wr_asireg [7:4] ),
3498 .asi_rd_tba_htba (asi_rd_tba_htba [1 ] ),
3499 .asi_rd_pstate_hpstate (asi_rd_pstate_hpstate [1 ] ),
3500 .asi_wr_data_47_14 (asi_wr_data_1 [47:14] ),
3501 .asi_wr_data_07_00 (asi_wr_data_1 [7:0] ),
3502 .asi_tsd_wr_data_12 (asi_tsd1_wr_data_12 ),
3503 .asi_tsd_wr_data_10_08 (asi_tsd1_wr_data_10_08 [10:8] ),
3504 .asi_tsd_wr_data_05_00 (asi_tsd1_wr_data_05_00 [5:0] ),
3505 .tel_ecc (tel1_ecc [15:0] ),
3506 .tsd_tba (tsd1_tba [47:14] ),
3507 .tsd_wr_tpc (tsd1_wr_tpc [47:2] ),
3508 .tsd_wr_tpc_oor_va (tsd_wr_tpc_oor_va [1 ] ),
3509 .tsd_wr_tnpc (tsd1_wr_tnpc [47:2] ),
3510 .tsd_wr_tnpc_oor_va (tsd_wr_tnpc_oor_va [1 ] ),
3511 .tsd_wr_tnpc_nonseq (tsd_wr_tnpc_nonseq [1 ] ),
3512 .tsd_mrqr_exc_ (tsd1_mrqr_exc_ ),
3513 .tsd_dqr_exc_ (tsd1_dqr_exc_ ),
3514 .tsd_wr_gl (tsd1_wr_gl [1:0] ),
3515 .tsd_wr_data (tsd1_wr_data [29:0] ),
3516 .tsd_wr_trap_type (tsd1_wr_trap_type [8:0] ),
3517 .tsd_tpc (tsd1_tpc [47:2] ),
3518 .tsd_tpc_oor_va (tsd_tpc_oor_va [1 ] ),
3519 .tsd_tnpc (tsd1_tnpc [47:2] ),
3520 .tsd_tnpc_oor_va (tsd_tnpc_oor_va [1 ] ),
3521 .tsd_tnpc_nonseq (tsd_tnpc_nonseq [1 ] ),
3522 .tsd_asi_data_ (tsd1_asi_data_ [47:2] ),
3523 .tsd_asi_data (tsd1_asi_data [1:0] ),
3524 .tsd_ted_mra_rd_data (tsd1_ted_mra_rd_data [135:0] ),
3525 .tsd_hpstate_ibe (tsd_hpstate_ibe [7:4] ),
3526 .tsd_hpstate_red (tsd_hpstate_red [7:4] ),
3527 .tsd_hpstate_hpriv (tsd_hpstate_hpriv [7:4] ),
3528 .tsd_hpstate_tlz (tsd_hpstate_tlz [7:4] ),
3529 .tsd_pstate_tct (tsd_pstate_tct [7:4] ),
3530 .tsd_pstate_priv (tsd_pstate_priv [7:4] ),
3531 .tsd_pstate_ie (tsd_pstate_ie [7:4] ),
3532 .tsd_pstate_am (tsd_pstate_am [7:4] ),
3533 .tsd_htstate_hpriv (tsd_htstate_hpriv [1] ),
3534 .tsd_shadow_pstate (tsd1_shadow_pstate [10:0] ),
3535 .tsd_shadow_tpc (tsd1_shadow_tpc [47:2] ),
3536 .tsd_shadow_tt (tsd1_shadow_tt [8:0] ),
3537 .tsd_mbist_data (tsd1_mbist_data [31:0] ),
3538 .tsd_itlb_bypass (tsd_itlb_bypass [7:4] ),
3539 .tlu_itlb_bypass (tlu_itlb_bypass [7:4] ),
3540 .tlu_lsu_hpstate_hpriv (tlu_lsu_hpstate_hpriv [7:4] ),
3541 .tlu_lsu_pstate_priv (tlu_lsu_pstate_priv [7:4] ),
3542 .tlu_ifu_hpstate_hpriv (tlu_ifu_hpstate_hpriv [7:4] ),
3543 .tlu_ifu_pstate_priv (tlu_ifu_pstate_priv [7:4] ),
3544 .tlu_pmu_hpstate_hpriv (tlu_pmu_hpstate_hpriv [7:4] ),
3545 .tlu_pmu_pstate_priv (tlu_pmu_pstate_priv [7:4] ),
3546 .tlu_dec_hpstate_hpriv (tlu_dec_hpstate_hpriv [7:4] ),
3547 .tlu_dec_pstate_priv (tlu_dec_pstate_priv [7:4] ),
3548 .tlu_dec_pstate_pef (tlu_dec_pstate_pef [7:4] ),
3549 .tlu_pstate_cle (tlu_pstate_cle [7:4] ),
3550 .tlu_pstate_am (tlu_pstate_am [7:4] ),
3551 .tlu_ccr (tlu_ccr_1 [7:0] ),
3552 .tlu_asi (tlu_asi_1 [7:0] ),
3553 .tlu_cwp (tlu_cwp_1 [2:0] ),
3554 .tcu_pce_ov(tcu_pce_ov),
3555 .spc_aclk(spc_aclk),
3556 .spc_bclk(spc_bclk),
3557 .tcu_scan_en(tcu_scan_en),
3558 .tcu_dectest(tcu_dectest),
3559 .tcu_muxtest(tcu_muxtest),
3560 .tcu_scan_en_wmr(tcu_scan_en_wmr),
3561 .spc_aclk_wmr(spc_aclk_wmr),
3562 .asi_rd_iqr(asi_rd_iqr[2:0]),
3563 .asi_rd_h_pstate_tba(asi_rd_h_pstate_tba[2:0]),
3564 .asi_tsa_wr_data(asi_tsa_wr_data[47:0]),
3565 .asi_tsa_wr_data_npc_oor_va(asi_tsa_wr_data_npc_oor_va),
3566 .asi_tsa_wr_data_npc_nonseq(asi_tsa_wr_data_npc_nonseq),
3567 .asi_mbist_ecc_in(asi_mbist_ecc_in[7:0]),
3568 .asi_mbist_run(asi_mbist_run),
3569 .asi_mbist_cmpsel(asi_mbist_cmpsel[3:0])
3570);
3571
3572
3573
3574////////////////////////////////////////////////////////////////////////////////
3575// Fast ASI ring stub
3576
3577tlu_asi_ctl asi (
3578 .wmr_scan_in(asi_wmr_scanin),
3579 .wmr_scan_out(asi_wmr_scanout),
3580 .scan_in(asi_scanin),
3581 .scan_out(asi_scanout),
3582 .l2clk (l2clk ),
3583 .hver_mask_major_rev (4'h2 ),
3584 .error_inject_enable (lsu_asi_error_inject [31 ] ),
3585 .error_inject_tccu (lsu_asi_error_inject [22 ] ),
3586 .error_inject_tsau (lsu_asi_error_inject [21 ] ),
3587 .error_inject_mask (lsu_asi_error_inject [7:0] ),
3588 .tcu_pce_ov(tcu_pce_ov),
3589 .spc_aclk(spc_aclk),
3590 .spc_bclk(spc_bclk),
3591 .tcu_scan_en(tcu_scan_en),
3592 .spc_aclk_wmr(spc_aclk_wmr),
3593 .lsu_asi_clken(lsu_asi_clken),
3594 .lsu_tlu_pmen(lsu_tlu_pmen),
3595 .mbi_tsa0_write_en(mbi_tsa0_write_en),
3596 .mbi_tsa1_write_en(mbi_tsa1_write_en),
3597 .mbi_tca_write_en(mbi_tca_write_en),
3598 .mbi_addr(mbi_addr[4:0]),
3599 .mbi_run(mbi_run),
3600 .mbi_wdata(mbi_wdata[7:0]),
3601 .mbi_tsa0_read_en(mbi_tsa0_read_en),
3602 .mbi_tsa1_read_en(mbi_tsa1_read_en),
3603 .mbi_tca_read_en(mbi_tca_read_en),
3604 .mbi_tlu_cmpsel(mbi_tlu_cmpsel[3:0]),
3605 .mbd_compare(mbd_compare),
3606 .lsu_rngf_cdbus(lsu_rngf_cdbus[64:0]),
3607 .pct0_asi_data(pct0_asi_data[48:2]),
3608 .pct1_asi_data(pct1_asi_data[48:2]),
3609 .trl0_asi_data(trl0_asi_data[16:0]),
3610 .trl1_asi_data(trl1_asi_data[16:0]),
3611 .tlu_ceter_pscce(tlu_ceter_pscce[7:0]),
3612 .tsd_hpstate_hpriv(tsd_hpstate_hpriv[7:0]),
3613 .tsd_pstate_priv(tsd_pstate_priv[7:0]),
3614 .tsd0_asi_data(tsd0_asi_data[1:0]),
3615 .tsd1_asi_data(tsd1_asi_data[1:0]),
3616 .tel0_ecc(tel0_ecc[15:0]),
3617 .tel0_tsac(tel0_tsac),
3618 .tel0_tsau(tel0_tsau),
3619 .tel1_ecc(tel1_ecc[15:0]),
3620 .tel1_tsac(tel1_tsac),
3621 .tel1_tsau(tel1_tsau),
3622 .tic_asi_data(tic_asi_data[63:0]),
3623 .cel_ecc(cel_ecc[7:0]),
3624 .cer_asi_data(cer_asi_data[63:0]),
3625 .cel_tccp(cel_tccp),
3626 .cel_tcup(cel_tcup),
3627 .mmu_asi_data(mmu_asi_data[64:0]),
3628 .mmu_asi_read(mmu_asi_read),
3629 .mmu_asi_cecc(mmu_asi_cecc),
3630 .mmu_asi_uecc(mmu_asi_uecc),
3631 .dfd_desr_f(dfd_desr_f[7:0]),
3632 .dfd_fesr_f(dfd_fesr_f[7:0]),
3633 .tlu_lsu_clear_ctl_reg_(tlu_lsu_clear_ctl_reg_[7:0]),
3634 .hver_mask_minor_rev(hver_mask_minor_rev[3:0]),
3635 .asi_error_tccu(asi_error_tccu),
3636 .asi_error_tsau(asi_error_tsau),
3637 .asi_error_mask(asi_error_mask[7:0]),
3638 .asi_tsa_rd_addr(asi_tsa_rd_addr[4:0]),
3639 .asi_tsa_rd_iqr_ecc(asi_tsa_rd_iqr_ecc),
3640 .asi_tsa_tid(asi_tsa_tid[1:0]),
3641 .asi_rd_asireg(asi_rd_asireg[7:0]),
3642 .asi_wr_asireg(asi_wr_asireg[7:0]),
3643 .asi_rd_tick(asi_rd_tick),
3644 .asi_wr_tick(asi_wr_tick),
3645 .asi_rd_pc(asi_rd_pc[7:0]),
3646 .asi_wr_set_softint(asi_wr_set_softint[7:0]),
3647 .asi_wr_clear_softint(asi_wr_clear_softint[7:0]),
3648 .asi_rd_softint(asi_rd_softint[7:0]),
3649 .asi_wr_softint(asi_wr_softint[7:0]),
3650 .asi_tca_addr(asi_tca_addr[4:0]),
3651 .asi_tca_addr_valid(asi_tca_addr_valid),
3652 .asi_tca_wr(asi_tca_wr),
3653 .asi_wr_mondo_head(asi_wr_mondo_head[1:0]),
3654 .asi_wr_mondo_tail(asi_wr_mondo_tail[1:0]),
3655 .asi_wr_device_head(asi_wr_device_head[1:0]),
3656 .asi_wr_device_tail(asi_wr_device_tail[1:0]),
3657 .asi_wr_res_err_head(asi_wr_res_err_head[1:0]),
3658 .asi_wr_res_err_tail(asi_wr_res_err_tail[1:0]),
3659 .asi_wr_nonres_err_head(asi_wr_nonres_err_head[1:0]),
3660 .asi_wr_nonres_err_tail(asi_wr_nonres_err_tail[1:0]),
3661 .asi_rd_iqr_reg(asi_rd_iqr_reg[1:0]),
3662 .asi_rd_iqr(asi_rd_iqr[2:0]),
3663 .asi_rd_tpc(asi_rd_tpc[1:0]),
3664 .asi_wr_tpc(asi_wr_tpc[1:0]),
3665 .asi_rd_tnpc(asi_rd_tnpc[1:0]),
3666 .asi_wr_tnpc(asi_wr_tnpc[1:0]),
3667 .asi_rd_tstate(asi_rd_tstate[1:0]),
3668 .asi_wr_tstate(asi_wr_tstate[1:0]),
3669 .asi_rd_tt(asi_rd_tt[1:0]),
3670 .asi_wr_tt(asi_wr_tt[1:0]),
3671 .asi_wr_tba(asi_wr_tba[7:0]),
3672 .asi_wr_pstate(asi_wr_pstate[7:0]),
3673 .asi_rd_tl(asi_rd_tl[7:0]),
3674 .asi_wr_tl(asi_wr_tl[7:0]),
3675 .asi_rd_pil(asi_rd_pil[7:0]),
3676 .asi_wr_pil(asi_wr_pil[7:0]),
3677 .asi_rd_gl(asi_rd_gl[7:0]),
3678 .asi_wr_gl(asi_wr_gl[7:0]),
3679 .asi_wr_hpstate(asi_wr_hpstate[7:0]),
3680 .asi_rd_htstate(asi_rd_htstate[1:0]),
3681 .asi_wr_htstate(asi_wr_htstate[1:0]),
3682 .asi_rd_hintp(asi_rd_hintp[7:0]),
3683 .asi_wr_hintp(asi_wr_hintp[7:0]),
3684 .asi_wr_htba(asi_wr_htba[7:0]),
3685 .asi_rd_h_pstate_tba(asi_rd_h_pstate_tba[2:0]),
3686 .asi_rd_tba_htba(asi_rd_tba_htba[1:0]),
3687 .asi_rd_pstate_hpstate(asi_rd_pstate_hpstate[1:0]),
3688 .asi_preempt_trap(asi_preempt_trap[1:0]),
3689 .asi_preempt_done_retry(asi_preempt_done_retry[1:0]),
3690 .asi_rmw_tsa(asi_rmw_tsa[1:0]),
3691 .asi_wr_int_rec(asi_wr_int_rec[7:0]),
3692 .asi_wr_any_int_rec(asi_wr_any_int_rec),
3693 .asi_rd_inc_vec_2(asi_rd_inc_vec_2[7:0]),
3694 .asi_int_rec_mux_sel_in(asi_int_rec_mux_sel_in[2:0]),
3695 .asi_rd_int_rec(asi_rd_int_rec),
3696 .asi_rd_inc_vec(asi_rd_inc_vec),
3697 .asi_check_qr_exc(asi_check_qr_exc[7:0]),
3698 .asi_tca_wr_data_63(asi_tca_wr_data_63),
3699 .asi_wr_data_0(asi_wr_data_0[63:0]),
3700 .asi_wr_data_1(asi_wr_data_1[62:0]),
3701 .asi_tsd0_wr_data_12(asi_tsd0_wr_data_12),
3702 .asi_tsd0_wr_data_10_08(asi_tsd0_wr_data_10_08[10:8]),
3703 .asi_tsd0_wr_data_05_00(asi_tsd0_wr_data_05_00[5:0]),
3704 .asi_tsd1_wr_data_12(asi_tsd1_wr_data_12),
3705 .asi_tsd1_wr_data_10_08(asi_tsd1_wr_data_10_08[10:8]),
3706 .asi_tsd1_wr_data_05_00(asi_tsd1_wr_data_05_00[5:0]),
3707 .asi_tsa_wr_data(asi_tsa_wr_data[47:0]),
3708 .asi_tsa_wr_data_npc_oor_va(asi_tsa_wr_data_npc_oor_va),
3709 .asi_tsa_wr_data_npc_nonseq(asi_tsa_wr_data_npc_nonseq),
3710 .asi_rd_cerer(asi_rd_cerer),
3711 .asi_rd_ceter(asi_rd_ceter),
3712 .asi_wr_cerer(asi_wr_cerer),
3713 .asi_ceter_tid(asi_ceter_tid[2:0]),
3714 .asi_wr_ceter(asi_wr_ceter),
3715 .asi_rd_tid(asi_rd_tid[2:0]),
3716 .asi_rd_isfsr(asi_rd_isfsr),
3717 .asi_rd_dsfsr(asi_rd_dsfsr),
3718 .asi_rd_dsfar(asi_rd_dsfar),
3719 .asi_rd_desr(asi_rd_desr),
3720 .asi_rd_fesr(asi_rd_fesr),
3721 .asi_wr_isfsr(asi_wr_isfsr[7:0]),
3722 .asi_wr_dsfsr(asi_wr_dsfsr[7:0]),
3723 .asi_wr_dsfar(asi_wr_dsfar[7:0]),
3724 .asi_rd_iaw(asi_rd_iaw),
3725 .asi_wr_iaw(asi_wr_iaw[1:0]),
3726 .asi_decr(asi_decr[63:46]),
3727 .asi_ece_exc(asi_ece_exc),
3728 .asi_eue_exc(asi_eue_exc),
3729 .asi_ecc_tid(asi_ecc_tid[2:0]),
3730 .asi_tsac(asi_tsac),
3731 .asi_tsau(asi_tsau),
3732 .asi_tsacu(asi_tsacu[1:0]),
3733 .asi_tsacu_tid(asi_tsacu_tid[2:0]),
3734 .asi_irl_cleared(asi_irl_cleared[7:0]),
3735 .asi_rd_stage_1(asi_rd_stage_1),
3736 .asi_trl_pstate_en(asi_trl_pstate_en[1:0]),
3737 .asi_stg1_en(asi_stg1_en),
3738 .asi_mbist_ecc_in(asi_mbist_ecc_in[7:0]),
3739 .asi_mbist_tsa_ecc_in(asi_mbist_tsa_ecc_in[7:0]),
3740 .asi_mbist_run(asi_mbist_run),
3741 .asi_mbist_cmpsel(asi_mbist_cmpsel[3:0]),
3742 .asi_mbd_compare_data(asi_mbd_compare_data[7:0]),
3743 .asi_mbd_sel_tsd0(asi_mbd_sel_tsd0),
3744 .asi_mbd_sel_tsd1(asi_mbd_sel_tsd1),
3745 .asi_mbd_sel_tic(asi_mbd_sel_tic),
3746 .asi_mbist_addr(asi_mbist_addr[4:0]),
3747 .asi_mbist_tsa_rd_en(asi_mbist_tsa_rd_en[1:0]),
3748 .asi_mbist_tsa_wr_en(asi_mbist_tsa_wr_en[1:0]),
3749 .asi_mbist_tel_en(asi_mbist_tel_en[1:0]),
3750 .asi_tccup_in(asi_tccup_in),
3751 .asi_tccud_in(asi_tccud_in),
3752 .asi_immu_enable(asi_immu_enable[7:0]),
3753 .asi_spec_enable(asi_spec_enable[7:0]),
3754 .asi_halt(asi_halt[7:0]),
3755 .asi_clear_spu_trap_req(asi_clear_spu_trap_req[7:0]),
3756 .tlu_spec_enable(tlu_spec_enable[7:0]),
3757 .tlu_tca_tid(tlu_tca_tid[2:0]),
3758 .tlu_tca_index(tlu_tca_index[1:0]),
3759 .tlu_mbi_tsa0_fail(tlu_mbi_tsa0_fail),
3760 .tlu_mbi_tsa1_fail(tlu_mbi_tsa1_fail),
3761 .tlu_mbi_tca_fail(tlu_mbi_tca_fail),
3762 .tlu_rngf_cdbus(tlu_rngf_cdbus[64:0]),
3763 .tlu_rngf_cdbus_error(tlu_rngf_cdbus_error)
3764);
3765
3766
3767////////////////////////////////////////////////////////////////////////////////
3768// TICK register support
3769
3770tlu_tic_dp tic (
3771 .scan_in(tic_scanin),
3772 .scan_out(tic_scanout),
3773 .l2clk (l2clk ),
3774 .asi_wr_data (asi_wr_data_1 [62:0] ),
3775 .tcu_pce_ov(tcu_pce_ov),
3776 .spc_aclk(spc_aclk),
3777 .spc_bclk(spc_bclk),
3778 .tcu_scan_en(tcu_scan_en),
3779 .tcu_dectest(tcu_dectest),
3780 .tcu_muxtest(tcu_muxtest),
3781 .cmp_tick_enable(cmp_tick_enable),
3782 .asi_rd_tick(asi_rd_tick),
3783 .asi_wr_tick(asi_wr_tick),
3784 .asi_tca_addr(asi_tca_addr[4:0]),
3785 .asi_tca_addr_valid(asi_tca_addr_valid),
3786 .asi_tca_wr(asi_tca_wr),
3787 .asi_mbist_run(asi_mbist_run),
3788 .asi_mbist_cmpsel(asi_mbist_cmpsel[1:0]),
3789 .tca_cmpr_data_in(tca_cmpr_data_in[63:0]),
3790 .cel_ecc(cel_ecc[7:0]),
3791 .exu_address0_e(exu_address0_e[47:0]),
3792 .exu_address1_e(exu_address1_e[47:0]),
3793 .tic_cmpr_addr(tic_cmpr_addr[4:0]),
3794 .tic_cmpr_wr_en(tic_cmpr_wr_en),
3795 .tic_cmpr_rd_en(tic_cmpr_rd_en),
3796 .tic_asi_data(tic_asi_data[63:0]),
3797 .tic_cmpr_data(tic_cmpr_data[63:0]),
3798 .tic_addr(tic_addr[4:0]),
3799 .tic_not_valid(tic_not_valid),
3800 .tic_match(tic_match),
3801 .tic_mbist_data(tic_mbist_data[31:0]),
3802 .tic_exu_address0_m(tic_exu_address0_m[47:2]),
3803 .tic_exu_address1_m(tic_exu_address1_m[47:2]),
3804 .tic_exu_address0_b(tic_exu_address0_b[1:0]),
3805 .tic_exu_address1_b(tic_exu_address1_b[1:0])
3806);
3807
3808// Storage for TICK_CMPR, STICK_CMPR, HSTICK_CMPR
3809// Addressing:
3810// 4:3 10 HSTICK_CMPR
3811// 01 STICK_CMPR
3812// 00 TICK_CMPR
3813// 2:0 Thread ID
3814//
3815// Since (H)(S)TICK_CMPR.INTDIS (bit 63) has POR value of 1, store it
3816// negative active
3817
3818
3819n2_com_dp_32x72_cust tca (
3820 .scan_in(tca_scanin),
3821 .scan_out(tca_scanout),
3822 .rdclk (l2clk ),
3823 .wrclk (l2clk ),
3824 .tcu_aclk (spc_aclk ),
3825 .tcu_bclk (spc_bclk ),
3826 .rd_adr (tic_cmpr_addr [4:0] ),
3827 .rd_en (tic_cmpr_rd_en ),
3828 .wr_adr (tic_cmpr_addr [4:0] ),
3829 .wr_en (tic_cmpr_wr_en ),
3830 .din ({cem_ecc [7:0],
3831 asi_tca_wr_data_63 ,
3832 asi_wr_data_1 [62:0]}),
3833 .dout ({tca_ecc [7:0],
3834 tca_cmpr_data_in [63:0]}),
3835 .tcu_pce_ov(tcu_pce_ov),
3836 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
3837 .tcu_se_scancollar_in(tcu_se_scancollar_in),
3838 .bist_clk_mux_sel(bist_clk_mux_sel),
3839 .rd_pce(rd_pce),
3840 .wr_pce(wr_pce)
3841);
3842
3843
3844// ECC generation for 64 bits
3845tlu_cep_dp cep (
3846 .scan_in(cep_scanin),
3847 .scan_out(cep_scanout),
3848 .l2clk (l2clk ),
3849 .tcu_pce_ov(tcu_pce_ov),
3850 .spc_aclk(spc_aclk),
3851 .spc_bclk(spc_bclk),
3852 .tcu_scan_en(tcu_scan_en),
3853 .lsu_rngf_cdbus(lsu_rngf_cdbus[63:0]),
3854 .asi_stg1_en(asi_stg1_en),
3855 .cep_wr_data(cep_wr_data[63:0])
3856);
3857
3858tlu_ecg_dp ceg (
3859 .data_in ({{4 {1'b0}} ,
3860 cep_wr_data [63:0]}),
3861 .ecc_out (ceg_ecc [7:0] )
3862);
3863
3864tlu_eem_dp cem (
3865 .asi_error_inject (asi_error_tccu ),
3866 .ecc_in (ceg_ecc [7:0] ),
3867 .ecc_out (cem_ecc [7:0] ),
3868 .asi_error_mask(asi_error_mask[7:0]),
3869 .asi_mbist_ecc_in(asi_mbist_ecc_in[7:0]),
3870 .asi_mbist_run(asi_mbist_run)
3871);
3872
3873// ECC error detection for 64 bits
3874tlu_cel_dp cel (
3875 .scan_in(cel_scanin),
3876 .scan_out(cel_scanout),
3877 .l2clk (l2clk ),
3878 .tcu_pce_ov(tcu_pce_ov),
3879 .spc_aclk(spc_aclk),
3880 .spc_bclk(spc_bclk),
3881 .tcu_scan_en(tcu_scan_en),
3882 .tlu_cerer_tccp(tlu_cerer_tccp),
3883 .tlu_cerer_tcup(tlu_cerer_tcup),
3884 .tlu_cerer_tccd(tlu_cerer_tccd),
3885 .tlu_cerer_tcud(tlu_cerer_tcud),
3886 .ced_syndrome(ced_syndrome[7:0]),
3887 .tca_ecc(tca_ecc[7:0]),
3888 .ced_cecc_err(ced_cecc_err),
3889 .ced_uecc_err(ced_uecc_err),
3890 .asi_tccup_in(asi_tccup_in),
3891 .asi_tccud_in(asi_tccud_in),
3892 .cel_syndrome(cel_syndrome[7:0]),
3893 .cel_ecc(cel_ecc[7:0]),
3894 .cel_crit_ecc(cel_crit_ecc[7:0]),
3895 .cel_tccp(cel_tccp),
3896 .cel_tcup(cel_tcup),
3897 .cel_tccd(cel_tccd),
3898 .cel_tcud(cel_tcud)
3899);
3900
3901tlu_ecd_dp ced (
3902 .data_in ({{4 {1'b0}} ,
3903 tic_cmpr_data [63:0]}),
3904 .ecc_in (cel_crit_ecc [7:0] ),
3905 .cerer_ce (1'b1 ),
3906 .cerer_ue (1'b1 ),
3907 .syndrome (ced_syndrome [7:0] ),
3908 .cecc_err (ced_cecc_err ),
3909 .uecc_err (ced_uecc_err ),
3910 .uecc_err_ (ced_uecc_err__unused )
3911);
3912
3913
3914
3915////////////////////////////////////////////////////////////////////////////////
3916// RAS
3917
3918// control regs
3919tlu_cer_dp cer (
3920 .scan_in(cer_scanin),
3921 .scan_out(cer_scanout),
3922 .l2clk (l2clk ),
3923 .asi_wr_data (asi_wr_data_0 [63:0] ),
3924 .tcu_pce_ov(tcu_pce_ov),
3925 .spc_aclk(spc_aclk),
3926 .spc_bclk(spc_bclk),
3927 .tcu_scan_en(tcu_scan_en),
3928 .asi_rd_cerer(asi_rd_cerer),
3929 .asi_rd_ceter(asi_rd_ceter),
3930 .asi_wr_cerer(asi_wr_cerer),
3931 .asi_ceter_tid(asi_ceter_tid[2:0]),
3932 .asi_wr_ceter(asi_wr_ceter),
3933 .cth_asi_data(cth_asi_data[63:0]),
3934 .cer_asi_data(cer_asi_data[63:0]),
3935 .tlu_cerer_ittp(tlu_cerer_ittp),
3936 .tlu_cerer_itdp(tlu_cerer_itdp),
3937 .tlu_cerer_ittm(tlu_cerer_ittm),
3938 .tlu_cerer_hwtwmu(tlu_cerer_hwtwmu),
3939 .tlu_cerer_hwtwl2(tlu_cerer_hwtwl2),
3940 .tlu_cerer_icl2c(tlu_cerer_icl2c),
3941 .tlu_cerer_icl2u(tlu_cerer_icl2u),
3942 .tlu_cerer_icl2nd(tlu_cerer_icl2nd),
3943 .tlu_cerer_irf(tlu_cerer_irf),
3944 .tlu_cerer_frf(tlu_cerer_frf),
3945 .tlu_cerer_dttp(tlu_cerer_dttp),
3946 .tlu_cerer_dttm(tlu_cerer_dttm),
3947 .tlu_cerer_dtdp(tlu_cerer_dtdp),
3948 .tlu_cerer_dcl2c(tlu_cerer_dcl2c),
3949 .tlu_cerer_dcl2u(tlu_cerer_dcl2u),
3950 .tlu_cerer_dcl2nd(tlu_cerer_dcl2nd),
3951 .tlu_cerer_sbdlc(tlu_cerer_sbdlc),
3952 .tlu_cerer_sbdlu(tlu_cerer_sbdlu),
3953 .tlu_cerer_mrau(tlu_cerer_mrau),
3954 .tlu_cerer_tsac(tlu_cerer_tsac),
3955 .tlu_cerer_tsau(tlu_cerer_tsau),
3956 .tlu_cerer_scac(tlu_cerer_scac),
3957 .tlu_cerer_scau(tlu_cerer_scau),
3958 .tlu_cerer_tccp(tlu_cerer_tccp),
3959 .tlu_cerer_tcup(tlu_cerer_tcup),
3960 .tlu_cerer_sbapp(tlu_cerer_sbapp),
3961 .tlu_cerer_l2c_socc(tlu_cerer_l2c_socc),
3962 .tlu_cerer_l2u_socu(tlu_cerer_l2u_socu),
3963 .tlu_cerer_l2nd(tlu_cerer_l2nd),
3964 .tlu_cerer_icvp(tlu_cerer_icvp),
3965 .tlu_cerer_ictp(tlu_cerer_ictp),
3966 .tlu_cerer_ictm(tlu_cerer_ictm),
3967 .tlu_cerer_icdp(tlu_cerer_icdp),
3968 .tlu_cerer_dcvp(tlu_cerer_dcvp),
3969 .tlu_cerer_dctp(tlu_cerer_dctp),
3970 .tlu_cerer_dctm(tlu_cerer_dctm),
3971 .tlu_cerer_dcdp(tlu_cerer_dcdp),
3972 .tlu_cerer_sbdpc(tlu_cerer_sbdpc),
3973 .tlu_cerer_sbdpu(tlu_cerer_sbdpu),
3974 .tlu_cerer_mamu(tlu_cerer_mamu),
3975 .tlu_cerer_tccd(tlu_cerer_tccd),
3976 .tlu_cerer_tcud(tlu_cerer_tcud),
3977 .tlu_cerer_mal2c(tlu_cerer_mal2c),
3978 .tlu_cerer_mal2u(tlu_cerer_mal2u),
3979 .tlu_cerer_mal2nd(tlu_cerer_mal2nd),
3980 .tlu_cerer_cwql2c(tlu_cerer_cwql2c),
3981 .tlu_cerer_cwql2u(tlu_cerer_cwql2u),
3982 .tlu_cerer_cwql2nd(tlu_cerer_cwql2nd),
3983 .tlu_ceter_pscce(tlu_ceter_pscce[7:0]),
3984 .tlu_ceter_de(tlu_ceter_de[7:0]),
3985 .tlu_ceter_dhcce(tlu_ceter_dhcce[7:0])
3986);
3987
3988tlu_ras_ctl ras (
3989 .wmr_scan_in(ras_wmr_scanin),
3990 .wmr_scan_out(ras_wmr_scanout),
3991 .scan_in(ras_scanin),
3992 .scan_out(ras_scanout),
3993 .l2clk (l2clk ),
3994 .asi_wr_data (cth_wr_data [3:0] ),
3995 .spu_tlu_mamu_err_req_v (spu_tlu_ma_int_req [4 ] ),
3996 .tcu_pce_ov(tcu_pce_ov),
3997 .spc_aclk(spc_aclk),
3998 .spc_bclk(spc_bclk),
3999 .tcu_scan_en(tcu_scan_en),
4000 .spc_aclk_wmr(spc_aclk_wmr),
4001 .lsu_tlu_pmen(lsu_tlu_pmen),
4002 .ftu_excp_way_d(ftu_excp_way_d[2:0]),
4003 .ftu_excp_tid_d(ftu_excp_tid_d[2:0]),
4004 .ftu_excp_way_valid_d(ftu_excp_way_valid_d),
4005 .dec_exc0_m(dec_exc0_m[4:0]),
4006 .dec_exc1_m(dec_exc1_m[4:0]),
4007 .dec_icache_perr_m(dec_icache_perr_m[1:0]),
4008 .dec_tid0_m(dec_tid0_m[1:0]),
4009 .dec_tid1_m(dec_tid1_m[1:0]),
4010 .dec_inst_valid_m(dec_inst_valid_m[1:0]),
4011 .dec_fgu_inst_m(dec_fgu_inst_m[1:0]),
4012 .dec_lsu_inst_m(dec_lsu_inst_m[1:0]),
4013 .dec_flush_b(dec_flush_b[1:0]),
4014 .fls_irf_cecc_b(fls_irf_cecc_b[1:0]),
4015 .fls_irf_uecc_b(fls_irf_uecc_b[1:0]),
4016 .fls_kill_irf_ecc_w(fls_kill_irf_ecc_w[1:0]),
4017 .exu0_ecc_addr_m(exu0_ecc_addr_m[4:0]),
4018 .exu1_ecc_addr_m(exu1_ecc_addr_m[4:0]),
4019 .exu0_ecc_check_m(exu0_ecc_check_m[7:0]),
4020 .exu1_ecc_check_m(exu1_ecc_check_m[7:0]),
4021 .fls_f_cecc_w(fls_f_cecc_w),
4022 .fls_f_uecc_w(fls_f_uecc_w),
4023 .fgu_ecc_addr_fx2(fgu_ecc_addr_fx2[5:0]),
4024 .fgu_ecc_check_fx2(fgu_ecc_check_fx2[13:0]),
4025 .fgu_pdist_beat2_fx1(fgu_pdist_beat2_fx1),
4026 .lsu_tlu_twocycle_m(lsu_tlu_twocycle_m),
4027 .lsu_block_store_b(lsu_block_store_b[7:0]),
4028 .fls_load_dsfar(fls_load_dsfar[7:0]),
4029 .fls_ipe_dme_request(fls_ipe_dme_request[1:0]),
4030 .lsu_dttp_err_b(lsu_dttp_err_b),
4031 .lsu_dtdp_err_b(lsu_dtdp_err_b),
4032 .lsu_dtmh_err_b(lsu_dtmh_err_b),
4033 .lsu_dcmh_err_g(lsu_dcmh_err_g),
4034 .lsu_dcvp_err_g(lsu_dcvp_err_g),
4035 .lsu_dctp_err_g(lsu_dctp_err_g),
4036 .lsu_dcdp_err_g(lsu_dcdp_err_g),
4037 .lsu_dcl2c_err_g(lsu_dcl2c_err_g),
4038 .lsu_dcl2u_err_g(lsu_dcl2u_err_g),
4039 .lsu_dcl2nd_err_g(lsu_dcl2nd_err_g),
4040 .lsu_dcsoc_err_g(lsu_dcsoc_err_g),
4041 .lsu_dcerr_tid_g(lsu_dcerr_tid_g[2:0]),
4042 .lsu_dcerr_sfar_g(lsu_dcerr_sfar_g[8:0]),
4043 .lsu_sbdlc_err_g(lsu_sbdlc_err_g),
4044 .lsu_sbdlu_err_g(lsu_sbdlu_err_g),
4045 .lsu_sbdpc_err_g(lsu_sbdpc_err_g),
4046 .lsu_sbdpu_err_g(lsu_sbdpu_err_g),
4047 .lsu_sbapp_err_g(lsu_sbapp_err_g),
4048 .lsu_sbdiou_err_g(lsu_sbdiou_err_g),
4049 .lsu_stberr_tid_g(lsu_stberr_tid_g[2:0]),
4050 .lsu_stberr_index_g(lsu_stberr_index_g[2:0]),
4051 .lsu_stberr_priv_g(lsu_stberr_priv_g[1:0]),
4052 .lsu_stb_flush_g(lsu_stb_flush_g),
4053 .cel_tccp(cel_tccp),
4054 .cel_tcup(cel_tcup),
4055 .cel_syndrome(cel_syndrome[7:0]),
4056 .tlu_tca_tid(tlu_tca_tid[2:0]),
4057 .tlu_tca_index(tlu_tca_index[1:0]),
4058 .tlu_tsac(tlu_tsac[7:0]),
4059 .tlu_tsau(tlu_tsau[7:0]),
4060 .asi_tsac(asi_tsac),
4061 .asi_tsau(asi_tsau),
4062 .asi_tsacu_tid(asi_tsacu_tid[2:0]),
4063 .tlu_tccd(tlu_tccd[7:0]),
4064 .tlu_tcud(tlu_tcud[7:0]),
4065 .tlu_tca_index_0(tlu_tca_index_0[1:0]),
4066 .tlu_tca_index_1(tlu_tca_index_1[1:0]),
4067 .tsd_pc_0_w(tsd_pc_0_w[10:5]),
4068 .tsd_pc_1_w(tsd_pc_1_w[10:5]),
4069 .fls_flush(fls_flush[7:0]),
4070 .fls_disrupting_flush_w(fls_disrupting_flush_w[1:0]),
4071 .trl_gl0(trl_gl0[1:0]),
4072 .trl_gl1(trl_gl1[1:0]),
4073 .trl_gl2(trl_gl2[1:0]),
4074 .trl_gl3(trl_gl3[1:0]),
4075 .trl_gl4(trl_gl4[1:0]),
4076 .trl_gl5(trl_gl5[1:0]),
4077 .trl_gl6(trl_gl6[1:0]),
4078 .trl_gl7(trl_gl7[1:0]),
4079 .mmu_asi_cecc(mmu_asi_cecc),
4080 .mmu_asi_uecc(mmu_asi_uecc),
4081 .mmu_asi_index(mmu_asi_index[10:0]),
4082 .mmu_asi_mra_not_sca(mmu_asi_mra_not_sca),
4083 .mmu_i_l2cerr(mmu_i_l2cerr[7:0]),
4084 .mmu_d_l2cerr(mmu_d_l2cerr[7:0]),
4085 .mmu_i_eccerr(mmu_i_eccerr[7:0]),
4086 .mmu_d_eccerr(mmu_d_eccerr[7:0]),
4087 .mmu_thr0_err_type(mmu_thr0_err_type[2:0]),
4088 .mmu_thr1_err_type(mmu_thr1_err_type[2:0]),
4089 .mmu_thr2_err_type(mmu_thr2_err_type[2:0]),
4090 .mmu_thr3_err_type(mmu_thr3_err_type[2:0]),
4091 .mmu_thr4_err_type(mmu_thr4_err_type[2:0]),
4092 .mmu_thr5_err_type(mmu_thr5_err_type[2:0]),
4093 .mmu_thr6_err_type(mmu_thr6_err_type[2:0]),
4094 .mmu_thr7_err_type(mmu_thr7_err_type[2:0]),
4095 .mmu_thr0_err_index(mmu_thr0_err_index[2:0]),
4096 .mmu_thr1_err_index(mmu_thr1_err_index[2:0]),
4097 .mmu_thr2_err_index(mmu_thr2_err_index[2:0]),
4098 .mmu_thr3_err_index(mmu_thr3_err_index[2:0]),
4099 .mmu_thr4_err_index(mmu_thr4_err_index[2:0]),
4100 .mmu_thr5_err_index(mmu_thr5_err_index[2:0]),
4101 .mmu_thr6_err_index(mmu_thr6_err_index[2:0]),
4102 .mmu_thr7_err_index(mmu_thr7_err_index[2:0]),
4103 .spu_tlu_mamu_err_req(spu_tlu_mamu_err_req[10:0]),
4104 .spu_tlu_ma_int_req(spu_tlu_ma_int_req[2:0]),
4105 .spu_tlu_cwq_int_req(spu_tlu_cwq_int_req[2:0]),
4106 .spu_tlu_l2_error(spu_tlu_l2_error[5:0]),
4107 .cxi_l2_soc_sre(cxi_l2_soc_sre),
4108 .cxi_l2_soc_err_type(cxi_l2_soc_err_type[1:0]),
4109 .cxi_l2_soc_tid(cxi_l2_soc_tid[2:0]),
4110 .cxi_l2_err(cxi_l2_err),
4111 .cxi_soc_err(cxi_soc_err),
4112 .asi_rd_isfsr(asi_rd_isfsr),
4113 .asi_rd_dsfsr(asi_rd_dsfsr),
4114 .asi_rd_dsfar(asi_rd_dsfar),
4115 .asi_rd_desr(asi_rd_desr),
4116 .asi_rd_fesr(asi_rd_fesr),
4117 .asi_rd_tid(asi_rd_tid[2:0]),
4118 .asi_wr_isfsr(asi_wr_isfsr[7:0]),
4119 .asi_wr_dsfsr(asi_wr_dsfsr[7:0]),
4120 .dfd_desr_f(dfd_desr_f[7:0]),
4121 .dfd_desr_s(dfd_desr_s[7:0]),
4122 .dfd_fesr_f(dfd_fesr_f[7:0]),
4123 .dfd_fesr_priv_0(dfd_fesr_priv_0[1:0]),
4124 .dfd_fesr_priv_1(dfd_fesr_priv_1[1:0]),
4125 .dfd_fesr_priv_2(dfd_fesr_priv_2[1:0]),
4126 .dfd_fesr_priv_3(dfd_fesr_priv_3[1:0]),
4127 .dfd_fesr_priv_4(dfd_fesr_priv_4[1:0]),
4128 .dfd_fesr_priv_5(dfd_fesr_priv_5[1:0]),
4129 .dfd_fesr_priv_6(dfd_fesr_priv_6[1:0]),
4130 .dfd_fesr_priv_7(dfd_fesr_priv_7[1:0]),
4131 .ras_asi_data(ras_asi_data[3:0]),
4132 .ras_dsfar_0(ras_dsfar_0[19:0]),
4133 .ras_dsfar_1(ras_dsfar_1[19:0]),
4134 .ras_dsfar_2(ras_dsfar_2[19:0]),
4135 .ras_dsfar_3(ras_dsfar_3[19:0]),
4136 .ras_dsfar_4(ras_dsfar_4[19:0]),
4137 .ras_dsfar_5(ras_dsfar_5[19:0]),
4138 .ras_dsfar_6(ras_dsfar_6[19:0]),
4139 .ras_dsfar_7(ras_dsfar_7[19:0]),
4140 .ras_dsfar_sel_lsu_va(ras_dsfar_sel_lsu_va[7:0]),
4141 .ras_dsfar_sel_ras(ras_dsfar_sel_ras[7:0]),
4142 .ras_dsfar_sel_tsa(ras_dsfar_sel_tsa[7:0]),
4143 .ras_rd_dsfar(ras_rd_dsfar[7:0]),
4144 .ras_desr_et_0(ras_desr_et_0[61:56]),
4145 .ras_desr_et_1(ras_desr_et_1[61:56]),
4146 .ras_desr_et_2(ras_desr_et_2[61:56]),
4147 .ras_desr_et_3(ras_desr_et_3[61:56]),
4148 .ras_desr_et_4(ras_desr_et_4[61:56]),
4149 .ras_desr_et_5(ras_desr_et_5[61:56]),
4150 .ras_desr_et_6(ras_desr_et_6[61:56]),
4151 .ras_desr_et_7(ras_desr_et_7[61:56]),
4152 .ras_desr_ea_0(ras_desr_ea_0[10:0]),
4153 .ras_desr_ea_1(ras_desr_ea_1[10:0]),
4154 .ras_desr_ea_2(ras_desr_ea_2[10:0]),
4155 .ras_desr_ea_3(ras_desr_ea_3[10:0]),
4156 .ras_desr_ea_4(ras_desr_ea_4[10:0]),
4157 .ras_desr_ea_5(ras_desr_ea_5[10:0]),
4158 .ras_desr_ea_6(ras_desr_ea_6[10:0]),
4159 .ras_desr_ea_7(ras_desr_ea_7[10:0]),
4160 .ras_desr_me_0(ras_desr_me_0),
4161 .ras_desr_me_1(ras_desr_me_1),
4162 .ras_desr_me_2(ras_desr_me_2),
4163 .ras_desr_me_3(ras_desr_me_3),
4164 .ras_desr_me_4(ras_desr_me_4),
4165 .ras_desr_me_5(ras_desr_me_5),
4166 .ras_desr_me_6(ras_desr_me_6),
4167 .ras_desr_me_7(ras_desr_me_7),
4168 .ras_desr_en(ras_desr_en[7:0]),
4169 .ras_write_desr_1st(ras_write_desr_1st[7:0]),
4170 .ras_write_desr_2nd(ras_write_desr_2nd[7:0]),
4171 .ras_rd_desr(ras_rd_desr[7:0]),
4172 .ras_fesr_et_0(ras_fesr_et_0[61:60]),
4173 .ras_fesr_et_1(ras_fesr_et_1[61:60]),
4174 .ras_fesr_et_2(ras_fesr_et_2[61:60]),
4175 .ras_fesr_et_3(ras_fesr_et_3[61:60]),
4176 .ras_fesr_et_4(ras_fesr_et_4[61:60]),
4177 .ras_fesr_et_5(ras_fesr_et_5[61:60]),
4178 .ras_fesr_et_6(ras_fesr_et_6[61:60]),
4179 .ras_fesr_et_7(ras_fesr_et_7[61:60]),
4180 .ras_fesr_ea_0(ras_fesr_ea_0[59:55]),
4181 .ras_fesr_ea_1(ras_fesr_ea_1[59:55]),
4182 .ras_fesr_ea_2(ras_fesr_ea_2[59:55]),
4183 .ras_fesr_ea_3(ras_fesr_ea_3[59:55]),
4184 .ras_fesr_ea_4(ras_fesr_ea_4[59:55]),
4185 .ras_fesr_ea_5(ras_fesr_ea_5[59:55]),
4186 .ras_fesr_ea_6(ras_fesr_ea_6[59:55]),
4187 .ras_fesr_ea_7(ras_fesr_ea_7[59:55]),
4188 .ras_fesr_en(ras_fesr_en[7:0]),
4189 .ras_write_fesr(ras_write_fesr[7:0]),
4190 .ras_fesr_priv(ras_fesr_priv[59:58]),
4191 .ras_update_priv(ras_update_priv[7:0]),
4192 .ras_rd_fesr(ras_rd_fesr[7:0]),
4193 .ras_precise_error(ras_precise_error[7:0]),
4194 .ras_disrupting_error(ras_disrupting_error[7:0]),
4195 .ras_deferred_error(ras_deferred_error[7:0])
4196);
4197
4198tlu_dfd_dp dfd (
4199 .wmr_scan_in(dfd_wmr_scanin),
4200 .wmr_scan_out(dfd_wmr_scanout),
4201 .scan_in(dfd_scanin),
4202 .scan_out(dfd_scanout),
4203 .l2clk (l2clk ),
4204 .asi_wr_data (cth_wr_data [61:0] ),
4205 .tcu_pce_ov(tcu_pce_ov),
4206 .spc_aclk(spc_aclk),
4207 .spc_bclk(spc_bclk),
4208 .tcu_scan_en(tcu_scan_en),
4209 .tcu_scan_en_wmr(tcu_scan_en_wmr),
4210 .spc_aclk_wmr(spc_aclk_wmr),
4211 .lsu_va_b(lsu_va_b[47:0]),
4212 .pct0_target_b(pct0_target_b[47:2]),
4213 .pct1_target_b(pct1_target_b[47:2]),
4214 .tic_exu_address0_b(tic_exu_address0_b[1:0]),
4215 .tic_exu_address1_b(tic_exu_address1_b[1:0]),
4216 .fls0_dfd_lsu_inst_b(fls0_dfd_lsu_inst_b),
4217 .fls1_dfd_lsu_inst_b(fls1_dfd_lsu_inst_b),
4218 .tel0_syndrome(tel0_syndrome[15:0]),
4219 .tel1_syndrome(tel1_syndrome[15:0]),
4220 .tlu_tsa_index_0(tlu_tsa_index_0[2:0]),
4221 .tlu_tsa_index_1(tlu_tsa_index_1[2:0]),
4222 .ras_dsfar_0(ras_dsfar_0[19:0]),
4223 .ras_dsfar_1(ras_dsfar_1[19:0]),
4224 .ras_dsfar_2(ras_dsfar_2[19:0]),
4225 .ras_dsfar_3(ras_dsfar_3[19:0]),
4226 .ras_dsfar_4(ras_dsfar_4[19:0]),
4227 .ras_dsfar_5(ras_dsfar_5[19:0]),
4228 .ras_dsfar_6(ras_dsfar_6[19:0]),
4229 .ras_dsfar_7(ras_dsfar_7[19:0]),
4230 .ras_dsfar_sel_lsu_va(ras_dsfar_sel_lsu_va[7:0]),
4231 .ras_dsfar_sel_ras(ras_dsfar_sel_ras[7:0]),
4232 .ras_dsfar_sel_tsa(ras_dsfar_sel_tsa[7:0]),
4233 .ras_desr_et_0(ras_desr_et_0[61:56]),
4234 .ras_desr_et_1(ras_desr_et_1[61:56]),
4235 .ras_desr_et_2(ras_desr_et_2[61:56]),
4236 .ras_desr_et_3(ras_desr_et_3[61:56]),
4237 .ras_desr_et_4(ras_desr_et_4[61:56]),
4238 .ras_desr_et_5(ras_desr_et_5[61:56]),
4239 .ras_desr_et_6(ras_desr_et_6[61:56]),
4240 .ras_desr_et_7(ras_desr_et_7[61:56]),
4241 .ras_desr_ea_0(ras_desr_ea_0[10:0]),
4242 .ras_desr_ea_1(ras_desr_ea_1[10:0]),
4243 .ras_desr_ea_2(ras_desr_ea_2[10:0]),
4244 .ras_desr_ea_3(ras_desr_ea_3[10:0]),
4245 .ras_desr_ea_4(ras_desr_ea_4[10:0]),
4246 .ras_desr_ea_5(ras_desr_ea_5[10:0]),
4247 .ras_desr_ea_6(ras_desr_ea_6[10:0]),
4248 .ras_desr_ea_7(ras_desr_ea_7[10:0]),
4249 .ras_desr_me_0(ras_desr_me_0),
4250 .ras_desr_me_1(ras_desr_me_1),
4251 .ras_desr_me_2(ras_desr_me_2),
4252 .ras_desr_me_3(ras_desr_me_3),
4253 .ras_desr_me_4(ras_desr_me_4),
4254 .ras_desr_me_5(ras_desr_me_5),
4255 .ras_desr_me_6(ras_desr_me_6),
4256 .ras_desr_me_7(ras_desr_me_7),
4257 .ras_desr_en(ras_desr_en[7:0]),
4258 .ras_write_desr_1st(ras_write_desr_1st[7:0]),
4259 .ras_write_desr_2nd(ras_write_desr_2nd[7:0]),
4260 .ras_fesr_et_0(ras_fesr_et_0[61:60]),
4261 .ras_fesr_et_1(ras_fesr_et_1[61:60]),
4262 .ras_fesr_et_2(ras_fesr_et_2[61:60]),
4263 .ras_fesr_et_3(ras_fesr_et_3[61:60]),
4264 .ras_fesr_et_4(ras_fesr_et_4[61:60]),
4265 .ras_fesr_et_5(ras_fesr_et_5[61:60]),
4266 .ras_fesr_et_6(ras_fesr_et_6[61:60]),
4267 .ras_fesr_et_7(ras_fesr_et_7[61:60]),
4268 .ras_fesr_ea_0(ras_fesr_ea_0[59:55]),
4269 .ras_fesr_ea_1(ras_fesr_ea_1[59:55]),
4270 .ras_fesr_ea_2(ras_fesr_ea_2[59:55]),
4271 .ras_fesr_ea_3(ras_fesr_ea_3[59:55]),
4272 .ras_fesr_ea_4(ras_fesr_ea_4[59:55]),
4273 .ras_fesr_ea_5(ras_fesr_ea_5[59:55]),
4274 .ras_fesr_ea_6(ras_fesr_ea_6[59:55]),
4275 .ras_fesr_ea_7(ras_fesr_ea_7[59:55]),
4276 .ras_fesr_en(ras_fesr_en[7:0]),
4277 .ras_write_fesr(ras_write_fesr[7:0]),
4278 .ras_fesr_priv(ras_fesr_priv[59:58]),
4279 .ras_update_priv(ras_update_priv[7:0]),
4280 .ras_asi_data(ras_asi_data[3:0]),
4281 .ras_rd_dsfar(ras_rd_dsfar[7:0]),
4282 .ras_rd_desr(ras_rd_desr[7:0]),
4283 .ras_rd_fesr(ras_rd_fesr[7:0]),
4284 .asi_wr_dsfar(asi_wr_dsfar[7:0]),
4285 .dfd_desr_f(dfd_desr_f[7:0]),
4286 .dfd_desr_s(dfd_desr_s[7:0]),
4287 .dfd_fls_desr_f(dfd_fls_desr_f[7:0]),
4288 .dfd_fls_desr_s(dfd_fls_desr_s[7:0]),
4289 .dfd_fesr_f(dfd_fesr_f[7:0]),
4290 .dfd_fesr_priv_0(dfd_fesr_priv_0[1:0]),
4291 .dfd_fesr_priv_1(dfd_fesr_priv_1[1:0]),
4292 .dfd_fesr_priv_2(dfd_fesr_priv_2[1:0]),
4293 .dfd_fesr_priv_3(dfd_fesr_priv_3[1:0]),
4294 .dfd_fesr_priv_4(dfd_fesr_priv_4[1:0]),
4295 .dfd_fesr_priv_5(dfd_fesr_priv_5[1:0]),
4296 .dfd_fesr_priv_6(dfd_fesr_priv_6[1:0]),
4297 .dfd_fesr_priv_7(dfd_fesr_priv_7[1:0]),
4298 .dfd_asi_data(dfd_asi_data[47:0]),
4299 .dfd_asi_desr(dfd_asi_desr[18:0])
4300);
4301
4302
4303
4304////////////////////////////////////////////////////////////////////////////////
4305// Debug
4306
4307// Freerunning domain
4308tlu_sse_dp sse (
4309 .scan_in(sse_scanin),
4310 .scan_out(sse_scanout),
4311 .l2clk (l2clk ),
4312 .tcu_pce_ov(tcu_pce_ov),
4313 .spc_aclk(spc_aclk),
4314 .spc_bclk(spc_bclk),
4315 .tcu_scan_en(tcu_scan_en),
4316 .tcu_shscan_clk_stop(tcu_shscan_clk_stop),
4317 .trl1_shscanid_2(trl1_shscanid_2),
4318 .fls_ss_update_pc_w(fls_ss_update_pc_w[1:0]),
4319 .pct0_shadow_pc_d(pct0_shadow_pc_d[47:2]),
4320 .pct1_shadow_pc_d(pct1_shadow_pc_d[47:2]),
4321 .fls0_spc_hardstop_request(fls0_spc_hardstop_request),
4322 .fls0_spc_softstop_request(fls0_spc_softstop_request),
4323 .fls0_spc_trigger_pulse(fls0_spc_trigger_pulse),
4324 .fls1_spc_hardstop_request(fls1_spc_hardstop_request),
4325 .fls1_spc_softstop_request(fls1_spc_softstop_request),
4326 .fls1_spc_trigger_pulse(fls1_spc_trigger_pulse),
4327 .sse_shscan_clk_stop(sse_shscan_clk_stop),
4328 .sse_shadow_pc(sse_shadow_pc[47:2]),
4329 .tlu_hardstop_request(tlu_hardstop_request),
4330 .tlu_softstop_request(tlu_softstop_request),
4331 .tlu_trigger_pulse(tlu_trigger_pulse)
4332);
4333
4334// Shadow scan domain
4335assign shscan_l2clk = l2clk;
4336tlu_ssd_dp ssd (.shscan_l2clk(shscan_l2clk),
4337 .tcu_shscan_scan_in(tcu_shscan_scan_in),
4338 .tcu_shscan_pce_ov(tcu_shscan_pce_ov),
4339 .tcu_shscan_aclk(tcu_shscan_aclk),
4340 .tcu_shscan_bclk(tcu_shscan_bclk),
4341 .tcu_shscan_scan_en(tcu_shscan_scan_en),
4342 .trl1_shscanid_2(trl1_shscanid_2),
4343 .sse_shscan_clk_stop(sse_shscan_clk_stop),
4344 .sse_shadow_pc(sse_shadow_pc[47:2]),
4345 .tsd0_shadow_pstate(tsd0_shadow_pstate[10:0]),
4346 .tsd1_shadow_pstate(tsd1_shadow_pstate[10:0]),
4347 .tsd0_shadow_tpc(tsd0_shadow_tpc[47:2]),
4348 .tsd1_shadow_tpc(tsd1_shadow_tpc[47:2]),
4349 .tsd0_shadow_tt(tsd0_shadow_tt[8:0]),
4350 .tsd1_shadow_tt(tsd1_shadow_tt[8:0]),
4351 .trl0_shadow_tl(trl0_shadow_tl[2:0]),
4352 .trl1_shadow_tl(trl1_shadow_tl[2:0]),
4353 .trl0_tl_for_tt(trl0_tl_for_tt[2:0]),
4354 .trl1_tl_for_tt(trl1_tl_for_tt[2:0]),
4355 .spc_shscan_scan_out(spc_shscan_scan_out)
4356);
4357
4358
4359
4360////////////////////////////////////////////////////////////////////////////////
4361// MBIST
4362
4363tlu_mbd_dp mbd(
4364 .asi_mbd_compare_data(asi_mbd_compare_data[7:0]),
4365 .asi_mbd_sel_tsd0(asi_mbd_sel_tsd0),
4366 .asi_mbd_sel_tsd1(asi_mbd_sel_tsd1),
4367 .asi_mbd_sel_tic(asi_mbd_sel_tic),
4368 .tic_mbist_data(tic_mbist_data[31:0]),
4369 .tsd0_mbist_data(tsd0_mbist_data[31:0]),
4370 .tsd1_mbist_data(tsd1_mbist_data[31:0]),
4371 .tlu_pc_0_prebuf_d(tlu_pc_0_prebuf_d[47:2]),
4372 .mbd_compare(mbd_compare),
4373 .tlu_pc_0_d(tlu_pc_0_d[47:2]));
4374
4375
4376
4377////////////////////////////////////////////////////////////////////////////////
4378// Scan patch panel
4379// fixscan start:
4380assign fls0_scanin = scan_in ;
4381assign fls1_scanin = fls0_scanout ;
4382assign pct0_scanin = fls1_scanout ;
4383assign pct1_scanin = pct0_scanout ;
4384assign cxi_scanin = pct1_scanout ;
4385assign cth_scanin = cxi_scanout ;
4386assign trl0_scanin = cth_scanout ;
4387assign trl1_scanin = trl0_scanout ;
4388assign tel0_scanin = trl1_scanout ;
4389assign tsa0_scanin = tel0_scanout ;
4390assign tel1_scanin = tsa0_scanout ;
4391assign tsa1_scanin = tel1_scanout ;
4392assign tsd0_scanin = tsa1_scanout ;
4393assign tsd1_scanin = tsd0_scanout ;
4394assign asi_scanin = tsd1_scanout ;
4395assign tic_scanin = asi_scanout ;
4396assign tca_scanin = tic_scanout ;
4397assign cep_scanin = tca_scanout ;
4398assign cel_scanin = cep_scanout ;
4399assign cer_scanin = cel_scanout ;
4400assign ras_scanin = cer_scanout ;
4401assign dfd_scanin = ras_scanout ;
4402assign sse_scanin = dfd_scanout ;
4403assign scan_out = sse_scanout ;
4404
4405assign fls0_wmr_scanin = wmr_scan_in ;
4406assign fls1_wmr_scanin = fls0_wmr_scanout ;
4407assign pct0_wmr_scanin = fls1_wmr_scanout ;
4408assign pct1_wmr_scanin = pct0_wmr_scanout ;
4409assign cth_wmr_scanin = pct1_wmr_scanout ;
4410assign trl0_wmr_scanin = cth_wmr_scanout ;
4411assign trl1_wmr_scanin = trl0_wmr_scanout ;
4412assign tsd0_wmr_scanin = trl1_wmr_scanout ;
4413assign tsd1_wmr_scanin = tsd0_wmr_scanout ;
4414assign asi_wmr_scanin = tsd1_wmr_scanout ;
4415assign ras_wmr_scanin = asi_wmr_scanout ;
4416assign dfd_wmr_scanin = ras_wmr_scanout ;
4417assign wmr_scan_out = dfd_wmr_scanout ;
4418// fixscan end:
4419endmodule
4420