Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / spc / tlu / rtl / tlu_ras_ctl.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: tlu_ras_ctl.v
4// Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
5// 4150 Network Circle, Santa Clara, California 95054, U.S.A.
6//
7// * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8//
9// This program is free software; you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation; version 2 of the License.
12//
13// This program is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16// GNU General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with this program; if not, write to the Free Software
20// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21//
22// For the avoidance of doubt, and except that if any non-GPL license
23// choice is available it will apply instead, Sun elects to use only
24// the General Public License version 2 (GPLv2) at this time for any
25// software where a choice of GPL license versions is made
26// available with the language indicating that GPLv2 or any later version
27// may be used, or where a choice of which version of the GPL is applied is
28// otherwise unspecified.
29//
30// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
31// CA 95054 USA or visit www.sun.com if you need additional information or
32// have any questions.
33//
34// ========== Copyright Header End ============================================
35module tlu_ras_ctl (
36 l2clk,
37 scan_in,
38 tcu_pce_ov,
39 spc_aclk,
40 spc_bclk,
41 tcu_scan_en,
42 spc_aclk_wmr,
43 wmr_scan_in,
44 lsu_tlu_pmen,
45 ftu_excp_way_d,
46 ftu_excp_tid_d,
47 ftu_excp_way_valid_d,
48 dec_exc0_m,
49 dec_exc1_m,
50 dec_icache_perr_m,
51 dec_tid0_m,
52 dec_tid1_m,
53 dec_inst_valid_m,
54 dec_fgu_inst_m,
55 dec_lsu_inst_m,
56 dec_flush_b,
57 fls_irf_cecc_b,
58 fls_irf_uecc_b,
59 fls_kill_irf_ecc_w,
60 exu0_ecc_addr_m,
61 exu1_ecc_addr_m,
62 exu0_ecc_check_m,
63 exu1_ecc_check_m,
64 fls_f_cecc_w,
65 fls_f_uecc_w,
66 fgu_ecc_addr_fx2,
67 fgu_ecc_check_fx2,
68 fgu_pdist_beat2_fx1,
69 lsu_tlu_twocycle_m,
70 lsu_block_store_b,
71 fls_load_dsfar,
72 fls_ipe_dme_request,
73 lsu_dttp_err_b,
74 lsu_dtdp_err_b,
75 lsu_dtmh_err_b,
76 lsu_dcmh_err_g,
77 lsu_dcvp_err_g,
78 lsu_dctp_err_g,
79 lsu_dcdp_err_g,
80 lsu_dcl2c_err_g,
81 lsu_dcl2u_err_g,
82 lsu_dcl2nd_err_g,
83 lsu_dcsoc_err_g,
84 lsu_dcerr_tid_g,
85 lsu_dcerr_sfar_g,
86 lsu_sbdlc_err_g,
87 lsu_sbdlu_err_g,
88 lsu_sbdpc_err_g,
89 lsu_sbdpu_err_g,
90 lsu_sbapp_err_g,
91 lsu_sbdiou_err_g,
92 lsu_stberr_tid_g,
93 lsu_stberr_index_g,
94 lsu_stberr_priv_g,
95 lsu_stb_flush_g,
96 cel_tccp,
97 cel_tcup,
98 cel_syndrome,
99 tlu_tca_tid,
100 tlu_tca_index,
101 tlu_tsac,
102 tlu_tsau,
103 asi_tsac,
104 asi_tsau,
105 asi_tsacu_tid,
106 tlu_tccd,
107 tlu_tcud,
108 tlu_tca_index_0,
109 tlu_tca_index_1,
110 tsd_pc_0_w,
111 tsd_pc_1_w,
112 fls_flush,
113 fls_disrupting_flush_w,
114 trl_gl0,
115 trl_gl1,
116 trl_gl2,
117 trl_gl3,
118 trl_gl4,
119 trl_gl5,
120 trl_gl6,
121 trl_gl7,
122 mmu_asi_cecc,
123 mmu_asi_uecc,
124 mmu_asi_index,
125 mmu_asi_mra_not_sca,
126 mmu_i_l2cerr,
127 mmu_d_l2cerr,
128 mmu_i_eccerr,
129 mmu_d_eccerr,
130 mmu_thr0_err_type,
131 mmu_thr1_err_type,
132 mmu_thr2_err_type,
133 mmu_thr3_err_type,
134 mmu_thr4_err_type,
135 mmu_thr5_err_type,
136 mmu_thr6_err_type,
137 mmu_thr7_err_type,
138 mmu_thr0_err_index,
139 mmu_thr1_err_index,
140 mmu_thr2_err_index,
141 mmu_thr3_err_index,
142 mmu_thr4_err_index,
143 mmu_thr5_err_index,
144 mmu_thr6_err_index,
145 mmu_thr7_err_index,
146 spu_tlu_mamu_err_req_v,
147 spu_tlu_mamu_err_req,
148 spu_tlu_ma_int_req,
149 spu_tlu_cwq_int_req,
150 spu_tlu_l2_error,
151 cxi_l2_soc_sre,
152 cxi_l2_soc_err_type,
153 cxi_l2_soc_tid,
154 cxi_l2_err,
155 cxi_soc_err,
156 asi_rd_isfsr,
157 asi_rd_dsfsr,
158 asi_rd_dsfar,
159 asi_rd_desr,
160 asi_rd_fesr,
161 asi_rd_tid,
162 asi_wr_isfsr,
163 asi_wr_dsfsr,
164 asi_wr_data,
165 dfd_desr_f,
166 dfd_desr_s,
167 dfd_fesr_f,
168 dfd_fesr_priv_0,
169 dfd_fesr_priv_1,
170 dfd_fesr_priv_2,
171 dfd_fesr_priv_3,
172 dfd_fesr_priv_4,
173 dfd_fesr_priv_5,
174 dfd_fesr_priv_6,
175 dfd_fesr_priv_7,
176 wmr_scan_out,
177 scan_out,
178 ras_asi_data,
179 ras_dsfar_0,
180 ras_dsfar_1,
181 ras_dsfar_2,
182 ras_dsfar_3,
183 ras_dsfar_4,
184 ras_dsfar_5,
185 ras_dsfar_6,
186 ras_dsfar_7,
187 ras_dsfar_sel_lsu_va,
188 ras_dsfar_sel_ras,
189 ras_dsfar_sel_tsa,
190 ras_rd_dsfar,
191 ras_desr_et_0,
192 ras_desr_et_1,
193 ras_desr_et_2,
194 ras_desr_et_3,
195 ras_desr_et_4,
196 ras_desr_et_5,
197 ras_desr_et_6,
198 ras_desr_et_7,
199 ras_desr_ea_0,
200 ras_desr_ea_1,
201 ras_desr_ea_2,
202 ras_desr_ea_3,
203 ras_desr_ea_4,
204 ras_desr_ea_5,
205 ras_desr_ea_6,
206 ras_desr_ea_7,
207 ras_desr_me_0,
208 ras_desr_me_1,
209 ras_desr_me_2,
210 ras_desr_me_3,
211 ras_desr_me_4,
212 ras_desr_me_5,
213 ras_desr_me_6,
214 ras_desr_me_7,
215 ras_desr_en,
216 ras_write_desr_1st,
217 ras_write_desr_2nd,
218 ras_rd_desr,
219 ras_fesr_et_0,
220 ras_fesr_et_1,
221 ras_fesr_et_2,
222 ras_fesr_et_3,
223 ras_fesr_et_4,
224 ras_fesr_et_5,
225 ras_fesr_et_6,
226 ras_fesr_et_7,
227 ras_fesr_ea_0,
228 ras_fesr_ea_1,
229 ras_fesr_ea_2,
230 ras_fesr_ea_3,
231 ras_fesr_ea_4,
232 ras_fesr_ea_5,
233 ras_fesr_ea_6,
234 ras_fesr_ea_7,
235 ras_fesr_en,
236 ras_write_fesr,
237 ras_fesr_priv,
238 ras_update_priv,
239 ras_rd_fesr,
240 ras_precise_error,
241 ras_disrupting_error,
242 ras_deferred_error);
243wire pce_ov;
244wire stop;
245wire siclk;
246wire soclk;
247wire se;
248wire l1clk;
249wire l1en_any_b2w;
250wire [1:0] inst_valid_b;
251wire w_en;
252wire w1_en;
253wire l1clk_pm1;
254wire l1en_pm2;
255wire excp_way_valid;
256wire l1clk_pm2;
257wire [1:0] twocycle_inst_m;
258wire twocycle_inst_b_lat_scanin;
259wire twocycle_inst_b_lat_scanout;
260wire [1:0] ptwocycle_inst_b;
261wire [1:0] twocycle_inst_b;
262wire [1:0] fgu_inst_b;
263wire [1:0] inst_valid_m;
264wire inst_valid_b_lat_scanin;
265wire inst_valid_b_lat_scanout;
266wire w_en_in;
267wire w_en_lat_scanin;
268wire w_en_lat_scanout;
269wire w1_en_lat_scanin;
270wire w1_en_lat_scanout;
271wire [1:0] flush_b;
272wire [7:0] tid_dec_b;
273wire [1:0] inst_valid_w_in;
274wire inst_valid_w_lat_scanin;
275wire inst_valid_w_lat_scanout;
276wire [1:0] pre_inst_valid_w;
277wire [7:0] block_store_w_in;
278wire block_store_w_lat_scanin;
279wire block_store_w_lat_scanout;
280wire [7:0] pblock_store_w;
281wire [7:0] block_store_w;
282wire seen_bsee;
283wire [1:0] inst_valid_w;
284wire [1:0] tid1_m;
285wire [1:0] tid1_b;
286wire tid1_b_lat_scanin;
287wire tid1_b_lat_scanout;
288wire [1:0] tid0_m;
289wire [1:0] tid0_b;
290wire tid0_b_lat_scanin;
291wire tid0_b_lat_scanout;
292wire tid1_w_lat_scanin;
293wire tid1_w_lat_scanout;
294wire [1:0] tid1_w;
295wire tid0_w_lat_scanin;
296wire tid0_w_lat_scanout;
297wire [1:0] tid0_w;
298wire [7:0] tid_dec_w;
299wire [1:0] fgu_inst_m;
300wire fgu_inst_b_lat_scanin;
301wire fgu_inst_b_lat_scanout;
302wire fgu_inst_w_lat_scanin;
303wire fgu_inst_w_lat_scanout;
304wire [1:0] pfgu_inst_w;
305wire [1:0] fgu_inst_w;
306wire [1:0] lsu_inst_m;
307wire lsu_inst_b_lat_scanin;
308wire lsu_inst_b_lat_scanout;
309wire [1:0] lsu_inst_b;
310wire [1:0] ittp_m;
311wire [1:0] ittm_m;
312wire [1:0] itdp_m;
313wire [1:0] icl2u_m;
314wire [1:0] icl2nd_m;
315wire [2:0] i_isfsr1_m;
316wire [2:0] i_isfsr0_m;
317wire i_isfsr1_b_lat_scanin;
318wire i_isfsr1_b_lat_scanout;
319wire [2:0] i_isfsr1_b;
320wire i_isfsr0_b_lat_scanin;
321wire i_isfsr0_b_lat_scanout;
322wire [2:0] i_isfsr0_b;
323wire [1:0] icvp_m;
324wire [1:0] ictp_m;
325wire [1:0] ictm_m;
326wire [1:0] icl2c_m;
327wire [1:0] icdp_m;
328wire [3:0] i_desr1_m;
329wire [3:0] i_desr0_m;
330wire i_desr1_b_lat_scanin;
331wire i_desr1_b_lat_scanout;
332wire [3:0] i_desr1_b;
333wire i_desr0_b_lat_scanin;
334wire i_desr0_b_lat_scanout;
335wire [3:0] i_desr0_b;
336wire irf0_ecc_addr_b_lat_scanin;
337wire irf0_ecc_addr_b_lat_scanout;
338wire [4:0] irf0_ecc_addr_b;
339wire irf1_ecc_addr_b_lat_scanin;
340wire irf1_ecc_addr_b_lat_scanout;
341wire [4:0] irf1_ecc_addr_b;
342wire irf0_ecc_check_b_lat_scanin;
343wire irf0_ecc_check_b_lat_scanout;
344wire [7:0] irf0_ecc_check_b;
345wire irf1_ecc_check_b_lat_scanin;
346wire irf1_ecc_check_b_lat_scanout;
347wire [7:0] irf1_ecc_check_b;
348wire i_isfsr1_w_lat_scanin;
349wire i_isfsr1_w_lat_scanout;
350wire [2:0] i_isfsr1_w;
351wire i_isfsr0_w_lat_scanin;
352wire i_isfsr0_w_lat_scanout;
353wire [2:0] i_isfsr0_w;
354wire i_desr1_w_lat_scanin;
355wire i_desr1_w_lat_scanout;
356wire [3:0] i_desr1_w;
357wire i_desr0_w_lat_scanin;
358wire i_desr0_w_lat_scanout;
359wire [3:0] i_desr0_w;
360wire [1:0] irfu_b;
361wire [1:0] irfc_b;
362wire [1:0] dtmh_b;
363wire [1:0] dttp_b;
364wire [1:0] dtdp_b;
365wire irfu_w_lat_scanin;
366wire irfu_w_lat_scanout;
367wire [1:0] pirfu_w;
368wire [1:0] irfu_w;
369wire irfc_w_lat_scanin;
370wire irfc_w_lat_scanout;
371wire [1:0] pirfc_w;
372wire [1:0] irfc_w;
373wire [1:0] pfrfu_w;
374wire [1:0] pfrfc_w;
375wire [1:0] frfu_w;
376wire [1:0] frfc_w;
377wire seen_bsee_in;
378wire seen_bsee_lat_scanin;
379wire seen_bsee_lat_scanout;
380wire dttp_w_lat_scanin;
381wire dttp_w_lat_scanout;
382wire [1:0] pdttp_w;
383wire [1:0] dttp_w;
384wire dtmh_w_lat_scanin;
385wire dtmh_w_lat_scanout;
386wire [1:0] pdtmh_w;
387wire [1:0] dtmh_w;
388wire dtdp_w_lat_scanin;
389wire dtdp_w_lat_scanout;
390wire [1:0] pdtdp_w;
391wire [1:0] dtdp_w;
392wire irf0_ecc_addr_w_lat_scanin;
393wire irf0_ecc_addr_w_lat_scanout;
394wire [4:0] irf0_ecc_addr_w;
395wire irf1_ecc_addr_w_lat_scanin;
396wire irf1_ecc_addr_w_lat_scanout;
397wire [4:0] irf1_ecc_addr_w;
398wire irf0_ecc_check_w_lat_scanin;
399wire irf0_ecc_check_w_lat_scanout;
400wire [7:0] irf0_ecc_check_w;
401wire irf1_ecc_check_w_lat_scanin;
402wire irf1_ecc_check_w_lat_scanout;
403wire [7:0] irf1_ecc_check_w;
404wire frf_ecc_addr_w_lat_scanin;
405wire frf_ecc_addr_w_lat_scanout;
406wire [5:0] frf_ecc_addr_w;
407wire frf_ecc_check_w_lat_scanin;
408wire frf_ecc_check_w_lat_scanout;
409wire [13:0] frf_ecc_check_w;
410wire [2:0] pipe_isfsr_7;
411wire [2:0] pipe_isfsr_6;
412wire [2:0] pipe_isfsr_5;
413wire [2:0] pipe_isfsr_4;
414wire [2:0] pipe_isfsr_3;
415wire [2:0] pipe_isfsr_2;
416wire [2:0] pipe_isfsr_1;
417wire [2:0] pipe_isfsr_0;
418wire [2:0] pipe_dsfsr1_w;
419wire [2:0] pipe_dsfsr0_w;
420wire [1:0] gl1_w;
421wire [1:0] gl0_w;
422wire [19:0] pipe_dsfar1_w;
423wire [19:0] pipe_dsfar0_w;
424wire [1:0] ecc_w;
425wire ecc_w1_lat_scanin;
426wire ecc_w1_lat_scanout;
427wire [1:0] ecc_w1;
428wire [1:0] tid1_w1_in;
429wire tid1_w1_lat_scanin;
430wire tid1_w1_lat_scanout;
431wire [1:0] tid1_w1;
432wire [1:0] tid0_w1_in;
433wire tid0_w1_lat_scanin;
434wire tid0_w1_lat_scanout;
435wire [1:0] tid0_w1;
436wire pipe_dsfsr1_lat_scanin;
437wire pipe_dsfsr1_lat_scanout;
438wire [2:0] pipe_dsfsr1;
439wire pipe_dsfsr0_lat_scanin;
440wire pipe_dsfsr0_lat_scanout;
441wire [2:0] pipe_dsfsr0;
442wire pipe_dsfar1_lat_scanin;
443wire pipe_dsfar1_lat_scanout;
444wire [19:0] pipe_dsfar1;
445wire pipe_dsfar0_lat_scanin;
446wire pipe_dsfar0_lat_scanout;
447wire [19:0] pipe_dsfar0;
448wire [7:0] tid_dec_w1;
449wire [2:0] pipe_dsfsr_7;
450wire [2:0] pipe_dsfsr_6;
451wire [2:0] pipe_dsfsr_5;
452wire [2:0] pipe_dsfsr_4;
453wire [2:0] pipe_dsfsr_3;
454wire [2:0] pipe_dsfsr_2;
455wire [2:0] pipe_dsfsr_1;
456wire [2:0] pipe_dsfsr_0;
457wire [19:0] pipe_dsfar_7;
458wire [19:0] pipe_dsfar_6;
459wire [19:0] pipe_dsfar_5;
460wire [19:0] pipe_dsfar_4;
461wire [19:0] pipe_dsfar_3;
462wire [19:0] pipe_dsfar_2;
463wire [19:0] pipe_dsfar_1;
464wire [19:0] pipe_dsfar_0;
465wire [7:0] dsfar_sel_lsu_va_for_error;
466wire load_dsfar_lat_scanin;
467wire load_dsfar_lat_scanout;
468wire [7:0] load_dsfar;
469wire [3:0] i_desr1_w1_in;
470wire [3:0] i_desr0_w1_in;
471wire i_desr1_w1_lat_scanin;
472wire i_desr1_w1_lat_scanout;
473wire [3:0] i_desr1_w1;
474wire i_desr0_w1_lat_scanin;
475wire i_desr0_w1_lat_scanout;
476wire [3:0] i_desr0_w1;
477wire [5:0] pipe_desr_et_7;
478wire [5:0] pipe_desr_et_6;
479wire [5:0] pipe_desr_et_5;
480wire [5:0] pipe_desr_et_4;
481wire [5:0] pipe_desr_et_3;
482wire [5:0] pipe_desr_et_2;
483wire [5:0] pipe_desr_et_1;
484wire [5:0] pipe_desr_et_0;
485wire excp_way_lat_scanin;
486wire excp_way_lat_scanout;
487wire [2:0] excp_tid;
488wire [2:0] excp_way;
489wire [7:0] sel_ftu_excp_way;
490wire [2:0] ic_way7_in;
491wire [2:0] ic_way7;
492wire [2:0] ic_way6_in;
493wire [2:0] ic_way6;
494wire [2:0] ic_way5_in;
495wire [2:0] ic_way5;
496wire [2:0] ic_way4_in;
497wire [2:0] ic_way4;
498wire [2:0] ic_way3_in;
499wire [2:0] ic_way3;
500wire [2:0] ic_way2_in;
501wire [2:0] ic_way2;
502wire [2:0] ic_way1_in;
503wire [2:0] ic_way1;
504wire [2:0] ic_way0_in;
505wire [2:0] ic_way0;
506wire ic_way7_lat_scanin;
507wire ic_way7_lat_scanout;
508wire ic_way6_lat_scanin;
509wire ic_way6_lat_scanout;
510wire ic_way5_lat_scanin;
511wire ic_way5_lat_scanout;
512wire ic_way4_lat_scanin;
513wire ic_way4_lat_scanout;
514wire ic_way3_lat_scanin;
515wire ic_way3_lat_scanout;
516wire ic_way2_lat_scanin;
517wire ic_way2_lat_scanout;
518wire ic_way1_lat_scanin;
519wire ic_way1_lat_scanout;
520wire ic_way0_lat_scanin;
521wire ic_way0_lat_scanout;
522wire pc_1_w1_lat_scanin;
523wire pc_1_w1_lat_scanout;
524wire [10:5] pc_1_w1;
525wire pc_0_w1_lat_scanin;
526wire pc_0_w1_lat_scanout;
527wire [10:5] pc_0_w1;
528wire [8:0] pipe_desr_ea_7;
529wire [8:0] pipe_desr_ea_6;
530wire [8:0] pipe_desr_ea_5;
531wire [8:0] pipe_desr_ea_4;
532wire [8:0] pipe_desr_ea_3;
533wire [8:0] pipe_desr_ea_2;
534wire [8:0] pipe_desr_ea_1;
535wire [8:0] pipe_desr_ea_0;
536wire itmu_7;
537wire itmu_6;
538wire itmu_5;
539wire itmu_4;
540wire itmu_3;
541wire itmu_2;
542wire itmu_1;
543wire itmu_0;
544wire itl2u_7;
545wire itl2u_6;
546wire itl2u_5;
547wire itl2u_4;
548wire itl2u_3;
549wire itl2u_2;
550wire itl2u_1;
551wire itl2u_0;
552wire itl2nd_7;
553wire itl2nd_6;
554wire itl2nd_5;
555wire itl2nd_4;
556wire itl2nd_3;
557wire itl2nd_2;
558wire itl2nd_1;
559wire itl2nd_0;
560wire [2:0] m_isfsr_7;
561wire [2:0] m_isfsr_6;
562wire [2:0] m_isfsr_5;
563wire [2:0] m_isfsr_4;
564wire [2:0] m_isfsr_3;
565wire [2:0] m_isfsr_2;
566wire [2:0] m_isfsr_1;
567wire [2:0] m_isfsr_0;
568wire dtmu_7;
569wire dtmu_6;
570wire dtmu_5;
571wire dtmu_4;
572wire dtmu_3;
573wire dtmu_2;
574wire dtmu_1;
575wire dtmu_0;
576wire dtl2u_7;
577wire dtl2u_6;
578wire dtl2u_5;
579wire dtl2u_4;
580wire dtl2u_3;
581wire dtl2u_2;
582wire dtl2u_1;
583wire dtl2u_0;
584wire dtl2nd_7;
585wire dtl2nd_6;
586wire dtl2nd_5;
587wire dtl2nd_4;
588wire dtl2nd_3;
589wire dtl2nd_2;
590wire dtl2nd_1;
591wire dtl2nd_0;
592wire [2:0] m_dsfsr_7;
593wire [2:0] m_dsfsr_6;
594wire [2:0] m_dsfsr_5;
595wire [2:0] m_dsfsr_4;
596wire [2:0] m_dsfsr_3;
597wire [2:0] m_dsfsr_2;
598wire [2:0] m_dsfsr_1;
599wire [2:0] m_dsfsr_0;
600wire [2:0] m_dsfar_7;
601wire [2:0] m_dsfar_6;
602wire [2:0] m_dsfar_5;
603wire [2:0] m_dsfar_4;
604wire [2:0] m_dsfar_3;
605wire [2:0] m_dsfar_2;
606wire [2:0] m_dsfar_1;
607wire [2:0] m_dsfar_0;
608wire it2lc_lat_scanin;
609wire it2lc_lat_scanout;
610wire [7:0] m_i_l2cerr;
611wire dt2lc_lat_scanin;
612wire dt2lc_lat_scanout;
613wire [7:0] m_d_l2cerr;
614wire itl2c_7;
615wire itl2c_6;
616wire itl2c_5;
617wire itl2c_4;
618wire itl2c_3;
619wire itl2c_2;
620wire itl2c_1;
621wire itl2c_0;
622wire dtl2c_7;
623wire dtl2c_6;
624wire dtl2c_5;
625wire dtl2c_4;
626wire dtl2c_3;
627wire dtl2c_2;
628wire dtl2c_1;
629wire dtl2c_0;
630wire [5:0] m_desr_et_7;
631wire [5:0] m_desr_et_6;
632wire [5:0] m_desr_et_5;
633wire [5:0] m_desr_et_4;
634wire [5:0] m_desr_et_3;
635wire [5:0] m_desr_et_2;
636wire [5:0] m_desr_et_1;
637wire [5:0] m_desr_et_0;
638wire [2:0] a_tid;
639wire [7:0] a_dec_tid;
640wire mrau;
641wire scac;
642wire scau;
643wire tca_error_lat_scanin;
644wire tca_error_lat_scanout;
645wire tccp;
646wire tcup;
647wire [2:0] tca_tid;
648wire [7:0] tca_dec_tid;
649wire [3:0] a_dsfsr;
650wire [3:0] tca_dsfsr;
651wire [3:0] a_dsfsr_7;
652wire [3:0] a_dsfsr_6;
653wire [3:0] a_dsfsr_5;
654wire [3:0] a_dsfsr_4;
655wire [3:0] a_dsfsr_3;
656wire [3:0] a_dsfsr_2;
657wire [3:0] a_dsfsr_1;
658wire [3:0] a_dsfsr_0;
659wire [10:0] a_dsfar;
660wire [10:0] tca_dsfar;
661wire [10:0] a_dsfar_7;
662wire [10:0] a_dsfar_6;
663wire [10:0] a_dsfar_5;
664wire [10:0] a_dsfar_4;
665wire [10:0] a_dsfar_3;
666wire [10:0] a_dsfar_2;
667wire [10:0] a_dsfar_1;
668wire [10:0] a_dsfar_0;
669wire [7:0] ta_dec_tid;
670wire [7:0] tsac;
671wire [7:0] tsau;
672wire [3:0] t_dsfsr_7;
673wire [3:0] t_dsfsr_6;
674wire [3:0] t_dsfsr_5;
675wire [3:0] t_dsfsr_4;
676wire [3:0] t_dsfsr_3;
677wire [3:0] t_dsfsr_2;
678wire [3:0] t_dsfsr_1;
679wire [3:0] t_dsfsr_0;
680wire l_dsfar_lat_scanin;
681wire l_dsfar_lat_scanout;
682wire [8:0] l_dsfar;
683wire l_tid_lat_scanin;
684wire l_tid_lat_scanout;
685wire [2:0] l_tid;
686wire dcl2c_lat_scanin;
687wire dcl2c_lat_scanout;
688wire dcl2c;
689wire dcl2u_lat_scanin;
690wire dcl2u_lat_scanout;
691wire dcl2u;
692wire dcl2nd_lat_scanin;
693wire dcl2nd_lat_scanout;
694wire dcl2nd;
695wire dcsoc_lat_scanin;
696wire dcsoc_lat_scanout;
697wire dcsoc;
698wire [7:0] l_dec_tid;
699wire [2:0] l_dsfsr;
700wire [2:0] l_dsfsr_7;
701wire [2:0] l_dsfsr_6;
702wire [2:0] l_dsfsr_5;
703wire [2:0] l_dsfsr_4;
704wire [2:0] l_dsfsr_3;
705wire [2:0] l_dsfsr_2;
706wire [2:0] l_dsfsr_1;
707wire [2:0] l_dsfsr_0;
708wire [8:0] l_dsfar_7;
709wire [8:0] l_dsfar_6;
710wire [8:0] l_dsfar_5;
711wire [8:0] l_dsfar_4;
712wire [8:0] l_dsfar_3;
713wire [8:0] l_dsfar_2;
714wire [8:0] l_dsfar_1;
715wire [8:0] l_dsfar_0;
716wire [5:0] l_desr_et;
717wire [5:0] l_desr_et_7;
718wire [5:0] l_desr_et_6;
719wire [5:0] l_desr_et_5;
720wire [5:0] l_desr_et_4;
721wire [5:0] l_desr_et_3;
722wire [5:0] l_desr_et_2;
723wire [5:0] l_desr_et_1;
724wire [5:0] l_desr_et_0;
725wire s_dsfar_lat_scanin;
726wire s_dsfar_lat_scanout;
727wire [1:0] fesr_priv;
728wire [2:0] s_dsfar;
729wire s_tid_lat_scanin;
730wire s_tid_lat_scanout;
731wire [2:0] s_tid;
732wire stb_flush_lat_scanin;
733wire stb_flush_lat_scanout;
734wire stb_flush;
735wire [7:0] update_priv;
736wire [7:0] s_dsfsr_dec_tid_raw;
737wire sbdlc_lat_scanin;
738wire sbdlc_lat_scanout;
739wire sbdlc;
740wire sbdlu_lat_scanin;
741wire sbdlu_lat_scanout;
742wire sbdlu;
743wire [7:0] s_dsfsr_dec_tid;
744wire [2:0] s_dsfsr;
745wire [2:0] s_dsfsr_7;
746wire [2:0] s_dsfsr_6;
747wire [2:0] s_dsfsr_5;
748wire [2:0] s_dsfsr_4;
749wire [2:0] s_dsfsr_3;
750wire [2:0] s_dsfsr_2;
751wire [2:0] s_dsfsr_1;
752wire [2:0] s_dsfsr_0;
753wire [2:0] s_dsfar_7;
754wire [2:0] s_dsfar_6;
755wire [2:0] s_dsfar_5;
756wire [2:0] s_dsfar_4;
757wire [2:0] s_dsfar_3;
758wire [2:0] s_dsfar_2;
759wire [2:0] s_dsfar_1;
760wire [2:0] s_dsfar_0;
761wire [2:0] isfsr_7_new_in;
762wire [2:0] isfsr_6_new_in;
763wire [2:0] isfsr_5_new_in;
764wire [2:0] isfsr_4_new_in;
765wire [2:0] isfsr_3_new_in;
766wire [2:0] isfsr_2_new_in;
767wire [2:0] isfsr_1_new_in;
768wire [2:0] isfsr_0_new_in;
769wire [2:0] isfsr_7_in;
770wire [2:0] isfsr_7;
771wire [2:0] isfsr_6_in;
772wire [2:0] isfsr_6;
773wire [2:0] isfsr_5_in;
774wire [2:0] isfsr_5;
775wire [2:0] isfsr_4_in;
776wire [2:0] isfsr_4;
777wire [2:0] isfsr_3_in;
778wire [2:0] isfsr_3;
779wire [2:0] isfsr_2_in;
780wire [2:0] isfsr_2;
781wire [2:0] isfsr_1_in;
782wire [2:0] isfsr_1;
783wire [2:0] isfsr_0_in;
784wire [2:0] isfsr_0;
785wire [7:0] precise_i_error;
786wire isfsr_7_lat_wmr_scanin;
787wire isfsr_7_lat_wmr_scanout;
788wire isfsr_6_lat_wmr_scanin;
789wire isfsr_6_lat_wmr_scanout;
790wire isfsr_5_lat_wmr_scanin;
791wire isfsr_5_lat_wmr_scanout;
792wire isfsr_4_lat_wmr_scanin;
793wire isfsr_4_lat_wmr_scanout;
794wire isfsr_3_lat_wmr_scanin;
795wire isfsr_3_lat_wmr_scanout;
796wire isfsr_2_lat_wmr_scanin;
797wire isfsr_2_lat_wmr_scanout;
798wire isfsr_1_lat_wmr_scanin;
799wire isfsr_1_lat_wmr_scanout;
800wire isfsr_0_lat_wmr_scanin;
801wire isfsr_0_lat_wmr_scanout;
802wire [3:0] dsfsr_7_new_in;
803wire [3:0] dsfsr_6_new_in;
804wire [3:0] dsfsr_5_new_in;
805wire [3:0] dsfsr_4_new_in;
806wire [3:0] dsfsr_3_new_in;
807wire [3:0] dsfsr_2_new_in;
808wire [3:0] dsfsr_1_new_in;
809wire [3:0] dsfsr_0_new_in;
810wire [3:0] dsfsr_7_in;
811wire [3:0] dsfsr_7;
812wire [3:0] dsfsr_6_in;
813wire [3:0] dsfsr_6;
814wire [3:0] dsfsr_5_in;
815wire [3:0] dsfsr_5;
816wire [3:0] dsfsr_4_in;
817wire [3:0] dsfsr_4;
818wire [3:0] dsfsr_3_in;
819wire [3:0] dsfsr_3;
820wire [3:0] dsfsr_2_in;
821wire [3:0] dsfsr_2;
822wire [3:0] dsfsr_1_in;
823wire [3:0] dsfsr_1;
824wire [3:0] dsfsr_0_in;
825wire [3:0] dsfsr_0;
826wire [7:0] precise_d_error;
827wire dsfsr_7_lat_wmr_scanin;
828wire dsfsr_7_lat_wmr_scanout;
829wire dsfsr_6_lat_wmr_scanin;
830wire dsfsr_6_lat_wmr_scanout;
831wire dsfsr_5_lat_wmr_scanin;
832wire dsfsr_5_lat_wmr_scanout;
833wire dsfsr_4_lat_wmr_scanin;
834wire dsfsr_4_lat_wmr_scanout;
835wire dsfsr_3_lat_wmr_scanin;
836wire dsfsr_3_lat_wmr_scanout;
837wire dsfsr_2_lat_wmr_scanin;
838wire dsfsr_2_lat_wmr_scanout;
839wire dsfsr_1_lat_wmr_scanin;
840wire dsfsr_1_lat_wmr_scanout;
841wire dsfsr_0_lat_wmr_scanin;
842wire dsfsr_0_lat_wmr_scanout;
843wire asi_rd_ctl_lat_scanin;
844wire asi_rd_ctl_lat_scanout;
845wire rd_isfsr;
846wire rd_dsfsr;
847wire rd_dsfar;
848wire rd_desr;
849wire rd_fesr;
850wire [2:0] rd_tid;
851wire [7:0] rd_tid_dec;
852wire [7:0] rd_isfsr_dec;
853wire [7:0] rd_dsfsr_dec;
854wire [7:0] rd_desr_dec;
855wire dcvp_lat_scanin;
856wire dcvp_lat_scanout;
857wire dcvp;
858wire dctp_lat_scanin;
859wire dctp_lat_scanout;
860wire dctp;
861wire dctm_lat_scanin;
862wire dctm_lat_scanout;
863wire dctm;
864wire dcdp_lat_scanin;
865wire dcdp_lat_scanout;
866wire dcdp;
867wire [7:0] d_dec_tid;
868wire [3:0] d_desr_et;
869wire [3:0] d_desr_et_7;
870wire [3:0] d_desr_et_6;
871wire [3:0] d_desr_et_5;
872wire [3:0] d_desr_et_4;
873wire [3:0] d_desr_et_3;
874wire [3:0] d_desr_et_2;
875wire [3:0] d_desr_et_1;
876wire [3:0] d_desr_et_0;
877wire [8:0] d_desr_ea_7;
878wire [8:0] d_desr_ea_6;
879wire [8:0] d_desr_ea_5;
880wire [8:0] d_desr_ea_4;
881wire [8:0] d_desr_ea_3;
882wire [8:0] d_desr_ea_2;
883wire [8:0] d_desr_ea_1;
884wire [8:0] d_desr_ea_0;
885wire cxi_lat_scanin;
886wire cxi_lat_scanout;
887wire l2_err;
888wire soc_err;
889wire [1:0] c_l2_soc_err_type;
890wire [2:0] c_l2_soc_tid;
891wire c_l2_soc_sre;
892wire [7:0] c_l2_soc_dec_tid;
893wire [7:0] c_l2_err;
894wire [7:0] c_soc_err;
895wire [7:0] l2_dec_tid;
896wire l2ch;
897wire l2cs;
898wire soc;
899wire l2u;
900wire sou;
901wire l2nd;
902wire [5:0] l2_desr_et;
903wire [5:0] l2_desr_et_7;
904wire [5:0] l2_desr_et_6;
905wire [5:0] l2_desr_et_5;
906wire [5:0] l2_desr_et_4;
907wire [5:0] l2_desr_et_3;
908wire [5:0] l2_desr_et_2;
909wire [5:0] l2_desr_et_1;
910wire [5:0] l2_desr_et_0;
911wire sbdpc_lat_scanin;
912wire sbdpc_lat_scanout;
913wire sbdpc;
914wire sbdpu_lat_scanin;
915wire sbdpu_lat_scanout;
916wire sbdpu;
917wire [7:0] sb_dec_tid;
918wire [5:0] s_desr_et;
919wire [5:0] s_desr_et_7;
920wire [5:0] s_desr_et_6;
921wire [5:0] s_desr_et_5;
922wire [5:0] s_desr_et_4;
923wire [5:0] s_desr_et_3;
924wire [5:0] s_desr_et_2;
925wire [5:0] s_desr_et_1;
926wire [5:0] s_desr_et_0;
927wire [2:0] s_desr_ea_7;
928wire [2:0] s_desr_ea_6;
929wire [2:0] s_desr_ea_5;
930wire [2:0] s_desr_ea_4;
931wire [2:0] s_desr_ea_3;
932wire [2:0] s_desr_ea_2;
933wire [2:0] s_desr_ea_1;
934wire [2:0] s_desr_ea_0;
935wire mamu_err_lat_scanin;
936wire mamu_err_lat_scanout;
937wire mamu_err_v;
938wire [10:0] mamu_err;
939wire [7:0] mamu_dec_tid;
940wire [7:0] ma_dec_tid;
941wire [5:0] mamu_desr_et;
942wire [5:0] mamu_desr_et_7;
943wire [5:0] mamu_desr_et_6;
944wire [5:0] mamu_desr_et_5;
945wire [5:0] mamu_desr_et_4;
946wire [5:0] mamu_desr_et_3;
947wire [5:0] mamu_desr_et_2;
948wire [5:0] mamu_desr_et_1;
949wire [5:0] mamu_desr_et_0;
950wire [10:0] mamu_desr_ea_7;
951wire [10:0] mamu_desr_ea_6;
952wire [10:0] mamu_desr_ea_5;
953wire [10:0] mamu_desr_ea_4;
954wire [10:0] mamu_desr_ea_3;
955wire [10:0] mamu_desr_ea_2;
956wire [10:0] mamu_desr_ea_1;
957wire [10:0] mamu_desr_ea_0;
958wire ma_tid_lat_scanin;
959wire ma_tid_lat_scanout;
960wire [2:0] ma_tid;
961wire cwq_tid_lat_scanin;
962wire cwq_tid_lat_scanout;
963wire [2:0] cwq_tid;
964wire spu_error_lat_scanin;
965wire spu_error_lat_scanout;
966wire [5:0] spu_error;
967wire [7:0] cwq_dec_tid;
968wire mal2c;
969wire mal2u;
970wire mal2nd;
971wire cwql2c;
972wire cwql2u;
973wire cwql2nd;
974wire [5:0] ma_desr_et;
975wire [5:0] cwq_desr_et;
976wire [5:0] ma_desr_et_7;
977wire [5:0] ma_desr_et_6;
978wire [5:0] ma_desr_et_5;
979wire [5:0] ma_desr_et_4;
980wire [5:0] ma_desr_et_3;
981wire [5:0] ma_desr_et_2;
982wire [5:0] ma_desr_et_1;
983wire [5:0] ma_desr_et_0;
984wire [5:0] cwq_desr_et_7;
985wire [5:0] cwq_desr_et_6;
986wire [5:0] cwq_desr_et_5;
987wire [5:0] cwq_desr_et_4;
988wire [5:0] cwq_desr_et_3;
989wire [5:0] cwq_desr_et_2;
990wire [5:0] cwq_desr_et_1;
991wire [5:0] cwq_desr_et_0;
992wire [5:0] t_desr_et_7;
993wire [5:0] t_desr_et_6;
994wire [5:0] t_desr_et_5;
995wire [5:0] t_desr_et_4;
996wire [5:0] t_desr_et_3;
997wire [5:0] t_desr_et_2;
998wire [5:0] t_desr_et_1;
999wire [5:0] t_desr_et_0;
1000wire [9:0] t_desr_ea_7;
1001wire [9:0] t_desr_ea_6;
1002wire [9:0] t_desr_ea_5;
1003wire [9:0] t_desr_ea_4;
1004wire [9:0] t_desr_ea_3;
1005wire [9:0] t_desr_ea_2;
1006wire [9:0] t_desr_ea_1;
1007wire [9:0] t_desr_ea_0;
1008wire pipe_desr_exc_7;
1009wire pipe_desr_exc_6;
1010wire pipe_desr_exc_5;
1011wire pipe_desr_exc_4;
1012wire pipe_desr_exc_3;
1013wire pipe_desr_exc_2;
1014wire pipe_desr_exc_1;
1015wire pipe_desr_exc_0;
1016wire m_desr_exc_7;
1017wire m_desr_exc_6;
1018wire m_desr_exc_5;
1019wire m_desr_exc_4;
1020wire m_desr_exc_3;
1021wire m_desr_exc_2;
1022wire m_desr_exc_1;
1023wire m_desr_exc_0;
1024wire l_desr_exc_7;
1025wire l_desr_exc_6;
1026wire l_desr_exc_5;
1027wire l_desr_exc_4;
1028wire l_desr_exc_3;
1029wire l_desr_exc_2;
1030wire l_desr_exc_1;
1031wire l_desr_exc_0;
1032wire d_desr_exc_7;
1033wire d_desr_exc_6;
1034wire d_desr_exc_5;
1035wire d_desr_exc_4;
1036wire d_desr_exc_3;
1037wire d_desr_exc_2;
1038wire d_desr_exc_1;
1039wire d_desr_exc_0;
1040wire l2_desr_exc_7;
1041wire l2_desr_exc_6;
1042wire l2_desr_exc_5;
1043wire l2_desr_exc_4;
1044wire l2_desr_exc_3;
1045wire l2_desr_exc_2;
1046wire l2_desr_exc_1;
1047wire l2_desr_exc_0;
1048wire s_desr_exc_7;
1049wire s_desr_exc_6;
1050wire s_desr_exc_5;
1051wire s_desr_exc_4;
1052wire s_desr_exc_3;
1053wire s_desr_exc_2;
1054wire s_desr_exc_1;
1055wire s_desr_exc_0;
1056wire mamu_desr_exc_7;
1057wire mamu_desr_exc_6;
1058wire mamu_desr_exc_5;
1059wire mamu_desr_exc_4;
1060wire mamu_desr_exc_3;
1061wire mamu_desr_exc_2;
1062wire mamu_desr_exc_1;
1063wire mamu_desr_exc_0;
1064wire ma_desr_exc_7;
1065wire ma_desr_exc_6;
1066wire ma_desr_exc_5;
1067wire ma_desr_exc_4;
1068wire ma_desr_exc_3;
1069wire ma_desr_exc_2;
1070wire ma_desr_exc_1;
1071wire ma_desr_exc_0;
1072wire cwq_desr_exc_7;
1073wire cwq_desr_exc_6;
1074wire cwq_desr_exc_5;
1075wire cwq_desr_exc_4;
1076wire cwq_desr_exc_3;
1077wire cwq_desr_exc_2;
1078wire cwq_desr_exc_1;
1079wire cwq_desr_exc_0;
1080wire t_desr_exc_7;
1081wire t_desr_exc_6;
1082wire t_desr_exc_5;
1083wire t_desr_exc_4;
1084wire t_desr_exc_3;
1085wire t_desr_exc_2;
1086wire t_desr_exc_1;
1087wire t_desr_exc_0;
1088wire take_s_7;
1089wire no_desr_s_7;
1090wire take_s_6;
1091wire no_desr_s_6;
1092wire take_s_5;
1093wire no_desr_s_5;
1094wire take_s_4;
1095wire no_desr_s_4;
1096wire take_s_3;
1097wire no_desr_s_3;
1098wire take_s_2;
1099wire no_desr_s_2;
1100wire take_s_1;
1101wire no_desr_s_1;
1102wire take_s_0;
1103wire no_desr_s_0;
1104wire take_t_7;
1105wire take_t_6;
1106wire take_t_5;
1107wire take_t_4;
1108wire take_t_3;
1109wire take_t_2;
1110wire take_t_1;
1111wire take_t_0;
1112wire take_ma_7;
1113wire take_ma_6;
1114wire take_ma_5;
1115wire take_ma_4;
1116wire take_ma_3;
1117wire take_ma_2;
1118wire take_ma_1;
1119wire take_ma_0;
1120wire take_mamu_7;
1121wire take_mamu_6;
1122wire take_mamu_5;
1123wire take_mamu_4;
1124wire take_mamu_3;
1125wire take_mamu_2;
1126wire take_mamu_1;
1127wire take_mamu_0;
1128wire take_cwq_7;
1129wire take_cwq_6;
1130wire take_cwq_5;
1131wire take_cwq_4;
1132wire take_cwq_3;
1133wire take_cwq_2;
1134wire take_cwq_1;
1135wire take_cwq_0;
1136wire take_l2_7;
1137wire take_l2_6;
1138wire take_l2_5;
1139wire take_l2_4;
1140wire take_l2_3;
1141wire take_l2_2;
1142wire take_l2_1;
1143wire take_l2_0;
1144wire take_pipe_7;
1145wire take_pipe_6;
1146wire take_pipe_5;
1147wire take_pipe_4;
1148wire take_pipe_3;
1149wire take_pipe_2;
1150wire take_pipe_1;
1151wire take_pipe_0;
1152wire take_m_7;
1153wire take_m_6;
1154wire take_m_5;
1155wire take_m_4;
1156wire take_m_3;
1157wire take_m_2;
1158wire take_m_1;
1159wire take_m_0;
1160wire take_l_7;
1161wire take_l_6;
1162wire take_l_5;
1163wire take_l_4;
1164wire take_l_3;
1165wire take_l_2;
1166wire take_l_1;
1167wire take_l_0;
1168wire take_d_7;
1169wire take_d_6;
1170wire take_d_5;
1171wire take_d_4;
1172wire take_d_3;
1173wire take_d_2;
1174wire take_d_1;
1175wire take_d_0;
1176wire [7:0] write_desr;
1177wire [7:0] write_desr_s;
1178wire sbdiou_lat_scanin;
1179wire sbdiou_lat_scanout;
1180wire sbdiou;
1181wire sbapp_lat_scanin;
1182wire sbapp_lat_scanout;
1183wire sbapp;
1184wire [7:0] f_dec_tid;
1185wire [7:0] write_fesr;
1186wire [7:0] error_event_1_in;
1187wire [7:0] error_event_0_in;
1188wire event_1_lat_scanin;
1189wire event_1_lat_scanout;
1190wire [7:0] error_event_1;
1191wire event_0_lat_scanin;
1192wire event_0_lat_scanout;
1193wire [7:0] error_event_0;
1194wire spares_scanin;
1195wire spares_scanout;
1196wire spare0_lat_scanin;
1197wire spare0_lat_scanout;
1198wire spare0_unused;
1199wire spare1_lat_scanin;
1200wire spare1_lat_scanout;
1201wire spare1_unused;
1202wire spare2_lat_scanin;
1203wire spare2_lat_scanout;
1204wire spare2_unused;
1205wire spare3_lat_scanin;
1206wire spare3_lat_scanout;
1207wire spare3_unused;
1208wire spare4_lat_scanin;
1209wire spare4_lat_scanout;
1210wire spare4_unused;
1211wire spare5_lat_scanin;
1212wire spare5_lat_scanout;
1213wire spare5_unused;
1214wire spare6_lat_scanin;
1215wire spare6_lat_scanout;
1216wire spare6_unused;
1217wire spare7_lat_scanin;
1218wire spare7_lat_scanout;
1219wire spare7_unused;
1220wire spare8_lat_scanin;
1221wire spare8_lat_scanout;
1222wire spare8_unused;
1223wire spare9_lat_scanin;
1224wire spare9_lat_scanout;
1225wire spare9_unused;
1226wire spare10_lat_scanin;
1227wire spare10_lat_scanout;
1228wire spare10_unused;
1229wire spare11_lat_scanin;
1230wire spare11_lat_scanout;
1231wire spare11_unused;
1232wire spare12_lat_scanin;
1233wire spare12_lat_scanout;
1234wire spare12_unused;
1235wire spare13_lat_scanin;
1236wire spare13_lat_scanout;
1237wire spare13_unused;
1238wire spare14_lat_scanin;
1239wire spare14_lat_scanout;
1240wire spare14_unused;
1241wire spare15_lat_scanin;
1242wire spare15_lat_scanout;
1243wire spare15_unused;
1244
1245
1246
1247
1248input l2clk;
1249input scan_in;
1250input tcu_pce_ov;
1251input spc_aclk;
1252input spc_bclk;
1253input tcu_scan_en;
1254
1255input spc_aclk_wmr; // Warm reset (non)scan
1256input wmr_scan_in;
1257
1258input lsu_tlu_pmen; // Power management
1259
1260input [2:0] ftu_excp_way_d;
1261input [2:0] ftu_excp_tid_d;
1262input ftu_excp_way_valid_d;
1263
1264input [4:0] dec_exc0_m;
1265input [4:0] dec_exc1_m;
1266input [1:0] dec_icache_perr_m;
1267input [1:0] dec_tid0_m;
1268input [1:0] dec_tid1_m;
1269input [1:0] dec_inst_valid_m;
1270input [1:0] dec_fgu_inst_m;
1271input [1:0] dec_lsu_inst_m;
1272input [1:0] dec_flush_b;
1273
1274input [1:0] fls_irf_cecc_b;
1275input [1:0] fls_irf_uecc_b;
1276input [1:0] fls_kill_irf_ecc_w;
1277input [4:0] exu0_ecc_addr_m;
1278input [4:0] exu1_ecc_addr_m;
1279input [7:0] exu0_ecc_check_m;
1280input [7:0] exu1_ecc_check_m;
1281
1282input fls_f_cecc_w;
1283input fls_f_uecc_w;
1284input [5:0] fgu_ecc_addr_fx2;
1285input [13:0] fgu_ecc_check_fx2;
1286input fgu_pdist_beat2_fx1;
1287
1288input lsu_tlu_twocycle_m; // LSU takes extra cycle on this inst
1289input [7:0] lsu_block_store_b; // LSU reads FRF for block store
1290
1291input [7:0] fls_load_dsfar; // Trap that loads DSFAR
1292input [1:0] fls_ipe_dme_request; // Update DSFSR/DSFAR for IRF/FRF ECC
1293input lsu_dttp_err_b; // DTLB tag parity error
1294input lsu_dtdp_err_b; // DTLB data parity error
1295input lsu_dtmh_err_b; // DTLB data parity error
1296
1297input lsu_dcmh_err_g; // LSU data cache multiple hit
1298input lsu_dcvp_err_g; // LSU data cache valid parity error
1299input lsu_dctp_err_g; // LSU data cache tag parity error
1300input lsu_dcdp_err_g; // LSU data cache parity error
1301input lsu_dcl2c_err_g; // LSU data cache L2 correctable ECC
1302input lsu_dcl2u_err_g; // LSU data cache L2 uncorrectable ECC
1303input lsu_dcl2nd_err_g; // LSU data cache L2 NotData
1304input lsu_dcsoc_err_g; // LSU data cache SOC error
1305input [2:0] lsu_dcerr_tid_g; // TID for G stage errors (above)
1306input [8:0] lsu_dcerr_sfar_g; // Contains way and index of the error
1307
1308input lsu_sbdlc_err_g; // STB RAW error (CE)
1309input lsu_sbdlu_err_g; // STB RAW error (UE)
1310input lsu_sbdpc_err_g; // STB read for issue data (CE)
1311input lsu_sbdpu_err_g; // STB read for issue data (UE)
1312input lsu_sbapp_err_g; // STB read for issue addr parity error
1313input lsu_sbdiou_err_g; // STB read for issue IO/ext ASI parity
1314input [2:0] lsu_stberr_tid_g; // TID of STB error
1315input [2:0] lsu_stberr_index_g; // Index of STB error
1316input [1:0] lsu_stberr_priv_g; // Privilege of STB error
1317input lsu_stb_flush_g; // STB entry flushed STB (capture priv)
1318
1319input cel_tccp;
1320input cel_tcup;
1321input [7:0] cel_syndrome;
1322input [2:0] tlu_tca_tid;
1323input [1:0] tlu_tca_index; // Index for precise TCA errors
1324input [7:0] tlu_tsac; // Only one per TG can report tsa[cu]
1325input [7:0] tlu_tsau;
1326input asi_tsac; // ASI TSA access errors
1327input asi_tsau;
1328input [2:0] asi_tsacu_tid; // Only one per TG can report tsa[cu]
1329input [7:0] tlu_tccd;
1330input [7:0] tlu_tcud;
1331input [1:0] tlu_tca_index_0;
1332input [1:0] tlu_tca_index_1;
1333input [10:5] tsd_pc_0_w;
1334input [10:5] tsd_pc_1_w;
1335input [7:0] fls_flush;
1336input [1:0] fls_disrupting_flush_w;
1337input [1:0] trl_gl0;
1338input [1:0] trl_gl1;
1339input [1:0] trl_gl2;
1340input [1:0] trl_gl3;
1341input [1:0] trl_gl4;
1342input [1:0] trl_gl5;
1343input [1:0] trl_gl6;
1344input [1:0] trl_gl7;
1345
1346input mmu_asi_cecc; // Correctable ECC error on ASI read
1347input mmu_asi_uecc; // Uncorrectable ECC error on ASI read
1348input [10:0] mmu_asi_index; // Syndrome and index of the failure
1349input mmu_asi_mra_not_sca; // 1: MRA error 0: Scratchpad error
1350input [7:0] mmu_i_l2cerr;
1351input [7:0] mmu_d_l2cerr;
1352input [7:0] mmu_i_eccerr;
1353input [7:0] mmu_d_eccerr;
1354input [2:0] mmu_thr0_err_type;
1355input [2:0] mmu_thr1_err_type;
1356input [2:0] mmu_thr2_err_type;
1357input [2:0] mmu_thr3_err_type;
1358input [2:0] mmu_thr4_err_type;
1359input [2:0] mmu_thr5_err_type;
1360input [2:0] mmu_thr6_err_type;
1361input [2:0] mmu_thr7_err_type;
1362input [2:0] mmu_thr0_err_index;
1363input [2:0] mmu_thr1_err_index;
1364input [2:0] mmu_thr2_err_index;
1365input [2:0] mmu_thr3_err_index;
1366input [2:0] mmu_thr4_err_index;
1367input [2:0] mmu_thr5_err_index;
1368input [2:0] mmu_thr6_err_index;
1369input [2:0] mmu_thr7_err_index;
1370
1371input spu_tlu_mamu_err_req_v; // SPU MAMEM parity error
1372input [10:0] spu_tlu_mamu_err_req; // SPU MAMEM index
1373input [2:0] spu_tlu_ma_int_req; // SPU MA 2:0 thread ID
1374input [2:0] spu_tlu_cwq_int_req; // SPU CWQ 2:0 thread ID
1375input [5:0] spu_tlu_l2_error; // MAL2[C,U,ND],CWQL2[C,U,ND]
1376
1377input cxi_l2_soc_sre; // software_recoverable_error
1378input [1:0] cxi_l2_soc_err_type; // C=01, UC=10, ND=11
1379input [2:0] cxi_l2_soc_tid;
1380input cxi_l2_err; // L2 error reported
1381input cxi_soc_err; // SOC error reported
1382
1383input asi_rd_isfsr; // ASI read control in ASI cycle 1
1384input asi_rd_dsfsr; // but actual read is in ASI cycle 2
1385input asi_rd_dsfar;
1386input asi_rd_desr;
1387input asi_rd_fesr;
1388input [2:0] asi_rd_tid;
1389input [7:0] asi_wr_isfsr;
1390input [7:0] asi_wr_dsfsr;
1391input [3:0] asi_wr_data;
1392
1393input [7:0] dfd_desr_f;
1394input [7:0] dfd_desr_s;
1395input [7:0] dfd_fesr_f;
1396input [1:0] dfd_fesr_priv_0;
1397input [1:0] dfd_fesr_priv_1;
1398input [1:0] dfd_fesr_priv_2;
1399input [1:0] dfd_fesr_priv_3;
1400input [1:0] dfd_fesr_priv_4;
1401input [1:0] dfd_fesr_priv_5;
1402input [1:0] dfd_fesr_priv_6;
1403input [1:0] dfd_fesr_priv_7;
1404
1405
1406
1407output wmr_scan_out;
1408
1409output scan_out;
1410
1411output [3:0] ras_asi_data;
1412
1413// DSFAR
1414output [19:0] ras_dsfar_0;
1415output [19:0] ras_dsfar_1;
1416output [19:0] ras_dsfar_2;
1417output [19:0] ras_dsfar_3;
1418output [19:0] ras_dsfar_4;
1419output [19:0] ras_dsfar_5;
1420output [19:0] ras_dsfar_6;
1421output [19:0] ras_dsfar_7;
1422output [7:0] ras_dsfar_sel_lsu_va;
1423output [7:0] ras_dsfar_sel_ras;
1424output [7:0] ras_dsfar_sel_tsa;
1425output [7:0] ras_rd_dsfar;
1426
1427// DESRs
1428output [61:56] ras_desr_et_0;
1429output [61:56] ras_desr_et_1;
1430output [61:56] ras_desr_et_2;
1431output [61:56] ras_desr_et_3;
1432output [61:56] ras_desr_et_4;
1433output [61:56] ras_desr_et_5;
1434output [61:56] ras_desr_et_6;
1435output [61:56] ras_desr_et_7;
1436output [10:0] ras_desr_ea_0;
1437output [10:0] ras_desr_ea_1;
1438output [10:0] ras_desr_ea_2;
1439output [10:0] ras_desr_ea_3;
1440output [10:0] ras_desr_ea_4;
1441output [10:0] ras_desr_ea_5;
1442output [10:0] ras_desr_ea_6;
1443output [10:0] ras_desr_ea_7;
1444output ras_desr_me_0;
1445output ras_desr_me_1;
1446output ras_desr_me_2;
1447output ras_desr_me_3;
1448output ras_desr_me_4;
1449output ras_desr_me_5;
1450output ras_desr_me_6;
1451output ras_desr_me_7;
1452output [7:0] ras_desr_en;
1453output [7:0] ras_write_desr_1st;
1454output [7:0] ras_write_desr_2nd;
1455output [7:0] ras_rd_desr;
1456
1457// FESRs
1458output [61:60] ras_fesr_et_0;
1459output [61:60] ras_fesr_et_1;
1460output [61:60] ras_fesr_et_2;
1461output [61:60] ras_fesr_et_3;
1462output [61:60] ras_fesr_et_4;
1463output [61:60] ras_fesr_et_5;
1464output [61:60] ras_fesr_et_6;
1465output [61:60] ras_fesr_et_7;
1466output [59:55] ras_fesr_ea_0;
1467output [59:55] ras_fesr_ea_1;
1468output [59:55] ras_fesr_ea_2;
1469output [59:55] ras_fesr_ea_3;
1470output [59:55] ras_fesr_ea_4;
1471output [59:55] ras_fesr_ea_5;
1472output [59:55] ras_fesr_ea_6;
1473output [59:55] ras_fesr_ea_7;
1474output [7:0] ras_fesr_en;
1475output [7:0] ras_write_fesr;
1476output [59:58] ras_fesr_priv;
1477output [7:0] ras_update_priv;
1478output [7:0] ras_rd_fesr;
1479
1480output [7:0] ras_precise_error; // For debug events
1481output [7:0] ras_disrupting_error; // For debug events
1482output [7:0] ras_deferred_error; // For debug events
1483
1484
1485
1486
1487
1488//////////////////////////////////////////////////////////////////////////////
1489
1490assign pce_ov = tcu_pce_ov;
1491assign stop = 1'b0;
1492assign siclk = spc_aclk;
1493assign soclk = spc_bclk;
1494assign se = tcu_scan_en;
1495
1496
1497
1498//////////////////////////////////////////////////////////////////////////////
1499// Clock header
1500
1501tlu_ras_ctl_l1clkhdr_ctl_macro free_clken (
1502 .l2clk (l2clk ),
1503 .l1en (1'b1 ),
1504 .l1clk (l1clk ),
1505 .pce_ov(pce_ov),
1506 .stop(stop),
1507 .se(se)
1508);
1509
1510
1511
1512//////////////////////////////////////////////////////////////////////////////
1513// Power management
1514
1515assign l1en_any_b2w =
1516 (| {inst_valid_b[1:0],
1517 lsu_block_store_b[7:0],
1518 w_en, w1_en, ~lsu_tlu_pmen});
1519
1520tlu_ras_ctl_l1clkhdr_ctl_macro b2w_clken (
1521 .l2clk (l2clk ),
1522 .l1en (l1en_any_b2w ),
1523 .l1clk (l1clk_pm1 ),
1524 .pce_ov(pce_ov),
1525 .stop(stop),
1526 .se(se)
1527);
1528
1529assign l1en_pm2 =
1530 excp_way_valid | ~lsu_tlu_pmen;
1531
1532tlu_ras_ctl_l1clkhdr_ctl_macro exc_way_clken (
1533 .l2clk (l2clk ),
1534 .l1en (l1en_pm2 ),
1535 .l1clk (l1clk_pm2 ),
1536 .pce_ov(pce_ov),
1537 .stop(stop),
1538 .se(se)
1539);
1540
1541
1542
1543//////////////////////////////////////////////////////////////////////////////
1544//
1545// Pipe TIDs, etc. for in-pipe errors
1546//
1547
1548assign twocycle_inst_m[1:0] =
1549 {2 {lsu_tlu_twocycle_m}} & dec_lsu_inst_m[1:0] &
1550 dec_inst_valid_m[1:0];
1551
1552tlu_ras_ctl_msff_ctl_macro__width_2 twocycle_inst_b_lat (
1553 .scan_in(twocycle_inst_b_lat_scanin),
1554 .scan_out(twocycle_inst_b_lat_scanout),
1555 .din (twocycle_inst_m [1:0] ),
1556 .dout (ptwocycle_inst_b [1:0] ),
1557 .l1clk(l1clk),
1558 .siclk(siclk),
1559 .soclk(soclk)
1560);
1561
1562assign twocycle_inst_b[1:0] =
1563 (ptwocycle_inst_b[1:0] |
1564 ({2 {fgu_pdist_beat2_fx1}} & fgu_inst_b[1:0])) &
1565 ~dec_flush_b[1:0] &
1566 ~fls_irf_cecc_b[1:0] & ~fls_irf_uecc_b[1:0];
1567
1568assign inst_valid_m[1:0] =
1569 dec_inst_valid_m[1:0] | twocycle_inst_b[1:0];
1570
1571tlu_ras_ctl_msff_ctl_macro__width_2 inst_valid_b_lat (
1572 .scan_in(inst_valid_b_lat_scanin),
1573 .scan_out(inst_valid_b_lat_scanout),
1574 .din (inst_valid_m [1:0] ),
1575 .dout (inst_valid_b [1:0] ),
1576 .l1clk(l1clk),
1577 .siclk(siclk),
1578 .soclk(soclk)
1579);
1580
1581assign w_en_in =
1582 | {inst_valid_b[1:0], lsu_block_store_b[7:0]};
1583
1584tlu_ras_ctl_msff_ctl_macro__width_1 w_en_lat (
1585 .scan_in(w_en_lat_scanin),
1586 .scan_out(w_en_lat_scanout),
1587 .din (w_en_in ),
1588 .dout (w_en ),
1589 .l1clk(l1clk),
1590 .siclk(siclk),
1591 .soclk(soclk)
1592);
1593
1594tlu_ras_ctl_msff_ctl_macro__width_1 w1_en_lat (
1595 .scan_in(w1_en_lat_scanin),
1596 .scan_out(w1_en_lat_scanout),
1597 .din (w_en ),
1598 .dout (w1_en ),
1599 .l1clk(l1clk),
1600 .siclk(siclk),
1601 .soclk(soclk)
1602);
1603
1604assign flush_b[1:0] =
1605 {(fls_flush[7] & tid_dec_b[7]) |
1606 (fls_flush[6] & tid_dec_b[6]) |
1607 (fls_flush[5] & tid_dec_b[5]) |
1608 (fls_flush[4] & tid_dec_b[4]),
1609 (fls_flush[3] & tid_dec_b[3]) |
1610 (fls_flush[2] & tid_dec_b[2]) |
1611 (fls_flush[1] & tid_dec_b[1]) |
1612 (fls_flush[0] & tid_dec_b[0])};
1613
1614assign inst_valid_w_in[1:0] =
1615 inst_valid_b[1:0] & ~dec_flush_b[1:0] & ~flush_b[1:0];
1616
1617tlu_ras_ctl_msff_ctl_macro__width_2 inst_valid_w_lat (
1618 .scan_in(inst_valid_w_lat_scanin),
1619 .scan_out(inst_valid_w_lat_scanout),
1620 .l1clk (l1clk_pm1 ),
1621 .din (inst_valid_w_in [1:0] ),
1622 .dout (pre_inst_valid_w [1:0] ),
1623 .siclk(siclk),
1624 .soclk(soclk)
1625);
1626
1627// block_store_b is not actually in B, so it can't be flushed
1628assign block_store_w_in[7:0] =
1629 lsu_block_store_b[7:0];
1630
1631tlu_ras_ctl_msff_ctl_macro__width_8 block_store_w_lat (
1632 .scan_in(block_store_w_lat_scanin),
1633 .scan_out(block_store_w_lat_scanout),
1634 .din (block_store_w_in [7:0] ),
1635 .dout (pblock_store_w [7:0] ),
1636 .l1clk(l1clk),
1637 .siclk(siclk),
1638 .soclk(soclk)
1639);
1640
1641assign block_store_w[7:0] =
1642 pblock_store_w[7:0] & ~{8 {seen_bsee}};
1643
1644assign inst_valid_w[1:0] =
1645 pre_inst_valid_w[1:0] & ~fls_disrupting_flush_w[1:0];
1646
1647assign tid1_m[1:0] =
1648 (dec_tid1_m[1:0] & {2 {~twocycle_inst_b[1]}}) |
1649 ( tid1_b[1:0] & {2 { twocycle_inst_b[1]}}) ;
1650
1651tlu_ras_ctl_msff_ctl_macro__width_2 tid1_b_lat (
1652 .scan_in(tid1_b_lat_scanin),
1653 .scan_out(tid1_b_lat_scanout),
1654 .din (tid1_m [1:0] ),
1655 .dout (tid1_b [1:0] ),
1656 .l1clk(l1clk),
1657 .siclk(siclk),
1658 .soclk(soclk)
1659);
1660
1661assign tid0_m[1:0] =
1662 (dec_tid0_m[1:0] & {2 {~twocycle_inst_b[0]}}) |
1663 ( tid0_b[1:0] & {2 { twocycle_inst_b[0]}}) ;
1664
1665tlu_ras_ctl_msff_ctl_macro__width_2 tid0_b_lat (
1666 .scan_in(tid0_b_lat_scanin),
1667 .scan_out(tid0_b_lat_scanout),
1668 .din (tid0_m [1:0] ),
1669 .dout (tid0_b [1:0] ),
1670 .l1clk(l1clk),
1671 .siclk(siclk),
1672 .soclk(soclk)
1673);
1674
1675assign tid_dec_b[7:0] =
1676 { tid1_b[1] & tid1_b[0],
1677 tid1_b[1] & ~tid1_b[0],
1678 ~tid1_b[1] & tid1_b[0],
1679 ~tid1_b[1] & ~tid1_b[0],
1680 tid0_b[1] & tid0_b[0],
1681 tid0_b[1] & ~tid0_b[0],
1682 ~tid0_b[1] & tid0_b[0],
1683 ~tid0_b[1] & ~tid0_b[0]};
1684
1685tlu_ras_ctl_msff_ctl_macro__width_2 tid1_w_lat (
1686 .scan_in(tid1_w_lat_scanin),
1687 .scan_out(tid1_w_lat_scanout),
1688 .l1clk (l1clk_pm1 ),
1689 .din (tid1_b [1:0] ),
1690 .dout (tid1_w [1:0] ),
1691 .siclk(siclk),
1692 .soclk(soclk)
1693);
1694
1695tlu_ras_ctl_msff_ctl_macro__width_2 tid0_w_lat (
1696 .scan_in(tid0_w_lat_scanin),
1697 .scan_out(tid0_w_lat_scanout),
1698 .l1clk (l1clk_pm1 ),
1699 .din (tid0_b [1:0] ),
1700 .dout (tid0_w [1:0] ),
1701 .siclk(siclk),
1702 .soclk(soclk)
1703);
1704
1705assign tid_dec_w[7:0] =
1706 { tid1_w[1] & tid1_w[0],
1707 tid1_w[1] & ~tid1_w[0],
1708 ~tid1_w[1] & tid1_w[0],
1709 ~tid1_w[1] & ~tid1_w[0],
1710 tid0_w[1] & tid0_w[0],
1711 tid0_w[1] & ~tid0_w[0],
1712 ~tid0_w[1] & tid0_w[0],
1713 ~tid0_w[1] & ~tid0_w[0]} &
1714 {{4 {inst_valid_w[1]}}, {4 {inst_valid_w[0]}}} |
1715 block_store_w[7:0];
1716
1717assign fgu_inst_m[1:0] =
1718 (dec_fgu_inst_m[1:0] & dec_inst_valid_m[1:0]) |
1719 ( fgu_inst_b[1:0] & twocycle_inst_b[1:0]) ;
1720
1721tlu_ras_ctl_msff_ctl_macro__width_2 fgu_inst_b_lat (
1722 .scan_in(fgu_inst_b_lat_scanin),
1723 .scan_out(fgu_inst_b_lat_scanout),
1724 .din (fgu_inst_m [1:0] ),
1725 .dout (fgu_inst_b [1:0] ),
1726 .l1clk(l1clk),
1727 .siclk(siclk),
1728 .soclk(soclk)
1729);
1730
1731tlu_ras_ctl_msff_ctl_macro__width_2 fgu_inst_w_lat (
1732 .scan_in(fgu_inst_w_lat_scanin),
1733 .scan_out(fgu_inst_w_lat_scanout),
1734 .din (fgu_inst_b [1:0] ),
1735 .dout (pfgu_inst_w [1:0] ),
1736 .l1clk(l1clk),
1737 .siclk(siclk),
1738 .soclk(soclk)
1739);
1740
1741assign fgu_inst_w[1:0] =
1742 pfgu_inst_w[1:0] | {| block_store_w[7:4], | block_store_w[3:0]};
1743
1744// lsu_inst_m doesn't need twocycle stuff because TLB is only accessed once
1745assign lsu_inst_m[1:0] =
1746 dec_lsu_inst_m[1:0] & dec_inst_valid_m[1:0] ;
1747
1748tlu_ras_ctl_msff_ctl_macro__width_2 lsu_inst_b_lat (
1749 .scan_in(lsu_inst_b_lat_scanin),
1750 .scan_out(lsu_inst_b_lat_scanout),
1751 .din (lsu_inst_m [1:0] ),
1752 .dout (lsu_inst_b [1:0] ),
1753 .l1clk(l1clk),
1754 .siclk(siclk),
1755 .soclk(soclk)
1756);
1757
1758
1759
1760//////////////////////////////////////////////////////////////////////////////
1761//
1762// In-pipe precise errors from M to B
1763//
1764
1765// Instruction cache and TLB errors
1766// The precise errors for ISFSR are encoded in the exc bits as
1767// ittp 5'b00111
1768// ittm 5'b01001
1769// itdp 5'b11111
1770// icl2u 5'b01111
1771// icl2nd 5'b10000
1772//
1773// but architecturally should be
1774// ittm 001 1
1775// ittp 010 2
1776// itdp 011 3
1777// icl2u 001 1
1778// icl2nd 010 2
1779//
1780// DESR errors from this source are
1781// icl2c 5'b01110
1782// icvp 5'b01010
1783// ictp 5'b01011
1784// ictm 5'b01100
1785// icdp 5'b01101
1786//
1787// but architecturally should be
1788// icvp 00001 1
1789// ictp 00010 2
1790// ictm 00011 3
1791// icdp 00100 4
1792// All these have S = 0
1793// icl2c 00010 0
1794// This has S = 1
1795
1796assign ittp_m[1:0] =
1797 {dec_exc1_m[4:0] == 5'b00111,
1798 dec_exc0_m[4:0] == 5'b00111} &
1799 dec_inst_valid_m[1:0];
1800assign ittm_m[1:0] =
1801 {dec_exc1_m[4:0] == 5'b01001,
1802 dec_exc0_m[4:0] == 5'b01001} &
1803 dec_inst_valid_m[1:0];
1804assign itdp_m[1:0] =
1805 {dec_exc1_m[4:0] == 5'b11111,
1806 dec_exc0_m[4:0] == 5'b11111} &
1807 dec_inst_valid_m[1:0];
1808assign icl2u_m[1:0] =
1809 {dec_exc1_m[4:0] == 5'b01111 | dec_exc1_m[4:0] == 5'b10111,
1810 dec_exc0_m[4:0] == 5'b01111 | dec_exc0_m[4:0] == 5'b10111} &
1811 dec_inst_valid_m[1:0];
1812assign icl2nd_m[1:0] =
1813 {dec_exc1_m[4:0] == 5'b10000 | dec_exc1_m[4:0] == 5'b11000,
1814 dec_exc0_m[4:0] == 5'b10000 | dec_exc0_m[4:0] == 5'b11000} &
1815 dec_inst_valid_m[1:0];
1816
1817assign i_isfsr1_m[2:0] =
1818 ({3 { ittm_m[1]}} & 3'b001) |
1819 ({3 { ittp_m[1]}} & 3'b010) |
1820 ({3 { itdp_m[1]}} & 3'b011) |
1821 ({3 { icl2u_m[1]}} & 3'b001) |
1822 ({3 {icl2nd_m[1]}} & 3'b010) ;
1823
1824assign i_isfsr0_m[2:0] =
1825 ({3 { ittm_m[0]}} & 3'b001) |
1826 ({3 { ittp_m[0]}} & 3'b010) |
1827 ({3 { itdp_m[0]}} & 3'b011) |
1828 ({3 { icl2u_m[0]}} & 3'b001) |
1829 ({3 {icl2nd_m[0]}} & 3'b010) ;
1830
1831tlu_ras_ctl_msff_ctl_macro__width_3 i_isfsr1_b_lat (
1832 .scan_in(i_isfsr1_b_lat_scanin),
1833 .scan_out(i_isfsr1_b_lat_scanout),
1834 .din (i_isfsr1_m [2:0] ),
1835 .dout (i_isfsr1_b [2:0] ),
1836 .l1clk(l1clk),
1837 .siclk(siclk),
1838 .soclk(soclk)
1839);
1840
1841tlu_ras_ctl_msff_ctl_macro__width_3 i_isfsr0_b_lat (
1842 .scan_in(i_isfsr0_b_lat_scanin),
1843 .scan_out(i_isfsr0_b_lat_scanout),
1844 .din (i_isfsr0_m [2:0] ),
1845 .dout (i_isfsr0_b [2:0] ),
1846 .l1clk(l1clk),
1847 .siclk(siclk),
1848 .soclk(soclk)
1849);
1850
1851
1852assign icvp_m[1:0] =
1853 {dec_exc1_m[4:0] == 5'b01010,
1854 dec_exc0_m[4:0] == 5'b01010} &
1855 dec_inst_valid_m[1:0];
1856assign ictp_m[1:0] =
1857 {dec_exc1_m[4:0] == 5'b01011,
1858 dec_exc0_m[4:0] == 5'b01011} &
1859 dec_inst_valid_m[1:0];
1860assign ictm_m[1:0] =
1861 {dec_exc1_m[4:0] == 5'b01100,
1862 dec_exc0_m[4:0] == 5'b01100} &
1863 dec_inst_valid_m[1:0];
1864assign icl2c_m[1:0] =
1865 {dec_exc1_m[4:0] == 5'b01110 | dec_exc1_m[4:0] == 5'b11110,
1866 dec_exc0_m[4:0] == 5'b01110 | dec_exc0_m[4:0] == 5'b11110} &
1867 dec_inst_valid_m[1:0];
1868assign icdp_m[1:0] =
1869 dec_icache_perr_m[1:0] & ~icvp_m[1:0] & ~ictp_m[1:0] &
1870 ~ictm_m[1:0] & ~ittp_m[1:0] & ~ittm_m[1:0] & ~itdp_m[1:0] &
1871 ~icl2c_m[1:0] &
1872 ~{( ~dec_exc1_m[2] & dec_exc1_m[1] ) |
1873 ( ~dec_exc1_m[2] & dec_exc1_m[0]) |
1874 (~dec_exc1_m[4] & dec_exc1_m[2] & ~dec_exc1_m[1] & ~dec_exc1_m[0]) ,
1875 ( ~dec_exc0_m[2] & dec_exc0_m[1] ) |
1876 ( ~dec_exc0_m[2] & dec_exc0_m[0]) |
1877 (~dec_exc0_m[4] & dec_exc0_m[2] & ~dec_exc0_m[1] & ~dec_exc0_m[0]) } &
1878 dec_inst_valid_m[1:0];
1879
1880assign i_desr1_m[3:0] =
1881 ({4 { icvp_m[1]}} & 4'b0001) |
1882 ({4 { ictp_m[1]}} & 4'b0010) |
1883 ({4 { ictm_m[1]}} & 4'b0011) |
1884 ({4 { icdp_m[1]}} & 4'b0100) |
1885 ({4 { icl2c_m[1]}} & 4'b1010) ;
1886
1887assign i_desr0_m[3:0] =
1888 ({4 { icvp_m[0]}} & 4'b0001) |
1889 ({4 { ictp_m[0]}} & 4'b0010) |
1890 ({4 { ictm_m[0]}} & 4'b0011) |
1891 ({4 { icdp_m[0]}} & 4'b0100) |
1892 ({4 { icl2c_m[0]}} & 4'b1010) ;
1893
1894tlu_ras_ctl_msff_ctl_macro__width_4 i_desr1_b_lat (
1895 .scan_in(i_desr1_b_lat_scanin),
1896 .scan_out(i_desr1_b_lat_scanout),
1897 .din (i_desr1_m [3:0] ),
1898 .dout (i_desr1_b [3:0] ),
1899 .l1clk(l1clk),
1900 .siclk(siclk),
1901 .soclk(soclk)
1902);
1903
1904tlu_ras_ctl_msff_ctl_macro__width_4 i_desr0_b_lat (
1905 .scan_in(i_desr0_b_lat_scanin),
1906 .scan_out(i_desr0_b_lat_scanout),
1907 .din (i_desr0_m [3:0] ),
1908 .dout (i_desr0_b [3:0] ),
1909 .l1clk(l1clk),
1910 .siclk(siclk),
1911 .soclk(soclk)
1912);
1913
1914
1915
1916// IRF ECC errors
1917tlu_ras_ctl_msff_ctl_macro__width_5 irf0_ecc_addr_b_lat (
1918 .scan_in(irf0_ecc_addr_b_lat_scanin),
1919 .scan_out(irf0_ecc_addr_b_lat_scanout),
1920 .din (exu0_ecc_addr_m [4:0] ),
1921 .dout (irf0_ecc_addr_b [4:0] ),
1922 .l1clk(l1clk),
1923 .siclk(siclk),
1924 .soclk(soclk)
1925);
1926
1927tlu_ras_ctl_msff_ctl_macro__width_5 irf1_ecc_addr_b_lat (
1928 .scan_in(irf1_ecc_addr_b_lat_scanin),
1929 .scan_out(irf1_ecc_addr_b_lat_scanout),
1930 .din (exu1_ecc_addr_m [4:0] ),
1931 .dout (irf1_ecc_addr_b [4:0] ),
1932 .l1clk(l1clk),
1933 .siclk(siclk),
1934 .soclk(soclk)
1935);
1936
1937tlu_ras_ctl_msff_ctl_macro__width_8 irf0_ecc_check_b_lat (
1938 .scan_in(irf0_ecc_check_b_lat_scanin),
1939 .scan_out(irf0_ecc_check_b_lat_scanout),
1940 .din (exu0_ecc_check_m [7:0] ),
1941 .dout (irf0_ecc_check_b [7:0] ),
1942 .l1clk(l1clk),
1943 .siclk(siclk),
1944 .soclk(soclk)
1945);
1946
1947tlu_ras_ctl_msff_ctl_macro__width_8 irf1_ecc_check_b_lat (
1948 .scan_in(irf1_ecc_check_b_lat_scanin),
1949 .scan_out(irf1_ecc_check_b_lat_scanout),
1950 .din (exu1_ecc_check_m [7:0] ),
1951 .dout (irf1_ecc_check_b [7:0] ),
1952 .l1clk(l1clk),
1953 .siclk(siclk),
1954 .soclk(soclk)
1955);
1956
1957
1958
1959//////////////////////////////////////////////////////////////////////////////
1960//
1961// Flop in-pipe errors from B to W
1962//
1963
1964tlu_ras_ctl_msff_ctl_macro__width_3 i_isfsr1_w_lat (
1965 .scan_in(i_isfsr1_w_lat_scanin),
1966 .scan_out(i_isfsr1_w_lat_scanout),
1967 .l1clk (l1clk_pm1 ),
1968 .din (i_isfsr1_b [2:0] ),
1969 .dout (i_isfsr1_w [2:0] ),
1970 .siclk(siclk),
1971 .soclk(soclk)
1972);
1973
1974tlu_ras_ctl_msff_ctl_macro__width_3 i_isfsr0_w_lat (
1975 .scan_in(i_isfsr0_w_lat_scanin),
1976 .scan_out(i_isfsr0_w_lat_scanout),
1977 .l1clk (l1clk_pm1 ),
1978 .din (i_isfsr0_b [2:0] ),
1979 .dout (i_isfsr0_w [2:0] ),
1980 .siclk(siclk),
1981 .soclk(soclk)
1982);
1983
1984tlu_ras_ctl_msff_ctl_macro__width_4 i_desr1_w_lat (
1985 .scan_in(i_desr1_w_lat_scanin),
1986 .scan_out(i_desr1_w_lat_scanout),
1987 .l1clk (l1clk_pm1 ),
1988 .din (i_desr1_b [3:0] ),
1989 .dout (i_desr1_w [3:0] ),
1990 .siclk(siclk),
1991 .soclk(soclk)
1992);
1993
1994tlu_ras_ctl_msff_ctl_macro__width_4 i_desr0_w_lat (
1995 .scan_in(i_desr0_w_lat_scanin),
1996 .scan_out(i_desr0_w_lat_scanout),
1997 .l1clk (l1clk_pm1 ),
1998 .din (i_desr0_b [3:0] ),
1999 .dout (i_desr0_w [3:0] ),
2000 .siclk(siclk),
2001 .soclk(soclk)
2002);
2003
2004
2005//
2006// Encodings for DSFSR errors
2007// irfu 0001 1
2008// irfc 0010 2
2009// frfu 0011 3
2010// frfc 0100 4
2011// dtmh 0001 1
2012// dttp 0010 2
2013// dtdp 0011 3
2014
2015assign irfu_b[1:0] =
2016 fls_irf_uecc_b[1:0] & inst_valid_b[1:0];
2017assign irfc_b[1:0] =
2018 fls_irf_cecc_b[1:0] & inst_valid_b[1:0];
2019
2020assign dtmh_b[1:0] =
2021 ~irfu_b[1:0] & ~irfc_b[1:0] &
2022 {2 {lsu_dtmh_err_b}} &
2023 lsu_inst_b[1:0] & inst_valid_b[1:0];
2024assign dttp_b[1:0] =
2025 ~irfu_b[1:0] & ~irfc_b[1:0] &
2026 {2 {~lsu_dtmh_err_b & lsu_dttp_err_b}} & lsu_inst_b[1:0] &
2027 inst_valid_b[1:0];
2028assign dtdp_b[1:0] =
2029 ~irfu_b[1:0] & ~irfc_b[1:0] &
2030 {2 {~lsu_dttp_err_b & ~lsu_dtmh_err_b & lsu_dtdp_err_b}} &
2031 lsu_inst_b[1:0] & inst_valid_b[1:0];
2032
2033tlu_ras_ctl_msff_ctl_macro__width_2 irfu_w_lat (
2034 .scan_in(irfu_w_lat_scanin),
2035 .scan_out(irfu_w_lat_scanout),
2036 .l1clk (l1clk_pm1 ),
2037 .din (irfu_b [1:0] ),
2038 .dout (pirfu_w [1:0] ),
2039 .siclk(siclk),
2040 .soclk(soclk)
2041);
2042
2043assign irfu_w[1:0] =
2044 pirfu_w[1:0] & ~fls_kill_irf_ecc_w[1:0];
2045
2046tlu_ras_ctl_msff_ctl_macro__width_2 irfc_w_lat (
2047 .scan_in(irfc_w_lat_scanin),
2048 .scan_out(irfc_w_lat_scanout),
2049 .l1clk (l1clk_pm1 ),
2050 .din (irfc_b [1:0] ),
2051 .dout (pirfc_w [1:0] ),
2052 .siclk(siclk),
2053 .soclk(soclk)
2054);
2055
2056assign irfc_w[1:0] =
2057 pirfc_w[1:0] & ~fls_kill_irf_ecc_w[1:0];
2058
2059assign pfrfu_w[1:0] =
2060 {2 {fls_f_uecc_w}} & fgu_inst_w[1:0];
2061
2062assign pfrfc_w[1:0] =
2063 {2 {fls_f_cecc_w}} & fgu_inst_w[1:0];
2064
2065assign frfu_w[1:0] =
2066 pfrfu_w[1:0] &
2067 ((inst_valid_w[1:0] &
2068 ~irfu_w[1:0] & ~irfc_w[1:0]) |
2069 {| block_store_w[7:4], | block_store_w[3:0]});
2070
2071assign frfc_w[1:0] =
2072 pfrfc_w[1:0] &
2073 ((inst_valid_w[1:0] &
2074 ~irfu_w[1:0] & ~irfc_w[1:0]) |
2075 {| block_store_w[7:4], | block_store_w[3:0]});
2076
2077
2078// Only capture first FGU ECC error on block store
2079assign seen_bsee_in =
2080 (| ((pfrfu_w[1:0] | pfrfc_w[1:0]) &
2081 {| block_store_w[7:4], | block_store_w[3:0]})) |
2082 (seen_bsee & (| pblock_store_w[7:0]));
2083
2084tlu_ras_ctl_msff_ctl_macro__width_1 seen_bsee_lat (
2085 .scan_in(seen_bsee_lat_scanin),
2086 .scan_out(seen_bsee_lat_scanout),
2087 .din (seen_bsee_in ),
2088 .dout (seen_bsee ),
2089 .l1clk(l1clk),
2090 .siclk(siclk),
2091 .soclk(soclk)
2092);
2093
2094
2095tlu_ras_ctl_msff_ctl_macro__width_2 dttp_w_lat (
2096 .scan_in(dttp_w_lat_scanin),
2097 .scan_out(dttp_w_lat_scanout),
2098 .l1clk (l1clk_pm1 ),
2099 .din (dttp_b [1:0] ),
2100 .dout (pdttp_w [1:0] ),
2101 .siclk(siclk),
2102 .soclk(soclk)
2103);
2104
2105assign dttp_w[1:0] =
2106 pdttp_w[1:0] & ~pfrfc_w[1:0] & ~pfrfu_w[1:0];
2107
2108tlu_ras_ctl_msff_ctl_macro__width_2 dtmh_w_lat (
2109 .scan_in(dtmh_w_lat_scanin),
2110 .scan_out(dtmh_w_lat_scanout),
2111 .l1clk (l1clk_pm1 ),
2112 .din (dtmh_b [1:0] ),
2113 .dout (pdtmh_w [1:0] ),
2114 .siclk(siclk),
2115 .soclk(soclk)
2116);
2117
2118assign dtmh_w[1:0] =
2119 pdtmh_w[1:0] & ~pfrfc_w[1:0] & ~pfrfu_w[1:0];
2120
2121tlu_ras_ctl_msff_ctl_macro__width_2 dtdp_w_lat (
2122 .scan_in(dtdp_w_lat_scanin),
2123 .scan_out(dtdp_w_lat_scanout),
2124 .l1clk (l1clk_pm1 ),
2125 .din (dtdp_b [1:0] ),
2126 .dout (pdtdp_w [1:0] ),
2127 .siclk(siclk),
2128 .soclk(soclk)
2129);
2130
2131assign dtdp_w[1:0] =
2132 pdtdp_w[1:0] & ~pfrfc_w[1:0] & ~pfrfu_w[1:0];
2133
2134tlu_ras_ctl_msff_ctl_macro__width_5 irf0_ecc_addr_w_lat (
2135 .scan_in(irf0_ecc_addr_w_lat_scanin),
2136 .scan_out(irf0_ecc_addr_w_lat_scanout),
2137 .l1clk (l1clk_pm1 ),
2138 .din (irf0_ecc_addr_b [4:0] ),
2139 .dout (irf0_ecc_addr_w [4:0] ),
2140 .siclk(siclk),
2141 .soclk(soclk)
2142);
2143
2144tlu_ras_ctl_msff_ctl_macro__width_5 irf1_ecc_addr_w_lat (
2145 .scan_in(irf1_ecc_addr_w_lat_scanin),
2146 .scan_out(irf1_ecc_addr_w_lat_scanout),
2147 .l1clk (l1clk_pm1 ),
2148 .din (irf1_ecc_addr_b [4:0] ),
2149 .dout (irf1_ecc_addr_w [4:0] ),
2150 .siclk(siclk),
2151 .soclk(soclk)
2152);
2153
2154tlu_ras_ctl_msff_ctl_macro__width_8 irf0_ecc_check_w_lat (
2155 .scan_in(irf0_ecc_check_w_lat_scanin),
2156 .scan_out(irf0_ecc_check_w_lat_scanout),
2157 .l1clk (l1clk_pm1 ),
2158 .din (irf0_ecc_check_b [7:0] ),
2159 .dout (irf0_ecc_check_w [7:0] ),
2160 .siclk(siclk),
2161 .soclk(soclk)
2162);
2163
2164tlu_ras_ctl_msff_ctl_macro__width_8 irf1_ecc_check_w_lat (
2165 .scan_in(irf1_ecc_check_w_lat_scanin),
2166 .scan_out(irf1_ecc_check_w_lat_scanout),
2167 .l1clk (l1clk_pm1 ),
2168 .din (irf1_ecc_check_b [7:0] ),
2169 .dout (irf1_ecc_check_w [7:0] ),
2170 .siclk(siclk),
2171 .soclk(soclk)
2172);
2173
2174tlu_ras_ctl_msff_ctl_macro__width_6 frf_ecc_addr_w_lat (
2175 .scan_in(frf_ecc_addr_w_lat_scanin),
2176 .scan_out(frf_ecc_addr_w_lat_scanout),
2177 .din (fgu_ecc_addr_fx2 [5:0] ),
2178 .dout (frf_ecc_addr_w [5:0] ),
2179 .l1clk(l1clk),
2180 .siclk(siclk),
2181 .soclk(soclk)
2182);
2183
2184tlu_ras_ctl_msff_ctl_macro__width_14 frf_ecc_check_w_lat (
2185 .scan_in(frf_ecc_check_w_lat_scanin),
2186 .scan_out(frf_ecc_check_w_lat_scanout),
2187 .din (fgu_ecc_check_fx2 [13:0] ),
2188 .dout (frf_ecc_check_w [13:0] ),
2189 .l1clk(l1clk),
2190 .siclk(siclk),
2191 .soclk(soclk)
2192);
2193
2194
2195
2196// Decode in-pipe errors at W
2197
2198assign pipe_isfsr_7[2:0] =
2199 i_isfsr1_w[2:0] & {3 {tid_dec_w[7]}};
2200assign pipe_isfsr_6[2:0] =
2201 i_isfsr1_w[2:0] & {3 {tid_dec_w[6]}};
2202assign pipe_isfsr_5[2:0] =
2203 i_isfsr1_w[2:0] & {3 {tid_dec_w[5]}};
2204assign pipe_isfsr_4[2:0] =
2205 i_isfsr1_w[2:0] & {3 {tid_dec_w[4]}};
2206assign pipe_isfsr_3[2:0] =
2207 i_isfsr0_w[2:0] & {3 {tid_dec_w[3]}};
2208assign pipe_isfsr_2[2:0] =
2209 i_isfsr0_w[2:0] & {3 {tid_dec_w[2]}};
2210assign pipe_isfsr_1[2:0] =
2211 i_isfsr0_w[2:0] & {3 {tid_dec_w[1]}};
2212assign pipe_isfsr_0[2:0] =
2213 i_isfsr0_w[2:0] & {3 {tid_dec_w[0]}};
2214
2215assign pipe_dsfsr1_w[2:0] =
2216 (({3 {irfu_w[1]}} & 3'b001) |
2217 ({3 {irfc_w[1]}} & 3'b010) |
2218 ({3 {frfu_w[1]}} & 3'b011) |
2219 ({3 {frfc_w[1]}} & 3'b100) |
2220 ({3 {dtmh_w[1]}} & 3'b001) |
2221 ({3 {dttp_w[1]}} & 3'b010) |
2222 ({3 {dtdp_w[1]}} & 3'b011) ) &
2223 {3 {fls_ipe_dme_request[1] | (| block_store_w[7:4])}};
2224
2225assign pipe_dsfsr0_w[2:0] =
2226 (({3 {irfu_w[0]}} & 3'b001) |
2227 ({3 {irfc_w[0]}} & 3'b010) |
2228 ({3 {frfu_w[0]}} & 3'b011) |
2229 ({3 {frfc_w[0]}} & 3'b100) |
2230 ({3 {dtmh_w[0]}} & 3'b001) |
2231 ({3 {dttp_w[0]}} & 3'b010) |
2232 ({3 {dtdp_w[0]}} & 3'b011) ) &
2233 {3 {fls_ipe_dme_request[0] | (| block_store_w[3:0])}};
2234
2235assign gl1_w[1:0] =
2236 (trl_gl7[1:0] & {2 {tid_dec_w[7]}}) |
2237 (trl_gl6[1:0] & {2 {tid_dec_w[6]}}) |
2238 (trl_gl5[1:0] & {2 {tid_dec_w[5]}}) |
2239 (trl_gl4[1:0] & {2 {tid_dec_w[4]}}) ;
2240
2241assign gl0_w[1:0] =
2242 (trl_gl3[1:0] & {2 {tid_dec_w[3]}}) |
2243 (trl_gl2[1:0] & {2 {tid_dec_w[2]}}) |
2244 (trl_gl1[1:0] & {2 {tid_dec_w[1]}}) |
2245 (trl_gl0[1:0] & {2 {tid_dec_w[0]}}) ;
2246
2247assign pipe_dsfar1_w[19:0] =
2248 (({20 {irfu_w[1] | irfc_w[1]}} &
2249 {{5 {1'b0}}, irf1_ecc_check_w[7:0], gl1_w[1:0],
2250 irf1_ecc_addr_w[4:0]}) |
2251 ({20 {frfu_w[1] | frfc_w[1]}} &
2252 {frf_ecc_check_w[13:0], frf_ecc_addr_w[5:0]})) &
2253 {20 {(| tid_dec_w[7:4]) &
2254 (fls_ipe_dme_request[1] | (| block_store_w[7:4]))}};
2255
2256assign pipe_dsfar0_w[19:0] =
2257 (({20 {irfu_w[0] | irfc_w[0]}} &
2258 {{5 {1'b0}}, irf0_ecc_check_w[7:0], gl0_w[1:0],
2259 irf0_ecc_addr_w[4:0]}) |
2260 ({20 {frfu_w[0] | frfc_w[0]}} &
2261 {frf_ecc_check_w[13:0], frf_ecc_addr_w[5:0]})) &
2262 {20 {(| tid_dec_w[3:0]) &
2263 (fls_ipe_dme_request[0] | (| block_store_w[3:0]))}};
2264
2265// Carry pipe DSFSR errors out one more cycle so they only update DSFSR/DSFAR
2266// if they are the highest priority exceptions
2267
2268assign ecc_w[1:0] =
2269 irfu_w[1:0] | irfc_w[1:0] | frfu_w[1:0] | frfc_w[1:0];
2270
2271tlu_ras_ctl_msff_ctl_macro__width_2 ecc_w1_lat (
2272 .scan_in(ecc_w1_lat_scanin),
2273 .scan_out(ecc_w1_lat_scanout),
2274 .din (ecc_w [1:0] ),
2275 .dout (ecc_w1 [1:0] ),
2276 .l1clk(l1clk),
2277 .siclk(siclk),
2278 .soclk(soclk)
2279);
2280
2281assign tid1_w1_in[1:0] =
2282 (tid1_w[1:0] & ~{2 {| block_store_w[7:4]}}) |
2283 {block_store_w[7] | block_store_w[6],
2284 block_store_w[7] | block_store_w[5]};
2285
2286tlu_ras_ctl_msff_ctl_macro__width_2 tid1_w1_lat (
2287 .scan_in(tid1_w1_lat_scanin),
2288 .scan_out(tid1_w1_lat_scanout),
2289 .l1clk (l1clk_pm1 ),
2290 .din (tid1_w1_in [1:0] ),
2291 .dout (tid1_w1 [1:0] ),
2292 .siclk(siclk),
2293 .soclk(soclk)
2294);
2295
2296assign tid0_w1_in[1:0] =
2297 (tid0_w[1:0] & ~{2 {| block_store_w[3:0]}}) |
2298 {block_store_w[3] | block_store_w[2],
2299 block_store_w[3] | block_store_w[1]};
2300
2301tlu_ras_ctl_msff_ctl_macro__width_2 tid0_w1_lat (
2302 .scan_in(tid0_w1_lat_scanin),
2303 .scan_out(tid0_w1_lat_scanout),
2304 .l1clk (l1clk_pm1 ),
2305 .din (tid0_w1_in [1:0] ),
2306 .dout (tid0_w1 [1:0] ),
2307 .siclk(siclk),
2308 .soclk(soclk)
2309);
2310
2311tlu_ras_ctl_msff_ctl_macro__width_3 pipe_dsfsr1_lat (
2312 .scan_in(pipe_dsfsr1_lat_scanin),
2313 .scan_out(pipe_dsfsr1_lat_scanout),
2314 .din (pipe_dsfsr1_w [2:0] ),
2315 .dout (pipe_dsfsr1 [2:0] ),
2316 .l1clk(l1clk),
2317 .siclk(siclk),
2318 .soclk(soclk)
2319);
2320
2321tlu_ras_ctl_msff_ctl_macro__width_3 pipe_dsfsr0_lat (
2322 .scan_in(pipe_dsfsr0_lat_scanin),
2323 .scan_out(pipe_dsfsr0_lat_scanout),
2324 .din (pipe_dsfsr0_w [2:0] ),
2325 .dout (pipe_dsfsr0 [2:0] ),
2326 .l1clk(l1clk),
2327 .siclk(siclk),
2328 .soclk(soclk)
2329);
2330
2331tlu_ras_ctl_msff_ctl_macro__width_20 pipe_dsfar1_lat (
2332 .scan_in(pipe_dsfar1_lat_scanin),
2333 .scan_out(pipe_dsfar1_lat_scanout),
2334 .din (pipe_dsfar1_w [19:0] ),
2335 .dout (pipe_dsfar1 [19:0] ),
2336 .l1clk(l1clk),
2337 .siclk(siclk),
2338 .soclk(soclk)
2339);
2340
2341tlu_ras_ctl_msff_ctl_macro__width_20 pipe_dsfar0_lat (
2342 .scan_in(pipe_dsfar0_lat_scanin),
2343 .scan_out(pipe_dsfar0_lat_scanout),
2344 .din (pipe_dsfar0_w [19:0] ),
2345 .dout (pipe_dsfar0 [19:0] ),
2346 .l1clk(l1clk),
2347 .siclk(siclk),
2348 .soclk(soclk)
2349);
2350
2351assign tid_dec_w1[7:0] =
2352 { tid1_w1[1] & tid1_w1[0],
2353 tid1_w1[1] & ~tid1_w1[0],
2354 ~tid1_w1[1] & tid1_w1[0],
2355 ~tid1_w1[1] & ~tid1_w1[0],
2356 tid0_w1[1] & tid0_w1[0],
2357 tid0_w1[1] & ~tid0_w1[0],
2358 ~tid0_w1[1] & tid0_w1[0],
2359 ~tid0_w1[1] & ~tid0_w1[0]};
2360
2361
2362
2363assign pipe_dsfsr_7[2:0] =
2364 pipe_dsfsr1[2:0] & {3 {tid_dec_w1[7]}};
2365assign pipe_dsfsr_6[2:0] =
2366 pipe_dsfsr1[2:0] & {3 {tid_dec_w1[6]}};
2367assign pipe_dsfsr_5[2:0] =
2368 pipe_dsfsr1[2:0] & {3 {tid_dec_w1[5]}};
2369assign pipe_dsfsr_4[2:0] =
2370 pipe_dsfsr1[2:0] & {3 {tid_dec_w1[4]}};
2371assign pipe_dsfsr_3[2:0] =
2372 pipe_dsfsr0[2:0] & {3 {tid_dec_w1[3]}};
2373assign pipe_dsfsr_2[2:0] =
2374 pipe_dsfsr0[2:0] & {3 {tid_dec_w1[2]}};
2375assign pipe_dsfsr_1[2:0] =
2376 pipe_dsfsr0[2:0] & {3 {tid_dec_w1[1]}};
2377assign pipe_dsfsr_0[2:0] =
2378 pipe_dsfsr0[2:0] & {3 {tid_dec_w1[0]}};
2379
2380assign pipe_dsfar_7[19:0] =
2381 {20 {ecc_w1[1] & tid_dec_w1[7]}} & pipe_dsfar1[19:0];
2382assign pipe_dsfar_6[19:0] =
2383 {20 {ecc_w1[1] & tid_dec_w1[6]}} & pipe_dsfar1[19:0];
2384assign pipe_dsfar_5[19:0] =
2385 {20 {ecc_w1[1] & tid_dec_w1[5]}} & pipe_dsfar1[19:0];
2386assign pipe_dsfar_4[19:0] =
2387 {20 {ecc_w1[1] & tid_dec_w1[4]}} & pipe_dsfar1[19:0];
2388assign pipe_dsfar_3[19:0] =
2389 {20 {ecc_w1[0] & tid_dec_w1[3]}} & pipe_dsfar0[19:0];
2390assign pipe_dsfar_2[19:0] =
2391 {20 {ecc_w1[0] & tid_dec_w1[2]}} & pipe_dsfar0[19:0];
2392assign pipe_dsfar_1[19:0] =
2393 {20 {ecc_w1[0] & tid_dec_w1[1]}} & pipe_dsfar0[19:0];
2394assign pipe_dsfar_0[19:0] =
2395 {20 {ecc_w1[0] & tid_dec_w1[0]}} & pipe_dsfar0[19:0];
2396
2397assign dsfar_sel_lsu_va_for_error[7:0] =
2398 ({{4 {~ecc_w1[1] & (| pipe_dsfsr1[2:0])}},
2399 {4 {~ecc_w1[0] & (| pipe_dsfsr0[2:0])}}} & tid_dec_w1[7:0]) ;
2400
2401tlu_ras_ctl_msff_ctl_macro__width_8 load_dsfar_lat (
2402 .scan_in(load_dsfar_lat_scanin),
2403 .scan_out(load_dsfar_lat_scanout),
2404 .din (fls_load_dsfar [7:0] ),
2405 .dout (load_dsfar [7:0] ),
2406 .l1clk(l1clk),
2407 .siclk(siclk),
2408 .soclk(soclk)
2409);
2410
2411assign ras_dsfar_sel_lsu_va[7:0] =
2412 dsfar_sel_lsu_va_for_error[7:0] |
2413 load_dsfar[7:0];
2414
2415// Update DESR in W1
2416
2417assign i_desr1_w1_in[3:0] =
2418 i_desr1_w[3:0] & {4 {| tid_dec_w[7:4]}};
2419
2420assign i_desr0_w1_in[3:0] =
2421 i_desr0_w[3:0] & {4 {| tid_dec_w[3:0]}};
2422
2423tlu_ras_ctl_msff_ctl_macro__width_4 i_desr1_w1_lat (
2424 .scan_in(i_desr1_w1_lat_scanin),
2425 .scan_out(i_desr1_w1_lat_scanout),
2426 .l1clk (l1clk_pm1 ),
2427 .din (i_desr1_w1_in [3:0] ),
2428 .dout (i_desr1_w1 [3:0] ),
2429 .siclk(siclk),
2430 .soclk(soclk)
2431);
2432
2433tlu_ras_ctl_msff_ctl_macro__width_4 i_desr0_w1_lat (
2434 .scan_in(i_desr0_w1_lat_scanin),
2435 .scan_out(i_desr0_w1_lat_scanout),
2436 .l1clk (l1clk_pm1 ),
2437 .din (i_desr0_w1_in [3:0] ),
2438 .dout (i_desr0_w1 [3:0] ),
2439 .siclk(siclk),
2440 .soclk(soclk)
2441);
2442
2443assign pipe_desr_et_7[5:0] =
2444 {i_desr1_w1[3], 2'b00, i_desr1_w1[2:0]} & {6 {tid_dec_w1[7]}};
2445assign pipe_desr_et_6[5:0] =
2446 {i_desr1_w1[3], 2'b00, i_desr1_w1[2:0]} & {6 {tid_dec_w1[6]}};
2447assign pipe_desr_et_5[5:0] =
2448 {i_desr1_w1[3], 2'b00, i_desr1_w1[2:0]} & {6 {tid_dec_w1[5]}};
2449assign pipe_desr_et_4[5:0] =
2450 {i_desr1_w1[3], 2'b00, i_desr1_w1[2:0]} & {6 {tid_dec_w1[4]}};
2451assign pipe_desr_et_3[5:0] =
2452 {i_desr0_w1[3], 2'b00, i_desr0_w1[2:0]} & {6 {tid_dec_w1[3]}};
2453assign pipe_desr_et_2[5:0] =
2454 {i_desr0_w1[3], 2'b00, i_desr0_w1[2:0]} & {6 {tid_dec_w1[2]}};
2455assign pipe_desr_et_1[5:0] =
2456 {i_desr0_w1[3], 2'b00, i_desr0_w1[2:0]} & {6 {tid_dec_w1[1]}};
2457assign pipe_desr_et_0[5:0] =
2458 {i_desr0_w1[3], 2'b00, i_desr0_w1[2:0]} & {6 {tid_dec_w1[0]}};
2459
2460
2461// Hold exception way
2462tlu_ras_ctl_msff_ctl_macro__width_7 excp_way_lat (
2463 .scan_in(excp_way_lat_scanin),
2464 .scan_out(excp_way_lat_scanout),
2465 .din ({ftu_excp_tid_d [2:0],
2466 ftu_excp_way_d [2:0],
2467 ftu_excp_way_valid_d }),
2468 .dout ({excp_tid [2:0],
2469 excp_way [2:0],
2470 excp_way_valid }),
2471 .l1clk(l1clk),
2472 .siclk(siclk),
2473 .soclk(soclk)
2474);
2475
2476assign sel_ftu_excp_way[7:0] =
2477 {(excp_tid[2:0] == 3'b111) & excp_way_valid,
2478 (excp_tid[2:0] == 3'b110) & excp_way_valid,
2479 (excp_tid[2:0] == 3'b101) & excp_way_valid,
2480 (excp_tid[2:0] == 3'b100) & excp_way_valid,
2481 (excp_tid[2:0] == 3'b011) & excp_way_valid,
2482 (excp_tid[2:0] == 3'b010) & excp_way_valid,
2483 (excp_tid[2:0] == 3'b001) & excp_way_valid,
2484 (excp_tid[2:0] == 3'b000) & excp_way_valid};
2485
2486assign ic_way7_in[2:0] =
2487 (excp_way[2:0] & {3 { sel_ftu_excp_way[7]}}) |
2488 (ic_way7 [2:0] & {3 {~sel_ftu_excp_way[7]}}) ;
2489
2490assign ic_way6_in[2:0] =
2491 (excp_way[2:0] & {3 { sel_ftu_excp_way[6]}}) |
2492 (ic_way6 [2:0] & {3 {~sel_ftu_excp_way[6]}}) ;
2493
2494assign ic_way5_in[2:0] =
2495 (excp_way[2:0] & {3 { sel_ftu_excp_way[5]}}) |
2496 (ic_way5 [2:0] & {3 {~sel_ftu_excp_way[5]}}) ;
2497
2498assign ic_way4_in[2:0] =
2499 (excp_way[2:0] & {3 { sel_ftu_excp_way[4]}}) |
2500 (ic_way4 [2:0] & {3 {~sel_ftu_excp_way[4]}}) ;
2501
2502assign ic_way3_in[2:0] =
2503 (excp_way[2:0] & {3 { sel_ftu_excp_way[3]}}) |
2504 (ic_way3 [2:0] & {3 {~sel_ftu_excp_way[3]}}) ;
2505
2506assign ic_way2_in[2:0] =
2507 (excp_way[2:0] & {3 { sel_ftu_excp_way[2]}}) |
2508 (ic_way2 [2:0] & {3 {~sel_ftu_excp_way[2]}}) ;
2509
2510assign ic_way1_in[2:0] =
2511 (excp_way[2:0] & {3 { sel_ftu_excp_way[1]}}) |
2512 (ic_way1 [2:0] & {3 {~sel_ftu_excp_way[1]}}) ;
2513
2514assign ic_way0_in[2:0] =
2515 (excp_way[2:0] & {3 { sel_ftu_excp_way[0]}}) |
2516 (ic_way0 [2:0] & {3 {~sel_ftu_excp_way[0]}}) ;
2517
2518tlu_ras_ctl_msff_ctl_macro__width_3 ic_way7_lat (
2519 .scan_in(ic_way7_lat_scanin),
2520 .scan_out(ic_way7_lat_scanout),
2521 .l1clk (l1clk_pm2 ),
2522 .din (ic_way7_in [2:0] ),
2523 .dout (ic_way7 [2:0] ),
2524 .siclk(siclk),
2525 .soclk(soclk)
2526);
2527
2528tlu_ras_ctl_msff_ctl_macro__width_3 ic_way6_lat (
2529 .scan_in(ic_way6_lat_scanin),
2530 .scan_out(ic_way6_lat_scanout),
2531 .l1clk (l1clk_pm2 ),
2532 .din (ic_way6_in [2:0] ),
2533 .dout (ic_way6 [2:0] ),
2534 .siclk(siclk),
2535 .soclk(soclk)
2536);
2537
2538tlu_ras_ctl_msff_ctl_macro__width_3 ic_way5_lat (
2539 .scan_in(ic_way5_lat_scanin),
2540 .scan_out(ic_way5_lat_scanout),
2541 .l1clk (l1clk_pm2 ),
2542 .din (ic_way5_in [2:0] ),
2543 .dout (ic_way5 [2:0] ),
2544 .siclk(siclk),
2545 .soclk(soclk)
2546);
2547
2548tlu_ras_ctl_msff_ctl_macro__width_3 ic_way4_lat (
2549 .scan_in(ic_way4_lat_scanin),
2550 .scan_out(ic_way4_lat_scanout),
2551 .l1clk (l1clk_pm2 ),
2552 .din (ic_way4_in [2:0] ),
2553 .dout (ic_way4 [2:0] ),
2554 .siclk(siclk),
2555 .soclk(soclk)
2556);
2557
2558tlu_ras_ctl_msff_ctl_macro__width_3 ic_way3_lat (
2559 .scan_in(ic_way3_lat_scanin),
2560 .scan_out(ic_way3_lat_scanout),
2561 .l1clk (l1clk_pm2 ),
2562 .din (ic_way3_in [2:0] ),
2563 .dout (ic_way3 [2:0] ),
2564 .siclk(siclk),
2565 .soclk(soclk)
2566);
2567
2568tlu_ras_ctl_msff_ctl_macro__width_3 ic_way2_lat (
2569 .scan_in(ic_way2_lat_scanin),
2570 .scan_out(ic_way2_lat_scanout),
2571 .l1clk (l1clk_pm2 ),
2572 .din (ic_way2_in [2:0] ),
2573 .dout (ic_way2 [2:0] ),
2574 .siclk(siclk),
2575 .soclk(soclk)
2576);
2577
2578tlu_ras_ctl_msff_ctl_macro__width_3 ic_way1_lat (
2579 .scan_in(ic_way1_lat_scanin),
2580 .scan_out(ic_way1_lat_scanout),
2581 .l1clk (l1clk_pm2 ),
2582 .din (ic_way1_in [2:0] ),
2583 .dout (ic_way1 [2:0] ),
2584 .siclk(siclk),
2585 .soclk(soclk)
2586);
2587
2588tlu_ras_ctl_msff_ctl_macro__width_3 ic_way0_lat (
2589 .scan_in(ic_way0_lat_scanin),
2590 .scan_out(ic_way0_lat_scanout),
2591 .l1clk (l1clk_pm2 ),
2592 .din (ic_way0_in [2:0] ),
2593 .dout (ic_way0 [2:0] ),
2594 .siclk(siclk),
2595 .soclk(soclk)
2596);
2597
2598// Hold pipe DESR address to W1
2599tlu_ras_ctl_msff_ctl_macro__width_6 pc_1_w1_lat (
2600 .scan_in(pc_1_w1_lat_scanin),
2601 .scan_out(pc_1_w1_lat_scanout),
2602 .l1clk (l1clk_pm1 ),
2603 .din (tsd_pc_1_w [10:5] ),
2604 .dout (pc_1_w1 [10:5] ),
2605 .siclk(siclk),
2606 .soclk(soclk)
2607);
2608
2609tlu_ras_ctl_msff_ctl_macro__width_6 pc_0_w1_lat (
2610 .scan_in(pc_0_w1_lat_scanin),
2611 .scan_out(pc_0_w1_lat_scanout),
2612 .l1clk (l1clk_pm1 ),
2613 .din (tsd_pc_0_w [10:5] ),
2614 .dout (pc_0_w1 [10:5] ),
2615 .siclk(siclk),
2616 .soclk(soclk)
2617);
2618
2619
2620// Force ea to zero for icl2c
2621assign pipe_desr_ea_7[8:0] =
2622 {ic_way7[2:0], pc_1_w1[10:5]} &
2623 {9 {(| pipe_desr_et_7[2:0]) & ~pipe_desr_et_7[5]}};
2624assign pipe_desr_ea_6[8:0] =
2625 {ic_way6[2:0], pc_1_w1[10:5]} &
2626 {9 {(| pipe_desr_et_6[2:0]) & ~pipe_desr_et_6[5]}};
2627assign pipe_desr_ea_5[8:0] =
2628 {ic_way5[2:0], pc_1_w1[10:5]} &
2629 {9 {(| pipe_desr_et_5[2:0]) & ~pipe_desr_et_5[5]}};
2630assign pipe_desr_ea_4[8:0] =
2631 {ic_way4[2:0], pc_1_w1[10:5]} &
2632 {9 {(| pipe_desr_et_4[2:0]) & ~pipe_desr_et_4[5]}};
2633assign pipe_desr_ea_3[8:0] =
2634 {ic_way3[2:0], pc_0_w1[10:5]} &
2635 {9 {(| pipe_desr_et_3[2:0]) & ~pipe_desr_et_3[5]}};
2636assign pipe_desr_ea_2[8:0] =
2637 {ic_way2[2:0], pc_0_w1[10:5]} &
2638 {9 {(| pipe_desr_et_2[2:0]) & ~pipe_desr_et_2[5]}};
2639assign pipe_desr_ea_1[8:0] =
2640 {ic_way1[2:0], pc_0_w1[10:5]} &
2641 {9 {(| pipe_desr_et_1[2:0]) & ~pipe_desr_et_1[5]}};
2642assign pipe_desr_ea_0[8:0] =
2643 {ic_way0[2:0], pc_0_w1[10:5]} &
2644 {9 {(| pipe_desr_et_0[2:0]) & ~pipe_desr_et_0[5]}};
2645
2646
2647
2648//////////////////////////////////////////////////////////////////////////////
2649//
2650// Handle out-of-pipe errors (flop, decode, and record)
2651//
2652
2653//
2654// Incoming encoding
2655// i/dtmu 101
2656// i/dtl2c 001
2657// i/dtl2u 010
2658// i/dtl2nd 011
2659//
2660// ISFSR encodings
2661// itmu 100
2662// itl2u 101
2663// itl2nd 110
2664//
2665// DSFSR encodings
2666// dtmu 100
2667// dtl2u 101
2668// dtl2nd 110
2669//
2670// DESR encodings
2671// itl2c 001
2672// dtl2c 011
2673// Both have S = 1
2674
2675assign itmu_7 = mmu_i_eccerr[7] & (mmu_thr7_err_type[2 ] == 1'b1 );
2676assign itmu_6 = mmu_i_eccerr[6] & (mmu_thr6_err_type[2 ] == 1'b1 );
2677assign itmu_5 = mmu_i_eccerr[5] & (mmu_thr5_err_type[2 ] == 1'b1 );
2678assign itmu_4 = mmu_i_eccerr[4] & (mmu_thr4_err_type[2 ] == 1'b1 );
2679assign itmu_3 = mmu_i_eccerr[3] & (mmu_thr3_err_type[2 ] == 1'b1 );
2680assign itmu_2 = mmu_i_eccerr[2] & (mmu_thr2_err_type[2 ] == 1'b1 );
2681assign itmu_1 = mmu_i_eccerr[1] & (mmu_thr1_err_type[2 ] == 1'b1 );
2682assign itmu_0 = mmu_i_eccerr[0] & (mmu_thr0_err_type[2 ] == 1'b1 );
2683
2684assign itl2u_7 = mmu_i_eccerr[7] & (mmu_thr7_err_type[2:0] == 3'b010 );
2685assign itl2u_6 = mmu_i_eccerr[6] & (mmu_thr6_err_type[2:0] == 3'b010 );
2686assign itl2u_5 = mmu_i_eccerr[5] & (mmu_thr5_err_type[2:0] == 3'b010 );
2687assign itl2u_4 = mmu_i_eccerr[4] & (mmu_thr4_err_type[2:0] == 3'b010 );
2688assign itl2u_3 = mmu_i_eccerr[3] & (mmu_thr3_err_type[2:0] == 3'b010 );
2689assign itl2u_2 = mmu_i_eccerr[2] & (mmu_thr2_err_type[2:0] == 3'b010 );
2690assign itl2u_1 = mmu_i_eccerr[1] & (mmu_thr1_err_type[2:0] == 3'b010 );
2691assign itl2u_0 = mmu_i_eccerr[0] & (mmu_thr0_err_type[2:0] == 3'b010 );
2692
2693assign itl2nd_7 = mmu_i_eccerr[7] & (mmu_thr7_err_type[2:0] == 3'b011 );
2694assign itl2nd_6 = mmu_i_eccerr[6] & (mmu_thr6_err_type[2:0] == 3'b011 );
2695assign itl2nd_5 = mmu_i_eccerr[5] & (mmu_thr5_err_type[2:0] == 3'b011 );
2696assign itl2nd_4 = mmu_i_eccerr[4] & (mmu_thr4_err_type[2:0] == 3'b011 );
2697assign itl2nd_3 = mmu_i_eccerr[3] & (mmu_thr3_err_type[2:0] == 3'b011 );
2698assign itl2nd_2 = mmu_i_eccerr[2] & (mmu_thr2_err_type[2:0] == 3'b011 );
2699assign itl2nd_1 = mmu_i_eccerr[1] & (mmu_thr1_err_type[2:0] == 3'b011 );
2700assign itl2nd_0 = mmu_i_eccerr[0] & (mmu_thr0_err_type[2:0] == 3'b011 );
2701
2702
2703assign m_isfsr_7[2:0] =
2704 ({3 { itmu_7}} & 3'b100) |
2705 ({3 { itl2u_7}} & 3'b101) |
2706 ({3 {itl2nd_7}} & 3'b110) ;
2707assign m_isfsr_6[2:0] =
2708 ({3 { itmu_6}} & 3'b100) |
2709 ({3 { itl2u_6}} & 3'b101) |
2710 ({3 {itl2nd_6}} & 3'b110) ;
2711assign m_isfsr_5[2:0] =
2712 ({3 { itmu_5}} & 3'b100) |
2713 ({3 { itl2u_5}} & 3'b101) |
2714 ({3 {itl2nd_5}} & 3'b110) ;
2715assign m_isfsr_4[2:0] =
2716 ({3 { itmu_4}} & 3'b100) |
2717 ({3 { itl2u_4}} & 3'b101) |
2718 ({3 {itl2nd_4}} & 3'b110) ;
2719assign m_isfsr_3[2:0] =
2720 ({3 { itmu_3}} & 3'b100) |
2721 ({3 { itl2u_3}} & 3'b101) |
2722 ({3 {itl2nd_3}} & 3'b110) ;
2723assign m_isfsr_2[2:0] =
2724 ({3 { itmu_2}} & 3'b100) |
2725 ({3 { itl2u_2}} & 3'b101) |
2726 ({3 {itl2nd_2}} & 3'b110) ;
2727assign m_isfsr_1[2:0] =
2728 ({3 { itmu_1}} & 3'b100) |
2729 ({3 { itl2u_1}} & 3'b101) |
2730 ({3 {itl2nd_1}} & 3'b110) ;
2731assign m_isfsr_0[2:0] =
2732 ({3 { itmu_0}} & 3'b100) |
2733 ({3 { itl2u_0}} & 3'b101) |
2734 ({3 {itl2nd_0}} & 3'b110) ;
2735
2736
2737assign dtmu_7 = mmu_d_eccerr[7] & (mmu_thr7_err_type[2 ] == 1'b1 );
2738assign dtmu_6 = mmu_d_eccerr[6] & (mmu_thr6_err_type[2 ] == 1'b1 );
2739assign dtmu_5 = mmu_d_eccerr[5] & (mmu_thr5_err_type[2 ] == 1'b1 );
2740assign dtmu_4 = mmu_d_eccerr[4] & (mmu_thr4_err_type[2 ] == 1'b1 );
2741assign dtmu_3 = mmu_d_eccerr[3] & (mmu_thr3_err_type[2 ] == 1'b1 );
2742assign dtmu_2 = mmu_d_eccerr[2] & (mmu_thr2_err_type[2 ] == 1'b1 );
2743assign dtmu_1 = mmu_d_eccerr[1] & (mmu_thr1_err_type[2 ] == 1'b1 );
2744assign dtmu_0 = mmu_d_eccerr[0] & (mmu_thr0_err_type[2 ] == 1'b1 );
2745
2746assign dtl2u_7 = mmu_d_eccerr[7] & (mmu_thr7_err_type[2:0] == 3'b010);
2747assign dtl2u_6 = mmu_d_eccerr[6] & (mmu_thr6_err_type[2:0] == 3'b010);
2748assign dtl2u_5 = mmu_d_eccerr[5] & (mmu_thr5_err_type[2:0] == 3'b010);
2749assign dtl2u_4 = mmu_d_eccerr[4] & (mmu_thr4_err_type[2:0] == 3'b010);
2750assign dtl2u_3 = mmu_d_eccerr[3] & (mmu_thr3_err_type[2:0] == 3'b010);
2751assign dtl2u_2 = mmu_d_eccerr[2] & (mmu_thr2_err_type[2:0] == 3'b010);
2752assign dtl2u_1 = mmu_d_eccerr[1] & (mmu_thr1_err_type[2:0] == 3'b010);
2753assign dtl2u_0 = mmu_d_eccerr[0] & (mmu_thr0_err_type[2:0] == 3'b010);
2754
2755assign dtl2nd_7 = mmu_d_eccerr[7] & (mmu_thr7_err_type[2:0] == 3'b011);
2756assign dtl2nd_6 = mmu_d_eccerr[6] & (mmu_thr6_err_type[2:0] == 3'b011);
2757assign dtl2nd_5 = mmu_d_eccerr[5] & (mmu_thr5_err_type[2:0] == 3'b011);
2758assign dtl2nd_4 = mmu_d_eccerr[4] & (mmu_thr4_err_type[2:0] == 3'b011);
2759assign dtl2nd_3 = mmu_d_eccerr[3] & (mmu_thr3_err_type[2:0] == 3'b011);
2760assign dtl2nd_2 = mmu_d_eccerr[2] & (mmu_thr2_err_type[2:0] == 3'b011);
2761assign dtl2nd_1 = mmu_d_eccerr[1] & (mmu_thr1_err_type[2:0] == 3'b011);
2762assign dtl2nd_0 = mmu_d_eccerr[0] & (mmu_thr0_err_type[2:0] == 3'b011);
2763
2764assign m_dsfsr_7[2:0] =
2765 ({3 { dtmu_7}} & 3'b100) |
2766 ({3 { dtl2u_7}} & 3'b101) |
2767 ({3 {dtl2nd_7}} & 3'b110) ;
2768assign m_dsfsr_6[2:0] =
2769 ({3 { dtmu_6}} & 3'b100) |
2770 ({3 { dtl2u_6}} & 3'b101) |
2771 ({3 {dtl2nd_6}} & 3'b110) ;
2772assign m_dsfsr_5[2:0] =
2773 ({3 { dtmu_5}} & 3'b100) |
2774 ({3 { dtl2u_5}} & 3'b101) |
2775 ({3 {dtl2nd_5}} & 3'b110) ;
2776assign m_dsfsr_4[2:0] =
2777 ({3 { dtmu_4}} & 3'b100) |
2778 ({3 { dtl2u_4}} & 3'b101) |
2779 ({3 {dtl2nd_4}} & 3'b110) ;
2780assign m_dsfsr_3[2:0] =
2781 ({3 { dtmu_3}} & 3'b100) |
2782 ({3 { dtl2u_3}} & 3'b101) |
2783 ({3 {dtl2nd_3}} & 3'b110) ;
2784assign m_dsfsr_2[2:0] =
2785 ({3 { dtmu_2}} & 3'b100) |
2786 ({3 { dtl2u_2}} & 3'b101) |
2787 ({3 {dtl2nd_2}} & 3'b110) ;
2788assign m_dsfsr_1[2:0] =
2789 ({3 { dtmu_1}} & 3'b100) |
2790 ({3 { dtl2u_1}} & 3'b101) |
2791 ({3 {dtl2nd_1}} & 3'b110) ;
2792assign m_dsfsr_0[2:0] =
2793 ({3 { dtmu_0}} & 3'b100) |
2794 ({3 { dtl2u_0}} & 3'b101) |
2795 ({3 {dtl2nd_0}} & 3'b110) ;
2796
2797assign m_dsfar_7[2:0] =
2798 mmu_thr7_err_index[2:0] & {3 {mmu_i_eccerr[7] | mmu_d_eccerr[7]}};
2799assign m_dsfar_6[2:0] =
2800 mmu_thr6_err_index[2:0] & {3 {mmu_i_eccerr[6] | mmu_d_eccerr[6]}};
2801assign m_dsfar_5[2:0] =
2802 mmu_thr5_err_index[2:0] & {3 {mmu_i_eccerr[5] | mmu_d_eccerr[5]}};
2803assign m_dsfar_4[2:0] =
2804 mmu_thr4_err_index[2:0] & {3 {mmu_i_eccerr[4] | mmu_d_eccerr[4]}};
2805assign m_dsfar_3[2:0] =
2806 mmu_thr3_err_index[2:0] & {3 {mmu_i_eccerr[3] | mmu_d_eccerr[3]}};
2807assign m_dsfar_2[2:0] =
2808 mmu_thr2_err_index[2:0] & {3 {mmu_i_eccerr[2] | mmu_d_eccerr[2]}};
2809assign m_dsfar_1[2:0] =
2810 mmu_thr1_err_index[2:0] & {3 {mmu_i_eccerr[1] | mmu_d_eccerr[1]}};
2811assign m_dsfar_0[2:0] =
2812 mmu_thr0_err_index[2:0] & {3 {mmu_i_eccerr[0] | mmu_d_eccerr[0]}};
2813
2814
2815tlu_ras_ctl_msff_ctl_macro__width_8 it2lc_lat (
2816 .scan_in(it2lc_lat_scanin),
2817 .scan_out(it2lc_lat_scanout),
2818 .din (mmu_i_l2cerr [7:0] ),
2819 .dout (m_i_l2cerr [7:0] ),
2820 .l1clk(l1clk),
2821 .siclk(siclk),
2822 .soclk(soclk)
2823);
2824
2825tlu_ras_ctl_msff_ctl_macro__width_8 dt2lc_lat (
2826 .scan_in(dt2lc_lat_scanin),
2827 .scan_out(dt2lc_lat_scanout),
2828 .din (mmu_d_l2cerr [7:0] ),
2829 .dout (m_d_l2cerr [7:0] ),
2830 .l1clk(l1clk),
2831 .siclk(siclk),
2832 .soclk(soclk)
2833);
2834
2835assign itl2c_7 = m_i_l2cerr[7];
2836assign itl2c_6 = m_i_l2cerr[6];
2837assign itl2c_5 = m_i_l2cerr[5];
2838assign itl2c_4 = m_i_l2cerr[4];
2839assign itl2c_3 = m_i_l2cerr[3];
2840assign itl2c_2 = m_i_l2cerr[2];
2841assign itl2c_1 = m_i_l2cerr[1];
2842assign itl2c_0 = m_i_l2cerr[0];
2843
2844assign dtl2c_7 = m_d_l2cerr[7];
2845assign dtl2c_6 = m_d_l2cerr[6];
2846assign dtl2c_5 = m_d_l2cerr[5];
2847assign dtl2c_4 = m_d_l2cerr[4];
2848assign dtl2c_3 = m_d_l2cerr[3];
2849assign dtl2c_2 = m_d_l2cerr[2];
2850assign dtl2c_1 = m_d_l2cerr[1];
2851assign dtl2c_0 = m_d_l2cerr[0];
2852
2853assign m_desr_et_7[5:0] =
2854 ({6 { itl2c_7}} & 6'b100001) |
2855 ({6 { dtl2c_7}} & 6'b100011) ;
2856assign m_desr_et_6[5:0] =
2857 ({6 { itl2c_6}} & 6'b100001) |
2858 ({6 { dtl2c_6}} & 6'b100011) ;
2859assign m_desr_et_5[5:0] =
2860 ({6 { itl2c_5}} & 6'b100001) |
2861 ({6 { dtl2c_5}} & 6'b100011) ;
2862assign m_desr_et_4[5:0] =
2863 ({6 { itl2c_4}} & 6'b100001) |
2864 ({6 { dtl2c_4}} & 6'b100011) ;
2865assign m_desr_et_3[5:0] =
2866 ({6 { itl2c_3}} & 6'b100001) |
2867 ({6 { dtl2c_3}} & 6'b100011) ;
2868assign m_desr_et_2[5:0] =
2869 ({6 { itl2c_2}} & 6'b100001) |
2870 ({6 { dtl2c_2}} & 6'b100011) ;
2871assign m_desr_et_1[5:0] =
2872 ({6 { itl2c_1}} & 6'b100001) |
2873 ({6 { dtl2c_1}} & 6'b100011) ;
2874assign m_desr_et_0[5:0] =
2875 ({6 { itl2c_0}} & 6'b100001) |
2876 ({6 { dtl2c_0}} & 6'b100011) ;
2877
2878// No desr_ea for L2 correctable errors for MMU
2879
2880
2881
2882//
2883// MRA, SCA, and TCA precise but out-of-pipe errors (ASI access)
2884//
2885// DSFSR
2886// mrau 0111
2887// scac 1010
2888// scau 1001
2889// tccp 1100
2890// tccu(tcup) 1101
2891
2892// Both sources should have same TID
2893// but TCA errors take a cycle longer to be recorded due to longer path for
2894// disrupting TCA errors
2895assign a_tid[2:0] =
2896 tlu_tca_tid[2:0];
2897
2898assign a_dec_tid[7:0] =
2899 { a_tid[2] & a_tid[1] & a_tid[0],
2900 a_tid[2] & a_tid[1] & ~a_tid[0],
2901 a_tid[2] & ~a_tid[1] & a_tid[0],
2902 a_tid[2] & ~a_tid[1] & ~a_tid[0],
2903 ~a_tid[2] & a_tid[1] & a_tid[0],
2904 ~a_tid[2] & a_tid[1] & ~a_tid[0],
2905 ~a_tid[2] & ~a_tid[1] & a_tid[0],
2906 ~a_tid[2] & ~a_tid[1] & ~a_tid[0]} &
2907 {8 {mrau | scac | scau}};
2908
2909
2910tlu_ras_ctl_msff_ctl_macro__width_5 tca_error_lat (
2911 .scan_in(tca_error_lat_scanin),
2912 .scan_out(tca_error_lat_scanout),
2913 .din ({cel_tccp ,
2914 cel_tcup ,
2915 tlu_tca_tid [2:0]}),
2916 .dout ({tccp ,
2917 tcup ,
2918 tca_tid [2:0]}),
2919 .l1clk(l1clk),
2920 .siclk(siclk),
2921 .soclk(soclk)
2922);
2923
2924assign tca_dec_tid[7:0] =
2925 { tca_tid[2] & tca_tid[1] & tca_tid[0],
2926 tca_tid[2] & tca_tid[1] & ~tca_tid[0],
2927 tca_tid[2] & ~tca_tid[1] & tca_tid[0],
2928 tca_tid[2] & ~tca_tid[1] & ~tca_tid[0],
2929 ~tca_tid[2] & tca_tid[1] & tca_tid[0],
2930 ~tca_tid[2] & tca_tid[1] & ~tca_tid[0],
2931 ~tca_tid[2] & ~tca_tid[1] & tca_tid[0],
2932 ~tca_tid[2] & ~tca_tid[1] & ~tca_tid[0]} &
2933 {8 {tccp | tcup}};
2934
2935assign mrau =
2936 mmu_asi_uecc & mmu_asi_mra_not_sca;
2937assign scac =
2938 mmu_asi_cecc & ~mmu_asi_mra_not_sca;
2939assign scau =
2940 mmu_asi_uecc & ~mmu_asi_mra_not_sca;
2941
2942assign a_dsfsr[3:0] =
2943 ({4 {mrau}} & 4'b0111) |
2944 ({4 {scac}} & 4'b1010) |
2945 ({4 {scau}} & 4'b1011) ;
2946assign tca_dsfsr[3:0] =
2947 ({4 {tccp}} & 4'b1100) |
2948 ({4 {tcup}} & 4'b1101) ;
2949assign a_dsfsr_7[3:0] =
2950 ( a_dsfsr[3:0] & {4 { a_dec_tid[7]}}) |
2951 (tca_dsfsr[3:0] & {4 {tca_dec_tid[7]}}) ;
2952assign a_dsfsr_6[3:0] =
2953 ( a_dsfsr[3:0] & {4 { a_dec_tid[6]}}) |
2954 (tca_dsfsr[3:0] & {4 {tca_dec_tid[6]}}) ;
2955assign a_dsfsr_5[3:0] =
2956 ( a_dsfsr[3:0] & {4 { a_dec_tid[5]}}) |
2957 (tca_dsfsr[3:0] & {4 {tca_dec_tid[5]}}) ;
2958assign a_dsfsr_4[3:0] =
2959 ( a_dsfsr[3:0] & {4 { a_dec_tid[4]}}) |
2960 (tca_dsfsr[3:0] & {4 {tca_dec_tid[4]}}) ;
2961assign a_dsfsr_3[3:0] =
2962 ( a_dsfsr[3:0] & {4 { a_dec_tid[3]}}) |
2963 (tca_dsfsr[3:0] & {4 {tca_dec_tid[3]}}) ;
2964assign a_dsfsr_2[3:0] =
2965 ( a_dsfsr[3:0] & {4 { a_dec_tid[2]}}) |
2966 (tca_dsfsr[3:0] & {4 {tca_dec_tid[2]}}) ;
2967assign a_dsfsr_1[3:0] =
2968 ( a_dsfsr[3:0] & {4 { a_dec_tid[1]}}) |
2969 (tca_dsfsr[3:0] & {4 {tca_dec_tid[1]}}) ;
2970assign a_dsfsr_0[3:0] =
2971 ( a_dsfsr[3:0] & {4 { a_dec_tid[0]}}) |
2972 (tca_dsfsr[3:0] & {4 {tca_dec_tid[0]}}) ;
2973
2974assign a_dsfar[10:0] =
2975 ({11 {scac | scau}} & mmu_asi_index[10:0] ) |
2976 ({11 {mrau }} &{{8 {1'b0}}, mmu_asi_index[2:0]}) ;
2977assign tca_dsfar[10:0] =
2978 ({11 {tccp | tcup}} &
2979 {1'b0, cel_syndrome[7:0], tlu_tca_index[1:0]}) ;
2980
2981assign a_dsfar_7[10:0] =
2982 ( a_dsfar[10:0] & {11 { a_dec_tid[7]}}) |
2983 (tca_dsfar[10:0] & {11 {tca_dec_tid[7]}}) ;
2984assign a_dsfar_6[10:0] =
2985 ( a_dsfar[10:0] & {11 { a_dec_tid[6]}}) |
2986 (tca_dsfar[10:0] & {11 {tca_dec_tid[6]}}) ;
2987assign a_dsfar_5[10:0] =
2988 ( a_dsfar[10:0] & {11 { a_dec_tid[5]}}) |
2989 (tca_dsfar[10:0] & {11 {tca_dec_tid[5]}}) ;
2990assign a_dsfar_4[10:0] =
2991 ( a_dsfar[10:0] & {11 { a_dec_tid[4]}}) |
2992 (tca_dsfar[10:0] & {11 {tca_dec_tid[4]}}) ;
2993assign a_dsfar_3[10:0] =
2994 ( a_dsfar[10:0] & {11 { a_dec_tid[3]}}) |
2995 (tca_dsfar[10:0] & {11 {tca_dec_tid[3]}}) ;
2996assign a_dsfar_2[10:0] =
2997 ( a_dsfar[10:0] & {11 { a_dec_tid[2]}}) |
2998 (tca_dsfar[10:0] & {11 {tca_dec_tid[2]}}) ;
2999assign a_dsfar_1[10:0] =
3000 ( a_dsfar[10:0] & {11 { a_dec_tid[1]}}) |
3001 (tca_dsfar[10:0] & {11 {tca_dec_tid[1]}}) ;
3002assign a_dsfar_0[10:0] =
3003 ( a_dsfar[10:0] & {11 { a_dec_tid[0]}}) |
3004 (tca_dsfar[10:0] & {11 {tca_dec_tid[0]}}) ;
3005
3006
3007
3008//
3009// TSA precise but out-of-pipe errors (ASI access and done and retry)
3010//
3011// DSFSR
3012// tsac 1000
3013// tsau 1001
3014
3015assign ta_dec_tid[7:0] =
3016 { asi_tsacu_tid[2] & asi_tsacu_tid[1] & asi_tsacu_tid[0],
3017 asi_tsacu_tid[2] & asi_tsacu_tid[1] & ~asi_tsacu_tid[0],
3018 asi_tsacu_tid[2] & ~asi_tsacu_tid[1] & asi_tsacu_tid[0],
3019 asi_tsacu_tid[2] & ~asi_tsacu_tid[1] & ~asi_tsacu_tid[0],
3020 ~asi_tsacu_tid[2] & asi_tsacu_tid[1] & asi_tsacu_tid[0],
3021 ~asi_tsacu_tid[2] & asi_tsacu_tid[1] & ~asi_tsacu_tid[0],
3022 ~asi_tsacu_tid[2] & ~asi_tsacu_tid[1] & asi_tsacu_tid[0],
3023 ~asi_tsacu_tid[2] & ~asi_tsacu_tid[1] & ~asi_tsacu_tid[0]};
3024
3025assign tsac[7:0] =
3026 tlu_tsac[7:0] | ({8 {asi_tsac}} & ta_dec_tid[7:0]);
3027
3028assign tsau[7:0] =
3029 tlu_tsau[7:0] | ({8 {asi_tsau}} & ta_dec_tid[7:0]);
3030
3031assign ras_dsfar_sel_tsa[7:0] =
3032 tsac[7:0] | tsau[7:0];
3033
3034assign t_dsfsr_7[3:0] =
3035 ({4 {tsac[7]}} & 4'b1000) |
3036 ({4 {tsau[7]}} & 4'b1001) ;
3037assign t_dsfsr_6[3:0] =
3038 ({4 {tsac[6]}} & 4'b1000) |
3039 ({4 {tsau[6]}} & 4'b1001) ;
3040assign t_dsfsr_5[3:0] =
3041 ({4 {tsac[5]}} & 4'b1000) |
3042 ({4 {tsau[5]}} & 4'b1001) ;
3043assign t_dsfsr_4[3:0] =
3044 ({4 {tsac[4]}} & 4'b1000) |
3045 ({4 {tsau[4]}} & 4'b1001) ;
3046assign t_dsfsr_3[3:0] =
3047 ({4 {tsac[3]}} & 4'b1000) |
3048 ({4 {tsau[3]}} & 4'b1001) ;
3049assign t_dsfsr_2[3:0] =
3050 ({4 {tsac[2]}} & 4'b1000) |
3051 ({4 {tsau[2]}} & 4'b1001) ;
3052assign t_dsfsr_1[3:0] =
3053 ({4 {tsac[1]}} & 4'b1000) |
3054 ({4 {tsau[1]}} & 4'b1001) ;
3055assign t_dsfsr_0[3:0] =
3056 ({4 {tsac[0]}} & 4'b1000) |
3057 ({4 {tsau[0]}} & 4'b1001) ;
3058
3059// DSFAR for TSA errors handled in tlu_dfd_dp
3060
3061
3062
3063//
3064// Data cache errors on L2
3065//
3066// DSFSR
3067// dcl2u 001
3068// dcl2nd 010
3069// socc 011
3070// socu 100
3071//
3072// DESR
3073// dcl2c 1011
3074// This has S = 0
3075// dcl2c 100
3076// This has S = 1
3077
3078tlu_ras_ctl_msff_ctl_macro__width_9 l_dsfar_lat (
3079 .scan_in(l_dsfar_lat_scanin),
3080 .scan_out(l_dsfar_lat_scanout),
3081 .din (lsu_dcerr_sfar_g [8:0] ),
3082 .dout (l_dsfar [8:0] ),
3083 .l1clk(l1clk),
3084 .siclk(siclk),
3085 .soclk(soclk)
3086);
3087
3088tlu_ras_ctl_msff_ctl_macro__width_3 l_tid_lat (
3089 .scan_in(l_tid_lat_scanin),
3090 .scan_out(l_tid_lat_scanout),
3091 .din (lsu_dcerr_tid_g [2:0] ),
3092 .dout (l_tid [2:0] ),
3093 .l1clk(l1clk),
3094 .siclk(siclk),
3095 .soclk(soclk)
3096);
3097
3098tlu_ras_ctl_msff_ctl_macro__width_1 dcl2c_lat (
3099 .scan_in(dcl2c_lat_scanin),
3100 .scan_out(dcl2c_lat_scanout),
3101 .din (lsu_dcl2c_err_g ),
3102 .dout (dcl2c ),
3103 .l1clk(l1clk),
3104 .siclk(siclk),
3105 .soclk(soclk)
3106);
3107
3108tlu_ras_ctl_msff_ctl_macro__width_1 dcl2u_lat (
3109 .scan_in(dcl2u_lat_scanin),
3110 .scan_out(dcl2u_lat_scanout),
3111 .din (lsu_dcl2u_err_g ),
3112 .dout (dcl2u ),
3113 .l1clk(l1clk),
3114 .siclk(siclk),
3115 .soclk(soclk)
3116);
3117
3118tlu_ras_ctl_msff_ctl_macro__width_1 dcl2nd_lat (
3119 .scan_in(dcl2nd_lat_scanin),
3120 .scan_out(dcl2nd_lat_scanout),
3121 .din (lsu_dcl2nd_err_g ),
3122 .dout (dcl2nd ),
3123 .l1clk(l1clk),
3124 .siclk(siclk),
3125 .soclk(soclk)
3126);
3127
3128tlu_ras_ctl_msff_ctl_macro__width_1 dcsoc_lat (
3129 .scan_in(dcsoc_lat_scanin),
3130 .scan_out(dcsoc_lat_scanout),
3131 .din (lsu_dcsoc_err_g ),
3132 .dout (dcsoc ),
3133 .l1clk(l1clk),
3134 .siclk(siclk),
3135 .soclk(soclk)
3136);
3137
3138assign l_dec_tid[7:0] =
3139 { l_tid[2] & l_tid[1] & l_tid[0],
3140 l_tid[2] & l_tid[1] & ~l_tid[0],
3141 l_tid[2] & ~l_tid[1] & l_tid[0],
3142 l_tid[2] & ~l_tid[1] & ~l_tid[0],
3143 ~l_tid[2] & l_tid[1] & l_tid[0],
3144 ~l_tid[2] & l_tid[1] & ~l_tid[0],
3145 ~l_tid[2] & ~l_tid[1] & l_tid[0],
3146 ~l_tid[2] & ~l_tid[1] & ~l_tid[0]} & {8 {dcl2c | dcl2u | dcl2nd}};
3147
3148assign l_dsfsr[2:0] =
3149 ({3 {dcl2u & ~dcsoc}} & 3'b001) |
3150 ({3 {dcl2nd & ~dcsoc}} & 3'b010) |
3151 ({3 {dcl2u & dcsoc}} & 3'b100) ;
3152
3153assign l_dsfsr_7[2:0] =
3154 l_dsfsr[2:0] & {3 {l_dec_tid[7]}};
3155assign l_dsfsr_6[2:0] =
3156 l_dsfsr[2:0] & {3 {l_dec_tid[6]}};
3157assign l_dsfsr_5[2:0] =
3158 l_dsfsr[2:0] & {3 {l_dec_tid[5]}};
3159assign l_dsfsr_4[2:0] =
3160 l_dsfsr[2:0] & {3 {l_dec_tid[4]}};
3161assign l_dsfsr_3[2:0] =
3162 l_dsfsr[2:0] & {3 {l_dec_tid[3]}};
3163assign l_dsfsr_2[2:0] =
3164 l_dsfsr[2:0] & {3 {l_dec_tid[2]}};
3165assign l_dsfsr_1[2:0] =
3166 l_dsfsr[2:0] & {3 {l_dec_tid[1]}};
3167assign l_dsfsr_0[2:0] =
3168 l_dsfsr[2:0] & {3 {l_dec_tid[0]}};
3169
3170assign l_dsfar_7[8:0] =
3171 l_dsfar[8:0] & {9 {l_dec_tid[7]}};
3172assign l_dsfar_6[8:0] =
3173 l_dsfar[8:0] & {9 {l_dec_tid[6]}};
3174assign l_dsfar_5[8:0] =
3175 l_dsfar[8:0] & {9 {l_dec_tid[5]}};
3176assign l_dsfar_4[8:0] =
3177 l_dsfar[8:0] & {9 {l_dec_tid[4]}};
3178assign l_dsfar_3[8:0] =
3179 l_dsfar[8:0] & {9 {l_dec_tid[3]}};
3180assign l_dsfar_2[8:0] =
3181 l_dsfar[8:0] & {9 {l_dec_tid[2]}};
3182assign l_dsfar_1[8:0] =
3183 l_dsfar[8:0] & {9 {l_dec_tid[1]}};
3184assign l_dsfar_0[8:0] =
3185 l_dsfar[8:0] & {9 {l_dec_tid[0]}};
3186
3187
3188assign l_desr_et[5:0] =
3189 ({6 {dcl2c & dcsoc}} & 6'b001011) |
3190 ({6 {dcl2c & ~dcsoc}} & 6'b100100) ;
3191
3192assign l_desr_et_7[5:0] =
3193 l_desr_et[5:0] & {6 {l_dec_tid[7]}};
3194assign l_desr_et_6[5:0] =
3195 l_desr_et[5:0] & {6 {l_dec_tid[6]}};
3196assign l_desr_et_5[5:0] =
3197 l_desr_et[5:0] & {6 {l_dec_tid[5]}};
3198assign l_desr_et_4[5:0] =
3199 l_desr_et[5:0] & {6 {l_dec_tid[4]}};
3200assign l_desr_et_3[5:0] =
3201 l_desr_et[5:0] & {6 {l_dec_tid[3]}};
3202assign l_desr_et_2[5:0] =
3203 l_desr_et[5:0] & {6 {l_dec_tid[2]}};
3204assign l_desr_et_1[5:0] =
3205 l_desr_et[5:0] & {6 {l_dec_tid[1]}};
3206assign l_desr_et_0[5:0] =
3207 l_desr_et[5:0] & {6 {l_dec_tid[0]}};
3208
3209
3210
3211//
3212// Precise but out-of-pipe store buffer errors
3213//
3214// DSFSR
3215// sbdlc 101
3216// sbdlu 110
3217
3218tlu_ras_ctl_msff_ctl_macro__width_5 s_dsfar_lat (
3219 .scan_in(s_dsfar_lat_scanin),
3220 .scan_out(s_dsfar_lat_scanout),
3221 .din ({lsu_stberr_priv_g [1:0],
3222 lsu_stberr_index_g [2:0]}),
3223 .dout ({fesr_priv [1:0],
3224 s_dsfar [2:0]}),
3225 .l1clk(l1clk),
3226 .siclk(siclk),
3227 .soclk(soclk)
3228);
3229
3230tlu_ras_ctl_msff_ctl_macro__width_3 s_tid_lat (
3231 .scan_in(s_tid_lat_scanin),
3232 .scan_out(s_tid_lat_scanout),
3233 .din (lsu_stberr_tid_g [2:0] ),
3234 .dout (s_tid [2:0] ),
3235 .l1clk(l1clk),
3236 .siclk(siclk),
3237 .soclk(soclk)
3238);
3239
3240tlu_ras_ctl_msff_ctl_macro__width_1 stb_flush_lat (
3241 .scan_in(stb_flush_lat_scanin),
3242 .scan_out(stb_flush_lat_scanout),
3243 .din (lsu_stb_flush_g ),
3244 .dout (stb_flush ),
3245 .l1clk(l1clk),
3246 .siclk(siclk),
3247 .soclk(soclk)
3248);
3249
3250assign update_priv[7:0] =
3251 {8 {stb_flush}} & s_dsfsr_dec_tid_raw[7:0] &
3252 {(fesr_priv[1] & ~dfd_fesr_priv_7[1] ) |
3253 (fesr_priv[0] & ~dfd_fesr_priv_7[1] & ~dfd_fesr_priv_7[0]),
3254 (fesr_priv[1] & ~dfd_fesr_priv_6[1] ) |
3255 (fesr_priv[0] & ~dfd_fesr_priv_6[1] & ~dfd_fesr_priv_6[0]),
3256 (fesr_priv[1] & ~dfd_fesr_priv_5[1] ) |
3257 (fesr_priv[0] & ~dfd_fesr_priv_5[1] & ~dfd_fesr_priv_5[0]),
3258 (fesr_priv[1] & ~dfd_fesr_priv_4[1] ) |
3259 (fesr_priv[0] & ~dfd_fesr_priv_4[1] & ~dfd_fesr_priv_4[0]),
3260 (fesr_priv[1] & ~dfd_fesr_priv_3[1] ) |
3261 (fesr_priv[0] & ~dfd_fesr_priv_3[1] & ~dfd_fesr_priv_3[0]),
3262 (fesr_priv[1] & ~dfd_fesr_priv_2[1] ) |
3263 (fesr_priv[0] & ~dfd_fesr_priv_2[1] & ~dfd_fesr_priv_2[0]),
3264 (fesr_priv[1] & ~dfd_fesr_priv_1[1] ) |
3265 (fesr_priv[0] & ~dfd_fesr_priv_1[1] & ~dfd_fesr_priv_1[0]),
3266 (fesr_priv[1] & ~dfd_fesr_priv_0[1] ) |
3267 (fesr_priv[0] & ~dfd_fesr_priv_0[1] & ~dfd_fesr_priv_0[0]) };
3268
3269assign ras_update_priv[7:0] =
3270 update_priv[7:0];
3271
3272assign ras_fesr_priv[59:58] =
3273 fesr_priv[1:0];
3274
3275tlu_ras_ctl_msff_ctl_macro__width_1 sbdlc_lat (
3276 .scan_in(sbdlc_lat_scanin),
3277 .scan_out(sbdlc_lat_scanout),
3278 .din (lsu_sbdlc_err_g ),
3279 .dout (sbdlc ),
3280 .l1clk(l1clk),
3281 .siclk(siclk),
3282 .soclk(soclk)
3283);
3284
3285tlu_ras_ctl_msff_ctl_macro__width_1 sbdlu_lat (
3286 .scan_in(sbdlu_lat_scanin),
3287 .scan_out(sbdlu_lat_scanout),
3288 .din (lsu_sbdlu_err_g ),
3289 .dout (sbdlu ),
3290 .l1clk(l1clk),
3291 .siclk(siclk),
3292 .soclk(soclk)
3293);
3294
3295assign s_dsfsr_dec_tid_raw[7:0] =
3296 { s_tid[2] & s_tid[1] & s_tid[0],
3297 s_tid[2] & s_tid[1] & ~s_tid[0],
3298 s_tid[2] & ~s_tid[1] & s_tid[0],
3299 s_tid[2] & ~s_tid[1] & ~s_tid[0],
3300 ~s_tid[2] & s_tid[1] & s_tid[0],
3301 ~s_tid[2] & s_tid[1] & ~s_tid[0],
3302 ~s_tid[2] & ~s_tid[1] & s_tid[0],
3303 ~s_tid[2] & ~s_tid[1] & ~s_tid[0]} ;
3304assign s_dsfsr_dec_tid[7:0] =
3305 s_dsfsr_dec_tid_raw[7:0] &
3306 {8 {sbdlc | sbdlu}};
3307
3308assign s_dsfsr[2:0] =
3309 ({3 {sbdlc}} & 3'b101) |
3310 ({3 {sbdlu}} & 3'b110) ;
3311
3312assign s_dsfsr_7[2:0] =
3313 s_dsfsr[2:0] & {3 {s_dsfsr_dec_tid[7]}};
3314assign s_dsfsr_6[2:0] =
3315 s_dsfsr[2:0] & {3 {s_dsfsr_dec_tid[6]}};
3316assign s_dsfsr_5[2:0] =
3317 s_dsfsr[2:0] & {3 {s_dsfsr_dec_tid[5]}};
3318assign s_dsfsr_4[2:0] =
3319 s_dsfsr[2:0] & {3 {s_dsfsr_dec_tid[4]}};
3320assign s_dsfsr_3[2:0] =
3321 s_dsfsr[2:0] & {3 {s_dsfsr_dec_tid[3]}};
3322assign s_dsfsr_2[2:0] =
3323 s_dsfsr[2:0] & {3 {s_dsfsr_dec_tid[2]}};
3324assign s_dsfsr_1[2:0] =
3325 s_dsfsr[2:0] & {3 {s_dsfsr_dec_tid[1]}};
3326assign s_dsfsr_0[2:0] =
3327 s_dsfsr[2:0] & {3 {s_dsfsr_dec_tid[0]}};
3328
3329assign s_dsfar_7[2:0] =
3330 s_dsfar[2:0] & {3 {s_dsfsr_dec_tid[7]}};
3331assign s_dsfar_6[2:0] =
3332 s_dsfar[2:0] & {3 {s_dsfsr_dec_tid[6]}};
3333assign s_dsfar_5[2:0] =
3334 s_dsfar[2:0] & {3 {s_dsfsr_dec_tid[5]}};
3335assign s_dsfar_4[2:0] =
3336 s_dsfar[2:0] & {3 {s_dsfsr_dec_tid[4]}};
3337assign s_dsfar_3[2:0] =
3338 s_dsfar[2:0] & {3 {s_dsfsr_dec_tid[3]}};
3339assign s_dsfar_2[2:0] =
3340 s_dsfar[2:0] & {3 {s_dsfsr_dec_tid[2]}};
3341assign s_dsfar_1[2:0] =
3342 s_dsfar[2:0] & {3 {s_dsfsr_dec_tid[1]}};
3343assign s_dsfar_0[2:0] =
3344 s_dsfar[2:0] & {3 {s_dsfsr_dec_tid[0]}};
3345
3346
3347
3348//////////////////////////////////////////////////////////////////////////////
3349//
3350// Instantiate ISFSRs
3351//
3352
3353assign isfsr_7_new_in[2:0] =
3354 pipe_isfsr_7[2:0] | m_isfsr_7[2:0] ;
3355assign isfsr_6_new_in[2:0] =
3356 pipe_isfsr_6[2:0] | m_isfsr_6[2:0] ;
3357assign isfsr_5_new_in[2:0] =
3358 pipe_isfsr_5[2:0] | m_isfsr_5[2:0] ;
3359assign isfsr_4_new_in[2:0] =
3360 pipe_isfsr_4[2:0] | m_isfsr_4[2:0] ;
3361assign isfsr_3_new_in[2:0] =
3362 pipe_isfsr_3[2:0] | m_isfsr_3[2:0] ;
3363assign isfsr_2_new_in[2:0] =
3364 pipe_isfsr_2[2:0] | m_isfsr_2[2:0] ;
3365assign isfsr_1_new_in[2:0] =
3366 pipe_isfsr_1[2:0] | m_isfsr_1[2:0] ;
3367assign isfsr_0_new_in[2:0] =
3368 pipe_isfsr_0[2:0] | m_isfsr_0[2:0] ;
3369
3370assign isfsr_7_in[2:0] =
3371 (isfsr_7_new_in[2:0] & {3 {~asi_wr_isfsr[7]}}) |
3372 (isfsr_7[2:0] & ~{3 {| {asi_wr_isfsr[7], isfsr_7_new_in[2:0]}}}) |
3373 (asi_wr_data[2:0] & {3 { asi_wr_isfsr[7]}}) ;
3374assign isfsr_6_in[2:0] =
3375 (isfsr_6_new_in[2:0] & {3 {~asi_wr_isfsr[6]}}) |
3376 (isfsr_6[2:0] & ~{3 {| {asi_wr_isfsr[6], isfsr_6_new_in[2:0]}}}) |
3377 (asi_wr_data[2:0] & {3 { asi_wr_isfsr[6]}}) ;
3378assign isfsr_5_in[2:0] =
3379 (isfsr_5_new_in[2:0] & {3 {~asi_wr_isfsr[5]}}) |
3380 (isfsr_5[2:0] & ~{3 {| {asi_wr_isfsr[5], isfsr_5_new_in[2:0]}}}) |
3381 (asi_wr_data[2:0] & {3 { asi_wr_isfsr[5]}}) ;
3382assign isfsr_4_in[2:0] =
3383 (isfsr_4_new_in[2:0] & {3 {~asi_wr_isfsr[4]}}) |
3384 (isfsr_4[2:0] & ~{3 {| {asi_wr_isfsr[4], isfsr_4_new_in[2:0]}}}) |
3385 (asi_wr_data[2:0] & {3 { asi_wr_isfsr[4]}}) ;
3386assign isfsr_3_in[2:0] =
3387 (isfsr_3_new_in[2:0] & {3 {~asi_wr_isfsr[3]}}) |
3388 (isfsr_3[2:0] & ~{3 {| {asi_wr_isfsr[3], isfsr_3_new_in[2:0]}}}) |
3389 (asi_wr_data[2:0] & {3 { asi_wr_isfsr[3]}}) ;
3390assign isfsr_2_in[2:0] =
3391 (isfsr_2_new_in[2:0] & {3 {~asi_wr_isfsr[2]}}) |
3392 (isfsr_2[2:0] & ~{3 {| {asi_wr_isfsr[2], isfsr_2_new_in[2:0]}}}) |
3393 (asi_wr_data[2:0] & {3 { asi_wr_isfsr[2]}}) ;
3394assign isfsr_1_in[2:0] =
3395 (isfsr_1_new_in[2:0] & {3 {~asi_wr_isfsr[1]}}) |
3396 (isfsr_1[2:0] & ~{3 {| {asi_wr_isfsr[1], isfsr_1_new_in[2:0]}}}) |
3397 (asi_wr_data[2:0] & {3 { asi_wr_isfsr[1]}}) ;
3398assign isfsr_0_in[2:0] =
3399 (isfsr_0_new_in[2:0] & {3 {~asi_wr_isfsr[0]}}) |
3400 (isfsr_0[2:0] & ~{3 {| {asi_wr_isfsr[0], isfsr_0_new_in[2:0]}}}) |
3401 (asi_wr_data[2:0] & {3 { asi_wr_isfsr[0]}}) ;
3402
3403assign precise_i_error[7:0] =
3404 { | {pipe_isfsr_7[2:0], m_isfsr_7[2:0]},
3405 | {pipe_isfsr_6[2:0], m_isfsr_6[2:0]},
3406 | {pipe_isfsr_5[2:0], m_isfsr_5[2:0]},
3407 | {pipe_isfsr_4[2:0], m_isfsr_4[2:0]},
3408 | {pipe_isfsr_3[2:0], m_isfsr_3[2:0]},
3409 | {pipe_isfsr_2[2:0], m_isfsr_2[2:0]},
3410 | {pipe_isfsr_1[2:0], m_isfsr_1[2:0]},
3411 | {pipe_isfsr_0[2:0], m_isfsr_0[2:0]} };
3412
3413
3414tlu_ras_ctl_msff_ctl_macro__width_3 isfsr_7_lat (
3415 .scan_in(isfsr_7_lat_wmr_scanin),
3416 .scan_out(isfsr_7_lat_wmr_scanout),
3417 .siclk(spc_aclk_wmr),
3418 .din (isfsr_7_in [2:0] ),
3419 .dout (isfsr_7 [2:0] ),
3420 .l1clk(l1clk),
3421 .soclk(soclk)
3422);
3423
3424tlu_ras_ctl_msff_ctl_macro__width_3 isfsr_6_lat (
3425 .scan_in(isfsr_6_lat_wmr_scanin),
3426 .scan_out(isfsr_6_lat_wmr_scanout),
3427 .siclk(spc_aclk_wmr),
3428 .din (isfsr_6_in [2:0] ),
3429 .dout (isfsr_6 [2:0] ),
3430 .l1clk(l1clk),
3431 .soclk(soclk)
3432);
3433
3434tlu_ras_ctl_msff_ctl_macro__width_3 isfsr_5_lat (
3435 .scan_in(isfsr_5_lat_wmr_scanin),
3436 .scan_out(isfsr_5_lat_wmr_scanout),
3437 .siclk(spc_aclk_wmr),
3438 .din (isfsr_5_in [2:0] ),
3439 .dout (isfsr_5 [2:0] ),
3440 .l1clk(l1clk),
3441 .soclk(soclk)
3442);
3443
3444tlu_ras_ctl_msff_ctl_macro__width_3 isfsr_4_lat (
3445 .scan_in(isfsr_4_lat_wmr_scanin),
3446 .scan_out(isfsr_4_lat_wmr_scanout),
3447 .siclk(spc_aclk_wmr),
3448 .din (isfsr_4_in [2:0] ),
3449 .dout (isfsr_4 [2:0] ),
3450 .l1clk(l1clk),
3451 .soclk(soclk)
3452);
3453
3454tlu_ras_ctl_msff_ctl_macro__width_3 isfsr_3_lat (
3455 .scan_in(isfsr_3_lat_wmr_scanin),
3456 .scan_out(isfsr_3_lat_wmr_scanout),
3457 .siclk(spc_aclk_wmr),
3458 .din (isfsr_3_in [2:0] ),
3459 .dout (isfsr_3 [2:0] ),
3460 .l1clk(l1clk),
3461 .soclk(soclk)
3462);
3463
3464tlu_ras_ctl_msff_ctl_macro__width_3 isfsr_2_lat (
3465 .scan_in(isfsr_2_lat_wmr_scanin),
3466 .scan_out(isfsr_2_lat_wmr_scanout),
3467 .siclk(spc_aclk_wmr),
3468 .din (isfsr_2_in [2:0] ),
3469 .dout (isfsr_2 [2:0] ),
3470 .l1clk(l1clk),
3471 .soclk(soclk)
3472);
3473
3474tlu_ras_ctl_msff_ctl_macro__width_3 isfsr_1_lat (
3475 .scan_in(isfsr_1_lat_wmr_scanin),
3476 .scan_out(isfsr_1_lat_wmr_scanout),
3477 .siclk(spc_aclk_wmr),
3478 .din (isfsr_1_in [2:0] ),
3479 .dout (isfsr_1 [2:0] ),
3480 .l1clk(l1clk),
3481 .soclk(soclk)
3482);
3483
3484tlu_ras_ctl_msff_ctl_macro__width_3 isfsr_0_lat (
3485 .scan_in(isfsr_0_lat_wmr_scanin),
3486 .scan_out(isfsr_0_lat_wmr_scanout),
3487 .siclk(spc_aclk_wmr),
3488 .din (isfsr_0_in [2:0] ),
3489 .dout (isfsr_0 [2:0] ),
3490 .l1clk(l1clk),
3491 .soclk(soclk)
3492);
3493
3494
3495
3496//////////////////////////////////////////////////////////////////////////////
3497//
3498// Instantiate DSFSRs
3499//
3500
3501assign dsfsr_7_new_in[3:0] =
3502 {1'b0, pipe_dsfsr_7[2:0]} | {1'b0, m_dsfsr_7[2:0]} |
3503 a_dsfsr_7[3:0] | t_dsfsr_7[3:0] | {{1 {1'b0}}, l_dsfsr_7[2:0]} |
3504 {1'b0, s_dsfsr_7[2:0]} ;
3505assign dsfsr_6_new_in[3:0] =
3506 {1'b0, pipe_dsfsr_6[2:0]} | {1'b0, m_dsfsr_6[2:0]} |
3507 a_dsfsr_6[3:0] | t_dsfsr_6[3:0] | {{1 {1'b0}}, l_dsfsr_6[2:0]} |
3508 {1'b0, s_dsfsr_6[2:0]} ;
3509assign dsfsr_5_new_in[3:0] =
3510 {1'b0, pipe_dsfsr_5[2:0]} | {1'b0, m_dsfsr_5[2:0]} |
3511 a_dsfsr_5[3:0] | t_dsfsr_5[3:0] | {{1 {1'b0}}, l_dsfsr_5[2:0]} |
3512 {1'b0, s_dsfsr_5[2:0]} ;
3513assign dsfsr_4_new_in[3:0] =
3514 {1'b0, pipe_dsfsr_4[2:0]} | {1'b0, m_dsfsr_4[2:0]} |
3515 a_dsfsr_4[3:0] | t_dsfsr_4[3:0] | {{1 {1'b0}}, l_dsfsr_4[2:0]} |
3516 {1'b0, s_dsfsr_4[2:0]} ;
3517assign dsfsr_3_new_in[3:0] =
3518 {1'b0, pipe_dsfsr_3[2:0]} | {1'b0, m_dsfsr_3[2:0]} |
3519 a_dsfsr_3[3:0] | t_dsfsr_3[3:0] | {{1 {1'b0}}, l_dsfsr_3[2:0]} |
3520 {1'b0, s_dsfsr_3[2:0]} ;
3521assign dsfsr_2_new_in[3:0] =
3522 {1'b0, pipe_dsfsr_2[2:0]} | {1'b0, m_dsfsr_2[2:0]} |
3523 a_dsfsr_2[3:0] | t_dsfsr_2[3:0] | {{1 {1'b0}}, l_dsfsr_2[2:0]} |
3524 {1'b0, s_dsfsr_2[2:0]} ;
3525assign dsfsr_1_new_in[3:0] =
3526 {1'b0, pipe_dsfsr_1[2:0]} | {1'b0, m_dsfsr_1[2:0]} |
3527 a_dsfsr_1[3:0] | t_dsfsr_1[3:0] | {{1 {1'b0}}, l_dsfsr_1[2:0]} |
3528 {1'b0, s_dsfsr_1[2:0]} ;
3529assign dsfsr_0_new_in[3:0] =
3530 {1'b0, pipe_dsfsr_0[2:0]} | {1'b0, m_dsfsr_0[2:0]} |
3531 a_dsfsr_0[3:0] | t_dsfsr_0[3:0] | {{1 {1'b0}}, l_dsfsr_0[2:0]} |
3532 {1'b0, s_dsfsr_0[2:0]} ;
3533
3534assign dsfsr_7_in[3:0] =
3535 (dsfsr_7_new_in[3:0] & {4 {~asi_wr_dsfsr[7]}}) |
3536 (dsfsr_7[3:0] & ~{4 {| {asi_wr_dsfsr[7], dsfsr_7_new_in[3:0]}}}) |
3537 (asi_wr_data[3:0] & {4 { asi_wr_dsfsr[7]}}) ;
3538assign dsfsr_6_in[3:0] =
3539 (dsfsr_6_new_in[3:0] & {4 {~asi_wr_dsfsr[6]}}) |
3540 (dsfsr_6[3:0] & ~{4 {| {asi_wr_dsfsr[6], dsfsr_6_new_in[3:0]}}}) |
3541 (asi_wr_data[3:0] & {4 { asi_wr_dsfsr[6]}}) ;
3542assign dsfsr_5_in[3:0] =
3543 (dsfsr_5_new_in[3:0] & {4 {~asi_wr_dsfsr[5]}}) |
3544 (dsfsr_5[3:0] & ~{4 {| {asi_wr_dsfsr[5], dsfsr_5_new_in[3:0]}}}) |
3545 (asi_wr_data[3:0] & {4 { asi_wr_dsfsr[5]}}) ;
3546assign dsfsr_4_in[3:0] =
3547 (dsfsr_4_new_in[3:0] & {4 {~asi_wr_dsfsr[4]}}) |
3548 (dsfsr_4[3:0] & ~{4 {| {asi_wr_dsfsr[4], dsfsr_4_new_in[3:0]}}}) |
3549 (asi_wr_data[3:0] & {4 { asi_wr_dsfsr[4]}}) ;
3550assign dsfsr_3_in[3:0] =
3551 (dsfsr_3_new_in[3:0] & {4 {~asi_wr_dsfsr[3]}}) |
3552 (dsfsr_3[3:0] & ~{4 {| {asi_wr_dsfsr[3], dsfsr_3_new_in[3:0]}}}) |
3553 (asi_wr_data[3:0] & {4 { asi_wr_dsfsr[3]}}) ;
3554assign dsfsr_2_in[3:0] =
3555 (dsfsr_2_new_in[3:0] & {4 {~asi_wr_dsfsr[2]}}) |
3556 (dsfsr_2[3:0] & ~{4 {| {asi_wr_dsfsr[2], dsfsr_2_new_in[3:0]}}}) |
3557 (asi_wr_data[3:0] & {4 { asi_wr_dsfsr[2]}}) ;
3558assign dsfsr_1_in[3:0] =
3559 (dsfsr_1_new_in[3:0] & {4 {~asi_wr_dsfsr[1]}}) |
3560 (dsfsr_1[3:0] & ~{4 {| {asi_wr_dsfsr[1], dsfsr_1_new_in[3:0]}}}) |
3561 (asi_wr_data[3:0] & {4 { asi_wr_dsfsr[1]}}) ;
3562assign dsfsr_0_in[3:0] =
3563 (dsfsr_0_new_in[3:0] & {4 {~asi_wr_dsfsr[0]}}) |
3564 (dsfsr_0[3:0] & ~{4 {| {asi_wr_dsfsr[0], dsfsr_0_new_in[3:0]}}}) |
3565 (asi_wr_data[3:0] & {4 { asi_wr_dsfsr[0]}}) ;
3566
3567assign precise_d_error[7:0] =
3568 { | {pipe_dsfsr_7[2:0], m_dsfsr_7[2:0], a_dsfsr_7[3:0],
3569 t_dsfsr_7[3:0], l_dsfsr_7[2:0], s_dsfsr_7[2:0]},
3570 | {pipe_dsfsr_6[2:0], m_dsfsr_6[2:0], a_dsfsr_6[3:0],
3571 t_dsfsr_6[3:0], l_dsfsr_6[2:0], s_dsfsr_6[2:0]},
3572 | {pipe_dsfsr_5[2:0], m_dsfsr_5[2:0], a_dsfsr_5[3:0],
3573 t_dsfsr_5[3:0], l_dsfsr_5[2:0], s_dsfsr_5[2:0]},
3574 | {pipe_dsfsr_4[2:0], m_dsfsr_4[2:0], a_dsfsr_4[3:0],
3575 t_dsfsr_4[3:0], l_dsfsr_4[2:0], s_dsfsr_4[2:0]},
3576 | {pipe_dsfsr_3[2:0], m_dsfsr_3[2:0], a_dsfsr_3[3:0],
3577 t_dsfsr_3[3:0], l_dsfsr_3[2:0], s_dsfsr_3[2:0]},
3578 | {pipe_dsfsr_2[2:0], m_dsfsr_2[2:0], a_dsfsr_2[3:0],
3579 t_dsfsr_2[3:0], l_dsfsr_2[2:0], s_dsfsr_2[2:0]},
3580 | {pipe_dsfsr_1[2:0], m_dsfsr_1[2:0], a_dsfsr_1[3:0],
3581 t_dsfsr_1[3:0], l_dsfsr_1[2:0], s_dsfsr_1[2:0]},
3582 | {pipe_dsfsr_0[2:0], m_dsfsr_0[2:0], a_dsfsr_0[3:0],
3583 t_dsfsr_0[3:0], l_dsfsr_0[2:0], s_dsfsr_0[2:0]}};
3584
3585tlu_ras_ctl_msff_ctl_macro__width_4 dsfsr_7_lat (
3586 .scan_in(dsfsr_7_lat_wmr_scanin),
3587 .scan_out(dsfsr_7_lat_wmr_scanout),
3588 .siclk(spc_aclk_wmr),
3589 .din (dsfsr_7_in [3:0] ),
3590 .dout (dsfsr_7 [3:0] ),
3591 .l1clk(l1clk),
3592 .soclk(soclk)
3593);
3594
3595tlu_ras_ctl_msff_ctl_macro__width_4 dsfsr_6_lat (
3596 .scan_in(dsfsr_6_lat_wmr_scanin),
3597 .scan_out(dsfsr_6_lat_wmr_scanout),
3598 .siclk(spc_aclk_wmr),
3599 .din (dsfsr_6_in [3:0] ),
3600 .dout (dsfsr_6 [3:0] ),
3601 .l1clk(l1clk),
3602 .soclk(soclk)
3603);
3604
3605tlu_ras_ctl_msff_ctl_macro__width_4 dsfsr_5_lat (
3606 .scan_in(dsfsr_5_lat_wmr_scanin),
3607 .scan_out(dsfsr_5_lat_wmr_scanout),
3608 .siclk(spc_aclk_wmr),
3609 .din (dsfsr_5_in [3:0] ),
3610 .dout (dsfsr_5 [3:0] ),
3611 .l1clk(l1clk),
3612 .soclk(soclk)
3613);
3614
3615tlu_ras_ctl_msff_ctl_macro__width_4 dsfsr_4_lat (
3616 .scan_in(dsfsr_4_lat_wmr_scanin),
3617 .scan_out(dsfsr_4_lat_wmr_scanout),
3618 .siclk(spc_aclk_wmr),
3619 .din (dsfsr_4_in [3:0] ),
3620 .dout (dsfsr_4 [3:0] ),
3621 .l1clk(l1clk),
3622 .soclk(soclk)
3623);
3624
3625tlu_ras_ctl_msff_ctl_macro__width_4 dsfsr_3_lat (
3626 .scan_in(dsfsr_3_lat_wmr_scanin),
3627 .scan_out(dsfsr_3_lat_wmr_scanout),
3628 .siclk(spc_aclk_wmr),
3629 .din (dsfsr_3_in [3:0] ),
3630 .dout (dsfsr_3 [3:0] ),
3631 .l1clk(l1clk),
3632 .soclk(soclk)
3633);
3634
3635tlu_ras_ctl_msff_ctl_macro__width_4 dsfsr_2_lat (
3636 .scan_in(dsfsr_2_lat_wmr_scanin),
3637 .scan_out(dsfsr_2_lat_wmr_scanout),
3638 .siclk(spc_aclk_wmr),
3639 .din (dsfsr_2_in [3:0] ),
3640 .dout (dsfsr_2 [3:0] ),
3641 .l1clk(l1clk),
3642 .soclk(soclk)
3643);
3644
3645tlu_ras_ctl_msff_ctl_macro__width_4 dsfsr_1_lat (
3646 .scan_in(dsfsr_1_lat_wmr_scanin),
3647 .scan_out(dsfsr_1_lat_wmr_scanout),
3648 .siclk(spc_aclk_wmr),
3649 .din (dsfsr_1_in [3:0] ),
3650 .dout (dsfsr_1 [3:0] ),
3651 .l1clk(l1clk),
3652 .soclk(soclk)
3653);
3654
3655tlu_ras_ctl_msff_ctl_macro__width_4 dsfsr_0_lat (
3656 .scan_in(dsfsr_0_lat_wmr_scanin),
3657 .scan_out(dsfsr_0_lat_wmr_scanout),
3658 .siclk(spc_aclk_wmr),
3659 .din (dsfsr_0_in [3:0] ),
3660 .dout (dsfsr_0 [3:0] ),
3661 .l1clk(l1clk),
3662 .soclk(soclk)
3663);
3664
3665
3666
3667//////////////////////////////////////////////////////////////////////////////
3668//
3669// ASI reads
3670//
3671
3672tlu_ras_ctl_msff_ctl_macro__width_8 asi_rd_ctl_lat (
3673 .scan_in(asi_rd_ctl_lat_scanin),
3674 .scan_out(asi_rd_ctl_lat_scanout),
3675 .din ({asi_rd_isfsr ,
3676 asi_rd_dsfsr ,
3677 asi_rd_dsfar ,
3678 asi_rd_desr ,
3679 asi_rd_fesr ,
3680 asi_rd_tid [2:0]}),
3681 .dout ({rd_isfsr ,
3682 rd_dsfsr ,
3683 rd_dsfar ,
3684 rd_desr ,
3685 rd_fesr ,
3686 rd_tid [2:0]}),
3687 .l1clk(l1clk),
3688 .siclk(siclk),
3689 .soclk(soclk)
3690);
3691
3692assign rd_tid_dec[7:0] =
3693 { rd_tid[2] & rd_tid[1] & rd_tid[0],
3694 rd_tid[2] & rd_tid[1] & ~rd_tid[0],
3695 rd_tid[2] & ~rd_tid[1] & rd_tid[0],
3696 rd_tid[2] & ~rd_tid[1] & ~rd_tid[0],
3697 ~rd_tid[2] & rd_tid[1] & rd_tid[0],
3698 ~rd_tid[2] & rd_tid[1] & ~rd_tid[0],
3699 ~rd_tid[2] & ~rd_tid[1] & rd_tid[0],
3700 ~rd_tid[2] & ~rd_tid[1] & ~rd_tid[0]};
3701
3702assign rd_isfsr_dec[7:0] =
3703 {8 {rd_isfsr}} & rd_tid_dec[7:0];
3704
3705assign rd_dsfsr_dec[7:0] =
3706 {8 {rd_dsfsr}} & rd_tid_dec[7:0];
3707
3708assign rd_desr_dec[7:0] =
3709 {8 {rd_desr}} & rd_tid_dec[7:0];
3710
3711assign ras_rd_dsfar[7:0] =
3712 {8 {rd_dsfar}} & rd_tid_dec[7:0];
3713
3714assign ras_rd_desr[7:0] =
3715 {8 {rd_desr}} & rd_tid_dec[7:0];
3716
3717assign ras_rd_fesr[7:0] =
3718 {8 {rd_fesr}} & rd_tid_dec[7:0];
3719
3720assign ras_asi_data[3:0] =
3721 ({1'b0, isfsr_7[2:0]} & {4 {rd_isfsr_dec[7]}}) |
3722 ({1'b0, isfsr_6[2:0]} & {4 {rd_isfsr_dec[6]}}) |
3723 ({1'b0, isfsr_5[2:0]} & {4 {rd_isfsr_dec[5]}}) |
3724 ({1'b0, isfsr_4[2:0]} & {4 {rd_isfsr_dec[4]}}) |
3725 ({1'b0, isfsr_3[2:0]} & {4 {rd_isfsr_dec[3]}}) |
3726 ({1'b0, isfsr_2[2:0]} & {4 {rd_isfsr_dec[2]}}) |
3727 ({1'b0, isfsr_1[2:0]} & {4 {rd_isfsr_dec[1]}}) |
3728 ({1'b0, isfsr_0[2:0]} & {4 {rd_isfsr_dec[0]}}) |
3729 ( dsfsr_7[3:0] & {4 {rd_dsfsr_dec[7]}}) |
3730 ( dsfsr_6[3:0] & {4 {rd_dsfsr_dec[6]}}) |
3731 ( dsfsr_5[3:0] & {4 {rd_dsfsr_dec[5]}}) |
3732 ( dsfsr_4[3:0] & {4 {rd_dsfsr_dec[4]}}) |
3733 ( dsfsr_3[3:0] & {4 {rd_dsfsr_dec[3]}}) |
3734 ( dsfsr_2[3:0] & {4 {rd_dsfsr_dec[2]}}) |
3735 ( dsfsr_1[3:0] & {4 {rd_dsfsr_dec[1]}}) |
3736 ( dsfsr_0[3:0] & {4 {rd_dsfsr_dec[0]}}) ;
3737
3738
3739
3740//////////////////////////////////////////////////////////////////////////////
3741//
3742// Prepare DSFAR data
3743//
3744
3745assign ras_dsfar_7[19:0] =
3746 pipe_dsfar_7[19:0] |
3747 {{17 {1'b0}}, m_dsfar_7[2:0]} |
3748 {{ 9 {1'b0}}, a_dsfar_7[10:0]} |
3749 {{11 {1'b0}}, l_dsfar_7[8:0]} |
3750 {{17 {1'b0}}, s_dsfar_7[2:0]} ;
3751assign ras_dsfar_6[19:0] =
3752 pipe_dsfar_6[19:0] |
3753 {{17 {1'b0}}, m_dsfar_6[2:0]} |
3754 {{ 9 {1'b0}}, a_dsfar_6[10:0]} |
3755 {{11 {1'b0}}, l_dsfar_6[8:0]} |
3756 {{17 {1'b0}}, s_dsfar_6[2:0]} ;
3757assign ras_dsfar_5[19:0] =
3758 pipe_dsfar_5[19:0] |
3759 {{17 {1'b0}}, m_dsfar_5[2:0]} |
3760 {{ 9 {1'b0}}, a_dsfar_5[10:0]} |
3761 {{11 {1'b0}}, l_dsfar_5[8:0]} |
3762 {{17 {1'b0}}, s_dsfar_5[2:0]} ;
3763assign ras_dsfar_4[19:0] =
3764 pipe_dsfar_4[19:0] |
3765 {{17 {1'b0}}, m_dsfar_4[2:0]} |
3766 {{ 9 {1'b0}}, a_dsfar_4[10:0]} |
3767 {{11 {1'b0}}, l_dsfar_4[8:0]} |
3768 {{17 {1'b0}}, s_dsfar_4[2:0]} ;
3769assign ras_dsfar_3[19:0] =
3770 pipe_dsfar_3[19:0] |
3771 {{17 {1'b0}}, m_dsfar_3[2:0]} |
3772 {{ 9 {1'b0}}, a_dsfar_3[10:0]} |
3773 {{11 {1'b0}}, l_dsfar_3[8:0]} |
3774 {{17 {1'b0}}, s_dsfar_3[2:0]} ;
3775assign ras_dsfar_2[19:0] =
3776 pipe_dsfar_2[19:0] |
3777 {{17 {1'b0}}, m_dsfar_2[2:0]} |
3778 {{ 9 {1'b0}}, a_dsfar_2[10:0]} |
3779 {{11 {1'b0}}, l_dsfar_2[8:0]} |
3780 {{17 {1'b0}}, s_dsfar_2[2:0]} ;
3781assign ras_dsfar_1[19:0] =
3782 pipe_dsfar_1[19:0] |
3783 {{17 {1'b0}}, m_dsfar_1[2:0]} |
3784 {{ 9 {1'b0}}, a_dsfar_1[10:0]} |
3785 {{11 {1'b0}}, l_dsfar_1[8:0]} |
3786 {{17 {1'b0}}, s_dsfar_1[2:0]} ;
3787assign ras_dsfar_0[19:0] =
3788 pipe_dsfar_0[19:0] |
3789 {{17 {1'b0}}, m_dsfar_0[2:0]} |
3790 {{ 9 {1'b0}}, a_dsfar_0[10:0]} |
3791 {{11 {1'b0}}, l_dsfar_0[8:0]} |
3792 {{17 {1'b0}}, s_dsfar_0[2:0]} ;
3793
3794assign ras_dsfar_sel_ras[7:0] =
3795 {| {dsfsr_7_new_in[3:0], itmu_7, dtmu_7},
3796 | {dsfsr_6_new_in[3:0], itmu_6, dtmu_6},
3797 | {dsfsr_5_new_in[3:0], itmu_5, dtmu_5},
3798 | {dsfsr_4_new_in[3:0], itmu_4, dtmu_4},
3799 | {dsfsr_3_new_in[3:0], itmu_3, dtmu_3},
3800 | {dsfsr_2_new_in[3:0], itmu_2, dtmu_2},
3801 | {dsfsr_1_new_in[3:0], itmu_1, dtmu_1},
3802 | {dsfsr_0_new_in[3:0], itmu_0, dtmu_0}} &
3803 ~dsfar_sel_lsu_va_for_error[7:0];
3804
3805
3806//////////////////////////////////////////////////////////////////////////////
3807//
3808// Handle disrupting errors
3809//
3810
3811// Data cache errors -- long latency and implemented as precise but
3812// technically disrupting
3813//
3814// DESR
3815// dcvp 0101
3816// dctp 0110
3817// dctm 0111
3818// dcdp 1000
3819// All these have S = 0
3820
3821tlu_ras_ctl_msff_ctl_macro__width_1 dcvp_lat (
3822 .scan_in(dcvp_lat_scanin),
3823 .scan_out(dcvp_lat_scanout),
3824 .din (lsu_dcvp_err_g ),
3825 .dout (dcvp ),
3826 .l1clk(l1clk),
3827 .siclk(siclk),
3828 .soclk(soclk)
3829);
3830
3831tlu_ras_ctl_msff_ctl_macro__width_1 dctp_lat (
3832 .scan_in(dctp_lat_scanin),
3833 .scan_out(dctp_lat_scanout),
3834 .din (lsu_dctp_err_g ),
3835 .dout (dctp ),
3836 .l1clk(l1clk),
3837 .siclk(siclk),
3838 .soclk(soclk)
3839);
3840
3841tlu_ras_ctl_msff_ctl_macro__width_1 dctm_lat (
3842 .scan_in(dctm_lat_scanin),
3843 .scan_out(dctm_lat_scanout),
3844 .din (lsu_dcmh_err_g ),
3845 .dout (dctm ),
3846 .l1clk(l1clk),
3847 .siclk(siclk),
3848 .soclk(soclk)
3849);
3850
3851tlu_ras_ctl_msff_ctl_macro__width_1 dcdp_lat (
3852 .scan_in(dcdp_lat_scanin),
3853 .scan_out(dcdp_lat_scanout),
3854 .din (lsu_dcdp_err_g ),
3855 .dout (dcdp ),
3856 .l1clk(l1clk),
3857 .siclk(siclk),
3858 .soclk(soclk)
3859);
3860
3861assign d_dec_tid[7:0] =
3862 { l_tid[2] & l_tid[1] & l_tid[0],
3863 l_tid[2] & l_tid[1] & ~l_tid[0],
3864 l_tid[2] & ~l_tid[1] & l_tid[0],
3865 l_tid[2] & ~l_tid[1] & ~l_tid[0],
3866 ~l_tid[2] & l_tid[1] & l_tid[0],
3867 ~l_tid[2] & l_tid[1] & ~l_tid[0],
3868 ~l_tid[2] & ~l_tid[1] & l_tid[0],
3869 ~l_tid[2] & ~l_tid[1] & ~l_tid[0]} & {8 {dcvp | dctp | dctm | dcdp}};
3870
3871assign d_desr_et[3:0] =
3872 ({4 {dcvp}} & 4'b0101) |
3873 ({4 {dctp}} & 4'b0110) |
3874 ({4 {dctm}} & 4'b0111) |
3875 ({4 {dcdp}} & 4'b1000) ;
3876
3877assign d_desr_et_7[3:0] =
3878 d_desr_et[3:0] & {4 {d_dec_tid[7]}};
3879assign d_desr_et_6[3:0] =
3880 d_desr_et[3:0] & {4 {d_dec_tid[6]}};
3881assign d_desr_et_5[3:0] =
3882 d_desr_et[3:0] & {4 {d_dec_tid[5]}};
3883assign d_desr_et_4[3:0] =
3884 d_desr_et[3:0] & {4 {d_dec_tid[4]}};
3885assign d_desr_et_3[3:0] =
3886 d_desr_et[3:0] & {4 {d_dec_tid[3]}};
3887assign d_desr_et_2[3:0] =
3888 d_desr_et[3:0] & {4 {d_dec_tid[2]}};
3889assign d_desr_et_1[3:0] =
3890 d_desr_et[3:0] & {4 {d_dec_tid[1]}};
3891assign d_desr_et_0[3:0] =
3892 d_desr_et[3:0] & {4 {d_dec_tid[0]}};
3893
3894assign d_desr_ea_7[8:0] =
3895 l_dsfar[8:0] & {9 {d_dec_tid[7]}};
3896assign d_desr_ea_6[8:0] =
3897 l_dsfar[8:0] & {9 {d_dec_tid[6]}};
3898assign d_desr_ea_5[8:0] =
3899 l_dsfar[8:0] & {9 {d_dec_tid[5]}};
3900assign d_desr_ea_4[8:0] =
3901 l_dsfar[8:0] & {9 {d_dec_tid[4]}};
3902assign d_desr_ea_3[8:0] =
3903 l_dsfar[8:0] & {9 {d_dec_tid[3]}};
3904assign d_desr_ea_2[8:0] =
3905 l_dsfar[8:0] & {9 {d_dec_tid[2]}};
3906assign d_desr_ea_1[8:0] =
3907 l_dsfar[8:0] & {9 {d_dec_tid[1]}};
3908assign d_desr_ea_0[8:0] =
3909 l_dsfar[8:0] & {9 {d_dec_tid[0]}};
3910
3911
3912// L2 and SOC errors
3913//
3914// DESR
3915// l2ch 01001
3916// l2u 10000
3917// l2nd 10001
3918// soc 01011
3919// sou 10011
3920// l2cs 10100
3921// l2ch and soc has S = 0, others have S = 1
3922
3923tlu_ras_ctl_msff_ctl_macro__width_8 cxi_lat (
3924 .scan_in(cxi_lat_scanin),
3925 .scan_out(cxi_lat_scanout),
3926 .din ({cxi_l2_err ,
3927 cxi_soc_err ,
3928 cxi_l2_soc_err_type [1:0],
3929 cxi_l2_soc_tid [2:0],
3930 cxi_l2_soc_sre }),
3931 .dout ({l2_err ,
3932 soc_err ,
3933 c_l2_soc_err_type [1:0],
3934 c_l2_soc_tid [2:0],
3935 c_l2_soc_sre }),
3936 .l1clk(l1clk),
3937 .siclk(siclk),
3938 .soclk(soclk)
3939);
3940
3941assign c_l2_soc_dec_tid[7:0] =
3942 { c_l2_soc_tid[2] & c_l2_soc_tid[1] & c_l2_soc_tid[0],
3943 c_l2_soc_tid[2] & c_l2_soc_tid[1] & ~c_l2_soc_tid[0],
3944 c_l2_soc_tid[2] & ~c_l2_soc_tid[1] & c_l2_soc_tid[0],
3945 c_l2_soc_tid[2] & ~c_l2_soc_tid[1] & ~c_l2_soc_tid[0],
3946 ~c_l2_soc_tid[2] & c_l2_soc_tid[1] & c_l2_soc_tid[0],
3947 ~c_l2_soc_tid[2] & c_l2_soc_tid[1] & ~c_l2_soc_tid[0],
3948 ~c_l2_soc_tid[2] & ~c_l2_soc_tid[1] & c_l2_soc_tid[0],
3949 ~c_l2_soc_tid[2] & ~c_l2_soc_tid[1] & ~c_l2_soc_tid[0]};
3950
3951assign c_l2_err[7:0] =
3952 {8 {l2_err}} & c_l2_soc_dec_tid[7:0];
3953
3954assign c_soc_err[7:0] =
3955 {8 {soc_err}} & c_l2_soc_dec_tid[7:0];
3956
3957assign l2_dec_tid[7:0] =
3958 c_l2_err[7:0] | c_soc_err[7:0];
3959
3960assign l2ch =
3961 (c_l2_soc_err_type[1:0] == 2'b01) & l2_err & ~c_l2_soc_sre;
3962assign l2cs =
3963 (c_l2_soc_err_type[1:0] == 2'b01) & l2_err & c_l2_soc_sre;
3964assign soc =
3965 (c_l2_soc_err_type[1:0] == 2'b01) & soc_err;
3966assign l2u =
3967 (c_l2_soc_err_type[1:0] == 2'b10) & l2_err;
3968assign sou =
3969 (c_l2_soc_err_type[1:0] == 2'b10) & soc_err;
3970assign l2nd =
3971 (c_l2_soc_err_type[1:0] == 2'b11) & l2_err;
3972
3973assign l2_desr_et[5:0] =
3974 ({6 {l2ch}} & 6'b001001) |
3975 ({6 {l2u }} & 6'b110000) |
3976 ({6 {l2nd}} & 6'b110001) |
3977 ({6 {soc }} & 6'b001011) |
3978 ({6 {sou }} & 6'b110011) |
3979 ({6 {l2cs}} & 6'b110100) ;
3980
3981assign l2_desr_et_7[5:0] =
3982 l2_desr_et[5:0] & {6 {l2_dec_tid[7]}};
3983assign l2_desr_et_6[5:0] =
3984 l2_desr_et[5:0] & {6 {l2_dec_tid[6]}};
3985assign l2_desr_et_5[5:0] =
3986 l2_desr_et[5:0] & {6 {l2_dec_tid[5]}};
3987assign l2_desr_et_4[5:0] =
3988 l2_desr_et[5:0] & {6 {l2_dec_tid[4]}};
3989assign l2_desr_et_3[5:0] =
3990 l2_desr_et[5:0] & {6 {l2_dec_tid[3]}};
3991assign l2_desr_et_2[5:0] =
3992 l2_desr_et[5:0] & {6 {l2_dec_tid[2]}};
3993assign l2_desr_et_1[5:0] =
3994 l2_desr_et[5:0] & {6 {l2_dec_tid[1]}};
3995assign l2_desr_et_0[5:0] =
3996 l2_desr_et[5:0] & {6 {l2_dec_tid[0]}};
3997
3998// No data stored in DESR.EA for L2 or SOC errors
3999
4000
4001
4002// Store buffer errors
4003//
4004// DESR
4005// sbdpc 01010
4006// sbdpu 00110
4007// sbdpu has S = 1
4008
4009tlu_ras_ctl_msff_ctl_macro__width_1 sbdpc_lat (
4010 .scan_in(sbdpc_lat_scanin),
4011 .scan_out(sbdpc_lat_scanout),
4012 .din (lsu_sbdpc_err_g ),
4013 .dout (sbdpc ),
4014 .l1clk(l1clk),
4015 .siclk(siclk),
4016 .soclk(soclk)
4017);
4018
4019tlu_ras_ctl_msff_ctl_macro__width_1 sbdpu_lat (
4020 .scan_in(sbdpu_lat_scanin),
4021 .scan_out(sbdpu_lat_scanout),
4022 .din (lsu_sbdpu_err_g ),
4023 .dout (sbdpu ),
4024 .l1clk(l1clk),
4025 .siclk(siclk),
4026 .soclk(soclk)
4027);
4028
4029assign sb_dec_tid[7:0] =
4030 {s_tid[2:0] == 3'b111,
4031 s_tid[2:0] == 3'b110,
4032 s_tid[2:0] == 3'b101,
4033 s_tid[2:0] == 3'b100,
4034 s_tid[2:0] == 3'b011,
4035 s_tid[2:0] == 3'b010,
4036 s_tid[2:0] == 3'b001,
4037 s_tid[2:0] == 3'b000} & {8 {sbdpc | sbdpu}};
4038
4039assign s_desr_et[5:0] =
4040 {sbdpu, 1'b0, sbdpc, sbdpu, sbdpu | sbdpc, 1'b0};
4041
4042assign s_desr_et_7[5:0] =
4043 s_desr_et[5:0] & {6 {sb_dec_tid[7]}};
4044assign s_desr_et_6[5:0] =
4045 s_desr_et[5:0] & {6 {sb_dec_tid[6]}};
4046assign s_desr_et_5[5:0] =
4047 s_desr_et[5:0] & {6 {sb_dec_tid[5]}};
4048assign s_desr_et_4[5:0] =
4049 s_desr_et[5:0] & {6 {sb_dec_tid[4]}};
4050assign s_desr_et_3[5:0] =
4051 s_desr_et[5:0] & {6 {sb_dec_tid[3]}};
4052assign s_desr_et_2[5:0] =
4053 s_desr_et[5:0] & {6 {sb_dec_tid[2]}};
4054assign s_desr_et_1[5:0] =
4055 s_desr_et[5:0] & {6 {sb_dec_tid[1]}};
4056assign s_desr_et_0[5:0] =
4057 s_desr_et[5:0] & {6 {sb_dec_tid[0]}};
4058
4059assign s_desr_ea_7[2:0] =
4060 s_dsfar[2:0] & {3 {sb_dec_tid[7]}};
4061assign s_desr_ea_6[2:0] =
4062 s_dsfar[2:0] & {3 {sb_dec_tid[6]}};
4063assign s_desr_ea_5[2:0] =
4064 s_dsfar[2:0] & {3 {sb_dec_tid[5]}};
4065assign s_desr_ea_4[2:0] =
4066 s_dsfar[2:0] & {3 {sb_dec_tid[4]}};
4067assign s_desr_ea_3[2:0] =
4068 s_dsfar[2:0] & {3 {sb_dec_tid[3]}};
4069assign s_desr_ea_2[2:0] =
4070 s_dsfar[2:0] & {3 {sb_dec_tid[2]}};
4071assign s_desr_ea_1[2:0] =
4072 s_dsfar[2:0] & {3 {sb_dec_tid[1]}};
4073assign s_desr_ea_0[2:0] =
4074 s_dsfar[2:0] & {3 {sb_dec_tid[0]}};
4075
4076
4077
4078// SPU errors
4079//
4080// DESR
4081// mamu 00111
4082// mal2c 01000
4083// mal2u 01001
4084// mal2nd 01010
4085// cwql2c 01011
4086// cwql2u 01100
4087// cwql2nd 01101
4088// All have S = 1
4089
4090// 10 - ma_copy; 9:8 - syndrome; 7:0 - MA index
4091tlu_ras_ctl_msff_ctl_macro__width_12 mamu_err_lat (
4092 .scan_in(mamu_err_lat_scanin),
4093 .scan_out(mamu_err_lat_scanout),
4094 .din ({spu_tlu_mamu_err_req_v ,
4095 spu_tlu_mamu_err_req [10:0]}),
4096 .dout ({mamu_err_v ,
4097 mamu_err [10:0]}),
4098 .l1clk(l1clk),
4099 .siclk(siclk),
4100 .soclk(soclk)
4101);
4102
4103assign mamu_dec_tid[7:0] =
4104 ma_dec_tid[7:0] & {8 {mamu_err_v}};
4105
4106assign mamu_desr_et[5:0] =
4107 6'b100111;
4108
4109assign mamu_desr_et_7[5:0] =
4110 mamu_desr_et[5:0] & {6 {mamu_dec_tid[7]}};
4111assign mamu_desr_et_6[5:0] =
4112 mamu_desr_et[5:0] & {6 {mamu_dec_tid[6]}};
4113assign mamu_desr_et_5[5:0] =
4114 mamu_desr_et[5:0] & {6 {mamu_dec_tid[5]}};
4115assign mamu_desr_et_4[5:0] =
4116 mamu_desr_et[5:0] & {6 {mamu_dec_tid[4]}};
4117assign mamu_desr_et_3[5:0] =
4118 mamu_desr_et[5:0] & {6 {mamu_dec_tid[3]}};
4119assign mamu_desr_et_2[5:0] =
4120 mamu_desr_et[5:0] & {6 {mamu_dec_tid[2]}};
4121assign mamu_desr_et_1[5:0] =
4122 mamu_desr_et[5:0] & {6 {mamu_dec_tid[1]}};
4123assign mamu_desr_et_0[5:0] =
4124 mamu_desr_et[5:0] & {6 {mamu_dec_tid[0]}};
4125
4126assign mamu_desr_ea_7[10:0] =
4127 mamu_err[10:0] & {11 {mamu_dec_tid[7]}};
4128assign mamu_desr_ea_6[10:0] =
4129 mamu_err[10:0] & {11 {mamu_dec_tid[6]}};
4130assign mamu_desr_ea_5[10:0] =
4131 mamu_err[10:0] & {11 {mamu_dec_tid[5]}};
4132assign mamu_desr_ea_4[10:0] =
4133 mamu_err[10:0] & {11 {mamu_dec_tid[4]}};
4134assign mamu_desr_ea_3[10:0] =
4135 mamu_err[10:0] & {11 {mamu_dec_tid[3]}};
4136assign mamu_desr_ea_2[10:0] =
4137 mamu_err[10:0] & {11 {mamu_dec_tid[2]}};
4138assign mamu_desr_ea_1[10:0] =
4139 mamu_err[10:0] & {11 {mamu_dec_tid[1]}};
4140assign mamu_desr_ea_0[10:0] =
4141 mamu_err[10:0] & {11 {mamu_dec_tid[0]}};
4142
4143tlu_ras_ctl_msff_ctl_macro__width_3 ma_tid_lat (
4144 .scan_in(ma_tid_lat_scanin),
4145 .scan_out(ma_tid_lat_scanout),
4146 .din (spu_tlu_ma_int_req [2:0] ),
4147 .dout (ma_tid [2:0] ),
4148 .l1clk(l1clk),
4149 .siclk(siclk),
4150 .soclk(soclk)
4151);
4152
4153tlu_ras_ctl_msff_ctl_macro__width_3 cwq_tid_lat (
4154 .scan_in(cwq_tid_lat_scanin),
4155 .scan_out(cwq_tid_lat_scanout),
4156 .din (spu_tlu_cwq_int_req [2:0] ),
4157 .dout (cwq_tid [2:0] ),
4158 .l1clk(l1clk),
4159 .siclk(siclk),
4160 .soclk(soclk)
4161);
4162
4163tlu_ras_ctl_msff_ctl_macro__width_6 spu_error_lat (
4164 .scan_in(spu_error_lat_scanin),
4165 .scan_out(spu_error_lat_scanout),
4166 .din (spu_tlu_l2_error [5:0] ),
4167 .dout (spu_error [5:0] ),
4168 .l1clk(l1clk),
4169 .siclk(siclk),
4170 .soclk(soclk)
4171);
4172
4173assign ma_dec_tid[7:0] =
4174 {ma_tid[2:0] == 3'b111,
4175 ma_tid[2:0] == 3'b110,
4176 ma_tid[2:0] == 3'b101,
4177 ma_tid[2:0] == 3'b100,
4178 ma_tid[2:0] == 3'b011,
4179 ma_tid[2:0] == 3'b010,
4180 ma_tid[2:0] == 3'b001,
4181 ma_tid[2:0] == 3'b000};
4182
4183assign cwq_dec_tid[7:0] =
4184 {cwq_tid[2:0] == 3'b111,
4185 cwq_tid[2:0] == 3'b110,
4186 cwq_tid[2:0] == 3'b101,
4187 cwq_tid[2:0] == 3'b100,
4188 cwq_tid[2:0] == 3'b011,
4189 cwq_tid[2:0] == 3'b010,
4190 cwq_tid[2:0] == 3'b001,
4191 cwq_tid[2:0] == 3'b000};
4192
4193assign mal2c =
4194 spu_error[5];
4195assign mal2u =
4196 spu_error[4];
4197assign mal2nd =
4198 spu_error[3];
4199assign cwql2c =
4200 spu_error[2];
4201assign cwql2u =
4202 spu_error[1];
4203assign cwql2nd =
4204 spu_error[0];
4205
4206assign ma_desr_et[5:0] =
4207 ({6 {mal2c }} & 6'b101000) |
4208 ({6 {mal2u }} & 6'b101001) |
4209 ({6 {mal2nd }} & 6'b101010) ;
4210
4211assign cwq_desr_et[5:0] =
4212 ({6 {cwql2c }} & 6'b101011) |
4213 ({6 {cwql2u }} & 6'b101100) |
4214 ({6 {cwql2nd}} & 6'b101101) ;
4215
4216assign ma_desr_et_7[5:0] =
4217 ma_desr_et[5:0] & {6 {ma_dec_tid[7]}};
4218assign ma_desr_et_6[5:0] =
4219 ma_desr_et[5:0] & {6 {ma_dec_tid[6]}};
4220assign ma_desr_et_5[5:0] =
4221 ma_desr_et[5:0] & {6 {ma_dec_tid[5]}};
4222assign ma_desr_et_4[5:0] =
4223 ma_desr_et[5:0] & {6 {ma_dec_tid[4]}};
4224assign ma_desr_et_3[5:0] =
4225 ma_desr_et[5:0] & {6 {ma_dec_tid[3]}};
4226assign ma_desr_et_2[5:0] =
4227 ma_desr_et[5:0] & {6 {ma_dec_tid[2]}};
4228assign ma_desr_et_1[5:0] =
4229 ma_desr_et[5:0] & {6 {ma_dec_tid[1]}};
4230assign ma_desr_et_0[5:0] =
4231 ma_desr_et[5:0] & {6 {ma_dec_tid[0]}};
4232
4233assign cwq_desr_et_7[5:0] =
4234 cwq_desr_et[5:0] & {6 {cwq_dec_tid[7]}};
4235assign cwq_desr_et_6[5:0] =
4236 cwq_desr_et[5:0] & {6 {cwq_dec_tid[6]}};
4237assign cwq_desr_et_5[5:0] =
4238 cwq_desr_et[5:0] & {6 {cwq_dec_tid[5]}};
4239assign cwq_desr_et_4[5:0] =
4240 cwq_desr_et[5:0] & {6 {cwq_dec_tid[4]}};
4241assign cwq_desr_et_3[5:0] =
4242 cwq_desr_et[5:0] & {6 {cwq_dec_tid[3]}};
4243assign cwq_desr_et_2[5:0] =
4244 cwq_desr_et[5:0] & {6 {cwq_dec_tid[2]}};
4245assign cwq_desr_et_1[5:0] =
4246 cwq_desr_et[5:0] & {6 {cwq_dec_tid[1]}};
4247assign cwq_desr_et_0[5:0] =
4248 cwq_desr_et[5:0] & {6 {cwq_dec_tid[0]}};
4249
4250// ma and cwq are all L2 errors so no DESR.EA for them
4251
4252
4253
4254// TCA errors
4255//
4256// DESR
4257// tccd 01110
4258// tcud 01111
4259// Both have S = 1
4260
4261assign t_desr_et_7[5:0] =
4262 ({6 {tlu_tccd[7]}} & 6'b101110) |
4263 ({6 {tlu_tcud[7]}} & 6'b101111) ;
4264assign t_desr_et_6[5:0] =
4265 ({6 {tlu_tccd[6]}} & 6'b101110) |
4266 ({6 {tlu_tcud[6]}} & 6'b101111) ;
4267assign t_desr_et_5[5:0] =
4268 ({6 {tlu_tccd[5]}} & 6'b101110) |
4269 ({6 {tlu_tcud[5]}} & 6'b101111) ;
4270assign t_desr_et_4[5:0] =
4271 ({6 {tlu_tccd[4]}} & 6'b101110) |
4272 ({6 {tlu_tcud[4]}} & 6'b101111) ;
4273assign t_desr_et_3[5:0] =
4274 ({6 {tlu_tccd[3]}} & 6'b101110) |
4275 ({6 {tlu_tcud[3]}} & 6'b101111) ;
4276assign t_desr_et_2[5:0] =
4277 ({6 {tlu_tccd[2]}} & 6'b101110) |
4278 ({6 {tlu_tcud[2]}} & 6'b101111) ;
4279assign t_desr_et_1[5:0] =
4280 ({6 {tlu_tccd[1]}} & 6'b101110) |
4281 ({6 {tlu_tcud[1]}} & 6'b101111) ;
4282assign t_desr_et_0[5:0] =
4283 ({6 {tlu_tccd[0]}} & 6'b101110) |
4284 ({6 {tlu_tcud[0]}} & 6'b101111) ;
4285
4286assign t_desr_ea_7[9:0] =
4287 {10 {tlu_tccd[7] | tlu_tcud[7]}} &
4288 {cel_syndrome[7:0], tlu_tca_index_1[1:0]};
4289assign t_desr_ea_6[9:0] =
4290 {10 {tlu_tccd[6] | tlu_tcud[6]}} &
4291 {cel_syndrome[7:0], tlu_tca_index_1[1:0]};
4292assign t_desr_ea_5[9:0] =
4293 {10 {tlu_tccd[5] | tlu_tcud[5]}} &
4294 {cel_syndrome[7:0], tlu_tca_index_1[1:0]};
4295assign t_desr_ea_4[9:0] =
4296 {10 {tlu_tccd[4] | tlu_tcud[4]}} &
4297 {cel_syndrome[7:0], tlu_tca_index_1[1:0]};
4298assign t_desr_ea_3[9:0] =
4299 {10 {tlu_tccd[3] | tlu_tcud[3]}} &
4300 {cel_syndrome[7:0], tlu_tca_index_0[1:0]};
4301assign t_desr_ea_2[9:0] =
4302 {10 {tlu_tccd[2] | tlu_tcud[2]}} &
4303 {cel_syndrome[7:0], tlu_tca_index_0[1:0]};
4304assign t_desr_ea_1[9:0] =
4305 {10 {tlu_tccd[1] | tlu_tcud[1]}} &
4306 {cel_syndrome[7:0], tlu_tca_index_0[1:0]};
4307assign t_desr_ea_0[9:0] =
4308 {10 {tlu_tccd[0] | tlu_tcud[0]}} &
4309 {cel_syndrome[7:0], tlu_tca_index_0[1:0]};
4310
4311
4312
4313
4314//
4315// DESRs
4316//
4317
4318// Prioritize DESR exceptions
4319// S = 0, type 1-4, priority 11
4320// and S = 1, type 2, priority 6
4321assign pipe_desr_exc_7 = (| pipe_desr_et_7[5:0]);
4322assign pipe_desr_exc_6 = (| pipe_desr_et_6[5:0]);
4323assign pipe_desr_exc_5 = (| pipe_desr_et_5[5:0]);
4324assign pipe_desr_exc_4 = (| pipe_desr_et_4[5:0]);
4325assign pipe_desr_exc_3 = (| pipe_desr_et_3[5:0]);
4326assign pipe_desr_exc_2 = (| pipe_desr_et_2[5:0]);
4327assign pipe_desr_exc_1 = (| pipe_desr_et_1[5:0]);
4328assign pipe_desr_exc_0 = (| pipe_desr_et_0[5:0]);
4329
4330// S = 1, type 1&3, priority 6
4331assign m_desr_exc_7 = m_desr_et_7[5];
4332assign m_desr_exc_6 = m_desr_et_6[5];
4333assign m_desr_exc_5 = m_desr_et_5[5];
4334assign m_desr_exc_4 = m_desr_et_4[5];
4335assign m_desr_exc_3 = m_desr_et_3[5];
4336assign m_desr_exc_2 = m_desr_et_2[5];
4337assign m_desr_exc_1 = m_desr_et_1[5];
4338assign m_desr_exc_0 = m_desr_et_0[5];
4339
4340// S = 1, type 4, priority 6
4341// and S = 0, type 11, priority 15 (shared with l2)
4342assign l_desr_exc_7 = (| l_desr_et_7[5:0]);
4343assign l_desr_exc_6 = (| l_desr_et_6[5:0]);
4344assign l_desr_exc_5 = (| l_desr_et_5[5:0]);
4345assign l_desr_exc_4 = (| l_desr_et_4[5:0]);
4346assign l_desr_exc_3 = (| l_desr_et_3[5:0]);
4347assign l_desr_exc_2 = (| l_desr_et_2[5:0]);
4348assign l_desr_exc_1 = (| l_desr_et_1[5:0]);
4349assign l_desr_exc_0 = (| l_desr_et_0[5:0]);
4350
4351// S = 0, type 5-8, priority 12
4352assign d_desr_exc_7 = (| d_desr_et_7[3:0]);
4353assign d_desr_exc_6 = (| d_desr_et_6[3:0]);
4354assign d_desr_exc_5 = (| d_desr_et_5[3:0]);
4355assign d_desr_exc_4 = (| d_desr_et_4[3:0]);
4356assign d_desr_exc_3 = (| d_desr_et_3[3:0]);
4357assign d_desr_exc_2 = (| d_desr_et_2[3:0]);
4358assign d_desr_exc_1 = (| d_desr_et_1[3:0]);
4359assign d_desr_exc_0 = (| d_desr_et_0[3:0]);
4360
4361// S = 0, type 9, priority 13
4362// and S = 0, type 11, priority 15 (shared with l)
4363// and S = 1, type 16-17, priority 5
4364// and S = 1, type 18-19, priority 7
4365assign l2_desr_exc_7 = (| l2_desr_et_7[5:0]);
4366assign l2_desr_exc_6 = (| l2_desr_et_6[5:0]);
4367assign l2_desr_exc_5 = (| l2_desr_et_5[5:0]);
4368assign l2_desr_exc_4 = (| l2_desr_et_4[5:0]);
4369assign l2_desr_exc_3 = (| l2_desr_et_3[5:0]);
4370assign l2_desr_exc_2 = (| l2_desr_et_2[5:0]);
4371assign l2_desr_exc_1 = (| l2_desr_et_1[5:0]);
4372assign l2_desr_exc_0 = (| l2_desr_et_0[5:0]);
4373
4374// S = 0, type 10, priority 14
4375// and S = 1, type 6, priority 1
4376assign s_desr_exc_7 = (| s_desr_et_7[5:0]);
4377assign s_desr_exc_6 = (| s_desr_et_6[5:0]);
4378assign s_desr_exc_5 = (| s_desr_et_5[5:0]);
4379assign s_desr_exc_4 = (| s_desr_et_4[5:0]);
4380assign s_desr_exc_3 = (| s_desr_et_3[5:0]);
4381assign s_desr_exc_2 = (| s_desr_et_2[5:0]);
4382assign s_desr_exc_1 = (| s_desr_et_1[5:0]);
4383assign s_desr_exc_0 = (| s_desr_et_0[5:0]);
4384
4385// S = 1, type 7, priority 3
4386assign mamu_desr_exc_7 = mamu_desr_et_7[5];
4387assign mamu_desr_exc_6 = mamu_desr_et_6[5];
4388assign mamu_desr_exc_5 = mamu_desr_et_5[5];
4389assign mamu_desr_exc_4 = mamu_desr_et_4[5];
4390assign mamu_desr_exc_3 = mamu_desr_et_3[5];
4391assign mamu_desr_exc_2 = mamu_desr_et_2[5];
4392assign mamu_desr_exc_1 = mamu_desr_et_1[5];
4393assign mamu_desr_exc_0 = mamu_desr_et_0[5];
4394
4395// S = 1, type 8-10, priority 3
4396assign ma_desr_exc_7 = ma_desr_et_7[5];
4397assign ma_desr_exc_6 = ma_desr_et_6[5];
4398assign ma_desr_exc_5 = ma_desr_et_5[5];
4399assign ma_desr_exc_4 = ma_desr_et_4[5];
4400assign ma_desr_exc_3 = ma_desr_et_3[5];
4401assign ma_desr_exc_2 = ma_desr_et_2[5];
4402assign ma_desr_exc_1 = ma_desr_et_1[5];
4403assign ma_desr_exc_0 = ma_desr_et_0[5];
4404
4405// S = 1, type 11-13, priority 4
4406assign cwq_desr_exc_7 = cwq_desr_et_7[5];
4407assign cwq_desr_exc_6 = cwq_desr_et_6[5];
4408assign cwq_desr_exc_5 = cwq_desr_et_5[5];
4409assign cwq_desr_exc_4 = cwq_desr_et_4[5];
4410assign cwq_desr_exc_3 = cwq_desr_et_3[5];
4411assign cwq_desr_exc_2 = cwq_desr_et_2[5];
4412assign cwq_desr_exc_1 = cwq_desr_et_1[5];
4413assign cwq_desr_exc_0 = cwq_desr_et_0[5];
4414
4415// S = 1, type 14-15, priority 2
4416assign t_desr_exc_7 = t_desr_et_7[5];
4417assign t_desr_exc_6 = t_desr_et_6[5];
4418assign t_desr_exc_5 = t_desr_et_5[5];
4419assign t_desr_exc_4 = t_desr_et_4[5];
4420assign t_desr_exc_3 = t_desr_et_3[5];
4421assign t_desr_exc_2 = t_desr_et_2[5];
4422assign t_desr_exc_1 = t_desr_et_1[5];
4423assign t_desr_exc_0 = t_desr_et_0[5];
4424
4425assign ras_desr_en[7] =
4426 pipe_desr_exc_7 | m_desr_exc_7 | l_desr_exc_7 | d_desr_exc_7 |
4427 l2_desr_exc_7 | s_desr_exc_7 | mamu_desr_exc_7 | ma_desr_exc_7 |
4428 cwq_desr_exc_7 | t_desr_exc_7 | rd_desr_dec[7];
4429assign ras_desr_en[6] =
4430 pipe_desr_exc_6 | m_desr_exc_6 | l_desr_exc_6 | d_desr_exc_6 |
4431 l2_desr_exc_6 | s_desr_exc_6 | mamu_desr_exc_6 | ma_desr_exc_6 |
4432 cwq_desr_exc_6 | t_desr_exc_6 | rd_desr_dec[6];
4433assign ras_desr_en[5] =
4434 pipe_desr_exc_5 | m_desr_exc_5 | l_desr_exc_5 | d_desr_exc_5 |
4435 l2_desr_exc_5 | s_desr_exc_5 | mamu_desr_exc_5 | ma_desr_exc_5 |
4436 cwq_desr_exc_5 | t_desr_exc_5 | rd_desr_dec[5];
4437assign ras_desr_en[4] =
4438 pipe_desr_exc_4 | m_desr_exc_4 | l_desr_exc_4 | d_desr_exc_4 |
4439 l2_desr_exc_4 | s_desr_exc_4 | mamu_desr_exc_4 | ma_desr_exc_4 |
4440 cwq_desr_exc_4 | t_desr_exc_4 | rd_desr_dec[4];
4441assign ras_desr_en[3] =
4442 pipe_desr_exc_3 | m_desr_exc_3 | l_desr_exc_3 | d_desr_exc_3 |
4443 l2_desr_exc_3 | s_desr_exc_3 | mamu_desr_exc_3 | ma_desr_exc_3 |
4444 cwq_desr_exc_3 | t_desr_exc_3 | rd_desr_dec[3];
4445assign ras_desr_en[2] =
4446 pipe_desr_exc_2 | m_desr_exc_2 | l_desr_exc_2 | d_desr_exc_2 |
4447 l2_desr_exc_2 | s_desr_exc_2 | mamu_desr_exc_2 | ma_desr_exc_2 |
4448 cwq_desr_exc_2 | t_desr_exc_2 | rd_desr_dec[2];
4449assign ras_desr_en[1] =
4450 pipe_desr_exc_1 | m_desr_exc_1 | l_desr_exc_1 | d_desr_exc_1 |
4451 l2_desr_exc_1 | s_desr_exc_1 | mamu_desr_exc_1 | ma_desr_exc_1 |
4452 cwq_desr_exc_1 | t_desr_exc_1 | rd_desr_dec[1];
4453assign ras_desr_en[0] =
4454 pipe_desr_exc_0 | m_desr_exc_0 | l_desr_exc_0 | d_desr_exc_0 |
4455 l2_desr_exc_0 | s_desr_exc_0 | mamu_desr_exc_0 | ma_desr_exc_0 |
4456 cwq_desr_exc_0 | t_desr_exc_0 | rd_desr_dec[0];
4457
4458// Third term is to catch the case of simultaneous
4459// SBDPC (type 10, priority 14) and SOCC (type 11, priority 15)
4460assign take_s_7 =
4461 s_desr_et_7[5] |
4462 (s_desr_exc_7 & ~l2_desr_exc_7 & ~d_desr_exc_7 & ~pipe_desr_exc_7 & no_desr_s_7) |
4463 (s_desr_exc_7 & l2_desr_et_7[1] & ~d_desr_exc_7 & ~pipe_desr_exc_7 & no_desr_s_7) ;
4464assign take_s_6 =
4465 s_desr_et_6[5] |
4466 (s_desr_exc_6 & ~l2_desr_exc_6 & ~d_desr_exc_6 & ~pipe_desr_exc_6 & no_desr_s_6) |
4467 (s_desr_exc_6 & l2_desr_et_6[1] & ~d_desr_exc_6 & ~pipe_desr_exc_6 & no_desr_s_6) ;
4468assign take_s_5 =
4469 s_desr_et_5[5] |
4470 (s_desr_exc_5 & ~l2_desr_exc_5 & ~d_desr_exc_5 & ~pipe_desr_exc_5 & no_desr_s_5) |
4471 (s_desr_exc_5 & l2_desr_et_5[1] & ~d_desr_exc_5 & ~pipe_desr_exc_5 & no_desr_s_5) ;
4472assign take_s_4 =
4473 s_desr_et_4[5] |
4474 (s_desr_exc_4 & ~l2_desr_exc_4 & ~d_desr_exc_4 & ~pipe_desr_exc_4 & no_desr_s_4) |
4475 (s_desr_exc_4 & l2_desr_et_4[1] & ~d_desr_exc_4 & ~pipe_desr_exc_4 & no_desr_s_4) ;
4476assign take_s_3 =
4477 s_desr_et_3[5] |
4478 (s_desr_exc_3 & ~l2_desr_exc_3 & ~d_desr_exc_3 & ~pipe_desr_exc_3 & no_desr_s_3) |
4479 (s_desr_exc_3 & l2_desr_et_3[1] & ~d_desr_exc_3 & ~pipe_desr_exc_3 & no_desr_s_3) ;
4480assign take_s_2 =
4481 s_desr_et_2[5] |
4482 (s_desr_exc_2 & ~l2_desr_exc_2 & ~d_desr_exc_2 & ~pipe_desr_exc_2 & no_desr_s_2) |
4483 (s_desr_exc_2 & l2_desr_et_2[1] & ~d_desr_exc_2 & ~pipe_desr_exc_2 & no_desr_s_2) ;
4484assign take_s_1 =
4485 s_desr_et_1[5] |
4486 (s_desr_exc_1 & ~l2_desr_exc_1 & ~d_desr_exc_1 & ~pipe_desr_exc_1 & no_desr_s_1) |
4487 (s_desr_exc_1 & l2_desr_et_1[1] & ~d_desr_exc_1 & ~pipe_desr_exc_1 & no_desr_s_1) ;
4488assign take_s_0 =
4489 s_desr_et_0[5] |
4490 (s_desr_exc_0 & ~l2_desr_exc_0 & ~d_desr_exc_0 & ~pipe_desr_exc_0 & no_desr_s_0) |
4491 (s_desr_exc_0 & l2_desr_et_0[1] & ~d_desr_exc_0 & ~pipe_desr_exc_0 & no_desr_s_0) ;
4492
4493assign take_t_7 = t_desr_exc_7 & ~s_desr_et_7[5];
4494assign take_t_6 = t_desr_exc_6 & ~s_desr_et_6[5];
4495assign take_t_5 = t_desr_exc_5 & ~s_desr_et_5[5];
4496assign take_t_4 = t_desr_exc_4 & ~s_desr_et_4[5];
4497assign take_t_3 = t_desr_exc_3 & ~s_desr_et_3[5];
4498assign take_t_2 = t_desr_exc_2 & ~s_desr_et_2[5];
4499assign take_t_1 = t_desr_exc_1 & ~s_desr_et_1[5];
4500assign take_t_0 = t_desr_exc_0 & ~s_desr_et_0[5];
4501
4502assign take_ma_7 = ma_desr_exc_7 & ~t_desr_et_7[5] & ~s_desr_et_7[5];
4503assign take_ma_6 = ma_desr_exc_6 & ~t_desr_et_6[5] & ~s_desr_et_6[5];
4504assign take_ma_5 = ma_desr_exc_5 & ~t_desr_et_5[5] & ~s_desr_et_5[5];
4505assign take_ma_4 = ma_desr_exc_4 & ~t_desr_et_4[5] & ~s_desr_et_4[5];
4506assign take_ma_3 = ma_desr_exc_3 & ~t_desr_et_3[5] & ~s_desr_et_3[5];
4507assign take_ma_2 = ma_desr_exc_2 & ~t_desr_et_2[5] & ~s_desr_et_2[5];
4508assign take_ma_1 = ma_desr_exc_1 & ~t_desr_et_1[5] & ~s_desr_et_1[5];
4509assign take_ma_0 = ma_desr_exc_0 & ~t_desr_et_0[5] & ~s_desr_et_0[5];
4510
4511assign take_mamu_7 = mamu_desr_exc_7 & ~ma_desr_exc_7 & ~t_desr_et_7[5] & ~s_desr_et_7[5];
4512assign take_mamu_6 = mamu_desr_exc_6 & ~ma_desr_exc_6 & ~t_desr_et_6[5] & ~s_desr_et_6[5];
4513assign take_mamu_5 = mamu_desr_exc_5 & ~ma_desr_exc_5 & ~t_desr_et_5[5] & ~s_desr_et_5[5];
4514assign take_mamu_4 = mamu_desr_exc_4 & ~ma_desr_exc_4 & ~t_desr_et_4[5] & ~s_desr_et_4[5];
4515assign take_mamu_3 = mamu_desr_exc_3 & ~ma_desr_exc_3 & ~t_desr_et_3[5] & ~s_desr_et_3[5];
4516assign take_mamu_2 = mamu_desr_exc_2 & ~ma_desr_exc_2 & ~t_desr_et_2[5] & ~s_desr_et_2[5];
4517assign take_mamu_1 = mamu_desr_exc_1 & ~ma_desr_exc_1 & ~t_desr_et_1[5] & ~s_desr_et_1[5];
4518assign take_mamu_0 = mamu_desr_exc_0 & ~ma_desr_exc_0 & ~t_desr_et_0[5] & ~s_desr_et_0[5];
4519
4520assign take_cwq_7 = cwq_desr_exc_7 & ~mamu_desr_et_7[5] & ~ma_desr_et_7[5] & ~t_desr_et_7[5] & ~s_desr_et_7[5];
4521assign take_cwq_6 = cwq_desr_exc_6 & ~mamu_desr_et_6[5] & ~ma_desr_et_6[5] & ~t_desr_et_6[5] & ~s_desr_et_6[5];
4522assign take_cwq_5 = cwq_desr_exc_5 & ~mamu_desr_et_5[5] & ~ma_desr_et_5[5] & ~t_desr_et_5[5] & ~s_desr_et_5[5];
4523assign take_cwq_4 = cwq_desr_exc_4 & ~mamu_desr_et_4[5] & ~ma_desr_et_4[5] & ~t_desr_et_4[5] & ~s_desr_et_4[5];
4524assign take_cwq_3 = cwq_desr_exc_3 & ~mamu_desr_et_3[5] & ~ma_desr_et_3[5] & ~t_desr_et_3[5] & ~s_desr_et_3[5];
4525assign take_cwq_2 = cwq_desr_exc_2 & ~mamu_desr_et_2[5] & ~ma_desr_et_2[5] & ~t_desr_et_2[5] & ~s_desr_et_2[5];
4526assign take_cwq_1 = cwq_desr_exc_1 & ~mamu_desr_et_1[5] & ~ma_desr_et_1[5] & ~t_desr_et_1[5] & ~s_desr_et_1[5];
4527assign take_cwq_0 = cwq_desr_exc_0 & ~mamu_desr_et_0[5] & ~ma_desr_et_0[5] & ~t_desr_et_0[5] & ~s_desr_et_0[5];
4528
4529assign take_l2_7 = (l2_desr_et_7[5] & ~l2_desr_et_7[1] & ~cwq_desr_et_7[5] & ~mamu_desr_et_7[5] & ~ma_desr_et_7[5] & ~t_desr_et_7[5] & ~s_desr_et_7[5]) |
4530 (l2_desr_et_7[5] & l2_desr_et_7[1] & ~pipe_desr_et_7[5] & ~m_desr_et_7[5] & ~l_desr_et_7[5] & ~cwq_desr_et_7[5] & ~mamu_desr_et_7[5] & ~ma_desr_et_7[5] & ~t_desr_et_7[5] & ~s_desr_et_7[5]) |
4531 (l2_desr_exc_7 & ~l2_desr_et_7[1] & ~d_desr_exc_7 & ~pipe_desr_exc_7 & no_desr_s_7) |
4532 (l2_desr_exc_7 & l2_desr_et_7[1] & ~s_desr_exc_7 & ~d_desr_exc_7 & ~pipe_desr_exc_7 & no_desr_s_7) ;
4533assign take_l2_6 = (l2_desr_et_6[5] & ~l2_desr_et_6[1] & ~cwq_desr_et_6[5] & ~mamu_desr_et_6[5] & ~ma_desr_et_6[5] & ~t_desr_et_6[5] & ~s_desr_et_6[5]) |
4534 (l2_desr_et_6[5] & l2_desr_et_6[1] & ~pipe_desr_et_6[5] & ~m_desr_et_6[5] & ~l_desr_et_6[5] & ~cwq_desr_et_6[5] & ~mamu_desr_et_6[5] & ~ma_desr_et_6[5] & ~t_desr_et_6[5] & ~s_desr_et_6[5]) |
4535 (l2_desr_exc_6 & ~l2_desr_et_6[1] & ~d_desr_exc_6 & ~pipe_desr_exc_6 & no_desr_s_6) |
4536 (l2_desr_exc_6 & l2_desr_et_6[1] & ~s_desr_exc_6 & ~d_desr_exc_6 & ~pipe_desr_exc_6 & no_desr_s_6) ;
4537assign take_l2_5 = (l2_desr_et_5[5] & ~l2_desr_et_5[1] & ~cwq_desr_et_5[5] & ~mamu_desr_et_5[5] & ~ma_desr_et_5[5] & ~t_desr_et_5[5] & ~s_desr_et_5[5]) |
4538 (l2_desr_et_5[5] & l2_desr_et_5[1] & ~pipe_desr_et_5[5] & ~m_desr_et_5[5] & ~l_desr_et_5[5] & ~cwq_desr_et_5[5] & ~mamu_desr_et_5[5] & ~ma_desr_et_5[5] & ~t_desr_et_5[5] & ~s_desr_et_5[5]) |
4539 (l2_desr_exc_5 & ~l2_desr_et_5[1] & ~d_desr_exc_5 & ~pipe_desr_exc_5 & no_desr_s_5) |
4540 (l2_desr_exc_5 & l2_desr_et_5[1] & ~s_desr_exc_5 & ~d_desr_exc_5 & ~pipe_desr_exc_5 & no_desr_s_5) ;
4541assign take_l2_4 = (l2_desr_et_4[5] & ~l2_desr_et_4[1] & ~cwq_desr_et_4[5] & ~mamu_desr_et_4[5] & ~ma_desr_et_4[5] & ~t_desr_et_4[5] & ~s_desr_et_4[5]) |
4542 (l2_desr_et_4[5] & l2_desr_et_4[1] & ~pipe_desr_et_4[5] & ~m_desr_et_4[5] & ~l_desr_et_4[5] & ~cwq_desr_et_4[5] & ~mamu_desr_et_4[5] & ~ma_desr_et_4[5] & ~t_desr_et_4[5] & ~s_desr_et_4[5]) |
4543 (l2_desr_exc_4 & ~l2_desr_et_4[1] & ~d_desr_exc_4 & ~pipe_desr_exc_4 & no_desr_s_4) |
4544 (l2_desr_exc_4 & l2_desr_et_4[1] & ~s_desr_exc_4 & ~d_desr_exc_4 & ~pipe_desr_exc_4 & no_desr_s_4) ;
4545assign take_l2_3 = (l2_desr_et_3[5] & ~l2_desr_et_3[1] & ~cwq_desr_et_3[5] & ~mamu_desr_et_3[5] & ~ma_desr_et_3[5] & ~t_desr_et_3[5] & ~s_desr_et_3[5]) |
4546 (l2_desr_et_3[5] & l2_desr_et_3[1] & ~pipe_desr_et_3[5] & ~m_desr_et_3[5] & ~l_desr_et_3[5] & ~cwq_desr_et_3[5] & ~mamu_desr_et_3[5] & ~ma_desr_et_3[5] & ~t_desr_et_3[5] & ~s_desr_et_3[5]) |
4547 (l2_desr_exc_3 & ~l2_desr_et_3[1] & ~d_desr_exc_3 & ~pipe_desr_exc_3 & no_desr_s_3) |
4548 (l2_desr_exc_3 & l2_desr_et_3[1] & ~s_desr_exc_3 & ~d_desr_exc_3 & ~pipe_desr_exc_3 & no_desr_s_3) ;
4549assign take_l2_2 = (l2_desr_et_2[5] & ~l2_desr_et_2[1] & ~cwq_desr_et_2[5] & ~mamu_desr_et_2[5] & ~ma_desr_et_2[5] & ~t_desr_et_2[5] & ~s_desr_et_2[5]) |
4550 (l2_desr_et_2[5] & l2_desr_et_2[1] & ~pipe_desr_et_2[5] & ~m_desr_et_2[5] & ~l_desr_et_2[5] & ~cwq_desr_et_2[5] & ~mamu_desr_et_2[5] & ~ma_desr_et_2[5] & ~t_desr_et_2[5] & ~s_desr_et_2[5]) |
4551 (l2_desr_exc_2 & ~l2_desr_et_2[1] & ~d_desr_exc_2 & ~pipe_desr_exc_2 & no_desr_s_2) |
4552 (l2_desr_exc_2 & l2_desr_et_2[1] & ~s_desr_exc_2 & ~d_desr_exc_2 & ~pipe_desr_exc_2 & no_desr_s_2) ;
4553assign take_l2_1 = (l2_desr_et_1[5] & ~l2_desr_et_1[1] & ~cwq_desr_et_1[5] & ~mamu_desr_et_1[5] & ~ma_desr_et_1[5] & ~t_desr_et_1[5] & ~s_desr_et_1[5]) |
4554 (l2_desr_et_1[5] & l2_desr_et_1[1] & ~pipe_desr_et_1[5] & ~m_desr_et_1[5] & ~l_desr_et_1[5] & ~cwq_desr_et_1[5] & ~mamu_desr_et_1[5] & ~ma_desr_et_1[5] & ~t_desr_et_1[5] & ~s_desr_et_1[5]) |
4555 (l2_desr_exc_1 & ~l2_desr_et_1[1] & ~d_desr_exc_1 & ~pipe_desr_exc_1 & no_desr_s_1) |
4556 (l2_desr_exc_1 & l2_desr_et_1[1] & ~s_desr_exc_1 & ~d_desr_exc_1 & ~pipe_desr_exc_1 & no_desr_s_1) ;
4557assign take_l2_0 = (l2_desr_et_0[5] & ~l2_desr_et_0[1] & ~cwq_desr_et_0[5] & ~mamu_desr_et_0[5] & ~ma_desr_et_0[5] & ~t_desr_et_0[5] & ~s_desr_et_0[5]) |
4558 (l2_desr_et_0[5] & l2_desr_et_0[1] & ~pipe_desr_et_0[5] & ~m_desr_et_0[5] & ~l_desr_et_0[5] & ~cwq_desr_et_0[5] & ~mamu_desr_et_0[5] & ~ma_desr_et_0[5] & ~t_desr_et_0[5] & ~s_desr_et_0[5]) |
4559 (l2_desr_exc_0 & ~l2_desr_et_0[1] & ~d_desr_exc_0 & ~pipe_desr_exc_0 & no_desr_s_0) |
4560 (l2_desr_exc_0 & l2_desr_et_0[1] & ~s_desr_exc_0 & ~d_desr_exc_0 & ~pipe_desr_exc_0 & no_desr_s_0) ;
4561
4562assign take_pipe_7 = (pipe_desr_et_7[5] & ~l2_desr_et_7[5] & ~m_desr_et_7[5] & ~l_desr_et_7[5] & ~cwq_desr_et_7[5] & ~mamu_desr_et_7[5] & ~ma_desr_et_7[5] & ~t_desr_et_7[5] & ~s_desr_et_7[5]) |
4563 (pipe_desr_et_7[5] & l2_desr_et_7[1] & ~m_desr_et_7[5] & ~l_desr_et_7[5] & ~cwq_desr_et_7[5] & ~mamu_desr_et_7[5] & ~ma_desr_et_7[5] & ~t_desr_et_7[5] & ~s_desr_et_7[5]) |
4564 (pipe_desr_exc_7 & no_desr_s_7);
4565assign take_pipe_6 = (pipe_desr_et_6[5] & ~l2_desr_et_6[5] & ~m_desr_et_6[5] & ~l_desr_et_6[5] & ~cwq_desr_et_6[5] & ~mamu_desr_et_6[5] & ~ma_desr_et_6[5] & ~t_desr_et_6[5] & ~s_desr_et_6[5]) |
4566 (pipe_desr_et_6[5] & l2_desr_et_6[1] & ~m_desr_et_6[5] & ~l_desr_et_6[5] & ~cwq_desr_et_6[5] & ~mamu_desr_et_6[5] & ~ma_desr_et_6[5] & ~t_desr_et_6[5] & ~s_desr_et_6[5]) |
4567 (pipe_desr_exc_6 & no_desr_s_6);
4568assign take_pipe_5 = (pipe_desr_et_5[5] & ~l2_desr_et_5[5] & ~m_desr_et_5[5] & ~l_desr_et_5[5] & ~cwq_desr_et_5[5] & ~mamu_desr_et_5[5] & ~ma_desr_et_5[5] & ~t_desr_et_5[5] & ~s_desr_et_5[5]) |
4569 (pipe_desr_et_5[5] & l2_desr_et_5[1] & ~m_desr_et_5[5] & ~l_desr_et_5[5] & ~cwq_desr_et_5[5] & ~mamu_desr_et_5[5] & ~ma_desr_et_5[5] & ~t_desr_et_5[5] & ~s_desr_et_5[5]) |
4570 (pipe_desr_exc_5 & no_desr_s_5);
4571assign take_pipe_4 = (pipe_desr_et_4[5] & ~l2_desr_et_4[5] & ~m_desr_et_4[5] & ~l_desr_et_4[5] & ~cwq_desr_et_4[5] & ~mamu_desr_et_4[5] & ~ma_desr_et_4[5] & ~t_desr_et_4[5] & ~s_desr_et_4[5]) |
4572 (pipe_desr_et_4[5] & l2_desr_et_4[1] & ~m_desr_et_4[5] & ~l_desr_et_4[5] & ~cwq_desr_et_4[5] & ~mamu_desr_et_4[5] & ~ma_desr_et_4[5] & ~t_desr_et_4[5] & ~s_desr_et_4[5]) |
4573 (pipe_desr_exc_4 & no_desr_s_4);
4574assign take_pipe_3 = (pipe_desr_et_3[5] & ~l2_desr_et_3[5] & ~m_desr_et_3[5] & ~l_desr_et_3[5] & ~cwq_desr_et_3[5] & ~mamu_desr_et_3[5] & ~ma_desr_et_3[5] & ~t_desr_et_3[5] & ~s_desr_et_3[5]) |
4575 (pipe_desr_et_3[5] & l2_desr_et_3[1] & ~m_desr_et_3[5] & ~l_desr_et_3[5] & ~cwq_desr_et_3[5] & ~mamu_desr_et_3[5] & ~ma_desr_et_3[5] & ~t_desr_et_3[5] & ~s_desr_et_3[5]) |
4576 (pipe_desr_exc_3 & no_desr_s_3);
4577assign take_pipe_2 = (pipe_desr_et_2[5] & ~l2_desr_et_2[5] & ~m_desr_et_2[5] & ~l_desr_et_2[5] & ~cwq_desr_et_2[5] & ~mamu_desr_et_2[5] & ~ma_desr_et_2[5] & ~t_desr_et_2[5] & ~s_desr_et_2[5]) |
4578 (pipe_desr_et_2[5] & l2_desr_et_2[1] & ~m_desr_et_2[5] & ~l_desr_et_2[5] & ~cwq_desr_et_2[5] & ~mamu_desr_et_2[5] & ~ma_desr_et_2[5] & ~t_desr_et_2[5] & ~s_desr_et_2[5]) |
4579 (pipe_desr_exc_2 & no_desr_s_2);
4580assign take_pipe_1 = (pipe_desr_et_1[5] & ~l2_desr_et_1[5] & ~m_desr_et_1[5] & ~l_desr_et_1[5] & ~cwq_desr_et_1[5] & ~mamu_desr_et_1[5] & ~ma_desr_et_1[5] & ~t_desr_et_1[5] & ~s_desr_et_1[5]) |
4581 (pipe_desr_et_1[5] & l2_desr_et_1[1] & ~m_desr_et_1[5] & ~l_desr_et_1[5] & ~cwq_desr_et_1[5] & ~mamu_desr_et_1[5] & ~ma_desr_et_1[5] & ~t_desr_et_1[5] & ~s_desr_et_1[5]) |
4582 (pipe_desr_exc_1 & no_desr_s_1);
4583assign take_pipe_0 = (pipe_desr_et_0[5] & ~l2_desr_et_0[5] & ~m_desr_et_0[5] & ~l_desr_et_0[5] & ~cwq_desr_et_0[5] & ~mamu_desr_et_0[5] & ~ma_desr_et_0[5] & ~t_desr_et_0[5] & ~s_desr_et_0[5]) |
4584 (pipe_desr_et_0[5] & l2_desr_et_0[1] & ~m_desr_et_0[5] & ~l_desr_et_0[5] & ~cwq_desr_et_0[5] & ~mamu_desr_et_0[5] & ~ma_desr_et_0[5] & ~t_desr_et_0[5] & ~s_desr_et_0[5]) |
4585 (pipe_desr_exc_0 & no_desr_s_0);
4586
4587assign take_m_7 = (m_desr_et_7[5] & ~l2_desr_et_7[5] & ~l_desr_et_7[5] & ~cwq_desr_et_7[5] & ~mamu_desr_et_7[5] & ~ma_desr_et_7[5] & ~t_desr_et_7[5] & ~s_desr_et_7[5]) |
4588 (m_desr_et_7[5] & l2_desr_et_7[1] & ~l_desr_et_7[5] & ~cwq_desr_et_7[5] & ~mamu_desr_et_7[5] & ~ma_desr_et_7[5] & ~t_desr_et_7[5] & ~s_desr_et_7[5]) ;
4589assign take_m_6 = (m_desr_et_6[5] & ~l2_desr_et_6[5] & ~l_desr_et_6[5] & ~cwq_desr_et_6[5] & ~mamu_desr_et_6[5] & ~ma_desr_et_6[5] & ~t_desr_et_6[5] & ~s_desr_et_6[5]) |
4590 (m_desr_et_6[5] & l2_desr_et_6[1] & ~l_desr_et_6[5] & ~cwq_desr_et_6[5] & ~mamu_desr_et_6[5] & ~ma_desr_et_6[5] & ~t_desr_et_6[5] & ~s_desr_et_6[5]) ;
4591assign take_m_5 = (m_desr_et_5[5] & ~l2_desr_et_5[5] & ~l_desr_et_5[5] & ~cwq_desr_et_5[5] & ~mamu_desr_et_5[5] & ~ma_desr_et_5[5] & ~t_desr_et_5[5] & ~s_desr_et_5[5]) |
4592 (m_desr_et_5[5] & l2_desr_et_5[1] & ~l_desr_et_5[5] & ~cwq_desr_et_5[5] & ~mamu_desr_et_5[5] & ~ma_desr_et_5[5] & ~t_desr_et_5[5] & ~s_desr_et_5[5]) ;
4593assign take_m_4 = (m_desr_et_4[5] & ~l2_desr_et_4[5] & ~l_desr_et_4[5] & ~cwq_desr_et_4[5] & ~mamu_desr_et_4[5] & ~ma_desr_et_4[5] & ~t_desr_et_4[5] & ~s_desr_et_4[5]) |
4594 (m_desr_et_4[5] & l2_desr_et_4[1] & ~l_desr_et_4[5] & ~cwq_desr_et_4[5] & ~mamu_desr_et_4[5] & ~ma_desr_et_4[5] & ~t_desr_et_4[5] & ~s_desr_et_4[5]) ;
4595assign take_m_3 = (m_desr_et_3[5] & ~l2_desr_et_3[5] & ~l_desr_et_3[5] & ~cwq_desr_et_3[5] & ~mamu_desr_et_3[5] & ~ma_desr_et_3[5] & ~t_desr_et_3[5] & ~s_desr_et_3[5]) |
4596 (m_desr_et_3[5] & l2_desr_et_3[1] & ~l_desr_et_3[5] & ~cwq_desr_et_3[5] & ~mamu_desr_et_3[5] & ~ma_desr_et_3[5] & ~t_desr_et_3[5] & ~s_desr_et_3[5]) ;
4597assign take_m_2 = (m_desr_et_2[5] & ~l2_desr_et_2[5] & ~l_desr_et_2[5] & ~cwq_desr_et_2[5] & ~mamu_desr_et_2[5] & ~ma_desr_et_2[5] & ~t_desr_et_2[5] & ~s_desr_et_2[5]) |
4598 (m_desr_et_2[5] & l2_desr_et_2[1] & ~l_desr_et_2[5] & ~cwq_desr_et_2[5] & ~mamu_desr_et_2[5] & ~ma_desr_et_2[5] & ~t_desr_et_2[5] & ~s_desr_et_2[5]) ;
4599assign take_m_1 = (m_desr_et_1[5] & ~l2_desr_et_1[5] & ~l_desr_et_1[5] & ~cwq_desr_et_1[5] & ~mamu_desr_et_1[5] & ~ma_desr_et_1[5] & ~t_desr_et_1[5] & ~s_desr_et_1[5]) |
4600 (m_desr_et_1[5] & l2_desr_et_1[1] & ~l_desr_et_1[5] & ~cwq_desr_et_1[5] & ~mamu_desr_et_1[5] & ~ma_desr_et_1[5] & ~t_desr_et_1[5] & ~s_desr_et_1[5]) ;
4601assign take_m_0 = (m_desr_et_0[5] & ~l2_desr_et_0[5] & ~l_desr_et_0[5] & ~cwq_desr_et_0[5] & ~mamu_desr_et_0[5] & ~ma_desr_et_0[5] & ~t_desr_et_0[5] & ~s_desr_et_0[5]) |
4602 (m_desr_et_0[5] & l2_desr_et_0[1] & ~l_desr_et_0[5] & ~cwq_desr_et_0[5] & ~mamu_desr_et_0[5] & ~ma_desr_et_0[5] & ~t_desr_et_0[5] & ~s_desr_et_0[5]) ;
4603
4604assign take_l_7 = (l_desr_et_7[5] & ~l2_desr_et_7[5] & ~cwq_desr_et_7[5] & ~mamu_desr_et_7[5] & ~ma_desr_et_7[5] & ~t_desr_et_7[5] & ~s_desr_et_7[5]) |
4605 (l_desr_et_7[5] & l2_desr_et_7[1] & ~cwq_desr_et_7[5] & ~mamu_desr_et_7[5] & ~ma_desr_et_7[5] & ~t_desr_et_7[5] & ~s_desr_et_7[5]) |
4606 (l_desr_exc_7 & ~l2_desr_exc_7 & ~s_desr_exc_7 & ~d_desr_exc_7 & ~pipe_desr_exc_7 & no_desr_s_7);
4607assign take_l_6 = (l_desr_et_6[5] & ~l2_desr_et_6[5] & ~cwq_desr_et_6[5] & ~mamu_desr_et_6[5] & ~ma_desr_et_6[5] & ~t_desr_et_6[5] & ~s_desr_et_6[5]) |
4608 (l_desr_et_6[5] & l2_desr_et_6[1] & ~cwq_desr_et_6[5] & ~mamu_desr_et_6[5] & ~ma_desr_et_6[5] & ~t_desr_et_6[5] & ~s_desr_et_6[5]) |
4609 (l_desr_exc_6 & ~l2_desr_exc_6 & ~s_desr_exc_6 & ~d_desr_exc_6 & ~pipe_desr_exc_6 & no_desr_s_6);
4610assign take_l_5 = (l_desr_et_5[5] & ~l2_desr_et_5[5] & ~cwq_desr_et_5[5] & ~mamu_desr_et_5[5] & ~ma_desr_et_5[5] & ~t_desr_et_5[5] & ~s_desr_et_5[5]) |
4611 (l_desr_et_5[5] & l2_desr_et_5[1] & ~cwq_desr_et_5[5] & ~mamu_desr_et_5[5] & ~ma_desr_et_5[5] & ~t_desr_et_5[5] & ~s_desr_et_5[5]) |
4612 (l_desr_exc_5 & ~l2_desr_exc_5 & ~s_desr_exc_5 & ~d_desr_exc_5 & ~pipe_desr_exc_5 & no_desr_s_5);
4613assign take_l_4 = (l_desr_et_4[5] & ~l2_desr_et_4[5] & ~cwq_desr_et_4[5] & ~mamu_desr_et_4[5] & ~ma_desr_et_4[5] & ~t_desr_et_4[5] & ~s_desr_et_4[5]) |
4614 (l_desr_et_4[5] & l2_desr_et_4[1] & ~cwq_desr_et_4[5] & ~mamu_desr_et_4[5] & ~ma_desr_et_4[5] & ~t_desr_et_4[5] & ~s_desr_et_4[5]) |
4615 (l_desr_exc_4 & ~l2_desr_exc_4 & ~s_desr_exc_4 & ~d_desr_exc_4 & ~pipe_desr_exc_4 & no_desr_s_4);
4616assign take_l_3 = (l_desr_et_3[5] & ~l2_desr_et_3[5] & ~cwq_desr_et_3[5] & ~mamu_desr_et_3[5] & ~ma_desr_et_3[5] & ~t_desr_et_3[5] & ~s_desr_et_3[5]) |
4617 (l_desr_et_3[5] & l2_desr_et_3[1] & ~cwq_desr_et_3[5] & ~mamu_desr_et_3[5] & ~ma_desr_et_3[5] & ~t_desr_et_3[5] & ~s_desr_et_3[5]) |
4618 (l_desr_exc_3 & ~l2_desr_exc_3 & ~s_desr_exc_3 & ~d_desr_exc_3 & ~pipe_desr_exc_3 & no_desr_s_3);
4619assign take_l_2 = (l_desr_et_2[5] & ~l2_desr_et_2[5] & ~cwq_desr_et_2[5] & ~mamu_desr_et_2[5] & ~ma_desr_et_2[5] & ~t_desr_et_2[5] & ~s_desr_et_2[5]) |
4620 (l_desr_et_2[5] & l2_desr_et_2[1] & ~cwq_desr_et_2[5] & ~mamu_desr_et_2[5] & ~ma_desr_et_2[5] & ~t_desr_et_2[5] & ~s_desr_et_2[5]) |
4621 (l_desr_exc_2 & ~l2_desr_exc_2 & ~s_desr_exc_2 & ~d_desr_exc_2 & ~pipe_desr_exc_2 & no_desr_s_2);
4622assign take_l_1 = (l_desr_et_1[5] & ~l2_desr_et_1[5] & ~cwq_desr_et_1[5] & ~mamu_desr_et_1[5] & ~ma_desr_et_1[5] & ~t_desr_et_1[5] & ~s_desr_et_1[5]) |
4623 (l_desr_et_1[5] & l2_desr_et_1[1] & ~cwq_desr_et_1[5] & ~mamu_desr_et_1[5] & ~ma_desr_et_1[5] & ~t_desr_et_1[5] & ~s_desr_et_1[5]) |
4624 (l_desr_exc_1 & ~l2_desr_exc_1 & ~s_desr_exc_1 & ~d_desr_exc_1 & ~pipe_desr_exc_1 & no_desr_s_1);
4625assign take_l_0 = (l_desr_et_0[5] & ~l2_desr_et_0[5] & ~cwq_desr_et_0[5] & ~mamu_desr_et_0[5] & ~ma_desr_et_0[5] & ~t_desr_et_0[5] & ~s_desr_et_0[5]) |
4626 (l_desr_et_0[5] & l2_desr_et_0[1] & ~cwq_desr_et_0[5] & ~mamu_desr_et_0[5] & ~ma_desr_et_0[5] & ~t_desr_et_0[5] & ~s_desr_et_0[5]) |
4627 (l_desr_exc_0 & ~l2_desr_exc_0 & ~s_desr_exc_0 & ~d_desr_exc_0 & ~pipe_desr_exc_0 & no_desr_s_0);
4628
4629assign take_d_7 = d_desr_exc_7 & ~pipe_desr_exc_7 & no_desr_s_7;
4630assign take_d_6 = d_desr_exc_6 & ~pipe_desr_exc_6 & no_desr_s_6;
4631assign take_d_5 = d_desr_exc_5 & ~pipe_desr_exc_5 & no_desr_s_5;
4632assign take_d_4 = d_desr_exc_4 & ~pipe_desr_exc_4 & no_desr_s_4;
4633assign take_d_3 = d_desr_exc_3 & ~pipe_desr_exc_3 & no_desr_s_3;
4634assign take_d_2 = d_desr_exc_2 & ~pipe_desr_exc_2 & no_desr_s_2;
4635assign take_d_1 = d_desr_exc_1 & ~pipe_desr_exc_1 & no_desr_s_1;
4636assign take_d_0 = d_desr_exc_0 & ~pipe_desr_exc_0 & no_desr_s_0;
4637
4638
4639
4640assign no_desr_s_7 =
4641 ~(pipe_desr_et_7[5] | m_desr_et_7[5] | l_desr_et_7[5] |
4642 l2_desr_et_7[5] | s_desr_et_7[5] | mamu_desr_et_7[5] |
4643 ma_desr_et_7[5] | cwq_desr_et_7[5] | t_desr_et_7[5]);
4644assign no_desr_s_6 =
4645 ~(pipe_desr_et_6[5] | m_desr_et_6[5] | l_desr_et_6[5] |
4646 l2_desr_et_6[5] | s_desr_et_6[5] | mamu_desr_et_6[5] |
4647 ma_desr_et_6[5] | cwq_desr_et_6[5] | t_desr_et_6[5]);
4648assign no_desr_s_5 =
4649 ~(pipe_desr_et_5[5] | m_desr_et_5[5] | l_desr_et_5[5] |
4650 l2_desr_et_5[5] | s_desr_et_5[5] | mamu_desr_et_5[5] |
4651 ma_desr_et_5[5] | cwq_desr_et_5[5] | t_desr_et_5[5]);
4652assign no_desr_s_4 =
4653 ~(pipe_desr_et_4[5] | m_desr_et_4[5] | l_desr_et_4[5] |
4654 l2_desr_et_4[5] | s_desr_et_4[5] | mamu_desr_et_4[5] |
4655 ma_desr_et_4[5] | cwq_desr_et_4[5] | t_desr_et_4[5]);
4656assign no_desr_s_3 =
4657 ~(pipe_desr_et_3[5] | m_desr_et_3[5] | l_desr_et_3[5] |
4658 l2_desr_et_3[5] | s_desr_et_3[5] | mamu_desr_et_3[5] |
4659 ma_desr_et_3[5] | cwq_desr_et_3[5] | t_desr_et_3[5]);
4660assign no_desr_s_2 =
4661 ~(pipe_desr_et_2[5] | m_desr_et_2[5] | l_desr_et_2[5] |
4662 l2_desr_et_2[5] | s_desr_et_2[5] | mamu_desr_et_2[5] |
4663 ma_desr_et_2[5] | cwq_desr_et_2[5] | t_desr_et_2[5]);
4664assign no_desr_s_1 =
4665 ~(pipe_desr_et_1[5] | m_desr_et_1[5] | l_desr_et_1[5] |
4666 l2_desr_et_1[5] | s_desr_et_1[5] | mamu_desr_et_1[5] |
4667 ma_desr_et_1[5] | cwq_desr_et_1[5] | t_desr_et_1[5]);
4668assign no_desr_s_0 =
4669 ~(pipe_desr_et_0[5] | m_desr_et_0[5] | l_desr_et_0[5] |
4670 l2_desr_et_0[5] | s_desr_et_0[5] | mamu_desr_et_0[5] |
4671 ma_desr_et_0[5] | cwq_desr_et_0[5] | t_desr_et_0[5]);
4672
4673assign ras_desr_et_7[61:56] =
4674 ( pipe_desr_et_7[5:0] & {6 {take_pipe_7}}) |
4675 ( m_desr_et_7[5:0] & {6 { take_m_7}}) |
4676 ( l_desr_et_7[5:0] & {6 { take_l_7}}) |
4677 ({1'b0, {1 {1'b0}}, d_desr_et_7[3:0]} & {6 { take_d_7}}) |
4678 ( l2_desr_et_7[5:0] & {6 { take_l2_7}}) |
4679 ( s_desr_et_7[5:0] & {6 { take_s_7}}) |
4680 ( mamu_desr_et_7[5:0] & {6 {take_mamu_7}}) |
4681 ( ma_desr_et_7[5:0] & {6 { take_ma_7}}) |
4682 ( cwq_desr_et_7[5:0] & {6 { take_cwq_7}}) |
4683 ( t_desr_et_7[5:0] & {6 { take_t_7}}) ;
4684
4685assign ras_desr_et_6[61:56] =
4686 ( pipe_desr_et_6[5:0] & {6 {take_pipe_6}}) |
4687 ( m_desr_et_6[5:0] & {6 { take_m_6}}) |
4688 ( l_desr_et_6[5:0] & {6 { take_l_6}}) |
4689 ({1'b0, {1 {1'b0}}, d_desr_et_6[3:0]} & {6 { take_d_6}}) |
4690 ( l2_desr_et_6[5:0] & {6 { take_l2_6}}) |
4691 ( s_desr_et_6[5:0] & {6 { take_s_6}}) |
4692 ( mamu_desr_et_6[5:0] & {6 {take_mamu_6}}) |
4693 ( ma_desr_et_6[5:0] & {6 { take_ma_6}}) |
4694 ( cwq_desr_et_6[5:0] & {6 { take_cwq_6}}) |
4695 ( t_desr_et_6[5:0] & {6 { take_t_6}}) ;
4696
4697assign ras_desr_et_5[61:56] =
4698 ( pipe_desr_et_5[5:0] & {6 {take_pipe_5}}) |
4699 ( m_desr_et_5[5:0] & {6 { take_m_5}}) |
4700 ( l_desr_et_5[5:0] & {6 { take_l_5}}) |
4701 ({1'b0, {1 {1'b0}}, d_desr_et_5[3:0]} & {6 { take_d_5}}) |
4702 ( l2_desr_et_5[5:0] & {6 { take_l2_5}}) |
4703 ( s_desr_et_5[5:0] & {6 { take_s_5}}) |
4704 ( mamu_desr_et_5[5:0] & {6 {take_mamu_5}}) |
4705 ( ma_desr_et_5[5:0] & {6 { take_ma_5}}) |
4706 ( cwq_desr_et_5[5:0] & {6 { take_cwq_5}}) |
4707 ( t_desr_et_5[5:0] & {6 { take_t_5}}) ;
4708
4709assign ras_desr_et_4[61:56] =
4710 ( pipe_desr_et_4[5:0] & {6 {take_pipe_4}}) |
4711 ( m_desr_et_4[5:0] & {6 { take_m_4}}) |
4712 ( l_desr_et_4[5:0] & {6 { take_l_4}}) |
4713 ({1'b0, {1 {1'b0}}, d_desr_et_4[3:0]} & {6 { take_d_4}}) |
4714 ( l2_desr_et_4[5:0] & {6 { take_l2_4}}) |
4715 ( s_desr_et_4[5:0] & {6 { take_s_4}}) |
4716 ( mamu_desr_et_4[5:0] & {6 {take_mamu_4}}) |
4717 ( ma_desr_et_4[5:0] & {6 { take_ma_4}}) |
4718 ( cwq_desr_et_4[5:0] & {6 { take_cwq_4}}) |
4719 ( t_desr_et_4[5:0] & {6 { take_t_4}}) ;
4720
4721assign ras_desr_et_3[61:56] =
4722 ( pipe_desr_et_3[5:0] & {6 {take_pipe_3}}) |
4723 ( m_desr_et_3[5:0] & {6 { take_m_3}}) |
4724 ( l_desr_et_3[5:0] & {6 { take_l_3}}) |
4725 ({1'b0, {1 {1'b0}}, d_desr_et_3[3:0]} & {6 { take_d_3}}) |
4726 ( l2_desr_et_3[5:0] & {6 { take_l2_3}}) |
4727 ( s_desr_et_3[5:0] & {6 { take_s_3}}) |
4728 ( mamu_desr_et_3[5:0] & {6 {take_mamu_3}}) |
4729 ( ma_desr_et_3[5:0] & {6 { take_ma_3}}) |
4730 ( cwq_desr_et_3[5:0] & {6 { take_cwq_3}}) |
4731 ( t_desr_et_3[5:0] & {6 { take_t_3}}) ;
4732
4733assign ras_desr_et_2[61:56] =
4734 ( pipe_desr_et_2[5:0] & {6 {take_pipe_2}}) |
4735 ( m_desr_et_2[5:0] & {6 { take_m_2}}) |
4736 ( l_desr_et_2[5:0] & {6 { take_l_2}}) |
4737 ({1'b0, {1 {1'b0}}, d_desr_et_2[3:0]} & {6 { take_d_2}}) |
4738 ( l2_desr_et_2[5:0] & {6 { take_l2_2}}) |
4739 ( s_desr_et_2[5:0] & {6 { take_s_2}}) |
4740 ( mamu_desr_et_2[5:0] & {6 {take_mamu_2}}) |
4741 ( ma_desr_et_2[5:0] & {6 { take_ma_2}}) |
4742 ( cwq_desr_et_2[5:0] & {6 { take_cwq_2}}) |
4743 ( t_desr_et_2[5:0] & {6 { take_t_2}}) ;
4744
4745assign ras_desr_et_1[61:56] =
4746 ( pipe_desr_et_1[5:0] & {6 {take_pipe_1}}) |
4747 ( m_desr_et_1[5:0] & {6 { take_m_1}}) |
4748 ( l_desr_et_1[5:0] & {6 { take_l_1}}) |
4749 ({1'b0, {1 {1'b0}}, d_desr_et_1[3:0]} & {6 { take_d_1}}) |
4750 ( l2_desr_et_1[5:0] & {6 { take_l2_1}}) |
4751 ( s_desr_et_1[5:0] & {6 { take_s_1}}) |
4752 ( mamu_desr_et_1[5:0] & {6 {take_mamu_1}}) |
4753 ( ma_desr_et_1[5:0] & {6 { take_ma_1}}) |
4754 ( cwq_desr_et_1[5:0] & {6 { take_cwq_1}}) |
4755 ( t_desr_et_1[5:0] & {6 { take_t_1}}) ;
4756
4757assign ras_desr_et_0[61:56] =
4758 ( pipe_desr_et_0[5:0] & {6 {take_pipe_0}}) |
4759 ( m_desr_et_0[5:0] & {6 { take_m_0}}) |
4760 ( l_desr_et_0[5:0] & {6 { take_l_0}}) |
4761 ({1'b0, {1 {1'b0}}, d_desr_et_0[3:0]} & {6 { take_d_0}}) |
4762 ( l2_desr_et_0[5:0] & {6 { take_l2_0}}) |
4763 ( s_desr_et_0[5:0] & {6 { take_s_0}}) |
4764 ( mamu_desr_et_0[5:0] & {6 {take_mamu_0}}) |
4765 ( ma_desr_et_0[5:0] & {6 { take_ma_0}}) |
4766 ( cwq_desr_et_0[5:0] & {6 { take_cwq_0}}) |
4767 ( t_desr_et_0[5:0] & {6 { take_t_0}}) ;
4768
4769
4770assign write_desr[7:0] =
4771 {| ras_desr_et_7[60:56],
4772 | ras_desr_et_6[60:56],
4773 | ras_desr_et_5[60:56],
4774 | ras_desr_et_4[60:56],
4775 | ras_desr_et_3[60:56],
4776 | ras_desr_et_2[60:56],
4777 | ras_desr_et_1[60:56],
4778 | ras_desr_et_0[60:56]};
4779
4780assign write_desr_s[7:0] =
4781 {ras_desr_et_7[61],
4782 ras_desr_et_6[61],
4783 ras_desr_et_5[61],
4784 ras_desr_et_4[61],
4785 ras_desr_et_3[61],
4786 ras_desr_et_2[61],
4787 ras_desr_et_1[61],
4788 ras_desr_et_0[61]};
4789
4790assign ras_write_desr_1st[7:0] =
4791 (write_desr [7:0] & ~dfd_desr_f[7:0]) |
4792 (write_desr_s[7:0] & ~dfd_desr_s[7:0]) |
4793 (write_desr [7:0] & rd_desr_dec[7:0]) ;
4794
4795assign ras_write_desr_2nd[7:0] =
4796 (write_desr[7:0] & ~write_desr_s[7:0] & dfd_desr_f[7:0]) |
4797 ( write_desr_s[7:0] & dfd_desr_s[7:0]) ;
4798
4799assign ras_desr_me_7 =
4800 (({{3 {1'b0}}, pipe_desr_exc_7} +
4801 {{3 {1'b0}}, m_desr_exc_7} +
4802 {{3 {1'b0}}, l_desr_exc_7} +
4803 {{3 {1'b0}}, d_desr_exc_7} +
4804 {{3 {1'b0}}, l2_desr_exc_7} +
4805 {{3 {1'b0}}, s_desr_exc_7} +
4806 {{3 {1'b0}}, mamu_desr_exc_7} +
4807 {{3 {1'b0}}, ma_desr_exc_7} +
4808 {{3 {1'b0}}, cwq_desr_exc_7} +
4809 {{3 {1'b0}}, t_desr_exc_7}) > 4'b0001) |
4810 (dfd_desr_f[7] & ~rd_desr_dec[7]);
4811assign ras_desr_me_6 =
4812 (({{3 {1'b0}}, pipe_desr_exc_6} +
4813 {{3 {1'b0}}, m_desr_exc_6} +
4814 {{3 {1'b0}}, l_desr_exc_6} +
4815 {{3 {1'b0}}, d_desr_exc_6} +
4816 {{3 {1'b0}}, l2_desr_exc_6} +
4817 {{3 {1'b0}}, s_desr_exc_6} +
4818 {{3 {1'b0}}, mamu_desr_exc_6} +
4819 {{3 {1'b0}}, ma_desr_exc_6} +
4820 {{3 {1'b0}}, cwq_desr_exc_6} +
4821 {{3 {1'b0}}, t_desr_exc_6}) > 4'b0001) |
4822 (dfd_desr_f[6] & ~rd_desr_dec[6]);
4823assign ras_desr_me_5 =
4824 (({{3 {1'b0}}, pipe_desr_exc_5} +
4825 {{3 {1'b0}}, m_desr_exc_5} +
4826 {{3 {1'b0}}, l_desr_exc_5} +
4827 {{3 {1'b0}}, d_desr_exc_5} +
4828 {{3 {1'b0}}, l2_desr_exc_5} +
4829 {{3 {1'b0}}, s_desr_exc_5} +
4830 {{3 {1'b0}}, mamu_desr_exc_5} +
4831 {{3 {1'b0}}, ma_desr_exc_5} +
4832 {{3 {1'b0}}, cwq_desr_exc_5} +
4833 {{3 {1'b0}}, t_desr_exc_5}) > 4'b0001) |
4834 (dfd_desr_f[5] & ~rd_desr_dec[5]);
4835assign ras_desr_me_4 =
4836 (({{3 {1'b0}}, pipe_desr_exc_4} +
4837 {{3 {1'b0}}, m_desr_exc_4} +
4838 {{3 {1'b0}}, l_desr_exc_4} +
4839 {{3 {1'b0}}, d_desr_exc_4} +
4840 {{3 {1'b0}}, l2_desr_exc_4} +
4841 {{3 {1'b0}}, s_desr_exc_4} +
4842 {{3 {1'b0}}, mamu_desr_exc_4} +
4843 {{3 {1'b0}}, ma_desr_exc_4} +
4844 {{3 {1'b0}}, cwq_desr_exc_4} +
4845 {{3 {1'b0}}, t_desr_exc_4}) > 4'b0001) |
4846 (dfd_desr_f[4] & ~rd_desr_dec[4]);
4847assign ras_desr_me_3 =
4848 (({{3 {1'b0}}, pipe_desr_exc_3} +
4849 {{3 {1'b0}}, m_desr_exc_3} +
4850 {{3 {1'b0}}, l_desr_exc_3} +
4851 {{3 {1'b0}}, d_desr_exc_3} +
4852 {{3 {1'b0}}, l2_desr_exc_3} +
4853 {{3 {1'b0}}, s_desr_exc_3} +
4854 {{3 {1'b0}}, mamu_desr_exc_3} +
4855 {{3 {1'b0}}, ma_desr_exc_3} +
4856 {{3 {1'b0}}, cwq_desr_exc_3} +
4857 {{3 {1'b0}}, t_desr_exc_3}) > 4'b0001) |
4858 (dfd_desr_f[3] & ~rd_desr_dec[3]);
4859assign ras_desr_me_2 =
4860 (({{3 {1'b0}}, pipe_desr_exc_2} +
4861 {{3 {1'b0}}, m_desr_exc_2} +
4862 {{3 {1'b0}}, l_desr_exc_2} +
4863 {{3 {1'b0}}, d_desr_exc_2} +
4864 {{3 {1'b0}}, l2_desr_exc_2} +
4865 {{3 {1'b0}}, s_desr_exc_2} +
4866 {{3 {1'b0}}, mamu_desr_exc_2} +
4867 {{3 {1'b0}}, ma_desr_exc_2} +
4868 {{3 {1'b0}}, cwq_desr_exc_2} +
4869 {{3 {1'b0}}, t_desr_exc_2}) > 4'b0001) |
4870 (dfd_desr_f[2] & ~rd_desr_dec[2]);
4871assign ras_desr_me_1 =
4872 (({{3 {1'b0}}, pipe_desr_exc_1} +
4873 {{3 {1'b0}}, m_desr_exc_1} +
4874 {{3 {1'b0}}, l_desr_exc_1} +
4875 {{3 {1'b0}}, d_desr_exc_1} +
4876 {{3 {1'b0}}, l2_desr_exc_1} +
4877 {{3 {1'b0}}, s_desr_exc_1} +
4878 {{3 {1'b0}}, mamu_desr_exc_1} +
4879 {{3 {1'b0}}, ma_desr_exc_1} +
4880 {{3 {1'b0}}, cwq_desr_exc_1} +
4881 {{3 {1'b0}}, t_desr_exc_1}) > 4'b0001) |
4882 (dfd_desr_f[1] & ~rd_desr_dec[1]);
4883assign ras_desr_me_0 =
4884 (({{3 {1'b0}}, pipe_desr_exc_0} +
4885 {{3 {1'b0}}, m_desr_exc_0} +
4886 {{3 {1'b0}}, l_desr_exc_0} +
4887 {{3 {1'b0}}, d_desr_exc_0} +
4888 {{3 {1'b0}}, l2_desr_exc_0} +
4889 {{3 {1'b0}}, s_desr_exc_0} +
4890 {{3 {1'b0}}, mamu_desr_exc_0} +
4891 {{3 {1'b0}}, ma_desr_exc_0} +
4892 {{3 {1'b0}}, cwq_desr_exc_0} +
4893 {{3 {1'b0}}, t_desr_exc_0}) > 4'b0001) |
4894 (dfd_desr_f[0] & ~rd_desr_dec[0]);
4895
4896
4897assign ras_desr_ea_7[10:0] =
4898 ({{2 {1'b0}}, pipe_desr_ea_7[8:0]} & {11 {take_pipe_7}}) |
4899 ({{2 {1'b0}}, d_desr_ea_7[8:0]} & {11 { take_d_7}}) |
4900 ({{8 {1'b0}}, s_desr_ea_7[2:0]} & {11 { take_s_7}}) |
4901 ( mamu_desr_ea_7[10:0] & {11 {take_mamu_7}}) |
4902 ({{1 {1'b0}}, t_desr_ea_7[9:0]} & {11 { take_t_7}}) ;
4903assign ras_desr_ea_6[10:0] =
4904 ({{2 {1'b0}}, pipe_desr_ea_6[8:0]} & {11 {take_pipe_6}}) |
4905 ({{2 {1'b0}}, d_desr_ea_6[8:0]} & {11 { take_d_6}}) |
4906 ({{8 {1'b0}}, s_desr_ea_6[2:0]} & {11 { take_s_6}}) |
4907 ( mamu_desr_ea_6[10:0] & {11 {take_mamu_6}}) |
4908 ({{1 {1'b0}}, t_desr_ea_6[9:0]} & {11 { take_t_6}}) ;
4909assign ras_desr_ea_5[10:0] =
4910 ({{2 {1'b0}}, pipe_desr_ea_5[8:0]} & {11 {take_pipe_5}}) |
4911 ({{2 {1'b0}}, d_desr_ea_5[8:0]} & {11 { take_d_5}}) |
4912 ({{8 {1'b0}}, s_desr_ea_5[2:0]} & {11 { take_s_5}}) |
4913 ( mamu_desr_ea_5[10:0] & {11 {take_mamu_5}}) |
4914 ({{1 {1'b0}}, t_desr_ea_5[9:0]} & {11 { take_t_5}}) ;
4915assign ras_desr_ea_4[10:0] =
4916 ({{2 {1'b0}}, pipe_desr_ea_4[8:0]} & {11 {take_pipe_4}}) |
4917 ({{2 {1'b0}}, d_desr_ea_4[8:0]} & {11 { take_d_4}}) |
4918 ({{8 {1'b0}}, s_desr_ea_4[2:0]} & {11 { take_s_4}}) |
4919 ( mamu_desr_ea_4[10:0] & {11 {take_mamu_4}}) |
4920 ({{1 {1'b0}}, t_desr_ea_4[9:0]} & {11 { take_t_4}}) ;
4921assign ras_desr_ea_3[10:0] =
4922 ({{2 {1'b0}}, pipe_desr_ea_3[8:0]} & {11 {take_pipe_3}}) |
4923 ({{2 {1'b0}}, d_desr_ea_3[8:0]} & {11 { take_d_3}}) |
4924 ({{8 {1'b0}}, s_desr_ea_3[2:0]} & {11 { take_s_3}}) |
4925 ( mamu_desr_ea_3[10:0] & {11 {take_mamu_3}}) |
4926 ({{1 {1'b0}}, t_desr_ea_3[9:0]} & {11 { take_t_3}}) ;
4927assign ras_desr_ea_2[10:0] =
4928 ({{2 {1'b0}}, pipe_desr_ea_2[8:0]} & {11 {take_pipe_2}}) |
4929 ({{2 {1'b0}}, d_desr_ea_2[8:0]} & {11 { take_d_2}}) |
4930 ({{8 {1'b0}}, s_desr_ea_2[2:0]} & {11 { take_s_2}}) |
4931 ( mamu_desr_ea_2[10:0] & {11 {take_mamu_2}}) |
4932 ({{1 {1'b0}}, t_desr_ea_2[9:0]} & {11 { take_t_2}}) ;
4933assign ras_desr_ea_1[10:0] =
4934 ({{2 {1'b0}}, pipe_desr_ea_1[8:0]} & {11 {take_pipe_1}}) |
4935 ({{2 {1'b0}}, d_desr_ea_1[8:0]} & {11 { take_d_1}}) |
4936 ({{8 {1'b0}}, s_desr_ea_1[2:0]} & {11 { take_s_1}}) |
4937 ( mamu_desr_ea_1[10:0] & {11 {take_mamu_1}}) |
4938 ({{1 {1'b0}}, t_desr_ea_1[9:0]} & {11 { take_t_1}}) ;
4939assign ras_desr_ea_0[10:0] =
4940 ({{2 {1'b0}}, pipe_desr_ea_0[8:0]} & {11 {take_pipe_0}}) |
4941 ({{2 {1'b0}}, d_desr_ea_0[8:0]} & {11 { take_d_0}}) |
4942 ({{8 {1'b0}}, s_desr_ea_0[2:0]} & {11 { take_s_0}}) |
4943 ( mamu_desr_ea_0[10:0] & {11 {take_mamu_0}}) |
4944 ({{1 {1'b0}}, t_desr_ea_0[9:0]} & {11 { take_t_0}}) ;
4945
4946
4947
4948//////////////////////////////////////////////////////////////////////////////
4949//
4950// Handle fatal errors
4951//
4952// FESR
4953// sbdiou 01
4954// sbapp 10
4955
4956tlu_ras_ctl_msff_ctl_macro__width_1 sbdiou_lat (
4957 .scan_in(sbdiou_lat_scanin),
4958 .scan_out(sbdiou_lat_scanout),
4959 .din (lsu_sbdiou_err_g ),
4960 .dout (sbdiou ),
4961 .l1clk(l1clk),
4962 .siclk(siclk),
4963 .soclk(soclk)
4964);
4965
4966tlu_ras_ctl_msff_ctl_macro__width_1 sbapp_lat (
4967 .scan_in(sbapp_lat_scanin),
4968 .scan_out(sbapp_lat_scanout),
4969 .din (lsu_sbapp_err_g ),
4970 .dout (sbapp ),
4971 .l1clk(l1clk),
4972 .siclk(siclk),
4973 .soclk(soclk)
4974);
4975
4976assign f_dec_tid[7:0] =
4977 { s_tid[2] & s_tid[1] & s_tid[0],
4978 s_tid[2] & s_tid[1] & ~s_tid[0],
4979 s_tid[2] & ~s_tid[1] & s_tid[0],
4980 s_tid[2] & ~s_tid[1] & ~s_tid[0],
4981 ~s_tid[2] & s_tid[1] & s_tid[0],
4982 ~s_tid[2] & s_tid[1] & ~s_tid[0],
4983 ~s_tid[2] & ~s_tid[1] & s_tid[0],
4984 ~s_tid[2] & ~s_tid[1] & ~s_tid[0]} &
4985 {8 {sbdiou | sbapp}};
4986
4987assign ras_fesr_et_7[61:60] =
4988 {sbapp, sbdiou} & {2 {f_dec_tid[7]}};
4989assign ras_fesr_et_6[61:60] =
4990 {sbapp, sbdiou} & {2 {f_dec_tid[6]}};
4991assign ras_fesr_et_5[61:60] =
4992 {sbapp, sbdiou} & {2 {f_dec_tid[5]}};
4993assign ras_fesr_et_4[61:60] =
4994 {sbapp, sbdiou} & {2 {f_dec_tid[4]}};
4995assign ras_fesr_et_3[61:60] =
4996 {sbapp, sbdiou} & {2 {f_dec_tid[3]}};
4997assign ras_fesr_et_2[61:60] =
4998 {sbapp, sbdiou} & {2 {f_dec_tid[2]}};
4999assign ras_fesr_et_1[61:60] =
5000 {sbapp, sbdiou} & {2 {f_dec_tid[1]}};
5001assign ras_fesr_et_0[61:60] =
5002 {sbapp, sbdiou} & {2 {f_dec_tid[0]}};
5003
5004assign write_fesr[7:0] =
5005 f_dec_tid[7:0];
5006
5007assign ras_fesr_en[7:0] =
5008 write_fesr[7:0] | ras_rd_fesr[7:0] | update_priv[7:0];
5009
5010assign ras_write_fesr[7:0] =
5011 write_fesr[7:0] & (~dfd_fesr_f[7:0] | ras_rd_fesr[7:0]);
5012
5013assign ras_fesr_ea_7[59:55] =
5014 {fesr_priv[1:0], s_dsfar[2:0]} & {5 {f_dec_tid[7]}};
5015assign ras_fesr_ea_6[59:55] =
5016 {fesr_priv[1:0], s_dsfar[2:0]} & {5 {f_dec_tid[6]}};
5017assign ras_fesr_ea_5[59:55] =
5018 {fesr_priv[1:0], s_dsfar[2:0]} & {5 {f_dec_tid[5]}};
5019assign ras_fesr_ea_4[59:55] =
5020 {fesr_priv[1:0], s_dsfar[2:0]} & {5 {f_dec_tid[4]}};
5021assign ras_fesr_ea_3[59:55] =
5022 {fesr_priv[1:0], s_dsfar[2:0]} & {5 {f_dec_tid[3]}};
5023assign ras_fesr_ea_2[59:55] =
5024 {fesr_priv[1:0], s_dsfar[2:0]} & {5 {f_dec_tid[2]}};
5025assign ras_fesr_ea_1[59:55] =
5026 {fesr_priv[1:0], s_dsfar[2:0]} & {5 {f_dec_tid[1]}};
5027assign ras_fesr_ea_0[59:55] =
5028 {fesr_priv[1:0], s_dsfar[2:0]} & {5 {f_dec_tid[0]}};
5029
5030
5031
5032//////////////////////////////////////////////////////////////////////////////
5033//
5034// Support debug event control register function
5035//
5036// error_event_1 error_event_0 meaning
5037// 0 0 no event
5038// 0 1 precise error
5039// 1 0 disrupting error
5040// 1 1 deferred error
5041
5042assign error_event_1_in[7:0] =
5043 write_desr[7:0] |
5044 write_fesr[7:0];
5045
5046assign error_event_0_in[7:0] =
5047 precise_i_error[7:0] | precise_d_error[7:0] |
5048 write_fesr[7:0];
5049
5050tlu_ras_ctl_msff_ctl_macro__width_8 event_1_lat (
5051 .scan_in(event_1_lat_scanin),
5052 .scan_out(event_1_lat_scanout),
5053 .din (error_event_1_in [7:0] ),
5054 .dout (error_event_1 [7:0] ),
5055 .l1clk(l1clk),
5056 .siclk(siclk),
5057 .soclk(soclk)
5058);
5059
5060tlu_ras_ctl_msff_ctl_macro__width_8 event_0_lat (
5061 .scan_in(event_0_lat_scanin),
5062 .scan_out(event_0_lat_scanout),
5063 .din (error_event_0_in [7:0] ),
5064 .dout (error_event_0 [7:0] ),
5065 .l1clk(l1clk),
5066 .siclk(siclk),
5067 .soclk(soclk)
5068);
5069
5070assign ras_precise_error[7:0] =
5071 ~error_event_1[7:0] & error_event_0[7:0];
5072
5073assign ras_disrupting_error[7:0] =
5074 error_event_1[7:0] & ~error_event_0[7:0];
5075
5076assign ras_deferred_error[7:0] =
5077 error_event_1[7:0] & error_event_0[7:0];
5078
5079
5080
5081//////////////////////////////////////////////////////////////////////////////
5082//
5083// Spares
5084//
5085
5086// Each pack has one flop
5087tlu_ras_ctl_spare_ctl_macro__num_16 spares (
5088 .scan_in(spares_scanin),
5089 .scan_out(spares_scanout),
5090 .l1clk (l1clk ),
5091 .siclk(siclk),
5092 .soclk(soclk)
5093);
5094
5095
5096// Add some more flops
5097// sparex_lat gets placed with spare pack x
5098tlu_ras_ctl_msff_ctl_macro__width_1 spare0_lat (
5099 .scan_in(spare0_lat_scanin),
5100 .scan_out(spare0_lat_scanout),
5101 .din (1'b0 ),
5102 .dout (spare0_unused ),
5103 .l1clk(l1clk),
5104 .siclk(siclk),
5105 .soclk(soclk)
5106);
5107
5108tlu_ras_ctl_msff_ctl_macro__width_1 spare1_lat (
5109 .scan_in(spare1_lat_scanin),
5110 .scan_out(spare1_lat_scanout),
5111 .din (1'b0 ),
5112 .dout (spare1_unused ),
5113 .l1clk(l1clk),
5114 .siclk(siclk),
5115 .soclk(soclk)
5116);
5117
5118tlu_ras_ctl_msff_ctl_macro__width_1 spare2_lat (
5119 .scan_in(spare2_lat_scanin),
5120 .scan_out(spare2_lat_scanout),
5121 .din (1'b0 ),
5122 .dout (spare2_unused ),
5123 .l1clk(l1clk),
5124 .siclk(siclk),
5125 .soclk(soclk)
5126);
5127
5128tlu_ras_ctl_msff_ctl_macro__width_1 spare3_lat (
5129 .scan_in(spare3_lat_scanin),
5130 .scan_out(spare3_lat_scanout),
5131 .din (1'b0 ),
5132 .dout (spare3_unused ),
5133 .l1clk(l1clk),
5134 .siclk(siclk),
5135 .soclk(soclk)
5136);
5137
5138tlu_ras_ctl_msff_ctl_macro__width_1 spare4_lat (
5139 .scan_in(spare4_lat_scanin),
5140 .scan_out(spare4_lat_scanout),
5141 .din (1'b0 ),
5142 .dout (spare4_unused ),
5143 .l1clk(l1clk),
5144 .siclk(siclk),
5145 .soclk(soclk)
5146);
5147
5148tlu_ras_ctl_msff_ctl_macro__width_1 spare5_lat (
5149 .scan_in(spare5_lat_scanin),
5150 .scan_out(spare5_lat_scanout),
5151 .din (1'b0 ),
5152 .dout (spare5_unused ),
5153 .l1clk(l1clk),
5154 .siclk(siclk),
5155 .soclk(soclk)
5156);
5157
5158tlu_ras_ctl_msff_ctl_macro__width_1 spare6_lat (
5159 .scan_in(spare6_lat_scanin),
5160 .scan_out(spare6_lat_scanout),
5161 .din (1'b0 ),
5162 .dout (spare6_unused ),
5163 .l1clk(l1clk),
5164 .siclk(siclk),
5165 .soclk(soclk)
5166);
5167
5168tlu_ras_ctl_msff_ctl_macro__width_1 spare7_lat (
5169 .scan_in(spare7_lat_scanin),
5170 .scan_out(spare7_lat_scanout),
5171 .din (1'b0 ),
5172 .dout (spare7_unused ),
5173 .l1clk(l1clk),
5174 .siclk(siclk),
5175 .soclk(soclk)
5176);
5177
5178tlu_ras_ctl_msff_ctl_macro__width_1 spare8_lat (
5179 .scan_in(spare8_lat_scanin),
5180 .scan_out(spare8_lat_scanout),
5181 .din (1'b0 ),
5182 .dout (spare8_unused ),
5183 .l1clk(l1clk),
5184 .siclk(siclk),
5185 .soclk(soclk)
5186);
5187
5188tlu_ras_ctl_msff_ctl_macro__width_1 spare9_lat (
5189 .scan_in(spare9_lat_scanin),
5190 .scan_out(spare9_lat_scanout),
5191 .din (1'b0 ),
5192 .dout (spare9_unused ),
5193 .l1clk(l1clk),
5194 .siclk(siclk),
5195 .soclk(soclk)
5196);
5197
5198tlu_ras_ctl_msff_ctl_macro__width_1 spare10_lat (
5199 .scan_in(spare10_lat_scanin),
5200 .scan_out(spare10_lat_scanout),
5201 .din (1'b0 ),
5202 .dout (spare10_unused ),
5203 .l1clk(l1clk),
5204 .siclk(siclk),
5205 .soclk(soclk)
5206);
5207
5208tlu_ras_ctl_msff_ctl_macro__width_1 spare11_lat (
5209 .scan_in(spare11_lat_scanin),
5210 .scan_out(spare11_lat_scanout),
5211 .din (1'b0 ),
5212 .dout (spare11_unused ),
5213 .l1clk(l1clk),
5214 .siclk(siclk),
5215 .soclk(soclk)
5216);
5217
5218tlu_ras_ctl_msff_ctl_macro__width_1 spare12_lat (
5219 .scan_in(spare12_lat_scanin),
5220 .scan_out(spare12_lat_scanout),
5221 .din (1'b0 ),
5222 .dout (spare12_unused ),
5223 .l1clk(l1clk),
5224 .siclk(siclk),
5225 .soclk(soclk)
5226);
5227
5228tlu_ras_ctl_msff_ctl_macro__width_1 spare13_lat (
5229 .scan_in(spare13_lat_scanin),
5230 .scan_out(spare13_lat_scanout),
5231 .din (1'b0 ),
5232 .dout (spare13_unused ),
5233 .l1clk(l1clk),
5234 .siclk(siclk),
5235 .soclk(soclk)
5236);
5237
5238tlu_ras_ctl_msff_ctl_macro__width_1 spare14_lat (
5239 .scan_in(spare14_lat_scanin),
5240 .scan_out(spare14_lat_scanout),
5241 .din (1'b0 ),
5242 .dout (spare14_unused ),
5243 .l1clk(l1clk),
5244 .siclk(siclk),
5245 .soclk(soclk)
5246);
5247
5248tlu_ras_ctl_msff_ctl_macro__width_1 spare15_lat (
5249 .scan_in(spare15_lat_scanin),
5250 .scan_out(spare15_lat_scanout),
5251 .din (1'b0 ),
5252 .dout (spare15_unused ),
5253 .l1clk(l1clk),
5254 .siclk(siclk),
5255 .soclk(soclk)
5256);
5257
5258
5259
5260supply0 vss; // <- port for ground
5261supply1 vdd; // <- port for power
5262
5263// fixscan start:
5264assign twocycle_inst_b_lat_scanin = scan_in ;
5265assign inst_valid_b_lat_scanin = twocycle_inst_b_lat_scanout;
5266assign w_en_lat_scanin = inst_valid_b_lat_scanout ;
5267assign w1_en_lat_scanin = w_en_lat_scanout ;
5268assign inst_valid_w_lat_scanin = w1_en_lat_scanout ;
5269assign block_store_w_lat_scanin = inst_valid_w_lat_scanout ;
5270assign tid1_b_lat_scanin = block_store_w_lat_scanout;
5271assign tid0_b_lat_scanin = tid1_b_lat_scanout ;
5272assign tid1_w_lat_scanin = tid0_b_lat_scanout ;
5273assign tid0_w_lat_scanin = tid1_w_lat_scanout ;
5274assign fgu_inst_b_lat_scanin = tid0_w_lat_scanout ;
5275assign fgu_inst_w_lat_scanin = fgu_inst_b_lat_scanout ;
5276assign lsu_inst_b_lat_scanin = fgu_inst_w_lat_scanout ;
5277assign i_isfsr1_b_lat_scanin = lsu_inst_b_lat_scanout ;
5278assign i_isfsr0_b_lat_scanin = i_isfsr1_b_lat_scanout ;
5279assign i_desr1_b_lat_scanin = i_isfsr0_b_lat_scanout ;
5280assign i_desr0_b_lat_scanin = i_desr1_b_lat_scanout ;
5281assign irf0_ecc_addr_b_lat_scanin = i_desr0_b_lat_scanout ;
5282assign irf1_ecc_addr_b_lat_scanin = irf0_ecc_addr_b_lat_scanout;
5283assign irf0_ecc_check_b_lat_scanin = irf1_ecc_addr_b_lat_scanout;
5284assign irf1_ecc_check_b_lat_scanin = irf0_ecc_check_b_lat_scanout;
5285assign i_isfsr1_w_lat_scanin = irf1_ecc_check_b_lat_scanout;
5286assign i_isfsr0_w_lat_scanin = i_isfsr1_w_lat_scanout ;
5287assign i_desr1_w_lat_scanin = i_isfsr0_w_lat_scanout ;
5288assign i_desr0_w_lat_scanin = i_desr1_w_lat_scanout ;
5289assign irfu_w_lat_scanin = i_desr0_w_lat_scanout ;
5290assign irfc_w_lat_scanin = irfu_w_lat_scanout ;
5291assign seen_bsee_lat_scanin = irfc_w_lat_scanout ;
5292assign dttp_w_lat_scanin = seen_bsee_lat_scanout ;
5293assign dtmh_w_lat_scanin = dttp_w_lat_scanout ;
5294assign dtdp_w_lat_scanin = dtmh_w_lat_scanout ;
5295assign irf0_ecc_addr_w_lat_scanin = dtdp_w_lat_scanout ;
5296assign irf1_ecc_addr_w_lat_scanin = irf0_ecc_addr_w_lat_scanout;
5297assign irf0_ecc_check_w_lat_scanin = irf1_ecc_addr_w_lat_scanout;
5298assign irf1_ecc_check_w_lat_scanin = irf0_ecc_check_w_lat_scanout;
5299assign frf_ecc_addr_w_lat_scanin = irf1_ecc_check_w_lat_scanout;
5300assign frf_ecc_check_w_lat_scanin = frf_ecc_addr_w_lat_scanout;
5301assign ecc_w1_lat_scanin = frf_ecc_check_w_lat_scanout;
5302assign tid1_w1_lat_scanin = ecc_w1_lat_scanout ;
5303assign tid0_w1_lat_scanin = tid1_w1_lat_scanout ;
5304assign pipe_dsfsr1_lat_scanin = tid0_w1_lat_scanout ;
5305assign pipe_dsfsr0_lat_scanin = pipe_dsfsr1_lat_scanout ;
5306assign pipe_dsfar1_lat_scanin = pipe_dsfsr0_lat_scanout ;
5307assign pipe_dsfar0_lat_scanin = pipe_dsfar1_lat_scanout ;
5308assign load_dsfar_lat_scanin = pipe_dsfar0_lat_scanout ;
5309assign i_desr1_w1_lat_scanin = load_dsfar_lat_scanout ;
5310assign i_desr0_w1_lat_scanin = i_desr1_w1_lat_scanout ;
5311assign excp_way_lat_scanin = i_desr0_w1_lat_scanout ;
5312assign ic_way7_lat_scanin = excp_way_lat_scanout ;
5313assign ic_way6_lat_scanin = ic_way7_lat_scanout ;
5314assign ic_way5_lat_scanin = ic_way6_lat_scanout ;
5315assign ic_way4_lat_scanin = ic_way5_lat_scanout ;
5316assign ic_way3_lat_scanin = ic_way4_lat_scanout ;
5317assign ic_way2_lat_scanin = ic_way3_lat_scanout ;
5318assign ic_way1_lat_scanin = ic_way2_lat_scanout ;
5319assign ic_way0_lat_scanin = ic_way1_lat_scanout ;
5320assign pc_1_w1_lat_scanin = ic_way0_lat_scanout ;
5321assign pc_0_w1_lat_scanin = pc_1_w1_lat_scanout ;
5322assign it2lc_lat_scanin = pc_0_w1_lat_scanout ;
5323assign dt2lc_lat_scanin = it2lc_lat_scanout ;
5324assign tca_error_lat_scanin = dt2lc_lat_scanout ;
5325assign l_dsfar_lat_scanin = tca_error_lat_scanout ;
5326assign l_tid_lat_scanin = l_dsfar_lat_scanout ;
5327assign dcl2c_lat_scanin = l_tid_lat_scanout ;
5328assign dcl2u_lat_scanin = dcl2c_lat_scanout ;
5329assign dcl2nd_lat_scanin = dcl2u_lat_scanout ;
5330assign dcsoc_lat_scanin = dcl2nd_lat_scanout ;
5331assign s_dsfar_lat_scanin = dcsoc_lat_scanout ;
5332assign s_tid_lat_scanin = s_dsfar_lat_scanout ;
5333assign stb_flush_lat_scanin = s_tid_lat_scanout ;
5334assign sbdlc_lat_scanin = stb_flush_lat_scanout ;
5335assign sbdlu_lat_scanin = sbdlc_lat_scanout ;
5336assign asi_rd_ctl_lat_scanin = sbdlu_lat_scanout ;
5337assign dcvp_lat_scanin = asi_rd_ctl_lat_scanout ;
5338assign dctp_lat_scanin = dcvp_lat_scanout ;
5339assign dctm_lat_scanin = dctp_lat_scanout ;
5340assign dcdp_lat_scanin = dctm_lat_scanout ;
5341assign cxi_lat_scanin = dcdp_lat_scanout ;
5342assign sbdpc_lat_scanin = cxi_lat_scanout ;
5343assign sbdpu_lat_scanin = sbdpc_lat_scanout ;
5344assign mamu_err_lat_scanin = sbdpu_lat_scanout ;
5345assign ma_tid_lat_scanin = mamu_err_lat_scanout ;
5346assign cwq_tid_lat_scanin = ma_tid_lat_scanout ;
5347assign spu_error_lat_scanin = cwq_tid_lat_scanout ;
5348assign sbdiou_lat_scanin = spu_error_lat_scanout ;
5349assign sbapp_lat_scanin = sbdiou_lat_scanout ;
5350assign event_1_lat_scanin = sbapp_lat_scanout ;
5351assign event_0_lat_scanin = event_1_lat_scanout ;
5352assign spares_scanin = event_0_lat_scanout ;
5353assign spare0_lat_scanin = spares_scanout ;
5354assign spare1_lat_scanin = spare0_lat_scanout ;
5355assign spare2_lat_scanin = spare1_lat_scanout ;
5356assign spare3_lat_scanin = spare2_lat_scanout ;
5357assign spare4_lat_scanin = spare3_lat_scanout ;
5358assign spare5_lat_scanin = spare4_lat_scanout ;
5359assign spare6_lat_scanin = spare5_lat_scanout ;
5360assign spare7_lat_scanin = spare6_lat_scanout ;
5361assign spare8_lat_scanin = spare7_lat_scanout ;
5362assign spare9_lat_scanin = spare8_lat_scanout ;
5363assign spare10_lat_scanin = spare9_lat_scanout ;
5364assign spare11_lat_scanin = spare10_lat_scanout ;
5365assign spare12_lat_scanin = spare11_lat_scanout ;
5366assign spare13_lat_scanin = spare12_lat_scanout ;
5367assign spare14_lat_scanin = spare13_lat_scanout ;
5368assign spare15_lat_scanin = spare14_lat_scanout ;
5369assign scan_out = spare15_lat_scanout ;
5370
5371assign isfsr_7_lat_wmr_scanin = wmr_scan_in ;
5372assign isfsr_6_lat_wmr_scanin = isfsr_7_lat_wmr_scanout ;
5373assign isfsr_5_lat_wmr_scanin = isfsr_6_lat_wmr_scanout ;
5374assign isfsr_4_lat_wmr_scanin = isfsr_5_lat_wmr_scanout ;
5375assign isfsr_3_lat_wmr_scanin = isfsr_4_lat_wmr_scanout ;
5376assign isfsr_2_lat_wmr_scanin = isfsr_3_lat_wmr_scanout ;
5377assign isfsr_1_lat_wmr_scanin = isfsr_2_lat_wmr_scanout ;
5378assign isfsr_0_lat_wmr_scanin = isfsr_1_lat_wmr_scanout ;
5379assign dsfsr_7_lat_wmr_scanin = isfsr_0_lat_wmr_scanout ;
5380assign dsfsr_6_lat_wmr_scanin = dsfsr_7_lat_wmr_scanout ;
5381assign dsfsr_5_lat_wmr_scanin = dsfsr_6_lat_wmr_scanout ;
5382assign dsfsr_4_lat_wmr_scanin = dsfsr_5_lat_wmr_scanout ;
5383assign dsfsr_3_lat_wmr_scanin = dsfsr_4_lat_wmr_scanout ;
5384assign dsfsr_2_lat_wmr_scanin = dsfsr_3_lat_wmr_scanout ;
5385assign dsfsr_1_lat_wmr_scanin = dsfsr_2_lat_wmr_scanout ;
5386assign dsfsr_0_lat_wmr_scanin = dsfsr_1_lat_wmr_scanout ;
5387assign wmr_scan_out = dsfsr_0_lat_wmr_scanout ;
5388// fixscan end:
5389endmodule
5390
5391
5392
5393
5394
5395
5396
5397// any PARAMS parms go into naming of macro
5398
5399module tlu_ras_ctl_l1clkhdr_ctl_macro (
5400 l2clk,
5401 l1en,
5402 pce_ov,
5403 stop,
5404 se,
5405 l1clk);
5406
5407
5408 input l2clk;
5409 input l1en;
5410 input pce_ov;
5411 input stop;
5412 input se;
5413 output l1clk;
5414
5415
5416
5417
5418
5419cl_sc1_l1hdr_8x c_0 (
5420
5421
5422 .l2clk(l2clk),
5423 .pce(l1en),
5424 .l1clk(l1clk),
5425 .se(se),
5426 .pce_ov(pce_ov),
5427 .stop(stop)
5428);
5429
5430
5431
5432endmodule
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446// any PARAMS parms go into naming of macro
5447
5448module tlu_ras_ctl_msff_ctl_macro__width_2 (
5449 din,
5450 l1clk,
5451 scan_in,
5452 siclk,
5453 soclk,
5454 dout,
5455 scan_out);
5456wire [1:0] fdin;
5457wire [0:0] so;
5458
5459 input [1:0] din;
5460 input l1clk;
5461 input scan_in;
5462
5463
5464 input siclk;
5465 input soclk;
5466
5467 output [1:0] dout;
5468 output scan_out;
5469assign fdin[1:0] = din[1:0];
5470
5471
5472
5473
5474
5475
5476dff #(2) d0_0 (
5477.l1clk(l1clk),
5478.siclk(siclk),
5479.soclk(soclk),
5480.d(fdin[1:0]),
5481.si({scan_in,so[0:0]}),
5482.so({so[0:0],scan_out}),
5483.q(dout[1:0])
5484);
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497endmodule
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511// any PARAMS parms go into naming of macro
5512
5513module tlu_ras_ctl_msff_ctl_macro__width_1 (
5514 din,
5515 l1clk,
5516 scan_in,
5517 siclk,
5518 soclk,
5519 dout,
5520 scan_out);
5521wire [0:0] fdin;
5522
5523 input [0:0] din;
5524 input l1clk;
5525 input scan_in;
5526
5527
5528 input siclk;
5529 input soclk;
5530
5531 output [0:0] dout;
5532 output scan_out;
5533assign fdin[0:0] = din[0:0];
5534
5535
5536
5537
5538
5539
5540dff #(1) d0_0 (
5541.l1clk(l1clk),
5542.siclk(siclk),
5543.soclk(soclk),
5544.d(fdin[0:0]),
5545.si(scan_in),
5546.so(scan_out),
5547.q(dout[0:0])
5548);
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561endmodule
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575// any PARAMS parms go into naming of macro
5576
5577module tlu_ras_ctl_msff_ctl_macro__width_8 (
5578 din,
5579 l1clk,
5580 scan_in,
5581 siclk,
5582 soclk,
5583 dout,
5584 scan_out);
5585wire [7:0] fdin;
5586wire [6:0] so;
5587
5588 input [7:0] din;
5589 input l1clk;
5590 input scan_in;
5591
5592
5593 input siclk;
5594 input soclk;
5595
5596 output [7:0] dout;
5597 output scan_out;
5598assign fdin[7:0] = din[7:0];
5599
5600
5601
5602
5603
5604
5605dff #(8) d0_0 (
5606.l1clk(l1clk),
5607.siclk(siclk),
5608.soclk(soclk),
5609.d(fdin[7:0]),
5610.si({scan_in,so[6:0]}),
5611.so({so[6:0],scan_out}),
5612.q(dout[7:0])
5613);
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626endmodule
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640// any PARAMS parms go into naming of macro
5641
5642module tlu_ras_ctl_msff_ctl_macro__width_3 (
5643 din,
5644 l1clk,
5645 scan_in,
5646 siclk,
5647 soclk,
5648 dout,
5649 scan_out);
5650wire [2:0] fdin;
5651wire [1:0] so;
5652
5653 input [2:0] din;
5654 input l1clk;
5655 input scan_in;
5656
5657
5658 input siclk;
5659 input soclk;
5660
5661 output [2:0] dout;
5662 output scan_out;
5663assign fdin[2:0] = din[2:0];
5664
5665
5666
5667
5668
5669
5670dff #(3) d0_0 (
5671.l1clk(l1clk),
5672.siclk(siclk),
5673.soclk(soclk),
5674.d(fdin[2:0]),
5675.si({scan_in,so[1:0]}),
5676.so({so[1:0],scan_out}),
5677.q(dout[2:0])
5678);
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691endmodule
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705// any PARAMS parms go into naming of macro
5706
5707module tlu_ras_ctl_msff_ctl_macro__width_4 (
5708 din,
5709 l1clk,
5710 scan_in,
5711 siclk,
5712 soclk,
5713 dout,
5714 scan_out);
5715wire [3:0] fdin;
5716wire [2:0] so;
5717
5718 input [3:0] din;
5719 input l1clk;
5720 input scan_in;
5721
5722
5723 input siclk;
5724 input soclk;
5725
5726 output [3:0] dout;
5727 output scan_out;
5728assign fdin[3:0] = din[3:0];
5729
5730
5731
5732
5733
5734
5735dff #(4) d0_0 (
5736.l1clk(l1clk),
5737.siclk(siclk),
5738.soclk(soclk),
5739.d(fdin[3:0]),
5740.si({scan_in,so[2:0]}),
5741.so({so[2:0],scan_out}),
5742.q(dout[3:0])
5743);
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756endmodule
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770// any PARAMS parms go into naming of macro
5771
5772module tlu_ras_ctl_msff_ctl_macro__width_5 (
5773 din,
5774 l1clk,
5775 scan_in,
5776 siclk,
5777 soclk,
5778 dout,
5779 scan_out);
5780wire [4:0] fdin;
5781wire [3:0] so;
5782
5783 input [4:0] din;
5784 input l1clk;
5785 input scan_in;
5786
5787
5788 input siclk;
5789 input soclk;
5790
5791 output [4:0] dout;
5792 output scan_out;
5793assign fdin[4:0] = din[4:0];
5794
5795
5796
5797
5798
5799
5800dff #(5) d0_0 (
5801.l1clk(l1clk),
5802.siclk(siclk),
5803.soclk(soclk),
5804.d(fdin[4:0]),
5805.si({scan_in,so[3:0]}),
5806.so({so[3:0],scan_out}),
5807.q(dout[4:0])
5808);
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821endmodule
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835// any PARAMS parms go into naming of macro
5836
5837module tlu_ras_ctl_msff_ctl_macro__width_6 (
5838 din,
5839 l1clk,
5840 scan_in,
5841 siclk,
5842 soclk,
5843 dout,
5844 scan_out);
5845wire [5:0] fdin;
5846wire [4:0] so;
5847
5848 input [5:0] din;
5849 input l1clk;
5850 input scan_in;
5851
5852
5853 input siclk;
5854 input soclk;
5855
5856 output [5:0] dout;
5857 output scan_out;
5858assign fdin[5:0] = din[5:0];
5859
5860
5861
5862
5863
5864
5865dff #(6) d0_0 (
5866.l1clk(l1clk),
5867.siclk(siclk),
5868.soclk(soclk),
5869.d(fdin[5:0]),
5870.si({scan_in,so[4:0]}),
5871.so({so[4:0],scan_out}),
5872.q(dout[5:0])
5873);
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886endmodule
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900// any PARAMS parms go into naming of macro
5901
5902module tlu_ras_ctl_msff_ctl_macro__width_14 (
5903 din,
5904 l1clk,
5905 scan_in,
5906 siclk,
5907 soclk,
5908 dout,
5909 scan_out);
5910wire [13:0] fdin;
5911wire [12:0] so;
5912
5913 input [13:0] din;
5914 input l1clk;
5915 input scan_in;
5916
5917
5918 input siclk;
5919 input soclk;
5920
5921 output [13:0] dout;
5922 output scan_out;
5923assign fdin[13:0] = din[13:0];
5924
5925
5926
5927
5928
5929
5930dff #(14) d0_0 (
5931.l1clk(l1clk),
5932.siclk(siclk),
5933.soclk(soclk),
5934.d(fdin[13:0]),
5935.si({scan_in,so[12:0]}),
5936.so({so[12:0],scan_out}),
5937.q(dout[13:0])
5938);
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951endmodule
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965// any PARAMS parms go into naming of macro
5966
5967module tlu_ras_ctl_msff_ctl_macro__width_20 (
5968 din,
5969 l1clk,
5970 scan_in,
5971 siclk,
5972 soclk,
5973 dout,
5974 scan_out);
5975wire [19:0] fdin;
5976wire [18:0] so;
5977
5978 input [19:0] din;
5979 input l1clk;
5980 input scan_in;
5981
5982
5983 input siclk;
5984 input soclk;
5985
5986 output [19:0] dout;
5987 output scan_out;
5988assign fdin[19:0] = din[19:0];
5989
5990
5991
5992
5993
5994
5995dff #(20) d0_0 (
5996.l1clk(l1clk),
5997.siclk(siclk),
5998.soclk(soclk),
5999.d(fdin[19:0]),
6000.si({scan_in,so[18:0]}),
6001.so({so[18:0],scan_out}),
6002.q(dout[19:0])
6003);
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016endmodule
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030// any PARAMS parms go into naming of macro
6031
6032module tlu_ras_ctl_msff_ctl_macro__width_7 (
6033 din,
6034 l1clk,
6035 scan_in,
6036 siclk,
6037 soclk,
6038 dout,
6039 scan_out);
6040wire [6:0] fdin;
6041wire [5:0] so;
6042
6043 input [6:0] din;
6044 input l1clk;
6045 input scan_in;
6046
6047
6048 input siclk;
6049 input soclk;
6050
6051 output [6:0] dout;
6052 output scan_out;
6053assign fdin[6:0] = din[6:0];
6054
6055
6056
6057
6058
6059
6060dff #(7) d0_0 (
6061.l1clk(l1clk),
6062.siclk(siclk),
6063.soclk(soclk),
6064.d(fdin[6:0]),
6065.si({scan_in,so[5:0]}),
6066.so({so[5:0],scan_out}),
6067.q(dout[6:0])
6068);
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081endmodule
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095// any PARAMS parms go into naming of macro
6096
6097module tlu_ras_ctl_msff_ctl_macro__width_9 (
6098 din,
6099 l1clk,
6100 scan_in,
6101 siclk,
6102 soclk,
6103 dout,
6104 scan_out);
6105wire [8:0] fdin;
6106wire [7:0] so;
6107
6108 input [8:0] din;
6109 input l1clk;
6110 input scan_in;
6111
6112
6113 input siclk;
6114 input soclk;
6115
6116 output [8:0] dout;
6117 output scan_out;
6118assign fdin[8:0] = din[8:0];
6119
6120
6121
6122
6123
6124
6125dff #(9) d0_0 (
6126.l1clk(l1clk),
6127.siclk(siclk),
6128.soclk(soclk),
6129.d(fdin[8:0]),
6130.si({scan_in,so[7:0]}),
6131.so({so[7:0],scan_out}),
6132.q(dout[8:0])
6133);
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146endmodule
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160// any PARAMS parms go into naming of macro
6161
6162module tlu_ras_ctl_msff_ctl_macro__width_12 (
6163 din,
6164 l1clk,
6165 scan_in,
6166 siclk,
6167 soclk,
6168 dout,
6169 scan_out);
6170wire [11:0] fdin;
6171wire [10:0] so;
6172
6173 input [11:0] din;
6174 input l1clk;
6175 input scan_in;
6176
6177
6178 input siclk;
6179 input soclk;
6180
6181 output [11:0] dout;
6182 output scan_out;
6183assign fdin[11:0] = din[11:0];
6184
6185
6186
6187
6188
6189
6190dff #(12) d0_0 (
6191.l1clk(l1clk),
6192.siclk(siclk),
6193.soclk(soclk),
6194.d(fdin[11:0]),
6195.si({scan_in,so[10:0]}),
6196.so({so[10:0],scan_out}),
6197.q(dout[11:0])
6198);
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211endmodule
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221// Description: Spare gate macro for control blocks
6222//
6223// Param num controls the number of times the macro is added
6224// flops=0 can be used to use only combination spare logic
6225
6226
6227module tlu_ras_ctl_spare_ctl_macro__num_16 (
6228 l1clk,
6229 scan_in,
6230 siclk,
6231 soclk,
6232 scan_out);
6233wire si_0;
6234wire so_0;
6235wire spare0_flop_unused;
6236wire spare0_buf_32x_unused;
6237wire spare0_nand3_8x_unused;
6238wire spare0_inv_8x_unused;
6239wire spare0_aoi22_4x_unused;
6240wire spare0_buf_8x_unused;
6241wire spare0_oai22_4x_unused;
6242wire spare0_inv_16x_unused;
6243wire spare0_nand2_16x_unused;
6244wire spare0_nor3_4x_unused;
6245wire spare0_nand2_8x_unused;
6246wire spare0_buf_16x_unused;
6247wire spare0_nor2_16x_unused;
6248wire spare0_inv_32x_unused;
6249wire si_1;
6250wire so_1;
6251wire spare1_flop_unused;
6252wire spare1_buf_32x_unused;
6253wire spare1_nand3_8x_unused;
6254wire spare1_inv_8x_unused;
6255wire spare1_aoi22_4x_unused;
6256wire spare1_buf_8x_unused;
6257wire spare1_oai22_4x_unused;
6258wire spare1_inv_16x_unused;
6259wire spare1_nand2_16x_unused;
6260wire spare1_nor3_4x_unused;
6261wire spare1_nand2_8x_unused;
6262wire spare1_buf_16x_unused;
6263wire spare1_nor2_16x_unused;
6264wire spare1_inv_32x_unused;
6265wire si_2;
6266wire so_2;
6267wire spare2_flop_unused;
6268wire spare2_buf_32x_unused;
6269wire spare2_nand3_8x_unused;
6270wire spare2_inv_8x_unused;
6271wire spare2_aoi22_4x_unused;
6272wire spare2_buf_8x_unused;
6273wire spare2_oai22_4x_unused;
6274wire spare2_inv_16x_unused;
6275wire spare2_nand2_16x_unused;
6276wire spare2_nor3_4x_unused;
6277wire spare2_nand2_8x_unused;
6278wire spare2_buf_16x_unused;
6279wire spare2_nor2_16x_unused;
6280wire spare2_inv_32x_unused;
6281wire si_3;
6282wire so_3;
6283wire spare3_flop_unused;
6284wire spare3_buf_32x_unused;
6285wire spare3_nand3_8x_unused;
6286wire spare3_inv_8x_unused;
6287wire spare3_aoi22_4x_unused;
6288wire spare3_buf_8x_unused;
6289wire spare3_oai22_4x_unused;
6290wire spare3_inv_16x_unused;
6291wire spare3_nand2_16x_unused;
6292wire spare3_nor3_4x_unused;
6293wire spare3_nand2_8x_unused;
6294wire spare3_buf_16x_unused;
6295wire spare3_nor2_16x_unused;
6296wire spare3_inv_32x_unused;
6297wire si_4;
6298wire so_4;
6299wire spare4_flop_unused;
6300wire spare4_buf_32x_unused;
6301wire spare4_nand3_8x_unused;
6302wire spare4_inv_8x_unused;
6303wire spare4_aoi22_4x_unused;
6304wire spare4_buf_8x_unused;
6305wire spare4_oai22_4x_unused;
6306wire spare4_inv_16x_unused;
6307wire spare4_nand2_16x_unused;
6308wire spare4_nor3_4x_unused;
6309wire spare4_nand2_8x_unused;
6310wire spare4_buf_16x_unused;
6311wire spare4_nor2_16x_unused;
6312wire spare4_inv_32x_unused;
6313wire si_5;
6314wire so_5;
6315wire spare5_flop_unused;
6316wire spare5_buf_32x_unused;
6317wire spare5_nand3_8x_unused;
6318wire spare5_inv_8x_unused;
6319wire spare5_aoi22_4x_unused;
6320wire spare5_buf_8x_unused;
6321wire spare5_oai22_4x_unused;
6322wire spare5_inv_16x_unused;
6323wire spare5_nand2_16x_unused;
6324wire spare5_nor3_4x_unused;
6325wire spare5_nand2_8x_unused;
6326wire spare5_buf_16x_unused;
6327wire spare5_nor2_16x_unused;
6328wire spare5_inv_32x_unused;
6329wire si_6;
6330wire so_6;
6331wire spare6_flop_unused;
6332wire spare6_buf_32x_unused;
6333wire spare6_nand3_8x_unused;
6334wire spare6_inv_8x_unused;
6335wire spare6_aoi22_4x_unused;
6336wire spare6_buf_8x_unused;
6337wire spare6_oai22_4x_unused;
6338wire spare6_inv_16x_unused;
6339wire spare6_nand2_16x_unused;
6340wire spare6_nor3_4x_unused;
6341wire spare6_nand2_8x_unused;
6342wire spare6_buf_16x_unused;
6343wire spare6_nor2_16x_unused;
6344wire spare6_inv_32x_unused;
6345wire si_7;
6346wire so_7;
6347wire spare7_flop_unused;
6348wire spare7_buf_32x_unused;
6349wire spare7_nand3_8x_unused;
6350wire spare7_inv_8x_unused;
6351wire spare7_aoi22_4x_unused;
6352wire spare7_buf_8x_unused;
6353wire spare7_oai22_4x_unused;
6354wire spare7_inv_16x_unused;
6355wire spare7_nand2_16x_unused;
6356wire spare7_nor3_4x_unused;
6357wire spare7_nand2_8x_unused;
6358wire spare7_buf_16x_unused;
6359wire spare7_nor2_16x_unused;
6360wire spare7_inv_32x_unused;
6361wire si_8;
6362wire so_8;
6363wire spare8_flop_unused;
6364wire spare8_buf_32x_unused;
6365wire spare8_nand3_8x_unused;
6366wire spare8_inv_8x_unused;
6367wire spare8_aoi22_4x_unused;
6368wire spare8_buf_8x_unused;
6369wire spare8_oai22_4x_unused;
6370wire spare8_inv_16x_unused;
6371wire spare8_nand2_16x_unused;
6372wire spare8_nor3_4x_unused;
6373wire spare8_nand2_8x_unused;
6374wire spare8_buf_16x_unused;
6375wire spare8_nor2_16x_unused;
6376wire spare8_inv_32x_unused;
6377wire si_9;
6378wire so_9;
6379wire spare9_flop_unused;
6380wire spare9_buf_32x_unused;
6381wire spare9_nand3_8x_unused;
6382wire spare9_inv_8x_unused;
6383wire spare9_aoi22_4x_unused;
6384wire spare9_buf_8x_unused;
6385wire spare9_oai22_4x_unused;
6386wire spare9_inv_16x_unused;
6387wire spare9_nand2_16x_unused;
6388wire spare9_nor3_4x_unused;
6389wire spare9_nand2_8x_unused;
6390wire spare9_buf_16x_unused;
6391wire spare9_nor2_16x_unused;
6392wire spare9_inv_32x_unused;
6393wire si_10;
6394wire so_10;
6395wire spare10_flop_unused;
6396wire spare10_buf_32x_unused;
6397wire spare10_nand3_8x_unused;
6398wire spare10_inv_8x_unused;
6399wire spare10_aoi22_4x_unused;
6400wire spare10_buf_8x_unused;
6401wire spare10_oai22_4x_unused;
6402wire spare10_inv_16x_unused;
6403wire spare10_nand2_16x_unused;
6404wire spare10_nor3_4x_unused;
6405wire spare10_nand2_8x_unused;
6406wire spare10_buf_16x_unused;
6407wire spare10_nor2_16x_unused;
6408wire spare10_inv_32x_unused;
6409wire si_11;
6410wire so_11;
6411wire spare11_flop_unused;
6412wire spare11_buf_32x_unused;
6413wire spare11_nand3_8x_unused;
6414wire spare11_inv_8x_unused;
6415wire spare11_aoi22_4x_unused;
6416wire spare11_buf_8x_unused;
6417wire spare11_oai22_4x_unused;
6418wire spare11_inv_16x_unused;
6419wire spare11_nand2_16x_unused;
6420wire spare11_nor3_4x_unused;
6421wire spare11_nand2_8x_unused;
6422wire spare11_buf_16x_unused;
6423wire spare11_nor2_16x_unused;
6424wire spare11_inv_32x_unused;
6425wire si_12;
6426wire so_12;
6427wire spare12_flop_unused;
6428wire spare12_buf_32x_unused;
6429wire spare12_nand3_8x_unused;
6430wire spare12_inv_8x_unused;
6431wire spare12_aoi22_4x_unused;
6432wire spare12_buf_8x_unused;
6433wire spare12_oai22_4x_unused;
6434wire spare12_inv_16x_unused;
6435wire spare12_nand2_16x_unused;
6436wire spare12_nor3_4x_unused;
6437wire spare12_nand2_8x_unused;
6438wire spare12_buf_16x_unused;
6439wire spare12_nor2_16x_unused;
6440wire spare12_inv_32x_unused;
6441wire si_13;
6442wire so_13;
6443wire spare13_flop_unused;
6444wire spare13_buf_32x_unused;
6445wire spare13_nand3_8x_unused;
6446wire spare13_inv_8x_unused;
6447wire spare13_aoi22_4x_unused;
6448wire spare13_buf_8x_unused;
6449wire spare13_oai22_4x_unused;
6450wire spare13_inv_16x_unused;
6451wire spare13_nand2_16x_unused;
6452wire spare13_nor3_4x_unused;
6453wire spare13_nand2_8x_unused;
6454wire spare13_buf_16x_unused;
6455wire spare13_nor2_16x_unused;
6456wire spare13_inv_32x_unused;
6457wire si_14;
6458wire so_14;
6459wire spare14_flop_unused;
6460wire spare14_buf_32x_unused;
6461wire spare14_nand3_8x_unused;
6462wire spare14_inv_8x_unused;
6463wire spare14_aoi22_4x_unused;
6464wire spare14_buf_8x_unused;
6465wire spare14_oai22_4x_unused;
6466wire spare14_inv_16x_unused;
6467wire spare14_nand2_16x_unused;
6468wire spare14_nor3_4x_unused;
6469wire spare14_nand2_8x_unused;
6470wire spare14_buf_16x_unused;
6471wire spare14_nor2_16x_unused;
6472wire spare14_inv_32x_unused;
6473wire si_15;
6474wire so_15;
6475wire spare15_flop_unused;
6476wire spare15_buf_32x_unused;
6477wire spare15_nand3_8x_unused;
6478wire spare15_inv_8x_unused;
6479wire spare15_aoi22_4x_unused;
6480wire spare15_buf_8x_unused;
6481wire spare15_oai22_4x_unused;
6482wire spare15_inv_16x_unused;
6483wire spare15_nand2_16x_unused;
6484wire spare15_nor3_4x_unused;
6485wire spare15_nand2_8x_unused;
6486wire spare15_buf_16x_unused;
6487wire spare15_nor2_16x_unused;
6488wire spare15_inv_32x_unused;
6489
6490
6491input l1clk;
6492input scan_in;
6493input siclk;
6494input soclk;
6495output scan_out;
6496
6497cl_sc1_msff_8x spare0_flop (.l1clk(l1clk),
6498 .siclk(siclk),
6499 .soclk(soclk),
6500 .si(si_0),
6501 .so(so_0),
6502 .d(1'b0),
6503 .q(spare0_flop_unused));
6504assign si_0 = scan_in;
6505
6506cl_u1_buf_32x spare0_buf_32x (.in(1'b1),
6507 .out(spare0_buf_32x_unused));
6508cl_u1_nand3_8x spare0_nand3_8x (.in0(1'b1),
6509 .in1(1'b1),
6510 .in2(1'b1),
6511 .out(spare0_nand3_8x_unused));
6512cl_u1_inv_8x spare0_inv_8x (.in(1'b1),
6513 .out(spare0_inv_8x_unused));
6514cl_u1_aoi22_4x spare0_aoi22_4x (.in00(1'b1),
6515 .in01(1'b1),
6516 .in10(1'b1),
6517 .in11(1'b1),
6518 .out(spare0_aoi22_4x_unused));
6519cl_u1_buf_8x spare0_buf_8x (.in(1'b1),
6520 .out(spare0_buf_8x_unused));
6521cl_u1_oai22_4x spare0_oai22_4x (.in00(1'b1),
6522 .in01(1'b1),
6523 .in10(1'b1),
6524 .in11(1'b1),
6525 .out(spare0_oai22_4x_unused));
6526cl_u1_inv_16x spare0_inv_16x (.in(1'b1),
6527 .out(spare0_inv_16x_unused));
6528cl_u1_nand2_16x spare0_nand2_16x (.in0(1'b1),
6529 .in1(1'b1),
6530 .out(spare0_nand2_16x_unused));
6531cl_u1_nor3_4x spare0_nor3_4x (.in0(1'b0),
6532 .in1(1'b0),
6533 .in2(1'b0),
6534 .out(spare0_nor3_4x_unused));
6535cl_u1_nand2_8x spare0_nand2_8x (.in0(1'b1),
6536 .in1(1'b1),
6537 .out(spare0_nand2_8x_unused));
6538cl_u1_buf_16x spare0_buf_16x (.in(1'b1),
6539 .out(spare0_buf_16x_unused));
6540cl_u1_nor2_16x spare0_nor2_16x (.in0(1'b0),
6541 .in1(1'b0),
6542 .out(spare0_nor2_16x_unused));
6543cl_u1_inv_32x spare0_inv_32x (.in(1'b1),
6544 .out(spare0_inv_32x_unused));
6545
6546cl_sc1_msff_8x spare1_flop (.l1clk(l1clk),
6547 .siclk(siclk),
6548 .soclk(soclk),
6549 .si(si_1),
6550 .so(so_1),
6551 .d(1'b0),
6552 .q(spare1_flop_unused));
6553assign si_1 = so_0;
6554
6555cl_u1_buf_32x spare1_buf_32x (.in(1'b1),
6556 .out(spare1_buf_32x_unused));
6557cl_u1_nand3_8x spare1_nand3_8x (.in0(1'b1),
6558 .in1(1'b1),
6559 .in2(1'b1),
6560 .out(spare1_nand3_8x_unused));
6561cl_u1_inv_8x spare1_inv_8x (.in(1'b1),
6562 .out(spare1_inv_8x_unused));
6563cl_u1_aoi22_4x spare1_aoi22_4x (.in00(1'b1),
6564 .in01(1'b1),
6565 .in10(1'b1),
6566 .in11(1'b1),
6567 .out(spare1_aoi22_4x_unused));
6568cl_u1_buf_8x spare1_buf_8x (.in(1'b1),
6569 .out(spare1_buf_8x_unused));
6570cl_u1_oai22_4x spare1_oai22_4x (.in00(1'b1),
6571 .in01(1'b1),
6572 .in10(1'b1),
6573 .in11(1'b1),
6574 .out(spare1_oai22_4x_unused));
6575cl_u1_inv_16x spare1_inv_16x (.in(1'b1),
6576 .out(spare1_inv_16x_unused));
6577cl_u1_nand2_16x spare1_nand2_16x (.in0(1'b1),
6578 .in1(1'b1),
6579 .out(spare1_nand2_16x_unused));
6580cl_u1_nor3_4x spare1_nor3_4x (.in0(1'b0),
6581 .in1(1'b0),
6582 .in2(1'b0),
6583 .out(spare1_nor3_4x_unused));
6584cl_u1_nand2_8x spare1_nand2_8x (.in0(1'b1),
6585 .in1(1'b1),
6586 .out(spare1_nand2_8x_unused));
6587cl_u1_buf_16x spare1_buf_16x (.in(1'b1),
6588 .out(spare1_buf_16x_unused));
6589cl_u1_nor2_16x spare1_nor2_16x (.in0(1'b0),
6590 .in1(1'b0),
6591 .out(spare1_nor2_16x_unused));
6592cl_u1_inv_32x spare1_inv_32x (.in(1'b1),
6593 .out(spare1_inv_32x_unused));
6594
6595cl_sc1_msff_8x spare2_flop (.l1clk(l1clk),
6596 .siclk(siclk),
6597 .soclk(soclk),
6598 .si(si_2),
6599 .so(so_2),
6600 .d(1'b0),
6601 .q(spare2_flop_unused));
6602assign si_2 = so_1;
6603
6604cl_u1_buf_32x spare2_buf_32x (.in(1'b1),
6605 .out(spare2_buf_32x_unused));
6606cl_u1_nand3_8x spare2_nand3_8x (.in0(1'b1),
6607 .in1(1'b1),
6608 .in2(1'b1),
6609 .out(spare2_nand3_8x_unused));
6610cl_u1_inv_8x spare2_inv_8x (.in(1'b1),
6611 .out(spare2_inv_8x_unused));
6612cl_u1_aoi22_4x spare2_aoi22_4x (.in00(1'b1),
6613 .in01(1'b1),
6614 .in10(1'b1),
6615 .in11(1'b1),
6616 .out(spare2_aoi22_4x_unused));
6617cl_u1_buf_8x spare2_buf_8x (.in(1'b1),
6618 .out(spare2_buf_8x_unused));
6619cl_u1_oai22_4x spare2_oai22_4x (.in00(1'b1),
6620 .in01(1'b1),
6621 .in10(1'b1),
6622 .in11(1'b1),
6623 .out(spare2_oai22_4x_unused));
6624cl_u1_inv_16x spare2_inv_16x (.in(1'b1),
6625 .out(spare2_inv_16x_unused));
6626cl_u1_nand2_16x spare2_nand2_16x (.in0(1'b1),
6627 .in1(1'b1),
6628 .out(spare2_nand2_16x_unused));
6629cl_u1_nor3_4x spare2_nor3_4x (.in0(1'b0),
6630 .in1(1'b0),
6631 .in2(1'b0),
6632 .out(spare2_nor3_4x_unused));
6633cl_u1_nand2_8x spare2_nand2_8x (.in0(1'b1),
6634 .in1(1'b1),
6635 .out(spare2_nand2_8x_unused));
6636cl_u1_buf_16x spare2_buf_16x (.in(1'b1),
6637 .out(spare2_buf_16x_unused));
6638cl_u1_nor2_16x spare2_nor2_16x (.in0(1'b0),
6639 .in1(1'b0),
6640 .out(spare2_nor2_16x_unused));
6641cl_u1_inv_32x spare2_inv_32x (.in(1'b1),
6642 .out(spare2_inv_32x_unused));
6643
6644cl_sc1_msff_8x spare3_flop (.l1clk(l1clk),
6645 .siclk(siclk),
6646 .soclk(soclk),
6647 .si(si_3),
6648 .so(so_3),
6649 .d(1'b0),
6650 .q(spare3_flop_unused));
6651assign si_3 = so_2;
6652
6653cl_u1_buf_32x spare3_buf_32x (.in(1'b1),
6654 .out(spare3_buf_32x_unused));
6655cl_u1_nand3_8x spare3_nand3_8x (.in0(1'b1),
6656 .in1(1'b1),
6657 .in2(1'b1),
6658 .out(spare3_nand3_8x_unused));
6659cl_u1_inv_8x spare3_inv_8x (.in(1'b1),
6660 .out(spare3_inv_8x_unused));
6661cl_u1_aoi22_4x spare3_aoi22_4x (.in00(1'b1),
6662 .in01(1'b1),
6663 .in10(1'b1),
6664 .in11(1'b1),
6665 .out(spare3_aoi22_4x_unused));
6666cl_u1_buf_8x spare3_buf_8x (.in(1'b1),
6667 .out(spare3_buf_8x_unused));
6668cl_u1_oai22_4x spare3_oai22_4x (.in00(1'b1),
6669 .in01(1'b1),
6670 .in10(1'b1),
6671 .in11(1'b1),
6672 .out(spare3_oai22_4x_unused));
6673cl_u1_inv_16x spare3_inv_16x (.in(1'b1),
6674 .out(spare3_inv_16x_unused));
6675cl_u1_nand2_16x spare3_nand2_16x (.in0(1'b1),
6676 .in1(1'b1),
6677 .out(spare3_nand2_16x_unused));
6678cl_u1_nor3_4x spare3_nor3_4x (.in0(1'b0),
6679 .in1(1'b0),
6680 .in2(1'b0),
6681 .out(spare3_nor3_4x_unused));
6682cl_u1_nand2_8x spare3_nand2_8x (.in0(1'b1),
6683 .in1(1'b1),
6684 .out(spare3_nand2_8x_unused));
6685cl_u1_buf_16x spare3_buf_16x (.in(1'b1),
6686 .out(spare3_buf_16x_unused));
6687cl_u1_nor2_16x spare3_nor2_16x (.in0(1'b0),
6688 .in1(1'b0),
6689 .out(spare3_nor2_16x_unused));
6690cl_u1_inv_32x spare3_inv_32x (.in(1'b1),
6691 .out(spare3_inv_32x_unused));
6692
6693cl_sc1_msff_8x spare4_flop (.l1clk(l1clk),
6694 .siclk(siclk),
6695 .soclk(soclk),
6696 .si(si_4),
6697 .so(so_4),
6698 .d(1'b0),
6699 .q(spare4_flop_unused));
6700assign si_4 = so_3;
6701
6702cl_u1_buf_32x spare4_buf_32x (.in(1'b1),
6703 .out(spare4_buf_32x_unused));
6704cl_u1_nand3_8x spare4_nand3_8x (.in0(1'b1),
6705 .in1(1'b1),
6706 .in2(1'b1),
6707 .out(spare4_nand3_8x_unused));
6708cl_u1_inv_8x spare4_inv_8x (.in(1'b1),
6709 .out(spare4_inv_8x_unused));
6710cl_u1_aoi22_4x spare4_aoi22_4x (.in00(1'b1),
6711 .in01(1'b1),
6712 .in10(1'b1),
6713 .in11(1'b1),
6714 .out(spare4_aoi22_4x_unused));
6715cl_u1_buf_8x spare4_buf_8x (.in(1'b1),
6716 .out(spare4_buf_8x_unused));
6717cl_u1_oai22_4x spare4_oai22_4x (.in00(1'b1),
6718 .in01(1'b1),
6719 .in10(1'b1),
6720 .in11(1'b1),
6721 .out(spare4_oai22_4x_unused));
6722cl_u1_inv_16x spare4_inv_16x (.in(1'b1),
6723 .out(spare4_inv_16x_unused));
6724cl_u1_nand2_16x spare4_nand2_16x (.in0(1'b1),
6725 .in1(1'b1),
6726 .out(spare4_nand2_16x_unused));
6727cl_u1_nor3_4x spare4_nor3_4x (.in0(1'b0),
6728 .in1(1'b0),
6729 .in2(1'b0),
6730 .out(spare4_nor3_4x_unused));
6731cl_u1_nand2_8x spare4_nand2_8x (.in0(1'b1),
6732 .in1(1'b1),
6733 .out(spare4_nand2_8x_unused));
6734cl_u1_buf_16x spare4_buf_16x (.in(1'b1),
6735 .out(spare4_buf_16x_unused));
6736cl_u1_nor2_16x spare4_nor2_16x (.in0(1'b0),
6737 .in1(1'b0),
6738 .out(spare4_nor2_16x_unused));
6739cl_u1_inv_32x spare4_inv_32x (.in(1'b1),
6740 .out(spare4_inv_32x_unused));
6741
6742cl_sc1_msff_8x spare5_flop (.l1clk(l1clk),
6743 .siclk(siclk),
6744 .soclk(soclk),
6745 .si(si_5),
6746 .so(so_5),
6747 .d(1'b0),
6748 .q(spare5_flop_unused));
6749assign si_5 = so_4;
6750
6751cl_u1_buf_32x spare5_buf_32x (.in(1'b1),
6752 .out(spare5_buf_32x_unused));
6753cl_u1_nand3_8x spare5_nand3_8x (.in0(1'b1),
6754 .in1(1'b1),
6755 .in2(1'b1),
6756 .out(spare5_nand3_8x_unused));
6757cl_u1_inv_8x spare5_inv_8x (.in(1'b1),
6758 .out(spare5_inv_8x_unused));
6759cl_u1_aoi22_4x spare5_aoi22_4x (.in00(1'b1),
6760 .in01(1'b1),
6761 .in10(1'b1),
6762 .in11(1'b1),
6763 .out(spare5_aoi22_4x_unused));
6764cl_u1_buf_8x spare5_buf_8x (.in(1'b1),
6765 .out(spare5_buf_8x_unused));
6766cl_u1_oai22_4x spare5_oai22_4x (.in00(1'b1),
6767 .in01(1'b1),
6768 .in10(1'b1),
6769 .in11(1'b1),
6770 .out(spare5_oai22_4x_unused));
6771cl_u1_inv_16x spare5_inv_16x (.in(1'b1),
6772 .out(spare5_inv_16x_unused));
6773cl_u1_nand2_16x spare5_nand2_16x (.in0(1'b1),
6774 .in1(1'b1),
6775 .out(spare5_nand2_16x_unused));
6776cl_u1_nor3_4x spare5_nor3_4x (.in0(1'b0),
6777 .in1(1'b0),
6778 .in2(1'b0),
6779 .out(spare5_nor3_4x_unused));
6780cl_u1_nand2_8x spare5_nand2_8x (.in0(1'b1),
6781 .in1(1'b1),
6782 .out(spare5_nand2_8x_unused));
6783cl_u1_buf_16x spare5_buf_16x (.in(1'b1),
6784 .out(spare5_buf_16x_unused));
6785cl_u1_nor2_16x spare5_nor2_16x (.in0(1'b0),
6786 .in1(1'b0),
6787 .out(spare5_nor2_16x_unused));
6788cl_u1_inv_32x spare5_inv_32x (.in(1'b1),
6789 .out(spare5_inv_32x_unused));
6790
6791cl_sc1_msff_8x spare6_flop (.l1clk(l1clk),
6792 .siclk(siclk),
6793 .soclk(soclk),
6794 .si(si_6),
6795 .so(so_6),
6796 .d(1'b0),
6797 .q(spare6_flop_unused));
6798assign si_6 = so_5;
6799
6800cl_u1_buf_32x spare6_buf_32x (.in(1'b1),
6801 .out(spare6_buf_32x_unused));
6802cl_u1_nand3_8x spare6_nand3_8x (.in0(1'b1),
6803 .in1(1'b1),
6804 .in2(1'b1),
6805 .out(spare6_nand3_8x_unused));
6806cl_u1_inv_8x spare6_inv_8x (.in(1'b1),
6807 .out(spare6_inv_8x_unused));
6808cl_u1_aoi22_4x spare6_aoi22_4x (.in00(1'b1),
6809 .in01(1'b1),
6810 .in10(1'b1),
6811 .in11(1'b1),
6812 .out(spare6_aoi22_4x_unused));
6813cl_u1_buf_8x spare6_buf_8x (.in(1'b1),
6814 .out(spare6_buf_8x_unused));
6815cl_u1_oai22_4x spare6_oai22_4x (.in00(1'b1),
6816 .in01(1'b1),
6817 .in10(1'b1),
6818 .in11(1'b1),
6819 .out(spare6_oai22_4x_unused));
6820cl_u1_inv_16x spare6_inv_16x (.in(1'b1),
6821 .out(spare6_inv_16x_unused));
6822cl_u1_nand2_16x spare6_nand2_16x (.in0(1'b1),
6823 .in1(1'b1),
6824 .out(spare6_nand2_16x_unused));
6825cl_u1_nor3_4x spare6_nor3_4x (.in0(1'b0),
6826 .in1(1'b0),
6827 .in2(1'b0),
6828 .out(spare6_nor3_4x_unused));
6829cl_u1_nand2_8x spare6_nand2_8x (.in0(1'b1),
6830 .in1(1'b1),
6831 .out(spare6_nand2_8x_unused));
6832cl_u1_buf_16x spare6_buf_16x (.in(1'b1),
6833 .out(spare6_buf_16x_unused));
6834cl_u1_nor2_16x spare6_nor2_16x (.in0(1'b0),
6835 .in1(1'b0),
6836 .out(spare6_nor2_16x_unused));
6837cl_u1_inv_32x spare6_inv_32x (.in(1'b1),
6838 .out(spare6_inv_32x_unused));
6839
6840cl_sc1_msff_8x spare7_flop (.l1clk(l1clk),
6841 .siclk(siclk),
6842 .soclk(soclk),
6843 .si(si_7),
6844 .so(so_7),
6845 .d(1'b0),
6846 .q(spare7_flop_unused));
6847assign si_7 = so_6;
6848
6849cl_u1_buf_32x spare7_buf_32x (.in(1'b1),
6850 .out(spare7_buf_32x_unused));
6851cl_u1_nand3_8x spare7_nand3_8x (.in0(1'b1),
6852 .in1(1'b1),
6853 .in2(1'b1),
6854 .out(spare7_nand3_8x_unused));
6855cl_u1_inv_8x spare7_inv_8x (.in(1'b1),
6856 .out(spare7_inv_8x_unused));
6857cl_u1_aoi22_4x spare7_aoi22_4x (.in00(1'b1),
6858 .in01(1'b1),
6859 .in10(1'b1),
6860 .in11(1'b1),
6861 .out(spare7_aoi22_4x_unused));
6862cl_u1_buf_8x spare7_buf_8x (.in(1'b1),
6863 .out(spare7_buf_8x_unused));
6864cl_u1_oai22_4x spare7_oai22_4x (.in00(1'b1),
6865 .in01(1'b1),
6866 .in10(1'b1),
6867 .in11(1'b1),
6868 .out(spare7_oai22_4x_unused));
6869cl_u1_inv_16x spare7_inv_16x (.in(1'b1),
6870 .out(spare7_inv_16x_unused));
6871cl_u1_nand2_16x spare7_nand2_16x (.in0(1'b1),
6872 .in1(1'b1),
6873 .out(spare7_nand2_16x_unused));
6874cl_u1_nor3_4x spare7_nor3_4x (.in0(1'b0),
6875 .in1(1'b0),
6876 .in2(1'b0),
6877 .out(spare7_nor3_4x_unused));
6878cl_u1_nand2_8x spare7_nand2_8x (.in0(1'b1),
6879 .in1(1'b1),
6880 .out(spare7_nand2_8x_unused));
6881cl_u1_buf_16x spare7_buf_16x (.in(1'b1),
6882 .out(spare7_buf_16x_unused));
6883cl_u1_nor2_16x spare7_nor2_16x (.in0(1'b0),
6884 .in1(1'b0),
6885 .out(spare7_nor2_16x_unused));
6886cl_u1_inv_32x spare7_inv_32x (.in(1'b1),
6887 .out(spare7_inv_32x_unused));
6888
6889cl_sc1_msff_8x spare8_flop (.l1clk(l1clk),
6890 .siclk(siclk),
6891 .soclk(soclk),
6892 .si(si_8),
6893 .so(so_8),
6894 .d(1'b0),
6895 .q(spare8_flop_unused));
6896assign si_8 = so_7;
6897
6898cl_u1_buf_32x spare8_buf_32x (.in(1'b1),
6899 .out(spare8_buf_32x_unused));
6900cl_u1_nand3_8x spare8_nand3_8x (.in0(1'b1),
6901 .in1(1'b1),
6902 .in2(1'b1),
6903 .out(spare8_nand3_8x_unused));
6904cl_u1_inv_8x spare8_inv_8x (.in(1'b1),
6905 .out(spare8_inv_8x_unused));
6906cl_u1_aoi22_4x spare8_aoi22_4x (.in00(1'b1),
6907 .in01(1'b1),
6908 .in10(1'b1),
6909 .in11(1'b1),
6910 .out(spare8_aoi22_4x_unused));
6911cl_u1_buf_8x spare8_buf_8x (.in(1'b1),
6912 .out(spare8_buf_8x_unused));
6913cl_u1_oai22_4x spare8_oai22_4x (.in00(1'b1),
6914 .in01(1'b1),
6915 .in10(1'b1),
6916 .in11(1'b1),
6917 .out(spare8_oai22_4x_unused));
6918cl_u1_inv_16x spare8_inv_16x (.in(1'b1),
6919 .out(spare8_inv_16x_unused));
6920cl_u1_nand2_16x spare8_nand2_16x (.in0(1'b1),
6921 .in1(1'b1),
6922 .out(spare8_nand2_16x_unused));
6923cl_u1_nor3_4x spare8_nor3_4x (.in0(1'b0),
6924 .in1(1'b0),
6925 .in2(1'b0),
6926 .out(spare8_nor3_4x_unused));
6927cl_u1_nand2_8x spare8_nand2_8x (.in0(1'b1),
6928 .in1(1'b1),
6929 .out(spare8_nand2_8x_unused));
6930cl_u1_buf_16x spare8_buf_16x (.in(1'b1),
6931 .out(spare8_buf_16x_unused));
6932cl_u1_nor2_16x spare8_nor2_16x (.in0(1'b0),
6933 .in1(1'b0),
6934 .out(spare8_nor2_16x_unused));
6935cl_u1_inv_32x spare8_inv_32x (.in(1'b1),
6936 .out(spare8_inv_32x_unused));
6937
6938cl_sc1_msff_8x spare9_flop (.l1clk(l1clk),
6939 .siclk(siclk),
6940 .soclk(soclk),
6941 .si(si_9),
6942 .so(so_9),
6943 .d(1'b0),
6944 .q(spare9_flop_unused));
6945assign si_9 = so_8;
6946
6947cl_u1_buf_32x spare9_buf_32x (.in(1'b1),
6948 .out(spare9_buf_32x_unused));
6949cl_u1_nand3_8x spare9_nand3_8x (.in0(1'b1),
6950 .in1(1'b1),
6951 .in2(1'b1),
6952 .out(spare9_nand3_8x_unused));
6953cl_u1_inv_8x spare9_inv_8x (.in(1'b1),
6954 .out(spare9_inv_8x_unused));
6955cl_u1_aoi22_4x spare9_aoi22_4x (.in00(1'b1),
6956 .in01(1'b1),
6957 .in10(1'b1),
6958 .in11(1'b1),
6959 .out(spare9_aoi22_4x_unused));
6960cl_u1_buf_8x spare9_buf_8x (.in(1'b1),
6961 .out(spare9_buf_8x_unused));
6962cl_u1_oai22_4x spare9_oai22_4x (.in00(1'b1),
6963 .in01(1'b1),
6964 .in10(1'b1),
6965 .in11(1'b1),
6966 .out(spare9_oai22_4x_unused));
6967cl_u1_inv_16x spare9_inv_16x (.in(1'b1),
6968 .out(spare9_inv_16x_unused));
6969cl_u1_nand2_16x spare9_nand2_16x (.in0(1'b1),
6970 .in1(1'b1),
6971 .out(spare9_nand2_16x_unused));
6972cl_u1_nor3_4x spare9_nor3_4x (.in0(1'b0),
6973 .in1(1'b0),
6974 .in2(1'b0),
6975 .out(spare9_nor3_4x_unused));
6976cl_u1_nand2_8x spare9_nand2_8x (.in0(1'b1),
6977 .in1(1'b1),
6978 .out(spare9_nand2_8x_unused));
6979cl_u1_buf_16x spare9_buf_16x (.in(1'b1),
6980 .out(spare9_buf_16x_unused));
6981cl_u1_nor2_16x spare9_nor2_16x (.in0(1'b0),
6982 .in1(1'b0),
6983 .out(spare9_nor2_16x_unused));
6984cl_u1_inv_32x spare9_inv_32x (.in(1'b1),
6985 .out(spare9_inv_32x_unused));
6986
6987cl_sc1_msff_8x spare10_flop (.l1clk(l1clk),
6988 .siclk(siclk),
6989 .soclk(soclk),
6990 .si(si_10),
6991 .so(so_10),
6992 .d(1'b0),
6993 .q(spare10_flop_unused));
6994assign si_10 = so_9;
6995
6996cl_u1_buf_32x spare10_buf_32x (.in(1'b1),
6997 .out(spare10_buf_32x_unused));
6998cl_u1_nand3_8x spare10_nand3_8x (.in0(1'b1),
6999 .in1(1'b1),
7000 .in2(1'b1),
7001 .out(spare10_nand3_8x_unused));
7002cl_u1_inv_8x spare10_inv_8x (.in(1'b1),
7003 .out(spare10_inv_8x_unused));
7004cl_u1_aoi22_4x spare10_aoi22_4x (.in00(1'b1),
7005 .in01(1'b1),
7006 .in10(1'b1),
7007 .in11(1'b1),
7008 .out(spare10_aoi22_4x_unused));
7009cl_u1_buf_8x spare10_buf_8x (.in(1'b1),
7010 .out(spare10_buf_8x_unused));
7011cl_u1_oai22_4x spare10_oai22_4x (.in00(1'b1),
7012 .in01(1'b1),
7013 .in10(1'b1),
7014 .in11(1'b1),
7015 .out(spare10_oai22_4x_unused));
7016cl_u1_inv_16x spare10_inv_16x (.in(1'b1),
7017 .out(spare10_inv_16x_unused));
7018cl_u1_nand2_16x spare10_nand2_16x (.in0(1'b1),
7019 .in1(1'b1),
7020 .out(spare10_nand2_16x_unused));
7021cl_u1_nor3_4x spare10_nor3_4x (.in0(1'b0),
7022 .in1(1'b0),
7023 .in2(1'b0),
7024 .out(spare10_nor3_4x_unused));
7025cl_u1_nand2_8x spare10_nand2_8x (.in0(1'b1),
7026 .in1(1'b1),
7027 .out(spare10_nand2_8x_unused));
7028cl_u1_buf_16x spare10_buf_16x (.in(1'b1),
7029 .out(spare10_buf_16x_unused));
7030cl_u1_nor2_16x spare10_nor2_16x (.in0(1'b0),
7031 .in1(1'b0),
7032 .out(spare10_nor2_16x_unused));
7033cl_u1_inv_32x spare10_inv_32x (.in(1'b1),
7034 .out(spare10_inv_32x_unused));
7035
7036cl_sc1_msff_8x spare11_flop (.l1clk(l1clk),
7037 .siclk(siclk),
7038 .soclk(soclk),
7039 .si(si_11),
7040 .so(so_11),
7041 .d(1'b0),
7042 .q(spare11_flop_unused));
7043assign si_11 = so_10;
7044
7045cl_u1_buf_32x spare11_buf_32x (.in(1'b1),
7046 .out(spare11_buf_32x_unused));
7047cl_u1_nand3_8x spare11_nand3_8x (.in0(1'b1),
7048 .in1(1'b1),
7049 .in2(1'b1),
7050 .out(spare11_nand3_8x_unused));
7051cl_u1_inv_8x spare11_inv_8x (.in(1'b1),
7052 .out(spare11_inv_8x_unused));
7053cl_u1_aoi22_4x spare11_aoi22_4x (.in00(1'b1),
7054 .in01(1'b1),
7055 .in10(1'b1),
7056 .in11(1'b1),
7057 .out(spare11_aoi22_4x_unused));
7058cl_u1_buf_8x spare11_buf_8x (.in(1'b1),
7059 .out(spare11_buf_8x_unused));
7060cl_u1_oai22_4x spare11_oai22_4x (.in00(1'b1),
7061 .in01(1'b1),
7062 .in10(1'b1),
7063 .in11(1'b1),
7064 .out(spare11_oai22_4x_unused));
7065cl_u1_inv_16x spare11_inv_16x (.in(1'b1),
7066 .out(spare11_inv_16x_unused));
7067cl_u1_nand2_16x spare11_nand2_16x (.in0(1'b1),
7068 .in1(1'b1),
7069 .out(spare11_nand2_16x_unused));
7070cl_u1_nor3_4x spare11_nor3_4x (.in0(1'b0),
7071 .in1(1'b0),
7072 .in2(1'b0),
7073 .out(spare11_nor3_4x_unused));
7074cl_u1_nand2_8x spare11_nand2_8x (.in0(1'b1),
7075 .in1(1'b1),
7076 .out(spare11_nand2_8x_unused));
7077cl_u1_buf_16x spare11_buf_16x (.in(1'b1),
7078 .out(spare11_buf_16x_unused));
7079cl_u1_nor2_16x spare11_nor2_16x (.in0(1'b0),
7080 .in1(1'b0),
7081 .out(spare11_nor2_16x_unused));
7082cl_u1_inv_32x spare11_inv_32x (.in(1'b1),
7083 .out(spare11_inv_32x_unused));
7084
7085cl_sc1_msff_8x spare12_flop (.l1clk(l1clk),
7086 .siclk(siclk),
7087 .soclk(soclk),
7088 .si(si_12),
7089 .so(so_12),
7090 .d(1'b0),
7091 .q(spare12_flop_unused));
7092assign si_12 = so_11;
7093
7094cl_u1_buf_32x spare12_buf_32x (.in(1'b1),
7095 .out(spare12_buf_32x_unused));
7096cl_u1_nand3_8x spare12_nand3_8x (.in0(1'b1),
7097 .in1(1'b1),
7098 .in2(1'b1),
7099 .out(spare12_nand3_8x_unused));
7100cl_u1_inv_8x spare12_inv_8x (.in(1'b1),
7101 .out(spare12_inv_8x_unused));
7102cl_u1_aoi22_4x spare12_aoi22_4x (.in00(1'b1),
7103 .in01(1'b1),
7104 .in10(1'b1),
7105 .in11(1'b1),
7106 .out(spare12_aoi22_4x_unused));
7107cl_u1_buf_8x spare12_buf_8x (.in(1'b1),
7108 .out(spare12_buf_8x_unused));
7109cl_u1_oai22_4x spare12_oai22_4x (.in00(1'b1),
7110 .in01(1'b1),
7111 .in10(1'b1),
7112 .in11(1'b1),
7113 .out(spare12_oai22_4x_unused));
7114cl_u1_inv_16x spare12_inv_16x (.in(1'b1),
7115 .out(spare12_inv_16x_unused));
7116cl_u1_nand2_16x spare12_nand2_16x (.in0(1'b1),
7117 .in1(1'b1),
7118 .out(spare12_nand2_16x_unused));
7119cl_u1_nor3_4x spare12_nor3_4x (.in0(1'b0),
7120 .in1(1'b0),
7121 .in2(1'b0),
7122 .out(spare12_nor3_4x_unused));
7123cl_u1_nand2_8x spare12_nand2_8x (.in0(1'b1),
7124 .in1(1'b1),
7125 .out(spare12_nand2_8x_unused));
7126cl_u1_buf_16x spare12_buf_16x (.in(1'b1),
7127 .out(spare12_buf_16x_unused));
7128cl_u1_nor2_16x spare12_nor2_16x (.in0(1'b0),
7129 .in1(1'b0),
7130 .out(spare12_nor2_16x_unused));
7131cl_u1_inv_32x spare12_inv_32x (.in(1'b1),
7132 .out(spare12_inv_32x_unused));
7133
7134cl_sc1_msff_8x spare13_flop (.l1clk(l1clk),
7135 .siclk(siclk),
7136 .soclk(soclk),
7137 .si(si_13),
7138 .so(so_13),
7139 .d(1'b0),
7140 .q(spare13_flop_unused));
7141assign si_13 = so_12;
7142
7143cl_u1_buf_32x spare13_buf_32x (.in(1'b1),
7144 .out(spare13_buf_32x_unused));
7145cl_u1_nand3_8x spare13_nand3_8x (.in0(1'b1),
7146 .in1(1'b1),
7147 .in2(1'b1),
7148 .out(spare13_nand3_8x_unused));
7149cl_u1_inv_8x spare13_inv_8x (.in(1'b1),
7150 .out(spare13_inv_8x_unused));
7151cl_u1_aoi22_4x spare13_aoi22_4x (.in00(1'b1),
7152 .in01(1'b1),
7153 .in10(1'b1),
7154 .in11(1'b1),
7155 .out(spare13_aoi22_4x_unused));
7156cl_u1_buf_8x spare13_buf_8x (.in(1'b1),
7157 .out(spare13_buf_8x_unused));
7158cl_u1_oai22_4x spare13_oai22_4x (.in00(1'b1),
7159 .in01(1'b1),
7160 .in10(1'b1),
7161 .in11(1'b1),
7162 .out(spare13_oai22_4x_unused));
7163cl_u1_inv_16x spare13_inv_16x (.in(1'b1),
7164 .out(spare13_inv_16x_unused));
7165cl_u1_nand2_16x spare13_nand2_16x (.in0(1'b1),
7166 .in1(1'b1),
7167 .out(spare13_nand2_16x_unused));
7168cl_u1_nor3_4x spare13_nor3_4x (.in0(1'b0),
7169 .in1(1'b0),
7170 .in2(1'b0),
7171 .out(spare13_nor3_4x_unused));
7172cl_u1_nand2_8x spare13_nand2_8x (.in0(1'b1),
7173 .in1(1'b1),
7174 .out(spare13_nand2_8x_unused));
7175cl_u1_buf_16x spare13_buf_16x (.in(1'b1),
7176 .out(spare13_buf_16x_unused));
7177cl_u1_nor2_16x spare13_nor2_16x (.in0(1'b0),
7178 .in1(1'b0),
7179 .out(spare13_nor2_16x_unused));
7180cl_u1_inv_32x spare13_inv_32x (.in(1'b1),
7181 .out(spare13_inv_32x_unused));
7182
7183cl_sc1_msff_8x spare14_flop (.l1clk(l1clk),
7184 .siclk(siclk),
7185 .soclk(soclk),
7186 .si(si_14),
7187 .so(so_14),
7188 .d(1'b0),
7189 .q(spare14_flop_unused));
7190assign si_14 = so_13;
7191
7192cl_u1_buf_32x spare14_buf_32x (.in(1'b1),
7193 .out(spare14_buf_32x_unused));
7194cl_u1_nand3_8x spare14_nand3_8x (.in0(1'b1),
7195 .in1(1'b1),
7196 .in2(1'b1),
7197 .out(spare14_nand3_8x_unused));
7198cl_u1_inv_8x spare14_inv_8x (.in(1'b1),
7199 .out(spare14_inv_8x_unused));
7200cl_u1_aoi22_4x spare14_aoi22_4x (.in00(1'b1),
7201 .in01(1'b1),
7202 .in10(1'b1),
7203 .in11(1'b1),
7204 .out(spare14_aoi22_4x_unused));
7205cl_u1_buf_8x spare14_buf_8x (.in(1'b1),
7206 .out(spare14_buf_8x_unused));
7207cl_u1_oai22_4x spare14_oai22_4x (.in00(1'b1),
7208 .in01(1'b1),
7209 .in10(1'b1),
7210 .in11(1'b1),
7211 .out(spare14_oai22_4x_unused));
7212cl_u1_inv_16x spare14_inv_16x (.in(1'b1),
7213 .out(spare14_inv_16x_unused));
7214cl_u1_nand2_16x spare14_nand2_16x (.in0(1'b1),
7215 .in1(1'b1),
7216 .out(spare14_nand2_16x_unused));
7217cl_u1_nor3_4x spare14_nor3_4x (.in0(1'b0),
7218 .in1(1'b0),
7219 .in2(1'b0),
7220 .out(spare14_nor3_4x_unused));
7221cl_u1_nand2_8x spare14_nand2_8x (.in0(1'b1),
7222 .in1(1'b1),
7223 .out(spare14_nand2_8x_unused));
7224cl_u1_buf_16x spare14_buf_16x (.in(1'b1),
7225 .out(spare14_buf_16x_unused));
7226cl_u1_nor2_16x spare14_nor2_16x (.in0(1'b0),
7227 .in1(1'b0),
7228 .out(spare14_nor2_16x_unused));
7229cl_u1_inv_32x spare14_inv_32x (.in(1'b1),
7230 .out(spare14_inv_32x_unused));
7231
7232cl_sc1_msff_8x spare15_flop (.l1clk(l1clk),
7233 .siclk(siclk),
7234 .soclk(soclk),
7235 .si(si_15),
7236 .so(so_15),
7237 .d(1'b0),
7238 .q(spare15_flop_unused));
7239assign si_15 = so_14;
7240
7241cl_u1_buf_32x spare15_buf_32x (.in(1'b1),
7242 .out(spare15_buf_32x_unused));
7243cl_u1_nand3_8x spare15_nand3_8x (.in0(1'b1),
7244 .in1(1'b1),
7245 .in2(1'b1),
7246 .out(spare15_nand3_8x_unused));
7247cl_u1_inv_8x spare15_inv_8x (.in(1'b1),
7248 .out(spare15_inv_8x_unused));
7249cl_u1_aoi22_4x spare15_aoi22_4x (.in00(1'b1),
7250 .in01(1'b1),
7251 .in10(1'b1),
7252 .in11(1'b1),
7253 .out(spare15_aoi22_4x_unused));
7254cl_u1_buf_8x spare15_buf_8x (.in(1'b1),
7255 .out(spare15_buf_8x_unused));
7256cl_u1_oai22_4x spare15_oai22_4x (.in00(1'b1),
7257 .in01(1'b1),
7258 .in10(1'b1),
7259 .in11(1'b1),
7260 .out(spare15_oai22_4x_unused));
7261cl_u1_inv_16x spare15_inv_16x (.in(1'b1),
7262 .out(spare15_inv_16x_unused));
7263cl_u1_nand2_16x spare15_nand2_16x (.in0(1'b1),
7264 .in1(1'b1),
7265 .out(spare15_nand2_16x_unused));
7266cl_u1_nor3_4x spare15_nor3_4x (.in0(1'b0),
7267 .in1(1'b0),
7268 .in2(1'b0),
7269 .out(spare15_nor3_4x_unused));
7270cl_u1_nand2_8x spare15_nand2_8x (.in0(1'b1),
7271 .in1(1'b1),
7272 .out(spare15_nand2_8x_unused));
7273cl_u1_buf_16x spare15_buf_16x (.in(1'b1),
7274 .out(spare15_buf_16x_unused));
7275cl_u1_nor2_16x spare15_nor2_16x (.in0(1'b0),
7276 .in1(1'b0),
7277 .out(spare15_nor2_16x_unused));
7278cl_u1_inv_32x spare15_inv_32x (.in(1'b1),
7279 .out(spare15_inv_32x_unused));
7280assign scan_out = so_15;
7281
7282
7283
7284endmodule
7285