Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / spc / rtl / spc.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: spc.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 spc (
36 gclk,
37 scan_in,
38 tcu_pce_ov,
39 tcu_clk_stop,
40 tcu_aclk,
41 tcu_bclk,
42 tcu_dectest,
43 tcu_muxtest,
44 tcu_scan_en,
45 tcu_array_wr_inhibit,
46 tcu_se_scancollar_in,
47 tcu_se_scancollar_out,
48 tcu_atpg_mode,
49 rst_wmr_protect,
50 scan_out,
51 tcu_shscan_pce_ov,
52 tcu_shscan_clk_stop,
53 tcu_shscan_aclk,
54 tcu_shscan_bclk,
55 tcu_shscan_scan_in,
56 tcu_shscan_scan_en,
57 tcu_shscanid,
58 spc_shscan_scan_out,
59 cluster_arst_l,
60 tcu_spc_mbist_scan_in,
61 tcu_mbist_bisi_en,
62 tcu_spc_mbist_start,
63 tcu_mbist_user_mode,
64 spc_mbist_fail,
65 spc_mbist_done,
66 spc_tcu_mbist_scan_out,
67 const_cpuid,
68 tcu_ss_mode,
69 tcu_do_mode,
70 tcu_ss_request,
71 ncu_cmp_tick_enable,
72 spc_ss_complete,
73 ncu_wmr_vec_mask,
74 spc_hardstop_request,
75 spc_softstop_request,
76 spc_trigger_pulse,
77 ncu_spc_pm,
78 ncu_spc_ba01,
79 ncu_spc_ba23,
80 ncu_spc_ba45,
81 ncu_spc_ba67,
82 efu_spc_fuse_data,
83 efu_spc_fuse_ixfer_en,
84 efu_spc_fuse_dxfer_en,
85 efu_spc_fuse_iclr,
86 efu_spc_fuse_dclr,
87 spc_efu_fuse_ddata,
88 spc_efu_fuse_idata,
89 spc_efu_fuse_ixfer_en,
90 spc_efu_fuse_dxfer_en,
91 vnw_ary0,
92 vnw_ary1,
93 tcu_spc_lbist_start,
94 tcu_spc_lbist_scan_in,
95 tcu_spc_lbist_pgm,
96 tcu_spc_test_mode,
97 spc_tcu_lbist_done,
98 spc_tcu_lbist_scan_out,
99 dmo_din,
100 dmo_coresel,
101 dmo_icmuxctl,
102 dmo_dcmuxctl,
103 dmo_dout,
104 ncu_spc_l2_idx_hash_en,
105 cpx_spc_data_cx,
106 pcx_spc_grant_px,
107 spc_pcx_req_pq,
108 spc_pcx_atm_pq,
109 spc_pcx_data_pa,
110 tcu_core_running,
111 spc_core_running_status,
112 power_throttle,
113 spc_dbg_instr_cmt_grp0,
114 spc_dbg_instr_cmt_grp1,
115 hver_mask_minor_rev,
116 ccu_slow_cmp_sync_en,
117 ccu_cmp_slow_sync_en);
118wire lsu_scanin;
119wire msf0_scanout;
120wire l2clk;
121wire lb_se_sc_out;
122wire pce_ov_br;
123wire lb_scan_en_br;
124wire spc_aclk_br;
125wire spc_bclk_br;
126wire gkt_scanin;
127wire msf1_scanout;
128wire tcu_spc_lbist_scan_in_buf;
129wire spc_tcu_lbist_scan_out_buf;
130wire pce_ov_tr;
131wire tcu_aclk_buf;
132wire tcu_bclk_buf;
133wire tcu_scan_en_buf;
134wire tcu_se_scancollar_in_buf;
135wire tcu_se_scancollar_out_buf;
136wire tcu_array_wr_inhibit_buf;
137wire tcu_spc_test_mode_buf;
138wire [1:0] scan_in_buf;
139wire [1:0] scan_out_buf;
140wire tcu_spc_lbist_start_buf;
141wire tcu_spc_lbist_pgm_buf;
142wire lb_lbist_done;
143wire lb_lbist_running;
144wire wmr_protect_scanin;
145wire dmo_scanin;
146wire clk_spc_scanin;
147wire mmu_scanin;
148wire ifu_ibu_scanin;
149wire ifu_ftu_scanin;
150wire ifu_cmu_scanin;
151wire dec_scanin;
152wire pku_scanin;
153wire exu0_scanin;
154wire exu1_scanin;
155wire tlu_scanin;
156wire spu_scanin;
157wire fgu_scanin;
158wire mmu_wmr_scanout;
159wire dmo_scanout;
160wire clk_spc_scanout;
161wire pmu_scanout;
162wire ifu_ibu_scanout;
163wire ifu_ftu_scanout;
164wire ifu_cmu_scanout;
165wire dec_scanout;
166wire pku_scanout;
167wire exu0_scanout;
168wire exu1_scanout;
169wire tlu_scanout;
170wire lsu_scanout;
171wire spu_scanout;
172wire fgu_scanout;
173wire gkt_scanout;
174wire lb_mb_channel_si;
175wire mb2_scanout;
176wire tcu_spc_mbist_scan_in_buf;
177wire spc_tcu_mbist_scan_out_buf;
178wire lb_aclk;
179wire lb_bclk;
180wire lb_scan_en;
181wire lb_se_sc_in;
182wire lb_clk_stop;
183wire lb_array_wr_inhibit;
184wire lb_scan_en_wmr;
185wire spc_aclk;
186wire spc_aclk_wmr;
187wire clk_array_wr_inhibit;
188wire spc_bclk;
189wire cluster_arst_l_buf;
190wire cmp_slow_sync_en;
191wire pce_ov;
192wire por_unused;
193wire rst_wmr_protect_buf;
194wire slow_cmp_sync_en;
195wire tcu_pce_ov_buf;
196wire msf0_atpg_mode_buf;
197wire wmr_unused;
198wire [3:0] dcc_dmo_parity;
199wire [63:0] lsu_exu_ld_data_b;
200wire [39:4] mmu_l15_addr;
201wire [4:0] mmu_l15_cpkt;
202wire [38:3] spu_l15_addr;
203wire [12:0] spu_l15_cpkt;
204wire [63:0] spu_l15_data;
205wire exu1_wmr_scanout;
206wire fgu_wmr_scanout;
207wire spc_aclk_tr;
208wire spc_aclk_wmr_tr;
209wire spc_bclk_tr;
210wire lb_scan_en_tr;
211wire tcu_dectest_buf;
212wire tcu_muxtest_buf;
213wire exu_fgu_fmov_vld_m;
214wire dec_spu_grant_fgu_d;
215wire [7:0] tlu_core_running_status;
216wire [64:0] pmu_rngl_cdbus;
217wire [64:0] fgu_rngl_cdbus;
218wire [63:0] lsu_fgu_fld_data_b;
219wire [63:0] exu_fgu_rs1_e;
220wire [63:0] exu_fgu_rs2_e;
221wire [63:0] spu_fgu_rs1_e;
222wire [63:0] spu_fgu_rs2_e;
223wire [9:0] mb2_addr;
224wire mb2_run;
225wire [7:0] mb2_write_data;
226wire mb2_frf_read_en;
227wire mb2_frf_write_en;
228wire pce_ov_bl;
229wire lb_scan_en_bl;
230wire spc_aclk_bl;
231wire spc_bclk_bl;
232wire lsu_cpx_valid;
233wire lsu_wmr_scanout;
234wire ifu_ftu_wmr_scanout;
235wire spc_aclk_wmr_bl;
236wire mb0_run;
237wire mb0_ict_write_en;
238wire mb0_ict_read_en;
239wire mb0_icd_write_en;
240wire mb0_icd_read_en;
241wire mb0_icv_write_en;
242wire mb0_icv_read_en;
243wire mb0_itb_write_en;
244wire mb0_itb_read_en;
245wire [11:0] mb0_addr;
246wire [7:0] mb0_write_data;
247wire [2:0] mb0_cmpsel;
248wire [47:0] exu_address0_e_rep01;
249wire [47:0] exu_address1_e_rep01;
250wire tlu_trap_pc_0_valid;
251wire tlu_trap_pc_1_valid;
252wire [47:0] tlu_trap_pc_0;
253wire [47:0] tlu_trap_pc_1;
254wire [47:2] tlu_npc_w;
255wire [64:0] lsu_rngl_cdbus;
256wire [64:0] ifu_rngl_cdbus;
257wire cmu_inst3_v;
258wire cmu_inst2_v;
259wire cmu_inst1_v;
260wire cmu_inst0_v;
261wire efu_spc_fuse_data_buf;
262wire efu_spc_fuse_ixfer_en_buf;
263wire efu_spc_fuse_iclr_buf;
264wire spc_efu_fuse_ixfer_en_buf;
265wire spc_efu_fuse_idata_buf;
266wire [17:0] lsu_cpx_cpkt;
267wire [127:0] lsu_cpx_data;
268wire mmu_dtlb_reload_stall;
269wire [2:0] power_throttle_buf;
270wire lsu_frf_read_pending;
271wire msf0_do_mode;
272wire [1:0] dec_br_taken_e1;
273wire [7:0] tlu_spec_enable;
274wire exu0_wmr_scanout;
275wire [7:0] del_pick_d;
276wire [1:0] dec_tid0_p;
277wire dec_inst0_rs1_vld_p;
278wire dec_inst0_rs2_vld_p;
279wire dec_inst0_rs3_vld_p;
280wire [4:0] dec_inst0_rs1_p;
281wire [4:0] dec_inst0_rs2_p;
282wire [4:0] dec_inst0_rs3_p;
283wire [1:0] dec_exu_clken;
284wire [32:0] dec_inst0_d;
285wire [4:0] dec_inst0_rd_d;
286wire dec_decode0_d;
287wire [1:0] dec_valid_e;
288wire [1:0] dec_flush_m;
289wire [1:0] dec_flush_b;
290wire [63:0] fgu_exu_result_fx5_rep1;
291wire [1:0] fgu_exu_w_vld_fx5;
292wire [47:2] tlu_pc_0_d;
293wire [1:0] tlu_itlb_bypass_e;
294wire [1:0] tlu_flush_exu_b;
295wire [7:0] tlu_ccr_0;
296wire [2:0] tlu_cwp_0;
297wire tlu_ccr_cwp_0_valid;
298wire [1:0] tlu_ccr_cwp_0_tid;
299wire [7:0] tlu_pstate_am;
300wire [1:0] tlu_gl0;
301wire [1:0] tlu_gl1;
302wire [1:0] tlu_gl2;
303wire [1:0] tlu_gl3;
304wire tlu_cerer_irf;
305wire [7:0] tlu_ceter_pscce;
306wire [7:0] mb2_write_data_p1;
307wire mb2_irf_write_en;
308wire mb2_irf_read_en;
309wire mb2_irf_save_en;
310wire mb2_irf_restore_en;
311wire [31:0] lsu_asi_error_inject;
312wire [63:0] lsu_exu_ld_data_b_rep00;
313wire [64:0] exu0_rngl_cdbus;
314wire [47:0] exu_address0_e;
315wire [5:0] exu0_mdp_mux_sel_e;
316wire exu_ms_icc0_e;
317wire [63:0] exu_rs1_data0_e;
318wire [63:0] exu_rs2_data0_e;
319wire [63:0] exu_store_data0_e;
320wire [3:0] exu0_oddwin_b;
321wire [1:0] exu_cecc_m;
322wire [1:0] exu_uecc_m;
323wire [1:0] exu_misalign_m;
324wire [1:0] exu_oor_va_m;
325wire [1:0] exu_tcc_m;
326wire [1:0] exu_tof_m;
327wire [7:0] exu0_trap_number_b;
328wire [1:0] exu_spill_b;
329wire [1:0] exu_fill_m;
330wire [1:0] exu_normal_b;
331wire [1:0] exu_cleanwin_b;
332wire [2:0] exu0_wstate_b;
333wire [7:0] exu0_ccr0;
334wire [7:0] exu0_ccr1;
335wire [7:0] exu0_ccr2;
336wire [7:0] exu0_ccr3;
337wire [1:0] exu_ecc_m;
338wire [7:0] exu0_ecc_check_m;
339wire [4:0] exu0_ecc_addr_m;
340wire [31:0] exu_gsr_data0_m;
341wire [1:0] exu_gsr_vld0_m;
342wire [1:0] exu_cmov_true_m;
343wire [1:0] dec_br_taken_e;
344wire [1:0] exu_ibp_m;
345wire [1:0] exu_lsu_va_error_m;
346wire [31:0] exu_y_data0_e;
347wire [2:0] exu0_cwp0;
348wire [2:0] exu0_cwp1;
349wire [2:0] exu0_cwp2;
350wire [2:0] exu0_cwp3;
351wire exu0_window_block;
352wire [1:0] exu_tlu_window_block;
353wire [1:0] exu_ecc_winop_flush_m;
354wire exu_test_valid0;
355wire [1:0] exu_test_tid0;
356wire [4:0] exu_test_addr0;
357wire [1:0] exu0_mbi_irf_fail_;
358wire [1:0] dec_tid1_p;
359wire dec_inst1_rs1_vld_p;
360wire dec_inst1_rs2_vld_p;
361wire dec_inst1_rs3_vld_p;
362wire [4:0] dec_inst1_rs1_p;
363wire [4:0] dec_inst1_rs2_p;
364wire [4:0] dec_inst1_rs3_p;
365wire [32:0] dec_inst1_d;
366wire [4:0] dec_inst1_rd_d;
367wire dec_decode1_d;
368wire [63:0] fgu_exu_result_fx5_rep0;
369wire [47:2] tlu_pc_1_d;
370wire [7:0] tlu_ccr_1;
371wire [2:0] tlu_cwp_1;
372wire tlu_ccr_cwp_1_valid;
373wire [1:0] tlu_ccr_cwp_1_tid;
374wire [1:0] tlu_gl4;
375wire [1:0] tlu_gl5;
376wire [1:0] tlu_gl6;
377wire [1:0] tlu_gl7;
378wire [63:0] lsu_exu_ld_data_b_rep01;
379wire [64:0] exu1_rngl_cdbus;
380wire [47:0] exu_address1_e;
381wire [5:0] exu1_mdp_mux_sel_e;
382wire exu_ms_icc1_e;
383wire [63:0] exu_rs1_data1_e;
384wire [63:0] exu_rs2_data1_e;
385wire [63:0] exu_store_data1_e;
386wire [3:0] exu1_oddwin_b;
387wire [7:0] exu1_trap_number_b;
388wire [2:0] exu1_wstate_b;
389wire [7:0] exu1_ccr0;
390wire [7:0] exu1_ccr1;
391wire [7:0] exu1_ccr2;
392wire [7:0] exu1_ccr3;
393wire [7:0] exu1_ecc_check_m;
394wire [4:0] exu1_ecc_addr_m;
395wire [31:0] exu_gsr_data1_m;
396wire [1:0] exu_gsr_vld1_m;
397wire [31:0] exu_y_data1_e;
398wire [2:0] exu1_cwp0;
399wire [2:0] exu1_cwp1;
400wire [2:0] exu1_cwp2;
401wire [2:0] exu1_cwp3;
402wire exu1_window_block;
403wire exu_test_valid1;
404wire [1:0] exu_test_tid1;
405wire [4:0] exu_test_addr1;
406wire [1:0] exu1_mbi_irf_fail_;
407wire tlu_wmr_scanout;
408wire pce_ov_tl;
409wire lb_scan_en_tl;
410wire spc_aclk_tl;
411wire spc_aclk_wmr_tl;
412wire spc_bclk_tl;
413wire [3:0] hver_mask_minor_rev_buf;
414wire msf0_cmp_tick_enable;
415wire msf0_ss_mode;
416wire msf0_ss_request;
417wire msf0_wmr_vec_mask;
418wire [47:0] exu_address0_e_rep0;
419wire [47:0] exu_address1_e_rep0;
420wire fgu_cecc_fx2_rep1;
421wire fgu_uecc_fx2_rep1;
422wire l15_mmu_valid;
423wire [17:0] l15_spc_cpkt;
424wire [127:0] l15_spc_data1;
425wire mb1_tsa0_write_en;
426wire mb1_tsa1_write_en;
427wire mb1_tca_write_en;
428wire [7:0] mb1_addr;
429wire mb1_run;
430wire [7:0] mb1_write_data;
431wire mb1_tsa0_read_en;
432wire mb1_tsa1_read_en;
433wire mb1_tca_read_en;
434wire [4:0] mb1_cmpsel;
435wire [7:0] dec_block_store_b;
436wire [64:0] lsu_rngf_cdbus;
437wire [47:0] lsu_mmu_va_b;
438wire [3:0] spu_pmu_ma_busy;
439wire spc_shscan_scan_out_buf;
440wire tcu_shscan_pce_ov_buf;
441wire msf0_shscan_clk_stop;
442wire tcu_shscan_aclk_buf;
443wire tcu_shscan_bclk_buf;
444wire tcu_shscan_scan_en_buf;
445wire tcu_shscan_scan_in_buf;
446wire [2:0] msf0_shscanid;
447wire [7:0] msf0_core_running;
448wire dmo_coresel_buff;
449wire dmo_dcmuxctl_buf;
450wire spc_aclk_wmr_br;
451wire [63:0] fgu_lsu_fst_data_fx1;
452wire [145:0] cpx_spc_data_cx_rep0;
453wire [64:0] tlu_rngf_cdbus;
454wire mb0_dca_read_en;
455wire mb0_dca_write_en;
456wire mb0_dta_read_en;
457wire mb0_dta_write_en;
458wire mb0_dva_read_en;
459wire mb0_dva_write_en;
460wire mb0_lru_read_en;
461wire mb0_lru_write_en;
462wire mb0_dtb_read_en;
463wire mb0_dtb_write_en;
464wire mb0_stb_cam_read_en;
465wire mb0_stb_cam_write_en;
466wire mb0_stb_ram_read_en;
467wire mb0_stb_ram_write_en;
468wire mb0_cpq_read_en;
469wire mb0_cpq_write_en;
470wire efu_spc_fuse_dxfer_en_buf;
471wire efu_spc_fuse_dclr_buf;
472wire spc_efu_fuse_ddata_buf;
473wire spc_efu_fuse_dxfer_en_buf;
474wire [63:0] fgu_mul_result_fx5;
475wire dec_spu_grant_d_rep0;
476wire [64:0] spu_rngl_cdbus;
477wire l15_spu_valid;
478wire [7:0] mb2_write_data_p2;
479wire mb2_arf_read_en;
480wire mb2_arf_write_en;
481wire mb2_mam_read_en;
482wire mb2_mam_write_en;
483wire mb2_rrf_read_en;
484wire mb2_rrf_write_en;
485wire mmu_scanout;
486wire mb1_mra0_write_en;
487wire mb1_mra1_write_en;
488wire mb1_scp0_write_en;
489wire mb1_scp1_write_en;
490wire mb1_mra0_read_en;
491wire mb1_mra1_read_en;
492wire mb1_scp0_read_en;
493wire mb1_scp1_read_en;
494wire dec_valid0_d;
495wire [1:0] dec_tid0_d;
496wire [9:0] dec_instr0_type_d;
497wire dec_valid1_d;
498wire [1:0] dec_tid1_d;
499wire [9:0] dec_instr1_type_d;
500wire [1:0] dec_pmu_valid_e;
501wire [2:0] lsu_dcerr_tid_g;
502wire [2:0] lsu_pmu_mem_type_b;
503wire mb0_scanin;
504wire mb0_scanout;
505wire tcu_spc_mbist_start_buf0;
506wire msf0_mbist_user_mode_ff;
507wire msf0_mbist_bisi_en_ff;
508wire mb2_mb0_fail;
509wire mb1_mb0_fail;
510wire mb2_mb0_done;
511wire mb1_mb0_done;
512wire spc_mbist_fail_buf;
513wire spc_mbist_done_buf;
514wire [15:12] mb0_addr_unused;
515wire mb1_scanin;
516wire mb1_scanout;
517wire [15:8] mb1_addr_unused;
518wire mb2_scanin;
519wire [15:10] mb2_addr_unused;
520wire [63:0] fgu_exu_result_fx5;
521wire fgu_cecc_fx2;
522wire fgu_uecc_fx2;
523wire tcu_spc_mbist_start_ff;
524wire spc_mbist_fail_ff;
525wire spc_mbist_done_ff;
526wire [32:0] ftu_instr_0_c;
527wire [32:0] ftu_instr_1_c;
528wire [32:0] ftu_instr_2_c;
529wire [32:0] ftu_instr_3_c;
530wire [4:0] ftu_instr_exceptions_c;
531wire [32:0] ftu_instr_0_c_rep0;
532wire [32:0] ftu_instr_0_c_rep1;
533wire [32:0] ftu_instr_0_c_rep2;
534wire [32:0] ftu_instr_0_c_rep3;
535wire [32:0] ftu_instr_1_c_rep0;
536wire [32:0] ftu_instr_1_c_rep1;
537wire [32:0] ftu_instr_1_c_rep2;
538wire [32:0] ftu_instr_1_c_rep3;
539wire [32:0] ftu_instr_2_c_rep0;
540wire [32:0] ftu_instr_2_c_rep1;
541wire [32:0] ftu_instr_2_c_rep2;
542wire [32:0] ftu_instr_2_c_rep3;
543wire [32:0] ftu_instr_3_c_rep0;
544wire [32:0] ftu_instr_3_c_rep1;
545wire [32:0] ftu_instr_3_c_rep2;
546wire [32:0] ftu_instr_3_c_rep3;
547wire [4:0] ftu_instr_0_exceptions_c_rep0;
548wire [4:0] ftu_instr_0_exceptions_c_rep1;
549wire [4:0] ftu_instr_0_exceptions_c_rep2;
550wire [4:0] ftu_instr_0_exceptions_c_rep3;
551wire [4:0] ftu_instr_1_exceptions_c_rep0;
552wire [4:0] ftu_instr_1_exceptions_c_rep1;
553wire [4:0] ftu_instr_1_exceptions_c_rep2;
554wire [4:0] ftu_instr_1_exceptions_c_rep3;
555wire [4:0] ftu_instr_2_exceptions_c_rep0;
556wire [4:0] ftu_instr_2_exceptions_c_rep1;
557wire [4:0] ftu_instr_2_exceptions_c_rep2;
558wire [4:0] ftu_instr_2_exceptions_c_rep3;
559wire [4:0] ftu_instr_3_exceptions_c_rep0;
560wire [4:0] ftu_instr_3_exceptions_c_rep1;
561wire [4:0] ftu_instr_3_exceptions_c_rep2;
562wire [4:0] ftu_instr_3_exceptions_c_rep3;
563wire dec_spu_grant_d;
564wire tlu_ss_complete;
565wire tlu_hardstop_request;
566wire tlu_softstop_request;
567wire tlu_trigger_pulse;
568wire [1:0] tlu_dbg_instr_cmt_grp0;
569wire [1:0] tlu_dbg_instr_cmt_grp1;
570wire wmr_protect;
571wire core_isolate;
572wire [32:0] ic_dmo_rd_data;
573wire lsu_gkt_pmen;
574wire ifu_l15_valid;
575wire mmu_l15_valid;
576wire lsu_l15_valid;
577wire spu_l15_valid;
578wire lsu_l15_lock;
579wire [39:0] ifu_l15_addr;
580wire [39:0] lsu_l15_addr;
581wire [7:0] ifu_l15_cpkt;
582wire [25:0] lsu_l15_cpkt;
583wire [63:0] lsu_l15_data;
584wire l15_ifu_grant;
585wire l15_mmu_grant;
586wire l15_lsu_grant;
587wire l15_spu_grant;
588wire [3:0] gkt_ifu_legal;
589wire [3:0] gkt_ifu_flip_parity;
590wire [6:0] l15_pmu_xbar_optype;
591wire [4:0] dec_frf_r1_addr_d;
592wire [4:0] dec_frf_r2_addr_d;
593wire dec_frf_r1_vld_d;
594wire dec_frf_r2_vld_d;
595wire dec_frf_r1_32b_d;
596wire dec_frf_r2_32b_d;
597wire dec_frf_r1_odd32b_d;
598wire dec_frf_r2_odd32b_d;
599wire dec_frf_w_vld_d;
600wire [4:0] dec_frf_w_addr_d;
601wire dec_frf_w_32b_d;
602wire dec_frf_w_odd32b_d;
603wire dec_exu_src_vld_d;
604wire [4:0] dec_irf_w_addr_d;
605wire dec_frf_store_d;
606wire dec_fsr_store_d;
607wire [5:0] dec_fgu_op3_d;
608wire [7:0] dec_fgu_opf_d;
609wire dec_fgu_decode_d;
610wire dec_fgu_valid_e;
611wire [2:0] dec_fgu_tid_d;
612wire dec_flush_f1;
613wire dec_flush_f2;
614wire [1:0] fgu_cmp_fcc_fx3;
615wire [3:0] fgu_cmp_fcc_vld_fx3;
616wire [2:0] fgu_cmp_fcc_tid_fx2;
617wire [7:0] fgu_fld_fcc_fx3;
618wire [1:0] fgu_fld_fcc_vld_fx3;
619wire [7:0] fgu_fprs_fef;
620wire fgu_fdiv_stall;
621wire [1:0] fgu_idiv_stall;
622wire [7:0] fgu_divide_completion;
623wire tlu_flush_fgu_b;
624wire tlu_cerer_frf;
625wire fgu_predict_fx2;
626wire fgu_pdist_beat2_fx1;
627wire [5:0] fgu_ecc_addr_fx2;
628wire [13:0] fgu_ecc_check_fx2;
629wire fgu_fpx_ieee_trap_fw;
630wire fgu_fpd_ieee_trap_fw;
631wire fgu_fpx_unfin_fw;
632wire fgu_fpd_unfin_fw;
633wire fgu_fpd_idiv0_trap_fw;
634wire [2:0] fgu_fpx_trap_tid_fw;
635wire [2:0] fgu_fpd_trap_tid_fw;
636wire [4:0] lsu_fgu_fld_addr_b;
637wire lsu_fgu_fld_vld_w;
638wire lsu_fgu_fld_b;
639wire [2:0] lsu_fgu_fld_tid_b;
640wire lsu_fgu_fld_32b_b;
641wire lsu_fgu_fld_odd32b_b;
642wire lsu_fgu_fsr_load_b;
643wire lsu_fgu_exception_w;
644wire lsu_block_store_m;
645wire lsu_fgu_pmen;
646wire lsu_asi_clken;
647wire fgu_fst_ecc_error_fx2;
648wire [31:0] exu_fgu_gsr_m;
649wire [1:0] exu_fgu_gsr_vld_m;
650wire exu_fgu_flush_m;
651wire [3:0] fgu_exu_icc_fx5;
652wire [1:0] fgu_exu_xcc_fx5;
653wire fgu_exu_cc_vld_fx5;
654wire [1:0] fgu_result_tid_fx5;
655wire [4:0] fgu_irf_w_addr_fx5;
656wire [6:0] spu_fgu_fpy_ctl_d;
657wire fgu_accum_b0_fx5;
658wire fgu_mbi_frf_fail;
659wire [7:0] pku_flush_buffer0;
660wire [7:0] pku_flush_upper_buffer;
661wire [7:0] ftu_fetch_thr_c;
662wire [7:0] pku_pick_p;
663wire ftu_exception_valid_c;
664wire ftu_instr_sf_valid_c;
665wire [7:0] ftu_ibu_redirect_bf;
666wire ftu_ic_no_err_c;
667wire ftu_bus_0_is_first;
668wire ftu_bus_1_is_first;
669wire ftu_bus_2_is_first;
670wire ftu_bus_3_is_first;
671wire [3:0] ftu_instr_valid_c;
672wire lsu_ifu_ibu_pmen;
673wire [7:0] ftu_buffer_wr_en_f;
674wire [7:0] ifu_buf0_valid_p;
675wire [7:0] ifu_upper_buffer_valid_p;
676wire [7:0] ibu_empty;
677wire [7:0] ibu_room_4ormore;
678wire [32:0] ifu_buf0_inst0;
679wire [32:0] ifu_buf0_inst1;
680wire [32:0] ifu_buf0_inst2;
681wire [32:0] ifu_buf0_inst3;
682wire [32:0] ifu_buf0_inst4;
683wire [32:0] ifu_buf0_inst5;
684wire [32:0] ifu_buf0_inst6;
685wire [32:0] ifu_buf0_inst7;
686wire [4:0] ifu_buf0_excp0;
687wire [4:0] ifu_buf0_excp1;
688wire [4:0] ifu_buf0_excp2;
689wire [4:0] ifu_buf0_excp3;
690wire [4:0] ifu_buf0_excp4;
691wire [4:0] ifu_buf0_excp5;
692wire [4:0] ifu_buf0_excp6;
693wire [4:0] ifu_buf0_excp7;
694wire mbi_cambist_run;
695wire mbi_cambist_shift;
696wire mbi_dis_clr_ubit;
697wire mbi_init_to_zero;
698wire mbi_itb_cam_en_pre;
699wire mbi_repl_write;
700wire mbi_itb_demap_en;
701wire [1:0] mbi_demap_type;
702wire ftu_mbi_tlb_data_cmp;
703wire ftu_mbi_tlb_cam_hit;
704wire ftu_mbi_tlb_cam_mhit;
705wire ftu_mbi_tlb_ctxt0_hit;
706wire ftu_mbi_tlb_valid;
707wire ftu_mbi_tlb_used;
708wire lsu_ifu_direct_map;
709wire ftu_mbi_ict_fail;
710wire ftu_mbi_icd_fail;
711wire ftu_mbi_itb_fail;
712wire ftu_mbi_icv_fail;
713wire [1:0] tlu_retry;
714wire [7:0] tlu_ifu_hpstate_hpriv;
715wire [7:0] tlu_ifu_pstate_priv;
716wire [1:0] tlu_ifu_invalidate;
717wire [39:0] cmu_fill_paddr;
718wire [7:0] cmu_inval_ack;
719wire [1:0] cmu_l2_err;
720wire cmu_l2miss;
721wire tlu_cerer_ittp;
722wire tlu_cerer_itdp;
723wire tlu_cerer_ittm;
724wire tlu_cerer_icl2c;
725wire tlu_cerer_icl2u;
726wire tlu_cerer_icl2nd;
727wire tlu_cerer_icvp;
728wire tlu_cerer_ictp;
729wire tlu_cerer_ictm;
730wire cmu_icache_invalidate;
731wire cmu_evic_invalidate;
732wire [2:0] cmu_icache_invalidate_way;
733wire [2:0] cmu_icache_inv_way1;
734wire [10:5] cmu_icache_invalidate_index;
735wire [1:0] dec_load_flush_w;
736wire [1:0] tlu_trap_0_tid;
737wire [1:0] tlu_trap_1_tid;
738wire [7:0] tlu_flush_ifu;
739wire [1:0] tlu_itlb_reload;
740wire [7:0] tlu_itlb_bypass;
741wire [7:0] tlu_tl_gt_0;
742wire [7:0] cmu_null_st;
743wire [7:0] cmu_dupmiss_st;
744wire [7:0] cmu_rst_dupmiss;
745wire cmu_any_un_cacheable;
746wire cmu_any_data_ready;
747wire cmu_thr0_data_ready;
748wire cmu_thr1_data_ready;
749wire cmu_thr2_data_ready;
750wire cmu_thr3_data_ready;
751wire cmu_thr4_data_ready;
752wire cmu_thr5_data_ready;
753wire cmu_thr6_data_ready;
754wire cmu_thr7_data_ready;
755wire [32:0] cmu_fill_inst0;
756wire [32:0] cmu_fill_inst1;
757wire [32:0] cmu_fill_inst2;
758wire [32:0] cmu_fill_inst3;
759wire [7:0] lsu_ic_enable;
760wire [7:0] lsu_ifu_no_miss;
761wire [12:0] lsu_ifu_ctxt_data;
762wire [2:0] lsu_ifu_tid_w;
763wire lsu_ifu_wr_p0ctxt;
764wire lsu_ifu_wr_p1ctxt;
765wire lsu_ifu_wr_pid;
766wire [7:0] lsu_immu_enable;
767wire lsu_ifu_ftu_pmen;
768wire lsu_ic_pmen;
769wire [2:0] cmu_fill_wrway;
770wire [263:0] cmu_ic_data;
771wire [6:0] mmu_index;
772wire [2:0] ftu_rep_way;
773wire [39:0] ftu_paddr;
774wire [7:0] ftu_curr_fetch_thr_f;
775wire [7:0] ftu_ifu_quiesce;
776wire [7:0] ifu_ibuffer_write_c;
777wire [2:0] ftu_excp_way_d;
778wire [2:0] ftu_excp_tid_d;
779wire ftu_excp_way_valid_d;
780wire ftu_thrx_un_cacheable;
781wire ftu_agc_thr0_cmiss_c;
782wire ftu_agc_thr1_cmiss_c;
783wire ftu_agc_thr2_cmiss_c;
784wire ftu_agc_thr3_cmiss_c;
785wire ftu_agc_thr4_cmiss_c;
786wire ftu_agc_thr5_cmiss_c;
787wire ftu_agc_thr6_cmiss_c;
788wire ftu_agc_thr7_cmiss_c;
789wire ftu_thr0_inv_req_c;
790wire ftu_thr1_inv_req_c;
791wire ftu_thr2_inv_req_c;
792wire ftu_thr3_inv_req_c;
793wire ftu_thr4_inv_req_c;
794wire ftu_thr5_inv_req_c;
795wire ftu_thr6_inv_req_c;
796wire ftu_thr7_inv_req_c;
797wire ftu_thr0_redirect_bf;
798wire ftu_thr1_redirect_bf;
799wire ftu_thr2_redirect_bf;
800wire ftu_thr3_redirect_bf;
801wire ftu_thr4_redirect_bf;
802wire ftu_thr5_redirect_bf;
803wire ftu_thr6_redirect_bf;
804wire ftu_thr7_redirect_bf;
805wire lsu_ifu_cmu_pmen;
806wire [10:5] lsu_ifu_ld_index;
807wire ifu_lsu_if_vld;
808wire [2:0] ifu_lsu_if_tid;
809wire [10:5] ifu_lsu_if_addr;
810wire lsu_dec_pmen;
811wire lsu_exu_pmen;
812wire tlu_cerer_icdp;
813wire [7:0] tlu_dec_pstate_pef;
814wire [7:0] tlu_dec_hpstate_hpriv;
815wire [7:0] tlu_dec_pstate_priv;
816wire [1:0] tlu_window_block;
817wire lsu_cpq_stall;
818wire [7:0] pku_load_flush_w;
819wire [1:0] pku_inst_cnt_brtaken00;
820wire [1:0] pku_inst_cnt_brtaken01;
821wire [1:0] pku_inst_cnt_brtaken02;
822wire [1:0] pku_inst_cnt_brtaken03;
823wire [1:0] pku_inst_cnt_brtaken04;
824wire [1:0] pku_inst_cnt_brtaken05;
825wire [1:0] pku_inst_cnt_brtaken06;
826wire [1:0] pku_inst_cnt_brtaken07;
827wire [1:0] pku_inst_cnt_brtaken10;
828wire [1:0] pku_inst_cnt_brtaken11;
829wire [1:0] pku_inst_cnt_brtaken12;
830wire [1:0] pku_inst_cnt_brtaken13;
831wire [1:0] pku_inst_cnt_brtaken14;
832wire [1:0] pku_inst_cnt_brtaken15;
833wire [1:0] pku_inst_cnt_brtaken16;
834wire [1:0] pku_inst_cnt_brtaken17;
835wire [7:0] pku_base_pick_p;
836wire [3:0] pku_raw_pick0_p;
837wire [7:4] pku_raw_pick1_p;
838wire [7:0] pku_annul_ds_dcti_brtaken0_e;
839wire [7:0] pku_annul_ds_dcti_brtaken1_e;
840wire [7:0] pku_valid_e;
841wire [7:0] pku_ds_e;
842wire [7:0] pku_lsu_p;
843wire [7:0] pku_fgu_p;
844wire [7:0] pku_pdist_p;
845wire [7:0] pku_twocycle_p;
846wire [7:0] pku_idest_p;
847wire [7:0] pku_fdest_p;
848wire [7:0] pku_fsrc_rd_p;
849wire [7:0] pku_isrc_rs1_p;
850wire [7:0] pku_isrc_rs2_p;
851wire [7:0] pku_isrc_rd_p;
852wire [7:0] pku_flush_f1;
853wire [7:0] pku_flush_f2;
854wire [7:0] pku_flush_lm;
855wire [7:0] pku_flush_lb;
856wire [7:0] pku_flush_m;
857wire [7:0] pku_flush_b;
858wire spu_mult_request;
859wire lsu_block_store_stall;
860wire [4:3] lsu_block_store_rd;
861wire [2:0] lsu_block_store_tid;
862wire dec_rs1_addr0_e;
863wire dec_rs1_addr1_e;
864wire [1:0] dec_true_valid_e;
865wire [7:0] dec_raw_pick_p;
866wire dec_flush_lm;
867wire dec_flush_lb;
868wire [4:0] dec_exc0_m;
869wire [4:0] dec_exc1_m;
870wire [1:0] dec_inst0_cnt;
871wire [1:0] dec_inst1_cnt;
872wire [1:0] dec_tid0_m;
873wire [1:0] dec_tid1_m;
874wire [1:0] dec_inst_valid_m;
875wire [1:0] dec_lsu_inst_m;
876wire [1:0] dec_fgu_inst_m;
877wire [1:0] dec_cti_inst_m;
878wire [1:0] dec_illegal_inst_m;
879wire [1:0] dec_icache_perr_m;
880wire [1:0] dec_priv_exc_m;
881wire [1:0] dec_hpriv_exc_m;
882wire [1:0] dec_fpdisable_exc_m;
883wire [1:0] dec_br_taken_m;
884wire [1:0] dec_done_inst_m;
885wire [1:0] dec_retry_inst_m;
886wire [1:0] dec_sir_inst_m;
887wire [1:0] dec_annul_ds_m;
888wire [1:0] dec_ds_m;
889wire [1:0] dec_fgu_sel_e;
890wire [1:0] dec_fgu_sel_m;
891wire dec_lsu_sel0_e;
892wire dec_lsu_sel1_e;
893wire dec_lsu_sel0_lower_e;
894wire dec_lsu_sel1_lower_e;
895wire dec_lsu_sel0_upper_e;
896wire dec_lsu_sel1_upper_e;
897wire dec_rs1_addr0_upper_e;
898wire dec_rs1_addr1_upper_e;
899wire dec_ld_inst_e;
900wire dec_st_inst_e;
901wire dec_fsr_ldst_e;
902wire dec_fpldst_inst_e;
903wire dec_ldst_dbl_e;
904wire dec_pref_inst_e;
905wire dec_flush_inst_e;
906wire dec_memstbar_inst_e;
907wire [1:0] dec_ldst_sz_e;
908wire [4:3] dec_frf_r2_addr_e;
909wire dec_sr_inst_e;
910wire dec_pr_inst_e;
911wire dec_hpr_inst_e;
912wire dec_casa_inst_e;
913wire dec_ldstub_inst_e;
914wire dec_swap_inst_e;
915wire dec_altspace_d;
916wire dec_sign_ext_e;
917wire [4:0] dec_sraddr_e;
918wire dec_imm_asi_vld_d;
919wire [7:0] dec_imm_asi_d;
920wire [1:0] dec_lsu_tid0_d;
921wire [1:0] dec_lsu_tid1_d;
922wire dec_lsu_tg_d;
923wire [4:0] dec_lsu_rd_e;
924wire dec_ld_inst_d;
925wire dec_lsu_sel0_d;
926wire [1:0] dec_ierr_d;
927wire [7:0] dec_block_store_stall;
928wire [7:0] tlu_halted;
929wire lsu_pku_pmen;
930wire [7:0] tlu_retry_state;
931wire [7:0] lsu_sync;
932wire [7:0] lsu_complete;
933wire [7:0] lsu_stb_alloc;
934wire [7:0] lsu_stb_dealloc;
935wire [7:0] lsu_block_store_kill;
936wire [7:0] pku_quiesce;
937wire lsu_exu_ld_b;
938wire [4:0] lsu_exu_rd_m;
939wire [2:0] lsu_exu_tid_m;
940wire lsu_exu_ld_vld_w;
941wire [47:13] lsu_exu_address_e;
942wire lsu_sel_lsu_addr_e;
943wire [47:0] exu_lsu_address_e;
944wire [63:0] exu_lsu_store_data_e;
945wire [7:0] exu_lsu_rs2_e;
946wire lsu_tlu_pmen;
947wire lsu_lddf_align_b;
948wire lsu_stdf_align_b;
949wire lsu_illegal_inst_b;
950wire lsu_daccess_prot_b;
951wire lsu_priv_action_b;
952wire lsu_va_watchpoint_b;
953wire lsu_pa_watchpoint_b;
954wire lsu_align_b;
955wire lsu_tlb_miss_b_;
956wire lsu_dae_invalid_asi_b;
957wire lsu_dae_nc_page_b;
958wire lsu_dae_nfo_page_b;
959wire lsu_dae_priv_viol_b;
960wire lsu_dae_so_page;
961wire lsu_priv_action_g;
962wire [2:0] lsu_tid_g;
963wire [7:0] lsu_trap_flush;
964wire lsu_tlb_bypass_b;
965wire lsu_tlb_real_b;
966wire lsu_sync_inst_b;
967wire [7:0] lsu_stb_empty;
968wire lsu_tlu_twocycle_m;
969wire lsu_dcmh_err_g;
970wire lsu_dcvp_err_g;
971wire lsu_dctp_err_g;
972wire lsu_dcdp_err_g;
973wire lsu_dcl2c_err_g;
974wire lsu_dcl2u_err_g;
975wire lsu_dcl2nd_err_g;
976wire lsu_dcsoc_err_g;
977wire [8:0] lsu_dcerr_sfar_g;
978wire lsu_sbdlc_err_g;
979wire lsu_sbdlu_err_g;
980wire lsu_sbdpc_err_g;
981wire lsu_sbdpu_err_g;
982wire lsu_sbapp_err_g;
983wire lsu_sbdiou_err_g;
984wire [2:0] lsu_stberr_tid_g;
985wire [2:0] lsu_stberr_index_g;
986wire [1:0] lsu_stberr_priv_g;
987wire lsu_stb_flush_g;
988wire lsu_dttp_err_b;
989wire lsu_dtdp_err_b;
990wire lsu_dtmh_err_b;
991wire lsu_perfmon_trap_b;
992wire lsu_perfmon_trap_g;
993wire lsu_ext_interrupt;
994wire [1:0] lsu_ext_int_type;
995wire [5:0] lsu_ext_int_vec;
996wire [2:0] lsu_ext_int_tid;
997wire [7:0] mmu_hw_tw_enable;
998wire [7:0] mmu_write_itlb;
999wire [7:0] mmu_reload_done;
1000wire [7:0] mmu_i_unauth_access;
1001wire [7:0] mmu_i_tsb_miss;
1002wire [7:0] mmu_d_tsb_miss;
1003wire [7:0] mmu_i_tte_outofrange;
1004wire [7:0] mmu_d_tte_outofrange;
1005wire [47:0] mmu_itte_tag_data;
1006wire [64:0] mmu_asi_data;
1007wire mmu_asi_read;
1008wire mmu_dae_req;
1009wire [2:0] mmu_dae_tid;
1010wire mmu_asi_cecc;
1011wire mmu_asi_uecc;
1012wire [2:0] mmu_asi_tid;
1013wire [10:0] mmu_asi_index;
1014wire mmu_asi_mra_not_sca;
1015wire [7:0] mmu_i_l2cerr;
1016wire [7:0] mmu_d_l2cerr;
1017wire [7:0] mmu_i_eccerr;
1018wire [7:0] mmu_d_eccerr;
1019wire [2:0] mmu_thr0_err_type;
1020wire [2:0] mmu_thr1_err_type;
1021wire [2:0] mmu_thr2_err_type;
1022wire [2:0] mmu_thr3_err_type;
1023wire [2:0] mmu_thr4_err_type;
1024wire [2:0] mmu_thr5_err_type;
1025wire [2:0] mmu_thr6_err_type;
1026wire [2:0] mmu_thr7_err_type;
1027wire [2:0] mmu_thr0_err_index;
1028wire [2:0] mmu_thr1_err_index;
1029wire [2:0] mmu_thr2_err_index;
1030wire [2:0] mmu_thr3_err_index;
1031wire [2:0] mmu_thr4_err_index;
1032wire [2:0] mmu_thr5_err_index;
1033wire [2:0] mmu_thr6_err_index;
1034wire [2:0] mmu_thr7_err_index;
1035wire spu_tlu_cwq_busy;
1036wire [10:0] spu_tlu_mamu_err_req;
1037wire [4:0] spu_tlu_ma_int_req;
1038wire [3:0] spu_tlu_cwq_int_req;
1039wire [5:0] spu_tlu_l2_error;
1040wire [7:0] pmu_tlu_trap_m;
1041wire [7:0] pmu_tlu_debug_event;
1042wire tlu_flush_lsu_b;
1043wire [7:0] tlu_release_tte;
1044wire tlu_rngf_cdbus_error;
1045wire [7:0] tlu_asi_0;
1046wire [7:0] tlu_asi_1;
1047wire tlu_asi_0_valid;
1048wire tlu_asi_1_valid;
1049wire [1:0] tlu_asi_0_tid;
1050wire [1:0] tlu_asi_1_tid;
1051wire [7:0] tlu_lsu_clear_ctl_reg_;
1052wire [7:0] tlu_load_i_tag_access_p;
1053wire [7:0] tlu_load_i_tag_access_n;
1054wire [7:0] tlu_load_d_tag_access;
1055wire [7:0] tlu_load_d_tag_access_r;
1056wire [47:13] tlu_pc_0_w;
1057wire [47:13] tlu_pc_1_w;
1058wire [7:0] tlu_iht_request;
1059wire [7:0] tlu_dht_request;
1060wire [7:0] tlu_mmu_tl_gt_0;
1061wire [1:0] tlu_flush_pmu_b;
1062wire [1:0] tlu_flush_pmu_w;
1063wire [7:0] tlu_pmu_trap_taken;
1064wire [1:0] tlu_pmu_trap_mask_e;
1065wire [7:0] tlu_lsu_hpstate_hpriv;
1066wire [7:0] tlu_lsu_pstate_priv;
1067wire [7:0] tlu_pmu_hpstate_hpriv;
1068wire [7:0] tlu_pmu_pstate_priv;
1069wire [7:0] tlu_pstate_cle;
1070wire tlu_cerer_hwtwmu;
1071wire tlu_cerer_hwtwl2;
1072wire tlu_cerer_dttp;
1073wire tlu_cerer_dttm;
1074wire tlu_cerer_dtdp;
1075wire tlu_cerer_dcl2c;
1076wire tlu_cerer_dcl2u;
1077wire tlu_cerer_dcl2nd;
1078wire tlu_cerer_sbdlc;
1079wire tlu_cerer_sbdlu;
1080wire tlu_cerer_mrau;
1081wire tlu_cerer_scac;
1082wire tlu_cerer_scau;
1083wire tlu_cerer_sbapp;
1084wire tlu_cerer_l2c_socc;
1085wire tlu_cerer_l2u_socu;
1086wire tlu_cerer_dcvp;
1087wire tlu_cerer_dctp;
1088wire tlu_cerer_dctm;
1089wire tlu_cerer_dcdp;
1090wire tlu_cerer_sbdpc;
1091wire tlu_cerer_sbdpu;
1092wire tlu_cerer_mamu;
1093wire tlu_cerer_mal2c;
1094wire tlu_cerer_mal2u;
1095wire tlu_cerer_mal2nd;
1096wire tlu_cerer_cwql2c;
1097wire tlu_cerer_cwql2u;
1098wire tlu_cerer_cwql2nd;
1099wire tlu_cerer_sbdiou;
1100wire [1:0] tlu_tag_access_tid_0_b;
1101wire tlu_i_tag_access_0_b;
1102wire tlu_d_tag_access_0_b;
1103wire [1:0] tlu_tag_access_tid_1_b;
1104wire tlu_i_tag_access_1_b;
1105wire tlu_d_tag_access_1_b;
1106wire tlu_mbi_tsa0_fail;
1107wire tlu_mbi_tsa1_fail;
1108wire tlu_mbi_tca_fail;
1109wire [1:0] lsu_tlu_dsfsr_ct_b;
1110wire mmu_dtlb_reload;
1111wire [12:0] lsu_context_b;
1112wire pmu_lsu_dcmiss_trap_m;
1113wire pmu_lsu_dtmiss_trap_m;
1114wire [7:0] pmu_lsu_l2dmiss_trap_m;
1115wire mbi_ptag_data;
1116wire lsu_mbi_dca_fail;
1117wire lsu_mbi_dta_fail;
1118wire lsu_mbi_dva_fail;
1119wire lsu_mbi_lru_fail;
1120wire lsu_mbi_dtb_fail;
1121wire lsu_mbi_stb_cam_fail;
1122wire lsu_mbi_stb_ram_fail;
1123wire lsu_mbi_cpq_fail;
1124wire mbi_dtb_cam_en_pre;
1125wire mbi_dtb_demap_en;
1126wire lsu_mbi_tlb_data_cmp;
1127wire lsu_mbi_tlb_cam_hit;
1128wire lsu_mbi_tlb_cam_mhit;
1129wire lsu_mbi_tlb_ctxt0_hit;
1130wire lsu_mbi_tlb_valid;
1131wire lsu_mbi_tlb_used;
1132wire mbi_scm_cam_en_pre;
1133wire lsu_mbi_scm_hit;
1134wire lsu_mbi_scm_mhit;
1135wire [2:0] lsu_mbi_scm_hit_ptr;
1136wire lsu_mbi_scm_praw;
1137wire lsu_spu_pmen;
1138wire lsu_mmu_pmen;
1139wire lsu_pmu_pmen;
1140wire lsu_misc_pmen;
1141wire spu_mbi_mam_fail_;
1142wire spu_mbi_mam_fail2_;
1143wire spu_mbi_arf_fail_;
1144wire spu_mbi_rrf_fail_;
1145wire [4:0] spu_pmu_cwq_busy;
1146wire [2:0] spu_pmu_cwq_tid;
1147wire mmu_mbi_mra0_fail;
1148wire mmu_mbi_mra1_fail;
1149wire mmu_mbi_scp0_fail;
1150wire mmu_mbi_scp1_fail;
1151wire mmu_pmu_l2ret;
1152wire mmu_pmu_l2miss;
1153wire mmu_pmu_dtlb;
1154wire [2:0] mmu_pmu_tid;
1155wire mb2_misc_pmen;
1156
1157input gclk; // PINDEF:BOT
1158
1159// scan signals
1160input [1:0] scan_in; // arc=l2clk:30 cap=20
1161input tcu_pce_ov; // PINDEF:BOT arc=l2clk:30 cap=20
1162input tcu_clk_stop; // PINDEF:BOT arc=l2clk:30 cap=20
1163input tcu_aclk; // PINDEF:BOT
1164input tcu_bclk; // PINDEF:BOT
1165input tcu_dectest; // PINDEF:BOT
1166input tcu_muxtest; // PINDEF:BOT
1167input tcu_scan_en; // PINDEF:BOT
1168input tcu_array_wr_inhibit; // PINDEF:BOT
1169input tcu_se_scancollar_in; // PINDEF:BOT
1170input tcu_se_scancollar_out; // PINDEF:BOT
1171input tcu_atpg_mode;
1172input rst_wmr_protect; // PINDEF:BOT
1173
1174output [1:0] scan_out; // PINDEF:BOT arc=l2clk:100 drv=32x
1175
1176// shadow scan signals
1177input tcu_shscan_pce_ov; // PINDEF:BOT
1178input tcu_shscan_clk_stop; // PINDEF:BOT
1179input tcu_shscan_aclk; // PINDEF:BOT
1180input tcu_shscan_bclk; // PINDEF:BOT
1181input tcu_shscan_scan_in; // PINDEF:BOT
1182input tcu_shscan_scan_en; // PINDEF:BOT
1183input [2:0] tcu_shscanid; // PINDEF:BOT
1184output spc_shscan_scan_out; // PINDEF:BOT
1185
1186// From RST
1187input cluster_arst_l; // PINDEF:BOT
1188
1189// MBIST signals
1190input tcu_spc_mbist_scan_in; // PINDEF:BOT
1191input tcu_mbist_bisi_en; // PINDEF:BOT
1192input tcu_spc_mbist_start; // PINDEF:BOT
1193input tcu_mbist_user_mode; // PINDEF:BOT
1194output spc_mbist_fail; // PINDEF:BOT
1195output spc_mbist_done; // PINDEF:BOT
1196output spc_tcu_mbist_scan_out; // PINDEF:BOT
1197
1198input [2:0] const_cpuid; // PINDEF:BOT arc=l2clk:30 cap=20
1199
1200// Core enable signals from CMP
1201input tcu_ss_mode; // PINDEF:BOT
1202input tcu_do_mode; // PINDEF:BOT
1203input tcu_ss_request; // PINDEF:BOT
1204input ncu_cmp_tick_enable; // PINDEF:BOT
1205output spc_ss_complete; // PINDEF:BOT
1206
1207// RSTVADDR (POR address) control
1208input ncu_wmr_vec_mask; // PINDEF:BOT
1209
1210// Debug signals
1211output spc_hardstop_request; // PINDEF:BOT
1212output spc_softstop_request; // PINDEF:BOT
1213output spc_trigger_pulse; // PINDEF:BOT
1214
1215// partial core signals
1216input ncu_spc_pm; // PINDEF:BOT arc=l2clk:50 cap=20
1217input ncu_spc_ba01; // PINDEF:BOT arc=l2clk:50 cap=20
1218input ncu_spc_ba23; // PINDEF:BOT arc=l2clk:50 cap=20
1219input ncu_spc_ba45; // PINDEF:BOT arc=l2clk:50 cap=20
1220input ncu_spc_ba67; // PINDEF:BOT arc=l2clk:50 cap=20
1221
1222// EFUSE interface
1223input efu_spc_fuse_data; // PINDEF:BOT
1224input efu_spc_fuse_ixfer_en; // PINDEF:BOT
1225input efu_spc_fuse_dxfer_en; // PINDEF:BOT
1226input efu_spc_fuse_iclr; // PINDEF:BOT
1227input efu_spc_fuse_dclr; // PINDEF:BOT
1228output spc_efu_fuse_ddata; // PINDEF:BOT
1229output spc_efu_fuse_idata; // PINDEF:BOT
1230output spc_efu_fuse_ixfer_en; // PINDEF:BOT
1231output spc_efu_fuse_dxfer_en; // PINDEF:BOT
1232
1233// VNW inputs
1234input vnw_ary0;
1235input vnw_ary1;
1236
1237// Logic BIST signals
1238input tcu_spc_lbist_start; // PINDEF:BOT
1239input tcu_spc_lbist_scan_in; // PINDEF:BOT
1240input tcu_spc_lbist_pgm; // PINDEF:BOT
1241input tcu_spc_test_mode; // PINDEF:BOT
1242
1243output spc_tcu_lbist_done; // PINDEF:BOT
1244output spc_tcu_lbist_scan_out; // PINDEF:BOT
1245
1246// DMO interface
1247input [35:0] dmo_din; // PINDEF: RIGHT
1248input dmo_coresel;
1249input dmo_icmuxctl;
1250input dmo_dcmuxctl;
1251
1252output [35:0] dmo_dout;
1253
1254// l2 index hashing
1255
1256input ncu_spc_l2_idx_hash_en; // PINDEF:BOT arc=l2clk:50 cap=20
1257
1258// gasket <-> CPX interface
1259// ---------------------------
1260// Incoming CPX packet
1261input [145:0] cpx_spc_data_cx; // PINDEF:BOT arc=l2clk:100 cap=20
1262// 0in known_driven -var cpx_spc_data_cx[144:0] -active cpx_spc_data_cx[145]
1263
1264// gasket <-> PCX interface
1265input [8:0] pcx_spc_grant_px; // PINDEF:BOT arc=l2clk:200 cap=20
1266
1267// PCX request
1268output [8:0] spc_pcx_req_pq; // PINDEF:BOT arc=l2clk:200 drv=32x
1269output [8:0] spc_pcx_atm_pq; // PINDEF:BOT arc=l2clk:200 drv=32x
1270
1271// PCX packet data
1272output [129:0] spc_pcx_data_pa; // PINDEF:BOT arc=l2clk:100 drv=32x
1273
1274input [7:0] tcu_core_running; // PINDEF:BOT arc=l2clk:30 cap=20
1275output [7:0] spc_core_running_status; // PINDEF:BOT arc=l2clk:100 drv=32x
1276
1277input [2:0] power_throttle; // power throttle, [2:0] is encoded number of stalls in 8 cycle window
1278 // 000 - no stalls, 001 - 1 stall, ... 111 - 7 stalls
1279
1280output [1:0] spc_dbg_instr_cmt_grp0; // Pipe status for debug
1281output [1:0] spc_dbg_instr_cmt_grp1; // Pipe status for debug
1282
1283
1284// Needs to be spc input so that it can be easily changed for metal ECs
1285input [3:0] hver_mask_minor_rev;
1286
1287input ccu_slow_cmp_sync_en;
1288input ccu_cmp_slow_sync_en;
1289
1290
1291//spc_rep0_dp rep0; // global repeaters
1292
1293spc_rep1_dp rep1(
1294 .exu_address0_e(exu_address0_e[47:0]),
1295 .exu_address1_e(exu_address1_e[47:0]),
1296 .exu_address0_e_rep0(exu_address0_e_rep0[47:0]),
1297 .exu_address1_e_rep0(exu_address1_e_rep0[47:0]),
1298 .exu_address0_e_rep01(exu_address0_e_rep01[47:0]),
1299 .exu_address1_e_rep01(exu_address1_e_rep01[47:0]),
1300 .fgu_exu_result_fx5(fgu_exu_result_fx5[63:0]),
1301 .fgu_exu_result_fx5_rep0(fgu_exu_result_fx5_rep0[63:0]),
1302 .fgu_exu_result_fx5_rep1(fgu_exu_result_fx5_rep1[63:0]),
1303 .lsu_exu_ld_data_b(lsu_exu_ld_data_b[63:0]),
1304 .lsu_exu_ld_data_b_rep00(lsu_exu_ld_data_b_rep00[63:0]),
1305 .lsu_exu_ld_data_b_rep01(lsu_exu_ld_data_b_rep01[63:0]),
1306 .fgu_cecc_fx2(fgu_cecc_fx2),
1307 .fgu_uecc_fx2(fgu_uecc_fx2),
1308 .fgu_cecc_fx2_rep1(fgu_cecc_fx2_rep1),
1309 .fgu_uecc_fx2_rep1(fgu_uecc_fx2_rep1),
1310 .pce_ov(pce_ov),
1311 .spc_aclk(spc_aclk),
1312 .spc_bclk(spc_bclk),
1313 .spc_aclk_wmr(spc_aclk_wmr),
1314 .lb_scan_en(lb_scan_en),
1315 .scan_in(scan_in[1:0]),
1316 .tcu_pce_ov(tcu_pce_ov),
1317 .tcu_aclk(tcu_aclk),
1318 .tcu_bclk(tcu_bclk),
1319 .tcu_dectest(tcu_dectest),
1320 .tcu_muxtest(tcu_muxtest),
1321 .tcu_scan_en(tcu_scan_en),
1322 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
1323 .tcu_se_scancollar_in(tcu_se_scancollar_in),
1324 .tcu_se_scancollar_out(tcu_se_scancollar_out),
1325 .rst_wmr_protect(rst_wmr_protect),
1326 .dmo_dcmuxctl(dmo_dcmuxctl),
1327 .hver_mask_minor_rev(hver_mask_minor_rev[3:0]),
1328 .scan_out(scan_out[1:0]),
1329 .tcu_shscan_pce_ov(tcu_shscan_pce_ov),
1330 .tcu_shscan_aclk(tcu_shscan_aclk),
1331 .tcu_shscan_bclk(tcu_shscan_bclk),
1332 .tcu_shscan_scan_in(tcu_shscan_scan_in),
1333 .tcu_shscan_scan_en(tcu_shscan_scan_en),
1334 .spc_shscan_scan_out(spc_shscan_scan_out),
1335 .cluster_arst_l(cluster_arst_l),
1336 .tcu_spc_mbist_scan_in(tcu_spc_mbist_scan_in),
1337 .tcu_spc_mbist_start_ff(tcu_spc_mbist_start_ff),
1338 .spc_mbist_fail(spc_mbist_fail),
1339 .spc_mbist_done(spc_mbist_done),
1340 .spc_tcu_mbist_scan_out(spc_tcu_mbist_scan_out),
1341 .tcu_spc_lbist_start(tcu_spc_lbist_start),
1342 .tcu_spc_lbist_scan_in(tcu_spc_lbist_scan_in),
1343 .tcu_spc_lbist_pgm(tcu_spc_lbist_pgm),
1344 .tcu_spc_test_mode(tcu_spc_test_mode),
1345 .spc_tcu_lbist_done(spc_tcu_lbist_done),
1346 .spc_tcu_lbist_scan_out(spc_tcu_lbist_scan_out),
1347 .scan_in_buf(scan_in_buf[1:0]),
1348 .tcu_pce_ov_buf(tcu_pce_ov_buf),
1349 .tcu_aclk_buf(tcu_aclk_buf),
1350 .tcu_bclk_buf(tcu_bclk_buf),
1351 .tcu_dectest_buf(tcu_dectest_buf),
1352 .tcu_muxtest_buf(tcu_muxtest_buf),
1353 .tcu_scan_en_buf(tcu_scan_en_buf),
1354 .tcu_array_wr_inhibit_buf(tcu_array_wr_inhibit_buf),
1355 .tcu_se_scancollar_in_buf(tcu_se_scancollar_in_buf),
1356 .tcu_se_scancollar_out_buf(tcu_se_scancollar_out_buf),
1357 .rst_wmr_protect_buf(rst_wmr_protect_buf),
1358 .dmo_dcmuxctl_buf(dmo_dcmuxctl_buf),
1359 .hver_mask_minor_rev_buf(hver_mask_minor_rev_buf[3:0]),
1360 .scan_out_buf(scan_out_buf[1:0]),
1361 .tcu_shscan_pce_ov_buf(tcu_shscan_pce_ov_buf),
1362 .tcu_shscan_aclk_buf(tcu_shscan_aclk_buf),
1363 .tcu_shscan_bclk_buf(tcu_shscan_bclk_buf),
1364 .tcu_shscan_scan_in_buf(tcu_shscan_scan_in_buf),
1365 .tcu_shscan_scan_en_buf(tcu_shscan_scan_en_buf),
1366 .spc_shscan_scan_out_buf(spc_shscan_scan_out_buf),
1367 .cluster_arst_l_buf(cluster_arst_l_buf),
1368 .tcu_spc_mbist_scan_in_buf(tcu_spc_mbist_scan_in_buf),
1369 .tcu_spc_mbist_start_buf0(tcu_spc_mbist_start_buf0),
1370 .spc_mbist_fail_ff(spc_mbist_fail_ff),
1371 .spc_mbist_done_ff(spc_mbist_done_ff),
1372 .spc_tcu_mbist_scan_out_buf(spc_tcu_mbist_scan_out_buf),
1373 .tcu_spc_lbist_start_buf(tcu_spc_lbist_start_buf),
1374 .tcu_spc_lbist_scan_in_buf(tcu_spc_lbist_scan_in_buf),
1375 .tcu_spc_lbist_pgm_buf(tcu_spc_lbist_pgm_buf),
1376 .tcu_spc_test_mode_buf(tcu_spc_test_mode_buf),
1377 .lb_lbist_done(lb_lbist_done),
1378 .spc_tcu_lbist_scan_out_buf(spc_tcu_lbist_scan_out_buf),
1379 .ftu_instr_0_c(ftu_instr_0_c[32:0]),
1380 .ftu_instr_1_c(ftu_instr_1_c[32:0]),
1381 .ftu_instr_2_c(ftu_instr_2_c[32:0]),
1382 .ftu_instr_3_c(ftu_instr_3_c[32:0]),
1383 .ftu_instr_exceptions_c(ftu_instr_exceptions_c[4:0]),
1384 .ftu_instr_0_c_rep0(ftu_instr_0_c_rep0[32:0]),
1385 .ftu_instr_0_c_rep1(ftu_instr_0_c_rep1[32:0]),
1386 .ftu_instr_0_c_rep2(ftu_instr_0_c_rep2[32:0]),
1387 .ftu_instr_0_c_rep3(ftu_instr_0_c_rep3[32:0]),
1388 .ftu_instr_1_c_rep0(ftu_instr_1_c_rep0[32:0]),
1389 .ftu_instr_1_c_rep1(ftu_instr_1_c_rep1[32:0]),
1390 .ftu_instr_1_c_rep2(ftu_instr_1_c_rep2[32:0]),
1391 .ftu_instr_1_c_rep3(ftu_instr_1_c_rep3[32:0]),
1392 .ftu_instr_2_c_rep0(ftu_instr_2_c_rep0[32:0]),
1393 .ftu_instr_2_c_rep1(ftu_instr_2_c_rep1[32:0]),
1394 .ftu_instr_2_c_rep2(ftu_instr_2_c_rep2[32:0]),
1395 .ftu_instr_2_c_rep3(ftu_instr_2_c_rep3[32:0]),
1396 .ftu_instr_3_c_rep0(ftu_instr_3_c_rep0[32:0]),
1397 .ftu_instr_3_c_rep1(ftu_instr_3_c_rep1[32:0]),
1398 .ftu_instr_3_c_rep2(ftu_instr_3_c_rep2[32:0]),
1399 .ftu_instr_3_c_rep3(ftu_instr_3_c_rep3[32:0]),
1400 .ftu_instr_0_exceptions_c_rep0(ftu_instr_0_exceptions_c_rep0[4:0]),
1401 .ftu_instr_0_exceptions_c_rep1(ftu_instr_0_exceptions_c_rep1[4:0]),
1402 .ftu_instr_0_exceptions_c_rep2(ftu_instr_0_exceptions_c_rep2[4:0]),
1403 .ftu_instr_0_exceptions_c_rep3(ftu_instr_0_exceptions_c_rep3[4:0]),
1404 .ftu_instr_1_exceptions_c_rep0(ftu_instr_1_exceptions_c_rep0[4:0]),
1405 .ftu_instr_1_exceptions_c_rep1(ftu_instr_1_exceptions_c_rep1[4:0]),
1406 .ftu_instr_1_exceptions_c_rep2(ftu_instr_1_exceptions_c_rep2[4:0]),
1407 .ftu_instr_1_exceptions_c_rep3(ftu_instr_1_exceptions_c_rep3[4:0]),
1408 .ftu_instr_2_exceptions_c_rep0(ftu_instr_2_exceptions_c_rep0[4:0]),
1409 .ftu_instr_2_exceptions_c_rep1(ftu_instr_2_exceptions_c_rep1[4:0]),
1410 .ftu_instr_2_exceptions_c_rep2(ftu_instr_2_exceptions_c_rep2[4:0]),
1411 .ftu_instr_2_exceptions_c_rep3(ftu_instr_2_exceptions_c_rep3[4:0]),
1412 .ftu_instr_3_exceptions_c_rep0(ftu_instr_3_exceptions_c_rep0[4:0]),
1413 .ftu_instr_3_exceptions_c_rep1(ftu_instr_3_exceptions_c_rep1[4:0]),
1414 .ftu_instr_3_exceptions_c_rep2(ftu_instr_3_exceptions_c_rep2[4:0]),
1415 .ftu_instr_3_exceptions_c_rep3(ftu_instr_3_exceptions_c_rep3[4:0]),
1416 .pce_ov_tl(pce_ov_tl),
1417 .spc_aclk_tl(spc_aclk_tl),
1418 .spc_bclk_tl(spc_bclk_tl),
1419 .spc_aclk_wmr_tl(spc_aclk_wmr_tl),
1420 .lb_scan_en_tl(lb_scan_en_tl),
1421 .pce_ov_tr(pce_ov_tr),
1422 .spc_aclk_tr(spc_aclk_tr),
1423 .spc_bclk_tr(spc_bclk_tr),
1424 .spc_aclk_wmr_tr(spc_aclk_wmr_tr),
1425 .lb_scan_en_tr(lb_scan_en_tr),
1426 .pce_ov_bl(pce_ov_bl),
1427 .spc_aclk_bl(spc_aclk_bl),
1428 .spc_bclk_bl(spc_bclk_bl),
1429 .spc_aclk_wmr_bl(spc_aclk_wmr_bl),
1430 .lb_scan_en_bl(lb_scan_en_bl),
1431 .pce_ov_br(pce_ov_br),
1432 .spc_aclk_br(spc_aclk_br),
1433 .spc_bclk_br(spc_bclk_br),
1434 .spc_aclk_wmr_br(spc_aclk_wmr_br),
1435 .lb_scan_en_br(lb_scan_en_br),
1436 .dec_spu_grant_d(dec_spu_grant_d),
1437 .dec_spu_grant_d_rep0(dec_spu_grant_d_rep0)); // global repeaters
1438
1439spc_msf0_dp msf0 ( // I/O MSFFs for CMP clock domain signals
1440 // Put in front of lsu
1441 .scan_in(lsu_scanin),
1442 .scan_out(msf0_scanout),
1443 .l2clk(l2clk),
1444 .tcu_se_scancollar_out(lb_se_sc_out),
1445 .tcu_pce_ov(pce_ov_br),
1446 .tcu_scan_en(lb_scan_en_br),
1447 .spc_aclk(spc_aclk_br),
1448 .spc_bclk(spc_bclk_br),
1449 .tcu_atpg_mode(tcu_atpg_mode),
1450 .lb_lbist_running(lb_lbist_running),
1451 .slow_cmp_sync_en(slow_cmp_sync_en),
1452 .cmp_slow_sync_en(cmp_slow_sync_en),
1453 .ncu_cmp_tick_enable(ncu_cmp_tick_enable),
1454 .ncu_wmr_vec_mask(ncu_wmr_vec_mask),
1455 .tcu_ss_mode(tcu_ss_mode),
1456 .tcu_do_mode(tcu_do_mode),
1457 .tcu_mbist_user_mode(tcu_mbist_user_mode),
1458 .tcu_mbist_bisi_en(tcu_mbist_bisi_en),
1459 .tcu_ss_request(tcu_ss_request),
1460 .tcu_core_running(tcu_core_running[7:0]),
1461 .tcu_shscan_clk_stop(tcu_shscan_clk_stop),
1462 .tcu_shscanid(tcu_shscanid[2:0]),
1463 .efu_spc_fuse_data(efu_spc_fuse_data),
1464 .efu_spc_fuse_ixfer_en(efu_spc_fuse_ixfer_en),
1465 .efu_spc_fuse_dxfer_en(efu_spc_fuse_dxfer_en),
1466 .efu_spc_fuse_iclr(efu_spc_fuse_iclr),
1467 .efu_spc_fuse_dclr(efu_spc_fuse_dclr),
1468 .spc_efu_fuse_ddata(spc_efu_fuse_ddata),
1469 .spc_efu_fuse_idata(spc_efu_fuse_idata),
1470 .spc_efu_fuse_ixfer_en(spc_efu_fuse_ixfer_en),
1471 .spc_efu_fuse_dxfer_en(spc_efu_fuse_dxfer_en),
1472 .efu_spc_fuse_data_buf(efu_spc_fuse_data_buf),
1473 .efu_spc_fuse_ixfer_en_buf(efu_spc_fuse_ixfer_en_buf),
1474 .efu_spc_fuse_dxfer_en_buf(efu_spc_fuse_dxfer_en_buf),
1475 .efu_spc_fuse_iclr_buf(efu_spc_fuse_iclr_buf),
1476 .efu_spc_fuse_dclr_buf(efu_spc_fuse_dclr_buf),
1477 .spc_efu_fuse_ddata_buf(spc_efu_fuse_ddata_buf),
1478 .spc_efu_fuse_idata_buf(spc_efu_fuse_idata_buf),
1479 .spc_efu_fuse_ixfer_en_buf(spc_efu_fuse_ixfer_en_buf),
1480 .spc_efu_fuse_dxfer_en_buf(spc_efu_fuse_dxfer_en_buf),
1481 .tlu_core_running_status(tlu_core_running_status[7:0]),
1482 .tlu_ss_complete(tlu_ss_complete),
1483 .tlu_hardstop_request(tlu_hardstop_request),
1484 .tlu_softstop_request(tlu_softstop_request),
1485 .tlu_trigger_pulse(tlu_trigger_pulse),
1486 .tlu_dbg_instr_cmt_grp0(tlu_dbg_instr_cmt_grp0[1:0]),
1487 .tlu_dbg_instr_cmt_grp1(tlu_dbg_instr_cmt_grp1[1:0]),
1488 .msf0_cmp_tick_enable(msf0_cmp_tick_enable),
1489 .msf0_wmr_vec_mask(msf0_wmr_vec_mask),
1490 .msf0_ss_mode(msf0_ss_mode),
1491 .msf0_do_mode(msf0_do_mode),
1492 .msf0_ss_request(msf0_ss_request),
1493 .msf0_core_running(msf0_core_running[7:0]),
1494 .msf0_shscan_clk_stop(msf0_shscan_clk_stop),
1495 .msf0_shscanid(msf0_shscanid[2:0]),
1496 .msf0_mbist_user_mode_ff(msf0_mbist_user_mode_ff),
1497 .msf0_mbist_bisi_en_ff(msf0_mbist_bisi_en_ff),
1498 .msf0_atpg_mode_buf(msf0_atpg_mode_buf),
1499 .spc_core_running_status(spc_core_running_status[7:0]),
1500 .spc_ss_complete(spc_ss_complete),
1501 .spc_hardstop_request(spc_hardstop_request),
1502 .spc_softstop_request(spc_softstop_request),
1503 .spc_trigger_pulse(spc_trigger_pulse),
1504 .spc_dbg_instr_cmt_grp0(spc_dbg_instr_cmt_grp0[1:0]),
1505 .spc_dbg_instr_cmt_grp1(spc_dbg_instr_cmt_grp1[1:0]),
1506 .power_throttle(power_throttle[2:0]),
1507 .power_throttle_buf(power_throttle_buf[2:0])
1508);
1509
1510spc_msf1_dp msf1 ( // I/O MSFFs for mbist start/done/fail and lbist start/done signals
1511 // Put in front of gkt
1512 .scan_in(gkt_scanin),
1513 .scan_out(msf1_scanout),
1514 .l2clk(l2clk),
1515 .tcu_se_scancollar_out(lb_se_sc_out),
1516 .tcu_pce_ov(pce_ov_br),
1517 .spc_aclk(spc_aclk_br),
1518 .spc_bclk(spc_bclk_br),
1519 .tcu_spc_mbist_start(tcu_spc_mbist_start),
1520 .spc_mbist_fail_buf(spc_mbist_fail_buf),
1521 .spc_mbist_done_buf(spc_mbist_done_buf),
1522 .tcu_spc_mbist_start_ff(tcu_spc_mbist_start_ff),
1523 .spc_mbist_fail_ff(spc_mbist_fail_ff),
1524 .spc_mbist_done_ff(spc_mbist_done_ff)
1525);
1526
1527// LBIST controller
1528spc_lb_ctl lb (
1529 .scan_in(tcu_spc_lbist_scan_in_buf),
1530 .scan_out(spc_tcu_lbist_scan_out_buf),
1531 .l2clk(gclk), // not stopped during LBIST...comes from cluster header
1532 .tcu_pce_ov(pce_ov_tr),
1533 .aclk(tcu_aclk_buf),
1534 .bclk(tcu_bclk_buf),
1535 .scan_en(tcu_scan_en_buf),
1536 .se_scancollar_in(tcu_se_scancollar_in_buf),
1537 .se_scancollar_out(tcu_se_scancollar_out_buf),
1538 .clk_stop(tcu_clk_stop),
1539 .array_wr_inhibit(tcu_array_wr_inhibit_buf),
1540 .test_mode(tcu_spc_test_mode_buf),
1541 .io_si(scan_in_buf[1:0]), // From pins: Core scan chain for ATPG
1542 .io_so(scan_out_buf[1:0]), // To pins: Core scan chain for ATPG
1543 .lbist_start(tcu_spc_lbist_start_buf),
1544 .lbist_pgm(tcu_spc_lbist_pgm_buf),
1545 .lbist_done(lb_lbist_done), // Indicates Logic BIST is done
1546 .lbist_run(lb_lbist_running), // Indicates Logic BIST is running
1547 .channel_si({wmr_protect_scanin, dmo_scanin , clk_spc_scanin , mmu_scanin,
1548 ifu_ibu_scanin , ifu_ftu_scanin , ifu_cmu_scanin , dec_scanin,
1549 pku_scanin , exu0_scanin , exu1_scanin , tlu_scanin,
1550 lsu_scanin , spu_scanin , fgu_scanin , gkt_scanin}),
1551 .channel_so({mmu_wmr_scanout , dmo_scanout , clk_spc_scanout, pmu_scanout,
1552 ifu_ibu_scanout , ifu_ftu_scanout, ifu_cmu_scanout, dec_scanout,
1553 pku_scanout , exu0_scanout , exu1_scanout , tlu_scanout,
1554 lsu_scanout , spu_scanout , fgu_scanout , gkt_scanout}),
1555 .mb_channel_si(lb_mb_channel_si),
1556 .mb_channel_so(mb2_scanout),
1557 .mbist_si(tcu_spc_mbist_scan_in_buf), // From TCU: To core's mbist scan chain
1558 .mbist_so(spc_tcu_mbist_scan_out_buf), // To TCU: From core's mbist scan chain
1559 .core_aclk(lb_aclk),
1560 .core_bclk(lb_bclk),
1561 .core_scan_en(lb_scan_en),
1562 .core_se_sc_in(lb_se_sc_in),
1563 .core_se_sc_out(lb_se_sc_out),
1564 .core_clk_stop(lb_clk_stop),
1565 .core_awi(lb_array_wr_inhibit),
1566 .core_scan_en_wmr(lb_scan_en_wmr),
1567 .wmr_protect(wmr_protect),
1568 .slow_cmp_sync_en(slow_cmp_sync_en),
1569 .core_isolate(core_isolate)
1570);
1571
1572clkgen_spc_cmp clk_spc (
1573 .aclk(spc_aclk),
1574 .aclk_wmr(spc_aclk_wmr),
1575 .array_wr_inhibit(clk_array_wr_inhibit),
1576 .bclk(spc_bclk),
1577 .ccu_cmp_slow_sync_en(ccu_cmp_slow_sync_en),
1578 .ccu_div_ph(1'b1),
1579 .ccu_serdes_dtm(1'b0),
1580 .ccu_slow_cmp_sync_en(ccu_slow_cmp_sync_en),
1581 .clk_ext(1'b0),
1582 .cluster_arst_l(cluster_arst_l_buf),
1583 .cluster_div_en(1'b0),
1584 .cmp_slow_sync_en(cmp_slow_sync_en),
1585 .gclk(gclk),
1586 .l2clk(l2clk),
1587 .pce_ov(pce_ov),
1588 .por_(por_unused),
1589 .rst_por_(1'b1),
1590 .rst_wmr_(1'b1),
1591 .rst_wmr_protect(rst_wmr_protect_buf),
1592 .scan_en(lb_scan_en),
1593 .scan_in(clk_spc_scanin),
1594 .scan_out(clk_spc_scanout),
1595 .slow_cmp_sync_en(slow_cmp_sync_en),
1596 .tcu_aclk(lb_aclk),
1597 .tcu_bclk(lb_bclk),
1598 .tcu_clk_stop(lb_clk_stop),
1599 .tcu_div_bypass(1'b0),
1600 .tcu_pce_ov(tcu_pce_ov_buf),
1601 .tcu_atpg_mode(msf0_atpg_mode_buf),
1602 .tcu_wr_inhibit(lb_array_wr_inhibit),
1603 .wmr_(wmr_unused),
1604 .wmr_protect(wmr_protect)
1605);
1606
1607dmo_dp dmo (
1608 .scan_in(dmo_scanin),
1609 .scan_out(dmo_scanout),
1610 .tcu_pce_ov(pce_ov),
1611 .tcu_se_scancollar_out(lb_se_sc_out),
1612 .lsu_dc_data({dcc_dmo_parity[3:0], lsu_exu_ld_data_b[63:32]}),
1613 .l2clk(l2clk),
1614 .spc_aclk(spc_aclk),
1615 .spc_bclk(spc_bclk),
1616 .ic_dmo_rd_data(ic_dmo_rd_data[32:0]),
1617 .dmo_din(dmo_din[35:0]),
1618 .dmo_coresel(dmo_coresel),
1619 .dmo_icmuxctl(dmo_icmuxctl),
1620 .dmo_dout(dmo_dout[35:0]),
1621 .dmo_coresel_buff(dmo_coresel_buff)
1622);
1623
1624gkt gkt (
1625 .scan_in(msf1_scanout),
1626 .scan_out(gkt_scanout),
1627 .l2clk(l2clk),
1628 .lbist_run(lb_lbist_running),
1629 .tcu_se_scancollar_out(lb_se_sc_out),
1630 .slow_cmp_sync_en(slow_cmp_sync_en),
1631 .tcu_scan_en(lb_scan_en_br),
1632 .tcu_pce_ov(pce_ov_br),
1633 .spc_aclk(spc_aclk_br),
1634 .spc_bclk(spc_bclk_br),
1635 .mmu_l15_addr(mmu_l15_addr[39:4]),
1636 .mmu_l15_cpkt(mmu_l15_cpkt[4:0]),
1637 .spu_l15_addr(spu_l15_addr[38:3]),
1638 .spu_l15_cpkt(spu_l15_cpkt[12:0]),
1639 .spu_l15_data(spu_l15_data[63:0]),
1640 .core_isolate(core_isolate),
1641 .const_cpuid(const_cpuid[2:0]),
1642 .lsu_gkt_pmen(lsu_gkt_pmen),
1643 .ifu_l15_valid(ifu_l15_valid),
1644 .mmu_l15_valid(mmu_l15_valid),
1645 .lsu_l15_valid(lsu_l15_valid),
1646 .spu_l15_valid(spu_l15_valid),
1647 .lsu_l15_lock(lsu_l15_lock),
1648 .ifu_l15_addr(ifu_l15_addr[39:0]),
1649 .lsu_l15_addr(lsu_l15_addr[39:0]),
1650 .ifu_l15_cpkt(ifu_l15_cpkt[7:0]),
1651 .lsu_l15_cpkt(lsu_l15_cpkt[25:0]),
1652 .lsu_l15_data(lsu_l15_data[63:0]),
1653 .ncu_spc_pm(ncu_spc_pm),
1654 .ncu_spc_ba01(ncu_spc_ba01),
1655 .ncu_spc_ba23(ncu_spc_ba23),
1656 .ncu_spc_ba45(ncu_spc_ba45),
1657 .ncu_spc_ba67(ncu_spc_ba67),
1658 .ncu_spc_l2_idx_hash_en(ncu_spc_l2_idx_hash_en),
1659 .cpx_spc_data_cx(cpx_spc_data_cx[145:0]),
1660 .pcx_spc_grant_px(pcx_spc_grant_px[8:0]),
1661 .l15_spc_cpkt(l15_spc_cpkt[17:0]),
1662 .l15_spc_data1(l15_spc_data1[127:0]),
1663 .cpx_spc_data_cx_rep0(cpx_spc_data_cx_rep0[145:0]),
1664 .l15_mmu_valid(l15_mmu_valid),
1665 .l15_spu_valid(l15_spu_valid),
1666 .l15_ifu_grant(l15_ifu_grant),
1667 .l15_mmu_grant(l15_mmu_grant),
1668 .l15_lsu_grant(l15_lsu_grant),
1669 .l15_spu_grant(l15_spu_grant),
1670 .gkt_ifu_legal(gkt_ifu_legal[3:0]),
1671 .gkt_ifu_flip_parity(gkt_ifu_flip_parity[3:0]),
1672 .l15_pmu_xbar_optype(l15_pmu_xbar_optype[6:0]),
1673 .spc_pcx_req_pq(spc_pcx_req_pq[8:0]),
1674 .spc_pcx_atm_pq(spc_pcx_atm_pq[8:0]),
1675 .spc_pcx_data_pa(spc_pcx_data_pa[129:0])
1676 );
1677
1678// To prevent collisions between ASI reads and block stores at the FRF, the
1679// minimum local ring latency to the FGU must be >= 8 cycles.
1680// 0in assert_follower -leader ((lsu_rngl_cdbus[64:63] == 2'b11) & (lsu_rngl_cdbus[55:48] == 8'h4E)) -follower ((fgu.in_rngl_cdbus[64:63] == 2'b11) & (fgu.in_rngl_cdbus[55:48] == 8'h4E)) -max 30 -min 8
1681
1682
1683fgu fgu (
1684 .scan_in(fgu_scanin),
1685 .scan_out(fgu_scanout),
1686 .wmr_scan_in(exu1_wmr_scanout),
1687 .wmr_scan_out(fgu_wmr_scanout),
1688 .l2clk(l2clk),
1689 .spc_aclk(spc_aclk_tr),
1690 .spc_aclk_wmr(spc_aclk_wmr_tr),
1691 .spc_bclk(spc_bclk_tr),
1692 .tcu_pce_ov(pce_ov_tr),
1693 .tcu_scan_en(lb_scan_en_tr),
1694 .tcu_se_scancollar_in(lb_se_sc_in),
1695 .tcu_se_scancollar_out(lb_se_sc_out),
1696 .tcu_dectest (tcu_dectest_buf ),
1697 .tcu_muxtest (tcu_muxtest_buf ),
1698 .tcu_array_wr_inhibit (clk_array_wr_inhibit ),
1699 .dec_fgu_fmov_vld_m (exu_fgu_fmov_vld_m),
1700 .dec_spu_grant_d (dec_spu_grant_fgu_d),
1701 .spc_core_running_status(tlu_core_running_status[7:0]),
1702 .in_rngl_cdbus (pmu_rngl_cdbus[64:0]),
1703 .fgu_rngl_cdbus (fgu_rngl_cdbus[64:0]),
1704 .lsu_fgu_fld_data_b (lsu_fgu_fld_data_b[63:0]),
1705 .exu_fgu_rs1_e (exu_fgu_rs1_e[63:0]),
1706 .exu_fgu_rs2_e (exu_fgu_rs2_e[63:0]),
1707 .spu_fgu_rs1_e (spu_fgu_rs1_e[63:0]),
1708 .spu_fgu_rs2_e (spu_fgu_rs2_e[63:0]),
1709 .mbi_addr (mb2_addr[7:0]),
1710 .mbi_run (mb2_run),
1711 .mbi_wdata (mb2_write_data[7:0]),
1712 .mbi_frf_read_en (mb2_frf_read_en),
1713 .mbi_frf_write_en (mb2_frf_write_en),
1714 .dec_frf_r1_addr_d(dec_frf_r1_addr_d[4:0]),
1715 .dec_frf_r2_addr_d(dec_frf_r2_addr_d[4:0]),
1716 .dec_frf_r1_vld_d(dec_frf_r1_vld_d),
1717 .dec_frf_r2_vld_d(dec_frf_r2_vld_d),
1718 .dec_frf_r1_32b_d(dec_frf_r1_32b_d),
1719 .dec_frf_r2_32b_d(dec_frf_r2_32b_d),
1720 .dec_frf_r1_odd32b_d(dec_frf_r1_odd32b_d),
1721 .dec_frf_r2_odd32b_d(dec_frf_r2_odd32b_d),
1722 .dec_frf_w_vld_d(dec_frf_w_vld_d),
1723 .dec_frf_w_addr_d(dec_frf_w_addr_d[4:0]),
1724 .dec_frf_w_32b_d(dec_frf_w_32b_d),
1725 .dec_frf_w_odd32b_d(dec_frf_w_odd32b_d),
1726 .dec_exu_src_vld_d(dec_exu_src_vld_d),
1727 .dec_irf_w_addr_d(dec_irf_w_addr_d[4:0]),
1728 .dec_frf_store_d(dec_frf_store_d),
1729 .dec_fsr_store_d(dec_fsr_store_d),
1730 .dec_valid_e(dec_valid_e[1:0]),
1731 .dec_fgu_op3_d(dec_fgu_op3_d[5:0]),
1732 .dec_fgu_opf_d(dec_fgu_opf_d[7:0]),
1733 .dec_fgu_decode_d(dec_fgu_decode_d),
1734 .dec_fgu_valid_e(dec_fgu_valid_e),
1735 .dec_fgu_tid_d(dec_fgu_tid_d[2:0]),
1736 .dec_flush_f1(dec_flush_f1),
1737 .dec_flush_f2(dec_flush_f2),
1738 .fgu_cmp_fcc_fx3(fgu_cmp_fcc_fx3[1:0]),
1739 .fgu_cmp_fcc_vld_fx3(fgu_cmp_fcc_vld_fx3[3:0]),
1740 .fgu_cmp_fcc_tid_fx2(fgu_cmp_fcc_tid_fx2[2:0]),
1741 .fgu_fld_fcc_fx3(fgu_fld_fcc_fx3[7:0]),
1742 .fgu_fld_fcc_vld_fx3(fgu_fld_fcc_vld_fx3[1:0]),
1743 .fgu_fprs_fef(fgu_fprs_fef[7:0]),
1744 .fgu_fdiv_stall(fgu_fdiv_stall),
1745 .fgu_idiv_stall(fgu_idiv_stall[1:0]),
1746 .fgu_divide_completion(fgu_divide_completion[7:0]),
1747 .tlu_flush_fgu_b(tlu_flush_fgu_b),
1748 .tlu_ceter_pscce(tlu_ceter_pscce[7:0]),
1749 .tlu_cerer_frf(tlu_cerer_frf),
1750 .fgu_predict_fx2(fgu_predict_fx2),
1751 .fgu_pdist_beat2_fx1(fgu_pdist_beat2_fx1),
1752 .fgu_cecc_fx2(fgu_cecc_fx2),
1753 .fgu_uecc_fx2(fgu_uecc_fx2),
1754 .fgu_ecc_addr_fx2(fgu_ecc_addr_fx2[5:0]),
1755 .fgu_ecc_check_fx2(fgu_ecc_check_fx2[13:0]),
1756 .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw),
1757 .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw),
1758 .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw),
1759 .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw),
1760 .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw),
1761 .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]),
1762 .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]),
1763 .lsu_fgu_fld_addr_b(lsu_fgu_fld_addr_b[4:0]),
1764 .lsu_fgu_fld_vld_w(lsu_fgu_fld_vld_w),
1765 .lsu_fgu_fld_b(lsu_fgu_fld_b),
1766 .lsu_fgu_fld_tid_b(lsu_fgu_fld_tid_b[2:0]),
1767 .lsu_fgu_fld_32b_b(lsu_fgu_fld_32b_b),
1768 .lsu_fgu_fld_odd32b_b(lsu_fgu_fld_odd32b_b),
1769 .lsu_fgu_fsr_load_b(lsu_fgu_fsr_load_b),
1770 .lsu_fgu_exception_w(lsu_fgu_exception_w),
1771 .lsu_block_store_m(lsu_block_store_m),
1772 .lsu_asi_error_inject(lsu_asi_error_inject[31:0]),
1773 .lsu_fgu_pmen(lsu_fgu_pmen),
1774 .lsu_asi_clken(lsu_asi_clken),
1775 .fgu_lsu_fst_data_fx1(fgu_lsu_fst_data_fx1[63:0]),
1776 .fgu_fst_ecc_error_fx2(fgu_fst_ecc_error_fx2),
1777 .exu_fgu_gsr_m(exu_fgu_gsr_m[31:0]),
1778 .exu_fgu_gsr_vld_m(exu_fgu_gsr_vld_m[1:0]),
1779 .exu_fgu_flush_m(exu_fgu_flush_m),
1780 .fgu_exu_icc_fx5(fgu_exu_icc_fx5[3:0]),
1781 .fgu_exu_xcc_fx5(fgu_exu_xcc_fx5[1:0]),
1782 .fgu_exu_cc_vld_fx5(fgu_exu_cc_vld_fx5),
1783 .fgu_exu_w_vld_fx5(fgu_exu_w_vld_fx5[1:0]),
1784 .fgu_result_tid_fx5(fgu_result_tid_fx5[1:0]),
1785 .fgu_irf_w_addr_fx5(fgu_irf_w_addr_fx5[4:0]),
1786 .fgu_exu_result_fx5(fgu_exu_result_fx5[63:0]),
1787 .spu_fgu_fpy_ctl_d(spu_fgu_fpy_ctl_d[6:0]),
1788 .fgu_accum_b0_fx5(fgu_accum_b0_fx5),
1789 .fgu_mul_result_fx5(fgu_mul_result_fx5[63:0]),
1790 .lb_scan_en_wmr(lb_scan_en_wmr),
1791 .fgu_mbi_frf_fail(fgu_mbi_frf_fail)
1792);
1793
1794
1795
1796ifu_ibu ifu_ibu (
1797 .scan_in(ifu_ibu_scanin),
1798 .scan_out(ifu_ibu_scanout),
1799 .tcu_pce_ov(pce_ov_bl),
1800 .tcu_scan_en(lb_scan_en_bl),
1801 .spc_aclk(spc_aclk_bl),
1802 .spc_bclk(spc_bclk_bl),
1803 .l15_ifu_valid(lsu_cpx_valid),
1804 .l2clk(l2clk),
1805 .pku_flush_buffer0(pku_flush_buffer0[7:0]),
1806 .pku_flush_upper_buffer(pku_flush_upper_buffer[7:0]),
1807 .ftu_fetch_thr_c(ftu_fetch_thr_c[7:0]),
1808 .pku_pick_p(pku_pick_p[7:0]),
1809 .ftu_exception_valid_c(ftu_exception_valid_c),
1810 .ftu_instr_sf_valid_c(ftu_instr_sf_valid_c),
1811 .ftu_ibu_redirect_bf(ftu_ibu_redirect_bf[7:0]),
1812 .ftu_ic_no_err_c(ftu_ic_no_err_c),
1813 .ftu_bus_0_is_first(ftu_bus_0_is_first),
1814 .ftu_bus_1_is_first(ftu_bus_1_is_first),
1815 .ftu_bus_2_is_first(ftu_bus_2_is_first),
1816 .ftu_bus_3_is_first(ftu_bus_3_is_first),
1817 .ftu_instr_valid_c(ftu_instr_valid_c[3:0]),
1818 .ftu_instr_0_c_rep0(ftu_instr_0_c_rep0[32:0]),
1819 .ftu_instr_0_c_rep1(ftu_instr_0_c_rep1[32:0]),
1820 .ftu_instr_0_c_rep2(ftu_instr_0_c_rep2[32:0]),
1821 .ftu_instr_0_c_rep3(ftu_instr_0_c_rep3[32:0]),
1822 .ftu_instr_1_c_rep0(ftu_instr_1_c_rep0[32:0]),
1823 .ftu_instr_1_c_rep1(ftu_instr_1_c_rep1[32:0]),
1824 .ftu_instr_1_c_rep2(ftu_instr_1_c_rep2[32:0]),
1825 .ftu_instr_1_c_rep3(ftu_instr_1_c_rep3[32:0]),
1826 .ftu_instr_2_c_rep0(ftu_instr_2_c_rep0[32:0]),
1827 .ftu_instr_2_c_rep1(ftu_instr_2_c_rep1[32:0]),
1828 .ftu_instr_2_c_rep2(ftu_instr_2_c_rep2[32:0]),
1829 .ftu_instr_2_c_rep3(ftu_instr_2_c_rep3[32:0]),
1830 .ftu_instr_3_c_rep0(ftu_instr_3_c_rep0[32:0]),
1831 .ftu_instr_3_c_rep1(ftu_instr_3_c_rep1[32:0]),
1832 .ftu_instr_3_c_rep2(ftu_instr_3_c_rep2[32:0]),
1833 .ftu_instr_3_c_rep3(ftu_instr_3_c_rep3[32:0]),
1834 .ftu_instr_0_exceptions_c_rep0(ftu_instr_0_exceptions_c_rep0[4:0]),
1835 .ftu_instr_0_exceptions_c_rep1(ftu_instr_0_exceptions_c_rep1[4:0]),
1836 .ftu_instr_0_exceptions_c_rep2(ftu_instr_0_exceptions_c_rep2[4:0]),
1837 .ftu_instr_0_exceptions_c_rep3(ftu_instr_0_exceptions_c_rep3[4:0]),
1838 .ftu_instr_1_exceptions_c_rep0(ftu_instr_1_exceptions_c_rep0[4:0]),
1839 .ftu_instr_1_exceptions_c_rep1(ftu_instr_1_exceptions_c_rep1[4:0]),
1840 .ftu_instr_1_exceptions_c_rep2(ftu_instr_1_exceptions_c_rep2[4:0]),
1841 .ftu_instr_1_exceptions_c_rep3(ftu_instr_1_exceptions_c_rep3[4:0]),
1842 .ftu_instr_2_exceptions_c_rep0(ftu_instr_2_exceptions_c_rep0[4:0]),
1843 .ftu_instr_2_exceptions_c_rep1(ftu_instr_2_exceptions_c_rep1[4:0]),
1844 .ftu_instr_2_exceptions_c_rep2(ftu_instr_2_exceptions_c_rep2[4:0]),
1845 .ftu_instr_2_exceptions_c_rep3(ftu_instr_2_exceptions_c_rep3[4:0]),
1846 .ftu_instr_3_exceptions_c_rep0(ftu_instr_3_exceptions_c_rep0[4:0]),
1847 .ftu_instr_3_exceptions_c_rep1(ftu_instr_3_exceptions_c_rep1[4:0]),
1848 .ftu_instr_3_exceptions_c_rep2(ftu_instr_3_exceptions_c_rep2[4:0]),
1849 .ftu_instr_3_exceptions_c_rep3(ftu_instr_3_exceptions_c_rep3[4:0]),
1850 .lsu_ifu_ibu_pmen(lsu_ifu_ibu_pmen),
1851 .ftu_buffer_wr_en_f(ftu_buffer_wr_en_f[7:0]),
1852 .ifu_buf0_valid_p(ifu_buf0_valid_p[7:0]),
1853 .ifu_upper_buffer_valid_p(ifu_upper_buffer_valid_p[7:0]),
1854 .ibu_empty(ibu_empty[7:0]),
1855 .ibu_room_4ormore(ibu_room_4ormore[7:0]),
1856 .ifu_buf0_inst0(ifu_buf0_inst0[32:0]),
1857 .ifu_buf0_inst1(ifu_buf0_inst1[32:0]),
1858 .ifu_buf0_inst2(ifu_buf0_inst2[32:0]),
1859 .ifu_buf0_inst3(ifu_buf0_inst3[32:0]),
1860 .ifu_buf0_inst4(ifu_buf0_inst4[32:0]),
1861 .ifu_buf0_inst5(ifu_buf0_inst5[32:0]),
1862 .ifu_buf0_inst6(ifu_buf0_inst6[32:0]),
1863 .ifu_buf0_inst7(ifu_buf0_inst7[32:0]),
1864 .ifu_buf0_excp0(ifu_buf0_excp0[4:0]),
1865 .ifu_buf0_excp1(ifu_buf0_excp1[4:0]),
1866 .ifu_buf0_excp2(ifu_buf0_excp2[4:0]),
1867 .ifu_buf0_excp3(ifu_buf0_excp3[4:0]),
1868 .ifu_buf0_excp4(ifu_buf0_excp4[4:0]),
1869 .ifu_buf0_excp5(ifu_buf0_excp5[4:0]),
1870 .ifu_buf0_excp6(ifu_buf0_excp6[4:0]),
1871 .ifu_buf0_excp7(ifu_buf0_excp7[4:0])
1872);
1873
1874
1875
1876ifu_ftu ifu_ftu (
1877 .scan_in(ifu_ftu_scanin),
1878 .scan_out(ifu_ftu_scanout),
1879 .wmr_scan_in(lsu_wmr_scanout),
1880 .wmr_scan_out(ifu_ftu_wmr_scanout),
1881 .l2clk(l2clk),
1882 .tcu_pce_ov(pce_ov_bl),
1883 .tcu_scan_en(lb_scan_en_bl),
1884 .spc_aclk(spc_aclk_bl),
1885 .spc_aclk_wmr(spc_aclk_wmr_bl),
1886 .spc_bclk(spc_bclk_bl),
1887 .lbist_run (lb_lbist_running ),
1888 .tcu_dectest (tcu_dectest_buf ),
1889 .tcu_muxtest (tcu_muxtest_buf ),
1890 .tcu_array_wr_inhibit (clk_array_wr_inhibit ),
1891 .tcu_se_scancollar_in(lb_se_sc_in),
1892 .tcu_se_scancollar_out(lb_se_sc_out),
1893 .vnw_ary(vnw_ary0),
1894 .mbi_run(mb0_run),
1895 .mbi_ict_write_en(mb0_ict_write_en),
1896 .mbi_ict_read_en(mb0_ict_read_en),
1897 .mbi_icd_write_en(mb0_icd_write_en),
1898 .mbi_icd_read_en(mb0_icd_read_en),
1899 .mbi_icv_write_en(mb0_icv_write_en),
1900 .mbi_icv_read_en(mb0_icv_read_en),
1901 .mbi_itb_write_en(mb0_itb_write_en),
1902 .mbi_itb_read_en(mb0_itb_read_en),
1903 .mbi_addr(mb0_addr[8:0]),
1904 .mbi_wdata(mb0_write_data[7:0]),
1905 .mbi_cmpsel(mb0_cmpsel[2:0]),
1906 .exu_address0_e(exu_address0_e_rep01[47:0]),
1907 .exu_address1_e(exu_address1_e_rep01[47:0]),
1908 .tlu_trap_pc_0_valid(tlu_trap_pc_0_valid),
1909 .tlu_trap_pc_1_valid(tlu_trap_pc_1_valid),
1910 .tlu_trap_pc_0(tlu_trap_pc_0[47:0]),
1911 .tlu_trap_pc_1(tlu_trap_pc_1[47:0]),
1912 .tlu_npc_w(tlu_npc_w[47:2]),
1913 .in_rngl_cdbus ( lsu_rngl_cdbus[64:0]),
1914 .ifu_rngl_cdbus ( ifu_rngl_cdbus[64:0] ),
1915 .cmu_instr_v({cmu_inst3_v, cmu_inst2_v, cmu_inst1_v, cmu_inst0_v}),
1916 .efu_spc_fuse_data(efu_spc_fuse_data_buf),
1917 .efu_spc_fuse_ixfer_en(efu_spc_fuse_ixfer_en_buf),
1918 .efu_spc_fuse_iclr(efu_spc_fuse_iclr_buf),
1919 .spc_efu_fuse_ixfer_en(spc_efu_fuse_ixfer_en_buf),
1920 .spc_efu_fuse_idata(spc_efu_fuse_idata_buf),
1921 .spc_core_running_status(tlu_core_running_status[7:0]),
1922 .mbi_cambist_run(mbi_cambist_run),
1923 .mbi_cambist_shift(mbi_cambist_shift),
1924 .mbi_dis_clr_ubit(mbi_dis_clr_ubit),
1925 .mbi_init_to_zero(mbi_init_to_zero),
1926 .mbi_itb_cam_en_pre(mbi_itb_cam_en_pre),
1927 .mbi_repl_write(mbi_repl_write),
1928 .mbi_itb_demap_en(mbi_itb_demap_en),
1929 .mbi_demap_type(mbi_demap_type[1:0]),
1930 .ftu_mbi_tlb_data_cmp(ftu_mbi_tlb_data_cmp),
1931 .ftu_mbi_tlb_cam_hit(ftu_mbi_tlb_cam_hit),
1932 .ftu_mbi_tlb_cam_mhit(ftu_mbi_tlb_cam_mhit),
1933 .ftu_mbi_tlb_ctxt0_hit(ftu_mbi_tlb_ctxt0_hit),
1934 .ftu_mbi_tlb_valid(ftu_mbi_tlb_valid),
1935 .ftu_mbi_tlb_used(ftu_mbi_tlb_used),
1936 .lsu_asi_error_inject(lsu_asi_error_inject[31:28]),
1937 .lsu_ifu_direct_map(lsu_ifu_direct_map),
1938 .ftu_mbi_ict_fail(ftu_mbi_ict_fail),
1939 .ftu_mbi_icd_fail(ftu_mbi_icd_fail),
1940 .ftu_mbi_itb_fail(ftu_mbi_itb_fail),
1941 .ftu_mbi_icv_fail(ftu_mbi_icv_fail),
1942 .tlu_retry(tlu_retry[1:0]),
1943 .tlu_ceter_pscce(tlu_ceter_pscce[7:0]),
1944 .tlu_ifu_hpstate_hpriv(tlu_ifu_hpstate_hpriv[7:0]),
1945 .tlu_ifu_pstate_priv(tlu_ifu_pstate_priv[7:0]),
1946 .tlu_pstate_am(tlu_pstate_am[7:0]),
1947 .tlu_ifu_invalidate(tlu_ifu_invalidate[1:0]),
1948 .cmu_fill_paddr(cmu_fill_paddr[39:5]),
1949 .cmu_inval_ack(cmu_inval_ack[7:0]),
1950 .cmu_l2_err(cmu_l2_err[1:0]),
1951 .cmu_l2miss(cmu_l2miss),
1952 .tlu_cerer_ittp(tlu_cerer_ittp),
1953 .tlu_cerer_itdp(tlu_cerer_itdp),
1954 .tlu_cerer_ittm(tlu_cerer_ittm),
1955 .tlu_cerer_icl2c(tlu_cerer_icl2c),
1956 .tlu_cerer_icl2u(tlu_cerer_icl2u),
1957 .tlu_cerer_icl2nd(tlu_cerer_icl2nd),
1958 .tlu_cerer_icvp(tlu_cerer_icvp),
1959 .tlu_cerer_ictp(tlu_cerer_ictp),
1960 .tlu_cerer_ictm(tlu_cerer_ictm),
1961 .cmu_icache_invalidate(cmu_icache_invalidate),
1962 .cmu_evic_invalidate(cmu_evic_invalidate),
1963 .cmu_icache_invalidate_way(cmu_icache_invalidate_way[2:0]),
1964 .cmu_icache_inv_way1(cmu_icache_inv_way1[2:0]),
1965 .cmu_icache_invalidate_index(cmu_icache_invalidate_index[10:5]),
1966 .dec_load_flush_w(dec_load_flush_w[1:0]),
1967 .dec_tid0_d(dec_tid0_d[1:0]),
1968 .dec_tid1_d(dec_tid1_d[1:0]),
1969 .dec_br_taken_e(dec_br_taken_e[1:0]),
1970 .dec_valid_e(dec_valid_e[1:0]),
1971 .tlu_trap_0_tid(tlu_trap_0_tid[1:0]),
1972 .tlu_trap_1_tid(tlu_trap_1_tid[1:0]),
1973 .tlu_flush_ifu(tlu_flush_ifu[7:0]),
1974 .tlu_itlb_reload(tlu_itlb_reload[1:0]),
1975 .tlu_itlb_bypass(tlu_itlb_bypass[7:0]),
1976 .tlu_tl_gt_0(tlu_tl_gt_0[7:0]),
1977 .ibu_empty(ibu_empty[7:0]),
1978 .ibu_room_4ormore(ibu_room_4ormore[7:0]),
1979 .cmu_null_st(cmu_null_st[7:0]),
1980 .cmu_dupmiss_st(cmu_dupmiss_st[7:0]),
1981 .cmu_rst_dupmiss(cmu_rst_dupmiss[7:0]),
1982 .cmu_any_un_cacheable(cmu_any_un_cacheable),
1983 .cmu_any_data_ready(cmu_any_data_ready),
1984 .cmu_thr0_data_ready(cmu_thr0_data_ready),
1985 .cmu_thr1_data_ready(cmu_thr1_data_ready),
1986 .cmu_thr2_data_ready(cmu_thr2_data_ready),
1987 .cmu_thr3_data_ready(cmu_thr3_data_ready),
1988 .cmu_thr4_data_ready(cmu_thr4_data_ready),
1989 .cmu_thr5_data_ready(cmu_thr5_data_ready),
1990 .cmu_thr6_data_ready(cmu_thr6_data_ready),
1991 .cmu_thr7_data_ready(cmu_thr7_data_ready),
1992 .cmu_fill_inst0(cmu_fill_inst0[32:0]),
1993 .cmu_fill_inst1(cmu_fill_inst1[32:0]),
1994 .cmu_fill_inst2(cmu_fill_inst2[32:0]),
1995 .cmu_fill_inst3(cmu_fill_inst3[32:0]),
1996 .lsu_ic_enable(lsu_ic_enable[7:0]),
1997 .lsu_ifu_no_miss(lsu_ifu_no_miss[7:0]),
1998 .lsu_ifu_ctxt_data(lsu_ifu_ctxt_data[12:0]),
1999 .lsu_ifu_tid_w(lsu_ifu_tid_w[2:0]),
2000 .lsu_ifu_wr_p0ctxt(lsu_ifu_wr_p0ctxt),
2001 .lsu_ifu_wr_p1ctxt(lsu_ifu_wr_p1ctxt),
2002 .lsu_ifu_wr_pid(lsu_ifu_wr_pid),
2003 .lsu_immu_enable(lsu_immu_enable[7:0]),
2004 .lsu_ifu_ftu_pmen(lsu_ifu_ftu_pmen),
2005 .lsu_ic_pmen(lsu_ic_pmen),
2006 .cmu_fill_wrway(cmu_fill_wrway[2:0]),
2007 .cmu_ic_data(cmu_ic_data[263:0]),
2008 .mmu_index(mmu_index[6:0]),
2009 .ftu_buffer_wr_en_f(ftu_buffer_wr_en_f[7:0]),
2010 .ftu_rep_way(ftu_rep_way[2:0]),
2011 .ftu_paddr(ftu_paddr[39:0]),
2012 .ftu_instr_0_c(ftu_instr_0_c[32:0]),
2013 .ftu_instr_1_c(ftu_instr_1_c[32:0]),
2014 .ftu_instr_2_c(ftu_instr_2_c[32:0]),
2015 .ftu_instr_3_c(ftu_instr_3_c[32:0]),
2016 .ftu_exception_valid_c(ftu_exception_valid_c),
2017 .ftu_instr_exceptions_c(ftu_instr_exceptions_c[4:0]),
2018 .ftu_instr_valid_c(ftu_instr_valid_c[3:0]),
2019 .ftu_fetch_thr_c(ftu_fetch_thr_c[7:0]),
2020 .ftu_curr_fetch_thr_f(ftu_curr_fetch_thr_f[7:0]),
2021 .ftu_ifu_quiesce(ftu_ifu_quiesce[7:0]),
2022 .ifu_ibuffer_write_c(ifu_ibuffer_write_c[7:0]),
2023 .ftu_ic_no_err_c(ftu_ic_no_err_c),
2024 .ftu_bus_0_is_first(ftu_bus_0_is_first),
2025 .ftu_bus_1_is_first(ftu_bus_1_is_first),
2026 .ftu_bus_2_is_first(ftu_bus_2_is_first),
2027 .ftu_bus_3_is_first(ftu_bus_3_is_first),
2028 .ftu_instr_sf_valid_c(ftu_instr_sf_valid_c),
2029 .ftu_excp_way_d(ftu_excp_way_d[2:0]),
2030 .ftu_excp_tid_d(ftu_excp_tid_d[2:0]),
2031 .ftu_excp_way_valid_d(ftu_excp_way_valid_d),
2032 .ftu_thrx_un_cacheable(ftu_thrx_un_cacheable),
2033 .ftu_agc_thr0_cmiss_c(ftu_agc_thr0_cmiss_c),
2034 .ftu_agc_thr1_cmiss_c(ftu_agc_thr1_cmiss_c),
2035 .ftu_agc_thr2_cmiss_c(ftu_agc_thr2_cmiss_c),
2036 .ftu_agc_thr3_cmiss_c(ftu_agc_thr3_cmiss_c),
2037 .ftu_agc_thr4_cmiss_c(ftu_agc_thr4_cmiss_c),
2038 .ftu_agc_thr5_cmiss_c(ftu_agc_thr5_cmiss_c),
2039 .ftu_agc_thr6_cmiss_c(ftu_agc_thr6_cmiss_c),
2040 .ftu_agc_thr7_cmiss_c(ftu_agc_thr7_cmiss_c),
2041 .ftu_thr0_inv_req_c(ftu_thr0_inv_req_c),
2042 .ftu_thr1_inv_req_c(ftu_thr1_inv_req_c),
2043 .ftu_thr2_inv_req_c(ftu_thr2_inv_req_c),
2044 .ftu_thr3_inv_req_c(ftu_thr3_inv_req_c),
2045 .ftu_thr4_inv_req_c(ftu_thr4_inv_req_c),
2046 .ftu_thr5_inv_req_c(ftu_thr5_inv_req_c),
2047 .ftu_thr6_inv_req_c(ftu_thr6_inv_req_c),
2048 .ftu_thr7_inv_req_c(ftu_thr7_inv_req_c),
2049 .ftu_ibu_redirect_bf(ftu_ibu_redirect_bf[7:0]),
2050 .ftu_thr0_redirect_bf(ftu_thr0_redirect_bf),
2051 .ftu_thr1_redirect_bf(ftu_thr1_redirect_bf),
2052 .ftu_thr2_redirect_bf(ftu_thr2_redirect_bf),
2053 .ftu_thr3_redirect_bf(ftu_thr3_redirect_bf),
2054 .ftu_thr4_redirect_bf(ftu_thr4_redirect_bf),
2055 .ftu_thr5_redirect_bf(ftu_thr5_redirect_bf),
2056 .ftu_thr6_redirect_bf(ftu_thr6_redirect_bf),
2057 .ftu_thr7_redirect_bf(ftu_thr7_redirect_bf),
2058 .ic_dmo_rd_data(ic_dmo_rd_data[32:0]),
2059 .slow_cmp_sync_en(slow_cmp_sync_en),
2060 .cmp_slow_sync_en(cmp_slow_sync_en)
2061);
2062
2063
2064
2065ifu_cmu ifu_cmu (
2066 .scan_in(ifu_cmu_scanin),
2067 .scan_out(ifu_cmu_scanout),
2068 .l15_spc_cpkt (lsu_cpx_cpkt[17:0]),
2069 .l15_spc_data1 (lsu_cpx_data[127:0]),
2070 .l15_ifu_valid (lsu_cpx_valid),
2071 .l2clk(l2clk),
2072 .tcu_pce_ov(pce_ov_bl),
2073 .tcu_scan_en(lb_scan_en_bl),
2074 .spc_aclk(spc_aclk_bl),
2075 .spc_bclk(spc_bclk_bl),
2076 .const_cpuid(const_cpuid[2:0]),
2077 .lsu_ifu_cmu_pmen(lsu_ifu_cmu_pmen),
2078 .ftu_paddr(ftu_paddr[39:0]),
2079 .ftu_rep_way(ftu_rep_way[2:0]),
2080 .ftu_thrx_un_cacheable(ftu_thrx_un_cacheable),
2081 .ftu_curr_fetch_thr_f(ftu_curr_fetch_thr_f[7:0]),
2082 .ftu_agc_thr0_cmiss_c(ftu_agc_thr0_cmiss_c),
2083 .ftu_agc_thr1_cmiss_c(ftu_agc_thr1_cmiss_c),
2084 .ftu_agc_thr2_cmiss_c(ftu_agc_thr2_cmiss_c),
2085 .ftu_agc_thr3_cmiss_c(ftu_agc_thr3_cmiss_c),
2086 .ftu_agc_thr4_cmiss_c(ftu_agc_thr4_cmiss_c),
2087 .ftu_agc_thr5_cmiss_c(ftu_agc_thr5_cmiss_c),
2088 .ftu_agc_thr6_cmiss_c(ftu_agc_thr6_cmiss_c),
2089 .ftu_agc_thr7_cmiss_c(ftu_agc_thr7_cmiss_c),
2090 .ftu_thr0_inv_req_c(ftu_thr0_inv_req_c),
2091 .ftu_thr1_inv_req_c(ftu_thr1_inv_req_c),
2092 .ftu_thr2_inv_req_c(ftu_thr2_inv_req_c),
2093 .ftu_thr3_inv_req_c(ftu_thr3_inv_req_c),
2094 .ftu_thr4_inv_req_c(ftu_thr4_inv_req_c),
2095 .ftu_thr5_inv_req_c(ftu_thr5_inv_req_c),
2096 .ftu_thr6_inv_req_c(ftu_thr6_inv_req_c),
2097 .ftu_thr7_inv_req_c(ftu_thr7_inv_req_c),
2098 .ftu_thr0_redirect_bf(ftu_thr0_redirect_bf),
2099 .ftu_thr1_redirect_bf(ftu_thr1_redirect_bf),
2100 .ftu_thr2_redirect_bf(ftu_thr2_redirect_bf),
2101 .ftu_thr3_redirect_bf(ftu_thr3_redirect_bf),
2102 .ftu_thr4_redirect_bf(ftu_thr4_redirect_bf),
2103 .ftu_thr5_redirect_bf(ftu_thr5_redirect_bf),
2104 .ftu_thr6_redirect_bf(ftu_thr6_redirect_bf),
2105 .ftu_thr7_redirect_bf(ftu_thr7_redirect_bf),
2106 .lsu_ifu_ld_index(lsu_ifu_ld_index[10:5]),
2107 .l15_ifu_grant(l15_ifu_grant),
2108 .gkt_ifu_legal(gkt_ifu_legal[3:0]),
2109 .gkt_ifu_flip_parity(gkt_ifu_flip_parity[3:0]),
2110 .cmu_l2miss(cmu_l2miss),
2111 .cmu_any_data_ready(cmu_any_data_ready),
2112 .cmu_thr0_data_ready(cmu_thr0_data_ready),
2113 .cmu_thr1_data_ready(cmu_thr1_data_ready),
2114 .cmu_thr2_data_ready(cmu_thr2_data_ready),
2115 .cmu_thr3_data_ready(cmu_thr3_data_ready),
2116 .cmu_thr4_data_ready(cmu_thr4_data_ready),
2117 .cmu_thr5_data_ready(cmu_thr5_data_ready),
2118 .cmu_thr6_data_ready(cmu_thr6_data_ready),
2119 .cmu_thr7_data_ready(cmu_thr7_data_ready),
2120 .cmu_any_un_cacheable(cmu_any_un_cacheable),
2121 .cmu_null_st(cmu_null_st[7:0]),
2122 .cmu_dupmiss_st(cmu_dupmiss_st[7:0]),
2123 .cmu_rst_dupmiss(cmu_rst_dupmiss[7:0]),
2124 .cmu_inst0_v(cmu_inst0_v),
2125 .cmu_inst1_v(cmu_inst1_v),
2126 .cmu_inst2_v(cmu_inst2_v),
2127 .cmu_inst3_v(cmu_inst3_v),
2128 .cmu_fill_wrway(cmu_fill_wrway[2:0]),
2129 .cmu_fill_paddr(cmu_fill_paddr[39:0]),
2130 .cmu_fill_inst0(cmu_fill_inst0[32:0]),
2131 .cmu_fill_inst1(cmu_fill_inst1[32:0]),
2132 .cmu_fill_inst2(cmu_fill_inst2[32:0]),
2133 .cmu_fill_inst3(cmu_fill_inst3[32:0]),
2134 .cmu_ic_data(cmu_ic_data[263:0]),
2135 .cmu_icache_invalidate(cmu_icache_invalidate),
2136 .cmu_icache_invalidate_way(cmu_icache_invalidate_way[2:0]),
2137 .cmu_icache_invalidate_index(cmu_icache_invalidate_index[10:5]),
2138 .cmu_icache_inv_way1(cmu_icache_inv_way1[2:0]),
2139 .cmu_evic_invalidate(cmu_evic_invalidate),
2140 .cmu_inval_ack(cmu_inval_ack[7:0]),
2141 .cmu_l2_err(cmu_l2_err[1:0]),
2142 .ifu_l15_valid(ifu_l15_valid),
2143 .ifu_l15_cpkt(ifu_l15_cpkt[7:0]),
2144 .ifu_l15_addr(ifu_l15_addr[39:0]),
2145 .ifu_lsu_if_vld(ifu_lsu_if_vld),
2146 .ifu_lsu_if_tid(ifu_lsu_if_tid[2:0]),
2147 .ifu_lsu_if_addr(ifu_lsu_if_addr[10:5])
2148);
2149
2150
2151
2152dec dec (
2153 .scan_in(dec_scanin),
2154 .scan_out(dec_scanout),
2155 .l2clk(l2clk),
2156 .tcu_pce_ov(pce_ov_bl),
2157 .tcu_scan_en(lb_scan_en_bl),
2158 .spc_aclk(spc_aclk_bl),
2159 .spc_bclk(spc_bclk_bl),
2160 .tlu_dtlb_reload_stall (mmu_dtlb_reload_stall),
2161 .power_throttle(power_throttle_buf[2:0]),
2162 .spc_core_running_status(tlu_core_running_status[7:0]),
2163 .fgu_ecc_asi_stall(lsu_frf_read_pending),
2164 .lb_lbist_running(lb_lbist_running),
2165 .lsu_dec_pmen(lsu_dec_pmen),
2166 .lsu_exu_pmen(lsu_exu_pmen),
2167 .exu_test_tid0(exu_test_tid0[1:0]),
2168 .exu_test_addr0(exu_test_addr0[4:0]),
2169 .exu_test_valid0(exu_test_valid0),
2170 .exu_test_tid1(exu_test_tid1[1:0]),
2171 .exu_test_addr1(exu_test_addr1[4:0]),
2172 .exu_test_valid1(exu_test_valid1),
2173 .tlu_cerer_icdp(tlu_cerer_icdp),
2174 .tlu_dec_pstate_pef(tlu_dec_pstate_pef[7:0]),
2175 .fgu_fprs_fef(fgu_fprs_fef[7:0]),
2176 .tlu_dec_hpstate_hpriv(tlu_dec_hpstate_hpriv[7:0]),
2177 .tlu_dec_pstate_priv(tlu_dec_pstate_priv[7:0]),
2178 .tlu_pstate_am(tlu_pstate_am[7:0]),
2179 .tlu_window_block(tlu_window_block[1:0]),
2180 .exu0_window_block(exu0_window_block),
2181 .exu1_window_block(exu1_window_block),
2182 .lsu_cpq_stall(lsu_cpq_stall),
2183 .ifu_buf0_inst0(ifu_buf0_inst0[32:0]),
2184 .ifu_buf0_inst1(ifu_buf0_inst1[32:0]),
2185 .ifu_buf0_inst2(ifu_buf0_inst2[32:0]),
2186 .ifu_buf0_inst3(ifu_buf0_inst3[32:0]),
2187 .ifu_buf0_inst4(ifu_buf0_inst4[32:0]),
2188 .ifu_buf0_inst5(ifu_buf0_inst5[32:0]),
2189 .ifu_buf0_inst6(ifu_buf0_inst6[32:0]),
2190 .ifu_buf0_inst7(ifu_buf0_inst7[32:0]),
2191 .ifu_buf0_excp0(ifu_buf0_excp0[4:0]),
2192 .ifu_buf0_excp1(ifu_buf0_excp1[4:0]),
2193 .ifu_buf0_excp2(ifu_buf0_excp2[4:0]),
2194 .ifu_buf0_excp3(ifu_buf0_excp3[4:0]),
2195 .ifu_buf0_excp4(ifu_buf0_excp4[4:0]),
2196 .ifu_buf0_excp5(ifu_buf0_excp5[4:0]),
2197 .ifu_buf0_excp6(ifu_buf0_excp6[4:0]),
2198 .ifu_buf0_excp7(ifu_buf0_excp7[4:0]),
2199 .tlu_flush_ifu(tlu_flush_ifu[7:0]),
2200 .pku_load_flush_w(pku_load_flush_w[7:0]),
2201 .pku_inst_cnt_brtaken00(pku_inst_cnt_brtaken00[1:0]),
2202 .pku_inst_cnt_brtaken01(pku_inst_cnt_brtaken01[1:0]),
2203 .pku_inst_cnt_brtaken02(pku_inst_cnt_brtaken02[1:0]),
2204 .pku_inst_cnt_brtaken03(pku_inst_cnt_brtaken03[1:0]),
2205 .pku_inst_cnt_brtaken04(pku_inst_cnt_brtaken04[1:0]),
2206 .pku_inst_cnt_brtaken05(pku_inst_cnt_brtaken05[1:0]),
2207 .pku_inst_cnt_brtaken06(pku_inst_cnt_brtaken06[1:0]),
2208 .pku_inst_cnt_brtaken07(pku_inst_cnt_brtaken07[1:0]),
2209 .pku_inst_cnt_brtaken10(pku_inst_cnt_brtaken10[1:0]),
2210 .pku_inst_cnt_brtaken11(pku_inst_cnt_brtaken11[1:0]),
2211 .pku_inst_cnt_brtaken12(pku_inst_cnt_brtaken12[1:0]),
2212 .pku_inst_cnt_brtaken13(pku_inst_cnt_brtaken13[1:0]),
2213 .pku_inst_cnt_brtaken14(pku_inst_cnt_brtaken14[1:0]),
2214 .pku_inst_cnt_brtaken15(pku_inst_cnt_brtaken15[1:0]),
2215 .pku_inst_cnt_brtaken16(pku_inst_cnt_brtaken16[1:0]),
2216 .pku_inst_cnt_brtaken17(pku_inst_cnt_brtaken17[1:0]),
2217 .pku_base_pick_p(pku_base_pick_p[7:0]),
2218 .pku_raw_pick0_p(pku_raw_pick0_p[3:0]),
2219 .pku_raw_pick1_p(pku_raw_pick1_p[7:4]),
2220 .pku_annul_ds_dcti_brtaken0_e(pku_annul_ds_dcti_brtaken0_e[7:0]),
2221 .pku_annul_ds_dcti_brtaken1_e(pku_annul_ds_dcti_brtaken1_e[7:0]),
2222 .pku_valid_e(pku_valid_e[7:0]),
2223 .pku_ds_e(pku_ds_e[7:0]),
2224 .pku_lsu_p(pku_lsu_p[7:0]),
2225 .pku_fgu_p(pku_fgu_p[7:0]),
2226 .pku_pdist_p(pku_pdist_p[7:0]),
2227 .pku_twocycle_p(pku_twocycle_p[7:0]),
2228 .pku_idest_p(pku_idest_p[7:0]),
2229 .pku_fdest_p(pku_fdest_p[7:0]),
2230 .pku_fsrc_rd_p(pku_fsrc_rd_p[7:0]),
2231 .pku_isrc_rs1_p(pku_isrc_rs1_p[7:0]),
2232 .pku_isrc_rs2_p(pku_isrc_rs2_p[7:0]),
2233 .pku_isrc_rd_p(pku_isrc_rd_p[7:0]),
2234 .pku_flush_f1(pku_flush_f1[7:0]),
2235 .pku_flush_f2(pku_flush_f2[7:0]),
2236 .pku_flush_lm(pku_flush_lm[7:0]),
2237 .pku_flush_lb(pku_flush_lb[7:0]),
2238 .pku_flush_m(pku_flush_m[7:0]),
2239 .pku_flush_b(pku_flush_b[7:0]),
2240 .spu_mult_request(spu_mult_request),
2241 .lsu_block_store_stall(lsu_block_store_stall),
2242 .lsu_block_store_rd(lsu_block_store_rd[4:3]),
2243 .lsu_block_store_tid(lsu_block_store_tid[2:0]),
2244 .exu0_oddwin_b(exu0_oddwin_b[3:0]),
2245 .exu1_oddwin_b(exu1_oddwin_b[3:0]),
2246 .fgu_idiv_stall(fgu_idiv_stall[1:0]),
2247 .fgu_fdiv_stall(fgu_fdiv_stall),
2248 .dec_br_taken_e1(dec_br_taken_e1[1:0]),
2249 .del_pick_d(del_pick_d[7:0]),
2250 .dec_inst0_rd_d(dec_inst0_rd_d[4:0]),
2251 .dec_inst1_rd_d(dec_inst1_rd_d[4:0]),
2252 .dec_rs1_addr0_e(dec_rs1_addr0_e),
2253 .dec_rs1_addr1_e(dec_rs1_addr1_e),
2254 .dec_inst0_d(dec_inst0_d[32:0]),
2255 .dec_inst1_d(dec_inst1_d[32:0]),
2256 .dec_decode0_d(dec_decode0_d),
2257 .dec_decode1_d(dec_decode1_d),
2258 .dec_valid0_d(dec_valid0_d),
2259 .dec_valid1_d(dec_valid1_d),
2260 .dec_true_valid_e(dec_true_valid_e[1:0]),
2261 .dec_tid0_d(dec_tid0_d[1:0]),
2262 .dec_tid1_d(dec_tid1_d[1:0]),
2263 .dec_tid0_p(dec_tid0_p[1:0]),
2264 .dec_tid1_p(dec_tid1_p[1:0]),
2265 .dec_raw_pick_p(dec_raw_pick_p[7:0]),
2266 .dec_inst0_rs1_p(dec_inst0_rs1_p[4:0]),
2267 .dec_inst0_rs2_p(dec_inst0_rs2_p[4:0]),
2268 .dec_inst0_rs3_p(dec_inst0_rs3_p[4:0]),
2269 .dec_inst0_rs1_vld_p(dec_inst0_rs1_vld_p),
2270 .dec_inst0_rs2_vld_p(dec_inst0_rs2_vld_p),
2271 .dec_inst0_rs3_vld_p(dec_inst0_rs3_vld_p),
2272 .dec_inst1_rs1_p(dec_inst1_rs1_p[4:0]),
2273 .dec_inst1_rs2_p(dec_inst1_rs2_p[4:0]),
2274 .dec_inst1_rs3_p(dec_inst1_rs3_p[4:0]),
2275 .dec_inst1_rs1_vld_p(dec_inst1_rs1_vld_p),
2276 .dec_inst1_rs2_vld_p(dec_inst1_rs2_vld_p),
2277 .dec_inst1_rs3_vld_p(dec_inst1_rs3_vld_p),
2278 .dec_frf_r1_addr_d(dec_frf_r1_addr_d[4:0]),
2279 .dec_frf_r2_addr_d(dec_frf_r2_addr_d[4:0]),
2280 .dec_frf_r1_vld_d(dec_frf_r1_vld_d),
2281 .dec_frf_r2_vld_d(dec_frf_r2_vld_d),
2282 .dec_frf_r1_32b_d(dec_frf_r1_32b_d),
2283 .dec_frf_r2_32b_d(dec_frf_r2_32b_d),
2284 .dec_frf_r1_odd32b_d(dec_frf_r1_odd32b_d),
2285 .dec_frf_r2_odd32b_d(dec_frf_r2_odd32b_d),
2286 .dec_frf_w_addr_d(dec_frf_w_addr_d[4:0]),
2287 .dec_frf_w_vld_d(dec_frf_w_vld_d),
2288 .dec_frf_w_32b_d(dec_frf_w_32b_d),
2289 .dec_frf_w_odd32b_d(dec_frf_w_odd32b_d),
2290 .dec_exu_src_vld_d(dec_exu_src_vld_d),
2291 .dec_irf_w_addr_d(dec_irf_w_addr_d[4:0]),
2292 .dec_frf_store_d(dec_frf_store_d),
2293 .dec_fsr_store_d(dec_fsr_store_d),
2294 .dec_fgu_op3_d(dec_fgu_op3_d[5:0]),
2295 .dec_fgu_opf_d(dec_fgu_opf_d[7:0]),
2296 .dec_fgu_decode_d(dec_fgu_decode_d),
2297 .dec_fgu_tid_d(dec_fgu_tid_d[2:0]),
2298 .dec_flush_f1(dec_flush_f1),
2299 .dec_flush_f2(dec_flush_f2),
2300 .dec_flush_lm(dec_flush_lm),
2301 .dec_flush_lb(dec_flush_lb),
2302 .dec_flush_m(dec_flush_m[1:0]),
2303 .dec_flush_b(dec_flush_b[1:0]),
2304 .dec_spu_grant_d(dec_spu_grant_d),
2305 .dec_spu_grant_fgu_d(dec_spu_grant_fgu_d),
2306 .dec_block_store_b(dec_block_store_b[7:0]),
2307 .dec_load_flush_w(dec_load_flush_w[1:0]),
2308 .dec_exc0_m(dec_exc0_m[4:0]),
2309 .dec_exc1_m(dec_exc1_m[4:0]),
2310 .dec_inst0_cnt(dec_inst0_cnt[1:0]),
2311 .dec_inst1_cnt(dec_inst1_cnt[1:0]),
2312 .dec_tid0_m(dec_tid0_m[1:0]),
2313 .dec_tid1_m(dec_tid1_m[1:0]),
2314 .dec_inst_valid_m(dec_inst_valid_m[1:0]),
2315 .dec_lsu_inst_m(dec_lsu_inst_m[1:0]),
2316 .dec_fgu_inst_m(dec_fgu_inst_m[1:0]),
2317 .dec_cti_inst_m(dec_cti_inst_m[1:0]),
2318 .dec_illegal_inst_m(dec_illegal_inst_m[1:0]),
2319 .dec_icache_perr_m(dec_icache_perr_m[1:0]),
2320 .dec_priv_exc_m(dec_priv_exc_m[1:0]),
2321 .dec_hpriv_exc_m(dec_hpriv_exc_m[1:0]),
2322 .dec_fpdisable_exc_m(dec_fpdisable_exc_m[1:0]),
2323 .dec_br_taken_m(dec_br_taken_m[1:0]),
2324 .dec_done_inst_m(dec_done_inst_m[1:0]),
2325 .dec_retry_inst_m(dec_retry_inst_m[1:0]),
2326 .dec_sir_inst_m(dec_sir_inst_m[1:0]),
2327 .dec_annul_ds_m(dec_annul_ds_m[1:0]),
2328 .dec_ds_m(dec_ds_m[1:0]),
2329 .dec_fgu_sel_e(dec_fgu_sel_e[1:0]),
2330 .dec_fgu_sel_m(dec_fgu_sel_m[1:0]),
2331 .dec_lsu_sel0_e(dec_lsu_sel0_e),
2332 .dec_lsu_sel1_e(dec_lsu_sel1_e),
2333 .dec_lsu_sel0_lower_e(dec_lsu_sel0_lower_e),
2334 .dec_lsu_sel1_lower_e(dec_lsu_sel1_lower_e),
2335 .dec_lsu_sel0_upper_e(dec_lsu_sel0_upper_e),
2336 .dec_lsu_sel1_upper_e(dec_lsu_sel1_upper_e),
2337 .dec_rs1_addr0_upper_e(dec_rs1_addr0_upper_e),
2338 .dec_rs1_addr1_upper_e(dec_rs1_addr1_upper_e),
2339 .dec_ld_inst_e(dec_ld_inst_e),
2340 .dec_st_inst_e(dec_st_inst_e),
2341 .dec_fsr_ldst_e(dec_fsr_ldst_e),
2342 .dec_fpldst_inst_e(dec_fpldst_inst_e),
2343 .dec_ldst_dbl_e(dec_ldst_dbl_e),
2344 .dec_pref_inst_e(dec_pref_inst_e),
2345 .dec_flush_inst_e(dec_flush_inst_e),
2346 .dec_memstbar_inst_e(dec_memstbar_inst_e),
2347 .dec_ldst_sz_e(dec_ldst_sz_e[1:0]),
2348 .dec_frf_r2_addr_e(dec_frf_r2_addr_e[4:3]),
2349 .dec_sr_inst_e(dec_sr_inst_e),
2350 .dec_pr_inst_e(dec_pr_inst_e),
2351 .dec_hpr_inst_e(dec_hpr_inst_e),
2352 .dec_casa_inst_e(dec_casa_inst_e),
2353 .dec_ldstub_inst_e(dec_ldstub_inst_e),
2354 .dec_swap_inst_e(dec_swap_inst_e),
2355 .dec_altspace_d(dec_altspace_d),
2356 .dec_sign_ext_e(dec_sign_ext_e),
2357 .dec_sraddr_e(dec_sraddr_e[4:0]),
2358 .dec_imm_asi_vld_d(dec_imm_asi_vld_d),
2359 .dec_imm_asi_d(dec_imm_asi_d[7:0]),
2360 .dec_lsu_tid0_d(dec_lsu_tid0_d[1:0]),
2361 .dec_lsu_tid1_d(dec_lsu_tid1_d[1:0]),
2362 .dec_lsu_tg_d(dec_lsu_tg_d),
2363 .dec_lsu_rd_e(dec_lsu_rd_e[4:0]),
2364 .dec_ld_inst_d(dec_ld_inst_d),
2365 .dec_instr0_type_d(dec_instr0_type_d[9:0]),
2366 .dec_instr1_type_d(dec_instr1_type_d[9:0]),
2367 .dec_valid_e(dec_valid_e[1:0]),
2368 .dec_pmu_valid_e(dec_pmu_valid_e[1:0]),
2369 .dec_fgu_valid_e(dec_fgu_valid_e),
2370 .dec_exu_clken(dec_exu_clken[1:0]),
2371 .dec_lsu_sel0_d(dec_lsu_sel0_d),
2372 .dec_ierr_d(dec_ierr_d[1:0]),
2373 .dec_block_store_stall(dec_block_store_stall[7:0])
2374);
2375
2376
2377
2378pku pku (
2379 .scan_in(pku_scanin),
2380 .scan_out(pku_scanout),
2381 .l2clk(l2clk),
2382 .tcu_pce_ov(pce_ov_bl),
2383 .tcu_scan_en(lb_scan_en_bl),
2384 .tcu_do_mode(msf0_do_mode),
2385 .spc_aclk(spc_aclk_bl),
2386 .spc_bclk(spc_bclk_bl),
2387 .dec_br_taken_e(dec_br_taken_e1[1:0]),
2388 .lsu_spec_enable(tlu_spec_enable[7:0]),
2389 .spc_core_running_status(tlu_core_running_status[7:0]),
2390 .tlu_halted(tlu_halted[7:0]),
2391 .dec_block_store_stall(dec_block_store_stall[7:0]),
2392 .dec_ierr_d(dec_ierr_d[1:0]),
2393 .lsu_pku_pmen(lsu_pku_pmen),
2394 .tlu_retry_state(tlu_retry_state[7:0]),
2395 .tlu_flush_ifu(tlu_flush_ifu[7:0]),
2396 .dec_true_valid_e(dec_true_valid_e[1:0]),
2397 .dec_decode0_d(dec_decode0_d),
2398 .dec_decode1_d(dec_decode1_d),
2399 .dec_valid0_d(dec_valid0_d),
2400 .dec_valid1_d(dec_valid1_d),
2401 .lsu_sync(lsu_sync[7:0]),
2402 .lsu_complete(lsu_complete[7:0]),
2403 .fgu_divide_completion(fgu_divide_completion[7:0]),
2404 .ifu_ibuffer_write_c(ifu_ibuffer_write_c[7:0]),
2405 .lsu_stb_alloc(lsu_stb_alloc[7:0]),
2406 .lsu_stb_dealloc(lsu_stb_dealloc[7:0]),
2407 .lsu_block_store_kill(lsu_block_store_kill[7:0]),
2408 .ifu_buf0_inst0(ifu_buf0_inst0[31:0]),
2409 .ifu_buf0_inst1(ifu_buf0_inst1[31:0]),
2410 .ifu_buf0_inst2(ifu_buf0_inst2[31:0]),
2411 .ifu_buf0_inst3(ifu_buf0_inst3[31:0]),
2412 .ifu_buf0_inst4(ifu_buf0_inst4[31:0]),
2413 .ifu_buf0_inst5(ifu_buf0_inst5[31:0]),
2414 .ifu_buf0_inst6(ifu_buf0_inst6[31:0]),
2415 .ifu_buf0_inst7(ifu_buf0_inst7[31:0]),
2416 .ifu_buf0_valid_p(ifu_buf0_valid_p[7:0]),
2417 .ifu_upper_buffer_valid_p(ifu_upper_buffer_valid_p[7:0]),
2418 .pku_raw_pick0_p(pku_raw_pick0_p[3:0]),
2419 .pku_raw_pick1_p(pku_raw_pick1_p[7:4]),
2420 .pku_base_pick_p(pku_base_pick_p[7:0]),
2421 .pku_pick_p(pku_pick_p[7:0]),
2422 .pku_lsu_p(pku_lsu_p[7:0]),
2423 .pku_fgu_p(pku_fgu_p[7:0]),
2424 .pku_pdist_p(pku_pdist_p[7:0]),
2425 .pku_twocycle_p(pku_twocycle_p[7:0]),
2426 .pku_idest_p(pku_idest_p[7:0]),
2427 .pku_fdest_p(pku_fdest_p[7:0]),
2428 .pku_fsrc_rd_p(pku_fsrc_rd_p[7:0]),
2429 .pku_isrc_rs1_p(pku_isrc_rs1_p[7:0]),
2430 .pku_isrc_rs2_p(pku_isrc_rs2_p[7:0]),
2431 .pku_isrc_rd_p(pku_isrc_rd_p[7:0]),
2432 .pku_valid_e(pku_valid_e[7:0]),
2433 .pku_annul_ds_dcti_brtaken0_e(pku_annul_ds_dcti_brtaken0_e[7:0]),
2434 .pku_annul_ds_dcti_brtaken1_e(pku_annul_ds_dcti_brtaken1_e[7:0]),
2435 .pku_flush_f1(pku_flush_f1[7:0]),
2436 .pku_flush_f2(pku_flush_f2[7:0]),
2437 .pku_flush_lb(pku_flush_lb[7:0]),
2438 .pku_flush_lm(pku_flush_lm[7:0]),
2439 .pku_flush_m(pku_flush_m[7:0]),
2440 .pku_flush_b(pku_flush_b[7:0]),
2441 .pku_load_flush_w(pku_load_flush_w[7:0]),
2442 .pku_ds_e(pku_ds_e[7:0]),
2443 .pku_flush_upper_buffer(pku_flush_upper_buffer[7:0]),
2444 .pku_flush_buffer0(pku_flush_buffer0[7:0]),
2445 .pku_quiesce(pku_quiesce[7:0]),
2446 .pku_inst_cnt_brtaken00(pku_inst_cnt_brtaken00[1:0]),
2447 .pku_inst_cnt_brtaken01(pku_inst_cnt_brtaken01[1:0]),
2448 .pku_inst_cnt_brtaken02(pku_inst_cnt_brtaken02[1:0]),
2449 .pku_inst_cnt_brtaken03(pku_inst_cnt_brtaken03[1:0]),
2450 .pku_inst_cnt_brtaken04(pku_inst_cnt_brtaken04[1:0]),
2451 .pku_inst_cnt_brtaken05(pku_inst_cnt_brtaken05[1:0]),
2452 .pku_inst_cnt_brtaken06(pku_inst_cnt_brtaken06[1:0]),
2453 .pku_inst_cnt_brtaken07(pku_inst_cnt_brtaken07[1:0]),
2454 .pku_inst_cnt_brtaken10(pku_inst_cnt_brtaken10[1:0]),
2455 .pku_inst_cnt_brtaken11(pku_inst_cnt_brtaken11[1:0]),
2456 .pku_inst_cnt_brtaken12(pku_inst_cnt_brtaken12[1:0]),
2457 .pku_inst_cnt_brtaken13(pku_inst_cnt_brtaken13[1:0]),
2458 .pku_inst_cnt_brtaken14(pku_inst_cnt_brtaken14[1:0]),
2459 .pku_inst_cnt_brtaken15(pku_inst_cnt_brtaken15[1:0]),
2460 .pku_inst_cnt_brtaken16(pku_inst_cnt_brtaken16[1:0]),
2461 .pku_inst_cnt_brtaken17(pku_inst_cnt_brtaken17[1:0])
2462);
2463
2464
2465
2466exu exu0 (
2467 .scan_in(exu0_scanin),
2468 .scan_out(exu0_scanout),
2469 .wmr_scan_in(wmr_protect_scanin),
2470 .wmr_scan_out(exu0_wmr_scanout),
2471 .l2clk (l2clk ),
2472 .tcu_dectest (tcu_dectest_buf ),
2473 .tcu_muxtest (tcu_muxtest_buf ),
2474 .tcu_array_wr_inhibit (clk_array_wr_inhibit ),
2475 .tcu_pce_ov (pce_ov_tr ),
2476 .tcu_scan_en (lb_scan_en_tr ),
2477 .spc_aclk (spc_aclk_tr ),
2478 .spc_aclk_wmr (spc_aclk_wmr_tr ),
2479 .spc_bclk (spc_bclk_tr ),
2480 .tcu_se_scancollar_in (lb_se_sc_in ),
2481 .in_rngl_cdbus (ifu_rngl_cdbus[64:0] ),
2482 .dec_pick_d (del_pick_d[3:0] ),
2483 .dec_tid_p (dec_tid0_p[1:0] ),
2484 .dec_inst_rs1_vld_p (dec_inst0_rs1_vld_p ),
2485 .dec_inst_rs2_vld_p (dec_inst0_rs2_vld_p ),
2486 .dec_inst_rs3_vld_p (dec_inst0_rs3_vld_p ),
2487 .dec_inst_rs1_p (dec_inst0_rs1_p[4:0] ),
2488 .dec_inst_rs2_p (dec_inst0_rs2_p[4:0] ),
2489 .dec_inst_rs3_p (dec_inst0_rs3_p[4:0] ),
2490 .dec_exu_clken (dec_exu_clken[0] ),
2491 .dec_inst_d (dec_inst0_d[31:0] ),
2492 .dec_inst_rd_d (dec_inst0_rd_d[4:0] ),
2493 .dec_decode_d (dec_decode0_d ),
2494 .dec_valid_e (dec_valid_e[0] ),
2495 .dec_flush_m (dec_flush_m[0] ),
2496 .dec_flush_b (dec_flush_b[0] ),
2497 .dec_thread_group (1'b0 ),
2498 .fgu_exu_result_fx5 (fgu_exu_result_fx5_rep1[63:0] ),
2499 .fgu_exu_w_vld_fx5 (fgu_exu_w_vld_fx5[0] ),
2500 .tlu_pc_d (tlu_pc_0_d[47:2] ),
2501 .tlu_itlb_bypass_e (tlu_itlb_bypass_e[0] ),
2502 .tlu_flush_exu_b (tlu_flush_exu_b[0] ),
2503 .tlu_ccr (tlu_ccr_0[7:0] ),
2504 .tlu_cwp (tlu_cwp_0[2:0] ),
2505 .tlu_ccr_cwp_valid (tlu_ccr_cwp_0_valid ),
2506 .tlu_ccr_cwp_tid (tlu_ccr_cwp_0_tid[1:0] ),
2507 .tlu_pstate_am (tlu_pstate_am[3:0] ),
2508 .tlu_gl_thr0 (tlu_gl0[1:0] ),
2509 .tlu_gl_thr1 (tlu_gl1[1:0] ),
2510 .tlu_gl_thr2 (tlu_gl2[1:0] ),
2511 .tlu_gl_thr3 (tlu_gl3[1:0] ),
2512 .tlu_cerer_irf (tlu_cerer_irf ),
2513 .tlu_ceter_pscce (tlu_ceter_pscce[3:0] ),
2514 .mbi_run (mb2_run ),
2515 .mbi_addr (mb2_addr[9:0] ),
2516 .mbi_write_data_p1 (mb2_write_data_p1[7:0] ),
2517 .mbi_irf_write_en (mb2_irf_write_en ),
2518 .mbi_irf_read_en (mb2_irf_read_en ),
2519 .mbi_irf_save_en (mb2_irf_save_en ),
2520 .mbi_irf_restore_en (mb2_irf_restore_en ),
2521 .spc_core_running_status(tlu_core_running_status[3:0] ),
2522 .lsu_asi_error_inject_b31(lsu_asi_error_inject[31] ),
2523 .lsu_asi_error_inject_b25(lsu_asi_error_inject[25] ),
2524 .lsu_exu_ld_data_b (lsu_exu_ld_data_b_rep00[63:0] ),
2525 .exu_rngl_cdbus (exu0_rngl_cdbus[64:0] ),
2526 .exu_address_e (exu_address0_e[47:0] ),
2527 .exu_mdp_mux_sel_e (exu0_mdp_mux_sel_e[5:0] ),
2528 .exu_ms_icc_e (exu_ms_icc0_e ),
2529 .exu_rs1_data_e (exu_rs1_data0_e[63:0] ),
2530 .exu_rs2_data_e (exu_rs2_data0_e[63:0] ),
2531 .exu_store_data_e (exu_store_data0_e[63:0] ),
2532 .exu_oddwin_b (exu0_oddwin_b[3:0] ),
2533 .exu_cecc_m (exu_cecc_m[0] ),
2534 .exu_uecc_m (exu_uecc_m[0] ),
2535 .exu_misalign_m (exu_misalign_m[0] ),
2536 .exu_oor_va_m (exu_oor_va_m[0] ),
2537 .exu_tcc_m (exu_tcc_m[0] ),
2538 .exu_tof_m (exu_tof_m[0] ),
2539 .exu_trap_number_b (exu0_trap_number_b[7:0] ),
2540 .exu_spill_b (exu_spill_b[0] ),
2541 .exu_fill_m (exu_fill_m[0] ),
2542 .exu_normal_b (exu_normal_b[0] ),
2543 .exu_cleanwin_b (exu_cleanwin_b[0] ),
2544 .exu_wstate_b (exu0_wstate_b[2:0] ),
2545 .exu_ccr0 (exu0_ccr0[7:0] ),
2546 .exu_ccr1 (exu0_ccr1[7:0] ),
2547 .exu_ccr2 (exu0_ccr2[7:0] ),
2548 .exu_ccr3 (exu0_ccr3[7:0] ),
2549 .exu_ecc_m (exu_ecc_m[0] ),
2550 .exu_ecc_check_m (exu0_ecc_check_m[7:0] ),
2551 .exu_ecc_addr_m (exu0_ecc_addr_m[4:0] ),
2552 .exu_gsr_data_m (exu_gsr_data0_m[31:0] ),
2553 .exu_gsr_vld_m (exu_gsr_vld0_m[1:0] ),
2554 .exu_cmov_true_m (exu_cmov_true_m[0] ),
2555 .exu_br_taken_e (dec_br_taken_e[0] ),
2556 .exu_br_taken_e1 (dec_br_taken_e1[0] ),
2557 .exu_ibp_m (exu_ibp_m[0] ),
2558 .exu_lsu_va_error_m (exu_lsu_va_error_m[0] ),
2559 .exu_y_data_e (exu_y_data0_e[31:0] ),
2560 .exu_cwp_thr0 (exu0_cwp0[2:0] ),
2561 .exu_cwp_thr1 (exu0_cwp1[2:0] ),
2562 .exu_cwp_thr2 (exu0_cwp2[2:0] ),
2563 .exu_cwp_thr3 (exu0_cwp3[2:0] ),
2564 .exu_window_block_m (exu0_window_block ),
2565 .exu_tlu_window_block (exu_tlu_window_block[0] ),
2566 .exu_ecc_winop_flush_m (exu_ecc_winop_flush_m[0] ),
2567 .exu_test_valid (exu_test_valid0 ),
2568 .exu_test_tid (exu_test_tid0[1:0] ),
2569 .exu_test_addr (exu_test_addr0[4:0] ),
2570 .exu_mbi_irf_fail_ (exu0_mbi_irf_fail_[1:0] ),
2571 .fgu_exu_icc_fx5(fgu_exu_icc_fx5[3:0]),
2572 .fgu_exu_xcc_fx5(fgu_exu_xcc_fx5[1:0]),
2573 .fgu_exu_cc_vld_fx5(fgu_exu_cc_vld_fx5),
2574 .fgu_result_tid_fx5(fgu_result_tid_fx5[1:0]),
2575 .fgu_irf_w_addr_fx5(fgu_irf_w_addr_fx5[4:0]),
2576 .lsu_exu_ld_b(lsu_exu_ld_b),
2577 .lsu_exu_rd_m(lsu_exu_rd_m[4:0]),
2578 .lsu_exu_tid_m(lsu_exu_tid_m[2:0]),
2579 .lsu_exu_ld_vld_w(lsu_exu_ld_vld_w),
2580 .lsu_asi_error_inject(lsu_asi_error_inject[7:0]),
2581 .lsu_exu_pmen(lsu_exu_pmen),
2582 .lsu_asi_clken(lsu_asi_clken),
2583 .fgu_fld_fcc_fx3(fgu_fld_fcc_fx3[7:0]),
2584 .lsu_fgu_fld_tid_b(lsu_fgu_fld_tid_b[2:0]),
2585 .fgu_fld_fcc_vld_fx3(fgu_fld_fcc_vld_fx3[1:0]),
2586 .lsu_fgu_fld_vld_w(lsu_fgu_fld_vld_w),
2587 .fgu_cmp_fcc_fx3(fgu_cmp_fcc_fx3[1:0]),
2588 .fgu_cmp_fcc_tid_fx2(fgu_cmp_fcc_tid_fx2[2:0]),
2589 .fgu_cmp_fcc_vld_fx3(fgu_cmp_fcc_vld_fx3[3:0])
2590);
2591
2592
2593
2594
2595exu exu1 (
2596 .scan_in(exu1_scanin),
2597 .scan_out(exu1_scanout),
2598 .wmr_scan_in(exu0_wmr_scanout),
2599 .wmr_scan_out(exu1_wmr_scanout),
2600 .l2clk(l2clk),
2601 .tcu_dectest (tcu_dectest_buf ),
2602 .tcu_muxtest (tcu_muxtest_buf ),
2603 .tcu_array_wr_inhibit (clk_array_wr_inhibit ),
2604 .tcu_pce_ov (pce_ov_tr ),
2605 .tcu_scan_en (lb_scan_en_tr ),
2606 .spc_aclk (spc_aclk_tr ),
2607 .spc_aclk_wmr (spc_aclk_wmr_tr ),
2608 .spc_bclk (spc_bclk_tr ),
2609 .tcu_se_scancollar_in (lb_se_sc_in ),
2610 .in_rngl_cdbus (fgu_rngl_cdbus[64:0] ),
2611 .dec_pick_d (del_pick_d[7:4] ),
2612 .dec_tid_p (dec_tid1_p[1:0] ),
2613 .dec_inst_rs1_vld_p (dec_inst1_rs1_vld_p ),
2614 .dec_inst_rs2_vld_p (dec_inst1_rs2_vld_p ),
2615 .dec_inst_rs3_vld_p (dec_inst1_rs3_vld_p ),
2616 .dec_inst_rs1_p (dec_inst1_rs1_p[4:0] ),
2617 .dec_inst_rs2_p (dec_inst1_rs2_p[4:0] ),
2618 .dec_inst_rs3_p (dec_inst1_rs3_p[4:0] ),
2619 .dec_exu_clken (dec_exu_clken[1] ),
2620 .dec_inst_d (dec_inst1_d[31:0] ),
2621 .dec_inst_rd_d (dec_inst1_rd_d[4:0] ),
2622 .dec_decode_d (dec_decode1_d ),
2623 .dec_valid_e (dec_valid_e[1] ),
2624 .dec_flush_m (dec_flush_m[1] ),
2625 .dec_flush_b (dec_flush_b[1] ),
2626 .dec_thread_group (1'b1 ),
2627 .fgu_exu_result_fx5 (fgu_exu_result_fx5_rep0[63:0] ),
2628 .fgu_exu_w_vld_fx5 (fgu_exu_w_vld_fx5[1] ),
2629 .tlu_pc_d (tlu_pc_1_d[47:2] ),
2630 .tlu_itlb_bypass_e (tlu_itlb_bypass_e[1] ),
2631 .tlu_flush_exu_b (tlu_flush_exu_b[1] ),
2632 .tlu_ccr (tlu_ccr_1[7:0] ),
2633 .tlu_cwp (tlu_cwp_1[2:0] ),
2634 .tlu_ccr_cwp_valid (tlu_ccr_cwp_1_valid ),
2635 .tlu_ccr_cwp_tid (tlu_ccr_cwp_1_tid[1:0] ),
2636 .tlu_pstate_am (tlu_pstate_am[7:4] ),
2637 .tlu_gl_thr0 (tlu_gl4[1:0] ),
2638 .tlu_gl_thr1 (tlu_gl5[1:0] ),
2639 .tlu_gl_thr2 (tlu_gl6[1:0] ),
2640 .tlu_gl_thr3 (tlu_gl7[1:0] ),
2641 .tlu_cerer_irf (tlu_cerer_irf ),
2642 .tlu_ceter_pscce (tlu_ceter_pscce[7:4] ),
2643 .mbi_run (mb2_run ),
2644 .mbi_addr (mb2_addr[9:0] ),
2645 .mbi_write_data_p1 (mb2_write_data_p1[7:0] ),
2646 .mbi_irf_write_en (mb2_irf_write_en ),
2647 .mbi_irf_read_en (mb2_irf_read_en ),
2648 .mbi_irf_save_en (mb2_irf_save_en ),
2649 .mbi_irf_restore_en (mb2_irf_restore_en ),
2650 .spc_core_running_status(tlu_core_running_status[7:4] ),
2651 .lsu_asi_error_inject_b31(lsu_asi_error_inject[31] ),
2652 .lsu_asi_error_inject_b25(lsu_asi_error_inject[25] ),
2653 .lsu_exu_ld_data_b (lsu_exu_ld_data_b_rep01[63:0] ),
2654 .exu_rngl_cdbus (exu1_rngl_cdbus[64:0] ),
2655 .exu_address_e (exu_address1_e[47:0] ),
2656 .exu_mdp_mux_sel_e (exu1_mdp_mux_sel_e[5:0] ),
2657 .exu_ms_icc_e (exu_ms_icc1_e ),
2658 .exu_rs1_data_e (exu_rs1_data1_e[63:0] ),
2659 .exu_rs2_data_e (exu_rs2_data1_e[63:0] ),
2660 .exu_store_data_e (exu_store_data1_e[63:0] ),
2661 .exu_oddwin_b (exu1_oddwin_b[3:0] ),
2662 .exu_cecc_m (exu_cecc_m[1] ),
2663 .exu_uecc_m (exu_uecc_m[1] ),
2664 .exu_misalign_m (exu_misalign_m[1] ),
2665 .exu_oor_va_m (exu_oor_va_m[1] ),
2666 .exu_tcc_m (exu_tcc_m[1] ),
2667 .exu_tof_m (exu_tof_m[1] ),
2668 .exu_trap_number_b (exu1_trap_number_b[7:0] ),
2669 .exu_spill_b (exu_spill_b[1] ),
2670 .exu_fill_m (exu_fill_m[1] ),
2671 .exu_normal_b (exu_normal_b[1] ),
2672 .exu_cleanwin_b (exu_cleanwin_b[1] ),
2673 .exu_wstate_b (exu1_wstate_b[2:0] ),
2674 .exu_ccr0 (exu1_ccr0[7:0] ),
2675 .exu_ccr1 (exu1_ccr1[7:0] ),
2676 .exu_ccr2 (exu1_ccr2[7:0] ),
2677 .exu_ccr3 (exu1_ccr3[7:0] ),
2678 .exu_ecc_m (exu_ecc_m[1] ),
2679 .exu_ecc_check_m (exu1_ecc_check_m[7:0] ),
2680 .exu_ecc_addr_m (exu1_ecc_addr_m[4:0] ),
2681 .exu_gsr_data_m (exu_gsr_data1_m[31:0] ),
2682 .exu_gsr_vld_m (exu_gsr_vld1_m[1:0] ),
2683 .exu_cmov_true_m (exu_cmov_true_m[1] ),
2684 .exu_br_taken_e (dec_br_taken_e[1] ),
2685 .exu_br_taken_e1 (dec_br_taken_e1[1] ),
2686 .exu_ibp_m (exu_ibp_m[1] ),
2687 .exu_lsu_va_error_m (exu_lsu_va_error_m[1] ),
2688 .exu_y_data_e (exu_y_data1_e[31:0] ),
2689 .exu_cwp_thr0 (exu1_cwp0[2:0] ),
2690 .exu_cwp_thr1 (exu1_cwp1[2:0] ),
2691 .exu_cwp_thr2 (exu1_cwp2[2:0] ),
2692 .exu_cwp_thr3 (exu1_cwp3[2:0] ),
2693 .exu_window_block_m (exu1_window_block ),
2694 .exu_tlu_window_block (exu_tlu_window_block[1] ),
2695 .exu_ecc_winop_flush_m (exu_ecc_winop_flush_m[1] ),
2696 .exu_test_valid (exu_test_valid1 ),
2697 .exu_test_tid (exu_test_tid1[1:0] ),
2698 .exu_test_addr (exu_test_addr1[4:0] ),
2699 .exu_mbi_irf_fail_ (exu1_mbi_irf_fail_[1:0] ),
2700 .fgu_exu_icc_fx5(fgu_exu_icc_fx5[3:0]),
2701 .fgu_exu_xcc_fx5(fgu_exu_xcc_fx5[1:0]),
2702 .fgu_exu_cc_vld_fx5(fgu_exu_cc_vld_fx5),
2703 .fgu_result_tid_fx5(fgu_result_tid_fx5[1:0]),
2704 .fgu_irf_w_addr_fx5(fgu_irf_w_addr_fx5[4:0]),
2705 .lsu_exu_ld_b(lsu_exu_ld_b),
2706 .lsu_exu_rd_m(lsu_exu_rd_m[4:0]),
2707 .lsu_exu_tid_m(lsu_exu_tid_m[2:0]),
2708 .lsu_exu_ld_vld_w(lsu_exu_ld_vld_w),
2709 .lsu_asi_error_inject(lsu_asi_error_inject[7:0]),
2710 .lsu_exu_pmen(lsu_exu_pmen),
2711 .lsu_asi_clken(lsu_asi_clken),
2712 .fgu_fld_fcc_fx3(fgu_fld_fcc_fx3[7:0]),
2713 .lsu_fgu_fld_tid_b(lsu_fgu_fld_tid_b[2:0]),
2714 .fgu_fld_fcc_vld_fx3(fgu_fld_fcc_vld_fx3[1:0]),
2715 .lsu_fgu_fld_vld_w(lsu_fgu_fld_vld_w),
2716 .fgu_cmp_fcc_fx3(fgu_cmp_fcc_fx3[1:0]),
2717 .fgu_cmp_fcc_tid_fx2(fgu_cmp_fcc_tid_fx2[2:0]),
2718 .fgu_cmp_fcc_vld_fx3(fgu_cmp_fcc_vld_fx3[3:0])
2719);
2720
2721
2722
2723// not sequential
2724exu_mdp_dp mdp (.tcu_dectest (tcu_dectest_buf ),
2725 .tcu_muxtest (tcu_muxtest_buf ),
2726 .dec_fgu_sel_e(dec_fgu_sel_e[1:0]),
2727 .dec_fgu_sel_m(dec_fgu_sel_m[1:0]),
2728 .dec_lsu_sel0_e(dec_lsu_sel0_e),
2729 .dec_lsu_sel1_e(dec_lsu_sel1_e),
2730 .dec_rs1_addr0_e(dec_rs1_addr0_e),
2731 .dec_rs1_addr1_e(dec_rs1_addr1_e),
2732 .dec_lsu_sel0_lower_e(dec_lsu_sel0_lower_e),
2733 .dec_lsu_sel1_lower_e(dec_lsu_sel1_lower_e),
2734 .dec_lsu_sel0_upper_e(dec_lsu_sel0_upper_e),
2735 .dec_lsu_sel1_upper_e(dec_lsu_sel1_upper_e),
2736 .dec_rs1_addr0_upper_e(dec_rs1_addr0_upper_e),
2737 .dec_rs1_addr1_upper_e(dec_rs1_addr1_upper_e),
2738 .exu0_mdp_mux_sel_e(exu0_mdp_mux_sel_e[5:0]),
2739 .exu1_mdp_mux_sel_e(exu1_mdp_mux_sel_e[5:0]),
2740 .exu_ms_icc0_e(exu_ms_icc0_e),
2741 .exu_ms_icc1_e(exu_ms_icc1_e),
2742 .exu_rs1_data0_e(exu_rs1_data0_e[63:0]),
2743 .exu_rs1_data1_e(exu_rs1_data1_e[63:0]),
2744 .exu_rs2_data0_e(exu_rs2_data0_e[63:0]),
2745 .exu_rs2_data1_e(exu_rs2_data1_e[63:0]),
2746 .exu_y_data0_e(exu_y_data0_e[31:0]),
2747 .exu_y_data1_e(exu_y_data1_e[31:0]),
2748 .exu_address0_e(exu_address0_e[47:0]),
2749 .exu_address1_e(exu_address1_e[47:0]),
2750 .exu_store_data0_e(exu_store_data0_e[63:0]),
2751 .exu_store_data1_e(exu_store_data1_e[63:0]),
2752 .exu_ecc_winop_flush_m(exu_ecc_winop_flush_m[1:0]),
2753 .exu_gsr_data0_m(exu_gsr_data0_m[31:0]),
2754 .exu_gsr_data1_m(exu_gsr_data1_m[31:0]),
2755 .exu_gsr_vld0_m(exu_gsr_vld0_m[1:0]),
2756 .exu_gsr_vld1_m(exu_gsr_vld1_m[1:0]),
2757 .exu_cmov_true_m(exu_cmov_true_m[1:0]),
2758 .lsu_exu_address_e(lsu_exu_address_e[47:13]),
2759 .lsu_sel_lsu_addr_e(lsu_sel_lsu_addr_e),
2760 .exu_fgu_rs1_e(exu_fgu_rs1_e[63:0]),
2761 .exu_fgu_rs2_e(exu_fgu_rs2_e[63:0]),
2762 .exu_fgu_gsr_m(exu_fgu_gsr_m[31:0]),
2763 .exu_fgu_gsr_vld_m(exu_fgu_gsr_vld_m[1:0]),
2764 .exu_fgu_flush_m(exu_fgu_flush_m),
2765 .exu_fgu_fmov_vld_m(exu_fgu_fmov_vld_m),
2766 .exu_lsu_address_e(exu_lsu_address_e[47:0]),
2767 .exu_lsu_store_data_e(exu_lsu_store_data_e[63:0]),
2768 .exu_lsu_rs2_e(exu_lsu_rs2_e[7:0])
2769);
2770
2771tlu tlu (
2772 .scan_in(tlu_scanin),
2773 .scan_out(tlu_scanout),
2774 .wmr_scan_in(ifu_ftu_wmr_scanout),
2775 .wmr_scan_out(tlu_wmr_scanout),
2776 .l2clk (l2clk ),
2777 .tcu_pce_ov (pce_ov_tl ),
2778 .tcu_scan_en (lb_scan_en_tl ),
2779 .spc_aclk (spc_aclk_tl ),
2780 .spc_aclk_wmr (spc_aclk_wmr_tl ),
2781 .spc_bclk (spc_bclk_tl ),
2782 .hver_mask_minor_rev (hver_mask_minor_rev_buf[3:0] ),
2783 .cmp_tick_enable (msf0_cmp_tick_enable ),
2784 .tcu_ss_mode (msf0_ss_mode ),
2785 .tcu_do_mode (msf0_do_mode ),
2786 .tcu_ss_request (msf0_ss_request ),
2787 .tcu_wmr_vec_mask (msf0_wmr_vec_mask ),
2788 .tcu_dectest (tcu_dectest_buf ),
2789 .tcu_muxtest (tcu_muxtest_buf ),
2790 .tcu_array_wr_inhibit (clk_array_wr_inhibit ),
2791 .tcu_se_scancollar_in (lb_se_sc_in ),
2792 .exu_address0_e (exu_address0_e_rep0 [47:0] ),
2793 .exu_address1_e (exu_address1_e_rep0 [47:0] ),
2794 .fgu_cecc_fx2 (fgu_cecc_fx2_rep1 ),
2795 .fgu_uecc_fx2 (fgu_uecc_fx2_rep1 ),
2796 .l15_spc_valid (l15_mmu_valid ),
2797 .l15_spc_cpkt (l15_spc_cpkt [17:0] ),
2798 .l15_spc_data1 (l15_spc_data1 [15:0] ),
2799 .mbi_tsa0_write_en (mb1_tsa0_write_en ),
2800 .mbi_tsa1_write_en (mb1_tsa1_write_en ),
2801 .mbi_tca_write_en (mb1_tca_write_en ),
2802 .mbi_addr (mb1_addr [4:0] ),
2803 .mbi_run (mb1_run ),
2804 .mbi_wdata (mb1_write_data [7:0] ),
2805 .mbi_tsa0_read_en (mb1_tsa0_read_en ),
2806 .mbi_tsa1_read_en (mb1_tsa1_read_en ),
2807 .mbi_tca_read_en (mb1_tca_read_en ),
2808 .mbi_tlu_cmpsel (mb1_cmpsel [3:0] ),
2809 .lsu_block_store_b (dec_block_store_b [7:0] ),
2810 .lsu_rngf_cdbus (lsu_rngf_cdbus [64:0] ),
2811 .lsu_va_b (lsu_mmu_va_b [47:0] ),
2812 .spu_pmu_ma_busy (spu_pmu_ma_busy [3] ),
2813 .spc_shscan_scan_out (spc_shscan_scan_out_buf ),
2814 .tcu_shscan_pce_ov (tcu_shscan_pce_ov_buf ),
2815 .tcu_shscan_clk_stop (msf0_shscan_clk_stop ),
2816 .tcu_shscan_aclk (tcu_shscan_aclk_buf ),
2817 .tcu_shscan_bclk (tcu_shscan_bclk_buf ),
2818 .tcu_shscan_scan_en (tcu_shscan_scan_en_buf ),
2819 .tcu_shscan_scan_in (tcu_shscan_scan_in_buf ),
2820 .tcu_shscanid (msf0_shscanid ),
2821 .tcu_core_running (msf0_core_running [7:0] ),
2822 .lb_scan_en_wmr(lb_scan_en_wmr),
2823 .lsu_asi_clken(lsu_asi_clken),
2824 .lsu_tlu_pmen(lsu_tlu_pmen),
2825 .ftu_ifu_quiesce(ftu_ifu_quiesce[7:0]),
2826 .pku_quiesce(pku_quiesce[7:0]),
2827 .ftu_excp_way_d(ftu_excp_way_d[2:0]),
2828 .ftu_excp_tid_d(ftu_excp_tid_d[2:0]),
2829 .ftu_excp_way_valid_d(ftu_excp_way_valid_d),
2830 .dec_inst0_cnt(dec_inst0_cnt[1:0]),
2831 .dec_inst1_cnt(dec_inst1_cnt[1:0]),
2832 .dec_raw_pick_p(dec_raw_pick_p[7:0]),
2833 .dec_tid0_m(dec_tid0_m[1:0]),
2834 .dec_tid1_m(dec_tid1_m[1:0]),
2835 .dec_inst_valid_m(dec_inst_valid_m[1:0]),
2836 .dec_lsu_inst_m(dec_lsu_inst_m[1:0]),
2837 .dec_fgu_inst_m(dec_fgu_inst_m[1:0]),
2838 .dec_illegal_inst_m(dec_illegal_inst_m[1:0]),
2839 .dec_exc0_m(dec_exc0_m[4:0]),
2840 .dec_exc1_m(dec_exc1_m[4:0]),
2841 .dec_done_inst_m(dec_done_inst_m[1:0]),
2842 .dec_retry_inst_m(dec_retry_inst_m[1:0]),
2843 .dec_sir_inst_m(dec_sir_inst_m[1:0]),
2844 .dec_hpriv_exc_m(dec_hpriv_exc_m[1:0]),
2845 .dec_priv_exc_m(dec_priv_exc_m[1:0]),
2846 .dec_fpdisable_exc_m(dec_fpdisable_exc_m[1:0]),
2847 .dec_br_taken_m(dec_br_taken_m[1:0]),
2848 .dec_annul_ds_m(dec_annul_ds_m[1:0]),
2849 .dec_ds_m(dec_ds_m[1:0]),
2850 .dec_icache_perr_m(dec_icache_perr_m[1:0]),
2851 .dec_cti_inst_m(dec_cti_inst_m[1:0]),
2852 .dec_flush_b(dec_flush_b[1:0]),
2853 .exu_ibp_m(exu_ibp_m[1:0]),
2854 .exu_tcc_m(exu_tcc_m[1:0]),
2855 .exu_tof_m(exu_tof_m[1:0]),
2856 .exu_cecc_m(exu_cecc_m[1:0]),
2857 .exu_uecc_m(exu_uecc_m[1:0]),
2858 .exu0_ecc_addr_m(exu0_ecc_addr_m[4:0]),
2859 .exu1_ecc_addr_m(exu1_ecc_addr_m[4:0]),
2860 .exu0_ecc_check_m(exu0_ecc_check_m[7:0]),
2861 .exu1_ecc_check_m(exu1_ecc_check_m[7:0]),
2862 .exu_oor_va_m(exu_oor_va_m[1:0]),
2863 .exu_misalign_m(exu_misalign_m[1:0]),
2864 .exu_spill_b(exu_spill_b[1:0]),
2865 .exu_fill_m(exu_fill_m[1:0]),
2866 .exu_normal_b(exu_normal_b[1:0]),
2867 .exu_cleanwin_b(exu_cleanwin_b[1:0]),
2868 .exu0_wstate_b(exu0_wstate_b[2:0]),
2869 .exu1_wstate_b(exu1_wstate_b[2:0]),
2870 .exu0_ccr0(exu0_ccr0[7:0]),
2871 .exu0_ccr1(exu0_ccr1[7:0]),
2872 .exu0_ccr2(exu0_ccr2[7:0]),
2873 .exu0_ccr3(exu0_ccr3[7:0]),
2874 .exu1_ccr0(exu1_ccr0[7:0]),
2875 .exu1_ccr1(exu1_ccr1[7:0]),
2876 .exu1_ccr2(exu1_ccr2[7:0]),
2877 .exu1_ccr3(exu1_ccr3[7:0]),
2878 .exu0_cwp0(exu0_cwp0[2:0]),
2879 .exu0_cwp1(exu0_cwp1[2:0]),
2880 .exu0_cwp2(exu0_cwp2[2:0]),
2881 .exu0_cwp3(exu0_cwp3[2:0]),
2882 .exu1_cwp0(exu1_cwp0[2:0]),
2883 .exu1_cwp1(exu1_cwp1[2:0]),
2884 .exu1_cwp2(exu1_cwp2[2:0]),
2885 .exu1_cwp3(exu1_cwp3[2:0]),
2886 .exu0_trap_number_b(exu0_trap_number_b[7:0]),
2887 .exu1_trap_number_b(exu1_trap_number_b[7:0]),
2888 .exu_tlu_window_block(exu_tlu_window_block[1:0]),
2889 .lsu_lddf_align_b(lsu_lddf_align_b),
2890 .lsu_stdf_align_b(lsu_stdf_align_b),
2891 .lsu_illegal_inst_b(lsu_illegal_inst_b),
2892 .lsu_daccess_prot_b(lsu_daccess_prot_b),
2893 .lsu_priv_action_b(lsu_priv_action_b),
2894 .lsu_va_watchpoint_b(lsu_va_watchpoint_b),
2895 .lsu_pa_watchpoint_b(lsu_pa_watchpoint_b),
2896 .lsu_align_b(lsu_align_b),
2897 .lsu_tlb_miss_b_(lsu_tlb_miss_b_),
2898 .lsu_dae_invalid_asi_b(lsu_dae_invalid_asi_b),
2899 .lsu_dae_nc_page_b(lsu_dae_nc_page_b),
2900 .lsu_dae_nfo_page_b(lsu_dae_nfo_page_b),
2901 .lsu_dae_priv_viol_b(lsu_dae_priv_viol_b),
2902 .lsu_dae_so_page(lsu_dae_so_page),
2903 .lsu_priv_action_g(lsu_priv_action_g),
2904 .lsu_tid_g(lsu_tid_g[2:0]),
2905 .lsu_trap_flush(lsu_trap_flush[7:0]),
2906 .lsu_tlb_bypass_b(lsu_tlb_bypass_b),
2907 .lsu_tlb_real_b(lsu_tlb_real_b),
2908 .lsu_sync_inst_b(lsu_sync_inst_b),
2909 .lsu_stb_empty(lsu_stb_empty[7:0]),
2910 .lsu_tlu_twocycle_m(lsu_tlu_twocycle_m),
2911 .lsu_dcmh_err_g(lsu_dcmh_err_g),
2912 .lsu_dcvp_err_g(lsu_dcvp_err_g),
2913 .lsu_dctp_err_g(lsu_dctp_err_g),
2914 .lsu_dcdp_err_g(lsu_dcdp_err_g),
2915 .lsu_dcl2c_err_g(lsu_dcl2c_err_g),
2916 .lsu_dcl2u_err_g(lsu_dcl2u_err_g),
2917 .lsu_dcl2nd_err_g(lsu_dcl2nd_err_g),
2918 .lsu_dcsoc_err_g(lsu_dcsoc_err_g),
2919 .lsu_dcerr_tid_g(lsu_dcerr_tid_g[2:0]),
2920 .lsu_dcerr_sfar_g(lsu_dcerr_sfar_g[8:0]),
2921 .lsu_sbdlc_err_g(lsu_sbdlc_err_g),
2922 .lsu_sbdlu_err_g(lsu_sbdlu_err_g),
2923 .lsu_sbdpc_err_g(lsu_sbdpc_err_g),
2924 .lsu_sbdpu_err_g(lsu_sbdpu_err_g),
2925 .lsu_sbapp_err_g(lsu_sbapp_err_g),
2926 .lsu_sbdiou_err_g(lsu_sbdiou_err_g),
2927 .lsu_stberr_tid_g(lsu_stberr_tid_g[2:0]),
2928 .lsu_stberr_index_g(lsu_stberr_index_g[2:0]),
2929 .lsu_stberr_priv_g(lsu_stberr_priv_g[1:0]),
2930 .lsu_stb_flush_g(lsu_stb_flush_g),
2931 .lsu_dttp_err_b(lsu_dttp_err_b),
2932 .lsu_dtdp_err_b(lsu_dtdp_err_b),
2933 .lsu_dtmh_err_b(lsu_dtmh_err_b),
2934 .lsu_perfmon_trap_b(lsu_perfmon_trap_b),
2935 .lsu_perfmon_trap_g(lsu_perfmon_trap_g),
2936 .lsu_ext_interrupt(lsu_ext_interrupt),
2937 .lsu_ext_int_type(lsu_ext_int_type[1:0]),
2938 .lsu_ext_int_vec(lsu_ext_int_vec[5:0]),
2939 .lsu_ext_int_tid(lsu_ext_int_tid[2:0]),
2940 .lsu_asi_error_inject(lsu_asi_error_inject[31:0]),
2941 .fgu_pdist_beat2_fx1(fgu_pdist_beat2_fx1),
2942 .fgu_predict_fx2(fgu_predict_fx2),
2943 .fgu_ecc_addr_fx2(fgu_ecc_addr_fx2[5:0]),
2944 .fgu_ecc_check_fx2(fgu_ecc_check_fx2[13:0]),
2945 .fgu_fpx_ieee_trap_fw(fgu_fpx_ieee_trap_fw),
2946 .fgu_fpd_ieee_trap_fw(fgu_fpd_ieee_trap_fw),
2947 .fgu_fpx_unfin_fw(fgu_fpx_unfin_fw),
2948 .fgu_fpx_trap_tid_fw(fgu_fpx_trap_tid_fw[2:0]),
2949 .fgu_fpd_unfin_fw(fgu_fpd_unfin_fw),
2950 .fgu_fpd_idiv0_trap_fw(fgu_fpd_idiv0_trap_fw),
2951 .fgu_fpd_trap_tid_fw(fgu_fpd_trap_tid_fw[2:0]),
2952 .mmu_hw_tw_enable(mmu_hw_tw_enable[7:0]),
2953 .mmu_write_itlb(mmu_write_itlb[7:0]),
2954 .mmu_reload_done(mmu_reload_done[7:0]),
2955 .mmu_i_unauth_access(mmu_i_unauth_access[7:0]),
2956 .mmu_i_tsb_miss(mmu_i_tsb_miss[7:0]),
2957 .mmu_d_tsb_miss(mmu_d_tsb_miss[7:0]),
2958 .mmu_i_tte_outofrange(mmu_i_tte_outofrange[7:0]),
2959 .mmu_d_tte_outofrange(mmu_d_tte_outofrange[7:0]),
2960 .mmu_itte_tag_data(mmu_itte_tag_data[47:0]),
2961 .mmu_asi_data(mmu_asi_data[64:0]),
2962 .mmu_asi_read(mmu_asi_read),
2963 .mmu_dae_req(mmu_dae_req),
2964 .mmu_dae_tid(mmu_dae_tid[2:0]),
2965 .mmu_asi_cecc(mmu_asi_cecc),
2966 .mmu_asi_uecc(mmu_asi_uecc),
2967 .mmu_asi_tid(mmu_asi_tid[2:0]),
2968 .mmu_asi_index(mmu_asi_index[10:0]),
2969 .mmu_asi_mra_not_sca(mmu_asi_mra_not_sca),
2970 .mmu_i_l2cerr(mmu_i_l2cerr[7:0]),
2971 .mmu_d_l2cerr(mmu_d_l2cerr[7:0]),
2972 .mmu_i_eccerr(mmu_i_eccerr[7:0]),
2973 .mmu_d_eccerr(mmu_d_eccerr[7:0]),
2974 .mmu_thr0_err_type(mmu_thr0_err_type[2:0]),
2975 .mmu_thr1_err_type(mmu_thr1_err_type[2:0]),
2976 .mmu_thr2_err_type(mmu_thr2_err_type[2:0]),
2977 .mmu_thr3_err_type(mmu_thr3_err_type[2:0]),
2978 .mmu_thr4_err_type(mmu_thr4_err_type[2:0]),
2979 .mmu_thr5_err_type(mmu_thr5_err_type[2:0]),
2980 .mmu_thr6_err_type(mmu_thr6_err_type[2:0]),
2981 .mmu_thr7_err_type(mmu_thr7_err_type[2:0]),
2982 .mmu_thr0_err_index(mmu_thr0_err_index[2:0]),
2983 .mmu_thr1_err_index(mmu_thr1_err_index[2:0]),
2984 .mmu_thr2_err_index(mmu_thr2_err_index[2:0]),
2985 .mmu_thr3_err_index(mmu_thr3_err_index[2:0]),
2986 .mmu_thr4_err_index(mmu_thr4_err_index[2:0]),
2987 .mmu_thr5_err_index(mmu_thr5_err_index[2:0]),
2988 .mmu_thr6_err_index(mmu_thr6_err_index[2:0]),
2989 .mmu_thr7_err_index(mmu_thr7_err_index[2:0]),
2990 .spu_tlu_cwq_busy(spu_tlu_cwq_busy),
2991 .spu_tlu_mamu_err_req(spu_tlu_mamu_err_req[10:0]),
2992 .spu_tlu_ma_int_req(spu_tlu_ma_int_req[4:0]),
2993 .spu_tlu_cwq_int_req(spu_tlu_cwq_int_req[3:0]),
2994 .spu_tlu_l2_error(spu_tlu_l2_error[5:0]),
2995 .pmu_tlu_trap_m(pmu_tlu_trap_m[7:0]),
2996 .pmu_tlu_debug_event(pmu_tlu_debug_event[7:0]),
2997 .tlu_core_running_status(tlu_core_running_status[7:0]),
2998 .tlu_ss_complete(tlu_ss_complete),
2999 .tlu_hardstop_request(tlu_hardstop_request),
3000 .tlu_softstop_request(tlu_softstop_request),
3001 .tlu_trigger_pulse(tlu_trigger_pulse),
3002 .tlu_dbg_instr_cmt_grp0(tlu_dbg_instr_cmt_grp0[1:0]),
3003 .tlu_dbg_instr_cmt_grp1(tlu_dbg_instr_cmt_grp1[1:0]),
3004 .tlu_flush_ifu(tlu_flush_ifu[7:0]),
3005 .tlu_window_block(tlu_window_block[1:0]),
3006 .tlu_retry_state(tlu_retry_state[7:0]),
3007 .tlu_halted(tlu_halted[7:0]),
3008 .tlu_pc_0_d(tlu_pc_0_d[47:2]),
3009 .tlu_pc_1_d(tlu_pc_1_d[47:2]),
3010 .tlu_flush_exu_b(tlu_flush_exu_b[1:0]),
3011 .tlu_ccr_0(tlu_ccr_0[7:0]),
3012 .tlu_ccr_1(tlu_ccr_1[7:0]),
3013 .tlu_cwp_0(tlu_cwp_0[2:0]),
3014 .tlu_cwp_1(tlu_cwp_1[2:0]),
3015 .tlu_ccr_cwp_0_valid(tlu_ccr_cwp_0_valid),
3016 .tlu_ccr_cwp_1_valid(tlu_ccr_cwp_1_valid),
3017 .tlu_ccr_cwp_0_tid(tlu_ccr_cwp_0_tid[1:0]),
3018 .tlu_ccr_cwp_1_tid(tlu_ccr_cwp_1_tid[1:0]),
3019 .tlu_gl0(tlu_gl0[1:0]),
3020 .tlu_gl1(tlu_gl1[1:0]),
3021 .tlu_gl2(tlu_gl2[1:0]),
3022 .tlu_gl3(tlu_gl3[1:0]),
3023 .tlu_gl4(tlu_gl4[1:0]),
3024 .tlu_gl5(tlu_gl5[1:0]),
3025 .tlu_gl6(tlu_gl6[1:0]),
3026 .tlu_gl7(tlu_gl7[1:0]),
3027 .tlu_itlb_bypass_e(tlu_itlb_bypass_e[1:0]),
3028 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3029 .tlu_flush_fgu_b(tlu_flush_fgu_b),
3030 .tlu_trap_pc_0(tlu_trap_pc_0[47:0]),
3031 .tlu_trap_pc_0_valid(tlu_trap_pc_0_valid),
3032 .tlu_trap_0_tid(tlu_trap_0_tid[1:0]),
3033 .tlu_trap_pc_1(tlu_trap_pc_1[47:0]),
3034 .tlu_trap_pc_1_valid(tlu_trap_pc_1_valid),
3035 .tlu_trap_1_tid(tlu_trap_1_tid[1:0]),
3036 .tlu_retry(tlu_retry[1:0]),
3037 .tlu_ifu_invalidate(tlu_ifu_invalidate[1:0]),
3038 .tlu_itlb_reload(tlu_itlb_reload[1:0]),
3039 .tlu_itlb_bypass(tlu_itlb_bypass[7:0]),
3040 .tlu_release_tte(tlu_release_tte[7:0]),
3041 .tlu_rngf_cdbus(tlu_rngf_cdbus[64:0]),
3042 .tlu_rngf_cdbus_error(tlu_rngf_cdbus_error),
3043 .tlu_asi_0(tlu_asi_0[7:0]),
3044 .tlu_asi_1(tlu_asi_1[7:0]),
3045 .tlu_asi_0_valid(tlu_asi_0_valid),
3046 .tlu_asi_1_valid(tlu_asi_1_valid),
3047 .tlu_asi_0_tid(tlu_asi_0_tid[1:0]),
3048 .tlu_asi_1_tid(tlu_asi_1_tid[1:0]),
3049 .tlu_tl_gt_0(tlu_tl_gt_0[7:0]),
3050 .tlu_lsu_clear_ctl_reg_(tlu_lsu_clear_ctl_reg_[7:0]),
3051 .tlu_load_i_tag_access_p(tlu_load_i_tag_access_p[7:0]),
3052 .tlu_load_i_tag_access_n(tlu_load_i_tag_access_n[7:0]),
3053 .tlu_load_d_tag_access(tlu_load_d_tag_access[7:0]),
3054 .tlu_load_d_tag_access_r(tlu_load_d_tag_access_r[7:0]),
3055 .tlu_npc_w(tlu_npc_w[47:2]),
3056 .tlu_pc_0_w(tlu_pc_0_w[47:13]),
3057 .tlu_pc_1_w(tlu_pc_1_w[47:13]),
3058 .tlu_iht_request(tlu_iht_request[7:0]),
3059 .tlu_dht_request(tlu_dht_request[7:0]),
3060 .tlu_mmu_tl_gt_0(tlu_mmu_tl_gt_0[7:0]),
3061 .tlu_flush_pmu_b(tlu_flush_pmu_b[1:0]),
3062 .tlu_flush_pmu_w(tlu_flush_pmu_w[1:0]),
3063 .tlu_pmu_trap_taken(tlu_pmu_trap_taken[7:0]),
3064 .tlu_pmu_trap_mask_e(tlu_pmu_trap_mask_e[1:0]),
3065 .tlu_lsu_hpstate_hpriv(tlu_lsu_hpstate_hpriv[7:0]),
3066 .tlu_lsu_pstate_priv(tlu_lsu_pstate_priv[7:0]),
3067 .tlu_ifu_hpstate_hpriv(tlu_ifu_hpstate_hpriv[7:0]),
3068 .tlu_ifu_pstate_priv(tlu_ifu_pstate_priv[7:0]),
3069 .tlu_pmu_hpstate_hpriv(tlu_pmu_hpstate_hpriv[7:0]),
3070 .tlu_pmu_pstate_priv(tlu_pmu_pstate_priv[7:0]),
3071 .tlu_dec_hpstate_hpriv(tlu_dec_hpstate_hpriv[7:0]),
3072 .tlu_dec_pstate_priv(tlu_dec_pstate_priv[7:0]),
3073 .tlu_dec_pstate_pef(tlu_dec_pstate_pef[7:0]),
3074 .tlu_pstate_cle(tlu_pstate_cle[7:0]),
3075 .tlu_pstate_am(tlu_pstate_am[7:0]),
3076 .tlu_cerer_ittp(tlu_cerer_ittp),
3077 .tlu_cerer_itdp(tlu_cerer_itdp),
3078 .tlu_cerer_ittm(tlu_cerer_ittm),
3079 .tlu_cerer_hwtwmu(tlu_cerer_hwtwmu),
3080 .tlu_cerer_hwtwl2(tlu_cerer_hwtwl2),
3081 .tlu_cerer_icl2c(tlu_cerer_icl2c),
3082 .tlu_cerer_icl2u(tlu_cerer_icl2u),
3083 .tlu_cerer_icl2nd(tlu_cerer_icl2nd),
3084 .tlu_cerer_irf(tlu_cerer_irf),
3085 .tlu_cerer_frf(tlu_cerer_frf),
3086 .tlu_cerer_dttp(tlu_cerer_dttp),
3087 .tlu_cerer_dttm(tlu_cerer_dttm),
3088 .tlu_cerer_dtdp(tlu_cerer_dtdp),
3089 .tlu_cerer_dcl2c(tlu_cerer_dcl2c),
3090 .tlu_cerer_dcl2u(tlu_cerer_dcl2u),
3091 .tlu_cerer_dcl2nd(tlu_cerer_dcl2nd),
3092 .tlu_cerer_sbdlc(tlu_cerer_sbdlc),
3093 .tlu_cerer_sbdlu(tlu_cerer_sbdlu),
3094 .tlu_cerer_mrau(tlu_cerer_mrau),
3095 .tlu_cerer_scac(tlu_cerer_scac),
3096 .tlu_cerer_scau(tlu_cerer_scau),
3097 .tlu_cerer_sbapp(tlu_cerer_sbapp),
3098 .tlu_cerer_l2c_socc(tlu_cerer_l2c_socc),
3099 .tlu_cerer_l2u_socu(tlu_cerer_l2u_socu),
3100 .tlu_cerer_icvp(tlu_cerer_icvp),
3101 .tlu_cerer_ictp(tlu_cerer_ictp),
3102 .tlu_cerer_ictm(tlu_cerer_ictm),
3103 .tlu_cerer_icdp(tlu_cerer_icdp),
3104 .tlu_cerer_dcvp(tlu_cerer_dcvp),
3105 .tlu_cerer_dctp(tlu_cerer_dctp),
3106 .tlu_cerer_dctm(tlu_cerer_dctm),
3107 .tlu_cerer_dcdp(tlu_cerer_dcdp),
3108 .tlu_cerer_sbdpc(tlu_cerer_sbdpc),
3109 .tlu_cerer_sbdpu(tlu_cerer_sbdpu),
3110 .tlu_cerer_mamu(tlu_cerer_mamu),
3111 .tlu_cerer_mal2c(tlu_cerer_mal2c),
3112 .tlu_cerer_mal2u(tlu_cerer_mal2u),
3113 .tlu_cerer_mal2nd(tlu_cerer_mal2nd),
3114 .tlu_cerer_cwql2c(tlu_cerer_cwql2c),
3115 .tlu_cerer_cwql2u(tlu_cerer_cwql2u),
3116 .tlu_cerer_cwql2nd(tlu_cerer_cwql2nd),
3117 .tlu_cerer_sbdiou(tlu_cerer_sbdiou),
3118 .tlu_ceter_pscce(tlu_ceter_pscce[7:0]),
3119 .tlu_tag_access_tid_0_b(tlu_tag_access_tid_0_b[1:0]),
3120 .tlu_i_tag_access_0_b(tlu_i_tag_access_0_b),
3121 .tlu_d_tag_access_0_b(tlu_d_tag_access_0_b),
3122 .tlu_tag_access_tid_1_b(tlu_tag_access_tid_1_b[1:0]),
3123 .tlu_i_tag_access_1_b(tlu_i_tag_access_1_b),
3124 .tlu_d_tag_access_1_b(tlu_d_tag_access_1_b),
3125 .tlu_mbi_tsa0_fail(tlu_mbi_tsa0_fail),
3126 .tlu_mbi_tsa1_fail(tlu_mbi_tsa1_fail),
3127 .tlu_mbi_tca_fail(tlu_mbi_tca_fail),
3128 .tlu_spec_enable(tlu_spec_enable[7:0])
3129);
3130
3131
3132
3133lsu lsu (
3134 // I/O flops tacked onto front of LSU chain
3135 .scan_in(msf0_scanout),
3136 .scan_out(lsu_scanout),
3137 .wmr_scan_in(fgu_wmr_scanout),
3138 .wmr_scan_out(lsu_wmr_scanout),
3139 .dmo_coresel(dmo_coresel_buff),
3140 .vnw_ary(vnw_ary1),
3141 .l2clk(l2clk),
3142 .tcu_array_wr_inhibit (clk_array_wr_inhibit),
3143 .dmo_dcmuxctl (dmo_dcmuxctl_buf ),
3144 .tcu_pce_ov (pce_ov_br ),
3145 .tcu_scan_en (lb_scan_en_br ),
3146 .spc_aclk (spc_aclk_br ),
3147 .spc_aclk_wmr (spc_aclk_wmr_br ),
3148 .spc_bclk (spc_bclk_br ),
3149 .tcu_se_scancollar_in (lb_se_sc_in ),
3150 .tcu_se_scancollar_out (lb_se_sc_out ),
3151 .fgu_lsu_fst_data_fx1 (fgu_lsu_fst_data_fx1[63:0]),
3152 .cpx_spc_data_cx (cpx_spc_data_cx_rep0[145:0] ),
3153 .rngl_lsu_cdbus (exu1_rngl_cdbus[64:0] ),
3154 .tlu_rngf_cdbus (tlu_rngf_cdbus[64:0] ),
3155 .tlu_tte (tlu_rngf_cdbus[54:0] ),
3156 .lbist_run (lb_lbist_running ),
3157 .mbi_addr (mb0_addr[8:0] ),
3158 .mbi_run (mb0_run ),
3159 .mbi_wdata (mb0_write_data[7:0] ),
3160 .mbi_cmpsel (mb0_cmpsel[1:0] ),
3161 .mbi_dca_read_en (mb0_dca_read_en ),
3162 .mbi_dca_write_en (mb0_dca_write_en ),
3163 .mbi_dta_read_en (mb0_dta_read_en ),
3164 .mbi_dta_write_en (mb0_dta_write_en ),
3165 .mbi_dva_read_en (mb0_dva_read_en ),
3166 .mbi_dva_write_en (mb0_dva_write_en ),
3167 .mbi_lru_read_en (mb0_lru_read_en ),
3168 .mbi_lru_write_en (mb0_lru_write_en ),
3169 .mbi_dtb_read_en (mb0_dtb_read_en ),
3170 .mbi_dtb_write_en (mb0_dtb_write_en ),
3171 .mbi_stb_cam_read_en (mb0_stb_cam_read_en ),
3172 .mbi_stb_cam_write_en (mb0_stb_cam_write_en ),
3173 .mbi_stb_ram_read_en (mb0_stb_ram_read_en ),
3174 .mbi_stb_ram_write_en (mb0_stb_ram_write_en ),
3175 .mbi_cpq_read_en (mb0_cpq_read_en ),
3176 .mbi_cpq_write_en (mb0_cpq_write_en ),
3177 .efu_spc_fuse_data (efu_spc_fuse_data_buf ),
3178 .efu_spc_fuse_dxfer_en (efu_spc_fuse_dxfer_en_buf),
3179 .efu_spc_fuse_dclr (efu_spc_fuse_dclr_buf ),
3180 .spc_efu_fuse_ddata (spc_efu_fuse_ddata_buf ),
3181 .spc_efu_fuse_dxfer_en (spc_efu_fuse_dxfer_en_buf),
3182 .lb_scan_en_wmr(lb_scan_en_wmr),
3183 .const_cpuid(const_cpuid[2:0]),
3184 .ifu_lsu_if_vld(ifu_lsu_if_vld),
3185 .ifu_lsu_if_tid(ifu_lsu_if_tid[2:0]),
3186 .ifu_lsu_if_addr(ifu_lsu_if_addr[10:5]),
3187 .lsu_ifu_ctxt_data(lsu_ifu_ctxt_data[12:0]),
3188 .lsu_ifu_tid_w(lsu_ifu_tid_w[2:0]),
3189 .lsu_ifu_wr_p0ctxt(lsu_ifu_wr_p0ctxt),
3190 .lsu_ifu_wr_p1ctxt(lsu_ifu_wr_p1ctxt),
3191 .lsu_ifu_wr_pid(lsu_ifu_wr_pid),
3192 .lsu_immu_enable(lsu_immu_enable[7:0]),
3193 .lsu_ic_enable(lsu_ic_enable[7:0]),
3194 .lsu_ifu_ld_index(lsu_ifu_ld_index[10:5]),
3195 .lsu_ifu_direct_map(lsu_ifu_direct_map),
3196 .lsu_ifu_no_miss(lsu_ifu_no_miss[7:0]),
3197 .lsu_cpx_data(lsu_cpx_data[127:0]),
3198 .lsu_cpx_cpkt(lsu_cpx_cpkt[17:0]),
3199 .lsu_cpx_valid(lsu_cpx_valid),
3200 .dec_lsu_tg_d(dec_lsu_tg_d),
3201 .dec_ld_inst_d(dec_ld_inst_d),
3202 .dec_ld_inst_e(dec_ld_inst_e),
3203 .dec_st_inst_e(dec_st_inst_e),
3204 .dec_fpldst_inst_e(dec_fpldst_inst_e),
3205 .dec_fsr_ldst_e(dec_fsr_ldst_e),
3206 .dec_ldst_dbl_e(dec_ldst_dbl_e),
3207 .dec_pref_inst_e(dec_pref_inst_e),
3208 .dec_flush_inst_e(dec_flush_inst_e),
3209 .dec_memstbar_inst_e(dec_memstbar_inst_e),
3210 .dec_sr_inst_e(dec_sr_inst_e),
3211 .dec_pr_inst_e(dec_pr_inst_e),
3212 .dec_hpr_inst_e(dec_hpr_inst_e),
3213 .dec_casa_inst_e(dec_casa_inst_e),
3214 .dec_ldstub_inst_e(dec_ldstub_inst_e),
3215 .dec_swap_inst_e(dec_swap_inst_e),
3216 .dec_altspace_d(dec_altspace_d),
3217 .dec_sign_ext_e(dec_sign_ext_e),
3218 .dec_ldst_sz_e(dec_ldst_sz_e[1:0]),
3219 .dec_lsu_rd_e(dec_lsu_rd_e[4:0]),
3220 .dec_sraddr_e(dec_sraddr_e[4:0]),
3221 .dec_imm_asi_vld_d(dec_imm_asi_vld_d),
3222 .dec_imm_asi_d(dec_imm_asi_d[7:0]),
3223 .dec_frf_r2_addr_e(dec_frf_r2_addr_e[4:3]),
3224 .dec_flush_lm(dec_flush_lm),
3225 .dec_flush_lb(dec_flush_lb),
3226 .dec_lsu_tid0_d(dec_lsu_tid0_d[1:0]),
3227 .dec_lsu_tid1_d(dec_lsu_tid1_d[1:0]),
3228 .lsu_block_store_stall(lsu_block_store_stall),
3229 .lsu_block_store_rd(lsu_block_store_rd[4:3]),
3230 .lsu_block_store_tid(lsu_block_store_tid[2:0]),
3231 .lsu_cpq_stall(lsu_cpq_stall),
3232 .lsu_sync(lsu_sync[7:0]),
3233 .lsu_complete(lsu_complete[7:0]),
3234 .lsu_stb_alloc(lsu_stb_alloc[7:0]),
3235 .lsu_stb_dealloc(lsu_stb_dealloc[7:0]),
3236 .lsu_block_store_kill(lsu_block_store_kill[7:0]),
3237 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3238 .tlu_pstate_cle(tlu_pstate_cle[7:0]),
3239 .tlu_asi_0(tlu_asi_0[7:0]),
3240 .tlu_asi_1(tlu_asi_1[7:0]),
3241 .tlu_asi_0_tid(tlu_asi_0_tid[1:0]),
3242 .tlu_asi_1_tid(tlu_asi_1_tid[1:0]),
3243 .tlu_asi_0_valid(tlu_asi_0_valid),
3244 .tlu_asi_1_valid(tlu_asi_1_valid),
3245 .tlu_lsu_hpstate_hpriv(tlu_lsu_hpstate_hpriv[7:0]),
3246 .tlu_lsu_pstate_priv(tlu_lsu_pstate_priv[7:0]),
3247 .tlu_tl_gt_0(tlu_tl_gt_0[7:0]),
3248 .tlu_lsu_clear_ctl_reg_(tlu_lsu_clear_ctl_reg_[7:0]),
3249 .tlu_cerer_dttp(tlu_cerer_dttp),
3250 .tlu_cerer_dttm(tlu_cerer_dttm),
3251 .tlu_cerer_dtdp(tlu_cerer_dtdp),
3252 .tlu_cerer_dcvp(tlu_cerer_dcvp),
3253 .tlu_cerer_dctp(tlu_cerer_dctp),
3254 .tlu_cerer_dctm(tlu_cerer_dctm),
3255 .tlu_cerer_dcdp(tlu_cerer_dcdp),
3256 .tlu_cerer_dcl2c(tlu_cerer_dcl2c),
3257 .tlu_cerer_dcl2u(tlu_cerer_dcl2u),
3258 .tlu_cerer_dcl2nd(tlu_cerer_dcl2nd),
3259 .tlu_cerer_sbdlc(tlu_cerer_sbdlc),
3260 .tlu_cerer_sbdlu(tlu_cerer_sbdlu),
3261 .tlu_cerer_sbapp(tlu_cerer_sbapp),
3262 .tlu_cerer_sbdiou(tlu_cerer_sbdiou),
3263 .tlu_cerer_sbdpc(tlu_cerer_sbdpc),
3264 .tlu_cerer_sbdpu(tlu_cerer_sbdpu),
3265 .tlu_cerer_l2c_socc(tlu_cerer_l2c_socc),
3266 .tlu_cerer_l2u_socu(tlu_cerer_l2u_socu),
3267 .lsu_stb_empty(lsu_stb_empty[7:0]),
3268 .lsu_trap_flush(lsu_trap_flush[7:0]),
3269 .lsu_tlb_bypass_b(lsu_tlb_bypass_b),
3270 .lsu_tlb_real_b(lsu_tlb_real_b),
3271 .lsu_align_b(lsu_align_b),
3272 .lsu_lddf_align_b(lsu_lddf_align_b),
3273 .lsu_stdf_align_b(lsu_stdf_align_b),
3274 .lsu_dae_invalid_asi_b(lsu_dae_invalid_asi_b),
3275 .lsu_dae_nc_page_b(lsu_dae_nc_page_b),
3276 .lsu_dae_nfo_page_b(lsu_dae_nfo_page_b),
3277 .lsu_dae_priv_viol_b(lsu_dae_priv_viol_b),
3278 .lsu_dae_so_page(lsu_dae_so_page),
3279 .lsu_priv_action_b(lsu_priv_action_b),
3280 .lsu_va_watchpoint_b(lsu_va_watchpoint_b),
3281 .lsu_pa_watchpoint_b(lsu_pa_watchpoint_b),
3282 .lsu_tlb_miss_b_(lsu_tlb_miss_b_),
3283 .lsu_illegal_inst_b(lsu_illegal_inst_b),
3284 .lsu_daccess_prot_b(lsu_daccess_prot_b),
3285 .lsu_perfmon_trap_b(lsu_perfmon_trap_b),
3286 .lsu_perfmon_trap_g(lsu_perfmon_trap_g),
3287 .lsu_priv_action_g(lsu_priv_action_g),
3288 .lsu_tid_g(lsu_tid_g[2:0]),
3289 .lsu_tlu_dsfsr_ct_b(lsu_tlu_dsfsr_ct_b[1:0]),
3290 .lsu_sync_inst_b(lsu_sync_inst_b),
3291 .lsu_tlu_twocycle_m(lsu_tlu_twocycle_m),
3292 .lsu_asi_error_inject(lsu_asi_error_inject[31:0]),
3293 .lsu_dcmh_err_g(lsu_dcmh_err_g),
3294 .lsu_dcvp_err_g(lsu_dcvp_err_g),
3295 .lsu_dctp_err_g(lsu_dctp_err_g),
3296 .lsu_dcdp_err_g(lsu_dcdp_err_g),
3297 .lsu_dcl2c_err_g(lsu_dcl2c_err_g),
3298 .lsu_dcl2u_err_g(lsu_dcl2u_err_g),
3299 .lsu_dcl2nd_err_g(lsu_dcl2nd_err_g),
3300 .lsu_dcsoc_err_g(lsu_dcsoc_err_g),
3301 .lsu_dcerr_tid_g(lsu_dcerr_tid_g[2:0]),
3302 .lsu_dcerr_sfar_g(lsu_dcerr_sfar_g[8:0]),
3303 .lsu_sbdlc_err_g(lsu_sbdlc_err_g),
3304 .lsu_sbdlu_err_g(lsu_sbdlu_err_g),
3305 .lsu_sbdpc_err_g(lsu_sbdpc_err_g),
3306 .lsu_sbdpu_err_g(lsu_sbdpu_err_g),
3307 .lsu_sbapp_err_g(lsu_sbapp_err_g),
3308 .lsu_sbdiou_err_g(lsu_sbdiou_err_g),
3309 .lsu_stberr_tid_g(lsu_stberr_tid_g[2:0]),
3310 .lsu_stberr_index_g(lsu_stberr_index_g[2:0]),
3311 .lsu_stberr_priv_g(lsu_stberr_priv_g[1:0]),
3312 .lsu_stb_flush_g(lsu_stb_flush_g),
3313 .lsu_dttp_err_b(lsu_dttp_err_b),
3314 .lsu_dtdp_err_b(lsu_dtdp_err_b),
3315 .lsu_dtmh_err_b(lsu_dtmh_err_b),
3316 .lsu_ext_interrupt(lsu_ext_interrupt),
3317 .lsu_ext_int_type(lsu_ext_int_type[1:0]),
3318 .lsu_ext_int_vec(lsu_ext_int_vec[5:0]),
3319 .lsu_ext_int_tid(lsu_ext_int_tid[2:0]),
3320 .mmu_dtlb_reload(mmu_dtlb_reload),
3321 .lsu_mmu_va_b(lsu_mmu_va_b[47:0]),
3322 .lsu_context_b(lsu_context_b[12:0]),
3323 .exu_lsu_rs2_e(exu_lsu_rs2_e[7:0]),
3324 .exu_lsu_address_e(exu_lsu_address_e[47:0]),
3325 .exu_lsu_store_data_e(exu_lsu_store_data_e[63:0]),
3326 .exu_lsu_va_error_m(exu_lsu_va_error_m[1:0]),
3327 .exu_ecc_m(exu_ecc_m[1:0]),
3328 .lsu_exu_ld_data_b(lsu_exu_ld_data_b[63:0]),
3329 .lsu_exu_ld_vld_w(lsu_exu_ld_vld_w),
3330 .lsu_exu_ld_b(lsu_exu_ld_b),
3331 .lsu_exu_rd_m(lsu_exu_rd_m[4:0]),
3332 .lsu_exu_tid_m(lsu_exu_tid_m[2:0]),
3333 .lsu_exu_address_e(lsu_exu_address_e[47:13]),
3334 .lsu_sel_lsu_addr_e(lsu_sel_lsu_addr_e),
3335 .fgu_fst_ecc_error_fx2(fgu_fst_ecc_error_fx2),
3336 .fgu_fdiv_stall(fgu_fdiv_stall),
3337 .lsu_fgu_fld_data_b(lsu_fgu_fld_data_b[63:0]),
3338 .lsu_fgu_fld_vld_w(lsu_fgu_fld_vld_w),
3339 .lsu_fgu_fld_b(lsu_fgu_fld_b),
3340 .lsu_fgu_fld_addr_b(lsu_fgu_fld_addr_b[4:0]),
3341 .lsu_fgu_fld_tid_b(lsu_fgu_fld_tid_b[2:0]),
3342 .lsu_fgu_fld_32b_b(lsu_fgu_fld_32b_b),
3343 .lsu_fgu_fld_odd32b_b(lsu_fgu_fld_odd32b_b),
3344 .lsu_fgu_fsr_load_b(lsu_fgu_fsr_load_b),
3345 .lsu_fgu_exception_w(lsu_fgu_exception_w),
3346 .lsu_block_store_m(lsu_block_store_m),
3347 .lsu_frf_read_pending(lsu_frf_read_pending),
3348 .pmu_lsu_dcmiss_trap_m(pmu_lsu_dcmiss_trap_m),
3349 .pmu_lsu_dtmiss_trap_m(pmu_lsu_dtmiss_trap_m),
3350 .pmu_lsu_l2dmiss_trap_m(pmu_lsu_l2dmiss_trap_m[7:0]),
3351 .lsu_pmu_mem_type_b(lsu_pmu_mem_type_b[2:0]),
3352 .l15_lsu_grant(l15_lsu_grant),
3353 .lsu_l15_lock(lsu_l15_lock),
3354 .lsu_l15_valid(lsu_l15_valid),
3355 .lsu_l15_addr(lsu_l15_addr[39:0]),
3356 .lsu_l15_cpkt(lsu_l15_cpkt[25:0]),
3357 .lsu_l15_data(lsu_l15_data[63:0]),
3358 .tlu_rngf_cdbus_error(tlu_rngf_cdbus_error),
3359 .lsu_rngf_cdbus(lsu_rngf_cdbus[64:0]),
3360 .lsu_rngl_cdbus(lsu_rngl_cdbus[64:0]),
3361 .mbi_ptag_data(mbi_ptag_data),
3362 .lsu_mbi_dca_fail(lsu_mbi_dca_fail),
3363 .lsu_mbi_dta_fail(lsu_mbi_dta_fail),
3364 .lsu_mbi_dva_fail(lsu_mbi_dva_fail),
3365 .lsu_mbi_lru_fail(lsu_mbi_lru_fail),
3366 .lsu_mbi_dtb_fail(lsu_mbi_dtb_fail),
3367 .lsu_mbi_stb_cam_fail(lsu_mbi_stb_cam_fail),
3368 .lsu_mbi_stb_ram_fail(lsu_mbi_stb_ram_fail),
3369 .lsu_mbi_cpq_fail(lsu_mbi_cpq_fail),
3370 .mbi_cambist_run(mbi_cambist_run),
3371 .mbi_cambist_shift(mbi_cambist_shift),
3372 .mbi_dis_clr_ubit(mbi_dis_clr_ubit),
3373 .mbi_init_to_zero(mbi_init_to_zero),
3374 .mbi_dtb_cam_en_pre(mbi_dtb_cam_en_pre),
3375 .mbi_repl_write(mbi_repl_write),
3376 .mbi_dtb_demap_en(mbi_dtb_demap_en),
3377 .mbi_demap_type(mbi_demap_type[1:0]),
3378 .lsu_mbi_tlb_data_cmp(lsu_mbi_tlb_data_cmp),
3379 .lsu_mbi_tlb_cam_hit(lsu_mbi_tlb_cam_hit),
3380 .lsu_mbi_tlb_cam_mhit(lsu_mbi_tlb_cam_mhit),
3381 .lsu_mbi_tlb_ctxt0_hit(lsu_mbi_tlb_ctxt0_hit),
3382 .lsu_mbi_tlb_valid(lsu_mbi_tlb_valid),
3383 .lsu_mbi_tlb_used(lsu_mbi_tlb_used),
3384 .mbi_scm_cam_en_pre(mbi_scm_cam_en_pre),
3385 .lsu_mbi_scm_hit(lsu_mbi_scm_hit),
3386 .lsu_mbi_scm_mhit(lsu_mbi_scm_mhit),
3387 .lsu_mbi_scm_hit_ptr(lsu_mbi_scm_hit_ptr[2:0]),
3388 .lsu_mbi_scm_praw(lsu_mbi_scm_praw),
3389 .dcc_dmo_parity(dcc_dmo_parity[3:0]),
3390 .lsu_ic_pmen(lsu_ic_pmen),
3391 .lsu_ifu_cmu_pmen(lsu_ifu_cmu_pmen),
3392 .lsu_ifu_ftu_pmen(lsu_ifu_ftu_pmen),
3393 .lsu_ifu_ibu_pmen(lsu_ifu_ibu_pmen),
3394 .lsu_dec_pmen(lsu_dec_pmen),
3395 .lsu_pku_pmen(lsu_pku_pmen),
3396 .lsu_exu_pmen(lsu_exu_pmen),
3397 .lsu_fgu_pmen(lsu_fgu_pmen),
3398 .lsu_tlu_pmen(lsu_tlu_pmen),
3399 .lsu_gkt_pmen(lsu_gkt_pmen),
3400 .lsu_spu_pmen(lsu_spu_pmen),
3401 .lsu_mmu_pmen(lsu_mmu_pmen),
3402 .lsu_pmu_pmen(lsu_pmu_pmen),
3403 .lsu_misc_pmen(lsu_misc_pmen),
3404 .lsu_asi_clken(lsu_asi_clken),
3405 .slow_cmp_sync_en(slow_cmp_sync_en),
3406 .cmp_slow_sync_en(cmp_slow_sync_en)
3407);
3408
3409//assign lsu_rngf_cdbus[64:0] = {lsu_ring_ctl,lsu_rngf_cdbus_b63,lsu_ring_cdbus[62:0]};
3410//assign lsu_rngl_cdbus[64:0] = {lsu_ring_ctl,lsu_rngl_cdbus_b63,lsu_ring_cdbus[62:0]};
3411
3412
3413spu spu (
3414 .scan_in(spu_scanin),
3415 .scan_out(spu_scanout),
3416 .l2clk(l2clk),
3417 .in_rngl_cdbus ( exu0_rngl_cdbus[64:0] ),
3418
3419 .spu_mbi_mam_fail_(spu_mbi_mam_fail_),
3420 .spu_mbi_mam_fail2_(spu_mbi_mam_fail2_),
3421 .spu_mbi_arf_fail_(spu_mbi_arf_fail_),
3422 .spu_mbi_rrf_fail_(spu_mbi_rrf_fail_),
3423 .spu_rngl_cdbus ( spu_rngl_cdbus[64:0] ),
3424 .spu_l15_valid(spu_l15_valid),
3425 .spu_l15_addr(spu_l15_addr[38:3]),
3426 .spu_l15_cpkt(spu_l15_cpkt[12:0]),
3427 .spu_l15_data(spu_l15_data[63:0]),
3428 .spu_mult_request(spu_mult_request),
3429 .spu_fgu_rs1_e(spu_fgu_rs1_e[63:0]),
3430 .spu_fgu_rs2_e(spu_fgu_rs2_e[63:0]),
3431 .spu_fgu_fpy_ctl_d(spu_fgu_fpy_ctl_d[6:0]),
3432 .spu_pmu_cwq_busy(spu_pmu_cwq_busy[4:0]),
3433 .spu_pmu_cwq_tid(spu_pmu_cwq_tid[2:0]),
3434 .spu_pmu_ma_busy(spu_pmu_ma_busy[3:0]),
3435 .spu_tlu_cwq_busy(spu_tlu_cwq_busy),
3436 .spu_tlu_cwq_int_req(spu_tlu_cwq_int_req[3:0]),
3437 .spu_tlu_ma_int_req(spu_tlu_ma_int_req[4:0]),
3438 .spu_tlu_mamu_err_req(spu_tlu_mamu_err_req[10:0]),
3439 .spu_tlu_l2_error(spu_tlu_l2_error[5:0])
3440
3441);
3442
3443
3444
3445mmu mmu (
3446 .scan_in(mmu_scanin),
3447 .scan_out(mmu_scanout),
3448 .wmr_scan_in(tlu_wmr_scanout),
3449 .wmr_scan_out(mmu_wmr_scanout),
3450 .l2clk (l2clk ),
3451 .tcu_dectest (tcu_dectest_buf ),
3452 .tcu_muxtest (tcu_muxtest_buf ),
3453 .tcu_array_wr_inhibit (clk_array_wr_inhibit ),
3454 .tcu_pce_ov (pce_ov_tl ),
3455 .tcu_scan_en (lb_scan_en_tl ),
3456 .spc_aclk (spc_aclk_tl ),
3457 .spc_aclk_wmr (spc_aclk_wmr_tl ),
3458 .spc_bclk (spc_bclk_tl ),
3459 .tcu_se_scancollar_in (lb_se_sc_in ),
3460 .l15_mmu_cpkt (l15_spc_cpkt[17:0] ),
3461 .l15_spc_data1 (l15_spc_data1[127:0] ),
3462 .mbi_mra0_write_en (mb1_mra0_write_en ),
3463 .mbi_mra1_write_en (mb1_mra1_write_en ),
3464 .mbi_scp0_write_en (mb1_scp0_write_en ),
3465 .mbi_scp1_write_en (mb1_scp1_write_en ),
3466 .mbi_addr (mb1_addr[4:0] ),
3467 .mbi_run (mb1_run ),
3468 .mbi_wdata (mb1_write_data[7:0] ),
3469 .mbi_mra0_read_en (mb1_mra0_read_en ),
3470 .mbi_mra1_read_en (mb1_mra1_read_en ),
3471 .mbi_scp0_read_en (mb1_scp0_read_en ),
3472 .mbi_scp1_read_en (mb1_scp1_read_en ),
3473 .mbi_mmu_cmpsel (mb1_cmpsel[1:0] ),
3474 .lsu_va_b (lsu_mmu_va_b[47:0] ),
3475 .lsu_rngf_cdbus (lsu_rngf_cdbus[64:0] ),
3476 .spc_core_running_status(tlu_core_running_status[7:0]),
3477 .lb_scan_en_wmr(lb_scan_en_wmr),
3478 .lsu_mmu_pmen(lsu_mmu_pmen),
3479 .lsu_asi_clken(lsu_asi_clken),
3480 .tlu_tag_access_tid_0_b(tlu_tag_access_tid_0_b[1:0]),
3481 .tlu_i_tag_access_0_b(tlu_i_tag_access_0_b),
3482 .tlu_d_tag_access_0_b(tlu_d_tag_access_0_b),
3483 .tlu_tag_access_tid_1_b(tlu_tag_access_tid_1_b[1:0]),
3484 .tlu_i_tag_access_1_b(tlu_i_tag_access_1_b),
3485 .tlu_d_tag_access_1_b(tlu_d_tag_access_1_b),
3486 .lsu_context_b(lsu_context_b[12:0]),
3487 .lsu_tlu_dsfsr_ct_b(lsu_tlu_dsfsr_ct_b[1:0]),
3488 .lsu_asi_error_inject(lsu_asi_error_inject[31:0]),
3489 .tlu_load_i_tag_access_p(tlu_load_i_tag_access_p[7:0]),
3490 .tlu_load_i_tag_access_n(tlu_load_i_tag_access_n[7:0]),
3491 .tlu_load_d_tag_access(tlu_load_d_tag_access[7:0]),
3492 .tlu_load_d_tag_access_r(tlu_load_d_tag_access_r[7:0]),
3493 .tlu_release_tte(tlu_release_tte[7:0]),
3494 .tlu_pc_0_w(tlu_pc_0_w[47:13]),
3495 .tlu_pc_1_w(tlu_pc_1_w[47:13]),
3496 .tlu_iht_request(tlu_iht_request[7:0]),
3497 .tlu_dht_request(tlu_dht_request[7:0]),
3498 .tlu_mmu_tl_gt_0(tlu_mmu_tl_gt_0[7:0]),
3499 .tlu_ceter_pscce(tlu_ceter_pscce[7:0]),
3500 .tlu_cerer_mrau(tlu_cerer_mrau),
3501 .tlu_cerer_scac(tlu_cerer_scac),
3502 .tlu_cerer_scau(tlu_cerer_scau),
3503 .tlu_cerer_hwtwmu(tlu_cerer_hwtwmu),
3504 .tlu_cerer_hwtwl2(tlu_cerer_hwtwl2),
3505 .l15_mmu_grant(l15_mmu_grant),
3506 .l15_mmu_valid(l15_mmu_valid),
3507 .mmu_mbi_mra0_fail(mmu_mbi_mra0_fail),
3508 .mmu_mbi_mra1_fail(mmu_mbi_mra1_fail),
3509 .mmu_mbi_scp0_fail(mmu_mbi_scp0_fail),
3510 .mmu_mbi_scp1_fail(mmu_mbi_scp1_fail),
3511 .mmu_l15_cpkt(mmu_l15_cpkt[4:0]),
3512 .mmu_l15_addr(mmu_l15_addr[39:4]),
3513 .mmu_l15_valid(mmu_l15_valid),
3514 .mmu_write_itlb(mmu_write_itlb[7:0]),
3515 .mmu_itte_tag_data(mmu_itte_tag_data[47:0]),
3516 .mmu_asi_data(mmu_asi_data[64:0]),
3517 .mmu_asi_read(mmu_asi_read),
3518 .mmu_dae_req(mmu_dae_req),
3519 .mmu_dae_tid(mmu_dae_tid[2:0]),
3520 .mmu_dtlb_reload_stall(mmu_dtlb_reload_stall),
3521 .mmu_dtlb_reload(mmu_dtlb_reload),
3522 .mmu_hw_tw_enable(mmu_hw_tw_enable[7:0]),
3523 .mmu_reload_done(mmu_reload_done[7:0]),
3524 .mmu_i_unauth_access(mmu_i_unauth_access[7:0]),
3525 .mmu_i_tsb_miss(mmu_i_tsb_miss[7:0]),
3526 .mmu_d_tsb_miss(mmu_d_tsb_miss[7:0]),
3527 .mmu_i_tte_outofrange(mmu_i_tte_outofrange[7:0]),
3528 .mmu_d_tte_outofrange(mmu_d_tte_outofrange[7:0]),
3529 .mmu_index(mmu_index[6:0]),
3530 .mmu_asi_cecc(mmu_asi_cecc),
3531 .mmu_asi_uecc(mmu_asi_uecc),
3532 .mmu_asi_tid(mmu_asi_tid[2:0]),
3533 .mmu_asi_index(mmu_asi_index[10:0]),
3534 .mmu_asi_mra_not_sca(mmu_asi_mra_not_sca),
3535 .mmu_i_l2cerr(mmu_i_l2cerr[7:0]),
3536 .mmu_d_l2cerr(mmu_d_l2cerr[7:0]),
3537 .mmu_i_eccerr(mmu_i_eccerr[7:0]),
3538 .mmu_d_eccerr(mmu_d_eccerr[7:0]),
3539 .mmu_thr0_err_type(mmu_thr0_err_type[2:0]),
3540 .mmu_thr1_err_type(mmu_thr1_err_type[2:0]),
3541 .mmu_thr2_err_type(mmu_thr2_err_type[2:0]),
3542 .mmu_thr3_err_type(mmu_thr3_err_type[2:0]),
3543 .mmu_thr4_err_type(mmu_thr4_err_type[2:0]),
3544 .mmu_thr5_err_type(mmu_thr5_err_type[2:0]),
3545 .mmu_thr6_err_type(mmu_thr6_err_type[2:0]),
3546 .mmu_thr7_err_type(mmu_thr7_err_type[2:0]),
3547 .mmu_thr0_err_index(mmu_thr0_err_index[2:0]),
3548 .mmu_thr1_err_index(mmu_thr1_err_index[2:0]),
3549 .mmu_thr2_err_index(mmu_thr2_err_index[2:0]),
3550 .mmu_thr3_err_index(mmu_thr3_err_index[2:0]),
3551 .mmu_thr4_err_index(mmu_thr4_err_index[2:0]),
3552 .mmu_thr5_err_index(mmu_thr5_err_index[2:0]),
3553 .mmu_thr6_err_index(mmu_thr6_err_index[2:0]),
3554 .mmu_thr7_err_index(mmu_thr7_err_index[2:0]),
3555 .mmu_pmu_l2ret(mmu_pmu_l2ret),
3556 .mmu_pmu_l2miss(mmu_pmu_l2miss),
3557 .mmu_pmu_dtlb(mmu_pmu_dtlb),
3558 .mmu_pmu_tid(mmu_pmu_tid[2:0])
3559);
3560
3561
3562pmu pmu (
3563 .scan_in(mmu_scanout),
3564 .scan_out(pmu_scanout),
3565 .l2clk(l2clk),
3566 .tcu_pce_ov (pce_ov_tl),
3567 .tcu_scan_en (lb_scan_en_tl),
3568 .spc_aclk (spc_aclk_tl),
3569 .spc_bclk (spc_bclk_tl),
3570 .in_rngl_cdbus (spu_rngl_cdbus[64:0]),
3571 .pmu_rngl_cdbus (pmu_rngl_cdbus[64:0]),
3572 .dec_pmu_instr0_type_d ({dec_valid0_d,dec_tid0_d[1:0],dec_instr0_type_d[9:0]}),
3573 .dec_pmu_instr1_type_d ({dec_valid1_d,dec_tid1_d[1:0],dec_instr1_type_d[9:0]}),
3574 .dec_valid_e (dec_pmu_valid_e[1:0]),
3575 .lsu_pmu_mem_type_b ({lsu_dcerr_tid_g[2:0],lsu_pmu_mem_type_b[2:0]}),
3576 .lsu_pmu_pmen(lsu_pmu_pmen),
3577 .lsu_asi_clken(lsu_asi_clken),
3578 .dec_br_taken_e(dec_br_taken_e[1:0]),
3579 .dec_lsu_sel0_d(dec_lsu_sel0_d),
3580 .mmu_pmu_l2ret(mmu_pmu_l2ret),
3581 .mmu_pmu_l2miss(mmu_pmu_l2miss),
3582 .mmu_pmu_dtlb(mmu_pmu_dtlb),
3583 .mmu_pmu_tid(mmu_pmu_tid[2:0]),
3584 .l15_pmu_xbar_optype(l15_pmu_xbar_optype[6:0]),
3585 .spu_pmu_cwq_busy(spu_pmu_cwq_busy[4:0]),
3586 .spu_pmu_cwq_tid(spu_pmu_cwq_tid[2:0]),
3587 .spu_pmu_ma_busy(spu_pmu_ma_busy[3:0]),
3588 .tlu_pmu_pstate_priv(tlu_pmu_pstate_priv[7:0]),
3589 .tlu_pmu_hpstate_hpriv(tlu_pmu_hpstate_hpriv[7:0]),
3590 .tlu_pmu_trap_taken(tlu_pmu_trap_taken[7:0]),
3591 .tlu_pmu_trap_mask_e(tlu_pmu_trap_mask_e[1:0]),
3592 .dec_flush_m(dec_flush_m[1:0]),
3593 .dec_flush_b(dec_flush_b[1:0]),
3594 .tlu_flush_pmu_b(tlu_flush_pmu_b[1:0]),
3595 .tlu_flush_pmu_w(tlu_flush_pmu_w[1:0]),
3596 .pmu_tlu_trap_m(pmu_tlu_trap_m[7:0]),
3597 .pmu_tlu_debug_event(pmu_tlu_debug_event[7:0]),
3598 .pmu_lsu_dcmiss_trap_m(pmu_lsu_dcmiss_trap_m),
3599 .pmu_lsu_dtmiss_trap_m(pmu_lsu_dtmiss_trap_m),
3600 .pmu_lsu_l2dmiss_trap_m(pmu_lsu_l2dmiss_trap_m[7:0])
3601);
3602
3603
3604////////////////////
3605// MBIST controllers
3606
3607spc_mb0_ctl mb0 (
3608 .scan_in(mb0_scanin),
3609 .scan_out(mb0_scanout),
3610 .tcu_pce_ov (pce_ov_br),
3611 .tcu_scan_en (lb_scan_en_br),
3612 .tcu_aclk (spc_aclk_br),
3613 .tcu_bclk (spc_bclk_br),
3614 .tcu_clk_stop(1'b0),
3615 .l2clk (l2clk),
3616 .mbist_start (tcu_spc_mbist_start_buf0),
3617 .mbist_user_mode (msf0_mbist_user_mode_ff),
3618 .mbist_bisi_mode (msf0_mbist_bisi_en_ff),
3619 .mb2_mb0_fail (mb2_mb0_fail),
3620 .mb1_mb0_fail (mb1_mb0_fail),
3621 .mb2_mb0_done (mb2_mb0_done),
3622 .mb1_mb0_done (mb1_mb0_done),
3623 .mb0_cmpsel (mb0_cmpsel[2:0]),
3624 .mb0_mbist_fail (spc_mbist_fail_buf),
3625 .mb0_done (spc_mbist_done_buf),
3626 .mb0_addr ({mb0_addr_unused[15:12],mb0_addr[11:0]}),
3627 .mb0_run(mb0_run),
3628 .mb0_ict_read_en(mb0_ict_read_en),
3629 .mb0_ict_write_en(mb0_ict_write_en),
3630 .mb0_icd_read_en(mb0_icd_read_en),
3631 .mb0_icd_write_en(mb0_icd_write_en),
3632 .mb0_icv_read_en(mb0_icv_read_en),
3633 .mb0_icv_write_en(mb0_icv_write_en),
3634 .mb0_itb_read_en(mb0_itb_read_en),
3635 .mb0_itb_write_en(mb0_itb_write_en),
3636 .mb0_write_data(mb0_write_data[7:0]),
3637 .mb0_dca_read_en(mb0_dca_read_en),
3638 .mb0_dca_write_en(mb0_dca_write_en),
3639 .mb0_dta_read_en(mb0_dta_read_en),
3640 .mb0_dta_write_en(mb0_dta_write_en),
3641 .mb0_dva_read_en(mb0_dva_read_en),
3642 .mb0_dva_write_en(mb0_dva_write_en),
3643 .mb0_lru_read_en(mb0_lru_read_en),
3644 .mb0_lru_write_en(mb0_lru_write_en),
3645 .mb0_dtb_read_en(mb0_dtb_read_en),
3646 .mb0_dtb_write_en(mb0_dtb_write_en),
3647 .mb0_stb_cam_read_en(mb0_stb_cam_read_en),
3648 .mb0_stb_cam_write_en(mb0_stb_cam_write_en),
3649 .mb0_stb_ram_read_en(mb0_stb_ram_read_en),
3650 .mb0_stb_ram_write_en(mb0_stb_ram_write_en),
3651 .mb0_cpq_read_en(mb0_cpq_read_en),
3652 .mb0_cpq_write_en(mb0_cpq_write_en),
3653 .mbi_cambist_run(mbi_cambist_run),
3654 .mbi_cambist_shift(mbi_cambist_shift),
3655 .mbi_dis_clr_ubit(mbi_dis_clr_ubit),
3656 .mbi_init_to_zero(mbi_init_to_zero),
3657 .mbi_dtb_cam_en_pre(mbi_dtb_cam_en_pre),
3658 .mbi_dtb_demap_en(mbi_dtb_demap_en),
3659 .mbi_itb_cam_en_pre(mbi_itb_cam_en_pre),
3660 .mbi_itb_demap_en(mbi_itb_demap_en),
3661 .mbi_repl_write(mbi_repl_write),
3662 .mbi_demap_type(mbi_demap_type[1:0]),
3663 .mbi_ptag_data(mbi_ptag_data),
3664 .mbi_scm_cam_en_pre(mbi_scm_cam_en_pre),
3665 .lsu_misc_pmen(lsu_misc_pmen),
3666 .lsu_mbi_dca_fail(lsu_mbi_dca_fail),
3667 .lsu_mbi_dta_fail(lsu_mbi_dta_fail),
3668 .lsu_mbi_dva_fail(lsu_mbi_dva_fail),
3669 .lsu_mbi_lru_fail(lsu_mbi_lru_fail),
3670 .lsu_mbi_dtb_fail(lsu_mbi_dtb_fail),
3671 .lsu_mbi_stb_cam_fail(lsu_mbi_stb_cam_fail),
3672 .lsu_mbi_stb_ram_fail(lsu_mbi_stb_ram_fail),
3673 .lsu_mbi_cpq_fail(lsu_mbi_cpq_fail),
3674 .ftu_mbi_ict_fail(ftu_mbi_ict_fail),
3675 .ftu_mbi_icd_fail(ftu_mbi_icd_fail),
3676 .ftu_mbi_itb_fail(ftu_mbi_itb_fail),
3677 .ftu_mbi_icv_fail(ftu_mbi_icv_fail),
3678 .lsu_mbi_tlb_data_cmp(lsu_mbi_tlb_data_cmp),
3679 .lsu_mbi_tlb_cam_hit(lsu_mbi_tlb_cam_hit),
3680 .lsu_mbi_tlb_cam_mhit(lsu_mbi_tlb_cam_mhit),
3681 .lsu_mbi_tlb_ctxt0_hit(lsu_mbi_tlb_ctxt0_hit),
3682 .lsu_mbi_tlb_valid(lsu_mbi_tlb_valid),
3683 .lsu_mbi_tlb_used(lsu_mbi_tlb_used),
3684 .lsu_mbi_scm_hit(lsu_mbi_scm_hit),
3685 .lsu_mbi_scm_mhit(lsu_mbi_scm_mhit),
3686 .lsu_mbi_scm_hit_ptr(lsu_mbi_scm_hit_ptr[2:0]),
3687 .lsu_mbi_scm_praw(lsu_mbi_scm_praw),
3688 .ftu_mbi_tlb_data_cmp(ftu_mbi_tlb_data_cmp),
3689 .ftu_mbi_tlb_cam_hit(ftu_mbi_tlb_cam_hit),
3690 .ftu_mbi_tlb_cam_mhit(ftu_mbi_tlb_cam_mhit),
3691 .ftu_mbi_tlb_ctxt0_hit(ftu_mbi_tlb_ctxt0_hit),
3692 .ftu_mbi_tlb_valid(ftu_mbi_tlb_valid),
3693 .ftu_mbi_tlb_used(ftu_mbi_tlb_used)
3694
3695);
3696
3697spc_mb1_ctl mb1 (
3698 .scan_in(mb1_scanin),
3699 .scan_out(mb1_scanout),
3700 .tcu_pce_ov (pce_ov_tl),
3701 .tcu_scan_en (lb_scan_en_tl),
3702 .tcu_aclk (spc_aclk_tl),
3703 .tcu_bclk (spc_bclk_tl),
3704 .tcu_clk_stop(1'b0),
3705 .l2clk (l2clk),
3706 .mbist_start (tcu_spc_mbist_start_buf0),
3707 .mb1_mbist_fail (mb1_mb0_fail),
3708 .mbist_user_mode (msf0_mbist_user_mode_ff),
3709 .mbist_bisi_mode (msf0_mbist_bisi_en_ff),
3710 .mb1_done (mb1_mb0_done),
3711 .mb1_addr ({mb1_addr_unused[15:8],mb1_addr[7:0]}),
3712 .mb1_run(mb1_run),
3713 .mb1_cmpsel(mb1_cmpsel[4:0]),
3714 .mb1_write_data(mb1_write_data[7:0]),
3715 .mb1_tsa0_read_en(mb1_tsa0_read_en),
3716 .mb1_tsa0_write_en(mb1_tsa0_write_en),
3717 .mb1_tsa1_read_en(mb1_tsa1_read_en),
3718 .mb1_tsa1_write_en(mb1_tsa1_write_en),
3719 .mb1_tca_read_en(mb1_tca_read_en),
3720 .mb1_tca_write_en(mb1_tca_write_en),
3721 .mb1_scp0_read_en(mb1_scp0_read_en),
3722 .mb1_scp0_write_en(mb1_scp0_write_en),
3723 .mb1_scp1_read_en(mb1_scp1_read_en),
3724 .mb1_scp1_write_en(mb1_scp1_write_en),
3725 .mb1_mra0_read_en(mb1_mra0_read_en),
3726 .mb1_mra0_write_en(mb1_mra0_write_en),
3727 .mb1_mra1_read_en(mb1_mra1_read_en),
3728 .mb1_mra1_write_en(mb1_mra1_write_en),
3729 .mb2_misc_pmen(mb2_misc_pmen),
3730 .mmu_mbi_mra0_fail(mmu_mbi_mra0_fail),
3731 .mmu_mbi_mra1_fail(mmu_mbi_mra1_fail),
3732 .mmu_mbi_scp0_fail(mmu_mbi_scp0_fail),
3733 .mmu_mbi_scp1_fail(mmu_mbi_scp1_fail),
3734 .tlu_mbi_tsa0_fail(tlu_mbi_tsa0_fail),
3735 .tlu_mbi_tsa1_fail(tlu_mbi_tsa1_fail),
3736 .tlu_mbi_tca_fail(tlu_mbi_tca_fail)
3737
3738);
3739
3740spc_mb2_ctl mb2 (
3741 .scan_in(mb2_scanin),
3742 .scan_out(mb2_scanout),
3743 .tcu_pce_ov (pce_ov_tr),
3744 .tcu_scan_en (lb_scan_en_tr),
3745 .tcu_aclk (spc_aclk_tr),
3746 .tcu_bclk (spc_bclk_tr),
3747 .tcu_clk_stop(1'b0),
3748 .l2clk (l2clk),
3749 .mbist_start (tcu_spc_mbist_start_buf0),
3750 .mbist_user_mode (msf0_mbist_user_mode_ff),
3751 .mbist_bisi_mode (msf0_mbist_bisi_en_ff),
3752 .mb2_mbist_fail (mb2_mb0_fail),
3753 .mb2_done (mb2_mb0_done),
3754 .mb2_addr ({mb2_addr_unused[15:10],mb2_addr[9:0]}),
3755 .mb2_run(mb2_run),
3756 .mb2_frf_read_en(mb2_frf_read_en),
3757 .mb2_frf_write_en(mb2_frf_write_en),
3758 .mb2_arf_read_en(mb2_arf_read_en),
3759 .mb2_arf_write_en(mb2_arf_write_en),
3760 .mb2_irf_read_en(mb2_irf_read_en),
3761 .mb2_irf_write_en(mb2_irf_write_en),
3762 .mb2_irf_save_en(mb2_irf_save_en),
3763 .mb2_irf_restore_en(mb2_irf_restore_en),
3764 .mb2_mam_read_en(mb2_mam_read_en),
3765 .mb2_mam_write_en(mb2_mam_write_en),
3766 .mb2_rrf_read_en(mb2_rrf_read_en),
3767 .mb2_rrf_write_en(mb2_rrf_write_en),
3768 .mb2_write_data(mb2_write_data[7:0]),
3769 .mb2_write_data_p1(mb2_write_data_p1[7:0]),
3770 .mb2_write_data_p2(mb2_write_data_p2[7:0]),
3771 .mb2_misc_pmen(mb2_misc_pmen),
3772 .lsu_misc_pmen(lsu_misc_pmen),
3773 .spu_mbi_mam_fail_(spu_mbi_mam_fail_),
3774 .spu_mbi_mam_fail2_(spu_mbi_mam_fail2_),
3775 .spu_mbi_arf_fail_(spu_mbi_arf_fail_),
3776 .spu_mbi_rrf_fail_(spu_mbi_rrf_fail_),
3777 .exu0_mbi_irf_fail_(exu0_mbi_irf_fail_[1:0]),
3778 .exu1_mbi_irf_fail_(exu1_mbi_irf_fail_[1:0]),
3779 .fgu_mbi_frf_fail(fgu_mbi_frf_fail)
3780);
3781
3782
3783// Check that the asi values mirrored in the TLU are consistent with those in the LSU.
3784// Anytime an instruction decodes for a thread, that's thread's ASI's must be equal.
3785// 0in custom -fire ((dec_valid0_d & (dec_tid0_d[1:0] == 2'b00)) & ~(lsu.dcs.asi_state0[7:0] == tlu.tsd0.asi0[7:0])) -message "T0 ASI registers are inconsistent"
3786// 0in custom -fire ((dec_valid0_d & (dec_tid0_d[1:0] == 2'b01)) & ~(lsu.dcs.asi_state1[7:0] == tlu.tsd0.asi1[7:0])) -message "T1 ASI registers are inconsistent"
3787// 0in custom -fire ((dec_valid0_d & (dec_tid0_d[1:0] == 2'b10)) & ~(lsu.dcs.asi_state2[7:0] == tlu.tsd0.asi2[7:0])) -message "T2 ASI registers are inconsistent"
3788// 0in custom -fire ((dec_valid0_d & (dec_tid0_d[1:0] == 2'b11)) & ~(lsu.dcs.asi_state3[7:0] == tlu.tsd0.asi3[7:0])) -message "T3 ASI registers are inconsistent"
3789// 0in custom -fire ((dec_valid1_d & (dec_tid1_d[1:0] == 2'b00)) & ~(lsu.dcs.asi_state4[7:0] == tlu.tsd1.asi0[7:0])) -message "T4 ASI registers are inconsistent"
3790// 0in custom -fire ((dec_valid1_d & (dec_tid1_d[1:0] == 2'b01)) & ~(lsu.dcs.asi_state5[7:0] == tlu.tsd1.asi1[7:0])) -message "T5 ASI registers are inconsistent"
3791// 0in custom -fire ((dec_valid1_d & (dec_tid1_d[1:0] == 2'b10)) & ~(lsu.dcs.asi_state6[7:0] == tlu.tsd1.asi2[7:0])) -message "T6 ASI registers are inconsistent"
3792// 0in custom -fire ((dec_valid1_d & (dec_tid1_d[1:0] == 2'b11)) & ~(lsu.dcs.asi_state7[7:0] == tlu.tsd1.asi3[7:0])) -message "T7 ASI registers are inconsistent"
3793
3794
3795
3796supply0 vss; // <- port for ground
3797supply1 vdd; // <- port for power
3798// fixscan start:
3799//assign gkt_scanin = scan_in[0] ;
3800//assign fgu_scanin = gkt_scanout ;
3801//assign ifu_ibu_scanin = fgu_scanout ;
3802//assign ifu_ftu_scanin = ifu_ibu_scanout ;
3803//assign ifu_cmu_scanin = ifu_ftu_scanout ;
3804//assign dec_scanin = ifu_cmu_scanout ;
3805//assign pku_scanin = dec_scanout ;
3806//assign exu0_scanin = pku_scanout ;
3807//assign exu1_scanin = exu0_scanout ;
3808//assign tlu_scanin = exu1_scanout ;
3809//assign lsu_scanin = tlu_scanout ;
3810//assign spu_scanin = lsu_scanout ;
3811//assign mmu_scanin = spu_scanout ;
3812//assign pmu_scanin = mmu_scanout ;
3813
3814// MBIST Scan Chain
3815assign mb0_scanin = lb_mb_channel_si;
3816assign mb1_scanin = mb0_scanout;
3817assign mb2_scanin = mb1_scanout;
3818
3819// Main Scan Chain
3820//assign scan_out[0] = pmu_scanout;
3821
3822// fixscan end:
3823endmodule
3824