Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / efu / rtl / efu.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: efu.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 (
36 io_vpp,
37 ccu_io_out,
38 gclk,
39 tcu_atpg_mode,
40 tcu_array_wr_inhibit,
41 cluster_arst_l,
42 scan_in,
43 tcu_scan_en,
44 tcu_aclk,
45 tcu_bclk,
46 tcu_pce_ov,
47 tcu_clk_stop,
48 tcu_efu_clk_stop,
49 rst_wmr_,
50 rst_por_,
51 rst_wmr_protect,
52 io_cmp_clk_sync_en,
53 cmp_io_clk_sync_en,
54 scan_out,
55 tcu_efu_rowaddr,
56 tcu_efu_coladdr,
57 io_pgrm_en,
58 tcu_efu_read_en,
59 tcu_efu_read_mode,
60 tcu_efu_read_start,
61 tcu_efu_fuse_bypass,
62 tcu_efu_dest_sample,
63 tcu_red_reg_clr,
64 tcu_div_bypass,
65 tcu_dbr_gateoff,
66 tcu_efu_data_in,
67 efu_tcu_data_out,
68 tcu_efu_updatedr,
69 tcu_efu_shiftdr,
70 tcu_efu_capturedr,
71 tck,
72 efu_spc1357_fuse_data,
73 efu_spc0246_fuse_data,
74 efu_spc0_fuse_ixfer_en,
75 efu_spc1_fuse_ixfer_en,
76 efu_spc2_fuse_ixfer_en,
77 efu_spc3_fuse_ixfer_en,
78 efu_spc4_fuse_ixfer_en,
79 efu_spc5_fuse_ixfer_en,
80 efu_spc6_fuse_ixfer_en,
81 efu_spc7_fuse_ixfer_en,
82 efu_spc0_fuse_iclr,
83 efu_spc1_fuse_iclr,
84 efu_spc2_fuse_iclr,
85 efu_spc3_fuse_iclr,
86 efu_spc4_fuse_iclr,
87 efu_spc5_fuse_iclr,
88 efu_spc6_fuse_iclr,
89 efu_spc7_fuse_iclr,
90 efu_spc0_fuse_dxfer_en,
91 efu_spc1_fuse_dxfer_en,
92 efu_spc2_fuse_dxfer_en,
93 efu_spc3_fuse_dxfer_en,
94 efu_spc4_fuse_dxfer_en,
95 efu_spc5_fuse_dxfer_en,
96 efu_spc6_fuse_dxfer_en,
97 efu_spc7_fuse_dxfer_en,
98 efu_spc0_fuse_dclr,
99 efu_spc1_fuse_dclr,
100 efu_spc2_fuse_dclr,
101 efu_spc3_fuse_dclr,
102 efu_spc4_fuse_dclr,
103 efu_spc5_fuse_dclr,
104 efu_spc6_fuse_dclr,
105 efu_spc7_fuse_dclr,
106 spc0_efu_fuse_dxfer_en,
107 spc1_efu_fuse_dxfer_en,
108 spc2_efu_fuse_dxfer_en,
109 spc3_efu_fuse_dxfer_en,
110 spc4_efu_fuse_dxfer_en,
111 spc5_efu_fuse_dxfer_en,
112 spc6_efu_fuse_dxfer_en,
113 spc7_efu_fuse_dxfer_en,
114 spc0_efu_fuse_ixfer_en,
115 spc1_efu_fuse_ixfer_en,
116 spc2_efu_fuse_ixfer_en,
117 spc3_efu_fuse_ixfer_en,
118 spc4_efu_fuse_ixfer_en,
119 spc5_efu_fuse_ixfer_en,
120 spc6_efu_fuse_ixfer_en,
121 spc7_efu_fuse_ixfer_en,
122 spc0_efu_fuse_ddata,
123 spc1_efu_fuse_ddata,
124 spc2_efu_fuse_ddata,
125 spc3_efu_fuse_ddata,
126 spc4_efu_fuse_ddata,
127 spc5_efu_fuse_ddata,
128 spc6_efu_fuse_ddata,
129 spc7_efu_fuse_ddata,
130 spc0_efu_fuse_idata,
131 spc1_efu_fuse_idata,
132 spc2_efu_fuse_idata,
133 spc3_efu_fuse_idata,
134 spc4_efu_fuse_idata,
135 spc5_efu_fuse_idata,
136 spc6_efu_fuse_idata,
137 spc7_efu_fuse_idata,
138 efu_l2t0246_fuse_data,
139 efu_l2t1357_fuse_data,
140 efu_l2t0_fuse_xfer_en,
141 efu_l2t1_fuse_xfer_en,
142 efu_l2t2_fuse_xfer_en,
143 efu_l2t3_fuse_xfer_en,
144 efu_l2t4_fuse_xfer_en,
145 efu_l2t5_fuse_xfer_en,
146 efu_l2t6_fuse_xfer_en,
147 efu_l2t7_fuse_xfer_en,
148 efu_l2t0_fuse_clr,
149 efu_l2t1_fuse_clr,
150 efu_l2t2_fuse_clr,
151 efu_l2t3_fuse_clr,
152 efu_l2t4_fuse_clr,
153 efu_l2t5_fuse_clr,
154 efu_l2t6_fuse_clr,
155 efu_l2t7_fuse_clr,
156 l2t0_efu_fuse_xfer_en,
157 l2t1_efu_fuse_xfer_en,
158 l2t2_efu_fuse_xfer_en,
159 l2t3_efu_fuse_xfer_en,
160 l2t4_efu_fuse_xfer_en,
161 l2t5_efu_fuse_xfer_en,
162 l2t6_efu_fuse_xfer_en,
163 l2t7_efu_fuse_xfer_en,
164 l2t0_efu_fuse_data,
165 l2t1_efu_fuse_data,
166 l2t2_efu_fuse_data,
167 l2t3_efu_fuse_data,
168 l2t4_efu_fuse_data,
169 l2t5_efu_fuse_data,
170 l2t6_efu_fuse_data,
171 l2t7_efu_fuse_data,
172 efu_l2b0246_fuse_data,
173 efu_l2b1357_fuse_data,
174 efu_l2b0_fuse_xfer_en,
175 efu_l2b1_fuse_xfer_en,
176 efu_l2b2_fuse_xfer_en,
177 efu_l2b3_fuse_xfer_en,
178 efu_l2b4_fuse_xfer_en,
179 efu_l2b5_fuse_xfer_en,
180 efu_l2b6_fuse_xfer_en,
181 efu_l2b7_fuse_xfer_en,
182 efu_l2b0_fuse_clr,
183 efu_l2b1_fuse_clr,
184 efu_l2b2_fuse_clr,
185 efu_l2b3_fuse_clr,
186 efu_l2b4_fuse_clr,
187 efu_l2b5_fuse_clr,
188 efu_l2b6_fuse_clr,
189 efu_l2b7_fuse_clr,
190 l2b0_efu_fuse_xfer_en,
191 l2b1_efu_fuse_xfer_en,
192 l2b2_efu_fuse_xfer_en,
193 l2b3_efu_fuse_xfer_en,
194 l2b4_efu_fuse_xfer_en,
195 l2b5_efu_fuse_xfer_en,
196 l2b6_efu_fuse_xfer_en,
197 l2b7_efu_fuse_xfer_en,
198 l2b0_efu_fuse_data,
199 l2b1_efu_fuse_data,
200 l2b2_efu_fuse_data,
201 l2b3_efu_fuse_data,
202 l2b4_efu_fuse_data,
203 l2b5_efu_fuse_data,
204 l2b6_efu_fuse_data,
205 l2b7_efu_fuse_data,
206 efu_ncu_fuse_data,
207 efu_ncu_srlnum0_xfer_en,
208 efu_ncu_srlnum1_xfer_en,
209 efu_ncu_srlnum2_xfer_en,
210 efu_ncu_fusestat_xfer_en,
211 efu_ncu_coreavl_xfer_en,
212 efu_ncu_bankavl_xfer_en,
213 efu_niu_mac01_sfro_data,
214 efu_niu_mac1_sf_xfer_en,
215 efu_niu_mac1_ro_xfer_en,
216 efu_niu_mac0_sf_xfer_en,
217 efu_niu_mac0_ro_xfer_en,
218 efu_niu_ipp1_xfer_en,
219 efu_niu_ipp0_xfer_en,
220 efu_niu_mac1_sf_clr,
221 efu_niu_mac1_ro_clr,
222 efu_niu_mac0_sf_clr,
223 efu_niu_mac0_ro_clr,
224 efu_niu_ipp1_clr,
225 efu_niu_ipp0_clr,
226 niu_efu_mac1_sf_data,
227 niu_efu_mac1_ro_data,
228 niu_efu_mac0_sf_data,
229 niu_efu_mac0_ro_data,
230 niu_efu_ipp1_data,
231 niu_efu_ipp0_data,
232 niu_efu_mac1_sf_xfer_en,
233 niu_efu_mac1_ro_xfer_en,
234 niu_efu_mac0_sf_xfer_en,
235 niu_efu_mac0_ro_xfer_en,
236 niu_efu_ipp1_xfer_en,
237 niu_efu_ipp0_xfer_en,
238 efu_niu_cfifo_data,
239 efu_niu_cfifo0_xfer_en,
240 efu_niu_cfifo1_xfer_en,
241 efu_niu_cfifo0_clr,
242 efu_niu_cfifo1_clr,
243 niu_efu_cfifo0_data,
244 niu_efu_cfifo1_data,
245 niu_efu_cfifo0_xfer_en,
246 niu_efu_cfifo1_xfer_en,
247 efu_niu_ram_data,
248 efu_niu_ram_xfer_en,
249 efu_niu_ram0_xfer_en,
250 efu_niu_ram1_xfer_en,
251 efu_niu_ram_clr,
252 efu_niu_ram0_clr,
253 efu_niu_ram1_clr,
254 niu_efu_ram_xfer_en,
255 niu_efu_ram0_xfer_en,
256 niu_efu_ram1_xfer_en,
257 niu_efu_ram_data,
258 niu_efu_ram0_data,
259 niu_efu_ram1_data,
260 efu_niu_4k_data,
261 efu_niu_4k_xfer_en,
262 efu_niu_4k_clr,
263 niu_efu_4k_xfer_en,
264 niu_efu_4k_data,
265 efu_dmu_data,
266 efu_dmu_xfer_en,
267 efu_dmu_clr,
268 dmu_efu_xfer_en,
269 dmu_efu_data,
270 efu_mcu_fdi,
271 mcu_efu_fdo,
272 efu_mcu_fclk,
273 efu_mcu_fclrz,
274 efu_psr_fdi,
275 psr_efu_fdo,
276 efu_psr_fclk,
277 efu_psr_fclrz,
278 efu_niu_fdi,
279 niu_efu_fdo,
280 efu_niu_fclk,
281 efu_niu_fclrz);
282wire l2clk;
283wire l2t_clk_header_scanout;
284wire cmp_io_sync_en;
285wire io_cmp_sync_en;
286wire l2t_clk_header_scanin;
287wire iol2clk;
288wire io_aclk;
289wire io_bclk;
290wire efu_ioclk_header_scanout;
291wire io_ce_ovrd;
292wire io_wmr_l;
293wire io_por_l;
294wire efu_ioclk_header_scanin;
295wire por_n;
296wire read_data_ff_vld;
297wire u_efa_stdc_scanin;
298wire u_efa_stdc_scanout;
299wire update_dr_jbus;
300wire local_read_en;
301wire local_fuse_bypass;
302wire local_dest_sample;
303wire [31:0] niu_read_data_shift;
304wire niu_interface_scanin;
305wire niu_interface_scanout;
306wire core_l2tandl2d_scanin;
307wire core_l2tandl2d_scanout;
308wire wmr_protect;
309wire wmr_;
310wire por_;
311wire [31:0] shift_data_ff_out;
312wire load_l2_read_data;
313wire cmp_mrd_cnt_done;
314wire decode_enable_vld;
315wire load_niu_read_data;
316
317
318//----
319// Chip Primary Inputs/Globals
320input io_vpp; // Programming Voltage
321//input vddo; // 1.5V I/O voltage supply for
322 // pgrm_en receiver
323//input iol2clk; // io clock
324input ccu_io_out; // phase signal from ccu (div/4 or div/2)
325input gclk; // l2 clock
326input tcu_atpg_mode;
327input tcu_array_wr_inhibit;
328input cluster_arst_l;
329
330//input global_shift_enable; // Scan shift enable signal.
331input scan_in; // Scan chain input.
332input tcu_scan_en; // Scan chain input.
333input tcu_aclk; // Scan chain input.
334input tcu_bclk; // Scan chain input.
335input tcu_pce_ov; // Scan chain input.
336input tcu_clk_stop; // IOCLK_clk_stop
337input tcu_efu_clk_stop; // CMP_clk_stop
338input rst_wmr_;
339input rst_por_;
340input rst_wmr_protect;
341input io_cmp_clk_sync_en;
342input cmp_io_clk_sync_en;
343output scan_out; // Scan chain output.
344
345// CTU/JTAG R/W Interface
346
347input [6:0] tcu_efu_rowaddr; // Efuse row addr for read/write
348input [4:0] tcu_efu_coladdr; // efuse col addr for write
349input io_pgrm_en; // From pad_misc of pad_misc.v
350input tcu_efu_read_en; // Read Enable
351input [2:0] tcu_efu_read_mode; // 00=normal, 01=margin0, 10=1A, 11=1B
352input tcu_efu_read_start; // Start SM for scanning bits out
353input tcu_efu_fuse_bypass; // shift data from
354input tcu_efu_dest_sample; // sample data from dest reg
355input [6:0] tcu_red_reg_clr; // Redudancy register clear
356input tcu_div_bypass;
357
358// CTU/JTAG Shift Interface
359input tcu_dbr_gateoff;
360input tcu_efu_data_in; // Serial(scan) in from tcu
361output efu_tcu_data_out; // Serial(scan) out to tcu
362input tcu_efu_updatedr; // read reg updated from shift reg
363input tcu_efu_shiftdr; // shift data register
364input tcu_efu_capturedr; // shift data reg captures read reg val
365input tck; // Shift dr data in/out from tcu
366
367// Destination Register Interface
368// Interface with Sparc cores 0 to 7
369output efu_spc1357_fuse_data;
370output efu_spc0246_fuse_data;
371output efu_spc0_fuse_ixfer_en;
372output efu_spc1_fuse_ixfer_en;
373output efu_spc2_fuse_ixfer_en;
374output efu_spc3_fuse_ixfer_en;
375output efu_spc4_fuse_ixfer_en;
376output efu_spc5_fuse_ixfer_en;
377output efu_spc6_fuse_ixfer_en;
378output efu_spc7_fuse_ixfer_en;
379output efu_spc0_fuse_iclr;
380output efu_spc1_fuse_iclr;
381output efu_spc2_fuse_iclr;
382output efu_spc3_fuse_iclr;
383output efu_spc4_fuse_iclr;
384output efu_spc5_fuse_iclr;
385output efu_spc6_fuse_iclr;
386output efu_spc7_fuse_iclr;
387output efu_spc0_fuse_dxfer_en;
388output efu_spc1_fuse_dxfer_en;
389output efu_spc2_fuse_dxfer_en;
390output efu_spc3_fuse_dxfer_en;
391output efu_spc4_fuse_dxfer_en;
392output efu_spc5_fuse_dxfer_en;
393output efu_spc6_fuse_dxfer_en;
394output efu_spc7_fuse_dxfer_en;
395output efu_spc0_fuse_dclr;
396output efu_spc1_fuse_dclr;
397output efu_spc2_fuse_dclr;
398output efu_spc3_fuse_dclr;
399output efu_spc4_fuse_dclr;
400output efu_spc5_fuse_dclr;
401output efu_spc6_fuse_dclr;
402output efu_spc7_fuse_dclr;
403input spc0_efu_fuse_dxfer_en;
404input spc1_efu_fuse_dxfer_en;
405input spc2_efu_fuse_dxfer_en;
406input spc3_efu_fuse_dxfer_en;
407input spc4_efu_fuse_dxfer_en;
408input spc5_efu_fuse_dxfer_en;
409input spc6_efu_fuse_dxfer_en;
410input spc7_efu_fuse_dxfer_en;
411input spc0_efu_fuse_ixfer_en;
412input spc1_efu_fuse_ixfer_en;
413input spc2_efu_fuse_ixfer_en;
414input spc3_efu_fuse_ixfer_en;
415input spc4_efu_fuse_ixfer_en;
416input spc5_efu_fuse_ixfer_en;
417input spc6_efu_fuse_ixfer_en;
418input spc7_efu_fuse_ixfer_en;
419input spc0_efu_fuse_ddata;
420input spc1_efu_fuse_ddata;
421input spc2_efu_fuse_ddata;
422input spc3_efu_fuse_ddata;
423input spc4_efu_fuse_ddata;
424input spc5_efu_fuse_ddata;
425input spc6_efu_fuse_ddata;
426input spc7_efu_fuse_ddata;
427input spc0_efu_fuse_idata;
428input spc1_efu_fuse_idata;
429input spc2_efu_fuse_idata;
430input spc3_efu_fuse_idata;
431input spc4_efu_fuse_idata;
432input spc5_efu_fuse_idata;
433input spc6_efu_fuse_idata;
434input spc7_efu_fuse_idata;
435
436// Interface with L2t for tag array repair
437output efu_l2t0246_fuse_data;
438output efu_l2t1357_fuse_data;
439output efu_l2t0_fuse_xfer_en;
440output efu_l2t1_fuse_xfer_en;
441output efu_l2t2_fuse_xfer_en;
442output efu_l2t3_fuse_xfer_en;
443output efu_l2t4_fuse_xfer_en;
444output efu_l2t5_fuse_xfer_en;
445output efu_l2t6_fuse_xfer_en;
446output efu_l2t7_fuse_xfer_en;
447output efu_l2t0_fuse_clr;
448output efu_l2t1_fuse_clr;
449output efu_l2t2_fuse_clr;
450output efu_l2t3_fuse_clr;
451output efu_l2t4_fuse_clr;
452output efu_l2t5_fuse_clr;
453output efu_l2t6_fuse_clr;
454output efu_l2t7_fuse_clr;
455input l2t0_efu_fuse_xfer_en;
456input l2t1_efu_fuse_xfer_en;
457input l2t2_efu_fuse_xfer_en;
458input l2t3_efu_fuse_xfer_en;
459input l2t4_efu_fuse_xfer_en;
460input l2t5_efu_fuse_xfer_en;
461input l2t6_efu_fuse_xfer_en;
462input l2t7_efu_fuse_xfer_en;
463input l2t0_efu_fuse_data;
464input l2t1_efu_fuse_data;
465input l2t2_efu_fuse_data;
466input l2t3_efu_fuse_data;
467input l2t4_efu_fuse_data;
468input l2t5_efu_fuse_data;
469input l2t6_efu_fuse_data;
470input l2t7_efu_fuse_data;
471
472// Interface with l2b for data array repair
473output efu_l2b0246_fuse_data;
474output efu_l2b1357_fuse_data;
475output efu_l2b0_fuse_xfer_en;
476output efu_l2b1_fuse_xfer_en;
477output efu_l2b2_fuse_xfer_en;
478output efu_l2b3_fuse_xfer_en;
479output efu_l2b4_fuse_xfer_en;
480output efu_l2b5_fuse_xfer_en;
481output efu_l2b6_fuse_xfer_en;
482output efu_l2b7_fuse_xfer_en;
483output efu_l2b0_fuse_clr;
484output efu_l2b1_fuse_clr;
485output efu_l2b2_fuse_clr;
486output efu_l2b3_fuse_clr;
487output efu_l2b4_fuse_clr;
488output efu_l2b5_fuse_clr;
489output efu_l2b6_fuse_clr;
490output efu_l2b7_fuse_clr;
491input l2b0_efu_fuse_xfer_en;
492input l2b1_efu_fuse_xfer_en;
493input l2b2_efu_fuse_xfer_en;
494input l2b3_efu_fuse_xfer_en;
495input l2b4_efu_fuse_xfer_en;
496input l2b5_efu_fuse_xfer_en;
497input l2b6_efu_fuse_xfer_en;
498input l2b7_efu_fuse_xfer_en;
499input l2b0_efu_fuse_data;
500input l2b1_efu_fuse_data;
501input l2b2_efu_fuse_data;
502input l2b3_efu_fuse_data;
503input l2b4_efu_fuse_data;
504input l2b5_efu_fuse_data;
505input l2b6_efu_fuse_data;
506input l2b7_efu_fuse_data;
507
508
509// Interface with NCU for data array repair
510output efu_ncu_fuse_data;
511output efu_ncu_srlnum0_xfer_en;
512output efu_ncu_srlnum1_xfer_en;
513output efu_ncu_srlnum2_xfer_en;
514output efu_ncu_fusestat_xfer_en;
515output efu_ncu_coreavl_xfer_en;
516output efu_ncu_bankavl_xfer_en;
517
518// Interface to NIU
519output efu_niu_mac01_sfro_data;
520output efu_niu_mac1_sf_xfer_en;
521output efu_niu_mac1_ro_xfer_en;
522output efu_niu_mac0_sf_xfer_en;
523output efu_niu_mac0_ro_xfer_en;
524output efu_niu_ipp1_xfer_en;
525output efu_niu_ipp0_xfer_en;
526output efu_niu_mac1_sf_clr;
527output efu_niu_mac1_ro_clr;
528output efu_niu_mac0_sf_clr;
529output efu_niu_mac0_ro_clr;
530output efu_niu_ipp1_clr;
531output efu_niu_ipp0_clr;
532input niu_efu_mac1_sf_data;
533input niu_efu_mac1_ro_data;
534input niu_efu_mac0_sf_data;
535input niu_efu_mac0_ro_data;
536input niu_efu_ipp1_data;
537input niu_efu_ipp0_data;
538input niu_efu_mac1_sf_xfer_en;
539input niu_efu_mac1_ro_xfer_en;
540input niu_efu_mac0_sf_xfer_en;
541input niu_efu_mac0_ro_xfer_en;
542input niu_efu_ipp1_xfer_en;
543input niu_efu_ipp0_xfer_en;
544
545output efu_niu_cfifo_data;
546output efu_niu_cfifo0_xfer_en;
547output efu_niu_cfifo1_xfer_en;
548output efu_niu_cfifo0_clr;
549output efu_niu_cfifo1_clr;
550input niu_efu_cfifo0_data;
551input niu_efu_cfifo1_data;
552input niu_efu_cfifo0_xfer_en;
553input niu_efu_cfifo1_xfer_en;
554
555output efu_niu_ram_data;
556output efu_niu_ram_xfer_en;
557output efu_niu_ram0_xfer_en;
558output efu_niu_ram1_xfer_en;
559output efu_niu_ram_clr;
560output efu_niu_ram0_clr;
561output efu_niu_ram1_clr;
562input niu_efu_ram_xfer_en;
563input niu_efu_ram0_xfer_en;
564input niu_efu_ram1_xfer_en;
565input niu_efu_ram_data;
566input niu_efu_ram0_data;
567input niu_efu_ram1_data;
568
569output efu_niu_4k_data;
570output efu_niu_4k_xfer_en;
571output efu_niu_4k_clr;
572input niu_efu_4k_xfer_en;
573input niu_efu_4k_data;
574
575output efu_dmu_data;
576output efu_dmu_xfer_en;
577output efu_dmu_clr;
578
579input dmu_efu_xfer_en;
580input dmu_efu_data;
581
582
583output efu_mcu_fdi;
584input mcu_efu_fdo;
585output efu_mcu_fclk;
586output efu_mcu_fclrz;
587
588output efu_psr_fdi;
589input psr_efu_fdo;
590output efu_psr_fclk;
591output efu_psr_fclrz;
592
593output efu_niu_fdi;
594input niu_efu_fdo;
595output efu_niu_fclk;
596output efu_niu_fclrz;
597
598
599//-----------------------------------------------------------------------------
600// Wire declarations
601//-----------------------------------------------------------------------------
602//-----------------------------------------------------------------------------
603 wire [31:0] efa_sbc_data; // From u_efa of bw_r_efa.v
604 wire por_l; // From u_efa_stdc of efu_stdc.v
605 wire pwr_ok; // From u_efa_stdc of efu_stdc.v
606 wire [4:0] sbc_efa_bit_addr; // From u_efa_stdc of efu_stdc.v
607 wire sbc_efa_margin0_rd; // From u_efa_stdc of efu_stdc.v
608 wire sbc_efa_margin1_rd; // From u_efa_stdc of efu_stdc.v
609 wire sbc_efa_power_down; // From u_efa_stdc of efu_stdc.v
610 wire sbc_efa_read_en; // From u_efa_stdc of efu_stdc.v
611 wire sbc_efa_sup_det_rd; // From u_efa_stdc of efu_stdc.v
612 wire [5:0] sbc_efa_word_addr; // From u_efa_stdc of efu_stdc.v
613 wire testmode_l; // From test_stub_scan of test_stub_scan.v
614
615// commented out the following two wire
616// declarations, since they are already declared as inputs.
617//wire io_pgrm_en; // From pad_misc of pad_misc.v
618
619 wire [31:0] read_data_ff;
620 wire [31:0] efa_out_data;
621 wire [31:0] tck_shft_data_ff;
622 wire [6:0] snc1_rowaddr;
623 wire [6:0] addr_cnt_ff;
624 wire local_efu_read_start;
625
626// commented out the following wire
627// declaration, since it is already declared as an input.
628//wire iol2clk;
629
630////////////////////////////////////////////////////////////////////
631// Sub-module instantiation
632////////////////////////////////////////////////////////////////////
633
634
635// no l2clk now
636//clkgen_efu_cmp l2t_clk_header(
637// .scan_in(l2t_clk_header_scanin),
638// .scan_out(l2t_clk_header_scanout),
639// .l2clk( l2clk ),
640// .aclk( aclk ),
641// .bclk( bclk ),
642// .pce_ov ( ce_ovrd ),
643// .aclk_wmr ( ),
644// .wmr_protect ( wmr_protect ),
645// .wmr_ ( wmr_l ),
646// .por_ ( por_l ),
647// .cmp_slow_sync_en ( ),
648// .slow_cmp_sync_en ( slow_cmp_sync_en ),
649// .tcu_clk_stop ( tcu_efu_clk_stop ),
650// .tcu_pce_ov ( tcu_pce_ov ),
651// .rst_wmr_protect ( rst_wmr_protect ),
652// .rst_wmr_ ( rst_wmr_ ),
653// .rst_por_ ( rst_por_ ),
654// .ccu_cmp_slow_sync_en ( cmp_io_clk_sync_en ),
655// .ccu_slow_cmp_sync_en ( io_cmp_clk_sync_en ),
656// .tcu_div_bypass ( tcu_div_bypass ),
657// .ccu_div_ph ( 1'b1 ),
658// .cluster_div_en ( 1'b0 ),
659// .gclk ( gclk ),
660// .cluster_arst_l ( 1'b0 ),
661// .clk_ext ( 1'b0 ),
662// .ccu_serdes_dtm ( 1'b0 ),
663// .tcu_aclk ( tcu_aclk ),
664// .tcu_bclk ( tcu_bclk ),
665// .scan_en ( tcu_scan_en ),
666//);
667
668
669//clkgen_efu_cmp l2t_clk_header
670// (
671// .l2clk (l2clk ),
672// .aclk (aclk ),
673// .bclk (bclk ),
674// .so ( ),
675// .clk_stop (clk_stop ),
676// .pce_ov (ce_ovrd ),
677// .wmr_protect (wmr_protect ),
678// .wmr_ (wmr_l ),
679// .por_ (por_l ),
680// .cmp_slow_sync_en ( ),
681// .slow_cmp_sync_en (slow_cmp_sync_en ),
682// .tcu_clk_stop (tcu_clk_stop ),
683// .tcu_pce_ov (tcu_pce_ov ),
684// .rst_wmr_protect (rst_wmr_protect ),
685// .rst_wmr_ (rst_wmr_ ),
686// .rst_por_ (rst_por_ ),
687// .ccu_cmp_slow_sync_en (cmp_io_clk_sync_en ),
688// .ccu_slow_cmp_sync_en (io_cmp_clk_sync_en ),
689// .tcu_div_bypass (1'b0 ),
690// .ccu_div_ph (1'b1 ),
691// .cluster_div_en (1'b0 ),
692// .gclk (gclk ),
693// .clk_ext (1'b0 ),
694// .tcu_aclk (tcu_aclk ),
695// .tcu_bclk (tcu_bclk ),
696// .se (tcu_scan_en ),
697// .si (1'b0 )
698clkgen_efu_cmp l2t_clk_header (
699 // output
700 .l2clk(l2clk),
701 .aclk(),
702 .bclk(),
703 .scan_out(l2t_clk_header_scanout),
704 .pce_ov(),
705 .aclk_wmr(),
706 .cmp_slow_sync_en(cmp_io_sync_en),
707 .slow_cmp_sync_en(io_cmp_sync_en),
708 .array_wr_inhibit(),
709 // inputs
710 .tcu_wr_inhibit(tcu_array_wr_inhibit),
711 .tcu_atpg_mode(tcu_atpg_mode),
712 .tcu_clk_stop(tcu_efu_clk_stop),
713 .tcu_pce_ov(tcu_pce_ov),
714 .rst_wmr_protect(rst_wmr_protect),
715 .rst_wmr_(rst_wmr_),
716 .rst_por_(rst_por_),
717 .ccu_cmp_slow_sync_en(cmp_io_clk_sync_en),
718 .ccu_slow_cmp_sync_en(io_cmp_clk_sync_en),
719 .tcu_div_bypass(tcu_div_bypass),
720 .ccu_div_ph(1'b1),
721 .cluster_div_en(1'b0),
722 .gclk(gclk),
723 .cluster_arst_l(cluster_arst_l),
724 .clk_ext(1'b0),
725 .ccu_serdes_dtm(1'b0),
726 .tcu_aclk(tcu_aclk),
727 .tcu_bclk(tcu_bclk),
728 .scan_en(tcu_scan_en),
729 .scan_in(l2t_clk_header_scanin),
730 .wmr_protect(wmr_protect),
731 .wmr_(wmr_),
732 .por_(por_)
733);
734
735
736clkgen_efu_io efu_ioclk_header(
737//output
738 .l2clk (iol2clk),
739 .aclk (io_aclk),
740 .bclk (io_bclk),
741 .scan_out (efu_ioclk_header_scanout),
742 .aclk_wmr ( ),
743 .pce_ov (io_ce_ovrd),
744 .wmr_protect (),
745 .wmr_ (io_wmr_l),
746 .por_ (io_por_l),
747 .cmp_slow_sync_en ( ),
748 .slow_cmp_sync_en ( ),
749 .array_wr_inhibit (),
750//input
751 .tcu_atpg_mode (tcu_atpg_mode),
752 .tcu_wr_inhibit (tcu_array_wr_inhibit),
753 .tcu_clk_stop (tcu_clk_stop),
754 .tcu_pce_ov (tcu_pce_ov),
755 .rst_wmr_protect (rst_wmr_protect),
756 .rst_wmr_ (rst_wmr_),
757 .rst_por_ (rst_por_),
758 .ccu_cmp_slow_sync_en (1'b0),
759 .ccu_slow_cmp_sync_en (1'b0),
760 .tcu_div_bypass (tcu_div_bypass),
761 .ccu_div_ph (ccu_io_out),
762 .cluster_div_en (1'b1),
763 .gclk (gclk),
764 .cluster_arst_l (cluster_arst_l),
765 .ccu_serdes_dtm (1'b0),
766 .clk_ext (1'b0),
767 .scan_en (tcu_scan_en),
768 .scan_in (efu_ioclk_header_scanin),
769 .tcu_aclk (tcu_aclk),
770 .tcu_bclk (tcu_bclk)
771);
772
773
774////clkgen_efu_io efu_ioclk_header(
775//// .scan_in(efu_ioclk_header_scanin),
776//// .scan_out(efu_ioclk_header_scanout),
777//// .l2clk( iol2clk ),
778//// .aclk( io_aclk ),
779//// .bclk( io_bclk ),
780//// .pce_ov( io_ce_ovrd ),
781//// .aclk_wmr( ),
782//// .wmr_protect( io_wmr_protect ),
783//// .wmr_( io_wmr_l ),
784//// .por_( io_por_l ),
785//// .cmp_slow_sync_en( ),
786//// .slow_cmp_sync_en( ),
787//// .tcu_clk_stop( tcu_clk_stop ),
788//// .tcu_pce_ov( tcu_pce_ov ),
789//// .rst_wmr_protect( rst_wmr_protect ),
790//// .rst_wmr_( rst_wmr_ ),
791//// .rst_por_( rst_por_ ),
792//// .ccu_cmp_slow_sync_en( 1'b0 ),
793//// .ccu_slow_cmp_sync_en( 1'b0 ),
794//// .tcu_div_bypass( tcu_div_bypass ),
795//// .ccu_div_ph( ccu_io_out ),
796//// .cluster_div_en( 1'b1 ),
797//// .gclk( gclk ),
798//// .cluster_arst_l( 1'b0 ),
799//// .clk_ext( 1'b0 ),
800//// .ccu_serdes_dtm( 1'b0 ),
801//// .tcu_aclk( tcu_aclk ),
802//// .tcu_bclk( tcu_bclk ),
803//// .scan_en( tcu_scan_en ),
804////);
805
806
807//clkgen_efu_io efu_ioclk_header
808// (
809// .l2clk (iol2clk ),
810// .aclk (io_aclk ),
811// .bclk (io_bclk ),
812// .so ( ),
813// .clk_stop (io_clk_stop ),
814// .pce_ov (io_ce_ovrd ),
815// .wmr_protect (io_wmr_protect ),
816// .wmr_ (io_wmr_l ),
817// .por_ (io_por_l ),
818// .cmp_slow_sync_en ( ),
819// .slow_cmp_sync_en ( ),
820// .tcu_clk_stop (tcu_clk_stop ),
821// .tcu_pce_ov (tcu_pce_ov ),
822// .rst_wmr_protect (rst_wmr_protect ),
823// .rst_wmr_ (rst_wmr_ ),
824// .rst_por_ (rst_por_ ),
825// .ccu_cmp_slow_sync_en (1'b0 ),
826// .ccu_slow_cmp_sync_en (1'b0 ),
827// .tcu_div_bypass (1'b0 ),
828// .ccu_div_ph (ccu_io_out ),
829// .cluster_div_en (1'b1 ),
830// .gclk (gclk ),
831// .clk_ext (1'b0 ),
832// .tcu_aclk (tcu_aclk ),
833// .tcu_bclk (tcu_bclk ),
834// .se (tcu_scan_en ),
835// .si (1'b0 )
836// );
837
838n2_esd_vpp_cust u_esd0(.supply_node (io_vpp) );
839n2_esd_vpp_cust u_esd1(.supply_node (io_vpp) );
840n2_esd_vpp_cust u_esd2(.supply_node (io_vpp) );
841n2_esd_vpp_cust u_esd3(.supply_node (io_vpp) );
842n2_esd_vpp_cust u_esd4(.supply_node (io_vpp) );
843
844
845
846
847n2_efa_sp_256b_cust u_efa(
848 // Outputs
849 .efa_sbc_data (efa_sbc_data[31:0]),
850 // Inputs
851 .vpp (io_vpp),
852 .pi_efa_prog_en (io_pgrm_en),
853 .sbc_efa_read_en (sbc_efa_read_en),
854 .sbc_efa_word_addr (sbc_efa_word_addr[5:0]),
855 .sbc_efa_bit_addr (sbc_efa_bit_addr[4:0]),
856 .sbc_efa_margin0_rd (sbc_efa_margin0_rd),
857 .sbc_efa_margin1_rd (sbc_efa_margin1_rd),
858 .pwr_ok (pwr_ok),
859 .por_n (por_n),
860 .sbc_efa_sup_det_rd (sbc_efa_sup_det_rd),
861 .sbc_efa_power_down (sbc_efa_power_down),
862 .clk (iol2clk));
863
864efu_fct_ctl u_efa_stdc(
865 // Outputs
866 .efu_ncu_fuse_data (efu_ncu_fuse_data),
867 .efu_ncu_srlnum0_xfer_en (efu_ncu_srlnum0_xfer_en),
868 .efu_ncu_srlnum1_xfer_en (efu_ncu_srlnum1_xfer_en),
869 .efu_ncu_srlnum2_xfer_en (efu_ncu_srlnum2_xfer_en),
870 .efu_ncu_fusestat_xfer_en (efu_ncu_fusestat_xfer_en),
871 .efu_ncu_coreavl_xfer_en (efu_ncu_coreavl_xfer_en),
872 .efu_ncu_bankavl_xfer_en (efu_ncu_bankavl_xfer_en),
873// .mrd_state_rd_array (mrd_state_rd_array),
874// .efa_array_power_down_ff (efa_array_power_down_ff),
875 .pwr_ok (pwr_ok),
876 .por_n (por_n),
877// .addr_cnt_ff (addr_cnt_ff[6:0]),
878 .read_data_ff_vld (read_data_ff_vld),
879 // Inputs
880 .scan_in(u_efa_stdc_scanin),
881 .scan_out(u_efa_stdc_scanout),
882 .iol2clk (iol2clk),
883 .l2clk (l2clk),
884 .cmp_io_sync_en (cmp_io_sync_en),
885 .jbus_arst_l (io_wmr_l),
886 .por_l (io_por_l),
887 .sync1_rowaddress (snc1_rowaddr[6:0]),
888// .inhibit_power_down_l (inhibit_power_down_l),
889// .read_data_ff (read_data_ff[31:0]),
890// .tck_shft_data_ff (tck_shft_data_ff[31:0]),
891// .efa_out_data (efa_out_data[31:0]),
892 .update_dr_jbus (update_dr_jbus),
893 .local_read_en (local_read_en),
894 .local_efu_read_start (local_efu_read_start),
895 .local_fuse_bypass (local_fuse_bypass),
896 .local_dest_sample (local_dest_sample),
897 .tcu_pce_ov (io_ce_ovrd),
898 .tcu_aclk (io_aclk),
899 .tcu_bclk (io_bclk),
900 .tcu_scan_en (tcu_scan_en),
901 .tcu_efu_updatedr(tcu_efu_updatedr),
902 .tcu_efu_read_en(tcu_efu_read_en),
903 .tcu_efu_read_start(tcu_efu_read_start),
904 .tcu_efu_fuse_bypass(tcu_efu_fuse_bypass),
905 .tcu_efu_dest_sample(tcu_efu_dest_sample),
906 .tcu_efu_coladdr(tcu_efu_coladdr[4:0]),
907 .tcu_efu_read_mode(tcu_efu_read_mode[2:0]),
908 .tcu_efu_rowaddr(tcu_efu_rowaddr[6:0]),
909 .tcu_efu_capturedr(tcu_efu_capturedr),
910 .tcu_efu_data_in(tcu_efu_data_in),
911 .tcu_efu_shiftdr(tcu_efu_shiftdr),
912 .efa_sbc_data(efa_sbc_data[31:0]),
913 .tck(tck),
914 .sbc_efa_power_down(sbc_efa_power_down),
915 .efu_tcu_data_out(efu_tcu_data_out),
916 .sbc_efa_bit_addr(sbc_efa_bit_addr[4:0]),
917 .sbc_efa_sup_det_rd(sbc_efa_sup_det_rd),
918 .sbc_efa_margin0_rd(sbc_efa_margin0_rd),
919 .sbc_efa_margin1_rd(sbc_efa_margin1_rd),
920 .sbc_efa_read_en(sbc_efa_read_en),
921 .sbc_efa_word_addr(sbc_efa_word_addr[5:0]),
922 .shift_data_ff_out(shift_data_ff_out[31:0]),
923 .load_l2_read_data(load_l2_read_data),
924 .read_data_ff(read_data_ff[31:0]),
925 .cmp_mrd_cnt_done(cmp_mrd_cnt_done),
926 .decode_enable_vld(decode_enable_vld),
927 .snc1_rowaddr(snc1_rowaddr[6:0]),
928 .niu_read_data_shift(niu_read_data_shift[31:0]),
929 .load_niu_read_data(load_niu_read_data)
930 );
931
932//efu_tcu_dp datapath
933// (
934// .update_dr_jbus (update_dr_jbus),
935// .read_data_ff_vld (read_data_ff_vld),
936// .local_read_en (local_read_en),
937// .local_efu_read_start (local_efu_read_start),
938// .local_fuse_bypass (local_fuse_bypass),
939// .local_dest_sample (local_dest_sample),
940// .tck_shft_data_ff (tck_shft_data_ff[31:0]),
941// .efu_tcu_data_out (efu_tcu_data_out),
942// .sbc_efa_margin0_rd (sbc_efa_margin0_rd),
943// .sbc_efa_margin1_rd (sbc_efa_margin1_rd),
944// .sync1_rowaddress (snc1_rowaddr[6:0]),
945// .sbc_efa_sup_det_rd (sbc_efa_sup_det_rd),
946// .sbc_efa_bit_addr (sbc_efa_bit_addr[4:0]),
947// .sbc_efa_word_addr (sbc_efa_word_addr[5:0]),
948// .efa_out_data (efa_out_data[31:0]),
949// .sbc_efa_read_en (sbc_efa_read_en),
950// .efa_array_power_down_ff (efa_array_power_down_ff),
951// .sbc_efa_power_down (sbc_efa_power_down),
952// // Inputs
953// .tcu_pce_ov (io_ce_ovrd),
954// .tcu_aclk (io_aclk),
955// .tcu_bclk (io_bclk),
956// .tcu_scan_en (tcu_scan_en),
957// .addr_cnt_ff (addr_cnt_ff[6:0]),
958// .efa_sbc_data (efa_sbc_data[31:0]),
959// .tcu_efu_rowaddr (tcu_efu_rowaddr[6:0]),
960// .tcu_efu_read_mode (tcu_efu_read_mode[2:0]),
961// .read_data_ff (read_data_ff[31:0]),
962// .tcu_efu_coladdr (tcu_efu_coladdr[4:0]),
963// .tcu_efu_data_in (tcu_efu_data_in),
964// .tcu_efu_shiftdr (tcu_efu_shiftdr),
965// .mrd_state_rd_array (mrd_state_rd_array),
966// .tcu_efu_capturedr (tcu_efu_capturedr),
967//// .testmode_l (testmode_l),
968//// .niu_read_data_shift (niu_read_data_shift[31:0]),
969// .scan_in(datapath_scanin),
970// .scan_out(datapath_scanout),
971// .tck (tck),
972// .l2clk (l2clk),
973// .iol2clk (iol2clk),
974// .tcu_efu_updatedr (tcu_efu_updatedr),
975// .tcu_efu_read_en (tcu_efu_read_en),
976// .inhibit_power_down_l (inhibit_power_down_l),
977// .tcu_efu_read_start (tcu_efu_read_start),
978// .tcu_efu_fuse_bypass (tcu_efu_fuse_bypass),
979// .tcu_efu_dest_sample (tcu_efu_dest_sample)
980// );
981
982
983efu_niu_ctl niu_interface
984 (
985.efu_niu_mac01_sfro_data (efu_niu_mac01_sfro_data ),
986.efu_niu_mac1_sf_xfer_en (efu_niu_mac1_sf_xfer_en ),
987.efu_niu_mac1_ro_xfer_en (efu_niu_mac1_ro_xfer_en ),
988.efu_niu_mac0_sf_xfer_en (efu_niu_mac0_sf_xfer_en ),
989.efu_niu_mac0_ro_xfer_en (efu_niu_mac0_ro_xfer_en ),
990.efu_niu_ipp1_xfer_en (efu_niu_ipp1_xfer_en ),
991.efu_niu_ipp0_xfer_en (efu_niu_ipp0_xfer_en ),
992.niu_efu_mac1_sf_data (niu_efu_mac1_sf_data ),
993.niu_efu_mac1_ro_data (niu_efu_mac1_ro_data ),
994.niu_efu_mac0_sf_data (niu_efu_mac0_sf_data ),
995.niu_efu_mac0_ro_data (niu_efu_mac0_ro_data ),
996.niu_efu_ipp1_data (niu_efu_ipp1_data ),
997.niu_efu_ipp0_data (niu_efu_ipp0_data ),
998.niu_efu_mac1_sf_xfer_en (niu_efu_mac1_sf_xfer_en ),
999.niu_efu_mac1_ro_xfer_en (niu_efu_mac1_ro_xfer_en ),
1000.niu_efu_mac0_sf_xfer_en (niu_efu_mac0_sf_xfer_en ),
1001.niu_efu_mac0_ro_xfer_en (niu_efu_mac0_ro_xfer_en ),
1002.niu_efu_ipp1_xfer_en (niu_efu_ipp1_xfer_en ),
1003.niu_efu_ipp0_xfer_en (niu_efu_ipp0_xfer_en ),
1004.efu_niu_cfifo_data (efu_niu_cfifo_data ),
1005.efu_niu_cfifo0_xfer_en (efu_niu_cfifo0_xfer_en ),
1006.efu_niu_cfifo1_xfer_en (efu_niu_cfifo1_xfer_en ),
1007.niu_efu_cfifo0_data (niu_efu_cfifo0_data ),
1008.niu_efu_cfifo1_data (niu_efu_cfifo1_data ),
1009.niu_efu_cfifo0_xfer_en (niu_efu_cfifo0_xfer_en ),
1010.niu_efu_cfifo1_xfer_en (niu_efu_cfifo1_xfer_en ),
1011.efu_niu_ram_data (efu_niu_ram_data ),
1012.efu_niu_ram_xfer_en (efu_niu_ram_xfer_en ),
1013.efu_niu_ram0_xfer_en (efu_niu_ram0_xfer_en ),
1014.efu_niu_ram1_xfer_en (efu_niu_ram1_xfer_en ),
1015.niu_efu_ram_xfer_en (niu_efu_ram_xfer_en ),
1016.niu_efu_ram0_xfer_en (niu_efu_ram0_xfer_en ),
1017.niu_efu_ram1_xfer_en (niu_efu_ram1_xfer_en ),
1018.niu_efu_ram_data (niu_efu_ram_data ),
1019.niu_efu_ram0_data (niu_efu_ram0_data ),
1020.niu_efu_ram1_data (niu_efu_ram1_data ),
1021.efu_niu_4k_data (efu_niu_4k_data ),
1022.efu_niu_4k_xfer_en (efu_niu_4k_xfer_en ),
1023.niu_efu_4k_xfer_en (niu_efu_4k_xfer_en ),
1024.niu_efu_4k_data (niu_efu_4k_data ),
1025.niu_read_data_shift (niu_read_data_shift[31:0]),
1026.tcu_red_reg_clr (tcu_red_reg_clr[6:0]),
1027.read_data_ff_vld (read_data_ff_vld),
1028.efu_spc0_fuse_iclr (efu_spc0_fuse_iclr),
1029.efu_spc1_fuse_iclr (efu_spc1_fuse_iclr),
1030.efu_spc2_fuse_iclr (efu_spc2_fuse_iclr),
1031.efu_spc3_fuse_iclr (efu_spc3_fuse_iclr),
1032.efu_spc4_fuse_iclr (efu_spc4_fuse_iclr),
1033.efu_spc5_fuse_iclr (efu_spc5_fuse_iclr),
1034.efu_spc6_fuse_iclr (efu_spc6_fuse_iclr),
1035.efu_spc7_fuse_iclr (efu_spc7_fuse_iclr),
1036.efu_spc0_fuse_dclr (efu_spc0_fuse_dclr),
1037.efu_spc1_fuse_dclr (efu_spc1_fuse_dclr),
1038.efu_spc2_fuse_dclr (efu_spc2_fuse_dclr),
1039.efu_spc3_fuse_dclr (efu_spc3_fuse_dclr),
1040.efu_spc4_fuse_dclr (efu_spc4_fuse_dclr),
1041.efu_spc5_fuse_dclr (efu_spc5_fuse_dclr),
1042.efu_spc6_fuse_dclr (efu_spc6_fuse_dclr),
1043.efu_spc7_fuse_dclr (efu_spc7_fuse_dclr),
1044.efu_l2t0_fuse_clr (efu_l2t0_fuse_clr),
1045.efu_l2t1_fuse_clr (efu_l2t1_fuse_clr),
1046.efu_l2t2_fuse_clr (efu_l2t2_fuse_clr),
1047.efu_l2t3_fuse_clr (efu_l2t3_fuse_clr),
1048.efu_l2t4_fuse_clr (efu_l2t4_fuse_clr),
1049.efu_l2t5_fuse_clr (efu_l2t5_fuse_clr),
1050.efu_l2t6_fuse_clr (efu_l2t6_fuse_clr),
1051.efu_l2t7_fuse_clr (efu_l2t7_fuse_clr),
1052.efu_l2b0_fuse_clr (efu_l2b0_fuse_clr),
1053.efu_l2b1_fuse_clr (efu_l2b1_fuse_clr),
1054.efu_l2b2_fuse_clr (efu_l2b2_fuse_clr),
1055.efu_l2b3_fuse_clr (efu_l2b3_fuse_clr),
1056.efu_l2b4_fuse_clr (efu_l2b4_fuse_clr),
1057.efu_l2b5_fuse_clr (efu_l2b5_fuse_clr),
1058.efu_l2b6_fuse_clr (efu_l2b6_fuse_clr),
1059.efu_l2b7_fuse_clr (efu_l2b7_fuse_clr),
1060.efu_niu_mac1_sf_clr (efu_niu_mac1_sf_clr ),
1061.efu_niu_mac1_ro_clr (efu_niu_mac1_ro_clr ),
1062.efu_niu_mac0_sf_clr (efu_niu_mac0_sf_clr ),
1063.efu_niu_mac0_ro_clr (efu_niu_mac0_ro_clr ),
1064.efu_niu_ipp1_clr (efu_niu_ipp1_clr ),
1065.efu_niu_ipp0_clr (efu_niu_ipp0_clr ),
1066.efu_niu_cfifo0_clr (efu_niu_cfifo0_clr ),
1067.efu_niu_cfifo1_clr (efu_niu_cfifo1_clr ),
1068.efu_niu_ram_clr (efu_niu_ram_clr ),
1069.efu_niu_ram0_clr (efu_niu_ram0_clr ),
1070.efu_niu_ram1_clr (efu_niu_ram1_clr ),
1071.efu_niu_4k_clr (efu_niu_4k_clr ),
1072.tcu_pce_ov (io_ce_ovrd ),
1073.scan_in(niu_interface_scanin),
1074.scan_out(niu_interface_scanout),
1075.iol2clk (iol2clk ),
1076.l2clk (l2clk ),
1077.cmp_io_sync_en (cmp_io_sync_en),
1078.tcu_aclk (io_aclk ),
1079.tcu_bclk (io_bclk ),
1080.tcu_clk_stop (1'b0 ),
1081.tcu_scan_en (tcu_scan_en ),
1082 .tcu_dbr_gateoff(tcu_dbr_gateoff),
1083 .io_cmp_sync_en(io_cmp_sync_en),
1084 .efu_dmu_data(efu_dmu_data),
1085 .efu_dmu_xfer_en(efu_dmu_xfer_en),
1086 .efu_dmu_clr(efu_dmu_clr),
1087 .dmu_efu_xfer_en(dmu_efu_xfer_en),
1088 .dmu_efu_data(dmu_efu_data),
1089 .efu_mcu_fdi(efu_mcu_fdi),
1090 .mcu_efu_fdo(mcu_efu_fdo),
1091 .efu_mcu_fclk(efu_mcu_fclk),
1092 .efu_mcu_fclrz(efu_mcu_fclrz),
1093 .efu_psr_fdi(efu_psr_fdi),
1094 .psr_efu_fdo(psr_efu_fdo),
1095 .efu_psr_fclk(efu_psr_fclk),
1096 .efu_psr_fclrz(efu_psr_fclrz),
1097 .efu_niu_fdi(efu_niu_fdi),
1098 .niu_efu_fdo(niu_efu_fdo),
1099 .efu_niu_fclk(efu_niu_fclk),
1100 .efu_niu_fclrz(efu_niu_fclrz),
1101 .read_data_ff(read_data_ff[31:0]),
1102 .load_niu_read_data(load_niu_read_data)
1103
1104 );
1105
1106efu_l2t_ctl core_l2tandl2d
1107 (
1108 .efu_spc1357_fuse_data (efu_spc1357_fuse_data),
1109 .efu_spc0246_fuse_data (efu_spc0246_fuse_data),
1110 .efu_spc0_fuse_ixfer_en (efu_spc0_fuse_ixfer_en),
1111 .efu_spc1_fuse_ixfer_en (efu_spc1_fuse_ixfer_en),
1112 .efu_spc2_fuse_ixfer_en (efu_spc2_fuse_ixfer_en),
1113 .efu_spc3_fuse_ixfer_en (efu_spc3_fuse_ixfer_en),
1114 .efu_spc4_fuse_ixfer_en (efu_spc4_fuse_ixfer_en),
1115 .efu_spc5_fuse_ixfer_en (efu_spc5_fuse_ixfer_en),
1116 .efu_spc6_fuse_ixfer_en (efu_spc6_fuse_ixfer_en),
1117 .efu_spc7_fuse_ixfer_en (efu_spc7_fuse_ixfer_en),
1118 .efu_spc0_fuse_dxfer_en (efu_spc0_fuse_dxfer_en),
1119 .efu_spc1_fuse_dxfer_en (efu_spc1_fuse_dxfer_en),
1120 .efu_spc2_fuse_dxfer_en (efu_spc2_fuse_dxfer_en),
1121 .efu_spc3_fuse_dxfer_en (efu_spc3_fuse_dxfer_en),
1122 .efu_spc4_fuse_dxfer_en (efu_spc4_fuse_dxfer_en),
1123 .efu_spc5_fuse_dxfer_en (efu_spc5_fuse_dxfer_en),
1124 .efu_spc6_fuse_dxfer_en (efu_spc6_fuse_dxfer_en),
1125 .efu_spc7_fuse_dxfer_en (efu_spc7_fuse_dxfer_en),
1126 .spc0_efu_fuse_dxfer_en (spc0_efu_fuse_dxfer_en),
1127 .spc1_efu_fuse_dxfer_en (spc1_efu_fuse_dxfer_en),
1128 .spc2_efu_fuse_dxfer_en (spc2_efu_fuse_dxfer_en),
1129 .spc3_efu_fuse_dxfer_en (spc3_efu_fuse_dxfer_en),
1130 .spc4_efu_fuse_dxfer_en (spc4_efu_fuse_dxfer_en),
1131 .spc5_efu_fuse_dxfer_en (spc5_efu_fuse_dxfer_en),
1132 .spc6_efu_fuse_dxfer_en (spc6_efu_fuse_dxfer_en),
1133 .spc7_efu_fuse_dxfer_en (spc7_efu_fuse_dxfer_en),
1134 .spc0_efu_fuse_ixfer_en (spc0_efu_fuse_ixfer_en),
1135 .spc1_efu_fuse_ixfer_en (spc1_efu_fuse_ixfer_en),
1136 .spc2_efu_fuse_ixfer_en (spc2_efu_fuse_ixfer_en),
1137 .spc3_efu_fuse_ixfer_en (spc3_efu_fuse_ixfer_en),
1138 .spc4_efu_fuse_ixfer_en (spc4_efu_fuse_ixfer_en),
1139 .spc5_efu_fuse_ixfer_en (spc5_efu_fuse_ixfer_en),
1140 .spc6_efu_fuse_ixfer_en (spc6_efu_fuse_ixfer_en),
1141 .spc7_efu_fuse_ixfer_en (spc7_efu_fuse_ixfer_en),
1142 .spc0_efu_fuse_ddata (spc0_efu_fuse_ddata),
1143 .spc1_efu_fuse_ddata (spc1_efu_fuse_ddata),
1144 .spc2_efu_fuse_ddata (spc2_efu_fuse_ddata),
1145 .spc3_efu_fuse_ddata (spc3_efu_fuse_ddata),
1146 .spc4_efu_fuse_ddata (spc4_efu_fuse_ddata),
1147 .spc5_efu_fuse_ddata (spc5_efu_fuse_ddata),
1148 .spc6_efu_fuse_ddata (spc6_efu_fuse_ddata),
1149 .spc7_efu_fuse_ddata (spc7_efu_fuse_ddata),
1150 .spc0_efu_fuse_idata (spc0_efu_fuse_idata),
1151 .spc1_efu_fuse_idata (spc1_efu_fuse_idata),
1152 .spc2_efu_fuse_idata (spc2_efu_fuse_idata),
1153 .spc3_efu_fuse_idata (spc3_efu_fuse_idata),
1154 .spc4_efu_fuse_idata (spc4_efu_fuse_idata),
1155 .spc5_efu_fuse_idata (spc5_efu_fuse_idata),
1156 .spc6_efu_fuse_idata (spc6_efu_fuse_idata),
1157 .spc7_efu_fuse_idata (spc7_efu_fuse_idata),
1158 .efu_l2t0246_fuse_data (efu_l2t0246_fuse_data),
1159 .efu_l2t1357_fuse_data (efu_l2t1357_fuse_data),
1160 .efu_l2t0_fuse_xfer_en (efu_l2t0_fuse_xfer_en),
1161 .efu_l2t1_fuse_xfer_en (efu_l2t1_fuse_xfer_en),
1162 .efu_l2t2_fuse_xfer_en (efu_l2t2_fuse_xfer_en),
1163 .efu_l2t3_fuse_xfer_en (efu_l2t3_fuse_xfer_en),
1164 .efu_l2t4_fuse_xfer_en (efu_l2t4_fuse_xfer_en),
1165 .efu_l2t5_fuse_xfer_en (efu_l2t5_fuse_xfer_en),
1166 .efu_l2t6_fuse_xfer_en (efu_l2t6_fuse_xfer_en),
1167 .efu_l2t7_fuse_xfer_en (efu_l2t7_fuse_xfer_en),
1168 .l2t0_efu_fuse_xfer_en (l2t0_efu_fuse_xfer_en),
1169 .l2t1_efu_fuse_xfer_en (l2t1_efu_fuse_xfer_en),
1170 .l2t2_efu_fuse_xfer_en (l2t2_efu_fuse_xfer_en),
1171 .l2t3_efu_fuse_xfer_en (l2t3_efu_fuse_xfer_en),
1172 .l2t4_efu_fuse_xfer_en (l2t4_efu_fuse_xfer_en),
1173 .l2t5_efu_fuse_xfer_en (l2t5_efu_fuse_xfer_en),
1174 .l2t6_efu_fuse_xfer_en (l2t6_efu_fuse_xfer_en),
1175 .l2t7_efu_fuse_xfer_en (l2t7_efu_fuse_xfer_en),
1176 .l2t0_efu_fuse_data (l2t0_efu_fuse_data),
1177 .l2t1_efu_fuse_data (l2t1_efu_fuse_data),
1178 .l2t2_efu_fuse_data (l2t2_efu_fuse_data),
1179 .l2t3_efu_fuse_data (l2t3_efu_fuse_data),
1180 .l2t4_efu_fuse_data (l2t4_efu_fuse_data),
1181 .l2t5_efu_fuse_data (l2t5_efu_fuse_data),
1182 .l2t6_efu_fuse_data (l2t6_efu_fuse_data),
1183 .l2t7_efu_fuse_data (l2t7_efu_fuse_data),
1184 .efu_l2b0246_fuse_data (efu_l2b0246_fuse_data),
1185 .efu_l2b1357_fuse_data (efu_l2b1357_fuse_data),
1186 .efu_l2b0_fuse_xfer_en (efu_l2b0_fuse_xfer_en),
1187 .efu_l2b1_fuse_xfer_en (efu_l2b1_fuse_xfer_en),
1188 .efu_l2b2_fuse_xfer_en (efu_l2b2_fuse_xfer_en),
1189 .efu_l2b3_fuse_xfer_en (efu_l2b3_fuse_xfer_en),
1190 .efu_l2b4_fuse_xfer_en (efu_l2b4_fuse_xfer_en),
1191 .efu_l2b5_fuse_xfer_en (efu_l2b5_fuse_xfer_en),
1192 .efu_l2b6_fuse_xfer_en (efu_l2b6_fuse_xfer_en),
1193 .efu_l2b7_fuse_xfer_en (efu_l2b7_fuse_xfer_en),
1194 .l2b0_efu_fuse_xfer_en (l2b0_efu_fuse_xfer_en),
1195 .l2b1_efu_fuse_xfer_en (l2b1_efu_fuse_xfer_en),
1196 .l2b2_efu_fuse_xfer_en (l2b2_efu_fuse_xfer_en),
1197 .l2b3_efu_fuse_xfer_en (l2b3_efu_fuse_xfer_en),
1198 .l2b4_efu_fuse_xfer_en (l2b4_efu_fuse_xfer_en),
1199 .l2b5_efu_fuse_xfer_en (l2b5_efu_fuse_xfer_en),
1200 .l2b6_efu_fuse_xfer_en (l2b6_efu_fuse_xfer_en),
1201 .l2b7_efu_fuse_xfer_en (l2b7_efu_fuse_xfer_en),
1202 .l2b0_efu_fuse_data (l2b0_efu_fuse_data),
1203 .l2b1_efu_fuse_data (l2b1_efu_fuse_data),
1204 .l2b2_efu_fuse_data (l2b2_efu_fuse_data),
1205 .l2b3_efu_fuse_data (l2b3_efu_fuse_data),
1206 .l2b4_efu_fuse_data (l2b4_efu_fuse_data),
1207 .l2b5_efu_fuse_data (l2b5_efu_fuse_data),
1208 .l2b6_efu_fuse_data (l2b6_efu_fuse_data),
1209 .l2b7_efu_fuse_data (l2b7_efu_fuse_data),
1210// .tcu_pce_ov (io_ce_ovrd ),
1211 .tcu_aclk (io_aclk ),
1212 .tcu_bclk (io_bclk ),
1213 .tcu_pce_ov (io_ce_ovrd ),
1214 .tcu_scan_en (tcu_scan_en ),
1215 .scan_in(core_l2tandl2d_scanin),
1216 .scan_out(core_l2tandl2d_scanout),
1217 .iol2clk (iol2clk),
1218 .read_data_ff_vld(read_data_ff_vld),
1219 .cmp_mrd_cnt_done(cmp_mrd_cnt_done),
1220 .read_data_ff(read_data_ff[31:0]),
1221 .shift_data_ff_out(shift_data_ff_out[31:0]),
1222 .load_l2_read_data(load_l2_read_data),
1223 .l2clk(l2clk),
1224 .cmp_io_sync_en(cmp_io_sync_en)
1225 );
1226
1227
1228
1229// fixscan start:
1230assign l2t_clk_header_scanin = scan_in ;
1231assign efu_ioclk_header_scanin = l2t_clk_header_scanout ;
1232assign u_efa_stdc_scanin = efu_ioclk_header_scanout ;
1233assign niu_interface_scanin = u_efa_stdc_scanout ;
1234assign core_l2tandl2d_scanin = niu_interface_scanout ;
1235assign scan_out = core_l2tandl2d_scanout ;
1236// fixscan end:
1237endmodule
1238