Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / efu / rtl / efu_l2t_ctl.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: efu_l2t_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 efu_l2t_ctl (
36 read_data_ff_vld,
37 cmp_mrd_cnt_done,
38 efu_spc1357_fuse_data,
39 efu_spc0246_fuse_data,
40 efu_spc0_fuse_ixfer_en,
41 efu_spc1_fuse_ixfer_en,
42 efu_spc2_fuse_ixfer_en,
43 efu_spc3_fuse_ixfer_en,
44 efu_spc4_fuse_ixfer_en,
45 efu_spc5_fuse_ixfer_en,
46 efu_spc6_fuse_ixfer_en,
47 efu_spc7_fuse_ixfer_en,
48 efu_spc0_fuse_dxfer_en,
49 efu_spc1_fuse_dxfer_en,
50 efu_spc2_fuse_dxfer_en,
51 efu_spc3_fuse_dxfer_en,
52 efu_spc4_fuse_dxfer_en,
53 efu_spc5_fuse_dxfer_en,
54 efu_spc6_fuse_dxfer_en,
55 efu_spc7_fuse_dxfer_en,
56 spc0_efu_fuse_dxfer_en,
57 spc1_efu_fuse_dxfer_en,
58 spc2_efu_fuse_dxfer_en,
59 spc3_efu_fuse_dxfer_en,
60 spc4_efu_fuse_dxfer_en,
61 spc5_efu_fuse_dxfer_en,
62 spc6_efu_fuse_dxfer_en,
63 spc7_efu_fuse_dxfer_en,
64 spc0_efu_fuse_ixfer_en,
65 spc1_efu_fuse_ixfer_en,
66 spc2_efu_fuse_ixfer_en,
67 spc3_efu_fuse_ixfer_en,
68 spc4_efu_fuse_ixfer_en,
69 spc5_efu_fuse_ixfer_en,
70 spc6_efu_fuse_ixfer_en,
71 spc7_efu_fuse_ixfer_en,
72 spc0_efu_fuse_ddata,
73 spc1_efu_fuse_ddata,
74 spc2_efu_fuse_ddata,
75 spc3_efu_fuse_ddata,
76 spc4_efu_fuse_ddata,
77 spc5_efu_fuse_ddata,
78 spc6_efu_fuse_ddata,
79 spc7_efu_fuse_ddata,
80 spc0_efu_fuse_idata,
81 spc1_efu_fuse_idata,
82 spc2_efu_fuse_idata,
83 spc3_efu_fuse_idata,
84 spc4_efu_fuse_idata,
85 spc5_efu_fuse_idata,
86 spc6_efu_fuse_idata,
87 spc7_efu_fuse_idata,
88 efu_l2b0246_fuse_data,
89 efu_l2b1357_fuse_data,
90 efu_l2b0_fuse_xfer_en,
91 efu_l2b1_fuse_xfer_en,
92 efu_l2b2_fuse_xfer_en,
93 efu_l2b3_fuse_xfer_en,
94 efu_l2b4_fuse_xfer_en,
95 efu_l2b5_fuse_xfer_en,
96 efu_l2b6_fuse_xfer_en,
97 efu_l2b7_fuse_xfer_en,
98 l2b0_efu_fuse_xfer_en,
99 l2b1_efu_fuse_xfer_en,
100 l2b2_efu_fuse_xfer_en,
101 l2b3_efu_fuse_xfer_en,
102 l2b4_efu_fuse_xfer_en,
103 l2b5_efu_fuse_xfer_en,
104 l2b6_efu_fuse_xfer_en,
105 l2b7_efu_fuse_xfer_en,
106 l2b0_efu_fuse_data,
107 l2b1_efu_fuse_data,
108 l2b2_efu_fuse_data,
109 l2b3_efu_fuse_data,
110 l2b4_efu_fuse_data,
111 l2b5_efu_fuse_data,
112 l2b6_efu_fuse_data,
113 l2b7_efu_fuse_data,
114 efu_l2t0246_fuse_data,
115 efu_l2t1357_fuse_data,
116 efu_l2t0_fuse_xfer_en,
117 efu_l2t1_fuse_xfer_en,
118 efu_l2t2_fuse_xfer_en,
119 efu_l2t3_fuse_xfer_en,
120 efu_l2t4_fuse_xfer_en,
121 efu_l2t5_fuse_xfer_en,
122 efu_l2t6_fuse_xfer_en,
123 efu_l2t7_fuse_xfer_en,
124 l2t0_efu_fuse_xfer_en,
125 l2t1_efu_fuse_xfer_en,
126 l2t2_efu_fuse_xfer_en,
127 l2t3_efu_fuse_xfer_en,
128 l2t4_efu_fuse_xfer_en,
129 l2t5_efu_fuse_xfer_en,
130 l2t6_efu_fuse_xfer_en,
131 l2t7_efu_fuse_xfer_en,
132 l2t0_efu_fuse_data,
133 l2t1_efu_fuse_data,
134 l2t2_efu_fuse_data,
135 l2t3_efu_fuse_data,
136 l2t4_efu_fuse_data,
137 l2t5_efu_fuse_data,
138 l2t6_efu_fuse_data,
139 l2t7_efu_fuse_data,
140 read_data_ff,
141 shift_data_ff_out,
142 load_l2_read_data,
143 iol2clk,
144 l2clk,
145 cmp_io_sync_en,
146 tcu_pce_ov,
147 tcu_aclk,
148 tcu_bclk,
149 tcu_scan_en,
150 scan_in,
151 scan_out);
152wire pce_ov;
153wire siclk;
154wire soclk;
155wire stop;
156wire se;
157wire l1clk;
158wire l1clk_cmp;
159wire ff_cmp_io_sync_en_scanin;
160wire ff_cmp_io_sync_en_scanout;
161wire cmp_io_sync_en_r1;
162wire [7:0] l2b_xfer_en;
163wire [7:0] l2t_xfer_en;
164wire [7:0] spc_dxfer_en;
165wire [7:0] spc_ixfer_en;
166wire [7:0] spc_idata;
167wire [7:0] spc_ddata;
168wire [7:0] l2t_data;
169wire [7:0] l2b_data;
170wire ff_l2b_xfer_en_scanin;
171wire ff_l2b_xfer_en_scanout;
172wire [7:0] l2b_xfer_en_q;
173wire ff_l2t_xfer_en_scanin;
174wire ff_l2t_xfer_en_scanout;
175wire [7:0] l2t_xfer_en_q;
176wire ff_spc_dxfer_en_scanin;
177wire ff_spc_dxfer_en_scanout;
178wire [7:0] spc_dxfer_en_q;
179wire ff_spc_ixfer_en_scanin;
180wire ff_spc_ixfer_en_scanout;
181wire [7:0] spc_ixfer_en_q;
182wire ff_spc_idata_scanin;
183wire ff_spc_idata_scanout;
184wire [7:0] spc_idata_q;
185wire ff_spc_ddata_scanin;
186wire ff_spc_ddata_scanout;
187wire [7:0] spc_ddata_q;
188wire ff_l2t_data_scanin;
189wire ff_l2t_data_scanout;
190wire [7:0] l2t_data_q;
191wire ff_l2b_data_scanin;
192wire ff_l2b_data_scanout;
193wire [7:0] l2b_data_q;
194wire read_data_in;
195wire efu_xfer_out;
196wire read_data_in_r1;
197wire read_data_in_r2;
198wire ff_xfer_out_r2_scanin;
199wire ff_xfer_out_r2_scanout;
200wire ff_xfer_out_r1_scanin;
201wire ff_xfer_out_r1_scanout;
202wire ff_read_data_in_scanin;
203wire ff_read_data_in_scanout;
204wire read_data_in_reg;
205wire [31:0] shift_data_ff_in;
206wire cmp_read_data_ff_vld_reg;
207wire shift_in_reg;
208wire ff_cmp_read_data_ff_vld_scanin;
209wire ff_cmp_read_data_ff_vld_scanout;
210wire cmp_read_data_ff_vld;
211wire ff_read_data_ff_sync_scanin;
212wire ff_read_data_ff_sync_scanout;
213wire ff_shhift_data_ff_sync_scanin;
214wire ff_shhift_data_ff_sync_scanout;
215wire mrd_cnt_reg_scanin;
216wire mrd_cnt_reg_scanout;
217wire computed_parity;
218wire good_parity;
219wire any_cnt_other_than_zero;
220wire local_fuse_ashift_nxt;
221wire local_fuse_ashift_d1;
222wire local_fuse_dshift_nxt;
223wire local_fuse_ashift_ff_scanin;
224wire local_fuse_ashift_ff_scanout;
225wire local_fuse_data_ff;
226wire [5:0] block_id;
227wire spc0_ifuse_dec;
228wire spc0_dfuse_dec;
229wire spc1_ifuse_dec;
230wire spc1_dfuse_dec;
231wire spc2_ifuse_dec;
232wire spc2_dfuse_dec;
233wire spc3_ifuse_dec;
234wire spc3_dfuse_dec;
235wire spc4_ifuse_dec;
236wire spc4_dfuse_dec;
237wire spc5_ifuse_dec;
238wire spc5_dfuse_dec;
239wire spc6_ifuse_dec;
240wire spc6_dfuse_dec;
241wire spc7_ifuse_dec;
242wire spc7_dfuse_dec;
243wire l2t0_fuse_dec;
244wire l2t1_fuse_dec;
245wire l2t2_fuse_dec;
246wire l2t3_fuse_dec;
247wire l2t4_fuse_dec;
248wire l2t5_fuse_dec;
249wire l2t6_fuse_dec;
250wire l2t7_fuse_dec;
251wire l2d0_fuse_dec;
252wire l2d1_fuse_dec;
253wire l2d2_fuse_dec;
254wire l2d3_fuse_dec;
255wire l2d4_fuse_dec;
256wire l2d5_fuse_dec;
257wire l2d6_fuse_dec;
258wire l2d7_fuse_dec;
259wire data_vld_datareg_scanin;
260wire data_vld_datareg_scanout;
261wire shift_in;
262wire spc0_ifuse_ashift_reg_scanin;
263wire spc0_ifuse_ashift_reg_scanout;
264wire efu_spc0_ifuse_ashift;
265wire spc0_ifuse_dshift_reg_scanin;
266wire spc0_ifuse_dshift_reg_scanout;
267wire efu_spc0_ifuse_dshift;
268wire spc0_dfuse_ashift_reg_scanin;
269wire spc0_dfuse_ashift_reg_scanout;
270wire efu_spc0_dfuse_ashift;
271wire spc0_dfuse_dshift_reg_scanin;
272wire spc0_dfuse_dshift_reg_scanout;
273wire efu_spc0_dfuse_dshift;
274wire spc1_ifuse_ashift_reg_scanin;
275wire spc1_ifuse_ashift_reg_scanout;
276wire efu_spc1_ifuse_ashift;
277wire spc1_ifuse_dshift_reg_scanin;
278wire spc1_ifuse_dshift_reg_scanout;
279wire efu_spc1_ifuse_dshift;
280wire spc1_dfuse_ashift_reg_scanin;
281wire spc1_dfuse_ashift_reg_scanout;
282wire efu_spc1_dfuse_ashift;
283wire spc1_dfuse_dshift_reg_scanin;
284wire spc1_dfuse_dshift_reg_scanout;
285wire efu_spc1_dfuse_dshift;
286wire spc2_ifuse_ashift_reg_scanin;
287wire spc2_ifuse_ashift_reg_scanout;
288wire efu_spc2_ifuse_ashift;
289wire spc2_ifuse_dshift_reg_scanin;
290wire spc2_ifuse_dshift_reg_scanout;
291wire efu_spc2_ifuse_dshift;
292wire spc2_dfuse_ashift_reg_scanin;
293wire spc2_dfuse_ashift_reg_scanout;
294wire efu_spc2_dfuse_ashift;
295wire spc2_dfuse_dshift_reg_scanin;
296wire spc2_dfuse_dshift_reg_scanout;
297wire efu_spc2_dfuse_dshift;
298wire spc3_ifuse_ashift_reg_scanin;
299wire spc3_ifuse_ashift_reg_scanout;
300wire efu_spc3_ifuse_ashift;
301wire spc3_ifuse_dshift_reg_scanin;
302wire spc3_ifuse_dshift_reg_scanout;
303wire efu_spc3_ifuse_dshift;
304wire spc3_dfuse_ashift_reg_scanin;
305wire spc3_dfuse_ashift_reg_scanout;
306wire efu_spc3_dfuse_ashift;
307wire spc3_dfuse_dshift_reg_scanin;
308wire spc3_dfuse_dshift_reg_scanout;
309wire efu_spc3_dfuse_dshift;
310wire spc4_ifuse_ashift_reg_scanin;
311wire spc4_ifuse_ashift_reg_scanout;
312wire efu_spc4_ifuse_ashift;
313wire spc4_ifuse_dshift_reg_scanin;
314wire spc4_ifuse_dshift_reg_scanout;
315wire efu_spc4_ifuse_dshift;
316wire spc4_dfuse_ashift_reg_scanin;
317wire spc4_dfuse_ashift_reg_scanout;
318wire efu_spc4_dfuse_ashift;
319wire spc4_dfuse_dshift_reg_scanin;
320wire spc4_dfuse_dshift_reg_scanout;
321wire efu_spc4_dfuse_dshift;
322wire spc5_ifuse_ashift_reg_scanin;
323wire spc5_ifuse_ashift_reg_scanout;
324wire efu_spc5_ifuse_ashift;
325wire spc5_ifuse_dshift_reg_scanin;
326wire spc5_ifuse_dshift_reg_scanout;
327wire efu_spc5_ifuse_dshift;
328wire spc5_dfuse_ashift_reg_scanin;
329wire spc5_dfuse_ashift_reg_scanout;
330wire efu_spc5_dfuse_ashift;
331wire spc5_dfuse_dshift_reg_scanin;
332wire spc5_dfuse_dshift_reg_scanout;
333wire efu_spc5_dfuse_dshift;
334wire spc6_ifuse_ashift_reg_scanin;
335wire spc6_ifuse_ashift_reg_scanout;
336wire efu_spc6_ifuse_ashift;
337wire spc6_ifuse_dshift_reg_scanin;
338wire spc6_ifuse_dshift_reg_scanout;
339wire efu_spc6_ifuse_dshift;
340wire spc6_dfuse_ashift_reg_scanin;
341wire spc6_dfuse_ashift_reg_scanout;
342wire efu_spc6_dfuse_ashift;
343wire spc6_dfuse_dshift_reg_scanin;
344wire spc6_dfuse_dshift_reg_scanout;
345wire efu_spc6_dfuse_dshift;
346wire spc7_ifuse_ashift_reg_scanin;
347wire spc7_ifuse_ashift_reg_scanout;
348wire efu_spc7_ifuse_ashift;
349wire spc7_ifuse_dshift_reg_scanin;
350wire spc7_ifuse_dshift_reg_scanout;
351wire efu_spc7_ifuse_dshift;
352wire spc7_dfuse_ashift_reg_scanin;
353wire spc7_dfuse_ashift_reg_scanout;
354wire efu_spc7_dfuse_ashift;
355wire spc7_dfuse_dshift_reg_scanin;
356wire spc7_dfuse_dshift_reg_scanout;
357wire efu_spc7_dfuse_dshift;
358wire l2t0_fuse_ashift_reg_scanin;
359wire l2t0_fuse_ashift_reg_scanout;
360wire efu_l2t0_fuse_ashift;
361wire l2t0_fuse_dshift_reg_scanin;
362wire l2t0_fuse_dshift_reg_scanout;
363wire efu_l2t0_fuse_dshift;
364wire l2t1_fuse_ashift_reg_scanin;
365wire l2t1_fuse_ashift_reg_scanout;
366wire efu_l2t1_fuse_ashift;
367wire l2t1_fuse_dshift_reg_scanin;
368wire l2t1_fuse_dshift_reg_scanout;
369wire efu_l2t1_fuse_dshift;
370wire l2t2_fuse_ashift_reg_scanin;
371wire l2t2_fuse_ashift_reg_scanout;
372wire efu_l2t2_fuse_ashift;
373wire l2t2_fuse_dshift_reg_scanin;
374wire l2t2_fuse_dshift_reg_scanout;
375wire efu_l2t2_fuse_dshift;
376wire l2t3_fuse_ashift_reg_scanin;
377wire l2t3_fuse_ashift_reg_scanout;
378wire efu_l2t3_fuse_ashift;
379wire l2t3_fuse_dshift_reg_scanin;
380wire l2t3_fuse_dshift_reg_scanout;
381wire efu_l2t3_fuse_dshift;
382wire l2t4_fuse_ashift_reg_scanin;
383wire l2t4_fuse_ashift_reg_scanout;
384wire efu_l2t4_fuse_ashift;
385wire l2t4_fuse_dshift_reg_scanin;
386wire l2t4_fuse_dshift_reg_scanout;
387wire efu_l2t4_fuse_dshift;
388wire l2t5_fuse_ashift_reg_scanin;
389wire l2t5_fuse_ashift_reg_scanout;
390wire efu_l2t5_fuse_ashift;
391wire l2t5_fuse_dshift_reg_scanin;
392wire l2t5_fuse_dshift_reg_scanout;
393wire efu_l2t5_fuse_dshift;
394wire l2t6_fuse_ashift_reg_scanin;
395wire l2t6_fuse_ashift_reg_scanout;
396wire efu_l2t6_fuse_ashift;
397wire l2t6_fuse_dshift_reg_scanin;
398wire l2t6_fuse_dshift_reg_scanout;
399wire efu_l2t6_fuse_dshift;
400wire l2t7_fuse_ashift_reg_scanin;
401wire l2t7_fuse_ashift_reg_scanout;
402wire efu_l2t7_fuse_ashift;
403wire l2t7_fuse_dshift_reg_scanin;
404wire l2t7_fuse_dshift_reg_scanout;
405wire efu_l2t7_fuse_dshift;
406wire l2d0_fuse_ashift_reg_scanin;
407wire l2d0_fuse_ashift_reg_scanout;
408wire efu_l2d0_fuse_ashift;
409wire l2d0_fuse_dshift_reg_scanin;
410wire l2d0_fuse_dshift_reg_scanout;
411wire efu_l2d0_fuse_dshift;
412wire l2d1_fuse_ashift_reg_scanin;
413wire l2d1_fuse_ashift_reg_scanout;
414wire efu_l2d1_fuse_ashift;
415wire l2d1_fuse_dshift_reg_scanin;
416wire l2d1_fuse_dshift_reg_scanout;
417wire efu_l2d1_fuse_dshift;
418wire l2d2_fuse_ashift_reg_scanin;
419wire l2d2_fuse_ashift_reg_scanout;
420wire efu_l2d2_fuse_ashift;
421wire l2d2_fuse_dshift_reg_scanin;
422wire l2d2_fuse_dshift_reg_scanout;
423wire efu_l2d2_fuse_dshift;
424wire l2d3_fuse_ashift_reg_scanin;
425wire l2d3_fuse_ashift_reg_scanout;
426wire efu_l2d3_fuse_ashift;
427wire l2d3_fuse_dshift_reg_scanin;
428wire l2d3_fuse_dshift_reg_scanout;
429wire efu_l2d3_fuse_dshift;
430wire l2d4_fuse_ashift_reg_scanin;
431wire l2d4_fuse_ashift_reg_scanout;
432wire efu_l2d4_fuse_ashift;
433wire l2d4_fuse_dshift_reg_scanin;
434wire l2d4_fuse_dshift_reg_scanout;
435wire efu_l2d4_fuse_dshift;
436wire l2d5_fuse_ashift_reg_scanin;
437wire l2d5_fuse_ashift_reg_scanout;
438wire efu_l2d5_fuse_ashift;
439wire l2d5_fuse_dshift_reg_scanin;
440wire l2d5_fuse_dshift_reg_scanout;
441wire efu_l2d5_fuse_dshift;
442wire l2d6_fuse_ashift_reg_scanin;
443wire l2d6_fuse_ashift_reg_scanout;
444wire efu_l2d6_fuse_ashift;
445wire l2d6_fuse_dshift_reg_scanin;
446wire l2d6_fuse_dshift_reg_scanout;
447wire efu_l2d6_fuse_dshift;
448wire l2d7_fuse_ashift_reg_scanin;
449wire l2d7_fuse_ashift_reg_scanout;
450wire efu_l2d7_fuse_ashift;
451wire l2d7_fuse_dshift_reg_scanin;
452wire l2d7_fuse_dshift_reg_scanout;
453wire efu_l2d7_fuse_dshift;
454wire cmp_read_data_ff_vld_0_reg_scanin;
455wire cmp_read_data_ff_vld_0_reg_scanout;
456wire cmp_read_data_ff_vld_0;
457wire cmp_read_data_ff_vld_1_reg_scanin;
458wire cmp_read_data_ff_vld_1_reg_scanout;
459wire cmp_read_data_ff_vld_1;
460wire spares_scanin;
461wire spares_scanout;
462
463
464//input cmp_read_data_ff_vld;
465input read_data_ff_vld;
466output cmp_mrd_cnt_done;
467
468
469// Interface with Sparc cores 0 to 7
470output efu_spc1357_fuse_data;
471output efu_spc0246_fuse_data;
472output efu_spc0_fuse_ixfer_en;
473output efu_spc1_fuse_ixfer_en;
474output efu_spc2_fuse_ixfer_en;
475output efu_spc3_fuse_ixfer_en;
476output efu_spc4_fuse_ixfer_en;
477output efu_spc5_fuse_ixfer_en;
478output efu_spc6_fuse_ixfer_en;
479output efu_spc7_fuse_ixfer_en;
480output efu_spc0_fuse_dxfer_en;
481output efu_spc1_fuse_dxfer_en;
482output efu_spc2_fuse_dxfer_en;
483output efu_spc3_fuse_dxfer_en;
484output efu_spc4_fuse_dxfer_en;
485output efu_spc5_fuse_dxfer_en;
486output efu_spc6_fuse_dxfer_en;
487output efu_spc7_fuse_dxfer_en;
488input spc0_efu_fuse_dxfer_en;
489input spc1_efu_fuse_dxfer_en;
490input spc2_efu_fuse_dxfer_en;
491input spc3_efu_fuse_dxfer_en;
492input spc4_efu_fuse_dxfer_en;
493input spc5_efu_fuse_dxfer_en;
494input spc6_efu_fuse_dxfer_en;
495input spc7_efu_fuse_dxfer_en;
496input spc0_efu_fuse_ixfer_en;
497input spc1_efu_fuse_ixfer_en;
498input spc2_efu_fuse_ixfer_en;
499input spc3_efu_fuse_ixfer_en;
500input spc4_efu_fuse_ixfer_en;
501input spc5_efu_fuse_ixfer_en;
502input spc6_efu_fuse_ixfer_en;
503input spc7_efu_fuse_ixfer_en;
504input spc0_efu_fuse_ddata;
505input spc1_efu_fuse_ddata;
506input spc2_efu_fuse_ddata;
507input spc3_efu_fuse_ddata;
508input spc4_efu_fuse_ddata;
509input spc5_efu_fuse_ddata;
510input spc6_efu_fuse_ddata;
511input spc7_efu_fuse_ddata;
512input spc0_efu_fuse_idata;
513input spc1_efu_fuse_idata;
514input spc2_efu_fuse_idata;
515input spc3_efu_fuse_idata;
516input spc4_efu_fuse_idata;
517input spc5_efu_fuse_idata;
518input spc6_efu_fuse_idata;
519input spc7_efu_fuse_idata;
520// Interface with l2b for data array repair
521output efu_l2b0246_fuse_data;
522output efu_l2b1357_fuse_data;
523output efu_l2b0_fuse_xfer_en;
524output efu_l2b1_fuse_xfer_en;
525output efu_l2b2_fuse_xfer_en;
526output efu_l2b3_fuse_xfer_en;
527output efu_l2b4_fuse_xfer_en;
528output efu_l2b5_fuse_xfer_en;
529output efu_l2b6_fuse_xfer_en;
530output efu_l2b7_fuse_xfer_en;
531input l2b0_efu_fuse_xfer_en;
532input l2b1_efu_fuse_xfer_en;
533input l2b2_efu_fuse_xfer_en;
534input l2b3_efu_fuse_xfer_en;
535input l2b4_efu_fuse_xfer_en;
536input l2b5_efu_fuse_xfer_en;
537input l2b6_efu_fuse_xfer_en;
538input l2b7_efu_fuse_xfer_en;
539input l2b0_efu_fuse_data;
540input l2b1_efu_fuse_data;
541input l2b2_efu_fuse_data;
542input l2b3_efu_fuse_data;
543input l2b4_efu_fuse_data;
544input l2b5_efu_fuse_data;
545input l2b6_efu_fuse_data;
546input l2b7_efu_fuse_data;
547output efu_l2t0246_fuse_data;
548output efu_l2t1357_fuse_data;
549output efu_l2t0_fuse_xfer_en;
550output efu_l2t1_fuse_xfer_en;
551output efu_l2t2_fuse_xfer_en;
552output efu_l2t3_fuse_xfer_en;
553output efu_l2t4_fuse_xfer_en;
554output efu_l2t5_fuse_xfer_en;
555output efu_l2t6_fuse_xfer_en;
556output efu_l2t7_fuse_xfer_en;
557input l2t0_efu_fuse_xfer_en;
558input l2t1_efu_fuse_xfer_en;
559input l2t2_efu_fuse_xfer_en;
560input l2t3_efu_fuse_xfer_en;
561input l2t4_efu_fuse_xfer_en;
562input l2t5_efu_fuse_xfer_en;
563input l2t6_efu_fuse_xfer_en;
564input l2t7_efu_fuse_xfer_en;
565input l2t0_efu_fuse_data;
566input l2t1_efu_fuse_data;
567input l2t2_efu_fuse_data;
568input l2t3_efu_fuse_data;
569input l2t4_efu_fuse_data;
570input l2t5_efu_fuse_data;
571input l2t6_efu_fuse_data;
572input l2t7_efu_fuse_data;
573
574
575
576
577
578
579input [31:0] read_data_ff;
580output [31:0] shift_data_ff_out;
581output load_l2_read_data;
582
583input iol2clk;
584input l2clk;
585
586input cmp_io_sync_en;
587
588
589input tcu_pce_ov;
590input tcu_aclk;
591input tcu_bclk;
592input tcu_scan_en;
593input scan_in;
594output scan_out;
595
596
597assign pce_ov = tcu_pce_ov;
598assign siclk = tcu_aclk;
599assign soclk = tcu_bclk;
600assign stop = 1'b0;
601assign se = tcu_scan_en;
602
603wire [31:0] read_data_ff_sync;
604
605
606efu_l2t_ctl_l1clkhdr_ctl_macro clkgen (
607 .l2clk(iol2clk),
608 .l1en (1'b1 ),
609 .l1clk(l1clk),
610 .pce_ov(pce_ov),
611 .stop(stop),
612 .se(se));
613
614efu_l2t_ctl_l1clkhdr_ctl_macro clkgen_cmp (
615 .l2clk(l2clk),
616 .l1en (1'b1 ),
617 .l1clk(l1clk_cmp),
618 .pce_ov(pce_ov),
619 .stop(stop),
620 .se(se));
621
622efu_l2t_ctl_msff_ctl_macro__width_1 ff_cmp_io_sync_en
623 (
624 .scan_in(ff_cmp_io_sync_en_scanin),
625 .scan_out(ff_cmp_io_sync_en_scanout),
626 .din (cmp_io_sync_en),
627 .dout (cmp_io_sync_en_r1),
628 .l1clk (l1clk_cmp),
629 .siclk(siclk),
630 .soclk(soclk)
631 );
632
633assign l2b_xfer_en[7:0] = {l2b7_efu_fuse_xfer_en , l2b6_efu_fuse_xfer_en ,
634 l2b5_efu_fuse_xfer_en , l2b4_efu_fuse_xfer_en ,
635 l2b3_efu_fuse_xfer_en , l2b2_efu_fuse_xfer_en ,
636 l2b1_efu_fuse_xfer_en , l2b0_efu_fuse_xfer_en};
637assign l2t_xfer_en[7:0] = {l2t7_efu_fuse_xfer_en, l2t6_efu_fuse_xfer_en ,
638 l2t5_efu_fuse_xfer_en , l2t4_efu_fuse_xfer_en ,
639 l2t3_efu_fuse_xfer_en , l2t2_efu_fuse_xfer_en ,
640 l2t1_efu_fuse_xfer_en , l2t0_efu_fuse_xfer_en};
641assign spc_dxfer_en[7:0] = {spc7_efu_fuse_dxfer_en, spc6_efu_fuse_dxfer_en ,
642 spc5_efu_fuse_dxfer_en , spc4_efu_fuse_dxfer_en ,
643 spc3_efu_fuse_dxfer_en , spc2_efu_fuse_dxfer_en ,
644 spc1_efu_fuse_dxfer_en , spc0_efu_fuse_dxfer_en};
645assign spc_ixfer_en[7:0] = {spc7_efu_fuse_ixfer_en, spc6_efu_fuse_ixfer_en ,
646 spc5_efu_fuse_ixfer_en , spc4_efu_fuse_ixfer_en ,
647 spc3_efu_fuse_ixfer_en , spc2_efu_fuse_ixfer_en ,
648 spc1_efu_fuse_ixfer_en , spc0_efu_fuse_ixfer_en};
649
650assign spc_idata[7:0] = {spc7_efu_fuse_idata, spc6_efu_fuse_idata,
651 spc5_efu_fuse_idata, spc4_efu_fuse_idata,
652 spc3_efu_fuse_idata, spc2_efu_fuse_idata,
653 spc1_efu_fuse_idata, spc0_efu_fuse_idata};
654
655assign spc_ddata[7:0] = {spc7_efu_fuse_ddata, spc6_efu_fuse_ddata,
656 spc5_efu_fuse_ddata, spc4_efu_fuse_ddata,
657 spc3_efu_fuse_ddata, spc2_efu_fuse_ddata,
658 spc1_efu_fuse_ddata, spc0_efu_fuse_ddata};
659assign l2t_data[7:0] = {l2t7_efu_fuse_data, l2t6_efu_fuse_data,
660 l2t5_efu_fuse_data, l2t4_efu_fuse_data,
661 l2t3_efu_fuse_data, l2t2_efu_fuse_data,
662 l2t1_efu_fuse_data, l2t0_efu_fuse_data};
663assign l2b_data[7:0] = {l2b7_efu_fuse_data, l2b6_efu_fuse_data,
664 l2b5_efu_fuse_data, l2b4_efu_fuse_data,
665 l2b3_efu_fuse_data, l2b2_efu_fuse_data,
666 l2b1_efu_fuse_data, l2b0_efu_fuse_data};
667
668efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_l2b_xfer_en
669 (
670 .scan_in(ff_l2b_xfer_en_scanin),
671 .scan_out(ff_l2b_xfer_en_scanout),
672 .dout (l2b_xfer_en_q[7:0]),
673 .din (l2b_xfer_en[7:0]),
674 .en (cmp_io_sync_en_r1),
675 .l1clk (l1clk_cmp),
676 .siclk(siclk),
677 .soclk(soclk)
678 );
679
680efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_l2t_xfer_en
681 (
682 .scan_in(ff_l2t_xfer_en_scanin),
683 .scan_out(ff_l2t_xfer_en_scanout),
684 .dout (l2t_xfer_en_q[7:0]),
685 .din (l2t_xfer_en[7:0]),
686 .en (cmp_io_sync_en_r1),
687 .l1clk (l1clk_cmp),
688 .siclk(siclk),
689 .soclk(soclk)
690 );
691
692efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_spc_dxfer_en
693 (
694 .scan_in(ff_spc_dxfer_en_scanin),
695 .scan_out(ff_spc_dxfer_en_scanout),
696 .dout (spc_dxfer_en_q[7:0]),
697 .din (spc_dxfer_en[7:0]),
698 .en (cmp_io_sync_en_r1),
699 .l1clk (l1clk_cmp),
700 .siclk(siclk),
701 .soclk(soclk)
702 );
703
704efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_spc_ixfer_en
705 (
706 .scan_in(ff_spc_ixfer_en_scanin),
707 .scan_out(ff_spc_ixfer_en_scanout),
708 .dout (spc_ixfer_en_q[7:0]),
709 .din (spc_ixfer_en[7:0]),
710 .en (cmp_io_sync_en_r1),
711 .l1clk (l1clk_cmp),
712 .siclk(siclk),
713 .soclk(soclk)
714 );
715
716efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_spc_idata
717 (
718 .scan_in(ff_spc_idata_scanin),
719 .scan_out(ff_spc_idata_scanout),
720 .dout (spc_idata_q[7:0]),
721 .din (spc_idata[7:0]),
722 .en (cmp_io_sync_en_r1),
723 .l1clk (l1clk_cmp),
724 .siclk(siclk),
725 .soclk(soclk)
726 );
727
728efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_spc_ddata
729 (
730 .scan_in(ff_spc_ddata_scanin),
731 .scan_out(ff_spc_ddata_scanout),
732 .dout (spc_ddata_q[7:0]),
733 .din (spc_ddata[7:0]),
734 .en (cmp_io_sync_en_r1),
735 .l1clk (l1clk_cmp),
736 .siclk(siclk),
737 .soclk(soclk)
738 );
739
740efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_l2t_data
741 (
742 .scan_in(ff_l2t_data_scanin),
743 .scan_out(ff_l2t_data_scanout),
744 .dout (l2t_data_q[7:0]),
745 .din (l2t_data[7:0]),
746 .en (cmp_io_sync_en_r1),
747 .l1clk (l1clk_cmp),
748 .siclk(siclk),
749 .soclk(soclk)
750 );
751
752efu_l2t_ctl_msff_ctl_macro__en_1__width_8 ff_l2b_data
753 (
754 .scan_in(ff_l2b_data_scanin),
755 .scan_out(ff_l2b_data_scanout),
756 .dout (l2b_data_q[7:0]),
757 .din (l2b_data[7:0]),
758 .en (cmp_io_sync_en_r1),
759 .l1clk (l1clk_cmp),
760 .siclk(siclk),
761 .soclk(soclk)
762 );
763
764
765assign read_data_in = l2b_xfer_en_q[0] | l2b_xfer_en_q[1] |
766 l2b_xfer_en_q[2] | l2b_xfer_en_q[3] | l2b_xfer_en_q[4] |
767 l2b_xfer_en_q[5] | l2b_xfer_en_q[6] | l2b_xfer_en_q[7] |
768 l2t_xfer_en_q[0] | l2t_xfer_en_q[1] | l2t_xfer_en_q[2] |
769 l2t_xfer_en_q[3] | l2t_xfer_en_q[4] | l2t_xfer_en_q[5] |
770 l2t_xfer_en_q[6] | l2t_xfer_en_q[7] |
771 spc_dxfer_en_q[0] | spc_dxfer_en_q[1] | spc_dxfer_en_q[2] |
772 spc_dxfer_en_q[3] | spc_dxfer_en_q[4] | spc_dxfer_en_q[5] |
773 spc_dxfer_en_q[6] | spc_dxfer_en_q[7] | spc_ixfer_en_q[0] |
774 spc_ixfer_en_q[1] | spc_ixfer_en_q[2] | spc_ixfer_en_q[3] |
775 spc_ixfer_en_q[4] | spc_ixfer_en_q[5] | spc_ixfer_en_q[6] |
776 spc_ixfer_en_q[7] | 1'b0;
777
778assign efu_xfer_out = efu_l2b0_fuse_xfer_en | efu_l2b1_fuse_xfer_en |
779 efu_l2b2_fuse_xfer_en | efu_l2b3_fuse_xfer_en | efu_l2b4_fuse_xfer_en |
780 efu_l2b5_fuse_xfer_en | efu_l2b6_fuse_xfer_en | efu_l2b7_fuse_xfer_en |
781 efu_l2t0_fuse_xfer_en | efu_l2t1_fuse_xfer_en | efu_l2t2_fuse_xfer_en |
782 efu_l2t3_fuse_xfer_en | efu_l2t4_fuse_xfer_en | efu_l2t5_fuse_xfer_en |
783 efu_l2t6_fuse_xfer_en | efu_l2t7_fuse_xfer_en |
784 efu_spc0_fuse_dxfer_en | efu_spc1_fuse_dxfer_en | efu_spc2_fuse_dxfer_en |
785 efu_spc3_fuse_dxfer_en | efu_spc4_fuse_dxfer_en | efu_spc5_fuse_dxfer_en |
786 efu_spc6_fuse_dxfer_en | efu_spc7_fuse_dxfer_en | efu_spc0_fuse_ixfer_en |
787 efu_spc1_fuse_ixfer_en | efu_spc2_fuse_ixfer_en | efu_spc3_fuse_ixfer_en |
788 efu_spc4_fuse_ixfer_en | efu_spc5_fuse_ixfer_en | efu_spc6_fuse_ixfer_en |
789 efu_spc7_fuse_ixfer_en | 1'b0;
790
791//assign read_data_in = 1'b0;
792
793assign load_l2_read_data = ~read_data_in_r1 & read_data_in_r2 ;
794
795efu_l2t_ctl_msff_ctl_macro__width_1 ff_efu_xfer_out_r2
796 (
797 .scan_in(ff_xfer_out_r2_scanin),
798 .scan_out(ff_xfer_out_r2_scanout),
799 .dout (read_data_in_r2),
800 .din (read_data_in_r1),
801 .l1clk (l1clk),
802 .siclk(siclk),
803 .soclk(soclk)
804 );
805
806efu_l2t_ctl_msff_ctl_macro__width_1 ff_read_data_in_r1
807 (
808 .scan_in(ff_xfer_out_r1_scanin),
809 .scan_out(ff_xfer_out_r1_scanout),
810 .dout (read_data_in_r1),
811 .din (read_data_in),
812 .l1clk (l1clk),
813 .siclk(siclk),
814 .soclk(soclk)
815 );
816
817efu_l2t_ctl_msff_ctl_macro__width_1 ff_read_data_in
818 (
819 .scan_in(ff_read_data_in_scanin),
820 .scan_out(ff_read_data_in_scanout),
821 .dout (read_data_in_reg),
822 .din (read_data_in),
823 .l1clk (l1clk),
824 .siclk(siclk),
825 .soclk(soclk)
826 );
827
828
829//assign shift_data_ff_in[31:0] = //cmp_read_data_ff_vld ? read_data_ff[31:0]
830// read_data_in_reg
831// ? {read_data_ff_sync[31:22],read_data_ff_sync[21:1],shift_in_reg}
832// : {read_data_ff_sync[31:22],read_data_ff_sync[20:0],1'b0};
833
834assign shift_data_ff_in[31:0] = cmp_read_data_ff_vld_reg ? read_data_ff_sync[31:0]
835 : efu_xfer_out ? {shift_data_ff_out[31:22],shift_data_ff_out[20:0],1'b0}
836 : read_data_in_reg ? {shift_data_ff_out[31:22],shift_data_ff_out[20:0],shift_in_reg}
837 : shift_data_ff_out[31:0];
838
839
840efu_l2t_ctl_msff_ctl_macro__width_1 ff_cmp_read_data_ff_vld
841 (
842 .scan_in(ff_cmp_read_data_ff_vld_scanin),
843 .scan_out(ff_cmp_read_data_ff_vld_scanout),
844 .dout (cmp_read_data_ff_vld_reg),
845 .din (cmp_read_data_ff_vld),
846 .l1clk (l1clk),
847 .siclk(siclk),
848 .soclk(soclk)
849 );
850
851efu_l2t_ctl_msff_ctl_macro__en_1__width_32 ff_read_data_ff_sync
852 (
853 .scan_in(ff_read_data_ff_sync_scanin),
854 .scan_out(ff_read_data_ff_sync_scanout),
855 .din (read_data_ff[31:0]),
856 .dout (read_data_ff_sync[31:0]),
857 .en (cmp_read_data_ff_vld),
858 .l1clk (l1clk),
859 .siclk(siclk),
860 .soclk(soclk)
861 );
862
863efu_l2t_ctl_msff_ctl_macro__width_32 ff_shhift_data_ff_sync
864 (
865 .scan_in(ff_shhift_data_ff_sync_scanin),
866 .scan_out(ff_shhift_data_ff_sync_scanout),
867 .din (shift_data_ff_in),
868 .dout (shift_data_ff_out),
869 .l1clk (l1clk),
870 .siclk(siclk),
871 .soclk(soclk)
872 );
873
874
875
876// ### CPS
877wire [8:0] mrd_cnt_ff;
878wire [8:0] mrd_cnt_nxt;
879wire [8:0] mrd_cnt_dec;
880wire decode_enable_vld;
881
882assign cmp_mrd_cnt_done = ~|mrd_cnt_ff;
883
884//assign mrd_cnt_nxt[8:0] = cmp_read_data_ff_vld ? 9'd22 : 9'd0;
885assign mrd_cnt_dec[8:0] = mrd_cnt_ff[8:0] - 9'd1 ;
886assign mrd_cnt_nxt[8:0] = cmp_read_data_ff_vld_reg & decode_enable_vld ? 9'd22 : cmp_mrd_cnt_done ? 9'd0 : mrd_cnt_dec[8:0] ;
887
888efu_l2t_ctl_msff_ctl_macro__width_9 mrd_cnt_reg
889 (
890 .scan_in(mrd_cnt_reg_scanin),
891 .scan_out(mrd_cnt_reg_scanout),
892 .dout (mrd_cnt_ff[8:0]),
893 .din (mrd_cnt_nxt[8:0]),
894 .l1clk (l1clk),
895 .siclk(siclk),
896 .soclk(soclk)
897 );
898
899wire [2:0] valid_bits;
900
901assign valid_bits[2:0] = read_data_ff_sync[31:29];
902reg valid, val_err;
903
904always @(valid_bits)
905 case (valid_bits) //synopsys parallel_case full_case
906 3'b000: {valid, val_err} = 2'b00;
907 3'b001: {valid, val_err} = 2'b01;
908 3'b010: {valid, val_err} = 2'b01;
909 3'b100: {valid, val_err} = 2'b01;
910 3'b011: {valid, val_err} = 2'b10;
911 3'b101: {valid, val_err} = 2'b10;
912 3'b110: {valid, val_err} = 2'b10;
913 3'b111: {valid, val_err} = 2'b10;
914 endcase
915
916assign computed_parity = ^read_data_ff_sync[28:0];
917assign good_parity = ~computed_parity;
918
919assign decode_enable_vld = valid & ~val_err & good_parity ;
920
921//### CPS
922assign any_cnt_other_than_zero = (|mrd_cnt_nxt[8:0]);
923// change to fix a glitch on ixfer_en
924//assign local_fuse_ashift_nxt = any_cnt_other_than_zero | local_fuse_ashift_d1 ;
925assign local_fuse_ashift_nxt = local_fuse_ashift_d1 ;
926assign local_fuse_dshift_nxt = local_fuse_ashift_nxt;
927
928efu_l2t_ctl_msff_ctl_macro__width_1 local_fuse_ashift_ff
929 (
930 .scan_in(local_fuse_ashift_ff_scanin),
931 .scan_out(local_fuse_ashift_ff_scanout),
932 .dout (local_fuse_ashift_d1),
933 .din (any_cnt_other_than_zero),
934 .l1clk (l1clk),
935 .siclk(siclk),
936 .soclk(soclk)
937 );
938
939
940//assign local_fuse_dshift_nxt = (|mrd_cnt_nxt[8:0]);
941//assign local_fuse_ashift_nxt = mrd_cnt_nxt[8:0] == 9'd22 |
942// mrd_cnt_nxt[8:0] == 9'd21 |
943// mrd_cnt_nxt[8:0] == 9'd20 |
944// mrd_cnt_nxt[8:0] == 9'd19 |
945// mrd_cnt_nxt[8:0] == 9'd18 |
946// mrd_cnt_nxt[8:0] == 9'd17 |
947// mrd_cnt_nxt[8:0] == 9'd16 |
948// mrd_cnt_nxt[8:0] == 9'd15 |
949// mrd_cnt_nxt[8:0] == 9'd14 |
950// mrd_cnt_nxt[8:0] == 9'd13 |
951// mrd_cnt_nxt[8:0] == 9'd12 |
952// mrd_cnt_nxt[8:0] == 9'd11 |
953// mrd_cnt_nxt[8:0] == 9'd10 |
954// mrd_cnt_nxt[8:0] == 9'd9 |
955// mrd_cnt_nxt[8:0] == 9'd8 |
956// mrd_cnt_nxt[8:0] == 9'd7 |
957// mrd_cnt_nxt[8:0] == 9'd6 |
958// mrd_cnt_nxt[8:0] == 9'd5 |
959// mrd_cnt_nxt[8:0] == 9'd4 |
960// mrd_cnt_nxt[8:0] == 9'd3 |
961// mrd_cnt_nxt[8:0] == 9'd2 |
962// mrd_cnt_nxt[8:0] == 9'd1 |
963// mrd_cnt_nxt[8:0] == 9'd0;
964
965// ### CPS
966assign local_fuse_data_ff = shift_data_ff_out[21];
967
968assign block_id[5:0] = read_data_ff_sync[27:22];
969
970assign spc0_ifuse_dec = (block_id[5:0] == 6'b000000) & decode_enable_vld;
971assign spc0_dfuse_dec = (block_id[5:0] == 6'b000001) & decode_enable_vld;
972assign spc1_ifuse_dec = (block_id[5:0] == 6'b000010) & decode_enable_vld;
973assign spc1_dfuse_dec = (block_id[5:0] == 6'b000011) & decode_enable_vld;
974assign spc2_ifuse_dec = (block_id[5:0] == 6'b000100) & decode_enable_vld;
975assign spc2_dfuse_dec = (block_id[5:0] == 6'b000101) & decode_enable_vld;
976assign spc3_ifuse_dec = (block_id[5:0] == 6'b000110) & decode_enable_vld;
977assign spc3_dfuse_dec = (block_id[5:0] == 6'b000111) & decode_enable_vld;
978assign spc4_ifuse_dec = (block_id[5:0] == 6'b001000) & decode_enable_vld;
979assign spc4_dfuse_dec = (block_id[5:0] == 6'b001001) & decode_enable_vld;
980assign spc5_ifuse_dec = (block_id[5:0] == 6'b001010) & decode_enable_vld;
981assign spc5_dfuse_dec = (block_id[5:0] == 6'b001011) & decode_enable_vld;
982assign spc6_ifuse_dec = (block_id[5:0] == 6'b001100) & decode_enable_vld;
983assign spc6_dfuse_dec = (block_id[5:0] == 6'b001101) & decode_enable_vld;
984assign spc7_ifuse_dec = (block_id[5:0] == 6'b001110) & decode_enable_vld;
985assign spc7_dfuse_dec = (block_id[5:0] == 6'b001111) & decode_enable_vld;
986assign l2t0_fuse_dec = (block_id[5:0] == 6'b010000) & decode_enable_vld;
987assign l2t1_fuse_dec = (block_id[5:0] == 6'b010001) & decode_enable_vld;
988assign l2t2_fuse_dec = (block_id[5:0] == 6'b010010) & decode_enable_vld;
989assign l2t3_fuse_dec = (block_id[5:0] == 6'b010011) & decode_enable_vld;
990assign l2t4_fuse_dec = (block_id[5:0] == 6'b010100) & decode_enable_vld;
991assign l2t5_fuse_dec = (block_id[5:0] == 6'b010101) & decode_enable_vld;
992assign l2t6_fuse_dec = (block_id[5:0] == 6'b010110) & decode_enable_vld;
993assign l2t7_fuse_dec = (block_id[5:0] == 6'b010111) & decode_enable_vld;
994assign l2d0_fuse_dec = (block_id[5:0] == 6'b011000) & decode_enable_vld;
995assign l2d1_fuse_dec = (block_id[5:0] == 6'b011001) & decode_enable_vld;
996assign l2d2_fuse_dec = (block_id[5:0] == 6'b011010) & decode_enable_vld;
997assign l2d3_fuse_dec = (block_id[5:0] == 6'b011011) & decode_enable_vld;
998assign l2d4_fuse_dec = (block_id[5:0] == 6'b011100) & decode_enable_vld;
999assign l2d5_fuse_dec = (block_id[5:0] == 6'b011101) & decode_enable_vld;
1000assign l2d6_fuse_dec = (block_id[5:0] == 6'b011110) & decode_enable_vld;
1001assign l2d7_fuse_dec = (block_id[5:0] == 6'b011111) & decode_enable_vld;
1002
1003efu_l2t_ctl_msff_ctl_macro__width_1 data_vld_datareg
1004 (
1005 .scan_in(data_vld_datareg_scanin),
1006 .scan_out(data_vld_datareg_scanout),
1007 .din (shift_in),
1008 .dout (shift_in_reg),
1009 .l1clk (l1clk),
1010 .siclk(siclk),
1011 .soclk(soclk)
1012 );
1013
1014
1015assign shift_in = 1'b0
1016 | spc7_ifuse_dec & spc_idata_q[7] //&& spc7_efu_fuse_ixfer_en
1017 | spc7_dfuse_dec & spc_ddata_q[7] //&& spc7_efu_fuse_dxfer_en
1018 | spc6_ifuse_dec & spc_idata_q[6] //&& spc6_efu_fuse_ixfer_en
1019 | spc6_dfuse_dec & spc_ddata_q[6] //&& spc6_efu_fuse_dxfer_en
1020 | spc5_ifuse_dec & spc_idata_q[5] //&& spc5_efu_fuse_ixfer_en
1021 | spc5_dfuse_dec & spc_ddata_q[5] //&& spc5_efu_fuse_dxfer_en
1022 | spc4_ifuse_dec & spc_idata_q[4] //&& spc4_efu_fuse_ixfer_en
1023 | spc4_dfuse_dec & spc_ddata_q[4] //&& spc4_efu_fuse_dxfer_en
1024 | spc3_ifuse_dec & spc_idata_q[3] //&& spc3_efu_fuse_ixfer_en
1025 | spc3_dfuse_dec & spc_ddata_q[3] //&& spc3_efu_fuse_dxfer_en
1026 | spc2_ifuse_dec & spc_idata_q[2] //&& spc2_efu_fuse_ixfer_en
1027 | spc2_dfuse_dec & spc_ddata_q[2] //&& spc2_efu_fuse_dxfer_en
1028 | spc1_ifuse_dec & spc_idata_q[1] //&& spc1_efu_fuse_ixfer_en
1029 | spc1_dfuse_dec & spc_ddata_q[1] //&& spc1_efu_fuse_dxfer_en
1030 | spc0_ifuse_dec & spc_idata_q[0] //&& spc0_efu_fuse_ixfer_en
1031 | spc0_dfuse_dec & spc_ddata_q[0] //&& spc0_efu_fuse_dxfer_en
1032 | l2t0_fuse_dec & l2t_data_q[0] //&& l2t0_efu_fuse_xfer_en
1033 | l2t1_fuse_dec & l2t_data_q[1] //&& l2t1_efu_fuse_xfer_en
1034 | l2t2_fuse_dec & l2t_data_q[2] //&& l2t2_efu_fuse_xfer_en
1035 | l2t3_fuse_dec & l2t_data_q[3] //&& l2t3_efu_fuse_xfer_en
1036 | l2t4_fuse_dec & l2t_data_q[4] //&& l2t4_efu_fuse_xfer_en
1037 | l2t5_fuse_dec & l2t_data_q[5] //&& l2t5_efu_fuse_xfer_en
1038 | l2t6_fuse_dec & l2t_data_q[6] //&& l2t6_efu_fuse_xfer_en
1039 | l2t7_fuse_dec & l2t_data_q[7] //&& l2t7_efu_fuse_xfer_en
1040 | l2d0_fuse_dec & l2b_data_q[0] //&& l2b0_efu_fuse_xfer_en
1041 | l2d1_fuse_dec & l2b_data_q[1] //&& l2b1_efu_fuse_xfer_en
1042 | l2d2_fuse_dec & l2b_data_q[2] //&& l2b2_efu_fuse_xfer_en
1043 | l2d3_fuse_dec & l2b_data_q[3] //&& l2b3_efu_fuse_xfer_en
1044 | l2d4_fuse_dec & l2b_data_q[4] //&& l2b4_efu_fuse_xfer_en
1045 | l2d5_fuse_dec & l2b_data_q[5] //&& l2b5_efu_fuse_xfer_en
1046 | l2d6_fuse_dec & l2b_data_q[6] //&& l2b6_efu_fuse_xfer_en
1047 | l2d7_fuse_dec & l2b_data_q[7] ;//&& l2b7_efu_fuse_xfer_en;
1048
1049assign efu_spc0246_fuse_data = local_fuse_data_ff;
1050assign efu_spc1357_fuse_data = local_fuse_data_ff;
1051assign efu_l2t0246_fuse_data = local_fuse_data_ff; //
1052assign efu_l2t1357_fuse_data = local_fuse_data_ff;
1053assign efu_l2b0246_fuse_data = local_fuse_data_ff;
1054assign efu_l2b1357_fuse_data = local_fuse_data_ff;
1055
1056
1057efu_l2t_ctl_msff_ctl_macro__width_1 spc0_ifuse_ashift_reg
1058 (
1059 .scan_in(spc0_ifuse_ashift_reg_scanin),
1060 .scan_out(spc0_ifuse_ashift_reg_scanout),
1061 .din (spc0_ifuse_dec && local_fuse_ashift_nxt),
1062 .dout (efu_spc0_ifuse_ashift),
1063 .l1clk (l1clk),
1064 .siclk(siclk),
1065 .soclk(soclk)
1066 );
1067
1068
1069efu_l2t_ctl_msff_ctl_macro__width_1 spc0_ifuse_dshift_reg
1070 (
1071 .scan_in(spc0_ifuse_dshift_reg_scanin),
1072 .scan_out(spc0_ifuse_dshift_reg_scanout),
1073 .din (spc0_ifuse_dec && local_fuse_dshift_nxt),
1074 .dout (efu_spc0_ifuse_dshift),
1075 .l1clk (l1clk),
1076 .siclk(siclk),
1077 .soclk(soclk)
1078 );
1079
1080 assign efu_spc0_fuse_ixfer_en = efu_spc0_ifuse_ashift | efu_spc0_ifuse_dshift;
1081
1082efu_l2t_ctl_msff_ctl_macro__width_1 spc0_dfuse_ashift_reg
1083 (
1084 .scan_in(spc0_dfuse_ashift_reg_scanin),
1085 .scan_out(spc0_dfuse_ashift_reg_scanout),
1086 .din (spc0_dfuse_dec && local_fuse_ashift_nxt),
1087 .dout (efu_spc0_dfuse_ashift),
1088 .l1clk (l1clk),
1089 .siclk(siclk),
1090 .soclk(soclk)
1091 );
1092
1093
1094efu_l2t_ctl_msff_ctl_macro__width_1 spc0_dfuse_dshift_reg
1095 (
1096 .scan_in(spc0_dfuse_dshift_reg_scanin),
1097 .scan_out(spc0_dfuse_dshift_reg_scanout),
1098 .din (spc0_dfuse_dec && local_fuse_dshift_nxt),
1099 .dout (efu_spc0_dfuse_dshift),
1100 .l1clk (l1clk),
1101 .siclk(siclk),
1102 .soclk(soclk)
1103 );
1104
1105 assign efu_spc0_fuse_dxfer_en = efu_spc0_dfuse_ashift | efu_spc0_dfuse_dshift;
1106
1107efu_l2t_ctl_msff_ctl_macro__width_1 spc1_ifuse_ashift_reg
1108 (
1109 .scan_in(spc1_ifuse_ashift_reg_scanin),
1110 .scan_out(spc1_ifuse_ashift_reg_scanout),
1111 .din (spc1_ifuse_dec && local_fuse_ashift_nxt),
1112 .dout (efu_spc1_ifuse_ashift),
1113 .l1clk (l1clk),
1114 .siclk(siclk),
1115 .soclk(soclk)
1116 );
1117
1118
1119efu_l2t_ctl_msff_ctl_macro__width_1 spc1_ifuse_dshift_reg
1120 (
1121 .scan_in(spc1_ifuse_dshift_reg_scanin),
1122 .scan_out(spc1_ifuse_dshift_reg_scanout),
1123 .din (spc1_ifuse_dec && local_fuse_dshift_nxt),
1124 .dout (efu_spc1_ifuse_dshift),
1125 .l1clk (l1clk),
1126 .siclk(siclk),
1127 .soclk(soclk)
1128 );
1129
1130assign efu_spc1_fuse_ixfer_en = efu_spc1_ifuse_dshift | efu_spc1_ifuse_ashift;
1131
1132efu_l2t_ctl_msff_ctl_macro__width_1 spc1_dfuse_ashift_reg
1133 (
1134 .scan_in(spc1_dfuse_ashift_reg_scanin),
1135 .scan_out(spc1_dfuse_ashift_reg_scanout),
1136 .din (spc1_dfuse_dec && local_fuse_ashift_nxt),
1137 .dout (efu_spc1_dfuse_ashift),
1138 .l1clk (l1clk),
1139 .siclk(siclk),
1140 .soclk(soclk)
1141 );
1142
1143
1144efu_l2t_ctl_msff_ctl_macro__width_1 spc1_dfuse_dshift_reg
1145 (
1146 .scan_in(spc1_dfuse_dshift_reg_scanin),
1147 .scan_out(spc1_dfuse_dshift_reg_scanout),
1148 .din (spc1_dfuse_dec && local_fuse_dshift_nxt),
1149 .dout (efu_spc1_dfuse_dshift),
1150 .l1clk (l1clk),
1151 .siclk(siclk),
1152 .soclk(soclk)
1153 );
1154
1155assign efu_spc1_fuse_dxfer_en = efu_spc1_dfuse_ashift | efu_spc1_dfuse_dshift;
1156
1157efu_l2t_ctl_msff_ctl_macro__width_1 spc2_ifuse_ashift_reg
1158 (
1159 .scan_in(spc2_ifuse_ashift_reg_scanin),
1160 .scan_out(spc2_ifuse_ashift_reg_scanout),
1161 .din (spc2_ifuse_dec && local_fuse_ashift_nxt),
1162 .dout (efu_spc2_ifuse_ashift),
1163 .l1clk (l1clk),
1164 .siclk(siclk),
1165 .soclk(soclk)
1166 );
1167
1168
1169efu_l2t_ctl_msff_ctl_macro__width_1 spc2_ifuse_dshift_reg
1170 (
1171 .scan_in(spc2_ifuse_dshift_reg_scanin),
1172 .scan_out(spc2_ifuse_dshift_reg_scanout),
1173 .din (spc2_ifuse_dec && local_fuse_dshift_nxt),
1174 .dout (efu_spc2_ifuse_dshift),
1175 .l1clk (l1clk),
1176 .siclk(siclk),
1177 .soclk(soclk)
1178 );
1179
1180
1181assign efu_spc2_fuse_ixfer_en = efu_spc2_ifuse_ashift | efu_spc2_ifuse_dshift;
1182
1183efu_l2t_ctl_msff_ctl_macro__width_1 spc2_dfuse_ashift_reg
1184 (
1185 .scan_in(spc2_dfuse_ashift_reg_scanin),
1186 .scan_out(spc2_dfuse_ashift_reg_scanout),
1187 .din (spc2_dfuse_dec && local_fuse_ashift_nxt),
1188 .dout (efu_spc2_dfuse_ashift),
1189 .l1clk (l1clk),
1190 .siclk(siclk),
1191 .soclk(soclk)
1192 );
1193
1194
1195efu_l2t_ctl_msff_ctl_macro__width_1 spc2_dfuse_dshift_reg
1196 (
1197 .scan_in(spc2_dfuse_dshift_reg_scanin),
1198 .scan_out(spc2_dfuse_dshift_reg_scanout),
1199 .din (spc2_dfuse_dec && local_fuse_dshift_nxt),
1200 .dout (efu_spc2_dfuse_dshift),
1201 .l1clk (l1clk),
1202 .siclk(siclk),
1203 .soclk(soclk)
1204 );
1205
1206assign efu_spc2_fuse_dxfer_en = efu_spc2_dfuse_ashift | efu_spc2_dfuse_dshift;
1207
1208efu_l2t_ctl_msff_ctl_macro__width_1 spc3_ifuse_ashift_reg
1209 (
1210 .scan_in(spc3_ifuse_ashift_reg_scanin),
1211 .scan_out(spc3_ifuse_ashift_reg_scanout),
1212 .din (spc3_ifuse_dec && local_fuse_ashift_nxt),
1213 .dout (efu_spc3_ifuse_ashift),
1214 .l1clk (l1clk),
1215 .siclk(siclk),
1216 .soclk(soclk)
1217 );
1218
1219
1220efu_l2t_ctl_msff_ctl_macro__width_1 spc3_ifuse_dshift_reg
1221 (
1222 .scan_in(spc3_ifuse_dshift_reg_scanin),
1223 .scan_out(spc3_ifuse_dshift_reg_scanout),
1224 .din (spc3_ifuse_dec && local_fuse_dshift_nxt),
1225 .dout (efu_spc3_ifuse_dshift),
1226 .l1clk (l1clk),
1227 .siclk(siclk),
1228 .soclk(soclk)
1229 );
1230
1231assign efu_spc3_fuse_ixfer_en = efu_spc3_ifuse_ashift | efu_spc3_ifuse_dshift;
1232
1233
1234efu_l2t_ctl_msff_ctl_macro__width_1 spc3_dfuse_ashift_reg
1235 (
1236 .scan_in(spc3_dfuse_ashift_reg_scanin),
1237 .scan_out(spc3_dfuse_ashift_reg_scanout),
1238 .din (spc3_dfuse_dec && local_fuse_ashift_nxt),
1239 .dout (efu_spc3_dfuse_ashift),
1240 .l1clk (l1clk),
1241 .siclk(siclk),
1242 .soclk(soclk)
1243 );
1244
1245
1246efu_l2t_ctl_msff_ctl_macro__width_1 spc3_dfuse_dshift_reg
1247 (
1248 .scan_in(spc3_dfuse_dshift_reg_scanin),
1249 .scan_out(spc3_dfuse_dshift_reg_scanout),
1250 .din (spc3_dfuse_dec && local_fuse_dshift_nxt),
1251 .dout (efu_spc3_dfuse_dshift),
1252 .l1clk (l1clk),
1253 .siclk(siclk),
1254 .soclk(soclk)
1255 );
1256
1257assign efu_spc3_fuse_dxfer_en = efu_spc3_dfuse_ashift | efu_spc3_dfuse_dshift;
1258
1259efu_l2t_ctl_msff_ctl_macro__width_1 spc4_ifuse_ashift_reg
1260 (
1261 .scan_in(spc4_ifuse_ashift_reg_scanin),
1262 .scan_out(spc4_ifuse_ashift_reg_scanout),
1263 .din (spc4_ifuse_dec && local_fuse_ashift_nxt),
1264 .dout (efu_spc4_ifuse_ashift),
1265 .l1clk (l1clk),
1266 .siclk(siclk),
1267 .soclk(soclk)
1268 );
1269
1270
1271efu_l2t_ctl_msff_ctl_macro__width_1 spc4_ifuse_dshift_reg
1272 (
1273 .scan_in(spc4_ifuse_dshift_reg_scanin),
1274 .scan_out(spc4_ifuse_dshift_reg_scanout),
1275 .din (spc4_ifuse_dec && local_fuse_dshift_nxt),
1276 .dout (efu_spc4_ifuse_dshift),
1277 .l1clk (l1clk),
1278 .siclk(siclk),
1279 .soclk(soclk)
1280 );
1281
1282
1283assign efu_spc4_fuse_ixfer_en = efu_spc4_ifuse_ashift | efu_spc4_ifuse_dshift;
1284
1285
1286efu_l2t_ctl_msff_ctl_macro__width_1 spc4_dfuse_ashift_reg
1287 (
1288 .scan_in(spc4_dfuse_ashift_reg_scanin),
1289 .scan_out(spc4_dfuse_ashift_reg_scanout),
1290 .din (spc4_dfuse_dec && local_fuse_ashift_nxt),
1291 .dout (efu_spc4_dfuse_ashift),
1292 .l1clk (l1clk),
1293 .siclk(siclk),
1294 .soclk(soclk)
1295 );
1296
1297
1298efu_l2t_ctl_msff_ctl_macro__width_1 spc4_dfuse_dshift_reg
1299 (
1300 .scan_in(spc4_dfuse_dshift_reg_scanin),
1301 .scan_out(spc4_dfuse_dshift_reg_scanout),
1302 .din (spc4_dfuse_dec && local_fuse_dshift_nxt),
1303 .dout (efu_spc4_dfuse_dshift),
1304 .l1clk (l1clk),
1305 .siclk(siclk),
1306 .soclk(soclk)
1307 );
1308
1309
1310assign efu_spc4_fuse_dxfer_en = efu_spc4_dfuse_ashift | efu_spc4_dfuse_dshift;
1311
1312
1313efu_l2t_ctl_msff_ctl_macro__width_1 spc5_ifuse_ashift_reg
1314 (
1315 .scan_in(spc5_ifuse_ashift_reg_scanin),
1316 .scan_out(spc5_ifuse_ashift_reg_scanout),
1317 .din (spc5_ifuse_dec && local_fuse_ashift_nxt),
1318 .dout (efu_spc5_ifuse_ashift),
1319 .l1clk (l1clk),
1320 .siclk(siclk),
1321 .soclk(soclk)
1322 );
1323
1324
1325efu_l2t_ctl_msff_ctl_macro__width_1 spc5_ifuse_dshift_reg
1326 (
1327 .scan_in(spc5_ifuse_dshift_reg_scanin),
1328 .scan_out(spc5_ifuse_dshift_reg_scanout),
1329 .din (spc5_ifuse_dec && local_fuse_dshift_nxt),
1330 .dout (efu_spc5_ifuse_dshift),
1331 .l1clk (l1clk),
1332 .siclk(siclk),
1333 .soclk(soclk)
1334 );
1335
1336assign efu_spc5_fuse_ixfer_en = efu_spc5_ifuse_ashift | efu_spc5_ifuse_dshift;
1337
1338efu_l2t_ctl_msff_ctl_macro__width_1 spc5_dfuse_ashift_reg
1339 (
1340 .scan_in(spc5_dfuse_ashift_reg_scanin),
1341 .scan_out(spc5_dfuse_ashift_reg_scanout),
1342 .din (spc5_dfuse_dec && local_fuse_ashift_nxt),
1343 .dout (efu_spc5_dfuse_ashift),
1344 .l1clk (l1clk),
1345 .siclk(siclk),
1346 .soclk(soclk)
1347 );
1348
1349
1350efu_l2t_ctl_msff_ctl_macro__width_1 spc5_dfuse_dshift_reg
1351 (
1352 .scan_in(spc5_dfuse_dshift_reg_scanin),
1353 .scan_out(spc5_dfuse_dshift_reg_scanout),
1354 .din (spc5_dfuse_dec && local_fuse_dshift_nxt),
1355 .dout (efu_spc5_dfuse_dshift),
1356 .l1clk (l1clk),
1357 .siclk(siclk),
1358 .soclk(soclk)
1359 );
1360
1361
1362assign efu_spc5_fuse_dxfer_en = efu_spc5_dfuse_ashift | efu_spc5_dfuse_dshift;
1363
1364efu_l2t_ctl_msff_ctl_macro__width_1 spc6_ifuse_ashift_reg
1365 (
1366 .scan_in(spc6_ifuse_ashift_reg_scanin),
1367 .scan_out(spc6_ifuse_ashift_reg_scanout),
1368 .din (spc6_ifuse_dec && local_fuse_ashift_nxt),
1369 .dout (efu_spc6_ifuse_ashift),
1370 .l1clk (l1clk),
1371 .siclk(siclk),
1372 .soclk(soclk)
1373 );
1374
1375
1376efu_l2t_ctl_msff_ctl_macro__width_1 spc6_ifuse_dshift_reg
1377 (
1378 .scan_in(spc6_ifuse_dshift_reg_scanin),
1379 .scan_out(spc6_ifuse_dshift_reg_scanout),
1380 .din (spc6_ifuse_dec && local_fuse_dshift_nxt),
1381 .dout (efu_spc6_ifuse_dshift),
1382 .l1clk (l1clk),
1383 .siclk(siclk),
1384 .soclk(soclk)
1385 );
1386
1387
1388assign efu_spc6_fuse_ixfer_en = efu_spc6_ifuse_ashift | efu_spc6_ifuse_dshift;
1389
1390efu_l2t_ctl_msff_ctl_macro__width_1 spc6_dfuse_ashift_reg
1391 (
1392 .scan_in(spc6_dfuse_ashift_reg_scanin),
1393 .scan_out(spc6_dfuse_ashift_reg_scanout),
1394 .din (spc6_dfuse_dec && local_fuse_ashift_nxt),
1395 .dout (efu_spc6_dfuse_ashift),
1396 .l1clk (l1clk),
1397 .siclk(siclk),
1398 .soclk(soclk)
1399 );
1400
1401
1402efu_l2t_ctl_msff_ctl_macro__width_1 spc6_dfuse_dshift_reg
1403 (
1404 .scan_in(spc6_dfuse_dshift_reg_scanin),
1405 .scan_out(spc6_dfuse_dshift_reg_scanout),
1406 .din (spc6_dfuse_dec && local_fuse_dshift_nxt),
1407 .dout (efu_spc6_dfuse_dshift),
1408 .l1clk (l1clk),
1409 .siclk(siclk),
1410 .soclk(soclk)
1411 );
1412
1413assign efu_spc6_fuse_dxfer_en = efu_spc6_dfuse_ashift | efu_spc6_dfuse_dshift;
1414
1415efu_l2t_ctl_msff_ctl_macro__width_1 spc7_ifuse_ashift_reg
1416 (
1417 .scan_in(spc7_ifuse_ashift_reg_scanin),
1418 .scan_out(spc7_ifuse_ashift_reg_scanout),
1419 .din (spc7_ifuse_dec && local_fuse_ashift_nxt),
1420 .dout (efu_spc7_ifuse_ashift),
1421 .l1clk (l1clk),
1422 .siclk(siclk),
1423 .soclk(soclk)
1424 );
1425
1426
1427efu_l2t_ctl_msff_ctl_macro__width_1 spc7_ifuse_dshift_reg
1428 (
1429 .scan_in(spc7_ifuse_dshift_reg_scanin),
1430 .scan_out(spc7_ifuse_dshift_reg_scanout),
1431 .din (spc7_ifuse_dec && local_fuse_dshift_nxt),
1432 .dout (efu_spc7_ifuse_dshift),
1433 .l1clk (l1clk),
1434 .siclk(siclk),
1435 .soclk(soclk)
1436 );
1437
1438assign efu_spc7_fuse_ixfer_en = efu_spc7_ifuse_ashift | efu_spc7_ifuse_dshift;
1439
1440efu_l2t_ctl_msff_ctl_macro__width_1 spc7_dfuse_ashift_reg
1441 (
1442 .scan_in(spc7_dfuse_ashift_reg_scanin),
1443 .scan_out(spc7_dfuse_ashift_reg_scanout),
1444 .din (spc7_dfuse_dec && local_fuse_ashift_nxt),
1445 .dout (efu_spc7_dfuse_ashift),
1446 .l1clk (l1clk),
1447 .siclk(siclk),
1448 .soclk(soclk)
1449 );
1450
1451
1452efu_l2t_ctl_msff_ctl_macro__width_1 spc7_dfuse_dshift_reg
1453 (
1454 .scan_in(spc7_dfuse_dshift_reg_scanin),
1455 .scan_out(spc7_dfuse_dshift_reg_scanout),
1456 .din (spc7_dfuse_dec && local_fuse_dshift_nxt),
1457 .dout (efu_spc7_dfuse_dshift),
1458 .l1clk (l1clk),
1459 .siclk(siclk),
1460 .soclk(soclk)
1461 );
1462
1463assign efu_spc7_fuse_dxfer_en = efu_spc7_dfuse_ashift | efu_spc7_dfuse_dshift;
1464
1465efu_l2t_ctl_msff_ctl_macro__width_1 l2t0_fuse_ashift_reg
1466 (
1467 .scan_in(l2t0_fuse_ashift_reg_scanin),
1468 .scan_out(l2t0_fuse_ashift_reg_scanout),
1469 .din (l2t0_fuse_dec && local_fuse_ashift_nxt),
1470 .dout (efu_l2t0_fuse_ashift),
1471 .l1clk (l1clk),
1472 .siclk(siclk),
1473 .soclk(soclk)
1474 );
1475
1476
1477efu_l2t_ctl_msff_ctl_macro__width_1 l2t0_fuse_dshift_reg
1478 (
1479 .scan_in(l2t0_fuse_dshift_reg_scanin),
1480 .scan_out(l2t0_fuse_dshift_reg_scanout),
1481 .din (l2t0_fuse_dec && local_fuse_dshift_nxt),
1482 .dout (efu_l2t0_fuse_dshift),
1483 .l1clk (l1clk),
1484 .siclk(siclk),
1485 .soclk(soclk)
1486 );
1487
1488assign efu_l2t0_fuse_xfer_en = efu_l2t0_fuse_ashift | efu_l2t0_fuse_dshift;
1489
1490
1491efu_l2t_ctl_msff_ctl_macro__width_1 l2t1_fuse_ashift_reg
1492 (
1493 .scan_in(l2t1_fuse_ashift_reg_scanin),
1494 .scan_out(l2t1_fuse_ashift_reg_scanout),
1495 .din (l2t1_fuse_dec && local_fuse_ashift_nxt),
1496 .dout (efu_l2t1_fuse_ashift),
1497 .l1clk (l1clk),
1498 .siclk(siclk),
1499 .soclk(soclk)
1500 );
1501
1502
1503efu_l2t_ctl_msff_ctl_macro__width_1 l2t1_fuse_dshift_reg
1504 (
1505 .scan_in(l2t1_fuse_dshift_reg_scanin),
1506 .scan_out(l2t1_fuse_dshift_reg_scanout),
1507 .din (l2t1_fuse_dec && local_fuse_dshift_nxt),
1508 .dout (efu_l2t1_fuse_dshift),
1509 .l1clk (l1clk),
1510 .siclk(siclk),
1511 .soclk(soclk)
1512 );
1513
1514assign efu_l2t1_fuse_xfer_en = efu_l2t1_fuse_ashift | efu_l2t1_fuse_dshift;
1515
1516efu_l2t_ctl_msff_ctl_macro__width_1 l2t2_fuse_ashift_reg
1517 (
1518 .scan_in(l2t2_fuse_ashift_reg_scanin),
1519 .scan_out(l2t2_fuse_ashift_reg_scanout),
1520 .din (l2t2_fuse_dec && local_fuse_ashift_nxt),
1521 .dout (efu_l2t2_fuse_ashift),
1522 .l1clk (l1clk),
1523 .siclk(siclk),
1524 .soclk(soclk)
1525 );
1526
1527
1528efu_l2t_ctl_msff_ctl_macro__width_1 l2t2_fuse_dshift_reg
1529 (
1530 .scan_in(l2t2_fuse_dshift_reg_scanin),
1531 .scan_out(l2t2_fuse_dshift_reg_scanout),
1532 .din (l2t2_fuse_dec && local_fuse_dshift_nxt),
1533 .dout (efu_l2t2_fuse_dshift),
1534 .l1clk (l1clk),
1535 .siclk(siclk),
1536 .soclk(soclk)
1537 );
1538
1539assign efu_l2t2_fuse_xfer_en = efu_l2t2_fuse_ashift | efu_l2t2_fuse_dshift;
1540
1541efu_l2t_ctl_msff_ctl_macro__width_1 l2t3_fuse_ashift_reg
1542 (
1543 .scan_in(l2t3_fuse_ashift_reg_scanin),
1544 .scan_out(l2t3_fuse_ashift_reg_scanout),
1545 .din (l2t3_fuse_dec && local_fuse_ashift_nxt),
1546 .dout (efu_l2t3_fuse_ashift),
1547 .l1clk (l1clk),
1548 .siclk(siclk),
1549 .soclk(soclk)
1550 );
1551
1552
1553efu_l2t_ctl_msff_ctl_macro__width_1 l2t3_fuse_dshift_reg
1554 (
1555 .scan_in(l2t3_fuse_dshift_reg_scanin),
1556 .scan_out(l2t3_fuse_dshift_reg_scanout),
1557 .din (l2t3_fuse_dec && local_fuse_dshift_nxt),
1558 .dout (efu_l2t3_fuse_dshift),
1559 .l1clk (l1clk),
1560 .siclk(siclk),
1561 .soclk(soclk)
1562 );
1563
1564assign efu_l2t3_fuse_xfer_en = efu_l2t3_fuse_ashift | efu_l2t3_fuse_dshift;
1565
1566efu_l2t_ctl_msff_ctl_macro__width_1 l2t4_fuse_ashift_reg
1567 (
1568 .scan_in(l2t4_fuse_ashift_reg_scanin),
1569 .scan_out(l2t4_fuse_ashift_reg_scanout),
1570 .din (l2t4_fuse_dec && local_fuse_ashift_nxt),
1571 .dout (efu_l2t4_fuse_ashift),
1572 .l1clk (l1clk),
1573 .siclk(siclk),
1574 .soclk(soclk)
1575 );
1576
1577
1578efu_l2t_ctl_msff_ctl_macro__width_1 l2t4_fuse_dshift_reg
1579 (
1580 .scan_in(l2t4_fuse_dshift_reg_scanin),
1581 .scan_out(l2t4_fuse_dshift_reg_scanout),
1582 .din (l2t4_fuse_dec && local_fuse_dshift_nxt),
1583 .dout (efu_l2t4_fuse_dshift),
1584 .l1clk (l1clk),
1585 .siclk(siclk),
1586 .soclk(soclk)
1587 );
1588
1589assign efu_l2t4_fuse_xfer_en = efu_l2t4_fuse_ashift | efu_l2t4_fuse_dshift;
1590
1591
1592efu_l2t_ctl_msff_ctl_macro__width_1 l2t5_fuse_ashift_reg
1593 (
1594 .scan_in(l2t5_fuse_ashift_reg_scanin),
1595 .scan_out(l2t5_fuse_ashift_reg_scanout),
1596 .din (l2t5_fuse_dec && local_fuse_ashift_nxt),
1597 .dout (efu_l2t5_fuse_ashift),
1598 .l1clk (l1clk),
1599 .siclk(siclk),
1600 .soclk(soclk)
1601 );
1602
1603
1604efu_l2t_ctl_msff_ctl_macro__width_1 l2t5_fuse_dshift_reg
1605 (
1606 .scan_in(l2t5_fuse_dshift_reg_scanin),
1607 .scan_out(l2t5_fuse_dshift_reg_scanout),
1608 .din (l2t5_fuse_dec && local_fuse_dshift_nxt),
1609 .dout (efu_l2t5_fuse_dshift),
1610 .l1clk (l1clk),
1611 .siclk(siclk),
1612 .soclk(soclk)
1613 );
1614
1615assign efu_l2t5_fuse_xfer_en = efu_l2t5_fuse_ashift | efu_l2t5_fuse_dshift;
1616
1617efu_l2t_ctl_msff_ctl_macro__width_1 l2t6_fuse_ashift_reg
1618 (
1619 .scan_in(l2t6_fuse_ashift_reg_scanin),
1620 .scan_out(l2t6_fuse_ashift_reg_scanout),
1621 .din (l2t6_fuse_dec && local_fuse_ashift_nxt),
1622 .dout (efu_l2t6_fuse_ashift),
1623 .l1clk (l1clk),
1624 .siclk(siclk),
1625 .soclk(soclk)
1626 );
1627
1628
1629efu_l2t_ctl_msff_ctl_macro__width_1 l2t6_fuse_dshift_reg
1630 (
1631 .scan_in(l2t6_fuse_dshift_reg_scanin),
1632 .scan_out(l2t6_fuse_dshift_reg_scanout),
1633 .din (l2t6_fuse_dec && local_fuse_dshift_nxt),
1634 .dout (efu_l2t6_fuse_dshift),
1635 .l1clk (l1clk),
1636 .siclk(siclk),
1637 .soclk(soclk)
1638 );
1639
1640assign efu_l2t6_fuse_xfer_en = efu_l2t6_fuse_ashift | efu_l2t6_fuse_dshift;
1641
1642
1643efu_l2t_ctl_msff_ctl_macro__width_1 l2t7_fuse_ashift_reg
1644 (
1645 .scan_in(l2t7_fuse_ashift_reg_scanin),
1646 .scan_out(l2t7_fuse_ashift_reg_scanout),
1647 .din (l2t7_fuse_dec && local_fuse_ashift_nxt),
1648 .dout (efu_l2t7_fuse_ashift),
1649 .l1clk (l1clk),
1650 .siclk(siclk),
1651 .soclk(soclk)
1652 );
1653
1654
1655efu_l2t_ctl_msff_ctl_macro__width_1 l2t7_fuse_dshift_reg
1656 (
1657 .scan_in(l2t7_fuse_dshift_reg_scanin),
1658 .scan_out(l2t7_fuse_dshift_reg_scanout),
1659 .din (l2t7_fuse_dec && local_fuse_dshift_nxt),
1660 .dout (efu_l2t7_fuse_dshift),
1661 .l1clk (l1clk),
1662 .siclk(siclk),
1663 .soclk(soclk)
1664 );
1665
1666assign efu_l2t7_fuse_xfer_en = efu_l2t7_fuse_ashift | efu_l2t7_fuse_dshift;
1667
1668efu_l2t_ctl_msff_ctl_macro__width_1 l2d0_fuse_ashift_reg
1669 (
1670 .scan_in(l2d0_fuse_ashift_reg_scanin),
1671 .scan_out(l2d0_fuse_ashift_reg_scanout),
1672 .din (l2d0_fuse_dec && local_fuse_ashift_nxt),
1673 .dout (efu_l2d0_fuse_ashift),
1674 .l1clk (l1clk),
1675 .siclk(siclk),
1676 .soclk(soclk)
1677 );
1678
1679efu_l2t_ctl_msff_ctl_macro__width_1 l2d0_fuse_dshift_reg
1680 (
1681 .scan_in(l2d0_fuse_dshift_reg_scanin),
1682 .scan_out(l2d0_fuse_dshift_reg_scanout),
1683 .din (l2d0_fuse_dec && local_fuse_dshift_nxt),
1684 .dout (efu_l2d0_fuse_dshift),
1685 .l1clk (l1clk),
1686 .siclk(siclk),
1687 .soclk(soclk)
1688 );
1689
1690assign efu_l2b0_fuse_xfer_en = efu_l2d0_fuse_dshift | efu_l2d0_fuse_ashift;
1691
1692
1693efu_l2t_ctl_msff_ctl_macro__width_1 l2d1_fuse_ashift_reg
1694 (
1695 .scan_in(l2d1_fuse_ashift_reg_scanin),
1696 .scan_out(l2d1_fuse_ashift_reg_scanout),
1697 .din (l2d1_fuse_dec && local_fuse_ashift_nxt),
1698 .dout (efu_l2d1_fuse_ashift),
1699 .l1clk (l1clk),
1700 .siclk(siclk),
1701 .soclk(soclk)
1702 );
1703
1704efu_l2t_ctl_msff_ctl_macro__width_1 l2d1_fuse_dshift_reg
1705 (
1706 .scan_in(l2d1_fuse_dshift_reg_scanin),
1707 .scan_out(l2d1_fuse_dshift_reg_scanout),
1708 .din (l2d1_fuse_dec && local_fuse_dshift_nxt),
1709 .dout (efu_l2d1_fuse_dshift),
1710 .l1clk (l1clk),
1711 .siclk(siclk),
1712 .soclk(soclk)
1713 );
1714
1715assign efu_l2b1_fuse_xfer_en = efu_l2d1_fuse_ashift | efu_l2d1_fuse_dshift;
1716
1717efu_l2t_ctl_msff_ctl_macro__width_1 l2d2_fuse_ashift_reg
1718 (
1719 .scan_in(l2d2_fuse_ashift_reg_scanin),
1720 .scan_out(l2d2_fuse_ashift_reg_scanout),
1721 .din (l2d2_fuse_dec && local_fuse_ashift_nxt),
1722 .dout (efu_l2d2_fuse_ashift),
1723 .l1clk (l1clk),
1724 .siclk(siclk),
1725 .soclk(soclk)
1726 );
1727
1728
1729efu_l2t_ctl_msff_ctl_macro__width_1 l2d2_fuse_dshift_reg
1730 (
1731 .scan_in(l2d2_fuse_dshift_reg_scanin),
1732 .scan_out(l2d2_fuse_dshift_reg_scanout),
1733 .din (l2d2_fuse_dec && local_fuse_dshift_nxt),
1734 .dout (efu_l2d2_fuse_dshift),
1735 .l1clk (l1clk),
1736 .siclk(siclk),
1737 .soclk(soclk)
1738 );
1739
1740assign efu_l2b2_fuse_xfer_en = efu_l2d2_fuse_ashift | efu_l2d2_fuse_dshift;
1741
1742efu_l2t_ctl_msff_ctl_macro__width_1 l2d3_fuse_ashift_reg
1743 (
1744 .scan_in(l2d3_fuse_ashift_reg_scanin),
1745 .scan_out(l2d3_fuse_ashift_reg_scanout),
1746 .din (l2d3_fuse_dec && local_fuse_ashift_nxt),
1747 .dout (efu_l2d3_fuse_ashift),
1748 .l1clk (l1clk),
1749 .siclk(siclk),
1750 .soclk(soclk)
1751 );
1752efu_l2t_ctl_msff_ctl_macro__width_1 l2d3_fuse_dshift_reg
1753 (
1754 .scan_in(l2d3_fuse_dshift_reg_scanin),
1755 .scan_out(l2d3_fuse_dshift_reg_scanout),
1756 .din (l2d3_fuse_dec && local_fuse_dshift_nxt),
1757 .dout (efu_l2d3_fuse_dshift),
1758 .l1clk (l1clk),
1759 .siclk(siclk),
1760 .soclk(soclk)
1761 );
1762
1763assign efu_l2b3_fuse_xfer_en = efu_l2d3_fuse_dshift | efu_l2d3_fuse_ashift;
1764
1765
1766efu_l2t_ctl_msff_ctl_macro__width_1 l2d4_fuse_ashift_reg
1767 (
1768 .scan_in(l2d4_fuse_ashift_reg_scanin),
1769 .scan_out(l2d4_fuse_ashift_reg_scanout),
1770 .din (l2d4_fuse_dec && local_fuse_ashift_nxt),
1771 .dout (efu_l2d4_fuse_ashift),
1772 .l1clk (l1clk),
1773 .siclk(siclk),
1774 .soclk(soclk)
1775 );
1776efu_l2t_ctl_msff_ctl_macro__width_1 l2d4_fuse_dshift_reg
1777 (
1778 .scan_in(l2d4_fuse_dshift_reg_scanin),
1779 .scan_out(l2d4_fuse_dshift_reg_scanout),
1780 .din (l2d4_fuse_dec && local_fuse_dshift_nxt),
1781 .dout (efu_l2d4_fuse_dshift),
1782 .l1clk (l1clk),
1783 .siclk(siclk),
1784 .soclk(soclk)
1785 );
1786
1787assign efu_l2b4_fuse_xfer_en = efu_l2d4_fuse_dshift | efu_l2d4_fuse_ashift;
1788
1789efu_l2t_ctl_msff_ctl_macro__width_1 l2d5_fuse_ashift_reg
1790 (
1791 .scan_in(l2d5_fuse_ashift_reg_scanin),
1792 .scan_out(l2d5_fuse_ashift_reg_scanout),
1793 .din (l2d5_fuse_dec && local_fuse_ashift_nxt),
1794 .dout (efu_l2d5_fuse_ashift),
1795 .l1clk (l1clk),
1796 .siclk(siclk),
1797 .soclk(soclk)
1798 );
1799
1800efu_l2t_ctl_msff_ctl_macro__width_1 l2d5_fuse_dshift_reg
1801 (
1802 .scan_in(l2d5_fuse_dshift_reg_scanin),
1803 .scan_out(l2d5_fuse_dshift_reg_scanout),
1804 .din (l2d5_fuse_dec && local_fuse_dshift_nxt),
1805 .dout (efu_l2d5_fuse_dshift),
1806 .l1clk (l1clk),
1807 .siclk(siclk),
1808 .soclk(soclk)
1809 );
1810
1811assign efu_l2b5_fuse_xfer_en = efu_l2d5_fuse_dshift | efu_l2d5_fuse_ashift;
1812
1813
1814efu_l2t_ctl_msff_ctl_macro__width_1 l2d6_fuse_ashift_reg
1815 (
1816 .scan_in(l2d6_fuse_ashift_reg_scanin),
1817 .scan_out(l2d6_fuse_ashift_reg_scanout),
1818 .din (l2d6_fuse_dec && local_fuse_ashift_nxt),
1819 .dout (efu_l2d6_fuse_ashift),
1820 .l1clk (l1clk),
1821 .siclk(siclk),
1822 .soclk(soclk)
1823 );
1824efu_l2t_ctl_msff_ctl_macro__width_1 l2d6_fuse_dshift_reg
1825 (
1826 .scan_in(l2d6_fuse_dshift_reg_scanin),
1827 .scan_out(l2d6_fuse_dshift_reg_scanout),
1828 .din (l2d6_fuse_dec && local_fuse_dshift_nxt),
1829 .dout (efu_l2d6_fuse_dshift),
1830 .l1clk (l1clk),
1831 .siclk(siclk),
1832 .soclk(soclk)
1833 );
1834
1835assign efu_l2b6_fuse_xfer_en = efu_l2d6_fuse_dshift | efu_l2d6_fuse_ashift;
1836
1837efu_l2t_ctl_msff_ctl_macro__width_1 l2d7_fuse_ashift_reg
1838 (
1839 .scan_in(l2d7_fuse_ashift_reg_scanin),
1840 .scan_out(l2d7_fuse_ashift_reg_scanout),
1841 .din (l2d7_fuse_dec && local_fuse_ashift_nxt),
1842 .dout (efu_l2d7_fuse_ashift),
1843 .l1clk (l1clk),
1844 .siclk(siclk),
1845 .soclk(soclk)
1846 );
1847efu_l2t_ctl_msff_ctl_macro__width_1 l2d7_fuse_dshift_reg
1848 (
1849 .scan_in(l2d7_fuse_dshift_reg_scanin),
1850 .scan_out(l2d7_fuse_dshift_reg_scanout),
1851 .din (l2d7_fuse_dec && local_fuse_dshift_nxt),
1852 .dout (efu_l2d7_fuse_dshift),
1853 .l1clk (l1clk),
1854 .siclk(siclk),
1855 .soclk(soclk)
1856 );
1857
1858assign efu_l2b7_fuse_xfer_en = efu_l2d7_fuse_dshift | efu_l2d7_fuse_ashift;
1859
1860//###
1861efu_l2t_ctl_msff_ctl_macro__width_1 cmp_read_data_ff_vld_0_reg
1862 (
1863 .scan_in(cmp_read_data_ff_vld_0_reg_scanin),
1864 .scan_out(cmp_read_data_ff_vld_0_reg_scanout),
1865 .din (read_data_ff_vld),
1866 .dout (cmp_read_data_ff_vld_0),
1867 .l1clk (l1clk),
1868 .siclk(siclk),
1869 .soclk(soclk)
1870 );
1871//###
1872efu_l2t_ctl_msff_ctl_macro__width_1 cmp_read_data_ff_vld_1_reg
1873 (
1874 .scan_in(cmp_read_data_ff_vld_1_reg_scanin),
1875 .scan_out(cmp_read_data_ff_vld_1_reg_scanout),
1876 .din (cmp_read_data_ff_vld_0),
1877 .dout (cmp_read_data_ff_vld_1),
1878 .l1clk (l1clk),
1879 .siclk(siclk),
1880 .soclk(soclk)
1881 );
1882assign cmp_read_data_ff_vld = cmp_read_data_ff_vld_0 & ~cmp_read_data_ff_vld_1 ;
1883
1884efu_l2t_ctl_spare_ctl_macro__num_2 spares (
1885 .scan_in(spares_scanin),
1886 .scan_out(spares_scanout),
1887 .l1clk (l1clk),
1888 .siclk(siclk),
1889 .soclk(soclk)
1890);
1891
1892//msff_ctl_macro read_data_ff_vld_reg (width=1)
1893// (
1894// .scan_in(read_data_ff_vld_scanin),
1895// .scan_out(read_data_ff_vld_scanout),
1896// .din (read_data_ff_vld),
1897// .dout (cmp_read_data_ff_vld1),
1898// .l1clk (l1clk),
1899// );
1900
1901//msff_ctl_macro cmp_read_data_ff_vld_reg (width=1)
1902// (
1903// .scan_in(cmp_read_data_ff_vld_scanin),
1904// .scan_out(cmp_read_data_ff_vld_scanout),
1905// .din (cmp_read_data_ff_vld1),
1906// .dout (cmp_read_data_ff_vld),
1907// .l1clk (l1clk),
1908// );
1909// fixscan start:
1910assign ff_read_data_in_scanin = scan_in ;
1911assign ff_xfer_out_r2_scanin = ff_read_data_in_scanout ;
1912assign ff_xfer_out_r1_scanin = ff_xfer_out_r2_scanout ;
1913assign ff_cmp_read_data_ff_vld_scanin = ff_xfer_out_r1_scanout ;
1914assign ff_read_data_ff_sync_scanin = ff_cmp_read_data_ff_vld_scanout;
1915assign ff_shhift_data_ff_sync_scanin = ff_read_data_ff_sync_scanout;
1916assign mrd_cnt_reg_scanin = ff_shhift_data_ff_sync_scanout;
1917assign local_fuse_ashift_ff_scanin = mrd_cnt_reg_scanout ;
1918assign data_vld_datareg_scanin = local_fuse_ashift_ff_scanout;
1919assign ff_cmp_io_sync_en_scanin = data_vld_datareg_scanout;
1920assign ff_l2b_xfer_en_scanin = ff_cmp_io_sync_en_scanout;
1921assign ff_l2t_xfer_en_scanin = ff_l2b_xfer_en_scanout;
1922assign ff_spc_dxfer_en_scanin = ff_l2t_xfer_en_scanout;
1923assign ff_spc_ixfer_en_scanin = ff_spc_dxfer_en_scanout;
1924assign ff_spc_idata_scanin = ff_spc_ixfer_en_scanout;
1925assign ff_spc_ddata_scanin = ff_spc_idata_scanout;
1926assign ff_l2t_data_scanin = ff_spc_ddata_scanout;
1927assign ff_l2b_data_scanin = ff_l2t_data_scanout;
1928assign spc0_ifuse_ashift_reg_scanin = ff_l2b_data_scanout ;
1929assign spc0_ifuse_dshift_reg_scanin = spc0_ifuse_ashift_reg_scanout;
1930assign spc0_dfuse_ashift_reg_scanin = spc0_ifuse_dshift_reg_scanout;
1931assign spc0_dfuse_dshift_reg_scanin = spc0_dfuse_ashift_reg_scanout;
1932assign spc1_ifuse_ashift_reg_scanin = spc0_dfuse_dshift_reg_scanout;
1933assign spc1_ifuse_dshift_reg_scanin = spc1_ifuse_ashift_reg_scanout;
1934assign spc1_dfuse_ashift_reg_scanin = spc1_ifuse_dshift_reg_scanout;
1935assign spc1_dfuse_dshift_reg_scanin = spc1_dfuse_ashift_reg_scanout;
1936assign spc2_ifuse_ashift_reg_scanin = spc1_dfuse_dshift_reg_scanout;
1937assign spc2_ifuse_dshift_reg_scanin = spc2_ifuse_ashift_reg_scanout;
1938assign spc2_dfuse_ashift_reg_scanin = spc2_ifuse_dshift_reg_scanout;
1939assign spc2_dfuse_dshift_reg_scanin = spc2_dfuse_ashift_reg_scanout;
1940assign spc3_ifuse_ashift_reg_scanin = spc2_dfuse_dshift_reg_scanout;
1941assign spc3_ifuse_dshift_reg_scanin = spc3_ifuse_ashift_reg_scanout;
1942assign spc3_dfuse_ashift_reg_scanin = spc3_ifuse_dshift_reg_scanout;
1943assign spc3_dfuse_dshift_reg_scanin = spc3_dfuse_ashift_reg_scanout;
1944assign spc4_ifuse_ashift_reg_scanin = spc3_dfuse_dshift_reg_scanout;
1945assign spc4_ifuse_dshift_reg_scanin = spc4_ifuse_ashift_reg_scanout;
1946assign spc4_dfuse_ashift_reg_scanin = spc4_ifuse_dshift_reg_scanout;
1947assign spc4_dfuse_dshift_reg_scanin = spc4_dfuse_ashift_reg_scanout;
1948assign spc5_ifuse_ashift_reg_scanin = spc4_dfuse_dshift_reg_scanout;
1949assign spc5_ifuse_dshift_reg_scanin = spc5_ifuse_ashift_reg_scanout;
1950assign spc5_dfuse_ashift_reg_scanin = spc5_ifuse_dshift_reg_scanout;
1951assign spc5_dfuse_dshift_reg_scanin = spc5_dfuse_ashift_reg_scanout;
1952assign spc6_ifuse_ashift_reg_scanin = spc5_dfuse_dshift_reg_scanout;
1953assign spc6_ifuse_dshift_reg_scanin = spc6_ifuse_ashift_reg_scanout;
1954assign spc6_dfuse_ashift_reg_scanin = spc6_ifuse_dshift_reg_scanout;
1955assign spc6_dfuse_dshift_reg_scanin = spc6_dfuse_ashift_reg_scanout;
1956assign spc7_ifuse_ashift_reg_scanin = spc6_dfuse_dshift_reg_scanout;
1957assign spc7_ifuse_dshift_reg_scanin = spc7_ifuse_ashift_reg_scanout;
1958assign spc7_dfuse_ashift_reg_scanin = spc7_ifuse_dshift_reg_scanout;
1959assign spc7_dfuse_dshift_reg_scanin = spc7_dfuse_ashift_reg_scanout;
1960assign l2t0_fuse_ashift_reg_scanin = spc7_dfuse_dshift_reg_scanout;
1961assign l2t0_fuse_dshift_reg_scanin = l2t0_fuse_ashift_reg_scanout;
1962assign l2t1_fuse_ashift_reg_scanin = l2t0_fuse_dshift_reg_scanout;
1963assign l2t1_fuse_dshift_reg_scanin = l2t1_fuse_ashift_reg_scanout;
1964assign l2t2_fuse_ashift_reg_scanin = l2t1_fuse_dshift_reg_scanout;
1965assign l2t2_fuse_dshift_reg_scanin = l2t2_fuse_ashift_reg_scanout;
1966assign l2t3_fuse_ashift_reg_scanin = l2t2_fuse_dshift_reg_scanout;
1967assign l2t3_fuse_dshift_reg_scanin = l2t3_fuse_ashift_reg_scanout;
1968assign l2t4_fuse_ashift_reg_scanin = l2t3_fuse_dshift_reg_scanout;
1969assign l2t4_fuse_dshift_reg_scanin = l2t4_fuse_ashift_reg_scanout;
1970assign l2t5_fuse_ashift_reg_scanin = l2t4_fuse_dshift_reg_scanout;
1971assign l2t5_fuse_dshift_reg_scanin = l2t5_fuse_ashift_reg_scanout;
1972assign l2t6_fuse_ashift_reg_scanin = l2t5_fuse_dshift_reg_scanout;
1973assign l2t6_fuse_dshift_reg_scanin = l2t6_fuse_ashift_reg_scanout;
1974assign l2t7_fuse_ashift_reg_scanin = l2t6_fuse_dshift_reg_scanout;
1975assign l2t7_fuse_dshift_reg_scanin = l2t7_fuse_ashift_reg_scanout;
1976assign l2d0_fuse_ashift_reg_scanin = l2t7_fuse_dshift_reg_scanout;
1977assign l2d0_fuse_dshift_reg_scanin = l2d0_fuse_ashift_reg_scanout;
1978assign l2d1_fuse_ashift_reg_scanin = l2d0_fuse_dshift_reg_scanout;
1979assign l2d1_fuse_dshift_reg_scanin = l2d1_fuse_ashift_reg_scanout;
1980assign l2d2_fuse_ashift_reg_scanin = l2d1_fuse_dshift_reg_scanout;
1981assign l2d2_fuse_dshift_reg_scanin = l2d2_fuse_ashift_reg_scanout;
1982assign l2d3_fuse_ashift_reg_scanin = l2d2_fuse_dshift_reg_scanout;
1983assign l2d3_fuse_dshift_reg_scanin = l2d3_fuse_ashift_reg_scanout;
1984assign l2d4_fuse_ashift_reg_scanin = l2d3_fuse_dshift_reg_scanout;
1985assign l2d4_fuse_dshift_reg_scanin = l2d4_fuse_ashift_reg_scanout;
1986assign l2d5_fuse_ashift_reg_scanin = l2d4_fuse_dshift_reg_scanout;
1987assign l2d5_fuse_dshift_reg_scanin = l2d5_fuse_ashift_reg_scanout;
1988assign l2d6_fuse_ashift_reg_scanin = l2d5_fuse_dshift_reg_scanout;
1989assign l2d6_fuse_dshift_reg_scanin = l2d6_fuse_ashift_reg_scanout;
1990assign l2d7_fuse_ashift_reg_scanin = l2d6_fuse_dshift_reg_scanout;
1991assign l2d7_fuse_dshift_reg_scanin = l2d7_fuse_ashift_reg_scanout;
1992assign cmp_read_data_ff_vld_0_reg_scanin = l2d7_fuse_dshift_reg_scanout;
1993assign cmp_read_data_ff_vld_1_reg_scanin = cmp_read_data_ff_vld_0_reg_scanout;
1994assign spares_scanin = cmp_read_data_ff_vld_1_reg_scanout;
1995assign scan_out = spares_scanout;
1996// fixscan end:
1997endmodule
1998
1999
2000
2001
2002
2003
2004// any PARAMS parms go into naming of macro
2005
2006module efu_l2t_ctl_l1clkhdr_ctl_macro (
2007 l2clk,
2008 l1en,
2009 pce_ov,
2010 stop,
2011 se,
2012 l1clk);
2013
2014
2015 input l2clk;
2016 input l1en;
2017 input pce_ov;
2018 input stop;
2019 input se;
2020 output l1clk;
2021
2022
2023
2024
2025
2026cl_sc1_l1hdr_8x c_0 (
2027
2028
2029 .l2clk(l2clk),
2030 .pce(l1en),
2031 .l1clk(l1clk),
2032 .se(se),
2033 .pce_ov(pce_ov),
2034 .stop(stop)
2035);
2036
2037
2038
2039endmodule
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053// any PARAMS parms go into naming of macro
2054
2055module efu_l2t_ctl_msff_ctl_macro__width_1 (
2056 din,
2057 l1clk,
2058 scan_in,
2059 siclk,
2060 soclk,
2061 dout,
2062 scan_out);
2063wire [0:0] fdin;
2064
2065 input [0:0] din;
2066 input l1clk;
2067 input scan_in;
2068
2069
2070 input siclk;
2071 input soclk;
2072
2073 output [0:0] dout;
2074 output scan_out;
2075assign fdin[0:0] = din[0:0];
2076
2077
2078
2079
2080
2081
2082dff #(1) d0_0 (
2083.l1clk(l1clk),
2084.siclk(siclk),
2085.soclk(soclk),
2086.d(fdin[0:0]),
2087.si(scan_in),
2088.so(scan_out),
2089.q(dout[0:0])
2090);
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103endmodule
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117// any PARAMS parms go into naming of macro
2118
2119module efu_l2t_ctl_msff_ctl_macro__en_1__width_8 (
2120 din,
2121 en,
2122 l1clk,
2123 scan_in,
2124 siclk,
2125 soclk,
2126 dout,
2127 scan_out);
2128wire [7:0] fdin;
2129wire [6:0] so;
2130
2131 input [7:0] din;
2132 input en;
2133 input l1clk;
2134 input scan_in;
2135
2136
2137 input siclk;
2138 input soclk;
2139
2140 output [7:0] dout;
2141 output scan_out;
2142assign fdin[7:0] = (din[7:0] & {8{en}}) | (dout[7:0] & ~{8{en}});
2143
2144
2145
2146
2147
2148
2149dff #(8) d0_0 (
2150.l1clk(l1clk),
2151.siclk(siclk),
2152.soclk(soclk),
2153.d(fdin[7:0]),
2154.si({scan_in,so[6:0]}),
2155.so({so[6:0],scan_out}),
2156.q(dout[7:0])
2157);
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170endmodule
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184// any PARAMS parms go into naming of macro
2185
2186module efu_l2t_ctl_msff_ctl_macro__en_1__width_32 (
2187 din,
2188 en,
2189 l1clk,
2190 scan_in,
2191 siclk,
2192 soclk,
2193 dout,
2194 scan_out);
2195wire [31:0] fdin;
2196wire [30:0] so;
2197
2198 input [31:0] din;
2199 input en;
2200 input l1clk;
2201 input scan_in;
2202
2203
2204 input siclk;
2205 input soclk;
2206
2207 output [31:0] dout;
2208 output scan_out;
2209assign fdin[31:0] = (din[31:0] & {32{en}}) | (dout[31:0] & ~{32{en}});
2210
2211
2212
2213
2214
2215
2216dff #(32) d0_0 (
2217.l1clk(l1clk),
2218.siclk(siclk),
2219.soclk(soclk),
2220.d(fdin[31:0]),
2221.si({scan_in,so[30:0]}),
2222.so({so[30:0],scan_out}),
2223.q(dout[31:0])
2224);
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237endmodule
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251// any PARAMS parms go into naming of macro
2252
2253module efu_l2t_ctl_msff_ctl_macro__width_32 (
2254 din,
2255 l1clk,
2256 scan_in,
2257 siclk,
2258 soclk,
2259 dout,
2260 scan_out);
2261wire [31:0] fdin;
2262wire [30:0] so;
2263
2264 input [31:0] din;
2265 input l1clk;
2266 input scan_in;
2267
2268
2269 input siclk;
2270 input soclk;
2271
2272 output [31:0] dout;
2273 output scan_out;
2274assign fdin[31:0] = din[31:0];
2275
2276
2277
2278
2279
2280
2281dff #(32) d0_0 (
2282.l1clk(l1clk),
2283.siclk(siclk),
2284.soclk(soclk),
2285.d(fdin[31:0]),
2286.si({scan_in,so[30:0]}),
2287.so({so[30:0],scan_out}),
2288.q(dout[31:0])
2289);
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302endmodule
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316// any PARAMS parms go into naming of macro
2317
2318module efu_l2t_ctl_msff_ctl_macro__width_9 (
2319 din,
2320 l1clk,
2321 scan_in,
2322 siclk,
2323 soclk,
2324 dout,
2325 scan_out);
2326wire [8:0] fdin;
2327wire [7:0] so;
2328
2329 input [8:0] din;
2330 input l1clk;
2331 input scan_in;
2332
2333
2334 input siclk;
2335 input soclk;
2336
2337 output [8:0] dout;
2338 output scan_out;
2339assign fdin[8:0] = din[8:0];
2340
2341
2342
2343
2344
2345
2346dff #(9) d0_0 (
2347.l1clk(l1clk),
2348.siclk(siclk),
2349.soclk(soclk),
2350.d(fdin[8:0]),
2351.si({scan_in,so[7:0]}),
2352.so({so[7:0],scan_out}),
2353.q(dout[8:0])
2354);
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367endmodule
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377// Description: Spare gate macro for control blocks
2378//
2379// Param num controls the number of times the macro is added
2380// flops=0 can be used to use only combination spare logic
2381
2382
2383module efu_l2t_ctl_spare_ctl_macro__num_2 (
2384 l1clk,
2385 scan_in,
2386 siclk,
2387 soclk,
2388 scan_out);
2389wire si_0;
2390wire so_0;
2391wire spare0_flop_unused;
2392wire spare0_buf_32x_unused;
2393wire spare0_nand3_8x_unused;
2394wire spare0_inv_8x_unused;
2395wire spare0_aoi22_4x_unused;
2396wire spare0_buf_8x_unused;
2397wire spare0_oai22_4x_unused;
2398wire spare0_inv_16x_unused;
2399wire spare0_nand2_16x_unused;
2400wire spare0_nor3_4x_unused;
2401wire spare0_nand2_8x_unused;
2402wire spare0_buf_16x_unused;
2403wire spare0_nor2_16x_unused;
2404wire spare0_inv_32x_unused;
2405wire si_1;
2406wire so_1;
2407wire spare1_flop_unused;
2408wire spare1_buf_32x_unused;
2409wire spare1_nand3_8x_unused;
2410wire spare1_inv_8x_unused;
2411wire spare1_aoi22_4x_unused;
2412wire spare1_buf_8x_unused;
2413wire spare1_oai22_4x_unused;
2414wire spare1_inv_16x_unused;
2415wire spare1_nand2_16x_unused;
2416wire spare1_nor3_4x_unused;
2417wire spare1_nand2_8x_unused;
2418wire spare1_buf_16x_unused;
2419wire spare1_nor2_16x_unused;
2420wire spare1_inv_32x_unused;
2421
2422
2423input l1clk;
2424input scan_in;
2425input siclk;
2426input soclk;
2427output scan_out;
2428
2429cl_sc1_msff_8x spare0_flop (.l1clk(l1clk),
2430 .siclk(siclk),
2431 .soclk(soclk),
2432 .si(si_0),
2433 .so(so_0),
2434 .d(1'b0),
2435 .q(spare0_flop_unused));
2436assign si_0 = scan_in;
2437
2438cl_u1_buf_32x spare0_buf_32x (.in(1'b1),
2439 .out(spare0_buf_32x_unused));
2440cl_u1_nand3_8x spare0_nand3_8x (.in0(1'b1),
2441 .in1(1'b1),
2442 .in2(1'b1),
2443 .out(spare0_nand3_8x_unused));
2444cl_u1_inv_8x spare0_inv_8x (.in(1'b1),
2445 .out(spare0_inv_8x_unused));
2446cl_u1_aoi22_4x spare0_aoi22_4x (.in00(1'b1),
2447 .in01(1'b1),
2448 .in10(1'b1),
2449 .in11(1'b1),
2450 .out(spare0_aoi22_4x_unused));
2451cl_u1_buf_8x spare0_buf_8x (.in(1'b1),
2452 .out(spare0_buf_8x_unused));
2453cl_u1_oai22_4x spare0_oai22_4x (.in00(1'b1),
2454 .in01(1'b1),
2455 .in10(1'b1),
2456 .in11(1'b1),
2457 .out(spare0_oai22_4x_unused));
2458cl_u1_inv_16x spare0_inv_16x (.in(1'b1),
2459 .out(spare0_inv_16x_unused));
2460cl_u1_nand2_16x spare0_nand2_16x (.in0(1'b1),
2461 .in1(1'b1),
2462 .out(spare0_nand2_16x_unused));
2463cl_u1_nor3_4x spare0_nor3_4x (.in0(1'b0),
2464 .in1(1'b0),
2465 .in2(1'b0),
2466 .out(spare0_nor3_4x_unused));
2467cl_u1_nand2_8x spare0_nand2_8x (.in0(1'b1),
2468 .in1(1'b1),
2469 .out(spare0_nand2_8x_unused));
2470cl_u1_buf_16x spare0_buf_16x (.in(1'b1),
2471 .out(spare0_buf_16x_unused));
2472cl_u1_nor2_16x spare0_nor2_16x (.in0(1'b0),
2473 .in1(1'b0),
2474 .out(spare0_nor2_16x_unused));
2475cl_u1_inv_32x spare0_inv_32x (.in(1'b1),
2476 .out(spare0_inv_32x_unused));
2477
2478cl_sc1_msff_8x spare1_flop (.l1clk(l1clk),
2479 .siclk(siclk),
2480 .soclk(soclk),
2481 .si(si_1),
2482 .so(so_1),
2483 .d(1'b0),
2484 .q(spare1_flop_unused));
2485assign si_1 = so_0;
2486
2487cl_u1_buf_32x spare1_buf_32x (.in(1'b1),
2488 .out(spare1_buf_32x_unused));
2489cl_u1_nand3_8x spare1_nand3_8x (.in0(1'b1),
2490 .in1(1'b1),
2491 .in2(1'b1),
2492 .out(spare1_nand3_8x_unused));
2493cl_u1_inv_8x spare1_inv_8x (.in(1'b1),
2494 .out(spare1_inv_8x_unused));
2495cl_u1_aoi22_4x spare1_aoi22_4x (.in00(1'b1),
2496 .in01(1'b1),
2497 .in10(1'b1),
2498 .in11(1'b1),
2499 .out(spare1_aoi22_4x_unused));
2500cl_u1_buf_8x spare1_buf_8x (.in(1'b1),
2501 .out(spare1_buf_8x_unused));
2502cl_u1_oai22_4x spare1_oai22_4x (.in00(1'b1),
2503 .in01(1'b1),
2504 .in10(1'b1),
2505 .in11(1'b1),
2506 .out(spare1_oai22_4x_unused));
2507cl_u1_inv_16x spare1_inv_16x (.in(1'b1),
2508 .out(spare1_inv_16x_unused));
2509cl_u1_nand2_16x spare1_nand2_16x (.in0(1'b1),
2510 .in1(1'b1),
2511 .out(spare1_nand2_16x_unused));
2512cl_u1_nor3_4x spare1_nor3_4x (.in0(1'b0),
2513 .in1(1'b0),
2514 .in2(1'b0),
2515 .out(spare1_nor3_4x_unused));
2516cl_u1_nand2_8x spare1_nand2_8x (.in0(1'b1),
2517 .in1(1'b1),
2518 .out(spare1_nand2_8x_unused));
2519cl_u1_buf_16x spare1_buf_16x (.in(1'b1),
2520 .out(spare1_buf_16x_unused));
2521cl_u1_nor2_16x spare1_nor2_16x (.in0(1'b0),
2522 .in1(1'b0),
2523 .out(spare1_nor2_16x_unused));
2524cl_u1_inv_32x spare1_inv_32x (.in(1'b1),
2525 .out(spare1_inv_32x_unused));
2526assign scan_out = so_1;
2527
2528
2529
2530endmodule
2531