Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / spc / rtl / spc_rep1_dp.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: spc_rep1_dp.v
4// Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
5// 4150 Network Circle, Santa Clara, California 95054, U.S.A.
6//
7// * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8//
9// This program is free software; you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation; version 2 of the License.
12//
13// This program is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16// GNU General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with this program; if not, write to the Free Software
20// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21//
22// For the avoidance of doubt, and except that if any non-GPL license
23// choice is available it will apply instead, Sun elects to use only
24// the General Public License version 2 (GPLv2) at this time for any
25// software where a choice of GPL license versions is made
26// available with the language indicating that GPLv2 or any later version
27// may be used, or where a choice of which version of the GPL is applied is
28// otherwise unspecified.
29//
30// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
31// CA 95054 USA or visit www.sun.com if you need additional information or
32// have any questions.
33//
34// ========== Copyright Header End ============================================
35module spc_rep1_dp (
36 exu_address0_e,
37 exu_address1_e,
38 exu_address0_e_rep0,
39 exu_address1_e_rep0,
40 exu_address0_e_rep01,
41 exu_address1_e_rep01,
42 fgu_exu_result_fx5,
43 fgu_exu_result_fx5_rep0,
44 fgu_exu_result_fx5_rep1,
45 lsu_exu_ld_data_b,
46 lsu_exu_ld_data_b_rep00,
47 lsu_exu_ld_data_b_rep01,
48 fgu_cecc_fx2,
49 fgu_uecc_fx2,
50 fgu_cecc_fx2_rep1,
51 fgu_uecc_fx2_rep1,
52 pce_ov,
53 spc_aclk,
54 spc_bclk,
55 spc_aclk_wmr,
56 lb_scan_en,
57 scan_in,
58 tcu_pce_ov,
59 tcu_aclk,
60 tcu_bclk,
61 tcu_dectest,
62 tcu_muxtest,
63 tcu_scan_en,
64 tcu_array_wr_inhibit,
65 tcu_se_scancollar_in,
66 tcu_se_scancollar_out,
67 rst_wmr_protect,
68 dmo_dcmuxctl,
69 hver_mask_minor_rev,
70 scan_out,
71 tcu_shscan_pce_ov,
72 tcu_shscan_aclk,
73 tcu_shscan_bclk,
74 tcu_shscan_scan_in,
75 tcu_shscan_scan_en,
76 spc_shscan_scan_out,
77 cluster_arst_l,
78 tcu_spc_mbist_scan_in,
79 tcu_spc_mbist_start_ff,
80 spc_mbist_fail,
81 spc_mbist_done,
82 spc_tcu_mbist_scan_out,
83 tcu_spc_lbist_start,
84 tcu_spc_lbist_scan_in,
85 tcu_spc_lbist_pgm,
86 tcu_spc_test_mode,
87 spc_tcu_lbist_done,
88 spc_tcu_lbist_scan_out,
89 scan_in_buf,
90 tcu_pce_ov_buf,
91 tcu_aclk_buf,
92 tcu_bclk_buf,
93 tcu_dectest_buf,
94 tcu_muxtest_buf,
95 tcu_scan_en_buf,
96 tcu_array_wr_inhibit_buf,
97 tcu_se_scancollar_in_buf,
98 tcu_se_scancollar_out_buf,
99 rst_wmr_protect_buf,
100 dmo_dcmuxctl_buf,
101 hver_mask_minor_rev_buf,
102 scan_out_buf,
103 tcu_shscan_pce_ov_buf,
104 tcu_shscan_aclk_buf,
105 tcu_shscan_bclk_buf,
106 tcu_shscan_scan_in_buf,
107 tcu_shscan_scan_en_buf,
108 spc_shscan_scan_out_buf,
109 cluster_arst_l_buf,
110 tcu_spc_mbist_scan_in_buf,
111 tcu_spc_mbist_start_buf0,
112 spc_mbist_fail_ff,
113 spc_mbist_done_ff,
114 spc_tcu_mbist_scan_out_buf,
115 tcu_spc_lbist_start_buf,
116 tcu_spc_lbist_scan_in_buf,
117 tcu_spc_lbist_pgm_buf,
118 tcu_spc_test_mode_buf,
119 lb_lbist_done,
120 spc_tcu_lbist_scan_out_buf,
121 ftu_instr_0_c,
122 ftu_instr_1_c,
123 ftu_instr_2_c,
124 ftu_instr_3_c,
125 ftu_instr_exceptions_c,
126 ftu_instr_0_c_rep0,
127 ftu_instr_0_c_rep1,
128 ftu_instr_0_c_rep2,
129 ftu_instr_0_c_rep3,
130 ftu_instr_1_c_rep0,
131 ftu_instr_1_c_rep1,
132 ftu_instr_1_c_rep2,
133 ftu_instr_1_c_rep3,
134 ftu_instr_2_c_rep0,
135 ftu_instr_2_c_rep1,
136 ftu_instr_2_c_rep2,
137 ftu_instr_2_c_rep3,
138 ftu_instr_3_c_rep0,
139 ftu_instr_3_c_rep1,
140 ftu_instr_3_c_rep2,
141 ftu_instr_3_c_rep3,
142 ftu_instr_0_exceptions_c_rep0,
143 ftu_instr_0_exceptions_c_rep1,
144 ftu_instr_0_exceptions_c_rep2,
145 ftu_instr_0_exceptions_c_rep3,
146 ftu_instr_1_exceptions_c_rep0,
147 ftu_instr_1_exceptions_c_rep1,
148 ftu_instr_1_exceptions_c_rep2,
149 ftu_instr_1_exceptions_c_rep3,
150 ftu_instr_2_exceptions_c_rep0,
151 ftu_instr_2_exceptions_c_rep1,
152 ftu_instr_2_exceptions_c_rep2,
153 ftu_instr_2_exceptions_c_rep3,
154 ftu_instr_3_exceptions_c_rep0,
155 ftu_instr_3_exceptions_c_rep1,
156 ftu_instr_3_exceptions_c_rep2,
157 ftu_instr_3_exceptions_c_rep3,
158 pce_ov_tl,
159 spc_aclk_tl,
160 spc_bclk_tl,
161 spc_aclk_wmr_tl,
162 lb_scan_en_tl,
163 pce_ov_tr,
164 spc_aclk_tr,
165 spc_bclk_tr,
166 spc_aclk_wmr_tr,
167 lb_scan_en_tr,
168 pce_ov_bl,
169 spc_aclk_bl,
170 spc_bclk_bl,
171 spc_aclk_wmr_bl,
172 lb_scan_en_bl,
173 pce_ov_br,
174 spc_aclk_br,
175 spc_bclk_br,
176 spc_aclk_wmr_br,
177 lb_scan_en_br,
178 dec_spu_grant_d,
179 dec_spu_grant_d_rep0);
180wire fgu_cecc_fx2_rep0;
181wire fgu_uecc_fx2_rep0;
182
183
184input [47:0] exu_address0_e;
185input [47:0] exu_address1_e;
186
187output [47:0] exu_address0_e_rep0;
188output [47:0] exu_address1_e_rep0;
189output [47:0] exu_address0_e_rep01;
190output [47:0] exu_address1_e_rep01;
191
192input [63:0] fgu_exu_result_fx5;
193output [63:0] fgu_exu_result_fx5_rep0;
194output [63:0] fgu_exu_result_fx5_rep1;
195
196input [63:0] lsu_exu_ld_data_b;
197output [63:0] lsu_exu_ld_data_b_rep00;
198output [63:0] lsu_exu_ld_data_b_rep01;
199
200input fgu_cecc_fx2;
201input fgu_uecc_fx2;
202output fgu_cecc_fx2_rep1;
203output fgu_uecc_fx2_rep1;
204
205// high-fanout nets that need buffering
206input pce_ov; // from cluster header
207input spc_aclk; // from cluster header
208input spc_bclk; // from cluster header
209input spc_aclk_wmr; // from cluster header
210input lb_scan_en; // from spc_lb_ctl
211
212
213// Next few are primary I/O's needing buffers and/or flops
214input [1:0] scan_in;
215input tcu_pce_ov;
216input tcu_aclk;
217input tcu_bclk;
218input tcu_dectest;
219input tcu_muxtest;
220input tcu_scan_en;
221input tcu_array_wr_inhibit;
222input tcu_se_scancollar_in;
223input tcu_se_scancollar_out;
224input rst_wmr_protect;
225
226input dmo_dcmuxctl;
227input [3:0] hver_mask_minor_rev;
228
229output [1:0] scan_out;
230
231// shadow scan signals
232input tcu_shscan_pce_ov;
233input tcu_shscan_aclk;
234input tcu_shscan_bclk;
235input tcu_shscan_scan_in;
236input tcu_shscan_scan_en;
237output spc_shscan_scan_out;
238
239// From RST
240input cluster_arst_l;
241
242// MBIST signals
243input tcu_spc_mbist_scan_in;
244input tcu_spc_mbist_start_ff; // input flop + buffer
245output spc_mbist_fail; // flop + output buffer
246output spc_mbist_done; // flop + output buffer
247output spc_tcu_mbist_scan_out;
248
249// Logic BIST signals
250input tcu_spc_lbist_start; // buffer
251input tcu_spc_lbist_scan_in;
252input tcu_spc_lbist_pgm;
253input tcu_spc_test_mode;
254
255output spc_tcu_lbist_done; // output buffer
256output spc_tcu_lbist_scan_out;
257
258// and the I/O from the internals of SPC for these signals
259
260output [1:0] scan_in_buf;
261output tcu_pce_ov_buf;
262output tcu_aclk_buf;
263output tcu_bclk_buf;
264output tcu_dectest_buf;
265output tcu_muxtest_buf;
266output tcu_scan_en_buf;
267output tcu_array_wr_inhibit_buf;
268output tcu_se_scancollar_in_buf;
269output tcu_se_scancollar_out_buf;
270output rst_wmr_protect_buf;
271
272output dmo_dcmuxctl_buf;
273output [3:0] hver_mask_minor_rev_buf;
274
275input [1:0] scan_out_buf;
276
277// shadow scan signals
278output tcu_shscan_pce_ov_buf;
279output tcu_shscan_aclk_buf;
280output tcu_shscan_bclk_buf;
281output tcu_shscan_scan_in_buf;
282output tcu_shscan_scan_en_buf;
283input spc_shscan_scan_out_buf;
284
285// From RST
286output cluster_arst_l_buf;
287
288// MBIST signals
289output tcu_spc_mbist_scan_in_buf;
290output tcu_spc_mbist_start_buf0;
291input spc_mbist_fail_ff;
292input spc_mbist_done_ff;
293input spc_tcu_mbist_scan_out_buf;
294
295// Logic BIST signals
296output tcu_spc_lbist_start_buf;
297output tcu_spc_lbist_scan_in_buf;
298output tcu_spc_lbist_pgm_buf;
299output tcu_spc_test_mode_buf;
300
301input lb_lbist_done;
302input spc_tcu_lbist_scan_out_buf;
303
304/////////////////////////////////////////////////////////
305// Added the following for ifu_ftu //
306/////////////////////////////////////////////////////////
307input [32:0] ftu_instr_0_c ;
308input [32:0] ftu_instr_1_c ;
309input [32:0] ftu_instr_2_c ;
310input [32:0] ftu_instr_3_c ;
311
312input [4:0] ftu_instr_exceptions_c;
313
314output [32:0] ftu_instr_0_c_rep0 ;
315output [32:0] ftu_instr_0_c_rep1 ;
316output [32:0] ftu_instr_0_c_rep2 ;
317output [32:0] ftu_instr_0_c_rep3 ;
318output [32:0] ftu_instr_1_c_rep0 ;
319output [32:0] ftu_instr_1_c_rep1 ;
320output [32:0] ftu_instr_1_c_rep2 ;
321output [32:0] ftu_instr_1_c_rep3 ;
322output [32:0] ftu_instr_2_c_rep0 ;
323output [32:0] ftu_instr_2_c_rep1 ;
324output [32:0] ftu_instr_2_c_rep2 ;
325output [32:0] ftu_instr_2_c_rep3 ;
326output [32:0] ftu_instr_3_c_rep0 ;
327output [32:0] ftu_instr_3_c_rep1 ;
328output [32:0] ftu_instr_3_c_rep2 ;
329output [32:0] ftu_instr_3_c_rep3 ;
330
331output [4:0] ftu_instr_0_exceptions_c_rep0;
332output [4:0] ftu_instr_0_exceptions_c_rep1;
333output [4:0] ftu_instr_0_exceptions_c_rep2;
334output [4:0] ftu_instr_0_exceptions_c_rep3;
335
336output [4:0] ftu_instr_1_exceptions_c_rep0;
337output [4:0] ftu_instr_1_exceptions_c_rep1;
338output [4:0] ftu_instr_1_exceptions_c_rep2;
339output [4:0] ftu_instr_1_exceptions_c_rep3;
340
341output [4:0] ftu_instr_2_exceptions_c_rep0;
342output [4:0] ftu_instr_2_exceptions_c_rep1;
343output [4:0] ftu_instr_2_exceptions_c_rep2;
344output [4:0] ftu_instr_2_exceptions_c_rep3;
345
346output [4:0] ftu_instr_3_exceptions_c_rep0;
347output [4:0] ftu_instr_3_exceptions_c_rep1;
348output [4:0] ftu_instr_3_exceptions_c_rep2;
349output [4:0] ftu_instr_3_exceptions_c_rep3;
350
351
352output pce_ov_tl;
353output spc_aclk_tl;
354output spc_bclk_tl;
355output spc_aclk_wmr_tl;
356output lb_scan_en_tl;
357
358output pce_ov_tr;
359output spc_aclk_tr;
360output spc_bclk_tr;
361output spc_aclk_wmr_tr;
362output lb_scan_en_tr;
363
364output pce_ov_bl;
365output spc_aclk_bl;
366output spc_bclk_bl;
367output spc_aclk_wmr_bl;
368output lb_scan_en_bl;
369
370output pce_ov_br;
371output spc_aclk_br;
372output spc_bclk_br;
373output spc_aclk_wmr_br;
374output lb_scan_en_br;
375
376
377////////////// END ifu_ftu /////////////////////////////////////
378
379// dec -> spu_mct_ctl
380input dec_spu_grant_d;
381output dec_spu_grant_d_rep0;
382
383spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__vertical_1__width_37 chip_io_rep0 (
384 .din ({scan_in[1:0], tcu_pce_ov, tcu_aclk, tcu_bclk, tcu_dectest, tcu_muxtest, tcu_scan_en, tcu_array_wr_inhibit,
385 tcu_se_scancollar_in, tcu_se_scancollar_out, rst_wmr_protect, scan_out_buf[1:0], tcu_shscan_pce_ov,
386 tcu_shscan_aclk, tcu_shscan_bclk, tcu_shscan_scan_in, tcu_shscan_scan_en, spc_shscan_scan_out_buf,
387 cluster_arst_l, tcu_spc_mbist_scan_in, tcu_spc_mbist_start_ff, spc_mbist_fail_ff,
388 spc_mbist_done_ff, spc_tcu_mbist_scan_out_buf, tcu_spc_lbist_start, tcu_spc_lbist_scan_in, tcu_spc_lbist_pgm,
389 tcu_spc_test_mode, lb_lbist_done, spc_tcu_lbist_scan_out_buf, dmo_dcmuxctl, hver_mask_minor_rev[3:0]}),
390
391 .dout ({scan_in_buf[1:0], tcu_pce_ov_buf, tcu_aclk_buf, tcu_bclk_buf, tcu_dectest_buf, tcu_muxtest_buf, tcu_scan_en_buf, tcu_array_wr_inhibit_buf,
392 tcu_se_scancollar_in_buf, tcu_se_scancollar_out_buf, rst_wmr_protect_buf, scan_out[1:0], tcu_shscan_pce_ov_buf,
393 tcu_shscan_aclk_buf, tcu_shscan_bclk_buf, tcu_shscan_scan_in_buf, tcu_shscan_scan_en_buf, spc_shscan_scan_out,
394 cluster_arst_l_buf, tcu_spc_mbist_scan_in_buf, tcu_spc_mbist_start_buf0, spc_mbist_fail,
395 spc_mbist_done, spc_tcu_mbist_scan_out, tcu_spc_lbist_start_buf, tcu_spc_lbist_scan_in_buf, tcu_spc_lbist_pgm_buf,
396 tcu_spc_test_mode_buf, spc_tcu_lbist_done, spc_tcu_lbist_scan_out, dmo_dcmuxctl_buf, hver_mask_minor_rev_buf[3:0]})
397 );
398
399spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__width_1 spu_grant_rep0 (
400 .din (dec_spu_grant_d),
401 .dout(dec_spu_grant_d_rep0)
402 );
403
404
405// end dec -> spu_mct_ctl
406
407// high-fanout buffering
408spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__width_5 hf_tl_rep0 (
409 .din ({pce_ov,spc_aclk,spc_bclk,spc_aclk_wmr,lb_scan_en}),
410 .dout({pce_ov_tl,spc_aclk_tl,spc_bclk_tl,spc_aclk_wmr_tl,lb_scan_en_tl})
411 );
412
413spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__width_5 hf_tr_rep0 (
414 .din ({pce_ov,spc_aclk,spc_bclk,spc_aclk_wmr,lb_scan_en}),
415 .dout({pce_ov_tr,spc_aclk_tr,spc_bclk_tr,spc_aclk_wmr_tr,lb_scan_en_tr})
416 );
417
418spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__width_5 hf_br_rep0 (
419 .din ({pce_ov,spc_aclk,spc_bclk,spc_aclk_wmr,lb_scan_en}),
420 .dout({pce_ov_br,spc_aclk_br,spc_bclk_br,spc_aclk_wmr_br,lb_scan_en_br})
421 );
422
423spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__width_5 hf_bl_rep0 (
424 .din ({pce_ov,spc_aclk,spc_bclk,spc_aclk_wmr,lb_scan_en}),
425 .dout({pce_ov_bl,spc_aclk_bl,spc_bclk_bl,spc_aclk_wmr_bl,lb_scan_en_bl})
426 );
427
428///////////////////////////////////////////////////////////////
429/////////////////////////////////////////////////////////
430// Added the following for ifu_ftu //
431// All exception buses are the same and interchangeable//
432// The exception buses are connected to the closest //
433// buffer. //
434/////////////////////////////////////////////////////////
435spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_0_rep0 (
436 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_0_c[32:0] } ),
437 .dout({ftu_instr_0_exceptions_c_rep0[4:0] , ftu_instr_0_c_rep0[32:0]})
438 );
439
440spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_0_rep1 (
441 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_0_c[32:0] } ),
442 .dout({ftu_instr_0_exceptions_c_rep1[4:0] , ftu_instr_0_c_rep1[32:0]})
443 );
444
445spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_0_rep2 (
446 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_0_c[32:0] } ),
447 .dout({ftu_instr_0_exceptions_c_rep2[4:0] , ftu_instr_0_c_rep2[32:0]})
448 );
449
450spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_0_rep3 (
451 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_0_c[32:0] } ),
452 .dout({ftu_instr_0_exceptions_c_rep3[4:0] , ftu_instr_0_c_rep3[32:0]})
453 );
454
455spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_1_rep0 (
456 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_1_c[32:0] } ),
457 .dout({ftu_instr_1_exceptions_c_rep0[4:0] , ftu_instr_1_c_rep0[32:0]})
458 );
459
460spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_1_rep1 (
461 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_1_c[32:0] } ),
462 .dout({ftu_instr_1_exceptions_c_rep1[4:0] , ftu_instr_1_c_rep1[32:0]})
463 );
464
465spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_1_rep2 (
466 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_1_c[32:0] } ),
467 .dout({ftu_instr_1_exceptions_c_rep2[4:0] , ftu_instr_1_c_rep2[32:0]})
468 );
469
470spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_1_rep3 (
471 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_1_c[32:0] } ),
472 .dout({ftu_instr_1_exceptions_c_rep3[4:0] , ftu_instr_1_c_rep3[32:0]})
473 );
474
475spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_2_rep0 (
476 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_2_c[32:0] } ),
477 .dout({ftu_instr_2_exceptions_c_rep0[4:0] , ftu_instr_2_c_rep0[32:0]})
478 );
479
480spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_2_rep1 (
481 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_2_c[32:0] } ),
482 .dout({ftu_instr_2_exceptions_c_rep1[4:0] , ftu_instr_2_c_rep1[32:0]})
483 );
484
485spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_2_rep2 (
486 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_2_c[32:0] } ),
487 .dout({ftu_instr_2_exceptions_c_rep2[4:0] , ftu_instr_2_c_rep2[32:0]})
488 );
489
490spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_2_rep3 (
491 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_2_c[32:0] } ),
492 .dout({ftu_instr_2_exceptions_c_rep3[4:0] , ftu_instr_2_c_rep3[32:0]})
493 );
494
495spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_3_rep0 (
496 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_3_c[32:0] } ),
497 .dout({ftu_instr_3_exceptions_c_rep0[4:0] , ftu_instr_3_c_rep0[32:0]})
498 );
499spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_3_rep1 (
500 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_3_c[32:0] } ),
501 .dout({ftu_instr_3_exceptions_c_rep1[4:0] , ftu_instr_3_c_rep1[32:0]})
502 );
503spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_3_rep2 (
504 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_3_c[32:0] } ),
505 .dout({ftu_instr_3_exceptions_c_rep2[4:0] , ftu_instr_3_c_rep2[32:0]})
506 );
507spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 ftu_instr_3_rep3 (
508 .din ({ftu_instr_exceptions_c[4:0], ftu_instr_3_c[32:0] } ),
509 .dout({ftu_instr_3_exceptions_c_rep3[4:0] , ftu_instr_3_c_rep3[32:0]})
510 );
511
512////////////// END ifu_ftu /////////////////////////////////////
513
514// exu_address; buffer off the less critical ifu/tlu load to
515// improve timing on the path to lsu
516
517spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_64c__width_48 i_exu_address0_e_rep0 (
518 .din (exu_address0_e[47:0]),
519 .dout(exu_address0_e_rep0[47:0])
520);
521spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_50c__width_48 i_exu_address0_e_rep01 (
522 .din (exu_address0_e_rep0[47:0]),
523 .dout(exu_address0_e_rep01[47:0])
524);
525spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_64c__width_48 i_exu_address1_e_rep0 (
526 .din (exu_address1_e[47:0]),
527 .dout(exu_address1_e_rep0[47:0])
528);
529spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_50c__width_48 i_exu_address1_e_rep01 (
530 .din (exu_address1_e_rep0[47:0]),
531 .dout(exu_address1_e_rep01[47:0])
532);
533
534spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__top_lsb__vertical_1__width_32 i_fgu_exu_result_fx5_rep0a (
535 .din (fgu_exu_result_fx5[31:0]),
536 .dout (fgu_exu_result_fx5_rep0[31:0])
537);
538spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__top_lsb__vertical_1__width_32 i_fgu_exu_result_fx5_rep0b (
539 .din (fgu_exu_result_fx5[63:32]),
540 .dout (fgu_exu_result_fx5_rep0[63:32])
541);
542
543spc_rep1_dpbuff_macro__dbuff_16x__rep_1__stack_none__top_lsb__vertical_1__width_32 i_fgu_exu_result_fx5_rep1a (
544 .din (fgu_exu_result_fx5_rep0[31:0]),
545 .dout (fgu_exu_result_fx5_rep1[31:0])
546);
547spc_rep1_dpbuff_macro__dbuff_16x__rep_1__stack_none__top_lsb__vertical_1__width_32 i_fgu_exu_result_fx5_rep1b (
548 .din (fgu_exu_result_fx5_rep0[63:32]),
549 .dout (fgu_exu_result_fx5_rep1[63:32])
550);
551
552// lsu_exu_ld_data_b
553spc_rep1_dpbuff_macro__dbuff_16x__rep_1__stack_72c__width_64 i_lsu_exu_ld_data_rep00 (
554 .din (lsu_exu_ld_data_b[63:0]),
555 .dout(lsu_exu_ld_data_b_rep00[63:0])
556);
557spc_rep1_dpbuff_macro__dbuff_16x__rep_1__stack_72c__width_64 i_lsu_exu_ld_data_rep01 (
558 .din (lsu_exu_ld_data_b[63:0]),
559 .dout(lsu_exu_ld_data_b_rep01[63:0])
560);
561
562spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__width_2 i_fgu_ecc_fx2_rep0 (
563 .din ({fgu_cecc_fx2, fgu_uecc_fx2 }),
564 .dout({fgu_cecc_fx2_rep0, fgu_uecc_fx2_rep0})
565);
566
567spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__vertical_1__width_2 i_fgu_ecc_fx2_rep1 (
568 .din ({fgu_cecc_fx2_rep0, fgu_uecc_fx2_rep0}),
569 .dout({fgu_cecc_fx2_rep1, fgu_uecc_fx2_rep1})
570);
571
572
573endmodule
574
575
576//
577// buff macro
578//
579//
580
581
582
583
584
585module spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__vertical_1__width_37 (
586 din,
587 dout);
588 input [36:0] din;
589 output [36:0] dout;
590
591
592
593
594
595
596buff #(37) d0_0 (
597.in(din[36:0]),
598.out(dout[36:0])
599);
600
601
602
603
604
605
606
607
608endmodule
609
610
611
612
613
614//
615// buff macro
616//
617//
618
619
620
621
622
623module spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__width_1 (
624 din,
625 dout);
626 input [0:0] din;
627 output [0:0] dout;
628
629
630
631
632
633
634buff #(1) d0_0 (
635.in(din[0:0]),
636.out(dout[0:0])
637);
638
639
640
641
642
643
644
645
646endmodule
647
648
649
650
651
652//
653// buff macro
654//
655//
656
657
658
659
660
661module spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__width_5 (
662 din,
663 dout);
664 input [4:0] din;
665 output [4:0] dout;
666
667
668
669
670
671
672buff #(5) d0_0 (
673.in(din[4:0]),
674.out(dout[4:0])
675);
676
677
678
679
680
681
682
683
684endmodule
685
686
687
688
689
690//
691// buff macro
692//
693//
694
695
696
697
698
699module spc_rep1_dpbuff_macro__dbuff_48x__rep_1__stack_38c__width_38 (
700 din,
701 dout);
702 input [37:0] din;
703 output [37:0] dout;
704
705
706
707
708
709
710buff #(38) d0_0 (
711.in(din[37:0]),
712.out(dout[37:0])
713);
714
715
716
717
718
719
720
721
722endmodule
723
724
725
726
727
728//
729// buff macro
730//
731//
732
733
734
735
736
737module spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_64c__width_48 (
738 din,
739 dout);
740 input [47:0] din;
741 output [47:0] dout;
742
743
744
745
746
747
748buff #(48) d0_0 (
749.in(din[47:0]),
750.out(dout[47:0])
751);
752
753
754
755
756
757
758
759
760endmodule
761
762
763
764
765
766//
767// buff macro
768//
769//
770
771
772
773
774
775module spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_50c__width_48 (
776 din,
777 dout);
778 input [47:0] din;
779 output [47:0] dout;
780
781
782
783
784
785
786buff #(48) d0_0 (
787.in(din[47:0]),
788.out(dout[47:0])
789);
790
791
792
793
794
795
796
797
798endmodule
799
800
801
802
803
804//
805// buff macro
806//
807//
808
809
810
811
812
813module spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__top_lsb__vertical_1__width_32 (
814 din,
815 dout);
816 input [31:0] din;
817 output [31:0] dout;
818
819
820
821
822
823
824buff #(32) d0_0 (
825.in(din[31:0]),
826.out(dout[31:0])
827);
828
829
830
831
832
833
834
835
836endmodule
837
838
839
840
841
842//
843// buff macro
844//
845//
846
847
848
849
850
851module spc_rep1_dpbuff_macro__dbuff_16x__rep_1__stack_none__top_lsb__vertical_1__width_32 (
852 din,
853 dout);
854 input [31:0] din;
855 output [31:0] dout;
856
857
858
859
860
861
862buff #(32) d0_0 (
863.in(din[31:0]),
864.out(dout[31:0])
865);
866
867
868
869
870
871
872
873
874endmodule
875
876
877
878
879
880//
881// buff macro
882//
883//
884
885
886
887
888
889module spc_rep1_dpbuff_macro__dbuff_16x__rep_1__stack_72c__width_64 (
890 din,
891 dout);
892 input [63:0] din;
893 output [63:0] dout;
894
895
896
897
898
899
900buff #(64) d0_0 (
901.in(din[63:0]),
902.out(dout[63:0])
903);
904
905
906
907
908
909
910
911
912endmodule
913
914
915
916
917
918//
919// buff macro
920//
921//
922
923
924
925
926
927module spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__width_2 (
928 din,
929 dout);
930 input [1:0] din;
931 output [1:0] dout;
932
933
934
935
936
937
938buff #(2) d0_0 (
939.in(din[1:0]),
940.out(dout[1:0])
941);
942
943
944
945
946
947
948
949
950endmodule
951
952
953
954
955
956//
957// buff macro
958//
959//
960
961
962
963
964
965module spc_rep1_dpbuff_macro__dbuff_32x__rep_1__stack_none__vertical_1__width_2 (
966 din,
967 dout);
968 input [1:0] din;
969 output [1:0] dout;
970
971
972
973
974
975
976buff #(2) d0_0 (
977.in(din[1:0]),
978.out(dout[1:0])
979);
980
981
982
983
984
985
986
987
988endmodule
989
990
991
992