Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / spc / lsu / rtl / lsu.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: lsu.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 lsu (
36 l2clk,
37 scan_in,
38 wmr_scan_in,
39 tcu_pce_ov,
40 spc_aclk_wmr,
41 spc_aclk,
42 spc_bclk,
43 tcu_scan_en,
44 tcu_array_wr_inhibit,
45 tcu_se_scancollar_in,
46 tcu_se_scancollar_out,
47 lb_scan_en_wmr,
48 scan_out,
49 wmr_scan_out,
50 const_cpuid,
51 ifu_lsu_if_vld,
52 ifu_lsu_if_tid,
53 ifu_lsu_if_addr,
54 lsu_ifu_ctxt_data,
55 lsu_ifu_tid_w,
56 lsu_ifu_wr_p0ctxt,
57 lsu_ifu_wr_p1ctxt,
58 lsu_ifu_wr_pid,
59 lsu_immu_enable,
60 lsu_ic_enable,
61 lsu_ifu_ld_index,
62 lsu_ifu_direct_map,
63 lsu_ifu_no_miss,
64 lsu_cpx_data,
65 lsu_cpx_cpkt,
66 lsu_cpx_valid,
67 dec_lsu_tg_d,
68 dec_ld_inst_d,
69 dec_ld_inst_e,
70 dec_st_inst_e,
71 dec_fpldst_inst_e,
72 dec_fsr_ldst_e,
73 dec_ldst_dbl_e,
74 dec_pref_inst_e,
75 dec_flush_inst_e,
76 dec_memstbar_inst_e,
77 dec_sr_inst_e,
78 dec_pr_inst_e,
79 dec_hpr_inst_e,
80 dec_casa_inst_e,
81 dec_ldstub_inst_e,
82 dec_swap_inst_e,
83 dec_altspace_d,
84 dec_sign_ext_e,
85 dec_ldst_sz_e,
86 dec_lsu_rd_e,
87 dec_sraddr_e,
88 dec_imm_asi_vld_d,
89 dec_imm_asi_d,
90 dec_frf_r2_addr_e,
91 dec_flush_lm,
92 dec_flush_lb,
93 dec_lsu_tid0_d,
94 dec_lsu_tid1_d,
95 lsu_block_store_stall,
96 lsu_block_store_rd,
97 lsu_block_store_tid,
98 lsu_cpq_stall,
99 lsu_sync,
100 lsu_complete,
101 lsu_stb_alloc,
102 lsu_stb_dealloc,
103 lsu_block_store_kill,
104 tlu_flush_lsu_b,
105 tlu_pstate_cle,
106 tlu_asi_0,
107 tlu_asi_1,
108 tlu_asi_0_tid,
109 tlu_asi_1_tid,
110 tlu_asi_0_valid,
111 tlu_asi_1_valid,
112 tlu_lsu_hpstate_hpriv,
113 tlu_lsu_pstate_priv,
114 tlu_tl_gt_0,
115 tlu_lsu_clear_ctl_reg_,
116 tlu_tte,
117 tlu_cerer_dttp,
118 tlu_cerer_dttm,
119 tlu_cerer_dtdp,
120 tlu_cerer_dcvp,
121 tlu_cerer_dctp,
122 tlu_cerer_dctm,
123 tlu_cerer_dcdp,
124 tlu_cerer_dcl2c,
125 tlu_cerer_dcl2u,
126 tlu_cerer_dcl2nd,
127 tlu_cerer_sbdlc,
128 tlu_cerer_sbdlu,
129 tlu_cerer_sbapp,
130 tlu_cerer_sbdiou,
131 tlu_cerer_sbdpc,
132 tlu_cerer_sbdpu,
133 tlu_cerer_l2c_socc,
134 tlu_cerer_l2u_socu,
135 lsu_stb_empty,
136 lsu_trap_flush,
137 lsu_tlb_bypass_b,
138 lsu_tlb_real_b,
139 lsu_align_b,
140 lsu_lddf_align_b,
141 lsu_stdf_align_b,
142 lsu_dae_invalid_asi_b,
143 lsu_dae_nc_page_b,
144 lsu_dae_nfo_page_b,
145 lsu_dae_priv_viol_b,
146 lsu_dae_so_page,
147 lsu_priv_action_b,
148 lsu_va_watchpoint_b,
149 lsu_pa_watchpoint_b,
150 lsu_tlb_miss_b_,
151 lsu_illegal_inst_b,
152 lsu_daccess_prot_b,
153 lsu_perfmon_trap_b,
154 lsu_perfmon_trap_g,
155 lsu_priv_action_g,
156 lsu_tid_g,
157 lsu_tlu_dsfsr_ct_b,
158 lsu_sync_inst_b,
159 lsu_tlu_twocycle_m,
160 lsu_asi_error_inject,
161 lsu_dcmh_err_g,
162 lsu_dcvp_err_g,
163 lsu_dctp_err_g,
164 lsu_dcdp_err_g,
165 lsu_dcl2c_err_g,
166 lsu_dcl2u_err_g,
167 lsu_dcl2nd_err_g,
168 lsu_dcsoc_err_g,
169 lsu_dcerr_tid_g,
170 lsu_dcerr_sfar_g,
171 lsu_sbdlc_err_g,
172 lsu_sbdlu_err_g,
173 lsu_sbdpc_err_g,
174 lsu_sbdpu_err_g,
175 lsu_sbapp_err_g,
176 lsu_sbdiou_err_g,
177 lsu_stberr_tid_g,
178 lsu_stberr_index_g,
179 lsu_stberr_priv_g,
180 lsu_stb_flush_g,
181 lsu_dttp_err_b,
182 lsu_dtdp_err_b,
183 lsu_dtmh_err_b,
184 lsu_ext_interrupt,
185 lsu_ext_int_type,
186 lsu_ext_int_vec,
187 lsu_ext_int_tid,
188 mmu_dtlb_reload,
189 lsu_mmu_va_b,
190 lsu_context_b,
191 exu_lsu_rs2_e,
192 exu_lsu_address_e,
193 exu_lsu_store_data_e,
194 exu_lsu_va_error_m,
195 exu_ecc_m,
196 lsu_exu_ld_data_b,
197 lsu_exu_ld_vld_w,
198 lsu_exu_ld_b,
199 lsu_exu_rd_m,
200 lsu_exu_tid_m,
201 lsu_exu_address_e,
202 lsu_sel_lsu_addr_e,
203 fgu_lsu_fst_data_fx1,
204 fgu_fst_ecc_error_fx2,
205 fgu_fdiv_stall,
206 lsu_fgu_fld_data_b,
207 lsu_fgu_fld_vld_w,
208 lsu_fgu_fld_b,
209 lsu_fgu_fld_addr_b,
210 lsu_fgu_fld_tid_b,
211 lsu_fgu_fld_32b_b,
212 lsu_fgu_fld_odd32b_b,
213 lsu_fgu_fsr_load_b,
214 lsu_fgu_exception_w,
215 lsu_block_store_m,
216 lsu_frf_read_pending,
217 pmu_lsu_dcmiss_trap_m,
218 pmu_lsu_dtmiss_trap_m,
219 pmu_lsu_l2dmiss_trap_m,
220 lsu_pmu_mem_type_b,
221 l15_lsu_grant,
222 lsu_l15_lock,
223 lsu_l15_valid,
224 lsu_l15_addr,
225 lsu_l15_cpkt,
226 lsu_l15_data,
227 cpx_spc_data_cx,
228 tlu_rngf_cdbus,
229 tlu_rngf_cdbus_error,
230 rngl_lsu_cdbus,
231 lsu_rngf_cdbus,
232 lsu_rngl_cdbus,
233 lbist_run,
234 mbi_addr,
235 mbi_run,
236 mbi_wdata,
237 mbi_ptag_data,
238 mbi_cmpsel,
239 mbi_dca_read_en,
240 mbi_dca_write_en,
241 lsu_mbi_dca_fail,
242 mbi_dta_read_en,
243 mbi_dta_write_en,
244 lsu_mbi_dta_fail,
245 mbi_dva_read_en,
246 mbi_dva_write_en,
247 lsu_mbi_dva_fail,
248 mbi_lru_read_en,
249 mbi_lru_write_en,
250 lsu_mbi_lru_fail,
251 mbi_dtb_read_en,
252 mbi_dtb_write_en,
253 lsu_mbi_dtb_fail,
254 mbi_stb_cam_read_en,
255 mbi_stb_cam_write_en,
256 lsu_mbi_stb_cam_fail,
257 mbi_stb_ram_read_en,
258 mbi_stb_ram_write_en,
259 lsu_mbi_stb_ram_fail,
260 mbi_cpq_read_en,
261 mbi_cpq_write_en,
262 lsu_mbi_cpq_fail,
263 mbi_cambist_run,
264 mbi_cambist_shift,
265 mbi_dis_clr_ubit,
266 mbi_init_to_zero,
267 mbi_dtb_cam_en_pre,
268 mbi_repl_write,
269 mbi_dtb_demap_en,
270 mbi_demap_type,
271 lsu_mbi_tlb_data_cmp,
272 lsu_mbi_tlb_cam_hit,
273 lsu_mbi_tlb_cam_mhit,
274 lsu_mbi_tlb_ctxt0_hit,
275 lsu_mbi_tlb_valid,
276 lsu_mbi_tlb_used,
277 mbi_scm_cam_en_pre,
278 lsu_mbi_scm_hit,
279 lsu_mbi_scm_mhit,
280 lsu_mbi_scm_hit_ptr,
281 lsu_mbi_scm_praw,
282 dmo_coresel,
283 dmo_dcmuxctl,
284 dcc_dmo_parity,
285 lsu_ic_pmen,
286 lsu_ifu_cmu_pmen,
287 lsu_ifu_ftu_pmen,
288 lsu_ifu_ibu_pmen,
289 lsu_dec_pmen,
290 lsu_pku_pmen,
291 lsu_exu_pmen,
292 lsu_fgu_pmen,
293 lsu_tlu_pmen,
294 lsu_gkt_pmen,
295 lsu_spu_pmen,
296 lsu_mmu_pmen,
297 lsu_pmu_pmen,
298 lsu_misc_pmen,
299 lsu_asi_clken,
300 efu_spc_fuse_data,
301 efu_spc_fuse_dxfer_en,
302 efu_spc_fuse_dclr,
303 slow_cmp_sync_en,
304 cmp_slow_sync_en,
305 spc_efu_fuse_ddata,
306 spc_efu_fuse_dxfer_en,
307 vnw_ary);
308wire tcu_aclk;
309wire tcu_bclk;
310wire pce;
311wire rd_pce;
312wire wr_pce;
313wire bist_clk_mux_sel;
314wire [129:0] spc_pcx_data_pa;
315wire lsu_dc_pmen;
316wire [15:0] lsu_asi_pwr_mgmt;
317wire lsu_lsu_pmen;
318wire arc_scanin;
319wire arc_scanout;
320wire ard_scanin;
321wire ard_scanout;
322wire dcd_scanin;
323wire dcd_scanout;
324wire [7:0] dac_bist_cmp_data;
325wire dac_scanin;
326wire dac_scanout;
327wire [3:0] cache_way_hit_top_b;
328wire dcache_bypass_e_;
329wire dcc_dca_bypass_e_;
330wire dcache_clk_en_e;
331wire dcc_dca_clk_en_e;
332wire dcache_rclk_en_m;
333wire dcc_dca_rclk_en_m;
334wire dcache_wclk_en_e;
335wire dcc_dca_wclk_en_e;
336wire [10:4] exu_lsu_address_e_rep0;
337wire [10:3] dcc_dca_fill_addr_e;
338wire dcc_alt_addr_sel_e;
339wire dcc_dca_rvld_e;
340wire dcc_dca_wvld_e;
341wire [15:0] dcp_parity;
342wire [127:0] dcp_fill_data_e;
343wire [1:0] dcc_dca_fill_way_e;
344wire [15:0] dcc_dca_byte_wr_en_e;
345wire [3:0] dcc_alt_rsel_way_m;
346wire dcc_alt_way_sel_m;
347wire [3:0] tlb_cache_way_hit_b;
348wire dca_scanin;
349wire dca_scanout;
350wire [63:0] dca_ld_data_b;
351wire [7:0] dca_rparity_b;
352wire dca_perr_w0_b;
353wire dca_perr_w1_b;
354wire dca_perr_w2_b;
355wire dca_perr_w3_b;
356wire [63:0] lmd_fill_or_byp_data_m_rep1;
357wire [7:0] dca_msb_w0_b;
358wire [7:0] dca_msb_w1_b;
359wire [7:0] dca_msb_w2_b;
360wire [7:0] dca_msb_w3_b;
361wire [6:0] hdr_sram_rvalue;
362wire [1:0] hdr_sram_rid;
363wire hdr_sram_wr_en;
364wire hdr_sram_red_clr;
365wire [5:0] dca_fuse_repair_value;
366wire [1:1] dca_fuse_repair_en_unused;
367wire dca_fuse_repair_en;
368wire dcc_mbi_run;
369wire [3:0] lru_unused;
370wire [3:0] lru_parity_unused;
371wire [23:0] lru_rdata_m;
372wire lru_scanin;
373wire lru_scanout;
374wire [10:6] tgc_dva_rd_addr_e;
375wire dcc_lru_rvld_e;
376wire [10:6] dcc_lru_wr_addr_w;
377wire dcc_lru_wvld_w;
378wire [3:0] dcc_lru_wen_w;
379wire [5:0] dcc_lru_wdata_w;
380wire [39:13] tlb_pgnum;
381wire [47:0] sbd_st_predata_b_rep0;
382wire tlb_tte_ie_b_rep01;
383wire [3:0] tgc_cache_way_vld2_m;
384wire [3:0] cache_way_hit_bot_b;
385wire dcc_scanin;
386wire dcc_scanout;
387wire dcs_wmr_scanin;
388wire dcs_wmr_scanout;
389wire dcs_scanin;
390wire dcs_scanout;
391wire [63:0] sbd_st_data2_b_rep0;
392wire [63:0] stb_ram_data_rep0;
393wire lmd_scanin;
394wire lmd_scanout;
395wire [1:0] lmd_fill_way_m;
396wire [10:4] lmd_fill_addr_m;
397wire lmc_scanin;
398wire lmc_scanout;
399wire [60:40] dcc_ld_miss_ctl;
400wire stb_cam_hit_rep0;
401wire [39:3] lmd_fill_addr_e;
402wire [2:0] cid_tid_unbuf;
403wire sbc_pic_kill_store_p4_;
404wire pic_scanin;
405wire pic_scanout;
406wire [4:0] cic_cpq_wptr;
407wire cic_cpq_wr_en;
408wire [4:0] cic_cpq_rptr;
409wire cic_cpq_rd_en;
410wire [151:0] cpq_din;
411wire cpq_scanin;
412wire cpq_scanout;
413wire [151:0] cpq_dout;
414wire [145:0] cid_cpq_wdata;
415wire [145:0] cpq_rdata;
416wire [5:0] cpq_unused;
417wire cid_scanin;
418wire cid_scanout;
419wire cic_mbi_run;
420wire red_scanin;
421wire red_scanout;
422wire cic_scanin;
423wire cic_scanout;
424wire cid_atomic_unbuf;
425wire asc_scanin;
426wire asc_scanout;
427wire asd_scanin;
428wire asd_scanout;
429wire pid_scanin;
430wire pid_scanout;
431wire [63:0] stb_ram_data_corr;
432wire [44:0] stb_cam_data_rep0;
433wire sbs0_scanin;
434wire sbs0_scanout;
435wire tlb_tte_ie_b_rep00;
436wire [7:0] sbc_cam_wvld_m;
437wire [7:0] sbc_st_sel_p3;
438wire [7:0] lsu_block_store_b;
439wire [7:0] cic_st_ack;
440wire [7:0] cic_st_dequeue;
441wire [7:0] cic_rmo_dequeue;
442wire [7:0] dcc_sync_inst_w;
443wire [7:0] dcc_asi_rtn_vld;
444wire [2:0] sbs0_stb_wptr_m;
445wire [2:0] sbs0_stb_rptr;
446wire [7:0] sbs0_state_vld;
447wire [7:0] sbs0_state_ced;
448wire [7:0] sbs_state_asi_rngf;
449wire [7:0] sbs_pcx_pst_ie_p4;
450wire [7:0] sbs_all_commited;
451wire [7:0] sbs_stb_empty;
452wire [7:0] sbs_stb_full;
453wire [7:0] sbs_bst_req;
454wire [7:0] sbc_bst_sel;
455wire [7:0] sbc_st_addr_new;
456wire [7:0] sbs_asi_indet_req;
457wire [7:0] sbs_asi_indet_retire;
458wire [7:0] sbs_rmo_st_p4;
459wire [7:0] sbs_blk_st_p4;
460wire [1:0] sbs0_st_type;
461wire [7:0] sbs_asi_rq_vld;
462wire [7:0] sbs_atm_rq_vld;
463wire [7:0] sbs_pcx_rq_vld;
464wire sbs1_scanin;
465wire sbs1_scanout;
466wire [2:0] sbs1_stb_wptr_m;
467wire [2:0] sbs1_stb_rptr;
468wire [7:0] sbs1_state_vld;
469wire [7:0] sbs1_state_ced;
470wire [1:0] sbs1_st_type;
471wire sbs2_scanin;
472wire sbs2_scanout;
473wire [2:0] sbs2_stb_wptr_m;
474wire [2:0] sbs2_stb_rptr;
475wire [7:0] sbs2_state_vld;
476wire [7:0] sbs2_state_ced;
477wire [1:0] sbs2_st_type;
478wire sbs3_scanin;
479wire sbs3_scanout;
480wire [2:0] sbs3_stb_wptr_m;
481wire [2:0] sbs3_stb_rptr;
482wire [7:0] sbs3_state_vld;
483wire [7:0] sbs3_state_ced;
484wire [1:0] sbs3_st_type;
485wire sbs4_scanin;
486wire sbs4_scanout;
487wire [2:0] sbs4_stb_wptr_m;
488wire [2:0] sbs4_stb_rptr;
489wire [7:0] sbs4_state_vld;
490wire [7:0] sbs4_state_ced;
491wire [1:0] sbs4_st_type;
492wire sbs5_scanin;
493wire sbs5_scanout;
494wire [2:0] sbs5_stb_wptr_m;
495wire [2:0] sbs5_stb_rptr;
496wire [7:0] sbs5_state_vld;
497wire [7:0] sbs5_state_ced;
498wire [1:0] sbs5_st_type;
499wire sbs6_scanin;
500wire sbs6_scanout;
501wire [2:0] sbs6_stb_wptr_m;
502wire [2:0] sbs6_stb_rptr;
503wire [7:0] sbs6_state_vld;
504wire [7:0] sbs6_state_ced;
505wire [1:0] sbs6_st_type;
506wire sbs7_scanin;
507wire sbs7_scanout;
508wire [2:0] sbs7_stb_wptr_m;
509wire [2:0] sbs7_stb_rptr;
510wire [7:0] sbs7_state_vld;
511wire [7:0] sbs7_state_ced;
512wire [1:0] sbs7_st_type;
513wire sbc_scanin;
514wire sbc_scanout;
515wire spd_scanin;
516wire spd_scanout;
517wire sec_scanin;
518wire sec_scanout;
519wire [63:0] sec_corr_bit;
520wire stb_cecc_err;
521wire stb_uecc_err;
522wire sed_scanin;
523wire sed_scanout;
524wire [7:0] bist_cmp_data_rep0;
525wire sbc_mbi_run;
526wire sbd_scanin;
527wire sbd_scanout;
528wire [63:0] exu_lsu_store_data_e_rep0;
529wire [39:3] stb_st_addr_m;
530wire [7:0] dcc_ldst_bmask;
531wire dcc_stb_cam_vld_m;
532wire [2:0] sbc_cam_tid;
533wire [7:0] stb_cam_line_en_b;
534wire [5:0] sbc_cam_rwptr;
535wire sbc_cam_wptr_vld_m;
536wire sbc_cam_rptr_vld;
537wire dcc_stb_quad_ld_cam;
538wire stb_cam_scanin;
539wire stb_cam_scanout;
540wire [44:0] stb_cam_data;
541wire stb_ld_part_raw;
542wire [2:0] stb_cam_hit_ptr;
543wire stb_cam_hit;
544wire stb_cam_mhit;
545wire [5:0] sbc_ram_rptr;
546wire sbc_ram_rptr_vld;
547wire sbc_ram_wptr_vld_b;
548wire [5:0] sbc_ram_wptr;
549wire [83:0] stb_ram_din;
550wire stb_ram_scanin;
551wire stb_ram_scanout;
552wire [83:0] stb_ram_dout;
553wire [63:0] sbd_st_datab_b;
554wire [13:0] sed_ecc_b;
555wire [2:0] sbc_stb_ctl_data;
556wire stb_cparity;
557wire [63:0] stb_ram_rd_data;
558wire [1:0] stb_ram_unused;
559wire [13:0] stb_ram_rd_ecc;
560wire [2:0] stb_ram_rd_ctl;
561wire stb_ram_rd_cparity;
562wire dta_clken;
563wire dcc_dta_clken;
564wire [29:0] dta_rdata_w0_m;
565wire [29:0] dta_rdata_w1_m;
566wire [29:0] dta_rdata_w2_m;
567wire [29:0] dta_rdata_w3_m;
568wire dta_scanin;
569wire dta_scanout;
570wire [10:4] dcc_dta_fill_addr_e;
571wire dcc_dta_index1_sel_e;
572wire [1:0] dcc_dta_fill_way_e;
573wire dcc_dta_rvld_e;
574wire dcc_dta_wvld_e;
575wire dcc_dta_parity;
576wire [15:0] dva_valid2_m;
577wire [15:0] dva_valid_m;
578wire dva_scanin;
579wire dva_scanout;
580wire dcc_dva_rvld_e;
581wire [10:6] dcc_dva_wr_addr_e;
582wire dcc_dva_wvld_e;
583wire [15:0] dcc_dva_bit_wen_e;
584wire [31:0] tgc_dva_din;
585wire tgc_scanin;
586wire tgc_scanout;
587wire [47:0] lsu_va_m;
588wire tgd_scanin;
589wire tgd_scanout;
590wire tte_ubit;
591wire tld_ubit;
592wire dcc_tlb_bypass;
593wire tlc_wr_u_en;
594wire dcc_tlb_rd_e;
595wire [6:0] tld_rw_index;
596wire tlc_rw_index_vld;
597wire dcc_tlb_lookup;
598wire tlc_demap;
599wire tlc_demap_context;
600wire tlc_demap_all;
601wire tlc_demap_real;
602wire [12:0] tgd_tag_c1;
603wire [2:0] tld_tag_pid;
604wire tld_tag_real;
605wire tld_tag_valid;
606wire [12:0] tgd_tag_c0;
607wire [2:0] tld_tag_mask;
608wire [37:0] tld_data;
609wire tlc_dis_clr_ubit;
610wire [28:0] dta_rdata_w0_rep;
611wire [28:0] dta_rdata_w1_rep;
612wire [28:0] dta_rdata_w2_rep;
613wire [28:0] dta_rdata_w3_rep;
614wire [3:0] tgc_cache_way_vld_m;
615wire tlb_cache_hit_b;
616wire tlb_scanin;
617wire tlb_scanout;
618wire tld_scanin;
619wire tld_scanout;
620wire [2:0] dcs_pid_e;
621wire dcc_tlb_real;
622wire tlc_scanin;
623wire tlc_scanout;
624wire tld_mbi_dtb_write_en;
625wire tld_mbi_repl_write;
626wire tld_mbi_dis_clr_ubit;
627wire tld_mbi_dtb_demap_en;
628wire [1:0] tld_mbi_demap_type;
629wire ard_retl_ctl_1f;
630wire ard_retl_vld_1f;
631wire ard_retl_rd_1f;
632wire [2:0] ard_retl_tid_1f;
633wire ard_retl_ack_1f;
634wire [1:0] ard_retl_exc_1f;
635wire ard_retf_ctl_1f;
636wire ard_retf_vld_1f;
637wire ard_retf_rd_1f;
638wire [2:0] ard_retf_tid_1f;
639wire ard_retf_ack_1f;
640wire [1:0] ard_retf_exc_1f;
641wire arc_retl_vld_2f;
642wire arc_retf_vld_2f;
643wire arc_sel_fast;
644wire [6:0] arc_pid_ctl_2f;
645wire [63:0] ard_pid_data;
646wire [7:1] dac_byte_one_extend;
647wire [7:1] dac_byte_sel_data;
648wire dac_swap7_byte0_l;
649wire dac_swap7_byte3_l;
650wire dac_swap7_byte4_l;
651wire dac_swap7_byte7_l;
652wire dac_swap6_byte1_l;
653wire dac_swap6_byte2_l;
654wire dac_swap6_byte5_l;
655wire dac_swap6_byte6_l;
656wire dac_swap5_byte1_l;
657wire dac_swap5_byte2_l;
658wire dac_swap5_byte5_l;
659wire dac_swap5_byte6_l;
660wire dac_swap4_byte0_l;
661wire dac_swap4_byte3_l;
662wire dac_swap4_byte4_l;
663wire dac_swap4_byte7_l;
664wire dac_swap3_byte0_r;
665wire dac_swap3_byte3_r;
666wire dac_swap3_byte4_r;
667wire dac_swap3_byte7_r;
668wire dac_swap2_byte1_r;
669wire dac_swap2_byte2_r;
670wire dac_swap2_byte5_r;
671wire dac_swap2_byte6_r;
672wire dac_swap1_byte0_r;
673wire dac_swap1_byte1_r;
674wire dac_swap1_byte2_r;
675wire dac_swap1_byte3_r;
676wire dac_swap1_byte4_r;
677wire dac_swap1_byte5_r;
678wire dac_swap1_byte6_r;
679wire dac_swap1_byte7_r;
680wire dac_swap0_byte0_r;
681wire dac_swap0_byte1_r;
682wire dac_swap0_byte2_r;
683wire dac_swap0_byte3_r;
684wire dac_swap0_byte4_r;
685wire dac_swap0_byte5_r;
686wire dac_swap0_byte6_r;
687wire dac_swap0_byte7_r;
688wire [1:0] dcd_dca_data_compare;
689wire dcs_memref_m;
690wire [47:0] lsu_mmu_va_m;
691wire dcc_ld_inst_vld_m;
692wire dcc_l2fill_vld_m;
693wire dcc_lendian_pre_m;
694wire dcc_bendian_byp_m;
695wire [2:0] dcc_baddr_m;
696wire [1:0] dcc_ld_sz_m;
697wire dcc_signed_m;
698wire lmc_asi_bypass_m;
699wire lmc_byp_vld_m;
700wire [7:0] lmd_misc_msb_m;
701wire [7:0] bist_wdata_1;
702wire lsu_lsu_pmen_;
703wire [127:0] lmd_fill_data_e;
704wire [7:0] dcc_parity_invert;
705wire tlc_use_primary_context_c0;
706wire tlc_use_secondary_context_c0;
707wire [2:0] tld_tid;
708wire tlc_wr_or_demap;
709wire tld_va_m_eq_zero;
710wire [1:0] lmd_sz_m;
711wire lmd_fpld_m;
712wire lmd_sxt_fsr_m;
713wire [4:0] lmd_rd_m;
714wire lmd_fpodd32b_m;
715wire lmd_fp32b_m;
716wire lmd_bendian_m;
717wire [2:0] lmd_ld_addr_m;
718wire [1:0] lmd_fill_way_e;
719wire lmd_wrtag_parity_e;
720wire [2:0] lmc_cpq_tid_m;
721wire [7:0] lmc_thrd_byp_sel_e;
722wire [2:0] lmc_byp_tid_m;
723wire [7:0] lmc_pref_issued;
724wire lmc_bld_annul;
725wire lmc_bld_last_e;
726wire lmc_bld_miss_e;
727wire lmc_full_raw_w;
728wire lmc_ld_stall;
729wire lmc_l2_err_noup;
730wire lmc_l2_uerr;
731wire tlb_tte_cp_b;
732wire tlb_tte_wbit_b;
733wire tlb_tte_ebit_b;
734wire tlb_tte_pbit_b;
735wire tlb_tte_nfo_b;
736wire tlb_cam_hit;
737wire tlb_cam_mhit;
738wire [2:0] tlb_pgsize;
739wire tlb_context0_hit;
740wire tlb_tag_parity;
741wire tlb_tte_data_parity;
742wire [7:0] dcs_asi_d;
743wire [7:0] dcs_wpt_mask_m;
744wire [1:0] dcs_wpt_enable_m;
745wire [1:0] dcs_wpt_mode_m;
746wire [7:0] dcs_dc_enable;
747wire dcs_dmmu_enable_d;
748wire [20:0] lsu_va_b;
749wire cic_l2fill_vld_e;
750wire cic_cpq_ld_sel;
751wire cic_invalidate_e;
752wire cic_xinval_e;
753wire cic_st_update_e;
754wire cic_rtn_cmplt;
755wire cic_oddrd_e;
756wire [15:0] cic_inv_wen_e;
757wire cic_cpq_stall;
758wire [2:0] cid_tid;
759wire [1:0] cid_xway;
760wire [10:3] cid_st_addr;
761wire [1:0] cid_st_way;
762wire [7:0] cid_st_bmask;
763wire [10:6] cid_inv_index;
764wire cid_ncache;
765wire cid_atomic;
766wire cid_l2miss;
767wire sbc_bst_in_prog_m;
768wire [2:0] sbc_tid_m;
769wire [7:0] lsu_block_store_alloc;
770wire tgd_w0_parity_b;
771wire tgd_w1_parity_b;
772wire tgd_w2_parity_b;
773wire tgd_w3_parity_b;
774wire tgd_va_wp_47_16;
775wire tgd_va_wp_15_3;
776wire tgd_pa_wp_39_16;
777wire tgd_pa_wp_15_3;
778wire tgd_prty_256m_b;
779wire tgd_prty_4m_b;
780wire tgd_prty_64k_b;
781wire tgd_prty_8k_b;
782wire tgd_prty_ctxt0_b;
783wire tgd_prty_ctxt1_b;
784wire [3:0] tgc_verr_b;
785wire [7:0] bist_cmp_data;
786wire [1:0] bist_cmpsel_1;
787wire [8:5] bist_addr_1;
788wire bist_srm_rd_1;
789wire bist_scm_rd_1;
790wire dcc_exception_flush_b;
791wire dcc_asi_load_m;
792wire dcc_asi_load_b;
793wire dcc_asi_store_b;
794wire dcc_asi_iomap_m;
795wire dcc_asi_iomap_b;
796wire dcc_asi_rngf_b;
797wire dcc_asi_indet_b;
798wire dcc_binit_st_b;
799wire dcc_dva_din_e;
800wire dcc_dva_din2_e;
801wire dcc_cache_diag_wr_m;
802wire dcc_cache_diag_wr_b;
803wire dcc_bmask_parity_b;
804wire dcc_ld_miss_b;
805wire dcc_early_ld_b;
806wire [1:0] dcc_ctxt_tid0_d;
807wire [1:0] dcc_ctxt_tid1_d;
808wire dcc_ctxt_tg_d;
809wire [2:0] dcc_tid_e;
810wire [2:0] dcc_tid_m;
811wire [2:0] dcc_tid_b;
812wire [7:0] dcc_asi_m;
813wire dcc_ld_inst_unqual_e;
814wire dcc_pref_inst_m;
815wire dcc_std_inst_m;
816wire dcc_ldstub_inst_m;
817wire dcc_atomic_b;
818wire dcc_casa_inst_b;
819wire dcc_pst_asi_b;
820wire dcc_tte_vld_m;
821wire [1:0] dcc_ldst_sz_m;
822wire dcc_fp32b_sel_m;
823wire dcc_blk_inst_m;
824wire dcc_blk_inst_b;
825wire dcc_ldbl_b;
826wire dcc_ncache_b;
827wire [1:0] dcc_st_rq_type_w;
828wire dcc_sync_pipe_w;
829wire dcc_priv_b;
830wire dcc_hpriv_b;
831wire dcc_pctxt_sel_e;
832wire dcc_sctxt_sel_e;
833wire dcc_ld_miss_ldd;
834wire [7:0] dcc_asi_reload_sel;
835wire [7:0] dcc_wr_wtchpt;
836wire [7:0] dcc_wr_lsu_ctl_reg;
837wire dcc_wr_pwr_mgmt;
838wire dcc_ceter_wr_w;
839wire dcc_p0ctxt_rd_m;
840wire dcc_p1ctxt_rd_m;
841wire dcc_s0ctxt_rd_m;
842wire dcc_s1ctxt_rd_m;
843wire dcc_pid_rd_m;
844wire dcc_wtchpt_sel_m;
845wire dcc_demap_asi_m;
846wire dcc_wtchpt_rd_b;
847wire dcc_rd_lsu_ctl_reg_b;
848wire dcc_rd_diag_reg_b;
849wire dcc_rd_diag_dca_b;
850wire dcc_rd_core_id_b;
851wire dcc_rd_intr_id_b;
852wire dcc_rd_dt_diag_m;
853wire dcc_rd_dt_diag_b;
854wire dcc_stb_diag_rd_m;
855wire dcc_rd_error_inj_b;
856wire dcc_rd_pwr_mgmt_b;
857wire dcc_wr_error_inj_m;
858wire dcc_wr_error_inj_w;
859wire dcc_tlb_data_read_b;
860wire dcc_tlb_tag0_read_b;
861wire dcc_tlb_tag1_read_b;
862wire dcc_tlb_rw_index_e;
863wire dcc_rd_rhs_asi_b;
864wire dcc_lsu_asi_rd_b;
865wire dcc_lsu_asi_sel_w;
866wire dcc_stb_diag_sel_w3;
867wire dcc_stb_data_rd_w3;
868wire dcc_stb_ecc_rd_w3;
869wire dcc_stb_ctl_rd_w3;
870wire dcc_stb_addr_sel_w3;
871wire dcc_stb_ptr_rd_w3;
872wire dcc_direct_map;
873wire dcc_dcs_memref_e;
874wire dcc_perror_b;
875wire [1:0] dcc_perr_enc_b;
876wire [12:3] lsu_va_w;
877wire dcc_sbd_e_clken;
878wire dcc_sbd_m_clken;
879wire dcc_ldst_m_clken;
880wire dcc_asi_rtn_excp;
881wire dcc_asi_rtn_rd;
882wire [7:0] asc_wr_p0ctxt;
883wire [7:0] asc_wr_p1ctxt;
884wire [7:0] asc_wr_s0ctxt;
885wire [7:0] asc_wr_s1ctxt;
886wire [7:0] asc_wr_pid;
887wire [7:0] asc_wrasi;
888wire [63:0] tgd_ldxa_asi_data_b;
889wire [12:0] dcs_context0_e;
890wire [12:0] dcs_context1_e;
891wire [63:0] dcs_ldxa_asi_data_w;
892wire [47:3] dcs_watchpoint_m;
893wire [7:0] lmc_lmq_enable_b;
894wire [7:0] lmc_lmq_bypass_en;
895wire [7:0] lmc_pcx_sel_p4;
896wire [7:0] lmc_byp_sel_e;
897wire [7:0] lmc_thrd_byp_sel_m;
898wire [4:0] lmc_lmq0_byp_sel;
899wire [4:0] lmc_lmq1_byp_sel;
900wire [4:0] lmc_lmq2_byp_sel;
901wire [4:0] lmc_lmq3_byp_sel;
902wire [4:0] lmc_lmq4_byp_sel;
903wire [4:0] lmc_lmq5_byp_sel;
904wire [4:0] lmc_lmq6_byp_sel;
905wire [4:0] lmc_lmq7_byp_sel;
906wire [1:0] lmc_bld_addr54;
907wire lmc_bld_req;
908wire lmc_bld_req_;
909wire lmc_lmd_ncache_b;
910wire [7:0] lmc_rd_update;
911wire [7:0] lmc_ld_unfilled;
912wire lmc_bist_or_diag_e;
913wire lmc_byp_data_hi;
914wire lmc_byp_data_enable;
915wire [39:13] stb_st_addr_b;
916wire [39:3] sbd_st_addr_b;
917wire [63:0] stb_ldxa_asi_data_w;
918wire [127:0] cid_fill_data_e;
919wire cid_st_data_sel;
920wire cic_diag_data_sel_e;
921wire lmc_mbi_run;
922wire lmd_addrb2;
923wire [7:0] lmd_asi_ld;
924wire [7:0] lmd_asi_indet;
925wire [7:0] lmd_sec_cmp_b;
926wire lmd_fill_sz_b0_e;
927wire [2:1] lmd_rd_e;
928wire [63:0] lmd_bypass_data_m;
929wire [63:0] lmd_fill_or_byp_data_m;
930wire [2:0] lmd_pcx_rqtyp;
931wire lmd_pcx_nc;
932wire lmd_pcx_pref;
933wire [1:0] lmd_pcx_rway;
934wire [39:0] lmd_pcx_addr;
935wire lmd_asi_rngf;
936wire [1:0] lmd_asi_type;
937wire [7:0] lmd_asi_asi;
938wire lmd_sz_b1;
939wire lmd_sz_b0;
940wire lmd_ldbl;
941wire [1:0] lmd_dc_err_e;
942wire pic_casa_squash_req;
943wire pic_early_ld_b_sel_p3;
944wire pic_no_load_p3;
945wire pic_asi_busy;
946wire cic_cpq_ld_rdy;
947wire cic_cpq_ld_rdy_;
948wire cic_div_stall_d;
949wire [7:0] cic_xinval;
950wire cic_set_inval;
951wire cic_ext_interrupt;
952wire [1:0] cid_err;
953wire cid_dcsoc_err_e;
954wire [7:0] sbc_st_atom_p3;
955wire [7:0] sbc_rawp_rst;
956wire [2:0] sbc_st_sel_tid_p4;
957wire sbc_force_inv;
958wire lmc_pcx_rq_vld;
959wire lmc_asi_rq_vld;
960wire lmc_ld_rq_p3;
961wire lmc_ld_vld_p4;
962wire lmc_ld_no_req_p4;
963wire lmc_ld_inv_p4;
964wire [2:0] lmc_ld_tid;
965wire [7:0] lmc_ldd_vld;
966wire [4:0] lmc_ld_sz;
967wire lmc_ld_inst_w;
968wire lmc_asi_indet_retire;
969wire sbc_asi_rq_p3;
970wire sbc_pcx_rq_p3;
971wire sbc_st_atomic_p2;
972wire sbc_st_rq_p2;
973wire sbc_indet_block_p3;
974wire asc_pid_ack;
975wire lsu_ring_ctl;
976wire pic_ld_pcx_sel_p4;
977wire pic_st_pcx_sel_p3;
978wire pic_st_pcx_sel_p4;
979wire pic_st_asi_sel_p3;
980wire pic_st_asi_p4;
981wire pic_ld_asi_p4;
982wire pic_st_sel_p3;
983wire pic_asi_sel_p4;
984wire pic_asi_req;
985wire cic_byp_sel;
986wire cic_d1_sel;
987wire cic_cpq_sel;
988wire cic_fifo_sel;
989wire cic_fifo_clken;
990wire [4:0] cid_pkt_type;
991wire [2:0] cid_cpuid;
992wire cid_xinval;
993wire cid_pref;
994wire [15:0] cid_st_vector;
995wire [17:0] cid_inv_vec;
996wire cid_rmo_ack;
997wire cid_set_inval;
998wire cid_set_icinval;
999wire [4:0] cid_d1_rtntyp;
1000wire [2:0] cid_d1_tid;
1001wire [2:0] cid_d1_cpuid;
1002wire cid_d1_wv;
1003wire cid_d1_rmo;
1004wire cid_d1_pref;
1005wire [1:0] cid_d1_inval;
1006wire cid_cpq_cmp_1;
1007wire cid_cpq_cmp_2;
1008wire cid_cpq_cmp_3;
1009wire bist_cmpsel_2;
1010wire asd_p2a_vld;
1011wire asd_p2a_fast;
1012wire [63:56] asd_ring_ctl;
1013wire [7:0] asd_ring_asi;
1014wire [8:3] asd_ring_addr;
1015wire sbc_pid_kill_store_p4_;
1016wire asc_ring_ctl;
1017wire asc_ring_data;
1018wire asc_ring_local;
1019wire asc_ring_fast;
1020wire [127:0] pid_asi_pkt;
1021wire sbc_st_pcx_nc;
1022wire sbc_st_asi_fs;
1023wire [7:0] sbc_pcx_bmask;
1024wire [2:0] sbc_pcx_addr;
1025wire sbc_pcx_rmo_st;
1026wire sbc_pcx_blk_st;
1027wire [2:0] sbc_st_type_p4;
1028wire sbc_rmo_st_b;
1029wire sbc_bst_in_prog_b;
1030wire sbc_fgu_ecc_b;
1031wire sbc_bst_rd_err;
1032wire sbc_sbs_kill_store_p4_;
1033wire sbc_tte_vld_b;
1034wire sbc_blk_inst_b;
1035wire spd_st_line_match;
1036wire [2:0] stb_ram_ctl;
1037wire stb_cam_perr;
1038wire sed_bist_cmp_0;
1039wire sed_bist_cmp_1;
1040wire sed_bist_cmp_2;
1041wire sed_bist_cmp_3;
1042wire [7:0] sbc_thread_b;
1043wire sbc_st_int_sel_m;
1044wire sbc_std_le_m;
1045wire sbc_st_le_if_ie_m;
1046wire sbc_st_le_not_ie_m;
1047wire [1:0] sbc_st_sz_m;
1048wire sbc_inv_addr_prty;
1049wire [6:0] sbc_inv_ecc;
1050wire sbc_twocycle_inst_w;
1051wire [7:0] sbc_cam_line_en_m;
1052wire [2:0] sbc_diag_wptr_w3;
1053wire sbc_spd_clken;
1054wire sbc_ramout_clken;
1055wire sbc_tidb_eq_tidw;
1056wire sbc_load_bst_addr;
1057wire [2:0] sbc_bst_offset;
1058wire stb_ram_cparity;
1059wire stb_cparity_calc;
1060wire [1:0] sed_c1_lo;
1061wire [1:0] sed_c1_hi;
1062wire [1:0] sed_c2_lo;
1063wire [1:0] sed_c2_hi;
1064wire [1:0] sed_c4_lo;
1065wire [1:0] sed_c4_hi;
1066wire [1:0] sed_c8_lo;
1067wire [1:0] sed_c8_hi;
1068wire [1:0] sed_c16_lo;
1069wire [1:0] sed_c16_hi;
1070wire [2:0] sed_cf_lo;
1071wire [2:0] sed_cf_hi;
1072wire sed_c32_hi;
1073wire sed_c32_lo;
1074wire sec_st_sz_dw_std_le_b;
1075wire sec_st_sz_dw_le_not_ie_b;
1076wire sec_st_sz_dw_be_not_ie_b;
1077wire sec_st_sz_word_le_not_ie_b;
1078wire sec_st_sz_word_be_not_ie_b;
1079wire sec_st_sz_hw_le_not_ie_b;
1080wire sec_st_sz_hw_be_not_ie_b;
1081wire sec_st_sz_dw_le_if_ie_b;
1082wire sec_st_sz_dw_be_if_ie_b;
1083wire sec_st_sz_word_le_if_ie_b;
1084wire sec_st_sz_word_be_if_ie_b;
1085wire sec_st_sz_hw_le_if_ie_b;
1086wire sec_st_sz_hw_be_if_ie_b;
1087wire sec_st_sz_byte_b;
1088wire [63:0] sbd_st_data_b;
1089wire [63:0] stb_ram_data;
1090wire [39:13] tlb_pgnum_crit;
1091wire tlb_tte_ie_b;
1092wire [63:0] sbd_st_data2_b;
1093wire [47:0] sbd_st_predata_b;
1094wire tgd_bist_compare;
1095wire [1:0] tgc_way_sel_m;
1096wire bist_dta_cmp_en;
1097wire [37:0] tlb_tte_data;
1098wire [65:0] tlb_tte_tag;
1099wire tlb_tte_u_bit;
1100wire tld_prty_256m;
1101wire tld_prty_4m;
1102wire tld_prty_64k;
1103wire tld_prty_8k;
1104wire tld_prty_ctxt0;
1105wire tld_prty_ctxt1;
1106wire [12:0] tld_tag_c0;
1107wire [12:0] tld_tag_c1;
1108wire tlc_sel_tte_tag;
1109wire tlc_sel_demap_tag_c0;
1110wire tlc_sel_demap_tag_c1;
1111wire tlc_sel_write_tag;
1112wire tlc_sel_dm_tag;
1113wire tlc_sel_wr_dm_bist;
1114wire tlc_write_next;
1115wire tlc_tte0_clken;
1116wire tlc_tte1_clken;
1117wire tlc_tag_error_inj;
1118wire tlc_data_error_inj;
1119wire tlc_mbi_run;
1120wire [2:0] tld_demap_control0;
1121wire [3:0] tld_demap_control1;
1122wire tld_use_secondary_context0;
1123wire tld_index_valid;
1124
1125
1126input l2clk;
1127input scan_in;
1128input wmr_scan_in;
1129input tcu_pce_ov; // scan signals
1130input spc_aclk_wmr;
1131input spc_aclk;
1132input spc_bclk;
1133input tcu_scan_en;
1134input tcu_array_wr_inhibit;
1135input tcu_se_scancollar_in;
1136input tcu_se_scancollar_out;
1137input lb_scan_en_wmr;
1138output scan_out;
1139output wmr_scan_out;
1140
1141input [2:0] const_cpuid; // hardwired CPU ID
1142
1143////////////////////
1144// IFU interface
1145
1146input ifu_lsu_if_vld; // indicates ifetch to L2 (used for xinval)
1147input [2:0] ifu_lsu_if_tid; // indicates ifetch tid (used for xinval)
1148input [10:5] ifu_lsu_if_addr; // index of ifetch request
1149
1150output [12:0] lsu_ifu_ctxt_data; // Value to write into context register
1151output [2:0] lsu_ifu_tid_w; // TID for context write
1152output lsu_ifu_wr_p0ctxt; // Update primary context0
1153output lsu_ifu_wr_p1ctxt; // Update primary context1
1154output lsu_ifu_wr_pid; // Update partition ID
1155output [7:0] lsu_immu_enable; // ASI_LSU_CTL_REG.IM
1156output [7:0] lsu_ic_enable; // ASI_LSU_CTL_REG.IC
1157output [10:5] lsu_ifu_ld_index; // Index of load being returned (for xinval)
1158output lsu_ifu_direct_map; // ASI_LSU_DIAG_REG.IASSOCDIS
1159output [7:0] lsu_ifu_no_miss; // IFU must wait to handle a miss until xinval is done
1160
1161// Flopped versions to IFU
1162output [127:0] lsu_cpx_data;
1163output [17:0] lsu_cpx_cpkt;
1164output lsu_cpx_valid;
1165
1166////////////////////
1167// DEC interface
1168
1169// 0in assert_leader -leader dec_ld_inst_d -follower dec_ld_inst_e -min 1 -max 1
1170
1171input dec_lsu_tg_d; // Thread group of instruction in D
1172input dec_ld_inst_d; // Load instruction in D
1173input dec_ld_inst_e; // Load instruction in E
1174input dec_st_inst_e; // Store instruction in E
1175input dec_fpldst_inst_e; // Float ldst instruction in E
1176input dec_fsr_ldst_e; // LDFSR/STFSR instruction in E
1177input dec_ldst_dbl_e; // LDD/STD instruction in E
1178input dec_pref_inst_e; // Prefetch instruction in E
1179input dec_flush_inst_e; // Flush instruction in E
1180input dec_memstbar_inst_e; // Membar/stbar instruction in E
1181input dec_sr_inst_e; // Rd/wr State register instruction in E
1182input dec_pr_inst_e; // Rd/wr priv. register instruction in E
1183input dec_hpr_inst_e; // Rd/wr hyper priv. register instruction in E
1184input dec_casa_inst_e; // CASA instruction in E
1185input dec_ldstub_inst_e; // LDSTUB instruction in E
1186input dec_swap_inst_e; // SWAP instruction in E
1187input dec_altspace_d; // Memory access to alternate space
1188input dec_sign_ext_e; // Instruction requiring sign extension of data (op3[3:2]==10)
1189input [1:0] dec_ldst_sz_e; // Size bits for the instruction in E
1190input [4:0] dec_lsu_rd_e; // Dest. register for load data
1191input [4:0] dec_sraddr_e; // State register address for instruction in E
1192input dec_imm_asi_vld_d; // Instruction in D uses immediate ASI
1193input [7:0] dec_imm_asi_d; // Value of the immediate ASI
1194input [4:3] dec_frf_r2_addr_e; // Register offset for block store burst
1195input dec_flush_lm; // Flush the instruction in M
1196input dec_flush_lb; // Flush the instruction in B
1197input [1:0] dec_lsu_tid0_d; // TID for TG0
1198input [1:0] dec_lsu_tid1_d; // TID for TG1
1199
1200output lsu_block_store_stall; // Initiate block store burst sequence
1201output [4:3] lsu_block_store_rd; // Value of Rd for block store burst
1202output [2:0] lsu_block_store_tid; // Thread ID of block store burst
1203output lsu_cpq_stall; // Halt decode of load instructions so cpq can drain
1204
1205
1206////////////////////
1207// PKU interface
1208
1209output [7:0] lsu_sync; // Switch out thread
1210output [7:0] lsu_complete; // Resume thread
1211output [7:0] lsu_stb_alloc; // Entry committed in STB
1212output [7:0] lsu_stb_dealloc; // Entry dequeued from STB
1213output [7:0] lsu_block_store_kill; // Reset spec and committed counters to zero
1214
1215////////////////////
1216// TLU interface
1217
1218input tlu_flush_lsu_b; // Flush the instruction in B
1219input [7:0] tlu_pstate_cle; // PSTATE.CLE bit for the 8 threads
1220input [7:0] tlu_asi_0; // Value for ASI reload
1221input [7:0] tlu_asi_1; // Value for ASI reload
1222input [1:0] tlu_asi_0_tid; // Thread for ASI reload
1223input [1:0] tlu_asi_1_tid; // Thread for ASI reload
1224input tlu_asi_0_valid; // Enable ASI reload
1225input tlu_asi_1_valid; // Enable ASI reload
1226input [7:0] tlu_lsu_hpstate_hpriv; // HPSTATE.HPRIV setting
1227input [7:0] tlu_lsu_pstate_priv; // PSTATE.PRIV setting
1228input [7:0] tlu_tl_gt_0; // Indicates TL>0
1229input [7:0] tlu_lsu_clear_ctl_reg_; // Clear ASI_LSU_CONTROL_REG
1230input [54:0] tlu_tte; // (Really just a copy of the fast ring)
1231
1232input tlu_cerer_dttp;
1233input tlu_cerer_dttm;
1234input tlu_cerer_dtdp;
1235input tlu_cerer_dcvp;
1236input tlu_cerer_dctp;
1237input tlu_cerer_dctm;
1238input tlu_cerer_dcdp;
1239input tlu_cerer_dcl2c;
1240input tlu_cerer_dcl2u;
1241input tlu_cerer_dcl2nd;
1242input tlu_cerer_sbdlc;
1243input tlu_cerer_sbdlu;
1244input tlu_cerer_sbapp;
1245input tlu_cerer_sbdiou;
1246input tlu_cerer_sbdpc;
1247input tlu_cerer_sbdpu;
1248input tlu_cerer_l2c_socc;
1249input tlu_cerer_l2u_socu;
1250
1251
1252output [7:0] lsu_stb_empty; // STB is empty
1253output [7:0] lsu_trap_flush; // Initiate Trap flush
1254output lsu_tlb_bypass_b; // Inst in B bypassed TLB
1255output lsu_tlb_real_b; // Inst in B did RA->PA translation
1256output lsu_align_b; // mem_address_not_aligned exception
1257output lsu_lddf_align_b; // LDDF_mem_address_not_aligned
1258output lsu_stdf_align_b; // STDF_mem_address_not_aligned
1259output lsu_dae_invalid_asi_b;
1260output lsu_dae_nc_page_b;
1261output lsu_dae_nfo_page_b;
1262output lsu_dae_priv_viol_b;
1263output lsu_dae_so_page;
1264output lsu_priv_action_b; // privileged_action
1265output lsu_va_watchpoint_b; // VA_watchpoint
1266output lsu_pa_watchpoint_b; // PA_watchpoint
1267output lsu_tlb_miss_b_; // TLB access missed (TLU figures trap type)
1268output lsu_illegal_inst_b; // illegal_instruction
1269output lsu_daccess_prot_b; // data_access_protection
1270output lsu_perfmon_trap_b; // performance monitor trap
1271output lsu_perfmon_trap_g; // performance monitor trap
1272output lsu_priv_action_g; // privileged_opcode for long latency op
1273output [2:0] lsu_tid_g; // TID for late priv_action exception
1274output [1:0] lsu_tlu_dsfsr_ct_b;
1275
1276output lsu_sync_inst_b; // Inst in B is synchronizing
1277output lsu_tlu_twocycle_m;
1278output [31:0] lsu_asi_error_inject;
1279
1280// D$ parity error reporting
1281output lsu_dcmh_err_g; // D$ valid parity error
1282output lsu_dcvp_err_g; // D$ valid parity error
1283output lsu_dctp_err_g; // D$ tag parity error
1284output lsu_dcdp_err_g; // D$ data parity error
1285
1286// Reporting L2 ecc errors for loads
1287output lsu_dcl2c_err_g; // L2 correctable error
1288output lsu_dcl2u_err_g; // L2 uncorrectable error
1289output lsu_dcl2nd_err_g; // L2 NotData error
1290output lsu_dcsoc_err_g; // Indicates error was from SOC (vs. L2)
1291
1292// 0in bits_on -var {lsu_dcmh_err_g,lsu_dcvp_err_g,lsu_dctp_err_g,lsu_dcdp_err_g,lsu_dcl2c_err_g,lsu_dcl2u_err_g,lsu_dcl2nd_err_g} -max 1 -message "multiple DC errors reported"
1293
1294// This tid is for D$ and L2 errors - only one can occur at a time.
1295output [2:0] lsu_dcerr_tid_g; // TID of D$ error
1296output [8:0] lsu_dcerr_sfar_g; // Contains the way and index of the error
1297
1298// STB errors
1299output lsu_sbdlc_err_g; // STB RAW error (CE)
1300output lsu_sbdlu_err_g; // STB RAW error (UE)
1301output lsu_sbdpc_err_g; // STB read for issue data ECC error (CE)
1302output lsu_sbdpu_err_g; // STB read for issue data ECC error (UE)
1303output lsu_sbapp_err_g; // STB read for issue address parity error
1304output lsu_sbdiou_err_g; // STB read for issue UE error on IO or ASI
1305output [2:0] lsu_stberr_tid_g; // TID of STB error
1306output [2:0] lsu_stberr_index_g; // Index of STB error
1307output [1:0] lsu_stberr_priv_g; // Encoded priv level of store (00=user, 01=priv, 10=hpriv, 11=error)
1308output lsu_stb_flush_g; // A store is being flushed from the STB
1309
1310// TLB errors
1311output lsu_dttp_err_b; // DTLB tag parity error
1312output lsu_dtdp_err_b; // DTLB data parity error
1313output lsu_dtmh_err_b; // DTLB data parity error
1314
1315// 0in assert_leader -leader lsu_complete[0] -follower (lsu_perfmon_trap_g & (lsu_dcerr_tid_g[2:0] == 3'd0)) -max 1 -min 1
1316// 0in assert_leader -leader lsu_complete[1] -follower (lsu_perfmon_trap_g & (lsu_dcerr_tid_g[2:0] == 3'd1)) -max 1 -min 1
1317// 0in assert_leader -leader lsu_complete[2] -follower (lsu_perfmon_trap_g & (lsu_dcerr_tid_g[2:0] == 3'd2)) -max 1 -min 1
1318// 0in assert_leader -leader lsu_complete[3] -follower (lsu_perfmon_trap_g & (lsu_dcerr_tid_g[2:0] == 3'd3)) -max 1 -min 1
1319// 0in assert_leader -leader lsu_complete[4] -follower (lsu_perfmon_trap_g & (lsu_dcerr_tid_g[2:0] == 3'd4)) -max 1 -min 1
1320// 0in assert_leader -leader lsu_complete[5] -follower (lsu_perfmon_trap_g & (lsu_dcerr_tid_g[2:0] == 3'd5)) -max 1 -min 1
1321// 0in assert_leader -leader lsu_complete[6] -follower (lsu_perfmon_trap_g & (lsu_dcerr_tid_g[2:0] == 3'd6)) -max 1 -min 1
1322// 0in assert_leader -leader lsu_complete[7] -follower (lsu_perfmon_trap_g & (lsu_dcerr_tid_g[2:0] == 3'd7)) -max 1 -min 1
1323
1324output lsu_ext_interrupt;
1325output [1:0] lsu_ext_int_type;
1326output [5:0] lsu_ext_int_vec;
1327output [2:0] lsu_ext_int_tid;
1328
1329////////////////////
1330// MMU interface
1331input mmu_dtlb_reload; // DTLB reload operation
1332output [47:0] lsu_mmu_va_b; // virtual address in B
1333output [12:0] lsu_context_b; // context of access in B
1334
1335////////////////////
1336// EXU interface
1337
1338input [7:0] exu_lsu_rs2_e; // RS2 data for partial stores
1339input [47:0] exu_lsu_address_e; // Calculated EA
1340input [63:0] exu_lsu_store_data_e; // Store data from IRF
1341input [1:0] exu_lsu_va_error_m; // VA error requiring a flush
1342input [1:0] exu_ecc_m; // ECC error requiring a flush
1343
1344output [63:0] lsu_exu_ld_data_b; // IRF load return data
1345output lsu_exu_ld_vld_w; // IRF load return is valid
1346output lsu_exu_ld_b; // IRF load return is coming (but may be flushed)
1347output [4:0] lsu_exu_rd_m; // Address of destination register
1348output [2:0] lsu_exu_tid_m; // Thread ID of load return
1349
1350output [47:13] lsu_exu_address_e;
1351output lsu_sel_lsu_addr_e;
1352
1353////////////////////
1354// FGU interface
1355
1356input [63:0] fgu_lsu_fst_data_fx1; // Store data from FRF
1357input fgu_fst_ecc_error_fx2; // FRF read encountered ECC error
1358input fgu_fdiv_stall; // Divide completing soon (see lsu_cic_ctl for timing)
1359
1360output [63:0] lsu_fgu_fld_data_b; // FRF load return data
1361output lsu_fgu_fld_vld_w; // FRF load return is valid
1362output lsu_fgu_fld_b; // FRF load return is coming (but may be flushed)
1363output [4:0] lsu_fgu_fld_addr_b; // Register address for load data
1364output [2:0] lsu_fgu_fld_tid_b; // FRF load data thread ID
1365output lsu_fgu_fld_32b_b; // FRF load return is 32 bits
1366output lsu_fgu_fld_odd32b_b; // FRF load return to odd 32b dest
1367output lsu_fgu_fsr_load_b; // FP load dest is %fsr, not FRF
1368output lsu_fgu_exception_w; // Signal exceptions to FGU (for STFSR)
1369output lsu_block_store_m; // Block store data transfer in "M" stage
1370output lsu_frf_read_pending;
1371
1372////////////////////
1373// PMU interface
1374input pmu_lsu_dcmiss_trap_m; // Enable D$ miss perfmon trap
1375input pmu_lsu_dtmiss_trap_m; // Enable DTLB miss perfmon trap
1376input [7:0] pmu_lsu_l2dmiss_trap_m; // Enable L2 load miss permon trap
1377output [2:0] lsu_pmu_mem_type_b; // Perfmon event {5:3 - tid ; 2:0 - {l2 d-miss, dt_miss, d-cache miss}}
1378
1379///////////////////////////////////
1380// External gasket interface
1381input l15_lsu_grant; // One packet released to PCX
1382
1383output lsu_l15_lock; // Request is atomic
1384output lsu_l15_valid; // LSU requests PCX access
1385output [39:0] lsu_l15_addr; // PCX request address
1386output [25:0] lsu_l15_cpkt; // PCX request control
1387output [63:0] lsu_l15_data; // PCX request data
1388
1389input [145:0] cpx_spc_data_cx;
1390
1391///////////////////////////////////
1392// External ASI interfaces
1393input [64:0] tlu_rngf_cdbus; // 65 bit control/data bus from the fast ring
1394input tlu_rngf_cdbus_error; // error signaled on same cycle as data
1395input [64:0] rngl_lsu_cdbus; // 65 bit control/data bus from the local ring
1396
1397//output [62:0] lsu_ring_cdbus; // 65 bit control/data bus to the local ring
1398//output lsu_rngf_cdbus_b63; // 65 bit control/data bus to the fast ring
1399//output lsu_rngl_cdbus_b63; // 65 bit control/data bus to the fast ring
1400//output lsu_ring_ctl;
1401output [64:0] lsu_rngf_cdbus; // 65 bit control/data bus to the local ring
1402output [64:0] lsu_rngl_cdbus; // 65 bit control/data bus to the local ring
1403
1404///////////////////////////////////
1405// BIST interface
1406input lbist_run;
1407input [8:0] mbi_addr;
1408input mbi_run;
1409input [7:0] mbi_wdata;
1410input mbi_ptag_data;
1411input [1:0] mbi_cmpsel;
1412
1413input mbi_dca_read_en;
1414input mbi_dca_write_en;
1415output lsu_mbi_dca_fail;
1416
1417input mbi_dta_read_en;
1418input mbi_dta_write_en;
1419output lsu_mbi_dta_fail;
1420
1421input mbi_dva_read_en;
1422input mbi_dva_write_en;
1423output lsu_mbi_dva_fail;
1424
1425input mbi_lru_read_en;
1426input mbi_lru_write_en;
1427output lsu_mbi_lru_fail;
1428
1429input mbi_dtb_read_en;
1430input mbi_dtb_write_en;
1431output lsu_mbi_dtb_fail;
1432
1433input mbi_stb_cam_read_en;
1434input mbi_stb_cam_write_en;
1435output lsu_mbi_stb_cam_fail;
1436
1437input mbi_stb_ram_read_en;
1438input mbi_stb_ram_write_en;
1439output lsu_mbi_stb_ram_fail;
1440
1441input mbi_cpq_read_en;
1442input mbi_cpq_write_en;
1443output lsu_mbi_cpq_fail;
1444
1445input mbi_cambist_run;
1446input mbi_cambist_shift;
1447input mbi_dis_clr_ubit;
1448input mbi_init_to_zero;
1449input mbi_dtb_cam_en_pre;
1450input mbi_repl_write;
1451input mbi_dtb_demap_en;
1452input [1:0] mbi_demap_type;
1453
1454output lsu_mbi_tlb_data_cmp;
1455output lsu_mbi_tlb_cam_hit;
1456output lsu_mbi_tlb_cam_mhit;
1457output lsu_mbi_tlb_ctxt0_hit;
1458output lsu_mbi_tlb_valid;
1459output lsu_mbi_tlb_used;
1460
1461input mbi_scm_cam_en_pre;
1462
1463output lsu_mbi_scm_hit;
1464output lsu_mbi_scm_mhit;
1465output [2:0] lsu_mbi_scm_hit_ptr;
1466output lsu_mbi_scm_praw;
1467
1468input dmo_coresel;
1469input dmo_dcmuxctl;
1470
1471output [3:0] dcc_dmo_parity;
1472
1473///////////////////////////////////
1474// Power management signals
1475output lsu_ic_pmen;
1476output lsu_ifu_cmu_pmen;
1477output lsu_ifu_ftu_pmen;
1478output lsu_ifu_ibu_pmen;
1479output lsu_dec_pmen ;
1480output lsu_pku_pmen ;
1481output lsu_exu_pmen ;
1482output lsu_fgu_pmen ;
1483output lsu_tlu_pmen ;
1484output lsu_gkt_pmen ;
1485output lsu_spu_pmen ;
1486output lsu_mmu_pmen ;
1487output lsu_pmu_pmen ;
1488output lsu_misc_pmen ;
1489output lsu_asi_clken;
1490
1491/////////////////////////////////////
1492// EFU interface
1493
1494input efu_spc_fuse_data;
1495input efu_spc_fuse_dxfer_en;
1496input efu_spc_fuse_dclr;
1497input slow_cmp_sync_en;
1498input cmp_slow_sync_en;
1499output spc_efu_fuse_ddata;
1500output spc_efu_fuse_dxfer_en;
1501
1502input vnw_ary;
1503
1504
1505assign tcu_aclk = spc_aclk;
1506assign tcu_bclk = spc_bclk;
1507assign pce = 1'b1;
1508assign rd_pce = 1'b1;
1509assign wr_pce = 1'b1;
1510assign bist_clk_mux_sel = 1'b0;
1511
1512// Reassign gasket interface to match existing ccx interfaces
1513//assign cpx_spc_data_cx[145:0] = {l15_spc_valid,l15_spc_cpkt[17:13],l15_spc_cpkt[11:0],l15_spc_data1[127:0]};
1514assign lsu_l15_cpkt[25:0] = spc_pcx_data_pa[129:104];
1515assign lsu_l15_addr[39:0] = spc_pcx_data_pa[103:64];
1516assign lsu_l15_data[63:0] = spc_pcx_data_pa[63:0];
1517
1518assign lsu_dc_pmen = lsu_asi_pwr_mgmt[15];
1519assign lsu_ic_pmen = lsu_asi_pwr_mgmt[14];
1520assign lsu_ifu_cmu_pmen = lsu_asi_pwr_mgmt[13];
1521assign lsu_ifu_ftu_pmen = lsu_asi_pwr_mgmt[12];
1522assign lsu_ifu_ibu_pmen = lsu_asi_pwr_mgmt[11];
1523assign lsu_dec_pmen = lsu_asi_pwr_mgmt[10];
1524assign lsu_pku_pmen = lsu_asi_pwr_mgmt[9];
1525assign lsu_lsu_pmen = lsu_asi_pwr_mgmt[8];
1526assign lsu_exu_pmen = lsu_asi_pwr_mgmt[7];
1527assign lsu_fgu_pmen = lsu_asi_pwr_mgmt[6];
1528assign lsu_tlu_pmen = lsu_asi_pwr_mgmt[5];
1529assign lsu_gkt_pmen = lsu_asi_pwr_mgmt[4];
1530assign lsu_spu_pmen = lsu_asi_pwr_mgmt[3];
1531assign lsu_mmu_pmen = lsu_asi_pwr_mgmt[2];
1532assign lsu_pmu_pmen = lsu_asi_pwr_mgmt[1];
1533assign lsu_misc_pmen = lsu_asi_pwr_mgmt[0];
1534
1535lsu_arc_ctl arc (
1536 .scan_in(arc_scanin),
1537 .scan_out(arc_scanout),
1538 .l2clk (l2clk),
1539 .tcu_pce_ov(tcu_pce_ov),
1540 .tcu_scan_en(tcu_scan_en),
1541 .spc_aclk(spc_aclk),
1542 .spc_bclk(spc_bclk),
1543 .ard_retl_ctl_1f(ard_retl_ctl_1f),
1544 .ard_retl_vld_1f(ard_retl_vld_1f),
1545 .ard_retl_rd_1f(ard_retl_rd_1f),
1546 .ard_retl_tid_1f(ard_retl_tid_1f[2:0]),
1547 .ard_retl_ack_1f(ard_retl_ack_1f),
1548 .ard_retl_exc_1f(ard_retl_exc_1f[1:0]),
1549 .ard_retf_ctl_1f(ard_retf_ctl_1f),
1550 .ard_retf_vld_1f(ard_retf_vld_1f),
1551 .ard_retf_rd_1f(ard_retf_rd_1f),
1552 .ard_retf_tid_1f(ard_retf_tid_1f[2:0]),
1553 .ard_retf_ack_1f(ard_retf_ack_1f),
1554 .ard_retf_exc_1f(ard_retf_exc_1f[1:0]),
1555 .lsu_asi_clken(lsu_asi_clken),
1556 .tlu_rngf_cdbus_error(tlu_rngf_cdbus_error),
1557 .arc_retl_vld_2f(arc_retl_vld_2f),
1558 .arc_retf_vld_2f(arc_retf_vld_2f),
1559 .arc_sel_fast(arc_sel_fast),
1560 .arc_pid_ctl_2f(arc_pid_ctl_2f[6:0]),
1561 .lsu_priv_action_g(lsu_priv_action_g),
1562 .lsu_tid_g(lsu_tid_g[2:0])
1563);
1564
1565lsu_ard_dp ard (
1566 .scan_in(ard_scanin),
1567 .scan_out(ard_scanout),
1568 .l2clk (l2clk),
1569 .tcu_pce_ov(tcu_pce_ov),
1570 .tcu_scan_en(tcu_scan_en),
1571 .spc_aclk(spc_aclk),
1572 .spc_bclk(spc_bclk),
1573 .rngl_lsu_cdbus(rngl_lsu_cdbus[64:0]),
1574 .tlu_rngf_cdbus(tlu_rngf_cdbus[64:0]),
1575 .arc_retl_vld_2f(arc_retl_vld_2f),
1576 .arc_retf_vld_2f(arc_retf_vld_2f),
1577 .arc_sel_fast(arc_sel_fast),
1578 .lsu_asi_clken(lsu_asi_clken),
1579 .ard_retl_ctl_1f(ard_retl_ctl_1f),
1580 .ard_retl_vld_1f(ard_retl_vld_1f),
1581 .ard_retl_rd_1f(ard_retl_rd_1f),
1582 .ard_retl_tid_1f(ard_retl_tid_1f[2:0]),
1583 .ard_retl_ack_1f(ard_retl_ack_1f),
1584 .ard_retl_exc_1f(ard_retl_exc_1f[1:0]),
1585 .ard_retf_ctl_1f(ard_retf_ctl_1f),
1586 .ard_retf_vld_1f(ard_retf_vld_1f),
1587 .ard_retf_rd_1f(ard_retf_rd_1f),
1588 .ard_retf_tid_1f(ard_retf_tid_1f[2:0]),
1589 .ard_retf_ack_1f(ard_retf_ack_1f),
1590 .ard_retf_exc_1f(ard_retf_exc_1f[1:0]),
1591 .ard_pid_data(ard_pid_data[63:0])
1592);
1593
1594lsu_dcd_dp dcd (
1595 .scan_in(dcd_scanin),
1596 .scan_out(dcd_scanout),
1597 .l2clk (l2clk),
1598 .bist_cmp_data (dac_bist_cmp_data[7:0]),
1599 .tcu_pce_ov(tcu_pce_ov),
1600 .tcu_scan_en(tcu_scan_en),
1601 .spc_aclk(spc_aclk),
1602 .spc_bclk(spc_bclk),
1603 .dca_ld_data_b(dca_ld_data_b[63:0]),
1604 .dac_byte_one_extend(dac_byte_one_extend[7:1]),
1605 .dac_byte_sel_data(dac_byte_sel_data[7:1]),
1606 .dac_swap7_byte0_l(dac_swap7_byte0_l),
1607 .dac_swap7_byte3_l(dac_swap7_byte3_l),
1608 .dac_swap7_byte4_l(dac_swap7_byte4_l),
1609 .dac_swap7_byte7_l(dac_swap7_byte7_l),
1610 .dac_swap6_byte1_l(dac_swap6_byte1_l),
1611 .dac_swap6_byte2_l(dac_swap6_byte2_l),
1612 .dac_swap6_byte5_l(dac_swap6_byte5_l),
1613 .dac_swap6_byte6_l(dac_swap6_byte6_l),
1614 .dac_swap5_byte1_l(dac_swap5_byte1_l),
1615 .dac_swap5_byte2_l(dac_swap5_byte2_l),
1616 .dac_swap5_byte5_l(dac_swap5_byte5_l),
1617 .dac_swap5_byte6_l(dac_swap5_byte6_l),
1618 .dac_swap4_byte0_l(dac_swap4_byte0_l),
1619 .dac_swap4_byte3_l(dac_swap4_byte3_l),
1620 .dac_swap4_byte4_l(dac_swap4_byte4_l),
1621 .dac_swap4_byte7_l(dac_swap4_byte7_l),
1622 .dac_swap3_byte0_r(dac_swap3_byte0_r),
1623 .dac_swap3_byte3_r(dac_swap3_byte3_r),
1624 .dac_swap3_byte4_r(dac_swap3_byte4_r),
1625 .dac_swap3_byte7_r(dac_swap3_byte7_r),
1626 .dac_swap2_byte1_r(dac_swap2_byte1_r),
1627 .dac_swap2_byte2_r(dac_swap2_byte2_r),
1628 .dac_swap2_byte5_r(dac_swap2_byte5_r),
1629 .dac_swap2_byte6_r(dac_swap2_byte6_r),
1630 .dac_swap1_byte0_r(dac_swap1_byte0_r),
1631 .dac_swap1_byte1_r(dac_swap1_byte1_r),
1632 .dac_swap1_byte2_r(dac_swap1_byte2_r),
1633 .dac_swap1_byte3_r(dac_swap1_byte3_r),
1634 .dac_swap1_byte4_r(dac_swap1_byte4_r),
1635 .dac_swap1_byte5_r(dac_swap1_byte5_r),
1636 .dac_swap1_byte6_r(dac_swap1_byte6_r),
1637 .dac_swap1_byte7_r(dac_swap1_byte7_r),
1638 .dac_swap0_byte0_r(dac_swap0_byte0_r),
1639 .dac_swap0_byte1_r(dac_swap0_byte1_r),
1640 .dac_swap0_byte2_r(dac_swap0_byte2_r),
1641 .dac_swap0_byte3_r(dac_swap0_byte3_r),
1642 .dac_swap0_byte4_r(dac_swap0_byte4_r),
1643 .dac_swap0_byte5_r(dac_swap0_byte5_r),
1644 .dac_swap0_byte6_r(dac_swap0_byte6_r),
1645 .dac_swap0_byte7_r(dac_swap0_byte7_r),
1646 .lsu_exu_ld_data_b(lsu_exu_ld_data_b[63:0]),
1647 .lsu_fgu_fld_data_b(lsu_fgu_fld_data_b[63:0]),
1648 .dcd_dca_data_compare(dcd_dca_data_compare[1:0]),
1649 .dcs_memref_m(dcs_memref_m),
1650 .lsu_mmu_va_m(lsu_mmu_va_m[47:0]),
1651 .lsu_mmu_va_b(lsu_mmu_va_b[47:0])
1652);
1653
1654lsu_dac_ctl dac (
1655 .scan_in(dac_scanin),
1656 .scan_out(dac_scanout),
1657 .l2clk (l2clk),
1658 .tlb_cache_way_hit_b (cache_way_hit_top_b[3:0]),
1659 .dcc_ld_inst_vld_m(dcc_ld_inst_vld_m),
1660 .dcc_l2fill_vld_m(dcc_l2fill_vld_m),
1661 .dcc_lendian_pre_m(dcc_lendian_pre_m),
1662 .dcc_bendian_byp_m(dcc_bendian_byp_m),
1663 .dcc_baddr_m(dcc_baddr_m[2:0]),
1664 .dcc_ld_sz_m(dcc_ld_sz_m[1:0]),
1665 .dcc_signed_m(dcc_signed_m),
1666 .lmc_asi_bypass_m(lmc_asi_bypass_m),
1667 .lmc_byp_vld_m(lmc_byp_vld_m),
1668 .lmd_misc_msb_m(lmd_misc_msb_m[7:0]),
1669 .dca_msb_w0_b(dca_msb_w0_b[7:0]),
1670 .dca_msb_w1_b(dca_msb_w1_b[7:0]),
1671 .dca_msb_w2_b(dca_msb_w2_b[7:0]),
1672 .dca_msb_w3_b(dca_msb_w3_b[7:0]),
1673 .dac_swap7_byte0_l(dac_swap7_byte0_l),
1674 .dac_swap7_byte3_l(dac_swap7_byte3_l),
1675 .dac_swap7_byte4_l(dac_swap7_byte4_l),
1676 .dac_swap7_byte7_l(dac_swap7_byte7_l),
1677 .dac_swap6_byte1_l(dac_swap6_byte1_l),
1678 .dac_swap6_byte2_l(dac_swap6_byte2_l),
1679 .dac_swap6_byte5_l(dac_swap6_byte5_l),
1680 .dac_swap6_byte6_l(dac_swap6_byte6_l),
1681 .dac_swap5_byte1_l(dac_swap5_byte1_l),
1682 .dac_swap5_byte2_l(dac_swap5_byte2_l),
1683 .dac_swap5_byte5_l(dac_swap5_byte5_l),
1684 .dac_swap5_byte6_l(dac_swap5_byte6_l),
1685 .dac_swap4_byte0_l(dac_swap4_byte0_l),
1686 .dac_swap4_byte3_l(dac_swap4_byte3_l),
1687 .dac_swap4_byte4_l(dac_swap4_byte4_l),
1688 .dac_swap4_byte7_l(dac_swap4_byte7_l),
1689 .dac_swap3_byte0_r(dac_swap3_byte0_r),
1690 .dac_swap3_byte3_r(dac_swap3_byte3_r),
1691 .dac_swap3_byte4_r(dac_swap3_byte4_r),
1692 .dac_swap3_byte7_r(dac_swap3_byte7_r),
1693 .dac_swap2_byte1_r(dac_swap2_byte1_r),
1694 .dac_swap2_byte2_r(dac_swap2_byte2_r),
1695 .dac_swap2_byte5_r(dac_swap2_byte5_r),
1696 .dac_swap2_byte6_r(dac_swap2_byte6_r),
1697 .dac_swap1_byte0_r(dac_swap1_byte0_r),
1698 .dac_swap1_byte1_r(dac_swap1_byte1_r),
1699 .dac_swap1_byte2_r(dac_swap1_byte2_r),
1700 .dac_swap1_byte3_r(dac_swap1_byte3_r),
1701 .dac_swap1_byte4_r(dac_swap1_byte4_r),
1702 .dac_swap1_byte5_r(dac_swap1_byte5_r),
1703 .dac_swap1_byte6_r(dac_swap1_byte6_r),
1704 .dac_swap1_byte7_r(dac_swap1_byte7_r),
1705 .dac_swap0_byte0_r(dac_swap0_byte0_r),
1706 .dac_swap0_byte1_r(dac_swap0_byte1_r),
1707 .dac_swap0_byte2_r(dac_swap0_byte2_r),
1708 .dac_swap0_byte3_r(dac_swap0_byte3_r),
1709 .dac_swap0_byte4_r(dac_swap0_byte4_r),
1710 .dac_swap0_byte5_r(dac_swap0_byte5_r),
1711 .dac_swap0_byte6_r(dac_swap0_byte6_r),
1712 .dac_swap0_byte7_r(dac_swap0_byte7_r),
1713 .dac_byte_one_extend(dac_byte_one_extend[7:1]),
1714 .dac_byte_sel_data(dac_byte_sel_data[7:1]),
1715 .tcu_pce_ov(tcu_pce_ov),
1716 .tcu_scan_en(tcu_scan_en),
1717 .spc_aclk(spc_aclk),
1718 .spc_bclk(spc_bclk),
1719 .lbist_run(lbist_run),
1720 .mbi_run(mbi_run),
1721 .bist_wdata_1(bist_wdata_1[7:0]),
1722 .dac_bist_cmp_data(dac_bist_cmp_data[7:0]),
1723 .lsu_lsu_pmen_(lsu_lsu_pmen_),
1724 .dmo_coresel(dmo_coresel),
1725 .dmo_dcmuxctl(dmo_dcmuxctl)
1726);
1727
1728assign dcache_bypass_e_ = dcc_dca_bypass_e_;
1729assign dcache_clk_en_e = dcc_dca_clk_en_e;
1730assign dcache_rclk_en_m = dcc_dca_rclk_en_m;
1731assign dcache_wclk_en_e = dcc_dca_wclk_en_e;
1732
1733n2_dca_sp_9kb_cust dca (
1734 .dcache_rd_addr_e ({exu_lsu_address_e_rep0[10:4],exu_lsu_address_e[3]}),
1735 .dcache_alt_addr_e (dcc_dca_fill_addr_e[10:3]),
1736 .dcache_alt_addr_sel_e (dcc_alt_addr_sel_e),
1737 .dcache_rvld_e (dcc_dca_rvld_e),
1738 .dcache_wvld_e (dcc_dca_wvld_e),
1739 .dcache_wdata_e ({dcp_parity[15],dcp_fill_data_e[127:120],
1740 dcp_parity[14],dcp_fill_data_e[119:112],
1741 dcp_parity[13],dcp_fill_data_e[111:104],
1742 dcp_parity[12],dcp_fill_data_e[103:96],
1743 dcp_parity[11],dcp_fill_data_e[95:88],
1744 dcp_parity[10],dcp_fill_data_e[87:80],
1745 dcp_parity[9],dcp_fill_data_e[79:72],
1746 dcp_parity[8],dcp_fill_data_e[71:64],
1747 dcp_parity[7],dcp_fill_data_e[63:56],
1748 dcp_parity[6],dcp_fill_data_e[55:48],
1749 dcp_parity[5],dcp_fill_data_e[47:40],
1750 dcp_parity[4],dcp_fill_data_e[39:32],
1751 dcp_parity[3],dcp_fill_data_e[31:24],
1752 dcp_parity[2],dcp_fill_data_e[23:16],
1753 dcp_parity[1],dcp_fill_data_e[15:8],
1754 dcp_parity[0],dcp_fill_data_e[7:0] }),
1755 .dcache_wr_way_e (dcc_dca_fill_way_e[1:0]),
1756 .dcache_byte_wr_en_e (dcc_dca_byte_wr_en_e[15:0]),
1757 .dcache_alt_rsel_way_m (dcc_alt_rsel_way_m[3:0]),
1758 .dcache_alt_way_sel_m (dcc_alt_way_sel_m),
1759 .dcache_rsel_way_b (tlb_cache_way_hit_b[3:0]),
1760 .scan_in(dca_scanin),
1761 .scan_out(dca_scanout),
1762 .l2clk (l2clk),
1763 .dcache_rdata_b (dca_ld_data_b[63:0]),
1764 .dcache_rparity_b (dca_rparity_b[7:0]),
1765 .dcache_perr_w0_b (dca_perr_w0_b),
1766 .dcache_perr_w1_b (dca_perr_w1_b),
1767 .dcache_perr_w2_b (dca_perr_w2_b),
1768 .dcache_perr_w3_b (dca_perr_w3_b),
1769 .lsu_l2fill_or_byp_data_m (lmd_fill_or_byp_data_m_rep1[63:0]),
1770 .dcache_rdata_msb_w0_b (dca_msb_w0_b[7:0]),
1771 .dcache_rdata_msb_w1_b (dca_msb_w1_b[7:0]),
1772 .dcache_rdata_msb_w2_b (dca_msb_w2_b[7:0]),
1773 .dcache_rdata_msb_w3_b (dca_msb_w3_b[7:0]),
1774 .fuse_dca_repair_value (hdr_sram_rvalue[6:1]),
1775 .fuse_dca_repair_en ({2{hdr_sram_rvalue[0]}}),
1776 .fuse_dca_rid (hdr_sram_rid[1:0]),
1777 .fuse_dca_wen (hdr_sram_wr_en),
1778 .fuse_red_reset (hdr_sram_red_clr),
1779 .dca_fuse_repair_value (dca_fuse_repair_value[5:0]),
1780 .dca_fuse_repair_en ({dca_fuse_repair_en_unused[1],dca_fuse_repair_en}),
1781 .dcache_clk_en_e(dcache_clk_en_e),
1782 .dcache_wclk_en_e(dcache_wclk_en_e),
1783 .dcache_rclk_en_m(dcache_rclk_en_m),
1784 .dcache_bypass_e_(dcache_bypass_e_),
1785 .tcu_pce_ov(tcu_pce_ov),
1786 .tcu_aclk(tcu_aclk),
1787 .tcu_bclk(tcu_bclk),
1788 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
1789 .tcu_scan_en(tcu_scan_en),
1790 .tcu_se_scancollar_in(tcu_se_scancollar_in),
1791 .tcu_se_scancollar_out(tcu_se_scancollar_out),
1792 .vnw_ary(vnw_ary)
1793
1794);
1795
1796lsu_dcp_dp dcp (
1797 .mbi_run (dcc_mbi_run),
1798 .lmd_fill_data_e(lmd_fill_data_e[127:0]),
1799 .dcc_parity_invert(dcc_parity_invert[7:0]),
1800 .mbi_wdata(mbi_wdata[7:0]),
1801 .dcp_fill_data_e(dcp_fill_data_e[127:0]),
1802 .dcp_parity(dcp_parity[15:0])
1803);
1804
1805n2_dva_dp_32x32_cust lru (
1806 .dout ({lru_unused[3],lru_parity_unused[3],lru_rdata_m[23:18],
1807 lru_unused[2],lru_parity_unused[2],lru_rdata_m[17:12],
1808 lru_unused[1],lru_parity_unused[1],lru_rdata_m[11:6],
1809 lru_unused[0],lru_parity_unused[0],lru_rdata_m[5:0]}),
1810 .scan_in(lru_scanin),
1811 .scan_out(lru_scanout),
1812 .l2clk (l2clk),
1813 .rd_addr (tgc_dva_rd_addr_e[10:6]),
1814 .rd_en (dcc_lru_rvld_e),
1815 .wr_addr (dcc_lru_wr_addr_w[10:6]),
1816 .wr_en (dcc_lru_wvld_w),
1817 .bit_wen ({{8{dcc_lru_wen_w[3]}},{8{dcc_lru_wen_w[2]}},{8{dcc_lru_wen_w[1]}},{8{dcc_lru_wen_w[0]}}}),
1818 .din ({4{2'b00,dcc_lru_wdata_w[5:0]}}),
1819 .tcu_pce_ov(tcu_pce_ov),
1820 .tcu_se_scancollar_in(tcu_se_scancollar_in),
1821 .tcu_scan_en(tcu_scan_en),
1822 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
1823 .tcu_aclk(tcu_aclk),
1824 .tcu_bclk(tcu_bclk),
1825 .pce(pce)
1826);
1827
1828lsu_dcc_ctl dcc (
1829 .tlb_pgnum_b39 (tlb_pgnum[39]),
1830 .sbd_st_data_b (sbd_st_predata_b_rep0[1:0]),
1831 .mbi_cmpsel (mbi_cmpsel[0]),
1832 .tlb_tte_ie_b (tlb_tte_ie_b_rep01),
1833 .tgc_cache_way_vld_m (tgc_cache_way_vld2_m[3:0]),
1834 .tlb_cache_way_hit_b (cache_way_hit_bot_b[3:0]),
1835 .scan_in(dcc_scanin),
1836 .scan_out(dcc_scanout),
1837 .l2clk(l2clk),
1838 .dec_lsu_tg_d(dec_lsu_tg_d),
1839 .dec_ld_inst_d(dec_ld_inst_d),
1840 .dec_ld_inst_e(dec_ld_inst_e),
1841 .dec_st_inst_e(dec_st_inst_e),
1842 .dec_fpldst_inst_e(dec_fpldst_inst_e),
1843 .dec_fsr_ldst_e(dec_fsr_ldst_e),
1844 .dec_ldst_dbl_e(dec_ldst_dbl_e),
1845 .dec_pref_inst_e(dec_pref_inst_e),
1846 .dec_flush_inst_e(dec_flush_inst_e),
1847 .dec_memstbar_inst_e(dec_memstbar_inst_e),
1848 .dec_sr_inst_e(dec_sr_inst_e),
1849 .dec_pr_inst_e(dec_pr_inst_e),
1850 .dec_hpr_inst_e(dec_hpr_inst_e),
1851 .dec_casa_inst_e(dec_casa_inst_e),
1852 .dec_ldstub_inst_e(dec_ldstub_inst_e),
1853 .dec_swap_inst_e(dec_swap_inst_e),
1854 .dec_altspace_d(dec_altspace_d),
1855 .dec_sign_ext_e(dec_sign_ext_e),
1856 .dec_ldst_sz_e(dec_ldst_sz_e[1:0]),
1857 .dec_lsu_rd_e(dec_lsu_rd_e[4:0]),
1858 .dec_sraddr_e(dec_sraddr_e[4:0]),
1859 .dec_imm_asi_vld_d(dec_imm_asi_vld_d),
1860 .dec_imm_asi_d(dec_imm_asi_d[7:0]),
1861 .dec_flush_lm(dec_flush_lm),
1862 .dec_flush_lb(dec_flush_lb),
1863 .dec_lsu_tid0_d(dec_lsu_tid0_d[1:0]),
1864 .dec_lsu_tid1_d(dec_lsu_tid1_d[1:0]),
1865 .tlu_pstate_cle(tlu_pstate_cle[7:0]),
1866 .tlu_asi_0_tid(tlu_asi_0_tid[1:0]),
1867 .tlu_asi_1_tid(tlu_asi_1_tid[1:0]),
1868 .tlu_asi_0_valid(tlu_asi_0_valid),
1869 .tlu_asi_1_valid(tlu_asi_1_valid),
1870 .tlu_flush_lsu_b(tlu_flush_lsu_b),
1871 .tlu_lsu_hpstate_hpriv(tlu_lsu_hpstate_hpriv[7:0]),
1872 .tlu_lsu_pstate_priv(tlu_lsu_pstate_priv[7:0]),
1873 .tlu_tl_gt_0(tlu_tl_gt_0[7:0]),
1874 .tlu_lsu_clear_ctl_reg_(tlu_lsu_clear_ctl_reg_[7:0]),
1875 .tlu_cerer_dttp(tlu_cerer_dttp),
1876 .tlu_cerer_dttm(tlu_cerer_dttm),
1877 .tlu_cerer_dtdp(tlu_cerer_dtdp),
1878 .tlu_cerer_dcvp(tlu_cerer_dcvp),
1879 .tlu_cerer_dctp(tlu_cerer_dctp),
1880 .tlu_cerer_dctm(tlu_cerer_dctm),
1881 .tlu_cerer_dcdp(tlu_cerer_dcdp),
1882 .tlc_use_primary_context_c0(tlc_use_primary_context_c0),
1883 .tlc_use_secondary_context_c0(tlc_use_secondary_context_c0),
1884 .tld_tid(tld_tid[2:0]),
1885 .tlc_wr_or_demap(tlc_wr_or_demap),
1886 .tld_va_m_eq_zero(tld_va_m_eq_zero),
1887 .exu_lsu_va_error_m(exu_lsu_va_error_m[1:0]),
1888 .exu_ecc_m(exu_ecc_m[1:0]),
1889 .exu_lsu_rs2_e(exu_lsu_rs2_e[7:0]),
1890 .fgu_fst_ecc_error_fx2(fgu_fst_ecc_error_fx2),
1891 .lmd_sz_m(lmd_sz_m[1:0]),
1892 .lmd_fpld_m(lmd_fpld_m),
1893 .lmd_sxt_fsr_m(lmd_sxt_fsr_m),
1894 .lmd_rd_m(lmd_rd_m[4:0]),
1895 .lmd_fpodd32b_m(lmd_fpodd32b_m),
1896 .lmd_fp32b_m(lmd_fp32b_m),
1897 .lmd_bendian_m(lmd_bendian_m),
1898 .lmd_fill_addr_e(lmd_fill_addr_e[10:3]),
1899 .lmd_ld_addr_m(lmd_ld_addr_m[2:0]),
1900 .lmd_fill_way_e(lmd_fill_way_e[1:0]),
1901 .lmd_wrtag_parity_e(lmd_wrtag_parity_e),
1902 .lmc_cpq_tid_m(lmc_cpq_tid_m[2:0]),
1903 .lmc_thrd_byp_sel_e(lmc_thrd_byp_sel_e[7:0]),
1904 .lmc_byp_tid_m(lmc_byp_tid_m[2:0]),
1905 .lmc_byp_vld_m(lmc_byp_vld_m),
1906 .lmc_asi_bypass_m(lmc_asi_bypass_m),
1907 .lmc_pref_issued(lmc_pref_issued[7:0]),
1908 .lmc_bld_annul(lmc_bld_annul),
1909 .lmc_bld_last_e(lmc_bld_last_e),
1910 .lmc_bld_miss_e(lmc_bld_miss_e),
1911 .lmc_full_raw_w(lmc_full_raw_w),
1912 .lmc_ld_stall(lmc_ld_stall),
1913 .lmc_l2_err_noup(lmc_l2_err_noup),
1914 .lmc_l2_uerr(lmc_l2_uerr),
1915 .tlb_tte_cp_b(tlb_tte_cp_b),
1916 .tlb_tte_wbit_b(tlb_tte_wbit_b),
1917 .tlb_tte_ebit_b(tlb_tte_ebit_b),
1918 .tlb_tte_pbit_b(tlb_tte_pbit_b),
1919 .tlb_tte_nfo_b(tlb_tte_nfo_b),
1920 .tlb_cache_hit_b(tlb_cache_hit_b),
1921 .tlb_cam_hit(tlb_cam_hit),
1922 .tlb_cam_mhit(tlb_cam_mhit),
1923 .tlb_pgsize(tlb_pgsize[2:0]),
1924 .tlb_context0_hit(tlb_context0_hit),
1925 .tlb_tag_parity(tlb_tag_parity),
1926 .tlb_tte_data_parity(tlb_tte_data_parity),
1927 .dcs_asi_d(dcs_asi_d[7:0]),
1928 .dcs_wpt_mask_m(dcs_wpt_mask_m[7:0]),
1929 .dcs_wpt_enable_m(dcs_wpt_enable_m[1:0]),
1930 .dcs_wpt_mode_m(dcs_wpt_mode_m[1:0]),
1931 .dcs_dc_enable(dcs_dc_enable[7:0]),
1932 .dcs_dmmu_enable_d(dcs_dmmu_enable_d),
1933 .lsu_va_m(lsu_va_m[15:0]),
1934 .lsu_va_b(lsu_va_b[20:3]),
1935 .cic_l2fill_vld_e(cic_l2fill_vld_e),
1936 .cic_cpq_ld_sel(cic_cpq_ld_sel),
1937 .cic_invalidate_e(cic_invalidate_e),
1938 .cic_xinval_e(cic_xinval_e),
1939 .cic_st_update_e(cic_st_update_e),
1940 .cic_rtn_cmplt(cic_rtn_cmplt),
1941 .cic_oddrd_e(cic_oddrd_e),
1942 .cic_inv_wen_e(cic_inv_wen_e[15:0]),
1943 .cic_cpq_stall(cic_cpq_stall),
1944 .cid_tid(cid_tid[2:0]),
1945 .cid_xway(cid_xway[1:0]),
1946 .cid_st_addr(cid_st_addr[10:3]),
1947 .cid_st_way(cid_st_way[1:0]),
1948 .cid_st_bmask(cid_st_bmask[7:0]),
1949 .cid_inv_index(cid_inv_index[10:6]),
1950 .cid_ncache(cid_ncache),
1951 .cid_atomic(cid_atomic),
1952 .cid_l2miss(cid_l2miss),
1953 .stb_cam_hit(stb_cam_hit),
1954 .sbc_bst_in_prog_m(sbc_bst_in_prog_m),
1955 .sbc_tid_m(sbc_tid_m[2:0]),
1956 .lsu_block_store_alloc(lsu_block_store_alloc[7:0]),
1957 .lsu_block_store_kill(lsu_block_store_kill[7:0]),
1958 .tgd_w0_parity_b(tgd_w0_parity_b),
1959 .tgd_w1_parity_b(tgd_w1_parity_b),
1960 .tgd_w2_parity_b(tgd_w2_parity_b),
1961 .tgd_w3_parity_b(tgd_w3_parity_b),
1962 .tgd_va_wp_47_16(tgd_va_wp_47_16),
1963 .tgd_va_wp_15_3(tgd_va_wp_15_3),
1964 .tgd_pa_wp_39_16(tgd_pa_wp_39_16),
1965 .tgd_pa_wp_15_3(tgd_pa_wp_15_3),
1966 .tgd_prty_256m_b(tgd_prty_256m_b),
1967 .tgd_prty_4m_b(tgd_prty_4m_b),
1968 .tgd_prty_64k_b(tgd_prty_64k_b),
1969 .tgd_prty_8k_b(tgd_prty_8k_b),
1970 .tgd_prty_ctxt0_b(tgd_prty_ctxt0_b),
1971 .tgd_prty_ctxt1_b(tgd_prty_ctxt1_b),
1972 .tgc_verr_b(tgc_verr_b[3:0]),
1973 .dca_perr_w0_b(dca_perr_w0_b),
1974 .dca_perr_w1_b(dca_perr_w1_b),
1975 .dca_perr_w2_b(dca_perr_w2_b),
1976 .dca_perr_w3_b(dca_perr_w3_b),
1977 .dca_rparity_b(dca_rparity_b[7:0]),
1978 .lru_rdata_m(lru_rdata_m[23:0]),
1979 .ifu_lsu_if_vld(ifu_lsu_if_vld),
1980 .ifu_lsu_if_tid(ifu_lsu_if_tid[2:0]),
1981 .ifu_lsu_if_addr(ifu_lsu_if_addr[10:5]),
1982 .arc_pid_ctl_2f(arc_pid_ctl_2f[6:0]),
1983 .dcd_dca_data_compare(dcd_dca_data_compare[1:0]),
1984 .lbist_run(lbist_run),
1985 .mbi_addr(mbi_addr[8:0]),
1986 .mbi_wdata(mbi_wdata[7:0]),
1987 .mbi_run(mbi_run),
1988 .mbi_dca_read_en(mbi_dca_read_en),
1989 .mbi_dca_write_en(mbi_dca_write_en),
1990 .mbi_dta_read_en(mbi_dta_read_en),
1991 .mbi_dta_write_en(mbi_dta_write_en),
1992 .mbi_dva_read_en(mbi_dva_read_en),
1993 .mbi_dva_write_en(mbi_dva_write_en),
1994 .mbi_lru_read_en(mbi_lru_read_en),
1995 .mbi_lru_write_en(mbi_lru_write_en),
1996 .mbi_dtb_read_en(mbi_dtb_read_en),
1997 .mbi_dtb_cam_en_pre(mbi_dtb_cam_en_pre),
1998 .mbi_scm_cam_en_pre(mbi_scm_cam_en_pre),
1999 .dmo_dcmuxctl(dmo_dcmuxctl),
2000 .bist_cmp_data(bist_cmp_data[7:0]),
2001 .bist_cmpsel_1(bist_cmpsel_1[1:0]),
2002 .bist_addr_1(bist_addr_1[8:5]),
2003 .bist_srm_rd_1(bist_srm_rd_1),
2004 .bist_scm_rd_1(bist_scm_rd_1),
2005 .lsu_trap_flush(lsu_trap_flush[7:0]),
2006 .dcc_exception_flush_b(dcc_exception_flush_b),
2007 .dcc_asi_load_m(dcc_asi_load_m),
2008 .dcc_asi_load_b(dcc_asi_load_b),
2009 .dcc_asi_store_b(dcc_asi_store_b),
2010 .dcc_asi_iomap_m(dcc_asi_iomap_m),
2011 .dcc_asi_iomap_b(dcc_asi_iomap_b),
2012 .dcc_asi_rngf_b(dcc_asi_rngf_b),
2013 .dcc_asi_indet_b(dcc_asi_indet_b),
2014 .dcc_binit_st_b(dcc_binit_st_b),
2015 .dcc_dca_rvld_e(dcc_dca_rvld_e),
2016 .dcc_dca_wvld_e(dcc_dca_wvld_e),
2017 .dcc_dca_clk_en_e(dcc_dca_clk_en_e),
2018 .dcc_dca_wclk_en_e(dcc_dca_wclk_en_e),
2019 .dcc_dca_rclk_en_m(dcc_dca_rclk_en_m),
2020 .dcc_dca_bypass_e_(dcc_dca_bypass_e_),
2021 .dcc_dca_fill_way_e(dcc_dca_fill_way_e[1:0]),
2022 .dcc_dca_fill_addr_e(dcc_dca_fill_addr_e[10:3]),
2023 .dcc_dca_byte_wr_en_e(dcc_dca_byte_wr_en_e[15:0]),
2024 .dcc_parity_invert(dcc_parity_invert[7:0]),
2025 .dcc_dta_parity(dcc_dta_parity),
2026 .dcc_alt_addr_sel_e(dcc_alt_addr_sel_e),
2027 .dcc_alt_way_sel_m(dcc_alt_way_sel_m),
2028 .dcc_alt_rsel_way_m(dcc_alt_rsel_way_m[3:0]),
2029 .dcc_dta_fill_addr_e(dcc_dta_fill_addr_e[10:4]),
2030 .dcc_dta_fill_way_e(dcc_dta_fill_way_e[1:0]),
2031 .dcc_dta_wvld_e(dcc_dta_wvld_e),
2032 .dcc_dta_rvld_e(dcc_dta_rvld_e),
2033 .dcc_dta_index1_sel_e(dcc_dta_index1_sel_e),
2034 .dcc_dta_clken(dcc_dta_clken),
2035 .dcc_dva_wvld_e(dcc_dva_wvld_e),
2036 .dcc_dva_rvld_e(dcc_dva_rvld_e),
2037 .dcc_dva_din_e(dcc_dva_din_e),
2038 .dcc_dva_din2_e(dcc_dva_din2_e),
2039 .dcc_dva_wr_addr_e(dcc_dva_wr_addr_e[10:6]),
2040 .dcc_dva_bit_wen_e(dcc_dva_bit_wen_e[15:0]),
2041 .dcc_cache_diag_wr_m(dcc_cache_diag_wr_m),
2042 .dcc_cache_diag_wr_b(dcc_cache_diag_wr_b),
2043 .dcc_lru_rvld_e(dcc_lru_rvld_e),
2044 .dcc_lru_wvld_w(dcc_lru_wvld_w),
2045 .dcc_lru_wdata_w(dcc_lru_wdata_w[5:0]),
2046 .dcc_lru_wen_w(dcc_lru_wen_w[3:0]),
2047 .dcc_lru_wr_addr_w(dcc_lru_wr_addr_w[10:6]),
2048 .dcc_ldst_bmask(dcc_ldst_bmask[7:0]),
2049 .dcc_bmask_parity_b(dcc_bmask_parity_b),
2050 .dcc_ld_miss_b(dcc_ld_miss_b),
2051 .dcc_early_ld_b(dcc_early_ld_b),
2052 .dcc_stb_quad_ld_cam(dcc_stb_quad_ld_cam),
2053 .dcc_l2fill_vld_m(dcc_l2fill_vld_m),
2054 .dcc_ctxt_tid0_d(dcc_ctxt_tid0_d[1:0]),
2055 .dcc_ctxt_tid1_d(dcc_ctxt_tid1_d[1:0]),
2056 .dcc_ctxt_tg_d(dcc_ctxt_tg_d),
2057 .dcc_tid_e(dcc_tid_e[2:0]),
2058 .dcc_tid_m(dcc_tid_m[2:0]),
2059 .dcc_tid_b(dcc_tid_b[2:0]),
2060 .dcc_asi_m(dcc_asi_m[7:0]),
2061 .dcc_ld_inst_unqual_e(dcc_ld_inst_unqual_e),
2062 .dcc_ld_inst_vld_m(dcc_ld_inst_vld_m),
2063 .dcc_stb_cam_vld_m(dcc_stb_cam_vld_m),
2064 .dcc_baddr_m(dcc_baddr_m[2:0]),
2065 .dcc_signed_m(dcc_signed_m),
2066 .dcc_pref_inst_m(dcc_pref_inst_m),
2067 .dcc_std_inst_m(dcc_std_inst_m),
2068 .dcc_ldstub_inst_m(dcc_ldstub_inst_m),
2069 .dcc_atomic_b(dcc_atomic_b),
2070 .dcc_casa_inst_b(dcc_casa_inst_b),
2071 .dcc_lendian_pre_m(dcc_lendian_pre_m),
2072 .dcc_bendian_byp_m(dcc_bendian_byp_m),
2073 .dcc_pst_asi_b(dcc_pst_asi_b),
2074 .dcc_tte_vld_m(dcc_tte_vld_m),
2075 .dcc_ldst_sz_m(dcc_ldst_sz_m[1:0]),
2076 .dcc_ld_sz_m(dcc_ld_sz_m[1:0]),
2077 .dcc_fp32b_sel_m(dcc_fp32b_sel_m),
2078 .dcc_blk_inst_m(dcc_blk_inst_m),
2079 .dcc_blk_inst_b(dcc_blk_inst_b),
2080 .dcc_ldbl_b(dcc_ldbl_b),
2081 .dcc_ncache_b(dcc_ncache_b),
2082 .dcc_st_rq_type_w(dcc_st_rq_type_w[1:0]),
2083 .dcc_sync_pipe_w(dcc_sync_pipe_w),
2084 .dcc_priv_b(dcc_priv_b),
2085 .dcc_hpriv_b(dcc_hpriv_b),
2086 .dcc_pctxt_sel_e(dcc_pctxt_sel_e),
2087 .dcc_sctxt_sel_e(dcc_sctxt_sel_e),
2088 .dcc_ld_miss_ldd(dcc_ld_miss_ldd),
2089 .dcc_ld_miss_ctl(dcc_ld_miss_ctl[60:40]),
2090 .dcc_sync_inst_w(dcc_sync_inst_w[7:0]),
2091 .dcc_asi_reload_sel(dcc_asi_reload_sel[7:0]),
2092 .dcc_wr_wtchpt(dcc_wr_wtchpt[7:0]),
2093 .dcc_wr_lsu_ctl_reg(dcc_wr_lsu_ctl_reg[7:0]),
2094 .dcc_wr_pwr_mgmt(dcc_wr_pwr_mgmt),
2095 .dcc_ceter_wr_w(dcc_ceter_wr_w),
2096 .dcc_p0ctxt_rd_m(dcc_p0ctxt_rd_m),
2097 .dcc_p1ctxt_rd_m(dcc_p1ctxt_rd_m),
2098 .dcc_s0ctxt_rd_m(dcc_s0ctxt_rd_m),
2099 .dcc_s1ctxt_rd_m(dcc_s1ctxt_rd_m),
2100 .dcc_pid_rd_m(dcc_pid_rd_m),
2101 .dcc_wtchpt_sel_m(dcc_wtchpt_sel_m),
2102 .dcc_demap_asi_m(dcc_demap_asi_m),
2103 .dcc_wtchpt_rd_b(dcc_wtchpt_rd_b),
2104 .dcc_rd_lsu_ctl_reg_b(dcc_rd_lsu_ctl_reg_b),
2105 .dcc_rd_diag_reg_b(dcc_rd_diag_reg_b),
2106 .dcc_rd_diag_dca_b(dcc_rd_diag_dca_b),
2107 .dcc_rd_core_id_b(dcc_rd_core_id_b),
2108 .dcc_rd_intr_id_b(dcc_rd_intr_id_b),
2109 .dcc_rd_dt_diag_m(dcc_rd_dt_diag_m),
2110 .dcc_rd_dt_diag_b(dcc_rd_dt_diag_b),
2111 .dcc_stb_diag_rd_m(dcc_stb_diag_rd_m),
2112 .dcc_rd_error_inj_b(dcc_rd_error_inj_b),
2113 .dcc_rd_pwr_mgmt_b(dcc_rd_pwr_mgmt_b),
2114 .dcc_wr_error_inj_m(dcc_wr_error_inj_m),
2115 .dcc_wr_error_inj_w(dcc_wr_error_inj_w),
2116 .dcc_tlb_data_read_b(dcc_tlb_data_read_b),
2117 .dcc_tlb_tag0_read_b(dcc_tlb_tag0_read_b),
2118 .dcc_tlb_tag1_read_b(dcc_tlb_tag1_read_b),
2119 .dcc_tlb_rw_index_e(dcc_tlb_rw_index_e),
2120 .dcc_rd_rhs_asi_b(dcc_rd_rhs_asi_b),
2121 .dcc_lsu_asi_rd_b(dcc_lsu_asi_rd_b),
2122 .dcc_lsu_asi_sel_w(dcc_lsu_asi_sel_w),
2123 .dcc_stb_diag_sel_w3(dcc_stb_diag_sel_w3),
2124 .dcc_stb_data_rd_w3(dcc_stb_data_rd_w3),
2125 .dcc_stb_ecc_rd_w3(dcc_stb_ecc_rd_w3),
2126 .dcc_stb_ctl_rd_w3(dcc_stb_ctl_rd_w3),
2127 .dcc_stb_addr_sel_w3(dcc_stb_addr_sel_w3),
2128 .dcc_stb_ptr_rd_w3(dcc_stb_ptr_rd_w3),
2129 .dcc_direct_map(dcc_direct_map),
2130 .dcc_dcs_memref_e(dcc_dcs_memref_e),
2131 .dcc_tlb_lookup(dcc_tlb_lookup),
2132 .dcc_tlb_bypass(dcc_tlb_bypass),
2133 .dcc_tlb_real(dcc_tlb_real),
2134 .dcc_tlb_rd_e(dcc_tlb_rd_e),
2135 .dcc_perror_b(dcc_perror_b),
2136 .dcc_perr_enc_b(dcc_perr_enc_b[1:0]),
2137 .dcc_dmo_parity(dcc_dmo_parity[3:0]),
2138 .lsu_va_w(lsu_va_w[12:3]),
2139 .dcc_sbd_e_clken(dcc_sbd_e_clken),
2140 .dcc_sbd_m_clken(dcc_sbd_m_clken),
2141 .dcc_ldst_m_clken(dcc_ldst_m_clken),
2142 .dcc_asi_rtn_vld(dcc_asi_rtn_vld[7:0]),
2143 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
2144 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
2145 .lsu_exu_ld_vld_w(lsu_exu_ld_vld_w),
2146 .lsu_exu_ld_b(lsu_exu_ld_b),
2147 .lsu_exu_tid_m(lsu_exu_tid_m[2:0]),
2148 .lsu_exu_rd_m(lsu_exu_rd_m[4:0]),
2149 .lsu_fgu_fld_vld_w(lsu_fgu_fld_vld_w),
2150 .lsu_fgu_fld_b(lsu_fgu_fld_b),
2151 .lsu_fgu_fld_32b_b(lsu_fgu_fld_32b_b),
2152 .lsu_fgu_fld_odd32b_b(lsu_fgu_fld_odd32b_b),
2153 .lsu_fgu_fsr_load_b(lsu_fgu_fsr_load_b),
2154 .lsu_fgu_fld_tid_b(lsu_fgu_fld_tid_b[2:0]),
2155 .lsu_fgu_fld_addr_b(lsu_fgu_fld_addr_b[4:0]),
2156 .lsu_fgu_exception_w(lsu_fgu_exception_w),
2157 .lsu_sync(lsu_sync[7:0]),
2158 .lsu_complete(lsu_complete[7:0]),
2159 .lsu_cpq_stall(lsu_cpq_stall),
2160 .lsu_tlu_twocycle_m(lsu_tlu_twocycle_m),
2161 .lsu_tlb_bypass_b(lsu_tlb_bypass_b),
2162 .lsu_tlb_real_b(lsu_tlb_real_b),
2163 .lsu_align_b(lsu_align_b),
2164 .lsu_lddf_align_b(lsu_lddf_align_b),
2165 .lsu_stdf_align_b(lsu_stdf_align_b),
2166 .lsu_dae_invalid_asi_b(lsu_dae_invalid_asi_b),
2167 .lsu_dae_nc_page_b(lsu_dae_nc_page_b),
2168 .lsu_dae_nfo_page_b(lsu_dae_nfo_page_b),
2169 .lsu_dae_priv_viol_b(lsu_dae_priv_viol_b),
2170 .lsu_dae_so_page(lsu_dae_so_page),
2171 .lsu_priv_action_b(lsu_priv_action_b),
2172 .lsu_va_watchpoint_b(lsu_va_watchpoint_b),
2173 .lsu_pa_watchpoint_b(lsu_pa_watchpoint_b),
2174 .lsu_illegal_inst_b(lsu_illegal_inst_b),
2175 .lsu_daccess_prot_b(lsu_daccess_prot_b),
2176 .lsu_tlb_miss_b_(lsu_tlb_miss_b_),
2177 .lsu_perfmon_trap_b(lsu_perfmon_trap_b),
2178 .lsu_perfmon_trap_g(lsu_perfmon_trap_g),
2179 .lsu_tlu_dsfsr_ct_b(lsu_tlu_dsfsr_ct_b[1:0]),
2180 .lsu_sync_inst_b(lsu_sync_inst_b),
2181 .lsu_dttp_err_b(lsu_dttp_err_b),
2182 .lsu_dtdp_err_b(lsu_dtdp_err_b),
2183 .lsu_dtmh_err_b(lsu_dtmh_err_b),
2184 .lsu_ifu_direct_map(lsu_ifu_direct_map),
2185 .dcc_mbi_run(dcc_mbi_run),
2186 .lsu_mbi_dca_fail(lsu_mbi_dca_fail),
2187 .lsu_mbi_lru_fail(lsu_mbi_lru_fail),
2188 .pmu_lsu_dcmiss_trap_m(pmu_lsu_dcmiss_trap_m),
2189 .pmu_lsu_dtmiss_trap_m(pmu_lsu_dtmiss_trap_m),
2190 .pmu_lsu_l2dmiss_trap_m(pmu_lsu_l2dmiss_trap_m[7:0]),
2191 .lsu_pmu_mem_type_b(lsu_pmu_mem_type_b[2:0]),
2192 .lsu_dc_pmen(lsu_dc_pmen),
2193 .lsu_lsu_pmen(lsu_lsu_pmen),
2194 .lsu_lsu_pmen_(lsu_lsu_pmen_),
2195 .tcu_pce_ov(tcu_pce_ov),
2196 .tcu_scan_en(tcu_scan_en),
2197 .spc_aclk(spc_aclk),
2198 .spc_bclk(spc_bclk)
2199);
2200
2201lsu_dcs_dp dcs ( // FS:wmr_prot
2202 .sbd_st_data_b (sbd_st_predata_b_rep0[47:0]),
2203 .asd_asi_data (lsu_rngf_cdbus[12:0]),
2204 .wmr_scan_in(dcs_wmr_scanin),
2205 .wmr_scan_out(dcs_wmr_scanout),
2206 .scan_in(dcs_scanin),
2207 .scan_out(dcs_scanout),
2208 .l2clk (l2clk),
2209 .tcu_pce_ov(tcu_pce_ov),
2210 .tcu_scan_en(tcu_scan_en),
2211 .spc_aclk_wmr(spc_aclk_wmr),
2212 .spc_aclk(spc_aclk),
2213 .spc_bclk(spc_bclk),
2214 .lb_scan_en_wmr(lb_scan_en_wmr),
2215 .const_cpuid(const_cpuid[2:0]),
2216 .dec_lsu_tid0_d(dec_lsu_tid0_d[1:0]),
2217 .dec_lsu_tid1_d(dec_lsu_tid1_d[1:0]),
2218 .dec_lsu_tg_d(dec_lsu_tg_d),
2219 .dcc_ld_inst_unqual_e(dcc_ld_inst_unqual_e),
2220 .dcc_ctxt_tid0_d(dcc_ctxt_tid0_d[1:0]),
2221 .dcc_ctxt_tid1_d(dcc_ctxt_tid1_d[1:0]),
2222 .dcc_ctxt_tg_d(dcc_ctxt_tg_d),
2223 .dcc_tid_m(dcc_tid_m[2:0]),
2224 .dcc_tid_b(dcc_tid_b[2:0]),
2225 .dcc_asi_reload_sel(dcc_asi_reload_sel[7:0]),
2226 .dcc_wr_wtchpt(dcc_wr_wtchpt[7:0]),
2227 .dcc_wr_lsu_ctl_reg(dcc_wr_lsu_ctl_reg[7:0]),
2228 .dcc_wr_pwr_mgmt(dcc_wr_pwr_mgmt),
2229 .dcc_rd_lsu_ctl_reg_b(dcc_rd_lsu_ctl_reg_b),
2230 .dcc_rd_diag_reg_b(dcc_rd_diag_reg_b),
2231 .dcc_rd_core_id_b(dcc_rd_core_id_b),
2232 .dcc_rd_intr_id_b(dcc_rd_intr_id_b),
2233 .dcc_rd_rhs_asi_b(dcc_rd_rhs_asi_b),
2234 .dcc_rd_diag_dca_b(dcc_rd_diag_dca_b),
2235 .dcc_rd_error_inj_b(dcc_rd_error_inj_b),
2236 .dcc_rd_pwr_mgmt_b(dcc_rd_pwr_mgmt_b),
2237 .dcc_wr_error_inj_w(dcc_wr_error_inj_w),
2238 .dcc_p0ctxt_rd_m(dcc_p0ctxt_rd_m),
2239 .dcc_p1ctxt_rd_m(dcc_p1ctxt_rd_m),
2240 .dcc_s0ctxt_rd_m(dcc_s0ctxt_rd_m),
2241 .dcc_s1ctxt_rd_m(dcc_s1ctxt_rd_m),
2242 .dcc_pid_rd_m(dcc_pid_rd_m),
2243 .dcc_wtchpt_sel_m(dcc_wtchpt_sel_m),
2244 .dcc_wtchpt_rd_b(dcc_wtchpt_rd_b),
2245 .dcc_pctxt_sel_e(dcc_pctxt_sel_e),
2246 .dcc_sctxt_sel_e(dcc_sctxt_sel_e),
2247 .dcc_dcs_memref_e(dcc_dcs_memref_e),
2248 .dcc_direct_map(dcc_direct_map),
2249 .dcc_asi_store_b(dcc_asi_store_b),
2250 .dcc_asi_load_m(dcc_asi_load_m),
2251 .dcc_asi_load_b(dcc_asi_load_b),
2252 .lsu_ifu_direct_map(lsu_ifu_direct_map),
2253 .asc_wr_p0ctxt(asc_wr_p0ctxt[7:0]),
2254 .asc_wr_p1ctxt(asc_wr_p1ctxt[7:0]),
2255 .asc_wr_s0ctxt(asc_wr_s0ctxt[7:0]),
2256 .asc_wr_s1ctxt(asc_wr_s1ctxt[7:0]),
2257 .asc_wr_pid(asc_wr_pid[7:0]),
2258 .asc_wrasi(asc_wrasi[7:0]),
2259 .tlu_asi_0(tlu_asi_0[7:0]),
2260 .tlu_asi_1(tlu_asi_1[7:0]),
2261 .tlu_lsu_clear_ctl_reg_(tlu_lsu_clear_ctl_reg_[7:0]),
2262 .dca_rparity_b(dca_rparity_b[7:0]),
2263 .tgd_ldxa_asi_data_b(tgd_ldxa_asi_data_b[63:0]),
2264 .lsu_va_m(lsu_va_m[20:0]),
2265 .lsu_va_b(lsu_va_b[20:0]),
2266 .dcs_asi_d(dcs_asi_d[7:0]),
2267 .dcs_context0_e(dcs_context0_e[12:0]),
2268 .dcs_context1_e(dcs_context1_e[12:0]),
2269 .dcs_pid_e(dcs_pid_e[2:0]),
2270 .dcs_ldxa_asi_data_w(dcs_ldxa_asi_data_w[63:0]),
2271 .dcs_watchpoint_m(dcs_watchpoint_m[47:3]),
2272 .dcs_dc_enable(dcs_dc_enable[7:0]),
2273 .dcs_wpt_mask_m(dcs_wpt_mask_m[7:0]),
2274 .dcs_wpt_enable_m(dcs_wpt_enable_m[1:0]),
2275 .dcs_wpt_mode_m(dcs_wpt_mode_m[1:0]),
2276 .dcs_dmmu_enable_d(dcs_dmmu_enable_d),
2277 .lsu_immu_enable(lsu_immu_enable[7:0]),
2278 .lsu_ic_enable(lsu_ic_enable[7:0]),
2279 .lsu_context_b(lsu_context_b[12:0]),
2280 .lsu_asi_error_inject(lsu_asi_error_inject[31:0]),
2281 .lsu_asi_pwr_mgmt(lsu_asi_pwr_mgmt[15:0]),
2282 .dcs_memref_m(dcs_memref_m)
2283);
2284
2285lsu_lmd_dp lmd (
2286 .sbd_st_data_b (sbd_st_data2_b_rep0[63:0]),
2287 .stb_ram_data (stb_ram_data_rep0[63:0]),
2288 .scan_in(lmd_scanin),
2289 .scan_out(lmd_scanout),
2290 .l2clk (l2clk),
2291 .lmc_lmq_enable_b(lmc_lmq_enable_b[7:0]),
2292 .lmc_lmq_bypass_en(lmc_lmq_bypass_en[7:0]),
2293 .lmc_pcx_sel_p4(lmc_pcx_sel_p4[7:0]),
2294 .lmc_byp_sel_e(lmc_byp_sel_e[7:0]),
2295 .lmc_thrd_byp_sel_m(lmc_thrd_byp_sel_m[7:0]),
2296 .lmc_lmq0_byp_sel(lmc_lmq0_byp_sel[4:0]),
2297 .lmc_lmq1_byp_sel(lmc_lmq1_byp_sel[4:0]),
2298 .lmc_lmq2_byp_sel(lmc_lmq2_byp_sel[4:0]),
2299 .lmc_lmq3_byp_sel(lmc_lmq3_byp_sel[4:0]),
2300 .lmc_lmq4_byp_sel(lmc_lmq4_byp_sel[4:0]),
2301 .lmc_lmq5_byp_sel(lmc_lmq5_byp_sel[4:0]),
2302 .lmc_lmq6_byp_sel(lmc_lmq6_byp_sel[4:0]),
2303 .lmc_lmq7_byp_sel(lmc_lmq7_byp_sel[4:0]),
2304 .lmc_bld_addr54(lmc_bld_addr54[1:0]),
2305 .lmc_bld_req(lmc_bld_req),
2306 .lmc_bld_req_(lmc_bld_req_),
2307 .lmc_lmd_ncache_b(lmc_lmd_ncache_b),
2308 .lmc_rd_update(lmc_rd_update[7:0]),
2309 .lmc_ld_unfilled(lmc_ld_unfilled[7:0]),
2310 .lmc_bist_or_diag_e(lmc_bist_or_diag_e),
2311 .lmc_byp_data_hi(lmc_byp_data_hi),
2312 .lmc_byp_data_enable(lmc_byp_data_enable),
2313 .dcc_ld_miss_ctl(dcc_ld_miss_ctl[60:40]),
2314 .dcc_perr_enc_b(dcc_perr_enc_b[1:0]),
2315 .dcc_l2fill_vld_m(dcc_l2fill_vld_m),
2316 .dcc_cache_diag_wr_b(dcc_cache_diag_wr_b),
2317 .ard_pid_data(ard_pid_data[63:0]),
2318 .stb_st_addr_b(stb_st_addr_b[39:13]),
2319 .sbd_st_addr_b(sbd_st_addr_b[12:11]),
2320 .stb_ldxa_asi_data_w(stb_ldxa_asi_data_w[63:0]),
2321 .lsu_va_b(lsu_va_b[12:0]),
2322 .lsu_va_w(lsu_va_w[12:3]),
2323 .cid_fill_data_e(cid_fill_data_e[127:0]),
2324 .cid_st_data_sel(cid_st_data_sel),
2325 .cid_tid(cid_tid[2:0]),
2326 .lsu_cpx_cpkt(lsu_cpx_cpkt[8:6]),
2327 .dcs_ldxa_asi_data_w(dcs_ldxa_asi_data_w[63:0]),
2328 .cic_diag_data_sel_e(cic_diag_data_sel_e),
2329 .mbi_wdata(mbi_wdata[7:0]),
2330 .lmc_mbi_run(lmc_mbi_run),
2331 .lmd_addrb2(lmd_addrb2),
2332 .lmd_asi_ld(lmd_asi_ld[7:0]),
2333 .lmd_asi_indet(lmd_asi_indet[7:0]),
2334 .lmd_sec_cmp_b(lmd_sec_cmp_b[7:0]),
2335 .lmd_ld_addr_m(lmd_ld_addr_m[2:0]),
2336 .lmd_fill_sz_b0_e(lmd_fill_sz_b0_e),
2337 .lmd_bendian_m(lmd_bendian_m),
2338 .lmd_sxt_fsr_m(lmd_sxt_fsr_m),
2339 .lmd_fill_way_e(lmd_fill_way_e[1:0]),
2340 .lmd_fill_way_m(lmd_fill_way_m[1:0]),
2341 .lmd_sz_m(lmd_sz_m[1:0]),
2342 .lmd_fpld_m(lmd_fpld_m),
2343 .lmd_rd_e(lmd_rd_e[2:1]),
2344 .lmd_rd_m(lmd_rd_m[4:0]),
2345 .lmd_fpodd32b_m(lmd_fpodd32b_m),
2346 .lmd_fp32b_m(lmd_fp32b_m),
2347 .lmd_bypass_data_m(lmd_bypass_data_m[63:0]),
2348 .lmd_fill_data_e(lmd_fill_data_e[127:0]),
2349 .lmd_fill_or_byp_data_m(lmd_fill_or_byp_data_m[63:0]),
2350 .lmd_misc_msb_m(lmd_misc_msb_m[7:0]),
2351 .lmd_fill_addr_e(lmd_fill_addr_e[39:3]),
2352 .lmd_fill_addr_m(lmd_fill_addr_m[10:4]),
2353 .lmd_wrtag_parity_e(lmd_wrtag_parity_e),
2354 .lmd_pcx_rqtyp(lmd_pcx_rqtyp[2:0]),
2355 .lmd_pcx_nc(lmd_pcx_nc),
2356 .lmd_pcx_pref(lmd_pcx_pref),
2357 .lmd_pcx_rway(lmd_pcx_rway[1:0]),
2358 .lmd_pcx_addr(lmd_pcx_addr[39:0]),
2359 .lmd_asi_rngf(lmd_asi_rngf),
2360 .lmd_asi_type(lmd_asi_type[1:0]),
2361 .lmd_asi_asi(lmd_asi_asi[7:0]),
2362 .lmd_sz_b1(lmd_sz_b1),
2363 .lmd_sz_b0(lmd_sz_b0),
2364 .lmd_ldbl(lmd_ldbl),
2365 .lmd_dc_err_e(lmd_dc_err_e[1:0]),
2366 .lsu_ifu_ld_index(lsu_ifu_ld_index[10:5]),
2367 .lsu_ext_int_type(lsu_ext_int_type[1:0]),
2368 .lsu_ext_int_vec(lsu_ext_int_vec[5:0]),
2369 .lsu_ext_int_tid(lsu_ext_int_tid[2:0]),
2370 .tcu_pce_ov(tcu_pce_ov),
2371 .tcu_scan_en(tcu_scan_en),
2372 .spc_aclk(spc_aclk),
2373 .spc_bclk(spc_bclk)
2374);
2375
2376assign lsu_dcerr_sfar_g[8:0] = {lmd_fill_way_m[1:0],lmd_fill_addr_m[10:4]};
2377
2378lsu_lmc_ctl lmc (
2379 .scan_in(lmc_scanin),
2380 .scan_out(lmc_scanout),
2381 .l2clk(l2clk),
2382 .tlb_pgnum_b39 (tlb_pgnum[39]),
2383 .dcc_ld_miss_ctl_b43 (dcc_ld_miss_ctl[43]),
2384 .stb_cam_hit (stb_cam_hit_rep0),
2385 .lmd_fill_addr_b3_e (lmd_fill_addr_e[3]),
2386 .cid_tid (cid_tid_unbuf[2:0]),
2387 .sbd_st_data_b_62 (sbd_st_data2_b_rep0[62]),
2388 .sbc_kill_store_p4_ (sbc_pic_kill_store_p4_),
2389 .tcu_pce_ov(tcu_pce_ov),
2390 .tcu_scan_en(tcu_scan_en),
2391 .spc_aclk(spc_aclk),
2392 .spc_bclk(spc_bclk),
2393 .dcc_tid_m(dcc_tid_m[2:0]),
2394 .dcc_ld_inst_vld_m(dcc_ld_inst_vld_m),
2395 .dcc_pref_inst_m(dcc_pref_inst_m),
2396 .dcc_ld_miss_b(dcc_ld_miss_b),
2397 .dcc_ld_miss_ldd(dcc_ld_miss_ldd),
2398 .dcc_asi_load_b(dcc_asi_load_b),
2399 .dcc_asi_iomap_b(dcc_asi_iomap_b),
2400 .dcc_blk_inst_b(dcc_blk_inst_b),
2401 .dcc_ldbl_b(dcc_ldbl_b),
2402 .dcc_ncache_b(dcc_ncache_b),
2403 .dcc_atomic_b(dcc_atomic_b),
2404 .dcc_casa_inst_b(dcc_casa_inst_b),
2405 .dcc_lsu_asi_rd_b(dcc_lsu_asi_rd_b),
2406 .dcc_lsu_asi_sel_w(dcc_lsu_asi_sel_w),
2407 .dcc_ceter_wr_w(dcc_ceter_wr_w),
2408 .dcc_stb_diag_sel_w3(dcc_stb_diag_sel_w3),
2409 .dcc_exception_flush_b(dcc_exception_flush_b),
2410 .dcc_perror_b(dcc_perror_b),
2411 .dcc_sync_pipe_w(dcc_sync_pipe_w),
2412 .dcc_cache_diag_wr_b(dcc_cache_diag_wr_b),
2413 .dcc_asi_rtn_vld(dcc_asi_rtn_vld[7:0]),
2414 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
2415 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
2416 .pic_casa_squash_req(pic_casa_squash_req),
2417 .pic_early_ld_b_sel_p3(pic_early_ld_b_sel_p3),
2418 .pic_no_load_p3(pic_no_load_p3),
2419 .pic_asi_busy(pic_asi_busy),
2420 .lmd_pcx_pref(lmd_pcx_pref),
2421 .lmd_asi_ld(lmd_asi_ld[7:0]),
2422 .lmd_asi_indet(lmd_asi_indet[7:0]),
2423 .lmd_sec_cmp_b(lmd_sec_cmp_b[7:0]),
2424 .lmd_addrb2(lmd_addrb2),
2425 .lmd_sz_b1(lmd_sz_b1),
2426 .lmd_sz_b0(lmd_sz_b0),
2427 .lmd_ldbl(lmd_ldbl),
2428 .lmd_rd_e(lmd_rd_e[2:1]),
2429 .lmd_dc_err_e(lmd_dc_err_e[1:0]),
2430 .lmd_fill_sz_b0_e(lmd_fill_sz_b0_e),
2431 .tlb_cam_mhit(tlb_cam_mhit),
2432 .tlu_flush_lsu_b(tlu_flush_lsu_b),
2433 .tlu_cerer_sbdlc(tlu_cerer_sbdlc),
2434 .tlu_cerer_sbdlu(tlu_cerer_sbdlu),
2435 .tlu_cerer_dcl2c(tlu_cerer_dcl2c),
2436 .tlu_cerer_dcl2u(tlu_cerer_dcl2u),
2437 .tlu_cerer_dcl2nd(tlu_cerer_dcl2nd),
2438 .tlu_cerer_l2c_socc(tlu_cerer_l2c_socc),
2439 .tlu_cerer_l2u_socu(tlu_cerer_l2u_socu),
2440 .dec_flush_lm(dec_flush_lm),
2441 .dec_flush_lb(dec_flush_lb),
2442 .dec_ld_inst_d(dec_ld_inst_d),
2443 .cic_l2fill_vld_e(cic_l2fill_vld_e),
2444 .cic_cpq_ld_rdy(cic_cpq_ld_rdy),
2445 .cic_cpq_ld_rdy_(cic_cpq_ld_rdy_),
2446 .cic_div_stall_d(cic_div_stall_d),
2447 .cic_oddrd_e(cic_oddrd_e),
2448 .cic_xinval_e(cic_xinval_e),
2449 .cic_xinval(cic_xinval[7:0]),
2450 .cic_set_inval(cic_set_inval),
2451 .cic_rtn_cmplt(cic_rtn_cmplt),
2452 .cic_cpq_stall(cic_cpq_stall),
2453 .cic_ext_interrupt(cic_ext_interrupt),
2454 .cid_err(cid_err[1:0]),
2455 .cid_dcsoc_err_e(cid_dcsoc_err_e),
2456 .cid_l2miss(cid_l2miss),
2457 .stb_cam_mhit(stb_cam_mhit),
2458 .stb_ld_part_raw(stb_ld_part_raw),
2459 .stb_cecc_err(stb_cecc_err),
2460 .stb_uecc_err(stb_uecc_err),
2461 .sbs_all_commited(sbs_all_commited[7:0]),
2462 .sbc_st_atom_p3(sbc_st_atom_p3[7:0]),
2463 .sbc_rawp_rst(sbc_rawp_rst[7:0]),
2464 .sbc_st_sel_tid_p4(sbc_st_sel_tid_p4[2:0]),
2465 .sbc_force_inv(sbc_force_inv),
2466 .lsu_lsu_pmen(lsu_lsu_pmen),
2467 .lmc_lmq_enable_b(lmc_lmq_enable_b[7:0]),
2468 .lmc_pcx_sel_p4(lmc_pcx_sel_p4[7:0]),
2469 .lmc_pcx_rq_vld(lmc_pcx_rq_vld),
2470 .lmc_asi_rq_vld(lmc_asi_rq_vld),
2471 .lmc_ld_rq_p3(lmc_ld_rq_p3),
2472 .lmc_ld_vld_p4(lmc_ld_vld_p4),
2473 .lmc_ld_no_req_p4(lmc_ld_no_req_p4),
2474 .lmc_ld_inv_p4(lmc_ld_inv_p4),
2475 .lmc_ld_tid(lmc_ld_tid[2:0]),
2476 .lmc_byp_sel_e(lmc_byp_sel_e[7:0]),
2477 .lmc_cpq_tid_m(lmc_cpq_tid_m[2:0]),
2478 .lmc_lmq_bypass_en(lmc_lmq_bypass_en[7:0]),
2479 .lmc_asi_bypass_m(lmc_asi_bypass_m),
2480 .lmc_bld_addr54(lmc_bld_addr54[1:0]),
2481 .lmc_bld_req(lmc_bld_req),
2482 .lmc_bld_req_(lmc_bld_req_),
2483 .lmc_bld_annul(lmc_bld_annul),
2484 .lmc_bld_miss_e(lmc_bld_miss_e),
2485 .lmc_bld_last_e(lmc_bld_last_e),
2486 .lmc_rd_update(lmc_rd_update[7:0]),
2487 .lmc_pref_issued(lmc_pref_issued[7:0]),
2488 .lmc_ldd_vld(lmc_ldd_vld[7:0]),
2489 .lmc_ld_unfilled(lmc_ld_unfilled[7:0]),
2490 .lmc_lmd_ncache_b(lmc_lmd_ncache_b),
2491 .lmc_ld_sz(lmc_ld_sz[4:0]),
2492 .lmc_ld_inst_w(lmc_ld_inst_w),
2493 .lmc_full_raw_w(lmc_full_raw_w),
2494 .lmc_ld_stall(lmc_ld_stall),
2495 .lmc_l2_err_noup(lmc_l2_err_noup),
2496 .lmc_l2_uerr(lmc_l2_uerr),
2497 .lmc_byp_data_hi(lmc_byp_data_hi),
2498 .lmc_byp_data_enable(lmc_byp_data_enable),
2499 .lmc_thrd_byp_sel_e(lmc_thrd_byp_sel_e[7:0]),
2500 .lmc_thrd_byp_sel_m(lmc_thrd_byp_sel_m[7:0]),
2501 .lmc_byp_tid_m(lmc_byp_tid_m[2:0]),
2502 .lmc_byp_vld_m(lmc_byp_vld_m),
2503 .lmc_lmq0_byp_sel(lmc_lmq0_byp_sel[4:0]),
2504 .lmc_lmq1_byp_sel(lmc_lmq1_byp_sel[4:0]),
2505 .lmc_lmq2_byp_sel(lmc_lmq2_byp_sel[4:0]),
2506 .lmc_lmq3_byp_sel(lmc_lmq3_byp_sel[4:0]),
2507 .lmc_lmq4_byp_sel(lmc_lmq4_byp_sel[4:0]),
2508 .lmc_lmq5_byp_sel(lmc_lmq5_byp_sel[4:0]),
2509 .lmc_lmq6_byp_sel(lmc_lmq6_byp_sel[4:0]),
2510 .lmc_lmq7_byp_sel(lmc_lmq7_byp_sel[4:0]),
2511 .lmc_asi_indet_retire(lmc_asi_indet_retire),
2512 .lsu_ifu_no_miss(lsu_ifu_no_miss[7:0]),
2513 .lsu_dcmh_err_g(lsu_dcmh_err_g),
2514 .lsu_dcvp_err_g(lsu_dcvp_err_g),
2515 .lsu_dctp_err_g(lsu_dctp_err_g),
2516 .lsu_dcdp_err_g(lsu_dcdp_err_g),
2517 .lsu_dcerr_tid_g(lsu_dcerr_tid_g[2:0]),
2518 .lsu_dcl2c_err_g(lsu_dcl2c_err_g),
2519 .lsu_dcl2u_err_g(lsu_dcl2u_err_g),
2520 .lsu_dcl2nd_err_g(lsu_dcl2nd_err_g),
2521 .lsu_sbdlc_err_g(lsu_sbdlc_err_g),
2522 .lsu_sbdlu_err_g(lsu_sbdlu_err_g),
2523 .lsu_stberr_tid_g(lsu_stberr_tid_g[2:0]),
2524 .lbist_run(lbist_run),
2525 .mbi_run(mbi_run),
2526 .lmc_mbi_run(lmc_mbi_run),
2527 .lmc_bist_or_diag_e(lmc_bist_or_diag_e)
2528);
2529
2530lsu_pic_ctl pic (
2531 .scan_in(pic_scanin),
2532 .scan_out(pic_scanout),
2533 .l2clk (l2clk),
2534 .tcu_pce_ov(tcu_pce_ov),
2535 .tcu_scan_en(tcu_scan_en),
2536 .spc_aclk(spc_aclk),
2537 .spc_bclk(spc_bclk),
2538 .lmc_pcx_rq_vld(lmc_pcx_rq_vld),
2539 .lmc_asi_rq_vld(lmc_asi_rq_vld),
2540 .lmc_ld_rq_p3(lmc_ld_rq_p3),
2541 .lmc_ld_no_req_p4(lmc_ld_no_req_p4),
2542 .tlb_cache_hit_b(tlb_cache_hit_b),
2543 .dcc_early_ld_b(dcc_early_ld_b),
2544 .sbc_asi_rq_p3(sbc_asi_rq_p3),
2545 .sbc_pcx_rq_p3(sbc_pcx_rq_p3),
2546 .sbc_st_atomic_p2(sbc_st_atomic_p2),
2547 .sbc_st_rq_p2(sbc_st_rq_p2),
2548 .sbc_pic_kill_store_p4_(sbc_pic_kill_store_p4_),
2549 .sbc_indet_block_p3(sbc_indet_block_p3),
2550 .sbs_stb_full(sbs_stb_full[7:0]),
2551 .asc_pid_ack(asc_pid_ack),
2552 .dcc_asi_rtn_vld(dcc_asi_rtn_vld[7:0]),
2553 .lsu_ring_ctl(lsu_ring_ctl),
2554 .lsu_misc_pmen(lsu_misc_pmen),
2555 .pic_ld_pcx_sel_p4(pic_ld_pcx_sel_p4),
2556 .pic_st_pcx_sel_p3(pic_st_pcx_sel_p3),
2557 .pic_st_pcx_sel_p4(pic_st_pcx_sel_p4),
2558 .pic_st_asi_sel_p3(pic_st_asi_sel_p3),
2559 .pic_st_asi_p4(pic_st_asi_p4),
2560 .pic_ld_asi_p4(pic_ld_asi_p4),
2561 .pic_st_sel_p3(pic_st_sel_p3),
2562 .pic_asi_sel_p4(pic_asi_sel_p4),
2563 .pic_asi_req(pic_asi_req),
2564 .pic_casa_squash_req(pic_casa_squash_req),
2565 .pic_early_ld_b_sel_p3(pic_early_ld_b_sel_p3),
2566 .pic_no_load_p3(pic_no_load_p3),
2567 .pic_asi_busy(pic_asi_busy),
2568 .l15_lsu_grant(l15_lsu_grant),
2569 .lsu_l15_valid(lsu_l15_valid),
2570 .lsu_l15_lock(lsu_l15_lock),
2571 .lsu_asi_clken(lsu_asi_clken)
2572);
2573
2574n2_com_dp_32x152_cust cpq (
2575 .wr_adr (cic_cpq_wptr[4:0]),
2576 .wr_en (cic_cpq_wr_en),
2577 .rd_adr (cic_cpq_rptr[4:0]),
2578 .rd_en (cic_cpq_rd_en),
2579 .din (cpq_din[151:0]),
2580 .scan_in(cpq_scanin),
2581 .scan_out(cpq_scanout),
2582 .rdclk (l2clk),
2583 .wrclk (l2clk),
2584 .dout (cpq_dout[151:0]),
2585 .tcu_pce_ov(tcu_pce_ov),
2586 .tcu_aclk(tcu_aclk),
2587 .tcu_bclk(tcu_bclk),
2588 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
2589 .tcu_se_scancollar_in(tcu_se_scancollar_in),
2590 .bist_clk_mux_sel(bist_clk_mux_sel),
2591 .rd_pce(rd_pce),
2592 .wr_pce(wr_pce)
2593);
2594
2595assign cpq_din[151:0] = {
2596 cid_cpq_wdata[127], cid_cpq_wdata[63], cid_cpq_wdata[126], cid_cpq_wdata[62],
2597 cid_cpq_wdata[125], cid_cpq_wdata[61], cid_cpq_wdata[124], cid_cpq_wdata[60],
2598 cid_cpq_wdata[123], cid_cpq_wdata[59], cid_cpq_wdata[122], cid_cpq_wdata[58],
2599 cid_cpq_wdata[121], cid_cpq_wdata[57], cid_cpq_wdata[120], cid_cpq_wdata[56],
2600 cid_cpq_wdata[119], cid_cpq_wdata[55], cid_cpq_wdata[118], cid_cpq_wdata[54],
2601 cid_cpq_wdata[117], cid_cpq_wdata[53], cid_cpq_wdata[116], cid_cpq_wdata[52],
2602 cid_cpq_wdata[115], cid_cpq_wdata[51], cid_cpq_wdata[114], cid_cpq_wdata[50],
2603 cid_cpq_wdata[113], cid_cpq_wdata[49], cid_cpq_wdata[112], cid_cpq_wdata[48],
2604 cid_cpq_wdata[111], cid_cpq_wdata[47], cid_cpq_wdata[110], cid_cpq_wdata[46],
2605 cid_cpq_wdata[109], cid_cpq_wdata[45], cid_cpq_wdata[108], cid_cpq_wdata[44],
2606 cid_cpq_wdata[107], cid_cpq_wdata[43], cid_cpq_wdata[106], cid_cpq_wdata[42],
2607 cid_cpq_wdata[105], cid_cpq_wdata[41], cid_cpq_wdata[104], cid_cpq_wdata[40],
2608 cid_cpq_wdata[103], cid_cpq_wdata[39], cid_cpq_wdata[102], cid_cpq_wdata[38],
2609 cid_cpq_wdata[101], cid_cpq_wdata[37], cid_cpq_wdata[100], cid_cpq_wdata[36],
2610 cid_cpq_wdata[99], cid_cpq_wdata[35], cid_cpq_wdata[98], cid_cpq_wdata[34],
2611 cid_cpq_wdata[97], cid_cpq_wdata[33], cid_cpq_wdata[96], cid_cpq_wdata[32],
2612 cid_cpq_wdata[95], cid_cpq_wdata[31], cid_cpq_wdata[94], cid_cpq_wdata[30],
2613 cid_cpq_wdata[93], cid_cpq_wdata[29], cid_cpq_wdata[92], cid_cpq_wdata[28],
2614 cid_cpq_wdata[91], cid_cpq_wdata[27], cid_cpq_wdata[90], cid_cpq_wdata[26],
2615 cid_cpq_wdata[89], cid_cpq_wdata[25], cid_cpq_wdata[88], cid_cpq_wdata[24],
2616 cid_cpq_wdata[87], cid_cpq_wdata[23], cid_cpq_wdata[86], cid_cpq_wdata[22],
2617 cid_cpq_wdata[85], cid_cpq_wdata[21], cid_cpq_wdata[84], cid_cpq_wdata[20],
2618 cid_cpq_wdata[83], cid_cpq_wdata[19], cid_cpq_wdata[82], cid_cpq_wdata[18],
2619 cid_cpq_wdata[81], cid_cpq_wdata[17], cid_cpq_wdata[80], cid_cpq_wdata[16],
2620 cid_cpq_wdata[79], cid_cpq_wdata[15], cid_cpq_wdata[78], cid_cpq_wdata[14],
2621 cid_cpq_wdata[77], cid_cpq_wdata[13], cid_cpq_wdata[76], cid_cpq_wdata[12],
2622 cid_cpq_wdata[75], cid_cpq_wdata[11], cid_cpq_wdata[74], cid_cpq_wdata[10],
2623 cid_cpq_wdata[73], cid_cpq_wdata[9], cid_cpq_wdata[72], cid_cpq_wdata[8],
2624 cid_cpq_wdata[71], cid_cpq_wdata[7], cid_cpq_wdata[70], cid_cpq_wdata[6],
2625 cid_cpq_wdata[69], cid_cpq_wdata[5], cid_cpq_wdata[68], cid_cpq_wdata[4],
2626 cid_cpq_wdata[67], cid_cpq_wdata[3], cid_cpq_wdata[66], cid_cpq_wdata[2],
2627 cid_cpq_wdata[65], cid_cpq_wdata[1], cid_cpq_wdata[64], cid_cpq_wdata[0],
2628 2'b00,
2629 cid_cpq_wdata[128], cid_cpq_wdata[129], cid_cpq_wdata[130], cid_cpq_wdata[131],
2630 cid_cpq_wdata[132], cid_cpq_wdata[133], cid_cpq_wdata[134], cid_cpq_wdata[135],
2631 cid_cpq_wdata[136], cid_cpq_wdata[137], cid_cpq_wdata[138], cid_cpq_wdata[139],
2632 cid_cpq_wdata[140], cid_cpq_wdata[141], cid_cpq_wdata[142], cid_cpq_wdata[143],
2633 cid_cpq_wdata[144], cid_cpq_wdata[145], 4'b0
2634 };
2635
2636assign {
2637 cpq_rdata[127], cpq_rdata[63], cpq_rdata[126], cpq_rdata[62],
2638 cpq_rdata[125], cpq_rdata[61], cpq_rdata[124], cpq_rdata[60],
2639 cpq_rdata[123], cpq_rdata[59], cpq_rdata[122], cpq_rdata[58],
2640 cpq_rdata[121], cpq_rdata[57], cpq_rdata[120], cpq_rdata[56],
2641 cpq_rdata[119], cpq_rdata[55], cpq_rdata[118], cpq_rdata[54],
2642 cpq_rdata[117], cpq_rdata[53], cpq_rdata[116], cpq_rdata[52],
2643 cpq_rdata[115], cpq_rdata[51], cpq_rdata[114], cpq_rdata[50],
2644 cpq_rdata[113], cpq_rdata[49], cpq_rdata[112], cpq_rdata[48],
2645 cpq_rdata[111], cpq_rdata[47], cpq_rdata[110], cpq_rdata[46],
2646 cpq_rdata[109], cpq_rdata[45], cpq_rdata[108], cpq_rdata[44],
2647 cpq_rdata[107], cpq_rdata[43], cpq_rdata[106], cpq_rdata[42],
2648 cpq_rdata[105], cpq_rdata[41], cpq_rdata[104], cpq_rdata[40],
2649 cpq_rdata[103], cpq_rdata[39], cpq_rdata[102], cpq_rdata[38],
2650 cpq_rdata[101], cpq_rdata[37], cpq_rdata[100], cpq_rdata[36],
2651 cpq_rdata[99], cpq_rdata[35], cpq_rdata[98], cpq_rdata[34],
2652 cpq_rdata[97], cpq_rdata[33], cpq_rdata[96], cpq_rdata[32],
2653 cpq_rdata[95], cpq_rdata[31], cpq_rdata[94], cpq_rdata[30],
2654 cpq_rdata[93], cpq_rdata[29], cpq_rdata[92], cpq_rdata[28],
2655 cpq_rdata[91], cpq_rdata[27], cpq_rdata[90], cpq_rdata[26],
2656 cpq_rdata[89], cpq_rdata[25], cpq_rdata[88], cpq_rdata[24],
2657 cpq_rdata[87], cpq_rdata[23], cpq_rdata[86], cpq_rdata[22],
2658 cpq_rdata[85], cpq_rdata[21], cpq_rdata[84], cpq_rdata[20],
2659 cpq_rdata[83], cpq_rdata[19], cpq_rdata[82], cpq_rdata[18],
2660 cpq_rdata[81], cpq_rdata[17], cpq_rdata[80], cpq_rdata[16],
2661 cpq_rdata[79], cpq_rdata[15], cpq_rdata[78], cpq_rdata[14],
2662 cpq_rdata[77], cpq_rdata[13], cpq_rdata[76], cpq_rdata[12],
2663 cpq_rdata[75], cpq_rdata[11], cpq_rdata[74], cpq_rdata[10],
2664 cpq_rdata[73], cpq_rdata[9], cpq_rdata[72], cpq_rdata[8],
2665 cpq_rdata[71], cpq_rdata[7], cpq_rdata[70], cpq_rdata[6],
2666 cpq_rdata[69], cpq_rdata[5], cpq_rdata[68], cpq_rdata[4],
2667 cpq_rdata[67], cpq_rdata[3], cpq_rdata[66], cpq_rdata[2],
2668 cpq_rdata[65], cpq_rdata[1], cpq_rdata[64], cpq_rdata[0],
2669 cpq_unused[1:0],
2670 cpq_rdata[128], cpq_rdata[129], cpq_rdata[130], cpq_rdata[131],
2671 cpq_rdata[132], cpq_rdata[133], cpq_rdata[134], cpq_rdata[135],
2672 cpq_rdata[136], cpq_rdata[137], cpq_rdata[138], cpq_rdata[139],
2673 cpq_rdata[140], cpq_rdata[141], cpq_rdata[142], cpq_rdata[143],
2674 cpq_rdata[144], cpq_rdata[145], cpq_unused[5:2]
2675} = cpq_dout[151:0];
2676
2677lsu_cid_dp cid (
2678 .scan_in(cid_scanin),
2679 .scan_out(cid_scanout),
2680 .l2clk (l2clk),
2681 .mbi_run (cic_mbi_run),
2682 .cpq_rdata(cpq_rdata[145:0]),
2683 .cpx_spc_data_cx(cpx_spc_data_cx[145:0]),
2684 .cic_byp_sel(cic_byp_sel),
2685 .cic_d1_sel(cic_d1_sel),
2686 .cic_cpq_sel(cic_cpq_sel),
2687 .cic_fifo_sel(cic_fifo_sel),
2688 .cic_fifo_clken(cic_fifo_clken),
2689 .cid_fill_data_e(cid_fill_data_e[127:0]),
2690 .cid_l2miss(cid_l2miss),
2691 .cid_pkt_type(cid_pkt_type[4:0]),
2692 .cid_tid(cid_tid[2:0]),
2693 .cid_tid_unbuf(cid_tid_unbuf[2:0]),
2694 .cid_cpuid(cid_cpuid[2:0]),
2695 .cid_st_data_sel(cid_st_data_sel),
2696 .cid_xinval(cid_xinval),
2697 .cid_pref(cid_pref),
2698 .cid_err(cid_err[1:0]),
2699 .cid_xway(cid_xway[1:0]),
2700 .cid_st_addr(cid_st_addr[10:3]),
2701 .cid_st_vector(cid_st_vector[15:0]),
2702 .cid_st_bmask(cid_st_bmask[7:0]),
2703 .cid_st_way(cid_st_way[1:0]),
2704 .cid_inv_vec(cid_inv_vec[17:0]),
2705 .cid_inv_index(cid_inv_index[10:6]),
2706 .cid_ncache(cid_ncache),
2707 .cid_atomic(cid_atomic),
2708 .cid_atomic_unbuf(cid_atomic_unbuf),
2709 .cid_rmo_ack(cid_rmo_ack),
2710 .cid_set_inval(cid_set_inval),
2711 .cid_set_icinval(cid_set_icinval),
2712 .cid_cpq_wdata(cid_cpq_wdata[145:0]),
2713 .cid_dcsoc_err_e(cid_dcsoc_err_e),
2714 .cid_d1_rtntyp(cid_d1_rtntyp[4:0]),
2715 .cid_d1_tid(cid_d1_tid[2:0]),
2716 .cid_d1_cpuid(cid_d1_cpuid[2:0]),
2717 .cid_d1_wv(cid_d1_wv),
2718 .cid_d1_rmo(cid_d1_rmo),
2719 .cid_d1_pref(cid_d1_pref),
2720 .cid_d1_inval(cid_d1_inval[1:0]),
2721 .cid_cpq_cmp_1(cid_cpq_cmp_1),
2722 .cid_cpq_cmp_2(cid_cpq_cmp_2),
2723 .cid_cpq_cmp_3(cid_cpq_cmp_3),
2724 .lsu_cpx_data(lsu_cpx_data[127:0]),
2725 .lsu_cpx_cpkt(lsu_cpx_cpkt[17:0]),
2726 .lsu_cpx_valid(lsu_cpx_valid),
2727 .tcu_pce_ov(tcu_pce_ov),
2728 .tcu_scan_en(tcu_scan_en),
2729 .tcu_se_scancollar_out(tcu_se_scancollar_out),
2730 .spc_aclk(spc_aclk),
2731 .spc_bclk(spc_bclk),
2732 .const_cpuid(const_cpuid[2:0]),
2733 .mbi_wdata(mbi_wdata[7:0]),
2734 .bist_wdata_1(bist_wdata_1[7:0]),
2735 .bist_cmpsel_2(bist_cmpsel_2)
2736);
2737
2738lsu_red_ctl red (
2739 .scan_in(red_scanin),
2740 .scan_out(red_scanout),
2741 .io_cmp_sync_en(slow_cmp_sync_en),
2742 .cmp_io_sync_en(cmp_slow_sync_en),
2743 .l2clk (l2clk),
2744 .sram_hdr_read_data ({dca_fuse_repair_value[5:0],dca_fuse_repair_en}),
2745 .efu_spc_fuse_data(efu_spc_fuse_data),
2746 .efu_spc_fuse_dxfer_en(efu_spc_fuse_dxfer_en),
2747 .efu_spc_fuse_dclr(efu_spc_fuse_dclr),
2748 .spc_efu_fuse_ddata(spc_efu_fuse_ddata),
2749 .spc_efu_fuse_dxfer_en(spc_efu_fuse_dxfer_en),
2750 .hdr_sram_rvalue(hdr_sram_rvalue[6:0]),
2751 .hdr_sram_rid(hdr_sram_rid[1:0]),
2752 .hdr_sram_wr_en(hdr_sram_wr_en),
2753 .hdr_sram_red_clr(hdr_sram_red_clr),
2754 .tcu_pce_ov(tcu_pce_ov),
2755 .spc_aclk(spc_aclk),
2756 .spc_bclk(spc_bclk),
2757 .tcu_scan_en(tcu_scan_en)
2758);
2759
2760// Atomic ack should never have set inval bits on
2761// 0in custom -fire ((cpx_spc_data_cx[145:141] == 5'b10100) & cpx_spc_data_cx[129] & |(cpx_spc_data_cx[124:123])) -message "ATOMIC load rtn packet expects NC=1"
2762
2763lsu_cic_ctl cic (
2764 .scan_in(cic_scanin),
2765 .scan_out(cic_scanout),
2766 .l2clk (l2clk),
2767 .cpx_pkt_vld (cpx_spc_data_cx[145]),
2768 .cid_tid (cid_tid_unbuf[2:0]),
2769 .cid_atomic (cid_atomic_unbuf),
2770 .tcu_pce_ov(tcu_pce_ov),
2771 .tcu_scan_en(tcu_scan_en),
2772 .spc_aclk(spc_aclk),
2773 .spc_bclk(spc_bclk),
2774 .const_cpuid(const_cpuid[2:0]),
2775 .cid_d1_rtntyp(cid_d1_rtntyp[4:0]),
2776 .cid_d1_wv(cid_d1_wv),
2777 .cid_d1_tid(cid_d1_tid[2:0]),
2778 .cid_d1_rmo(cid_d1_rmo),
2779 .cid_d1_pref(cid_d1_pref),
2780 .cid_d1_cpuid(cid_d1_cpuid[2:0]),
2781 .cid_d1_inval(cid_d1_inval[1:0]),
2782 .cid_cpuid(cid_cpuid[2:0]),
2783 .cid_pkt_type(cid_pkt_type[4:0]),
2784 .cid_xinval(cid_xinval),
2785 .cid_pref(cid_pref),
2786 .cid_inv_vec(cid_inv_vec[17:0]),
2787 .cid_rmo_ack(cid_rmo_ack),
2788 .cid_set_inval(cid_set_inval),
2789 .cid_set_icinval(cid_set_icinval),
2790 .cid_st_addr(cid_st_addr[5:4]),
2791 .cid_st_vector(cid_st_vector[15:0]),
2792 .cid_cpq_cmp_1(cid_cpq_cmp_1),
2793 .cid_cpq_cmp_2(cid_cpq_cmp_2),
2794 .cid_cpq_cmp_3(cid_cpq_cmp_3),
2795 .dcc_cache_diag_wr_b(dcc_cache_diag_wr_b),
2796 .dec_ld_inst_d(dec_ld_inst_d),
2797 .fgu_fdiv_stall(fgu_fdiv_stall),
2798 .lmc_ldd_vld(lmc_ldd_vld[7:0]),
2799 .sbc_bst_sel(sbc_bst_sel[7:0]),
2800 .mbi_run(mbi_run),
2801 .mbi_cpq_read_en(mbi_cpq_read_en),
2802 .mbi_cpq_write_en(mbi_cpq_write_en),
2803 .mbi_addr(mbi_addr[4:0]),
2804 .lbist_run(lbist_run),
2805 .cic_cpq_wptr(cic_cpq_wptr[4:0]),
2806 .cic_cpq_rptr(cic_cpq_rptr[4:0]),
2807 .cic_cpq_rd_en(cic_cpq_rd_en),
2808 .cic_cpq_wr_en(cic_cpq_wr_en),
2809 .cic_d1_sel(cic_d1_sel),
2810 .cic_cpq_sel(cic_cpq_sel),
2811 .cic_fifo_sel(cic_fifo_sel),
2812 .cic_byp_sel(cic_byp_sel),
2813 .cic_fifo_clken(cic_fifo_clken),
2814 .cic_l2fill_vld_e(cic_l2fill_vld_e),
2815 .cic_cpq_ld_rdy(cic_cpq_ld_rdy),
2816 .cic_cpq_ld_rdy_(cic_cpq_ld_rdy_),
2817 .cic_cpq_ld_sel(cic_cpq_ld_sel),
2818 .cic_div_stall_d(cic_div_stall_d),
2819 .cic_st_update_e(cic_st_update_e),
2820 .cic_rtn_cmplt(cic_rtn_cmplt),
2821 .cic_invalidate_e(cic_invalidate_e),
2822 .cic_xinval_e(cic_xinval_e),
2823 .cic_set_inval(cic_set_inval),
2824 .cic_xinval(cic_xinval[7:0]),
2825 .cic_oddrd_e(cic_oddrd_e),
2826 .cic_st_dequeue(cic_st_dequeue[7:0]),
2827 .cic_rmo_dequeue(cic_rmo_dequeue[7:0]),
2828 .cic_st_ack(cic_st_ack[7:0]),
2829 .cic_inv_wen_e(cic_inv_wen_e[15:0]),
2830 .cic_cpq_stall(cic_cpq_stall),
2831 .cic_diag_data_sel_e(cic_diag_data_sel_e),
2832 .cic_ext_interrupt(cic_ext_interrupt),
2833 .lsu_dcsoc_err_g(lsu_dcsoc_err_g),
2834 .lsu_ext_interrupt(lsu_ext_interrupt),
2835 .cic_mbi_run(cic_mbi_run),
2836 .lsu_mbi_cpq_fail(lsu_mbi_cpq_fail)
2837);
2838
2839lsu_asc_ctl asc (
2840 .scan_in(asc_scanin),
2841 .scan_out(asc_scanout),
2842 .l2clk (l2clk),
2843 .tcu_pce_ov(tcu_pce_ov),
2844 .tcu_scan_en(tcu_scan_en),
2845 .spc_aclk(spc_aclk),
2846 .spc_bclk(spc_bclk),
2847 .asd_p2a_vld(asd_p2a_vld),
2848 .asd_p2a_fast(asd_p2a_fast),
2849 .asd_ring_ctl(asd_ring_ctl[63:56]),
2850 .asd_ring_asi(asd_ring_asi[7:0]),
2851 .asd_ring_addr(asd_ring_addr[8:3]),
2852 .lsu_asi_clken(lsu_asi_clken),
2853 .sbc_pid_kill_store_p4_(sbc_pid_kill_store_p4_),
2854 .pic_st_asi_p4(pic_st_asi_p4),
2855 .asc_ring_ctl(asc_ring_ctl),
2856 .asc_ring_data(asc_ring_data),
2857 .asc_ring_local(asc_ring_local),
2858 .asc_ring_fast(asc_ring_fast),
2859 .asc_wr_p0ctxt(asc_wr_p0ctxt[7:0]),
2860 .asc_wr_p1ctxt(asc_wr_p1ctxt[7:0]),
2861 .asc_wr_s0ctxt(asc_wr_s0ctxt[7:0]),
2862 .asc_wr_s1ctxt(asc_wr_s1ctxt[7:0]),
2863 .asc_wr_pid(asc_wr_pid[7:0]),
2864 .asc_wrasi(asc_wrasi[7:0]),
2865 .asc_pid_ack(asc_pid_ack),
2866 .lsu_ring_ctl(lsu_ring_ctl),
2867 .lsu_ifu_tid_w(lsu_ifu_tid_w[2:0]),
2868 .lsu_ifu_wr_p0ctxt(lsu_ifu_wr_p0ctxt),
2869 .lsu_ifu_wr_p1ctxt(lsu_ifu_wr_p1ctxt),
2870 .lsu_ifu_wr_pid(lsu_ifu_wr_pid)
2871);
2872
2873lsu_asd_dp asd (
2874.scan_in(asd_scanin),
2875.scan_out(asd_scanout),
2876.l2clk(l2clk),
2877 .tcu_pce_ov(tcu_pce_ov),
2878 .tcu_scan_en(tcu_scan_en),
2879 .spc_aclk(spc_aclk),
2880 .spc_bclk(spc_bclk),
2881 .pid_asi_pkt(pid_asi_pkt[127:0]),
2882 .asc_ring_ctl(asc_ring_ctl),
2883 .asc_ring_data(asc_ring_data),
2884 .asc_ring_local(asc_ring_local),
2885 .asc_ring_fast(asc_ring_fast),
2886 .lsu_asi_clken(lsu_asi_clken),
2887 .lsu_ring_ctl(lsu_ring_ctl),
2888 .asd_p2a_vld(asd_p2a_vld),
2889 .asd_p2a_fast(asd_p2a_fast),
2890 .lsu_rngf_cdbus(lsu_rngf_cdbus[64:0]),
2891 .lsu_rngl_cdbus(lsu_rngl_cdbus[64:0]),
2892 .lsu_ifu_ctxt_data(lsu_ifu_ctxt_data[12:0]),
2893 .asd_ring_ctl(asd_ring_ctl[63:56]),
2894 .asd_ring_asi(asd_ring_asi[7:0]),
2895 .asd_ring_addr(asd_ring_addr[8:3])
2896);
2897
2898lsu_pid_dp pid (
2899 .scan_in(pid_scanin),
2900 .scan_out(pid_scanout),
2901 .l2clk (l2clk),
2902 .stb_ram_data (stb_ram_data_corr[63:0]),
2903 .stb_cam_data (stb_cam_data_rep0[44:0]),
2904 .tcu_pce_ov(tcu_pce_ov),
2905 .tcu_scan_en(tcu_scan_en),
2906 .spc_aclk(spc_aclk),
2907 .spc_bclk(spc_bclk),
2908 .const_cpuid(const_cpuid[2:0]),
2909 .lmd_bypass_data_m(lmd_bypass_data_m[63:0]),
2910 .lmc_ld_tid(lmc_ld_tid[2:0]),
2911 .lmc_ld_sz(lmc_ld_sz[4:0]),
2912 .lmd_pcx_rqtyp(lmd_pcx_rqtyp[2:0]),
2913 .lmd_pcx_nc(lmd_pcx_nc),
2914 .lmd_pcx_pref(lmd_pcx_pref),
2915 .lmd_pcx_rway(lmd_pcx_rway[1:0]),
2916 .lmd_pcx_addr(lmd_pcx_addr[39:0]),
2917 .lmd_asi_rngf(lmd_asi_rngf),
2918 .lmd_asi_type(lmd_asi_type[1:0]),
2919 .lmd_asi_asi(lmd_asi_asi[7:0]),
2920 .lmc_ld_vld_p4(lmc_ld_vld_p4),
2921 .lmc_ld_inv_p4(lmc_ld_inv_p4),
2922 .sbc_st_sel_tid_p4(sbc_st_sel_tid_p4[2:0]),
2923 .sbc_st_pcx_nc(sbc_st_pcx_nc),
2924 .sbc_st_asi_fs(sbc_st_asi_fs),
2925 .sbc_pcx_bmask(sbc_pcx_bmask[7:0]),
2926 .sbc_pcx_addr(sbc_pcx_addr[2:0]),
2927 .sbc_pcx_rmo_st(sbc_pcx_rmo_st),
2928 .sbc_pcx_blk_st(sbc_pcx_blk_st),
2929 .sbc_pid_kill_store_p4_(sbc_pid_kill_store_p4_),
2930 .sbc_force_inv(sbc_force_inv),
2931 .sbc_st_type_p4(sbc_st_type_p4[2:0]),
2932 .pic_ld_pcx_sel_p4(pic_ld_pcx_sel_p4),
2933 .pic_st_pcx_sel_p4(pic_st_pcx_sel_p4),
2934 .pic_st_asi_p4(pic_st_asi_p4),
2935 .pic_ld_asi_p4(pic_ld_asi_p4),
2936 .pic_asi_sel_p4(pic_asi_sel_p4),
2937 .pic_asi_req(pic_asi_req),
2938 .spc_pcx_data_pa(spc_pcx_data_pa[129:0]),
2939 .pid_asi_pkt(pid_asi_pkt[127:0])
2940);
2941
2942lsu_sbs_ctl sbs0 (
2943 .scan_in(sbs0_scanin),
2944 .scan_out(sbs0_scanout),
2945 .l2clk(l2clk),
2946 .tlb_tte_ie_b (tlb_tte_ie_b_rep00),
2947 .sbc_cam_wvld_m (sbc_cam_wvld_m[0]),
2948 .sbc_st_sel_p3 (sbc_st_sel_p3[0]),
2949 .sbc_bst_b (lsu_block_store_b[0]),
2950 .cic_st_ack (cic_st_ack[0]),
2951 .cic_st_dequeue (cic_st_dequeue[0]),
2952 .cic_rmo_dequeue (cic_rmo_dequeue[0]),
2953 .dcc_sync_inst_w (dcc_sync_inst_w[0]),
2954 .dcc_asi_rtn_vld (dcc_asi_rtn_vld[0]),
2955 .sbs_stb_wptr_m (sbs0_stb_wptr_m[2:0]),
2956 .sbs_stb_rptr (sbs0_stb_rptr[2:0]),
2957 .sbs_state_vld (sbs0_state_vld[7:0]),
2958 .sbs_state_ced (sbs0_state_ced[7:0]),
2959 .sbs_state_asi_rngf (sbs_state_asi_rngf[0]),
2960 .sbs_pcx_pst_ie_p4 (sbs_pcx_pst_ie_p4[0]),
2961 .sbs_all_commited (sbs_all_commited[0]),
2962 .sbs_stb_empty (sbs_stb_empty[0]),
2963 .lsu_stb_empty (lsu_stb_empty[0]),
2964 .sbs_stb_full (sbs_stb_full[0]),
2965 .sbs_bst_req (sbs_bst_req[0]),
2966 .sbc_bst_sel (sbc_bst_sel[0]),
2967 .sbc_st_addr_new (sbc_st_addr_new[0]),
2968 .sbs_asi_indet_req (sbs_asi_indet_req[0]),
2969 .sbs_asi_indet_retire (sbs_asi_indet_retire[0]),
2970 .sbs_sync (lsu_trap_flush[0]),
2971 .sbs_rmo_st_p4 (sbs_rmo_st_p4[0]),
2972 .sbs_blk_st_p4 (sbs_blk_st_p4[0]),
2973 .sbs_st_type (sbs0_st_type[1:0]),
2974 .lsu_stb_alloc (lsu_stb_alloc[0]),
2975 .lsu_stb_dealloc (lsu_stb_dealloc[0]),
2976 .lsu_block_store_kill (lsu_block_store_kill[0]),
2977 .sbs_asi_rq_vld (sbs_asi_rq_vld[0]),
2978 .sbs_atm_rq_vld (sbs_atm_rq_vld[0]),
2979 .sbs_pcx_rq_vld (sbs_pcx_rq_vld[0]),
2980 .tcu_pce_ov(tcu_pce_ov),
2981 .tcu_scan_en(tcu_scan_en),
2982 .spc_aclk(spc_aclk),
2983 .spc_bclk(spc_bclk),
2984 .sbc_rmo_st_b(sbc_rmo_st_b),
2985 .sbc_bst_in_prog_b(sbc_bst_in_prog_b),
2986 .sbc_fgu_ecc_b(sbc_fgu_ecc_b),
2987 .sbc_bst_rd_err(sbc_bst_rd_err),
2988 .sbc_sbs_kill_store_p4_(sbc_sbs_kill_store_p4_),
2989 .sbc_tte_vld_b(sbc_tte_vld_b),
2990 .sbc_blk_inst_b(sbc_blk_inst_b),
2991 .dec_flush_lm(dec_flush_lm),
2992 .dec_flush_lb(dec_flush_lb),
2993 .tlu_flush_lsu_b(tlu_flush_lsu_b),
2994 .spd_st_line_match(spd_st_line_match),
2995 .dcc_asi_store_b(dcc_asi_store_b),
2996 .dcc_asi_iomap_b(dcc_asi_iomap_b),
2997 .dcc_asi_rngf_b(dcc_asi_rngf_b),
2998 .dcc_asi_indet_b(dcc_asi_indet_b),
2999 .dcc_casa_inst_b(dcc_casa_inst_b),
3000 .dcc_pst_asi_b(dcc_pst_asi_b),
3001 .dcc_st_rq_type_w(dcc_st_rq_type_w[1:0]),
3002 .dcc_exception_flush_b(dcc_exception_flush_b),
3003 .pic_st_sel_p3(pic_st_sel_p3),
3004 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
3005 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
3006 .lsu_lsu_pmen_(lsu_lsu_pmen_)
3007);
3008
3009lsu_sbs_ctl sbs1 (
3010 .scan_in(sbs1_scanin),
3011 .scan_out(sbs1_scanout),
3012 .l2clk(l2clk),
3013 .tlb_tte_ie_b (tlb_tte_ie_b_rep00),
3014 .sbc_cam_wvld_m (sbc_cam_wvld_m[1]),
3015 .sbc_st_sel_p3 (sbc_st_sel_p3[1]),
3016 .sbc_bst_b (lsu_block_store_b[1]),
3017 .cic_st_ack (cic_st_ack[1]),
3018 .cic_st_dequeue (cic_st_dequeue[1]),
3019 .cic_rmo_dequeue (cic_rmo_dequeue[1]),
3020 .dcc_sync_inst_w (dcc_sync_inst_w[1]),
3021 .dcc_asi_rtn_vld (dcc_asi_rtn_vld[1]),
3022 .sbs_stb_wptr_m (sbs1_stb_wptr_m[2:0]),
3023 .sbs_stb_rptr (sbs1_stb_rptr[2:0]),
3024 .sbs_state_vld (sbs1_state_vld[7:0]),
3025 .sbs_state_ced (sbs1_state_ced[7:0]),
3026 .sbs_state_asi_rngf (sbs_state_asi_rngf[1]),
3027 .sbs_pcx_pst_ie_p4 (sbs_pcx_pst_ie_p4[1]),
3028 .sbs_all_commited (sbs_all_commited[1]),
3029 .sbs_stb_empty (sbs_stb_empty[1]),
3030 .lsu_stb_empty (lsu_stb_empty[1]),
3031 .sbs_stb_full (sbs_stb_full[1]),
3032 .sbs_bst_req (sbs_bst_req[1]),
3033 .sbc_bst_sel (sbc_bst_sel[1]),
3034 .sbc_st_addr_new (sbc_st_addr_new[1]),
3035 .sbs_asi_indet_req (sbs_asi_indet_req[1]),
3036 .sbs_asi_indet_retire (sbs_asi_indet_retire[1]),
3037 .sbs_sync (lsu_trap_flush[1]),
3038 .sbs_rmo_st_p4 (sbs_rmo_st_p4[1]),
3039 .sbs_blk_st_p4 (sbs_blk_st_p4[1]),
3040 .sbs_st_type (sbs1_st_type[1:0]),
3041 .lsu_stb_alloc (lsu_stb_alloc[1]),
3042 .lsu_stb_dealloc (lsu_stb_dealloc[1]),
3043 .lsu_block_store_kill (lsu_block_store_kill[1]),
3044 .sbs_asi_rq_vld (sbs_asi_rq_vld[1]),
3045 .sbs_atm_rq_vld (sbs_atm_rq_vld[1]),
3046 .sbs_pcx_rq_vld (sbs_pcx_rq_vld[1]),
3047 .tcu_pce_ov(tcu_pce_ov),
3048 .tcu_scan_en(tcu_scan_en),
3049 .spc_aclk(spc_aclk),
3050 .spc_bclk(spc_bclk),
3051 .sbc_rmo_st_b(sbc_rmo_st_b),
3052 .sbc_bst_in_prog_b(sbc_bst_in_prog_b),
3053 .sbc_fgu_ecc_b(sbc_fgu_ecc_b),
3054 .sbc_bst_rd_err(sbc_bst_rd_err),
3055 .sbc_sbs_kill_store_p4_(sbc_sbs_kill_store_p4_),
3056 .sbc_tte_vld_b(sbc_tte_vld_b),
3057 .sbc_blk_inst_b(sbc_blk_inst_b),
3058 .dec_flush_lm(dec_flush_lm),
3059 .dec_flush_lb(dec_flush_lb),
3060 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3061 .spd_st_line_match(spd_st_line_match),
3062 .dcc_asi_store_b(dcc_asi_store_b),
3063 .dcc_asi_iomap_b(dcc_asi_iomap_b),
3064 .dcc_asi_rngf_b(dcc_asi_rngf_b),
3065 .dcc_asi_indet_b(dcc_asi_indet_b),
3066 .dcc_casa_inst_b(dcc_casa_inst_b),
3067 .dcc_pst_asi_b(dcc_pst_asi_b),
3068 .dcc_st_rq_type_w(dcc_st_rq_type_w[1:0]),
3069 .dcc_exception_flush_b(dcc_exception_flush_b),
3070 .pic_st_sel_p3(pic_st_sel_p3),
3071 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
3072 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
3073 .lsu_lsu_pmen_(lsu_lsu_pmen_)
3074);
3075
3076lsu_sbs_ctl sbs2 (
3077 .scan_in(sbs2_scanin),
3078 .scan_out(sbs2_scanout),
3079 .l2clk(l2clk),
3080 .tlb_tte_ie_b (tlb_tte_ie_b_rep00),
3081 .sbc_cam_wvld_m (sbc_cam_wvld_m[2]),
3082 .sbc_st_sel_p3 (sbc_st_sel_p3[2]),
3083 .sbc_bst_b (lsu_block_store_b[2]),
3084 .cic_st_ack (cic_st_ack[2]),
3085 .cic_st_dequeue (cic_st_dequeue[2]),
3086 .cic_rmo_dequeue (cic_rmo_dequeue[2]),
3087 .dcc_sync_inst_w (dcc_sync_inst_w[2]),
3088 .dcc_asi_rtn_vld (dcc_asi_rtn_vld[2]),
3089 .sbs_stb_wptr_m (sbs2_stb_wptr_m[2:0]),
3090 .sbs_stb_rptr (sbs2_stb_rptr[2:0]),
3091 .sbs_state_vld (sbs2_state_vld[7:0]),
3092 .sbs_state_ced (sbs2_state_ced[7:0]),
3093 .sbs_state_asi_rngf (sbs_state_asi_rngf[2]),
3094 .sbs_pcx_pst_ie_p4 (sbs_pcx_pst_ie_p4[2]),
3095 .sbs_all_commited (sbs_all_commited[2]),
3096 .sbs_stb_empty (sbs_stb_empty[2]),
3097 .lsu_stb_empty (lsu_stb_empty[2]),
3098 .sbs_stb_full (sbs_stb_full[2]),
3099 .sbs_bst_req (sbs_bst_req[2]),
3100 .sbc_bst_sel (sbc_bst_sel[2]),
3101 .sbc_st_addr_new (sbc_st_addr_new[2]),
3102 .sbs_asi_indet_req (sbs_asi_indet_req[2]),
3103 .sbs_asi_indet_retire (sbs_asi_indet_retire[2]),
3104 .sbs_sync (lsu_trap_flush[2]),
3105 .sbs_rmo_st_p4 (sbs_rmo_st_p4[2]),
3106 .sbs_blk_st_p4 (sbs_blk_st_p4[2]),
3107 .sbs_st_type (sbs2_st_type[1:0]),
3108 .lsu_stb_alloc (lsu_stb_alloc[2]),
3109 .lsu_stb_dealloc (lsu_stb_dealloc[2]),
3110 .lsu_block_store_kill (lsu_block_store_kill[2]),
3111 .sbs_asi_rq_vld (sbs_asi_rq_vld[2]),
3112 .sbs_atm_rq_vld (sbs_atm_rq_vld[2]),
3113 .sbs_pcx_rq_vld (sbs_pcx_rq_vld[2]),
3114 .tcu_pce_ov(tcu_pce_ov),
3115 .tcu_scan_en(tcu_scan_en),
3116 .spc_aclk(spc_aclk),
3117 .spc_bclk(spc_bclk),
3118 .sbc_rmo_st_b(sbc_rmo_st_b),
3119 .sbc_bst_in_prog_b(sbc_bst_in_prog_b),
3120 .sbc_fgu_ecc_b(sbc_fgu_ecc_b),
3121 .sbc_bst_rd_err(sbc_bst_rd_err),
3122 .sbc_sbs_kill_store_p4_(sbc_sbs_kill_store_p4_),
3123 .sbc_tte_vld_b(sbc_tte_vld_b),
3124 .sbc_blk_inst_b(sbc_blk_inst_b),
3125 .dec_flush_lm(dec_flush_lm),
3126 .dec_flush_lb(dec_flush_lb),
3127 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3128 .spd_st_line_match(spd_st_line_match),
3129 .dcc_asi_store_b(dcc_asi_store_b),
3130 .dcc_asi_iomap_b(dcc_asi_iomap_b),
3131 .dcc_asi_rngf_b(dcc_asi_rngf_b),
3132 .dcc_asi_indet_b(dcc_asi_indet_b),
3133 .dcc_casa_inst_b(dcc_casa_inst_b),
3134 .dcc_pst_asi_b(dcc_pst_asi_b),
3135 .dcc_st_rq_type_w(dcc_st_rq_type_w[1:0]),
3136 .dcc_exception_flush_b(dcc_exception_flush_b),
3137 .pic_st_sel_p3(pic_st_sel_p3),
3138 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
3139 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
3140 .lsu_lsu_pmen_(lsu_lsu_pmen_)
3141);
3142
3143lsu_sbs_ctl sbs3 (
3144 .scan_in(sbs3_scanin),
3145 .scan_out(sbs3_scanout),
3146 .l2clk(l2clk),
3147 .tlb_tte_ie_b (tlb_tte_ie_b_rep00),
3148 .sbc_cam_wvld_m (sbc_cam_wvld_m[3]),
3149 .sbc_st_sel_p3 (sbc_st_sel_p3[3]),
3150 .sbc_bst_b (lsu_block_store_b[3]),
3151 .cic_st_ack (cic_st_ack[3]),
3152 .cic_st_dequeue (cic_st_dequeue[3]),
3153 .cic_rmo_dequeue (cic_rmo_dequeue[3]),
3154 .dcc_sync_inst_w (dcc_sync_inst_w[3]),
3155 .dcc_asi_rtn_vld (dcc_asi_rtn_vld[3]),
3156 .sbs_stb_wptr_m (sbs3_stb_wptr_m[2:0]),
3157 .sbs_stb_rptr (sbs3_stb_rptr[2:0]),
3158 .sbs_state_vld (sbs3_state_vld[7:0]),
3159 .sbs_state_ced (sbs3_state_ced[7:0]),
3160 .sbs_state_asi_rngf (sbs_state_asi_rngf[3]),
3161 .sbs_pcx_pst_ie_p4 (sbs_pcx_pst_ie_p4[3]),
3162 .sbs_all_commited (sbs_all_commited[3]),
3163 .sbs_stb_empty (sbs_stb_empty[3]),
3164 .lsu_stb_empty (lsu_stb_empty[3]),
3165 .sbs_stb_full (sbs_stb_full[3]),
3166 .sbs_bst_req (sbs_bst_req[3]),
3167 .sbc_bst_sel (sbc_bst_sel[3]),
3168 .sbc_st_addr_new (sbc_st_addr_new[3]),
3169 .sbs_asi_indet_req (sbs_asi_indet_req[3]),
3170 .sbs_asi_indet_retire (sbs_asi_indet_retire[3]),
3171 .sbs_sync (lsu_trap_flush[3]),
3172 .sbs_rmo_st_p4 (sbs_rmo_st_p4[3]),
3173 .sbs_blk_st_p4 (sbs_blk_st_p4[3]),
3174 .sbs_st_type (sbs3_st_type[1:0]),
3175 .lsu_stb_alloc (lsu_stb_alloc[3]),
3176 .lsu_stb_dealloc (lsu_stb_dealloc[3]),
3177 .lsu_block_store_kill (lsu_block_store_kill[3]),
3178 .sbs_asi_rq_vld (sbs_asi_rq_vld[3]),
3179 .sbs_atm_rq_vld (sbs_atm_rq_vld[3]),
3180 .sbs_pcx_rq_vld (sbs_pcx_rq_vld[3]),
3181 .tcu_pce_ov(tcu_pce_ov),
3182 .tcu_scan_en(tcu_scan_en),
3183 .spc_aclk(spc_aclk),
3184 .spc_bclk(spc_bclk),
3185 .sbc_rmo_st_b(sbc_rmo_st_b),
3186 .sbc_bst_in_prog_b(sbc_bst_in_prog_b),
3187 .sbc_fgu_ecc_b(sbc_fgu_ecc_b),
3188 .sbc_bst_rd_err(sbc_bst_rd_err),
3189 .sbc_sbs_kill_store_p4_(sbc_sbs_kill_store_p4_),
3190 .sbc_tte_vld_b(sbc_tte_vld_b),
3191 .sbc_blk_inst_b(sbc_blk_inst_b),
3192 .dec_flush_lm(dec_flush_lm),
3193 .dec_flush_lb(dec_flush_lb),
3194 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3195 .spd_st_line_match(spd_st_line_match),
3196 .dcc_asi_store_b(dcc_asi_store_b),
3197 .dcc_asi_iomap_b(dcc_asi_iomap_b),
3198 .dcc_asi_rngf_b(dcc_asi_rngf_b),
3199 .dcc_asi_indet_b(dcc_asi_indet_b),
3200 .dcc_casa_inst_b(dcc_casa_inst_b),
3201 .dcc_pst_asi_b(dcc_pst_asi_b),
3202 .dcc_st_rq_type_w(dcc_st_rq_type_w[1:0]),
3203 .dcc_exception_flush_b(dcc_exception_flush_b),
3204 .pic_st_sel_p3(pic_st_sel_p3),
3205 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
3206 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
3207 .lsu_lsu_pmen_(lsu_lsu_pmen_)
3208);
3209
3210lsu_sbs_ctl sbs4 (
3211 .scan_in(sbs4_scanin),
3212 .scan_out(sbs4_scanout),
3213 .l2clk(l2clk),
3214 .tlb_tte_ie_b (tlb_tte_ie_b_rep00),
3215 .sbc_cam_wvld_m (sbc_cam_wvld_m[4]),
3216 .sbc_st_sel_p3 (sbc_st_sel_p3[4]),
3217 .sbc_bst_b (lsu_block_store_b[4]),
3218 .cic_st_ack (cic_st_ack[4]),
3219 .cic_st_dequeue (cic_st_dequeue[4]),
3220 .cic_rmo_dequeue (cic_rmo_dequeue[4]),
3221 .dcc_sync_inst_w (dcc_sync_inst_w[4]),
3222 .dcc_asi_rtn_vld (dcc_asi_rtn_vld[4]),
3223 .sbs_stb_wptr_m (sbs4_stb_wptr_m[2:0]),
3224 .sbs_stb_rptr (sbs4_stb_rptr[2:0]),
3225 .sbs_state_vld (sbs4_state_vld[7:0]),
3226 .sbs_state_ced (sbs4_state_ced[7:0]),
3227 .sbs_state_asi_rngf (sbs_state_asi_rngf[4]),
3228 .sbs_pcx_pst_ie_p4 (sbs_pcx_pst_ie_p4[4]),
3229 .sbs_all_commited (sbs_all_commited[4]),
3230 .sbs_stb_empty (sbs_stb_empty[4]),
3231 .lsu_stb_empty (lsu_stb_empty[4]),
3232 .sbs_stb_full (sbs_stb_full[4]),
3233 .sbs_bst_req (sbs_bst_req[4]),
3234 .sbc_bst_sel (sbc_bst_sel[4]),
3235 .sbc_st_addr_new (sbc_st_addr_new[4]),
3236 .sbs_asi_indet_req (sbs_asi_indet_req[4]),
3237 .sbs_asi_indet_retire (sbs_asi_indet_retire[4]),
3238 .sbs_sync (lsu_trap_flush[4]),
3239 .sbs_rmo_st_p4 (sbs_rmo_st_p4[4]),
3240 .sbs_blk_st_p4 (sbs_blk_st_p4[4]),
3241 .sbs_st_type (sbs4_st_type[1:0]),
3242 .lsu_stb_alloc (lsu_stb_alloc[4]),
3243 .lsu_stb_dealloc (lsu_stb_dealloc[4]),
3244 .lsu_block_store_kill (lsu_block_store_kill[4]),
3245 .sbs_asi_rq_vld (sbs_asi_rq_vld[4]),
3246 .sbs_atm_rq_vld (sbs_atm_rq_vld[4]),
3247 .sbs_pcx_rq_vld (sbs_pcx_rq_vld[4]),
3248 .tcu_pce_ov(tcu_pce_ov),
3249 .tcu_scan_en(tcu_scan_en),
3250 .spc_aclk(spc_aclk),
3251 .spc_bclk(spc_bclk),
3252 .sbc_rmo_st_b(sbc_rmo_st_b),
3253 .sbc_bst_in_prog_b(sbc_bst_in_prog_b),
3254 .sbc_fgu_ecc_b(sbc_fgu_ecc_b),
3255 .sbc_bst_rd_err(sbc_bst_rd_err),
3256 .sbc_sbs_kill_store_p4_(sbc_sbs_kill_store_p4_),
3257 .sbc_tte_vld_b(sbc_tte_vld_b),
3258 .sbc_blk_inst_b(sbc_blk_inst_b),
3259 .dec_flush_lm(dec_flush_lm),
3260 .dec_flush_lb(dec_flush_lb),
3261 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3262 .spd_st_line_match(spd_st_line_match),
3263 .dcc_asi_store_b(dcc_asi_store_b),
3264 .dcc_asi_iomap_b(dcc_asi_iomap_b),
3265 .dcc_asi_rngf_b(dcc_asi_rngf_b),
3266 .dcc_asi_indet_b(dcc_asi_indet_b),
3267 .dcc_casa_inst_b(dcc_casa_inst_b),
3268 .dcc_pst_asi_b(dcc_pst_asi_b),
3269 .dcc_st_rq_type_w(dcc_st_rq_type_w[1:0]),
3270 .dcc_exception_flush_b(dcc_exception_flush_b),
3271 .pic_st_sel_p3(pic_st_sel_p3),
3272 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
3273 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
3274 .lsu_lsu_pmen_(lsu_lsu_pmen_)
3275);
3276
3277lsu_sbs_ctl sbs5 (
3278 .scan_in(sbs5_scanin),
3279 .scan_out(sbs5_scanout),
3280 .l2clk(l2clk),
3281 .tlb_tte_ie_b (tlb_tte_ie_b_rep00),
3282 .sbc_cam_wvld_m (sbc_cam_wvld_m[5]),
3283 .sbc_st_sel_p3 (sbc_st_sel_p3[5]),
3284 .sbc_bst_b (lsu_block_store_b[5]),
3285 .cic_st_ack (cic_st_ack[5]),
3286 .cic_st_dequeue (cic_st_dequeue[5]),
3287 .cic_rmo_dequeue (cic_rmo_dequeue[5]),
3288 .dcc_sync_inst_w (dcc_sync_inst_w[5]),
3289 .dcc_asi_rtn_vld (dcc_asi_rtn_vld[5]),
3290 .sbs_stb_wptr_m (sbs5_stb_wptr_m[2:0]),
3291 .sbs_stb_rptr (sbs5_stb_rptr[2:0]),
3292 .sbs_state_vld (sbs5_state_vld[7:0]),
3293 .sbs_state_ced (sbs5_state_ced[7:0]),
3294 .sbs_state_asi_rngf (sbs_state_asi_rngf[5]),
3295 .sbs_pcx_pst_ie_p4 (sbs_pcx_pst_ie_p4[5]),
3296 .sbs_all_commited (sbs_all_commited[5]),
3297 .sbs_stb_empty (sbs_stb_empty[5]),
3298 .lsu_stb_empty (lsu_stb_empty[5]),
3299 .sbs_stb_full (sbs_stb_full[5]),
3300 .sbs_bst_req (sbs_bst_req[5]),
3301 .sbc_bst_sel (sbc_bst_sel[5]),
3302 .sbc_st_addr_new (sbc_st_addr_new[5]),
3303 .sbs_asi_indet_req (sbs_asi_indet_req[5]),
3304 .sbs_asi_indet_retire (sbs_asi_indet_retire[5]),
3305 .sbs_sync (lsu_trap_flush[5]),
3306 .sbs_rmo_st_p4 (sbs_rmo_st_p4[5]),
3307 .sbs_blk_st_p4 (sbs_blk_st_p4[5]),
3308 .sbs_st_type (sbs5_st_type[1:0]),
3309 .lsu_stb_alloc (lsu_stb_alloc[5]),
3310 .lsu_stb_dealloc (lsu_stb_dealloc[5]),
3311 .lsu_block_store_kill (lsu_block_store_kill[5]),
3312 .sbs_asi_rq_vld (sbs_asi_rq_vld[5]),
3313 .sbs_atm_rq_vld (sbs_atm_rq_vld[5]),
3314 .sbs_pcx_rq_vld (sbs_pcx_rq_vld[5]),
3315 .tcu_pce_ov(tcu_pce_ov),
3316 .tcu_scan_en(tcu_scan_en),
3317 .spc_aclk(spc_aclk),
3318 .spc_bclk(spc_bclk),
3319 .sbc_rmo_st_b(sbc_rmo_st_b),
3320 .sbc_bst_in_prog_b(sbc_bst_in_prog_b),
3321 .sbc_fgu_ecc_b(sbc_fgu_ecc_b),
3322 .sbc_bst_rd_err(sbc_bst_rd_err),
3323 .sbc_sbs_kill_store_p4_(sbc_sbs_kill_store_p4_),
3324 .sbc_tte_vld_b(sbc_tte_vld_b),
3325 .sbc_blk_inst_b(sbc_blk_inst_b),
3326 .dec_flush_lm(dec_flush_lm),
3327 .dec_flush_lb(dec_flush_lb),
3328 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3329 .spd_st_line_match(spd_st_line_match),
3330 .dcc_asi_store_b(dcc_asi_store_b),
3331 .dcc_asi_iomap_b(dcc_asi_iomap_b),
3332 .dcc_asi_rngf_b(dcc_asi_rngf_b),
3333 .dcc_asi_indet_b(dcc_asi_indet_b),
3334 .dcc_casa_inst_b(dcc_casa_inst_b),
3335 .dcc_pst_asi_b(dcc_pst_asi_b),
3336 .dcc_st_rq_type_w(dcc_st_rq_type_w[1:0]),
3337 .dcc_exception_flush_b(dcc_exception_flush_b),
3338 .pic_st_sel_p3(pic_st_sel_p3),
3339 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
3340 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
3341 .lsu_lsu_pmen_(lsu_lsu_pmen_)
3342);
3343
3344lsu_sbs_ctl sbs6 (
3345 .scan_in(sbs6_scanin),
3346 .scan_out(sbs6_scanout),
3347 .l2clk(l2clk),
3348 .tlb_tte_ie_b (tlb_tte_ie_b_rep00),
3349 .sbc_cam_wvld_m (sbc_cam_wvld_m[6]),
3350 .sbc_st_sel_p3 (sbc_st_sel_p3[6]),
3351 .sbc_bst_b (lsu_block_store_b[6]),
3352 .cic_st_ack (cic_st_ack[6]),
3353 .cic_st_dequeue (cic_st_dequeue[6]),
3354 .cic_rmo_dequeue (cic_rmo_dequeue[6]),
3355 .dcc_sync_inst_w (dcc_sync_inst_w[6]),
3356 .dcc_asi_rtn_vld (dcc_asi_rtn_vld[6]),
3357 .sbs_stb_wptr_m (sbs6_stb_wptr_m[2:0]),
3358 .sbs_stb_rptr (sbs6_stb_rptr[2:0]),
3359 .sbs_state_vld (sbs6_state_vld[7:0]),
3360 .sbs_state_ced (sbs6_state_ced[7:0]),
3361 .sbs_state_asi_rngf (sbs_state_asi_rngf[6]),
3362 .sbs_pcx_pst_ie_p4 (sbs_pcx_pst_ie_p4[6]),
3363 .sbs_all_commited (sbs_all_commited[6]),
3364 .sbs_stb_empty (sbs_stb_empty[6]),
3365 .lsu_stb_empty (lsu_stb_empty[6]),
3366 .sbs_stb_full (sbs_stb_full[6]),
3367 .sbs_bst_req (sbs_bst_req[6]),
3368 .sbc_bst_sel (sbc_bst_sel[6]),
3369 .sbc_st_addr_new (sbc_st_addr_new[6]),
3370 .sbs_asi_indet_req (sbs_asi_indet_req[6]),
3371 .sbs_asi_indet_retire (sbs_asi_indet_retire[6]),
3372 .sbs_sync (lsu_trap_flush[6]),
3373 .sbs_rmo_st_p4 (sbs_rmo_st_p4[6]),
3374 .sbs_blk_st_p4 (sbs_blk_st_p4[6]),
3375 .sbs_st_type (sbs6_st_type[1:0]),
3376 .lsu_stb_alloc (lsu_stb_alloc[6]),
3377 .lsu_stb_dealloc (lsu_stb_dealloc[6]),
3378 .lsu_block_store_kill (lsu_block_store_kill[6]),
3379 .sbs_asi_rq_vld (sbs_asi_rq_vld[6]),
3380 .sbs_atm_rq_vld (sbs_atm_rq_vld[6]),
3381 .sbs_pcx_rq_vld (sbs_pcx_rq_vld[6]),
3382 .tcu_pce_ov(tcu_pce_ov),
3383 .tcu_scan_en(tcu_scan_en),
3384 .spc_aclk(spc_aclk),
3385 .spc_bclk(spc_bclk),
3386 .sbc_rmo_st_b(sbc_rmo_st_b),
3387 .sbc_bst_in_prog_b(sbc_bst_in_prog_b),
3388 .sbc_fgu_ecc_b(sbc_fgu_ecc_b),
3389 .sbc_bst_rd_err(sbc_bst_rd_err),
3390 .sbc_sbs_kill_store_p4_(sbc_sbs_kill_store_p4_),
3391 .sbc_tte_vld_b(sbc_tte_vld_b),
3392 .sbc_blk_inst_b(sbc_blk_inst_b),
3393 .dec_flush_lm(dec_flush_lm),
3394 .dec_flush_lb(dec_flush_lb),
3395 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3396 .spd_st_line_match(spd_st_line_match),
3397 .dcc_asi_store_b(dcc_asi_store_b),
3398 .dcc_asi_iomap_b(dcc_asi_iomap_b),
3399 .dcc_asi_rngf_b(dcc_asi_rngf_b),
3400 .dcc_asi_indet_b(dcc_asi_indet_b),
3401 .dcc_casa_inst_b(dcc_casa_inst_b),
3402 .dcc_pst_asi_b(dcc_pst_asi_b),
3403 .dcc_st_rq_type_w(dcc_st_rq_type_w[1:0]),
3404 .dcc_exception_flush_b(dcc_exception_flush_b),
3405 .pic_st_sel_p3(pic_st_sel_p3),
3406 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
3407 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
3408 .lsu_lsu_pmen_(lsu_lsu_pmen_)
3409);
3410
3411lsu_sbs_ctl sbs7 (
3412 .scan_in(sbs7_scanin),
3413 .scan_out(sbs7_scanout),
3414 .l2clk(l2clk),
3415 .tlb_tte_ie_b (tlb_tte_ie_b_rep00),
3416 .sbc_cam_wvld_m (sbc_cam_wvld_m[7]),
3417 .sbc_st_sel_p3 (sbc_st_sel_p3[7]),
3418 .sbc_bst_b (lsu_block_store_b[7]),
3419 .cic_st_ack (cic_st_ack[7]),
3420 .cic_st_dequeue (cic_st_dequeue[7]),
3421 .cic_rmo_dequeue (cic_rmo_dequeue[7]),
3422 .dcc_sync_inst_w (dcc_sync_inst_w[7]),
3423 .dcc_asi_rtn_vld (dcc_asi_rtn_vld[7]),
3424 .sbs_stb_wptr_m (sbs7_stb_wptr_m[2:0]),
3425 .sbs_stb_rptr (sbs7_stb_rptr[2:0]),
3426 .sbs_state_vld (sbs7_state_vld[7:0]),
3427 .sbs_state_ced (sbs7_state_ced[7:0]),
3428 .sbs_state_asi_rngf (sbs_state_asi_rngf[7]),
3429 .sbs_pcx_pst_ie_p4 (sbs_pcx_pst_ie_p4[7]),
3430 .sbs_all_commited (sbs_all_commited[7]),
3431 .sbs_stb_empty (sbs_stb_empty[7]),
3432 .lsu_stb_empty (lsu_stb_empty[7]),
3433 .sbs_stb_full (sbs_stb_full[7]),
3434 .sbs_bst_req (sbs_bst_req[7]),
3435 .sbc_bst_sel (sbc_bst_sel[7]),
3436 .sbc_st_addr_new (sbc_st_addr_new[7]),
3437 .sbs_asi_indet_req (sbs_asi_indet_req[7]),
3438 .sbs_asi_indet_retire (sbs_asi_indet_retire[7]),
3439 .sbs_sync (lsu_trap_flush[7]),
3440 .sbs_rmo_st_p4 (sbs_rmo_st_p4[7]),
3441 .sbs_blk_st_p4 (sbs_blk_st_p4[7]),
3442 .sbs_st_type (sbs7_st_type[1:0]),
3443 .lsu_stb_alloc (lsu_stb_alloc[7]),
3444 .lsu_stb_dealloc (lsu_stb_dealloc[7]),
3445 .lsu_block_store_kill (lsu_block_store_kill[7]),
3446 .sbs_asi_rq_vld (sbs_asi_rq_vld[7]),
3447 .sbs_atm_rq_vld (sbs_atm_rq_vld[7]),
3448 .sbs_pcx_rq_vld (sbs_pcx_rq_vld[7]),
3449 .tcu_pce_ov(tcu_pce_ov),
3450 .tcu_scan_en(tcu_scan_en),
3451 .spc_aclk(spc_aclk),
3452 .spc_bclk(spc_bclk),
3453 .sbc_rmo_st_b(sbc_rmo_st_b),
3454 .sbc_bst_in_prog_b(sbc_bst_in_prog_b),
3455 .sbc_fgu_ecc_b(sbc_fgu_ecc_b),
3456 .sbc_bst_rd_err(sbc_bst_rd_err),
3457 .sbc_sbs_kill_store_p4_(sbc_sbs_kill_store_p4_),
3458 .sbc_tte_vld_b(sbc_tte_vld_b),
3459 .sbc_blk_inst_b(sbc_blk_inst_b),
3460 .dec_flush_lm(dec_flush_lm),
3461 .dec_flush_lb(dec_flush_lb),
3462 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3463 .spd_st_line_match(spd_st_line_match),
3464 .dcc_asi_store_b(dcc_asi_store_b),
3465 .dcc_asi_iomap_b(dcc_asi_iomap_b),
3466 .dcc_asi_rngf_b(dcc_asi_rngf_b),
3467 .dcc_asi_indet_b(dcc_asi_indet_b),
3468 .dcc_casa_inst_b(dcc_casa_inst_b),
3469 .dcc_pst_asi_b(dcc_pst_asi_b),
3470 .dcc_st_rq_type_w(dcc_st_rq_type_w[1:0]),
3471 .dcc_exception_flush_b(dcc_exception_flush_b),
3472 .pic_st_sel_p3(pic_st_sel_p3),
3473 .dcc_asi_rtn_excp(dcc_asi_rtn_excp),
3474 .dcc_asi_rtn_rd(dcc_asi_rtn_rd),
3475 .lsu_lsu_pmen_(lsu_lsu_pmen_)
3476);
3477
3478lsu_sbc_ctl sbc (
3479 .scan_in(sbc_scanin),
3480 .scan_out(sbc_scanout),
3481 .l2clk (l2clk),
3482 .tlb_pgnum_b39 (tlb_pgnum[39]),
3483 .tlb_tte_ie_b (tlb_tte_ie_b_rep00),
3484 .stb_cam_hit (stb_cam_hit_rep0),
3485 .lsu_asi_error_inject_b17 (lsu_asi_error_inject[17]),
3486 .lsu_asi_error_inject_b19 (lsu_asi_error_inject[19]),
3487 .lsu_asi_error_inject_b31 (lsu_asi_error_inject[31]),
3488 .stb_cam_addr_b39 (stb_cam_data_rep0[44]),
3489 .stb_cam_data (stb_cam_data_rep0[7:0]),
3490 .tcu_pce_ov(tcu_pce_ov),
3491 .tcu_scan_en(tcu_scan_en),
3492 .spc_aclk(spc_aclk),
3493 .spc_bclk(spc_bclk),
3494 .dec_st_inst_e(dec_st_inst_e),
3495 .dec_fpldst_inst_e(dec_fpldst_inst_e),
3496 .dec_flush_lm(dec_flush_lm),
3497 .dec_flush_lb(dec_flush_lb),
3498 .dec_frf_r2_addr_e(dec_frf_r2_addr_e[4:3]),
3499 .dcc_lendian_pre_m(dcc_lendian_pre_m),
3500 .dcc_tte_vld_m(dcc_tte_vld_m),
3501 .dcc_ldst_sz_m(dcc_ldst_sz_m[1:0]),
3502 .dcc_tid_e(dcc_tid_e[2:0]),
3503 .dcc_blk_inst_m(dcc_blk_inst_m),
3504 .dcc_std_inst_m(dcc_std_inst_m),
3505 .dcc_asi_load_m(dcc_asi_load_m),
3506 .dcc_binit_st_b(dcc_binit_st_b),
3507 .dcc_casa_inst_b(dcc_casa_inst_b),
3508 .dcc_exception_flush_b(dcc_exception_flush_b),
3509 .dcc_priv_b(dcc_priv_b),
3510 .dcc_hpriv_b(dcc_hpriv_b),
3511 .dcc_stb_diag_rd_m(dcc_stb_diag_rd_m),
3512 .dcc_wr_error_inj_m(dcc_wr_error_inj_m),
3513 .dcc_sync_pipe_w(dcc_sync_pipe_w),
3514 .lsu_va_b(lsu_va_b[5:3]),
3515 .lsu_asi_error_inject(lsu_asi_error_inject[6:0]),
3516 .lsu_lsu_pmen(lsu_lsu_pmen),
3517 .tlu_flush_lsu_b(tlu_flush_lsu_b),
3518 .tlu_cerer_sbdpc(tlu_cerer_sbdpc),
3519 .tlu_cerer_sbdpu(tlu_cerer_sbdpu),
3520 .tlu_cerer_sbapp(tlu_cerer_sbapp),
3521 .tlu_cerer_sbdiou(tlu_cerer_sbdiou),
3522 .sbs0_stb_wptr_m(sbs0_stb_wptr_m[2:0]),
3523 .sbs1_stb_wptr_m(sbs1_stb_wptr_m[2:0]),
3524 .sbs2_stb_wptr_m(sbs2_stb_wptr_m[2:0]),
3525 .sbs3_stb_wptr_m(sbs3_stb_wptr_m[2:0]),
3526 .sbs4_stb_wptr_m(sbs4_stb_wptr_m[2:0]),
3527 .sbs5_stb_wptr_m(sbs5_stb_wptr_m[2:0]),
3528 .sbs6_stb_wptr_m(sbs6_stb_wptr_m[2:0]),
3529 .sbs7_stb_wptr_m(sbs7_stb_wptr_m[2:0]),
3530 .sbs0_stb_rptr(sbs0_stb_rptr[2:0]),
3531 .sbs1_stb_rptr(sbs1_stb_rptr[2:0]),
3532 .sbs2_stb_rptr(sbs2_stb_rptr[2:0]),
3533 .sbs3_stb_rptr(sbs3_stb_rptr[2:0]),
3534 .sbs4_stb_rptr(sbs4_stb_rptr[2:0]),
3535 .sbs5_stb_rptr(sbs5_stb_rptr[2:0]),
3536 .sbs6_stb_rptr(sbs6_stb_rptr[2:0]),
3537 .sbs7_stb_rptr(sbs7_stb_rptr[2:0]),
3538 .sbs_pcx_rq_vld(sbs_pcx_rq_vld[7:0]),
3539 .sbs_atm_rq_vld(sbs_atm_rq_vld[7:0]),
3540 .sbs_asi_rq_vld(sbs_asi_rq_vld[7:0]),
3541 .sbs0_state_vld(sbs0_state_vld[7:0]),
3542 .sbs1_state_vld(sbs1_state_vld[7:0]),
3543 .sbs2_state_vld(sbs2_state_vld[7:0]),
3544 .sbs3_state_vld(sbs3_state_vld[7:0]),
3545 .sbs4_state_vld(sbs4_state_vld[7:0]),
3546 .sbs5_state_vld(sbs5_state_vld[7:0]),
3547 .sbs6_state_vld(sbs6_state_vld[7:0]),
3548 .sbs7_state_vld(sbs7_state_vld[7:0]),
3549 .sbs0_state_ced(sbs0_state_ced[7:0]),
3550 .sbs1_state_ced(sbs1_state_ced[7:0]),
3551 .sbs2_state_ced(sbs2_state_ced[7:0]),
3552 .sbs3_state_ced(sbs3_state_ced[7:0]),
3553 .sbs4_state_ced(sbs4_state_ced[7:0]),
3554 .sbs5_state_ced(sbs5_state_ced[7:0]),
3555 .sbs6_state_ced(sbs6_state_ced[7:0]),
3556 .sbs7_state_ced(sbs7_state_ced[7:0]),
3557 .sbs0_st_type(sbs0_st_type[1:0]),
3558 .sbs1_st_type(sbs1_st_type[1:0]),
3559 .sbs2_st_type(sbs2_st_type[1:0]),
3560 .sbs3_st_type(sbs3_st_type[1:0]),
3561 .sbs4_st_type(sbs4_st_type[1:0]),
3562 .sbs5_st_type(sbs5_st_type[1:0]),
3563 .sbs6_st_type(sbs6_st_type[1:0]),
3564 .sbs7_st_type(sbs7_st_type[1:0]),
3565 .sbs_state_asi_rngf(sbs_state_asi_rngf[7:0]),
3566 .sbs_pcx_pst_ie_p4(sbs_pcx_pst_ie_p4[7:0]),
3567 .sbs_bst_req(sbs_bst_req[7:0]),
3568 .sbs_asi_indet_req(sbs_asi_indet_req[7:0]),
3569 .sbs_asi_indet_retire(sbs_asi_indet_retire[7:0]),
3570 .sbs_rmo_st_p4(sbs_rmo_st_p4[7:0]),
3571 .sbs_blk_st_p4(sbs_blk_st_p4[7:0]),
3572 .sbs_stb_empty(sbs_stb_empty[7:0]),
3573 .stb_cam_mhit(stb_cam_mhit),
3574 .stb_ld_part_raw(stb_ld_part_raw),
3575 .stb_cam_hit_ptr(stb_cam_hit_ptr[2:0]),
3576 .stb_cecc_err(stb_cecc_err),
3577 .stb_uecc_err(stb_uecc_err),
3578 .stb_ram_ctl(stb_ram_ctl[2:0]),
3579 .stb_cam_perr(stb_cam_perr),
3580 .lmd_asi_asi(lmd_asi_asi[7:0]),
3581 .lmd_asi_type(lmd_asi_type[1:0]),
3582 .lmc_ld_inst_w(lmc_ld_inst_w),
3583 .lmc_asi_indet_retire(lmc_asi_indet_retire),
3584 .pic_st_pcx_sel_p3(pic_st_pcx_sel_p3),
3585 .pic_st_asi_sel_p3(pic_st_asi_sel_p3),
3586 .pic_asi_sel_p4(pic_asi_sel_p4),
3587 .tlb_cam_mhit(tlb_cam_mhit),
3588 .fgu_fst_ecc_error_fx2(fgu_fst_ecc_error_fx2),
3589 .sed_bist_cmp_0(sed_bist_cmp_0),
3590 .sed_bist_cmp_1(sed_bist_cmp_1),
3591 .sed_bist_cmp_2(sed_bist_cmp_2),
3592 .sed_bist_cmp_3(sed_bist_cmp_3),
3593 .lbist_run(lbist_run),
3594 .mbi_run(mbi_run),
3595 .mbi_addr(mbi_addr[5:0]),
3596 .mbi_wdata(mbi_wdata[2:0]),
3597 .mbi_stb_cam_read_en(mbi_stb_cam_read_en),
3598 .mbi_stb_cam_write_en(mbi_stb_cam_write_en),
3599 .mbi_stb_ram_read_en(mbi_stb_ram_read_en),
3600 .mbi_stb_ram_write_en(mbi_stb_ram_write_en),
3601 .bist_srm_rd_1(bist_srm_rd_1),
3602 .bist_scm_rd_1(bist_scm_rd_1),
3603 .sbc_thread_b(sbc_thread_b[7:0]),
3604 .sbc_st_int_sel_m(sbc_st_int_sel_m),
3605 .sbc_std_le_m(sbc_std_le_m),
3606 .sbc_st_le_if_ie_m(sbc_st_le_if_ie_m),
3607 .sbc_st_le_not_ie_m(sbc_st_le_not_ie_m),
3608 .sbc_st_sz_m(sbc_st_sz_m[1:0]),
3609 .sbc_inv_addr_prty(sbc_inv_addr_prty),
3610 .sbc_inv_ecc(sbc_inv_ecc[6:0]),
3611 .sbc_stb_ctl_data(sbc_stb_ctl_data[2:0]),
3612 .sbc_twocycle_inst_w(sbc_twocycle_inst_w),
3613 .sbc_tte_vld_b(sbc_tte_vld_b),
3614 .sbc_cam_wvld_m(sbc_cam_wvld_m[7:0]),
3615 .sbc_cam_wptr_vld_m(sbc_cam_wptr_vld_m),
3616 .sbc_cam_rptr_vld(sbc_cam_rptr_vld),
3617 .sbc_cam_rwptr(sbc_cam_rwptr[5:0]),
3618 .sbc_cam_line_en_m(sbc_cam_line_en_m[7:0]),
3619 .sbc_ram_wptr_vld_b(sbc_ram_wptr_vld_b),
3620 .sbc_ram_rptr_vld(sbc_ram_rptr_vld),
3621 .sbc_ram_wptr(sbc_ram_wptr[5:0]),
3622 .sbc_ram_rptr(sbc_ram_rptr[5:0]),
3623 .sbc_cam_tid(sbc_cam_tid[2:0]),
3624 .sbc_diag_wptr_w3(sbc_diag_wptr_w3[2:0]),
3625 .sbc_st_rq_p2(sbc_st_rq_p2),
3626 .sbc_st_atomic_p2(sbc_st_atomic_p2),
3627 .sbc_pcx_rq_p3(sbc_pcx_rq_p3),
3628 .sbc_asi_rq_p3(sbc_asi_rq_p3),
3629 .sbc_st_sel_p3(sbc_st_sel_p3[7:0]),
3630 .sbc_bst_sel(sbc_bst_sel[7:0]),
3631 .sbc_st_sel_tid_p4(sbc_st_sel_tid_p4[2:0]),
3632 .sbc_st_pcx_nc(sbc_st_pcx_nc),
3633 .sbc_pcx_bmask(sbc_pcx_bmask[7:0]),
3634 .sbc_pcx_addr(sbc_pcx_addr[2:0]),
3635 .sbc_pcx_rmo_st(sbc_pcx_rmo_st),
3636 .sbc_pcx_blk_st(sbc_pcx_blk_st),
3637 .sbc_st_asi_fs(sbc_st_asi_fs),
3638 .sbc_st_addr_new(sbc_st_addr_new[7:0]),
3639 .sbc_spd_clken(sbc_spd_clken),
3640 .sbc_ramout_clken(sbc_ramout_clken),
3641 .sbc_tidb_eq_tidw(sbc_tidb_eq_tidw),
3642 .sbc_tid_m(sbc_tid_m[2:0]),
3643 .sbc_st_atom_p3(sbc_st_atom_p3[7:0]),
3644 .sbc_load_bst_addr(sbc_load_bst_addr),
3645 .sbc_bst_in_prog_m(sbc_bst_in_prog_m),
3646 .sbc_bst_in_prog_b(sbc_bst_in_prog_b),
3647 .sbc_bst_offset(sbc_bst_offset[2:0]),
3648 .sbc_rmo_st_b(sbc_rmo_st_b),
3649 .sbc_rawp_rst(sbc_rawp_rst[7:0]),
3650 .sbc_fgu_ecc_b(sbc_fgu_ecc_b),
3651 .sbc_bst_rd_err(sbc_bst_rd_err),
3652 .sbc_pid_kill_store_p4_(sbc_pid_kill_store_p4_),
3653 .sbc_pic_kill_store_p4_(sbc_pic_kill_store_p4_),
3654 .sbc_sbs_kill_store_p4_(sbc_sbs_kill_store_p4_),
3655 .sbc_force_inv(sbc_force_inv),
3656 .sbc_st_type_p4(sbc_st_type_p4[2:0]),
3657 .sbc_blk_inst_b(sbc_blk_inst_b),
3658 .sbc_indet_block_p3(sbc_indet_block_p3),
3659 .lsu_block_store_stall(lsu_block_store_stall),
3660 .lsu_block_store_rd(lsu_block_store_rd[4:3]),
3661 .lsu_block_store_tid(lsu_block_store_tid[2:0]),
3662 .lsu_block_store_alloc(lsu_block_store_alloc[7:0]),
3663 .lsu_block_store_b(lsu_block_store_b[7:0]),
3664 .lsu_block_store_m(lsu_block_store_m),
3665 .lsu_sbdpc_err_g(lsu_sbdpc_err_g),
3666 .lsu_sbdpu_err_g(lsu_sbdpu_err_g),
3667 .lsu_sbapp_err_g(lsu_sbapp_err_g),
3668 .lsu_sbdiou_err_g(lsu_sbdiou_err_g),
3669 .lsu_stberr_index_g(lsu_stberr_index_g[2:0]),
3670 .lsu_stberr_priv_g(lsu_stberr_priv_g[1:0]),
3671 .lsu_stb_flush_g(lsu_stb_flush_g),
3672 .lsu_frf_read_pending(lsu_frf_read_pending),
3673 .sbc_mbi_run(sbc_mbi_run),
3674 .lsu_mbi_stb_cam_fail(lsu_mbi_stb_cam_fail),
3675 .lsu_mbi_stb_ram_fail(lsu_mbi_stb_ram_fail),
3676 .lsu_mbi_scm_hit(lsu_mbi_scm_hit),
3677 .lsu_mbi_scm_mhit(lsu_mbi_scm_mhit),
3678 .lsu_mbi_scm_hit_ptr(lsu_mbi_scm_hit_ptr[2:0]),
3679 .lsu_mbi_scm_praw(lsu_mbi_scm_praw)
3680);
3681
3682lsu_spd_dp spd (
3683.scan_in(spd_scanin),
3684.scan_out(spd_scanout),
3685.l2clk(l2clk),
3686 .sbd_st_addr_b(sbd_st_addr_b[39:3]),
3687 .sbc_st_addr_new(sbc_st_addr_new[7:0]),
3688 .sbc_thread_b(sbc_thread_b[7:0]),
3689 .sbc_spd_clken(sbc_spd_clken),
3690 .sbc_tidb_eq_tidw(sbc_tidb_eq_tidw),
3691 .sbc_inv_addr_prty(sbc_inv_addr_prty),
3692 .sbc_cam_line_en_m(sbc_cam_line_en_m[7:0]),
3693 .stb_cam_data(stb_cam_data[44:0]),
3694 .stb_ram_cparity(stb_ram_cparity),
3695 .dcc_bmask_parity_b(dcc_bmask_parity_b),
3696 .spd_st_line_match(spd_st_line_match),
3697 .stb_cam_perr(stb_cam_perr),
3698 .stb_cparity_calc(stb_cparity_calc),
3699 .stb_cam_line_en_b(stb_cam_line_en_b[7:0]),
3700 .tcu_pce_ov(tcu_pce_ov),
3701 .tcu_scan_en(tcu_scan_en),
3702 .tcu_se_scancollar_in(tcu_se_scancollar_in),
3703 .spc_aclk(spc_aclk),
3704 .spc_bclk(spc_bclk)
3705);
3706
3707lsu_sec_ctl sec (
3708 .scan_in(sec_scanin),
3709 .scan_out(sec_scanout),
3710 .l2clk (l2clk),
3711 .corr_bit (sec_corr_bit[63:0]),
3712 .cecc_err (stb_cecc_err),
3713 .uecc_err (stb_uecc_err),
3714 .mbi_wdata_b3 (mbi_wdata[3]),
3715 .sed_c1_lo(sed_c1_lo[1:0]),
3716 .sed_c1_hi(sed_c1_hi[1:0]),
3717 .sed_c2_lo(sed_c2_lo[1:0]),
3718 .sed_c2_hi(sed_c2_hi[1:0]),
3719 .sed_c4_lo(sed_c4_lo[1:0]),
3720 .sed_c4_hi(sed_c4_hi[1:0]),
3721 .sed_c8_lo(sed_c8_lo[1:0]),
3722 .sed_c8_hi(sed_c8_hi[1:0]),
3723 .sed_c16_lo(sed_c16_lo[1:0]),
3724 .sed_c16_hi(sed_c16_hi[1:0]),
3725 .sed_cf_lo(sed_cf_lo[2:0]),
3726 .sed_cf_hi(sed_cf_hi[2:0]),
3727 .sed_c32_hi(sed_c32_hi),
3728 .sed_c32_lo(sed_c32_lo),
3729 .sbc_twocycle_inst_w(sbc_twocycle_inst_w),
3730 .stb_cparity_calc(stb_cparity_calc),
3731 .sbc_st_sz_m(sbc_st_sz_m[1:0]),
3732 .sbc_std_le_m(sbc_std_le_m),
3733 .sbc_st_le_if_ie_m(sbc_st_le_if_ie_m),
3734 .sbc_st_le_not_ie_m(sbc_st_le_not_ie_m),
3735 .sbc_spd_clken(sbc_spd_clken),
3736 .mbi_run(mbi_run),
3737 .stb_cparity(stb_cparity),
3738 .sec_st_sz_dw_std_le_b(sec_st_sz_dw_std_le_b),
3739 .sec_st_sz_dw_le_not_ie_b(sec_st_sz_dw_le_not_ie_b),
3740 .sec_st_sz_dw_be_not_ie_b(sec_st_sz_dw_be_not_ie_b),
3741 .sec_st_sz_word_le_not_ie_b(sec_st_sz_word_le_not_ie_b),
3742 .sec_st_sz_word_be_not_ie_b(sec_st_sz_word_be_not_ie_b),
3743 .sec_st_sz_hw_le_not_ie_b(sec_st_sz_hw_le_not_ie_b),
3744 .sec_st_sz_hw_be_not_ie_b(sec_st_sz_hw_be_not_ie_b),
3745 .sec_st_sz_dw_le_if_ie_b(sec_st_sz_dw_le_if_ie_b),
3746 .sec_st_sz_dw_be_if_ie_b(sec_st_sz_dw_be_if_ie_b),
3747 .sec_st_sz_word_le_if_ie_b(sec_st_sz_word_le_if_ie_b),
3748 .sec_st_sz_word_be_if_ie_b(sec_st_sz_word_be_if_ie_b),
3749 .sec_st_sz_hw_le_if_ie_b(sec_st_sz_hw_le_if_ie_b),
3750 .sec_st_sz_hw_be_if_ie_b(sec_st_sz_hw_be_if_ie_b),
3751 .sec_st_sz_byte_b(sec_st_sz_byte_b),
3752 .tcu_pce_ov(tcu_pce_ov),
3753 .tcu_scan_en(tcu_scan_en),
3754 .spc_aclk(spc_aclk),
3755 .spc_bclk(spc_bclk)
3756);
3757
3758lsu_sed_dp sed (
3759 .scan_in(sed_scanin),
3760 .scan_out(sed_scanout),
3761 .l2clk (l2clk),
3762 .bist_cmp_data (bist_cmp_data_rep0[7:0]),
3763 .stb_cam_data (stb_cam_data_rep0[44:0]),
3764 .mbi_run (sbc_mbi_run),
3765 .sbc_ramout_clken(sbc_ramout_clken),
3766 .sbc_diag_wptr_w3(sbc_diag_wptr_w3[2:0]),
3767 .sbc_inv_ecc(sbc_inv_ecc[6:0]),
3768 .stb_ram_rd_data(stb_ram_rd_data[63:0]),
3769 .sec_corr_bit(sec_corr_bit[63:0]),
3770 .stb_ram_rd_ecc(stb_ram_rd_ecc[13:0]),
3771 .stb_ram_rd_cparity(stb_ram_rd_cparity),
3772 .stb_ram_rd_ctl(stb_ram_rd_ctl[2:0]),
3773 .sbd_st_data_b(sbd_st_data_b[63:0]),
3774 .dcc_stb_data_rd_w3(dcc_stb_data_rd_w3),
3775 .dcc_stb_ecc_rd_w3(dcc_stb_ecc_rd_w3),
3776 .dcc_stb_ctl_rd_w3(dcc_stb_ctl_rd_w3),
3777 .dcc_stb_addr_sel_w3(dcc_stb_addr_sel_w3),
3778 .dcc_stb_ptr_rd_w3(dcc_stb_ptr_rd_w3),
3779 .mbi_wdata(mbi_wdata[7:0]),
3780 .stb_ram_data(stb_ram_data[63:0]),
3781 .stb_ram_data_corr(stb_ram_data_corr[63:0]),
3782 .stb_ram_ctl(stb_ram_ctl[2:0]),
3783 .stb_ram_cparity(stb_ram_cparity),
3784 .sed_ecc_b(sed_ecc_b[13:0]),
3785 .sed_c1_lo(sed_c1_lo[1:0]),
3786 .sed_c1_hi(sed_c1_hi[1:0]),
3787 .sed_c2_lo(sed_c2_lo[1:0]),
3788 .sed_c2_hi(sed_c2_hi[1:0]),
3789 .sed_c4_lo(sed_c4_lo[1:0]),
3790 .sed_c4_hi(sed_c4_hi[1:0]),
3791 .sed_c8_lo(sed_c8_lo[1:0]),
3792 .sed_c8_hi(sed_c8_hi[1:0]),
3793 .sed_c16_lo(sed_c16_lo[1:0]),
3794 .sed_c16_hi(sed_c16_hi[1:0]),
3795 .sed_cf_lo(sed_cf_lo[2:0]),
3796 .sed_cf_hi(sed_cf_hi[2:0]),
3797 .sed_c32_hi(sed_c32_hi),
3798 .sed_c32_lo(sed_c32_lo),
3799 .stb_ldxa_asi_data_w(stb_ldxa_asi_data_w[63:0]),
3800 .sed_bist_cmp_0(sed_bist_cmp_0),
3801 .sed_bist_cmp_1(sed_bist_cmp_1),
3802 .sed_bist_cmp_2(sed_bist_cmp_2),
3803 .sed_bist_cmp_3(sed_bist_cmp_3),
3804 .tcu_pce_ov(tcu_pce_ov),
3805 .tcu_se_scancollar_out(tcu_se_scancollar_out),
3806 .spc_aclk(spc_aclk),
3807 .spc_bclk(spc_bclk)
3808);
3809
3810lsu_sbd_dp sbd (
3811 .scan_in(sbd_scanin),
3812 .scan_out(sbd_scanout),
3813 .l2clk (l2clk),
3814 .exu_lsu_store_data_e (exu_lsu_store_data_e_rep0[63:0]),
3815 .mbi_run (sbc_mbi_run),
3816 .const_cpuid(const_cpuid[2:0]),
3817 .lsu_va_m(lsu_va_m[47:3]),
3818 .fgu_lsu_fst_data_fx1(fgu_lsu_fst_data_fx1[63:0]),
3819 .tlb_pgnum_crit(tlb_pgnum_crit[39:13]),
3820 .tlb_tte_ie_b(tlb_tte_ie_b),
3821 .sbc_st_int_sel_m(sbc_st_int_sel_m),
3822 .sbc_bst_offset(sbc_bst_offset[2:0]),
3823 .sbc_bst_in_prog_m(sbc_bst_in_prog_m),
3824 .sbc_load_bst_addr(sbc_load_bst_addr),
3825 .sec_st_sz_dw_std_le_b(sec_st_sz_dw_std_le_b),
3826 .sec_st_sz_dw_le_not_ie_b(sec_st_sz_dw_le_not_ie_b),
3827 .sec_st_sz_dw_be_not_ie_b(sec_st_sz_dw_be_not_ie_b),
3828 .sec_st_sz_word_le_not_ie_b(sec_st_sz_word_le_not_ie_b),
3829 .sec_st_sz_word_be_not_ie_b(sec_st_sz_word_be_not_ie_b),
3830 .sec_st_sz_hw_le_not_ie_b(sec_st_sz_hw_le_not_ie_b),
3831 .sec_st_sz_hw_be_not_ie_b(sec_st_sz_hw_be_not_ie_b),
3832 .sec_st_sz_dw_le_if_ie_b(sec_st_sz_dw_le_if_ie_b),
3833 .sec_st_sz_dw_be_if_ie_b(sec_st_sz_dw_be_if_ie_b),
3834 .sec_st_sz_word_le_if_ie_b(sec_st_sz_word_le_if_ie_b),
3835 .sec_st_sz_word_be_if_ie_b(sec_st_sz_word_be_if_ie_b),
3836 .sec_st_sz_hw_le_if_ie_b(sec_st_sz_hw_le_if_ie_b),
3837 .sec_st_sz_hw_be_if_ie_b(sec_st_sz_hw_be_if_ie_b),
3838 .sec_st_sz_byte_b(sec_st_sz_byte_b),
3839 .dcc_tid_m(dcc_tid_m[2:0]),
3840 .dcc_asi_m(dcc_asi_m[7:0]),
3841 .dcc_sbd_e_clken(dcc_sbd_e_clken),
3842 .dcc_sbd_m_clken(dcc_sbd_m_clken),
3843 .dcc_std_inst_m(dcc_std_inst_m),
3844 .dcc_fp32b_sel_m(dcc_fp32b_sel_m),
3845 .dcc_asi_iomap_m(dcc_asi_iomap_m),
3846 .dcc_cache_diag_wr_m(dcc_cache_diag_wr_m),
3847 .dcc_demap_asi_m(dcc_demap_asi_m),
3848 .dcc_ldstub_inst_m(dcc_ldstub_inst_m),
3849 .stb_cam_data(stb_cam_data[44:11]),
3850 .dcs_memref_m(dcs_memref_m),
3851 .mbi_cambist_run(mbi_cambist_run),
3852 .mbi_wdata(mbi_wdata[7:0]),
3853 .mbi_ptag_data(mbi_ptag_data),
3854 .mbi_init_to_zero(mbi_init_to_zero),
3855 .mbi_cambist_shift(mbi_cambist_shift),
3856 .sbd_st_data_b(sbd_st_data_b[63:0]),
3857 .sbd_st_data2_b(sbd_st_data2_b[63:0]),
3858 .sbd_st_datab_b(sbd_st_datab_b[63:0]),
3859 .sbd_st_predata_b(sbd_st_predata_b[47:0]),
3860 .sbd_st_addr_b(sbd_st_addr_b[39:3]),
3861 .stb_st_addr_m(stb_st_addr_m[39:3]),
3862 .stb_st_addr_b(stb_st_addr_b[39:13]),
3863 .tcu_pce_ov(tcu_pce_ov),
3864 .tcu_scan_en(tcu_scan_en),
3865 .spc_aclk(spc_aclk),
3866 .spc_bclk(spc_bclk)
3867);
3868
3869n2_stb_cm_64x45_cust stb_cam (
3870 .stb_camwr_data ({stb_st_addr_m[39:3],dcc_ldst_bmask[7:0]}),
3871 .stb_cam_vld (dcc_stb_cam_vld_m),
3872 .stb_cam_cm_tid (sbc_cam_tid[2:0]),
3873 .stb_cam_line_en (stb_cam_line_en_b[7:0]),
3874 .stb_cam_rw_ptr (sbc_cam_rwptr[2:0]),
3875 .stb_cam_wptr_vld (sbc_cam_wptr_vld_m),
3876 .stb_cam_rptr_vld (sbc_cam_rptr_vld),
3877 .stb_cam_rw_tid (sbc_cam_rwptr[5:3]),
3878 .stb_quad_ld_cam (dcc_stb_quad_ld_cam),
3879 .scan_in(stb_cam_scanin),
3880 .scan_out(stb_cam_scanout),
3881 .l2clk (l2clk),
3882 .stb_rdata_ramc (stb_cam_data[44:0]),
3883 .stb_ld_partial_raw (stb_ld_part_raw),
3884 .stb_cam_hit_ptr (stb_cam_hit_ptr[2:0]),
3885 .stb_cam_hit (stb_cam_hit),
3886 .stb_cam_mhit (stb_cam_mhit),
3887 .tcu_pce_ov(tcu_pce_ov),
3888 .tcu_aclk(tcu_aclk),
3889 .tcu_bclk(tcu_bclk),
3890 .tcu_scan_en(tcu_scan_en),
3891 .tcu_se_scancollar_in(tcu_se_scancollar_in),
3892 .tcu_se_scancollar_out(tcu_se_scancollar_out),
3893 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
3894 .pce(pce)
3895);
3896
3897n2_com_dp_64x84_cust stb_ram (
3898 .rd_adr (sbc_ram_rptr[5:0]),
3899 .rd_en (sbc_ram_rptr_vld),
3900 .wr_en (sbc_ram_wptr_vld_b),
3901 .wr_adr (sbc_ram_wptr[5:0]),
3902 .din (stb_ram_din[83:0]),
3903 .scan_in(stb_ram_scanin),
3904 .scan_out(stb_ram_scanout),
3905 .rdclk (l2clk),
3906 .wrclk (l2clk),
3907 .dout (stb_ram_dout[83:0]),
3908 .tcu_pce_ov(tcu_pce_ov),
3909 .tcu_aclk(tcu_aclk),
3910 .tcu_bclk(tcu_bclk),
3911 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
3912 .tcu_se_scancollar_in(tcu_se_scancollar_in),
3913 .bist_clk_mux_sel(bist_clk_mux_sel),
3914 .rd_pce(rd_pce),
3915 .wr_pce(wr_pce)
3916);
3917
3918// Reorder nets for physical layout (array pins go from LSB to MSB left to right)
3919assign stb_ram_din[83:0] = {
3920 sbd_st_datab_b[0], sbd_st_datab_b[32], sbd_st_datab_b[1], sbd_st_datab_b[33],
3921 sbd_st_datab_b[2], sbd_st_datab_b[34], sbd_st_datab_b[3], sbd_st_datab_b[35],
3922 sbd_st_datab_b[4], sbd_st_datab_b[36], sbd_st_datab_b[5], sbd_st_datab_b[37],
3923 sbd_st_datab_b[6], sbd_st_datab_b[38], sbd_st_datab_b[7], sbd_st_datab_b[39],
3924 sbd_st_datab_b[8], sbd_st_datab_b[40], sbd_st_datab_b[9], sbd_st_datab_b[41],
3925 sbd_st_datab_b[10], sbd_st_datab_b[42], sbd_st_datab_b[11], sbd_st_datab_b[43],
3926 sbd_st_datab_b[12], sbd_st_datab_b[44], sbd_st_datab_b[13], sbd_st_datab_b[45],
3927 sbd_st_datab_b[14], sbd_st_datab_b[46], sbd_st_datab_b[15], sbd_st_datab_b[47],
3928 2'b00,
3929 sed_ecc_b[0], sed_ecc_b[7], sed_ecc_b[1], sed_ecc_b[8], sed_ecc_b[2], sed_ecc_b[9],
3930 sed_ecc_b[3], sed_ecc_b[10], sed_ecc_b[4], sed_ecc_b[11], sed_ecc_b[5], sed_ecc_b[12],
3931 sed_ecc_b[6], sed_ecc_b[13],
3932 sbd_st_datab_b[16], sbd_st_datab_b[48], sbd_st_datab_b[17], sbd_st_datab_b[49],
3933 sbd_st_datab_b[18], sbd_st_datab_b[50], sbd_st_datab_b[19], sbd_st_datab_b[51],
3934 sbd_st_datab_b[20], sbd_st_datab_b[52], sbd_st_datab_b[21], sbd_st_datab_b[53],
3935 sbd_st_datab_b[22], sbd_st_datab_b[54], sbd_st_datab_b[23], sbd_st_datab_b[55],
3936 sbd_st_datab_b[24], sbd_st_datab_b[56], sbd_st_datab_b[25], sbd_st_datab_b[57],
3937 sbd_st_datab_b[26], sbd_st_datab_b[58], sbd_st_datab_b[27], sbd_st_datab_b[59],
3938 sbd_st_datab_b[28], sbd_st_datab_b[60], sbd_st_datab_b[29], sbd_st_datab_b[61],
3939 sbd_st_datab_b[30], sbd_st_datab_b[62], sbd_st_datab_b[31], sbd_st_datab_b[63],
3940 sbc_stb_ctl_data[0], sbc_stb_ctl_data[2], sbc_stb_ctl_data[1], stb_cparity
3941};
3942
3943assign {
3944 stb_ram_rd_data[0], stb_ram_rd_data[32], stb_ram_rd_data[1], stb_ram_rd_data[33],
3945 stb_ram_rd_data[2], stb_ram_rd_data[34], stb_ram_rd_data[3], stb_ram_rd_data[35],
3946 stb_ram_rd_data[4], stb_ram_rd_data[36], stb_ram_rd_data[5], stb_ram_rd_data[37],
3947 stb_ram_rd_data[6], stb_ram_rd_data[38], stb_ram_rd_data[7], stb_ram_rd_data[39],
3948 stb_ram_rd_data[8], stb_ram_rd_data[40], stb_ram_rd_data[9], stb_ram_rd_data[41],
3949 stb_ram_rd_data[10], stb_ram_rd_data[42], stb_ram_rd_data[11], stb_ram_rd_data[43],
3950 stb_ram_rd_data[12], stb_ram_rd_data[44], stb_ram_rd_data[13], stb_ram_rd_data[45],
3951 stb_ram_rd_data[14], stb_ram_rd_data[46], stb_ram_rd_data[15], stb_ram_rd_data[47],
3952 stb_ram_unused[1:0],
3953 stb_ram_rd_ecc[0], stb_ram_rd_ecc[7], stb_ram_rd_ecc[1], stb_ram_rd_ecc[8],
3954 stb_ram_rd_ecc[2], stb_ram_rd_ecc[9], stb_ram_rd_ecc[3], stb_ram_rd_ecc[10],
3955 stb_ram_rd_ecc[4], stb_ram_rd_ecc[11], stb_ram_rd_ecc[5], stb_ram_rd_ecc[12],
3956 stb_ram_rd_ecc[6], stb_ram_rd_ecc[13],
3957 stb_ram_rd_data[16], stb_ram_rd_data[48], stb_ram_rd_data[17], stb_ram_rd_data[49],
3958 stb_ram_rd_data[18], stb_ram_rd_data[50], stb_ram_rd_data[19], stb_ram_rd_data[51],
3959 stb_ram_rd_data[20], stb_ram_rd_data[52], stb_ram_rd_data[21], stb_ram_rd_data[53],
3960 stb_ram_rd_data[22], stb_ram_rd_data[54], stb_ram_rd_data[23], stb_ram_rd_data[55],
3961 stb_ram_rd_data[24], stb_ram_rd_data[56], stb_ram_rd_data[25], stb_ram_rd_data[57],
3962 stb_ram_rd_data[26], stb_ram_rd_data[58], stb_ram_rd_data[27], stb_ram_rd_data[59],
3963 stb_ram_rd_data[28], stb_ram_rd_data[60], stb_ram_rd_data[29], stb_ram_rd_data[61],
3964 stb_ram_rd_data[30], stb_ram_rd_data[62], stb_ram_rd_data[31], stb_ram_rd_data[63],
3965 stb_ram_rd_ctl[0], stb_ram_rd_ctl[2], stb_ram_rd_ctl[1], stb_ram_rd_cparity
3966} = stb_ram_dout[83:0];
3967
3968assign dta_clken = dcc_dta_clken;
3969
3970n2_dta_sp_1920b_cust dta (
3971 .rdtag_w0_y (dta_rdata_w0_m[29:0]),
3972 .rdtag_w1_y (dta_rdata_w1_m[29:0]),
3973 .rdtag_w2_y (dta_rdata_w2_m[29:0]),
3974 .rdtag_w3_y (dta_rdata_w3_m[29:0]),
3975 .scan_in(dta_scanin),
3976 .scan_out(dta_scanout),
3977 .l2clk (l2clk),
3978 .index0_x (exu_lsu_address_e_rep0[10:4]),
3979 .index1_x (dcc_dta_fill_addr_e[10:4]),
3980 .index_sel_x (dcc_dta_index1_sel_e),
3981 .wrway_x (dcc_dta_fill_way_e[1:0]),
3982 .rdreq_x (dcc_dta_rvld_e),
3983 .wrreq_x (dcc_dta_wvld_e),
3984 .wrtag_x ({dcc_dta_parity,lmd_fill_addr_e[39:11]}),
3985 .dta_clken(dta_clken),
3986 .tcu_pce_ov(tcu_pce_ov),
3987 .tcu_aclk(tcu_aclk),
3988 .tcu_bclk(tcu_bclk),
3989 .tcu_se_scancollar_in(tcu_se_scancollar_in),
3990 .tcu_scan_en(tcu_scan_en),
3991 .tcu_array_wr_inhibit(tcu_array_wr_inhibit)
3992);
3993
3994n2_dva_dp_32x32_cust dva (
3995 .dout ({dva_valid2_m[15:0],dva_valid_m[15:0]}),
3996 .scan_in(dva_scanin),
3997 .scan_out(dva_scanout),
3998 .l2clk (l2clk),
3999 .rd_addr (tgc_dva_rd_addr_e[10:6]),
4000 .rd_en (dcc_dva_rvld_e),
4001 .wr_addr (dcc_dva_wr_addr_e[10:6]),
4002 .wr_en (dcc_dva_wvld_e),
4003 .bit_wen ({2{dcc_dva_bit_wen_e[15:0]}}),
4004 .din (tgc_dva_din[31:0]),
4005 .tcu_pce_ov(tcu_pce_ov),
4006 .tcu_se_scancollar_in(tcu_se_scancollar_in),
4007 .tcu_scan_en(tcu_scan_en),
4008 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
4009 .tcu_aclk(tcu_aclk),
4010 .tcu_bclk(tcu_bclk),
4011 .pce(pce)
4012);
4013
4014lsu_tgc_ctl tgc (
4015 .scan_in(tgc_scanin),
4016 .scan_out(tgc_scanout),
4017 .l2clk (l2clk),
4018 .lsu_va_b12to11_m (lsu_va_m[12:11]),
4019 .exu_lsu_address_e (exu_lsu_address_e_rep0[10:6]),
4020 .dva_valid_m(dva_valid_m[15:0]),
4021 .dva_valid2_m(dva_valid2_m[15:0]),
4022 .lsu_va_m(lsu_va_m[5:4]),
4023 .dcc_ld_inst_vld_m(dcc_ld_inst_vld_m),
4024 .dcc_dva_din_e(dcc_dva_din_e),
4025 .dcc_dva_din2_e(dcc_dva_din2_e),
4026 .tgd_bist_compare(tgd_bist_compare),
4027 .tgc_cache_way_vld_m(tgc_cache_way_vld_m[3:0]),
4028 .tgc_cache_way_vld2_m(tgc_cache_way_vld2_m[3:0]),
4029 .tgc_verr_b(tgc_verr_b[3:0]),
4030 .tgc_way_sel_m(tgc_way_sel_m[1:0]),
4031 .tgc_dva_rd_addr_e(tgc_dva_rd_addr_e[10:6]),
4032 .tgc_dva_din(tgc_dva_din[31:0]),
4033 .lsu_mbi_dva_fail(lsu_mbi_dva_fail),
4034 .lsu_mbi_dta_fail(lsu_mbi_dta_fail),
4035 .lsu_mbi_dtb_fail(lsu_mbi_dtb_fail),
4036 .mbi_run(mbi_run),
4037 .mbi_cambist_run(mbi_cambist_run),
4038 .mbi_wdata(mbi_wdata[7:0]),
4039 .mbi_cmpsel(mbi_cmpsel[1:0]),
4040 .mbi_addr(mbi_addr[8:0]),
4041 .mbi_dta_read_en(mbi_dta_read_en),
4042 .mbi_dva_read_en(mbi_dva_read_en),
4043 .mbi_dtb_read_en(mbi_dtb_read_en),
4044 .bist_wdata_1(bist_wdata_1[7:0]),
4045 .bist_cmp_data(bist_cmp_data[7:0]),
4046 .bist_cmpsel_1(bist_cmpsel_1[1:0]),
4047 .bist_cmpsel_2(bist_cmpsel_2),
4048 .bist_addr_1(bist_addr_1[8:5]),
4049 .bist_dta_cmp_en(bist_dta_cmp_en),
4050 .tcu_pce_ov(tcu_pce_ov),
4051 .tcu_scan_en(tcu_scan_en),
4052 .spc_aclk(spc_aclk),
4053 .spc_bclk(spc_bclk),
4054 .lsu_lsu_pmen(lsu_lsu_pmen)
4055);
4056
4057lsu_tgd_dp tgd (
4058 .scan_in(tgd_scanin),
4059 .scan_out(tgd_scanout),
4060 .l2clk (l2clk),
4061 .dta_rdata_w0_m(dta_rdata_w0_m[29:0]),
4062 .dta_rdata_w1_m(dta_rdata_w1_m[29:0]),
4063 .dta_rdata_w2_m(dta_rdata_w2_m[29:0]),
4064 .dta_rdata_w3_m(dta_rdata_w3_m[29:0]),
4065 .tgc_cache_way_vld_m(tgc_cache_way_vld_m[3:0]),
4066 .tgc_cache_way_vld2_m(tgc_cache_way_vld2_m[3:0]),
4067 .tgc_way_sel_m(tgc_way_sel_m[1:0]),
4068 .dcs_watchpoint_m(dcs_watchpoint_m[47:3]),
4069 .dcs_context0_e(dcs_context0_e[12:0]),
4070 .dcs_context1_e(dcs_context1_e[12:0]),
4071 .dcc_rd_dt_diag_m(dcc_rd_dt_diag_m),
4072 .dcc_rd_dt_diag_b(dcc_rd_dt_diag_b),
4073 .dcc_tlb_tag0_read_b(dcc_tlb_tag0_read_b),
4074 .dcc_tlb_tag1_read_b(dcc_tlb_tag1_read_b),
4075 .dcc_tlb_data_read_b(dcc_tlb_data_read_b),
4076 .dcc_ld_inst_vld_m(dcc_ld_inst_vld_m),
4077 .dcc_ldst_m_clken(dcc_ldst_m_clken),
4078 .tlb_pgnum(tlb_pgnum[39:13]),
4079 .tlb_tte_data(tlb_tte_data[37:0]),
4080 .tlb_tte_tag(tlb_tte_tag[65:0]),
4081 .tlb_tte_u_bit(tlb_tte_u_bit),
4082 .tlb_cam_hit(tlb_cam_hit),
4083 .tlb_context0_hit(tlb_context0_hit),
4084 .tlb_cam_mhit(tlb_cam_mhit),
4085 .tld_prty_256m(tld_prty_256m),
4086 .tld_prty_4m(tld_prty_4m),
4087 .tld_prty_64k(tld_prty_64k),
4088 .tld_prty_8k(tld_prty_8k),
4089 .tld_prty_ctxt0(tld_prty_ctxt0),
4090 .tld_prty_ctxt1(tld_prty_ctxt1),
4091 .tld_tag_c0(tld_tag_c0[12:0]),
4092 .tld_tag_c1(tld_tag_c1[12:0]),
4093 .tlc_sel_tte_tag(tlc_sel_tte_tag),
4094 .tlc_sel_demap_tag_c0(tlc_sel_demap_tag_c0),
4095 .tlc_sel_demap_tag_c1(tlc_sel_demap_tag_c1),
4096 .bist_cmp_data(bist_cmp_data[7:0]),
4097 .bist_dta_cmp_en(bist_dta_cmp_en),
4098 .bist_cmpsel_2(bist_cmpsel_2),
4099 .lsu_va_m(lsu_va_m[47:3]),
4100 .tgd_w0_parity_b(tgd_w0_parity_b),
4101 .tgd_w1_parity_b(tgd_w1_parity_b),
4102 .tgd_w2_parity_b(tgd_w2_parity_b),
4103 .tgd_w3_parity_b(tgd_w3_parity_b),
4104 .dta_rdata_w0_rep(dta_rdata_w0_rep[28:0]),
4105 .dta_rdata_w1_rep(dta_rdata_w1_rep[28:0]),
4106 .dta_rdata_w2_rep(dta_rdata_w2_rep[28:0]),
4107 .dta_rdata_w3_rep(dta_rdata_w3_rep[28:0]),
4108 .tgd_prty_256m_b(tgd_prty_256m_b),
4109 .tgd_prty_4m_b(tgd_prty_4m_b),
4110 .tgd_prty_64k_b(tgd_prty_64k_b),
4111 .tgd_prty_8k_b(tgd_prty_8k_b),
4112 .tgd_prty_ctxt0_b(tgd_prty_ctxt0_b),
4113 .tgd_prty_ctxt1_b(tgd_prty_ctxt1_b),
4114 .tgd_va_wp_47_16(tgd_va_wp_47_16),
4115 .tgd_va_wp_15_3(tgd_va_wp_15_3),
4116 .tgd_pa_wp_39_16(tgd_pa_wp_39_16),
4117 .tgd_pa_wp_15_3(tgd_pa_wp_15_3),
4118 .tgd_tag_c0(tgd_tag_c0[12:0]),
4119 .tgd_tag_c1(tgd_tag_c1[12:0]),
4120 .tlb_tag_parity(tlb_tag_parity),
4121 .tlb_pgsize(tlb_pgsize[2:0]),
4122 .tlb_tte_nfo_b(tlb_tte_nfo_b),
4123 .tlb_tte_ie_b(tlb_tte_ie_b),
4124 .tlb_tte_cp_b(tlb_tte_cp_b),
4125 .tlb_tte_ebit_b(tlb_tte_ebit_b),
4126 .tlb_tte_pbit_b(tlb_tte_pbit_b),
4127 .tlb_tte_wbit_b(tlb_tte_wbit_b),
4128 .tgd_ldxa_asi_data_b(tgd_ldxa_asi_data_b[63:0]),
4129 .tgd_bist_compare(tgd_bist_compare),
4130 .lsu_mbi_tlb_data_cmp(lsu_mbi_tlb_data_cmp),
4131 .lsu_mbi_tlb_cam_hit(lsu_mbi_tlb_cam_hit),
4132 .lsu_mbi_tlb_cam_mhit(lsu_mbi_tlb_cam_mhit),
4133 .lsu_mbi_tlb_ctxt0_hit(lsu_mbi_tlb_ctxt0_hit),
4134 .lsu_mbi_tlb_valid(lsu_mbi_tlb_valid),
4135 .lsu_mbi_tlb_used(lsu_mbi_tlb_used),
4136 .tcu_pce_ov(tcu_pce_ov),
4137 .tcu_scan_en(tcu_scan_en),
4138 .tcu_se_scancollar_out(tcu_se_scancollar_out),
4139 .spc_aclk(spc_aclk),
4140 .spc_bclk(spc_bclk)
4141);
4142
4143assign tte_ubit = tld_ubit;
4144
4145n2_tlb_tl_128x59_cust tlb (
4146 .tlb_bypass (dcc_tlb_bypass),
4147 .tlb_wr_vld (tlc_wr_u_en),
4148 .tlb_rd_vld (dcc_tlb_rd_e),
4149 .tlb_rw_index (tld_rw_index[6:0]),
4150 .tlb_rw_index_vld(tlc_rw_index_vld),
4151 .tlb_cam_vld (dcc_tlb_lookup),
4152 .tlb_demap (tlc_demap),
4153 .tlb_demap_context(tlc_demap_context),
4154 .tlb_demap_all (tlc_demap_all),
4155 .tlb_demap_real (tlc_demap_real),
4156 // Separate page size mask from tag proper
4157 .tte_tag ({tgd_tag_c1[12:0], // C1
4158 tld_tag_pid[2:0], // PID
4159 tld_tag_real, // REAL
4160 exu_lsu_address_e[47:22], // VA[47:22]
4161 tld_tag_valid, // VALID
4162 exu_lsu_address_e[21:13], // VA[21:13]
4163 tgd_tag_c0[12:0]}), // C0
4164 .tte_page_size_mask(tld_tag_mask[2:0]),
4165 .tte_data (tld_data[37:0]),
4166 .tlb_va (exu_lsu_address_e[12:11]),
4167 .disable_clear_ubit(tlc_dis_clr_ubit),
4168 .cache_ptag_w0 (dta_rdata_w0_rep[28:0]),
4169 .cache_ptag_w1 (dta_rdata_w1_rep[28:0]),
4170 .cache_ptag_w2 (dta_rdata_w2_rep[28:0]),
4171 .cache_ptag_w3 (dta_rdata_w3_rep[28:0]),
4172 .cache_set_vld (tgc_cache_way_vld_m[3:0]),
4173 .cache_way_hit (tlb_cache_way_hit_b[3:0]),
4174 .cache_hit (tlb_cache_hit_b),
4175 .scan_in(tlb_scanin),
4176 .scan_out(tlb_scanout),
4177 .l2clk (l2clk),
4178 .tcu_pce_ov(tcu_pce_ov),
4179 .pce(pce),
4180 .tcu_aclk(tcu_aclk),
4181 .tcu_bclk(tcu_bclk),
4182 .tcu_se_scancollar_in(tcu_se_scancollar_in),
4183 .tcu_se_scancollar_out(tcu_se_scancollar_out),
4184 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
4185 .tcu_scan_en(tcu_scan_en),
4186 .tte_ubit(tte_ubit),
4187 .tlb_cam_hit(tlb_cam_hit),
4188 .tlb_cam_mhit(tlb_cam_mhit),
4189 .tlb_context0_hit(tlb_context0_hit),
4190 .tlb_pgnum_crit(tlb_pgnum_crit[39:13]),
4191 .tlb_pgnum(tlb_pgnum[39:13]),
4192 .tlb_tte_data(tlb_tte_data[37:0]),
4193 .tlb_tte_tag(tlb_tte_tag[65:0]),
4194 .tlb_tte_u_bit(tlb_tte_u_bit),
4195 .tlb_tte_data_parity(tlb_tte_data_parity)
4196);
4197
4198lsu_tld_dp tld (
4199 .scan_in(tld_scanin),
4200 .scan_out(tld_scanout),
4201 .l2clk (l2clk),
4202 .default_tag ({dcs_pid_e[2:0],
4203 dcc_tlb_real,
4204 exu_lsu_address_e[47:22],
4205 1'b1,
4206 1'b1, // tag valid
4207 exu_lsu_address_e[21:16],
4208 1'b1,
4209 exu_lsu_address_e[15:13],
4210 1'b1
4211 }),
4212 .tcu_pce_ov(tcu_pce_ov),
4213 .tcu_scan_en(tcu_scan_en),
4214 .tcu_se_scancollar_in(tcu_se_scancollar_in),
4215 .spc_aclk(spc_aclk),
4216 .spc_bclk(spc_bclk),
4217 .exu_lsu_address_e(exu_lsu_address_e[47:0]),
4218 .tlc_sel_write_tag(tlc_sel_write_tag),
4219 .tlc_sel_dm_tag(tlc_sel_dm_tag),
4220 .tlc_sel_wr_dm_bist(tlc_sel_wr_dm_bist),
4221 .tlc_write_next(tlc_write_next),
4222 .tlc_tte0_clken(tlc_tte0_clken),
4223 .tlc_tte1_clken(tlc_tte1_clken),
4224 .tlc_tag_error_inj(tlc_tag_error_inj),
4225 .tlc_data_error_inj(tlc_data_error_inj),
4226 .tlu_tte(tlu_tte[54:0]),
4227 .tlc_mbi_run(tlc_mbi_run),
4228 .mbi_wdata(mbi_wdata[7:0]),
4229 .mbi_addr(mbi_addr[6:0]),
4230 .mbi_cambist_run(mbi_cambist_run),
4231 .mbi_cambist_shift(mbi_cambist_shift),
4232 .mbi_init_to_zero(mbi_init_to_zero),
4233 .mbi_dtb_write_en(mbi_dtb_write_en),
4234 .mbi_repl_write(mbi_repl_write),
4235 .mbi_dis_clr_ubit(mbi_dis_clr_ubit),
4236 .mbi_dtb_demap_en(mbi_dtb_demap_en),
4237 .mbi_demap_type(mbi_demap_type[1:0]),
4238 .tld_mbi_dtb_write_en(tld_mbi_dtb_write_en),
4239 .tld_mbi_repl_write(tld_mbi_repl_write),
4240 .tld_mbi_dis_clr_ubit(tld_mbi_dis_clr_ubit),
4241 .tld_mbi_dtb_demap_en(tld_mbi_dtb_demap_en),
4242 .tld_mbi_demap_type(tld_mbi_demap_type[1:0]),
4243 .tgd_tag_c0(tgd_tag_c0[12:0]),
4244 .tgd_tag_c1(tgd_tag_c1[12:0]),
4245 .tld_ubit(tld_ubit),
4246 .tld_tag_pid(tld_tag_pid[2:0]),
4247 .tld_tag_c0(tld_tag_c0[12:0]),
4248 .tld_tag_c1(tld_tag_c1[12:0]),
4249 .tld_tag_real(tld_tag_real),
4250 .tld_tag_valid(tld_tag_valid),
4251 .tld_tag_mask(tld_tag_mask[2:0]),
4252 .tld_data(tld_data[37:0]),
4253 .tld_demap_control0(tld_demap_control0[2:0]),
4254 .tld_demap_control1(tld_demap_control1[3:0]),
4255 .tld_use_secondary_context0(tld_use_secondary_context0),
4256 .tld_tid(tld_tid[2:0]),
4257 .tld_index_valid(tld_index_valid),
4258 .tld_rw_index(tld_rw_index[6:0]),
4259 .tld_prty_256m(tld_prty_256m),
4260 .tld_prty_4m(tld_prty_4m),
4261 .tld_prty_64k(tld_prty_64k),
4262 .tld_prty_8k(tld_prty_8k),
4263 .tld_prty_ctxt0(tld_prty_ctxt0),
4264 .tld_prty_ctxt1(tld_prty_ctxt1),
4265 .tld_va_m_eq_zero(tld_va_m_eq_zero),
4266 .lsu_va_m(lsu_va_m[47:0]),
4267 .lsu_mmu_va_m(lsu_mmu_va_m[47:0]),
4268 .lsu_exu_address_e(lsu_exu_address_e[47:13])
4269);
4270
4271lsu_tlc_ctl tlc (
4272 .scan_in(tlc_scanin),
4273 .scan_out(tlc_scanout),
4274 .l2clk (l2clk),
4275 .lsu_asi_error_inject_b31(lsu_asi_error_inject[31]),
4276 .lsu_asi_error_inject_b27(lsu_asi_error_inject[27]),
4277 .lsu_asi_error_inject_b26(lsu_asi_error_inject[26]),
4278 .mbi_dtb_write_en (tld_mbi_dtb_write_en),
4279 .mbi_repl_write (tld_mbi_repl_write),
4280 .mbi_dis_clr_ubit (tld_mbi_dis_clr_ubit),
4281 .mbi_dtb_demap_en (tld_mbi_dtb_demap_en),
4282 .mbi_demap_type (tld_mbi_demap_type[1:0]),
4283 .tcu_pce_ov(tcu_pce_ov),
4284 .tcu_scan_en(tcu_scan_en),
4285 .spc_aclk(spc_aclk),
4286 .spc_bclk(spc_bclk),
4287 .mmu_dtlb_reload(mmu_dtlb_reload),
4288 .tld_demap_control0(tld_demap_control0[2:0]),
4289 .tld_demap_control1(tld_demap_control1[3:0]),
4290 .tld_use_secondary_context0(tld_use_secondary_context0),
4291 .tld_index_valid(tld_index_valid),
4292 .lsu_lsu_pmen_(lsu_lsu_pmen_),
4293 .dcc_tlb_rw_index_e(dcc_tlb_rw_index_e),
4294 .lbist_run(lbist_run),
4295 .mbi_run(mbi_run),
4296 .mbi_cambist_run(mbi_cambist_run),
4297 .tlc_wr_u_en(tlc_wr_u_en),
4298 .tlc_rw_index_vld(tlc_rw_index_vld),
4299 .tlc_demap(tlc_demap),
4300 .tlc_demap_context(tlc_demap_context),
4301 .tlc_demap_all(tlc_demap_all),
4302 .tlc_demap_real(tlc_demap_real),
4303 .tlc_sel_demap_tag_c0(tlc_sel_demap_tag_c0),
4304 .tlc_sel_demap_tag_c1(tlc_sel_demap_tag_c1),
4305 .tlc_sel_write_tag(tlc_sel_write_tag),
4306 .tlc_sel_dm_tag(tlc_sel_dm_tag),
4307 .tlc_sel_wr_dm_bist(tlc_sel_wr_dm_bist),
4308 .tlc_sel_tte_tag(tlc_sel_tte_tag),
4309 .tlc_use_primary_context_c0(tlc_use_primary_context_c0),
4310 .tlc_use_secondary_context_c0(tlc_use_secondary_context_c0),
4311 .tlc_wr_or_demap(tlc_wr_or_demap),
4312 .tlc_write_next(tlc_write_next),
4313 .tlc_tte0_clken(tlc_tte0_clken),
4314 .tlc_tte1_clken(tlc_tte1_clken),
4315 .tlc_tag_error_inj(tlc_tag_error_inj),
4316 .tlc_data_error_inj(tlc_data_error_inj),
4317 .tlc_mbi_run(tlc_mbi_run),
4318 .tlc_dis_clr_ubit(tlc_dis_clr_ubit),
4319 .lsu_sel_lsu_addr_e(lsu_sel_lsu_addr_e)
4320);
4321
4322
4323lsu_rep_dp rep (.lmd_fill_or_byp_data_m(lmd_fill_or_byp_data_m[63:0]),
4324 .lmd_fill_or_byp_data_m_rep1(lmd_fill_or_byp_data_m_rep1[63:0]),
4325 .stb_ram_data(stb_ram_data[63:0]),
4326 .stb_ram_data_rep0(stb_ram_data_rep0[63:0]),
4327 .stb_cam_data(stb_cam_data[44:0]),
4328 .stb_cam_data_rep0(stb_cam_data_rep0[44:0]),
4329 .sbd_st_data2_b(sbd_st_data2_b[63:0]),
4330 .sbd_st_data2_b_rep0(sbd_st_data2_b_rep0[63:0]),
4331 .sbd_st_predata_b(sbd_st_predata_b[47:0]),
4332 .sbd_st_predata_b_rep0(sbd_st_predata_b_rep0[47:0]),
4333 .bist_cmp_data(bist_cmp_data[7:0]),
4334 .bist_cmp_data_rep0(bist_cmp_data_rep0[7:0]),
4335 .tlb_tte_ie_b(tlb_tte_ie_b),
4336 .tlb_tte_ie_b_rep00(tlb_tte_ie_b_rep00),
4337 .tlb_tte_ie_b_rep01(tlb_tte_ie_b_rep01),
4338 .stb_cam_hit(stb_cam_hit),
4339 .stb_cam_hit_rep0(stb_cam_hit_rep0),
4340 .tlb_cache_way_hit_b(tlb_cache_way_hit_b[3:0]),
4341 .cache_way_hit_top_b(cache_way_hit_top_b[3:0]),
4342 .cache_way_hit_bot_b(cache_way_hit_bot_b[3:0]),
4343 .exu_lsu_store_data_e(exu_lsu_store_data_e[63:0]),
4344 .exu_lsu_store_data_e_rep0(exu_lsu_store_data_e_rep0[63:0]),
4345 .exu_lsu_address_e(exu_lsu_address_e[10:4]),
4346 .exu_lsu_address_e_rep0(exu_lsu_address_e_rep0[10:4])
4347);
4348
4349// fixscan start:
4350assign arc_scanin = scan_in ;
4351assign ard_scanin = arc_scanout ;
4352assign dcd_scanin = ard_scanout ;
4353assign dac_scanin = dcd_scanout ;
4354assign dca_scanin = dac_scanout ;
4355assign lru_scanin = dca_scanout ;
4356assign dcc_scanin = lru_scanout ;
4357assign dcs_scanin = dcc_scanout ;
4358assign lmd_scanin = dcs_scanout ;
4359assign lmc_scanin = lmd_scanout ;
4360assign pic_scanin = lmc_scanout ;
4361assign cpq_scanin = pic_scanout ;
4362assign cid_scanin = cpq_scanout ;
4363assign red_scanin = cid_scanout ;
4364assign cic_scanin = red_scanout ;
4365assign asc_scanin = cic_scanout ;
4366assign asd_scanin = asc_scanout ;
4367assign pid_scanin = asd_scanout ;
4368assign sbs0_scanin = pid_scanout ;
4369assign sbs1_scanin = sbs0_scanout ;
4370assign sbs2_scanin = sbs1_scanout ;
4371assign sbs3_scanin = sbs2_scanout ;
4372assign sbs4_scanin = sbs3_scanout ;
4373assign sbs5_scanin = sbs4_scanout ;
4374assign sbs6_scanin = sbs5_scanout ;
4375assign sbs7_scanin = sbs6_scanout ;
4376assign sbc_scanin = sbs7_scanout ;
4377assign spd_scanin = sbc_scanout ;
4378assign sec_scanin = spd_scanout ;
4379assign sed_scanin = sec_scanout ;
4380assign sbd_scanin = sed_scanout ;
4381assign stb_cam_scanin = sbd_scanout ;
4382assign stb_ram_scanin = stb_cam_scanout ;
4383assign dta_scanin = stb_ram_scanout ;
4384assign dva_scanin = dta_scanout ;
4385assign tgc_scanin = dva_scanout ;
4386assign tgd_scanin = tgc_scanout ;
4387assign tlb_scanin = tgd_scanout ;
4388assign tld_scanin = tlb_scanout ;
4389assign tlc_scanin = tld_scanout ;
4390assign scan_out = tlc_scanout ;
4391
4392assign dcs_wmr_scanin = wmr_scan_in ;
4393assign wmr_scan_out = dcs_wmr_scanout ;
4394// fixscan end:
4395endmodule
4396