Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / ccx / rtl / cpx_mcr_dp.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: cpx_mcr_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 ============================================
35`ifndef FPGA
36module cpx_mcr_dp (
37 data_out_x_,
38 arb_grant_a,
39 arb_qsel0_a,
40 arb_qsel1_a,
41 arb_q0_holdbar_a,
42 arb_shift_a,
43 src_cpx_data_a,
44 data_crit_x_,
45 data_ncrit_x_,
46 l2clk,
47 scan_in,
48 tcu_pce_ov,
49 ccx_aclk,
50 ccx_bclk,
51 tcu_scan_en,
52 scan_out,
53 ccx_aclk_out,
54 ccx_bclk_out,
55 tcu_pce_ov_out,
56 tcu_scan_en_out);
57wire pce_ov;
58wire stop;
59wire siclk_in;
60wire soclk_in;
61wire se;
62wire [149:0] src_data_a;
63wire l1clka;
64wire l1clkb;
65wire i0_scanin;
66wire i0_scanout;
67wire i1_scanin;
68wire i1_scanout;
69wire i2_scanin;
70wire i2_scanout;
71wire i3_scanin;
72wire i3_scanout;
73wire i4_scanin;
74wire i4_scanout;
75wire i5_scanin;
76wire i5_scanout;
77wire i6_scanin;
78wire i6_scanout;
79wire i7_scanin;
80wire i7_scanout;
81wire i8_scanin;
82wire i8_scanout;
83wire i9_scanin;
84wire i9_scanout;
85wire i10_scanin;
86wire i10_scanout;
87wire i11_scanin;
88wire i11_scanout;
89wire i12_scanin;
90wire i12_scanout;
91wire i13_scanin;
92wire i13_scanout;
93wire i14_scanin;
94wire i14_scanout;
95
96
97output [149:0] data_out_x_;
98
99input arb_grant_a;
100input arb_qsel0_a;
101input arb_qsel1_a;
102input arb_q0_holdbar_a;
103input arb_shift_a;
104
105
106input [149:0] src_cpx_data_a;
107input [149:0] data_crit_x_;
108input [149:0] data_ncrit_x_;
109
110// globals
111input l2clk;
112input scan_in;
113input tcu_pce_ov; // scan signals
114input ccx_aclk;
115input ccx_bclk;
116input tcu_scan_en;
117
118output scan_out;
119
120// buffer the high fanout nets
121output ccx_aclk_out;
122output ccx_bclk_out;
123output tcu_pce_ov_out;
124output tcu_scan_en_out;
125
126// scan renames
127assign pce_ov = tcu_pce_ov_out;
128assign stop = 1'b0;
129assign siclk_in = ccx_aclk_out;
130assign soclk_in = ccx_bclk_out;
131assign se = tcu_scan_en_out ;
132// end scan
133
134assign src_data_a[149:0] = src_cpx_data_a[149:0];
135
136//cl_dp1_l1hdr_24x gkt_hdr (
137//.l2clk(l2clk),
138//.pce(1'b1),
139//.aclk(siclk),
140//.bclk(soclk),
141//.siclk_out(siclk_out_unused),
142//.soclk_out(soclk_out_unused),
143//.l1clk(l1clk),
144//.pce_ov(pce_ov),
145//.stop(stop)
146//);
147//
148
149//l1clkhdr_dp_macro gkt_hdra
150// (
151// .l2clk (l2clk),
152// .l1en (1'b1 ),
153// .siclk_out (sia_unused),
154// .soclk_out (soa_unused),
155// .l1clk (l1clka)
156// );
157
158//l1clkhdr_dp_macro gkt_hdrb
159// (
160// .l2clk (l2clk),
161// .l1en (1'b1 ),
162// .siclk_out (sib_unused),
163// .soclk_out (sob_unused),
164// .l1clk (l1clkb)
165// );
166
167cpx_mcr_dp_buff_macro__dbuff_8x__stack_none__vertical_1__width_4 buf_hfn (
168 .din ({ccx_aclk,ccx_bclk, tcu_pce_ov, tcu_scan_en}),
169 .dout ({ccx_aclk_out,ccx_bclk_out,tcu_pce_ov_out,tcu_scan_en_out})
170);
171
172cpx_mcr_dp_ccx_l1clkhdr_ctl_macro__dl1hdr_24x gkt_hdra
173 (
174 .l2clk (l2clk),
175 .l1en (1'b1 ),
176 .l1clk (l1clka),
177 .pce_ov(pce_ov),
178 .stop(stop),
179 .se(se)
180 );
181
182cpx_mcr_dp_ccx_l1clkhdr_ctl_macro__dl1hdr_24x gkt_hdrb
183 (
184 .l2clk (l2clk),
185 .l1en (1'b1 ),
186 .l1clk (l1clkb),
187 .pce_ov(pce_ov),
188 .stop(stop),
189 .se(se)
190 );
191
192// ccx_new_macro_c AUTO_TEMPLATE
193// (
194//.l2clk (l2clk),
195//.l1clk (l1clk),
196//.pce0 (arb_q0_holdbar_a),
197//.pce1 (arb_qsel1_a),
198//.pce_ov (pce_ov),
199//.stop (stop),
200//.siclk_in (siclk_in),
201//.soclk_in (soclk_in),
202//.scan_in (scan_in),
203//.grant_a (arb_grant_a),
204//.qsel0 (arb_qsel0_a),
205//.shift (arb_shift_a),
206//.data_a (src_data_a[@"(+ 9 (* 10 @))":@"(* 10 @)"]),
207//.data_crit_x_l (data_crit_x_[@"(+ 9 (* 10 @))":@"(* 10 @)"]),
208//.data_ncrit_x_l (data_ncrit_x_[@"(+ 9 (* 10 @))":@"(* 10 @)"]),
209//.data_x_l (data_out_x_[@"(+ 9 (* 10 @))":@"(* 10 @)"]),
210//);
211
212
213cpx_mcr_dp_ccx_new_macro__type_c_r i0 (
214 // Outputs
215 .data_x_l (data_out_x_[9:0]), // Templated
216 // Inputs
217 .scan_in(i0_scanin),
218 .scan_out(i0_scanout),
219 .l2clk (l2clk), // Templated
220 .l1clk (l1clka), // Templated
221 .pce0 (arb_q0_holdbar_a), // Templated
222 .pce1 (arb_qsel1_a), // Templated
223 .pce_ov (pce_ov), // Templated
224 .stop (stop), // Templated
225 .siclk_in (siclk_in), // Templated
226 .soclk_in (soclk_in), // Templated
227 .grant_a (arb_grant_a), // Templated
228 .qsel0 (arb_qsel0_a), // Templated
229 .shift (arb_shift_a), // Templated
230 .data_a (src_data_a[9:0]), // Templated
231 .data_crit_x_l (data_crit_x_[9:0]), // Templated
232 .data_ncrit_x_l (data_ncrit_x_[9:0]),
233 .se(se)); // Templated
234
235cpx_mcr_dp_ccx_new_macro__type_c_r i1 (
236 // Outputs
237 .data_x_l (data_out_x_[19:10]), // Templated
238 // Inputs
239 .scan_in(i1_scanin),
240 .scan_out(i1_scanout),
241 .l2clk (l2clk), // Templated
242 .l1clk (l1clka), // Templated
243 .pce0 (arb_q0_holdbar_a), // Templated
244 .pce1 (arb_qsel1_a), // Templated
245 .pce_ov (pce_ov), // Templated
246 .stop (stop), // Templated
247 .siclk_in (siclk_in), // Templated
248 .soclk_in (soclk_in), // Templated
249 .grant_a (arb_grant_a), // Templated
250 .qsel0 (arb_qsel0_a), // Templated
251 .shift (arb_shift_a), // Templated
252 .data_a (src_data_a[19:10]), // Templated
253 .data_crit_x_l (data_crit_x_[19:10]), // Templated
254 .data_ncrit_x_l (data_ncrit_x_[19:10]),
255 .se(se)); // Templated
256
257cpx_mcr_dp_ccx_new_macro__type_c_r i2 (
258 // Outputs
259 .data_x_l (data_out_x_[29:20]), // Templated
260 // Inputs
261 .scan_in(i2_scanin),
262 .scan_out(i2_scanout),
263 .l2clk (l2clk), // Templated
264 .l1clk (l1clka), // Templated
265 .pce0 (arb_q0_holdbar_a), // Templated
266 .pce1 (arb_qsel1_a), // Templated
267 .pce_ov (pce_ov), // Templated
268 .stop (stop), // Templated
269 .siclk_in (siclk_in), // Templated
270 .soclk_in (soclk_in), // Templated
271 .grant_a (arb_grant_a), // Templated
272 .qsel0 (arb_qsel0_a), // Templated
273 .shift (arb_shift_a), // Templated
274 .data_a (src_data_a[29:20]), // Templated
275 .data_crit_x_l (data_crit_x_[29:20]), // Templated
276 .data_ncrit_x_l (data_ncrit_x_[29:20]),
277 .se(se)); // Templated
278cpx_mcr_dp_ccx_new_macro__type_c_r i3 (
279 // Outputs
280 .data_x_l (data_out_x_[39:30]), // Templated
281 // Inputs
282 .scan_in(i3_scanin),
283 .scan_out(i3_scanout),
284 .l2clk (l2clk), // Templated
285 .l1clk (l1clka), // Templated
286 .pce0 (arb_q0_holdbar_a), // Templated
287 .pce1 (arb_qsel1_a), // Templated
288 .pce_ov (pce_ov), // Templated
289 .stop (stop), // Templated
290 .siclk_in (siclk_in), // Templated
291 .soclk_in (soclk_in), // Templated
292 .grant_a (arb_grant_a), // Templated
293 .qsel0 (arb_qsel0_a), // Templated
294 .shift (arb_shift_a), // Templated
295 .data_a (src_data_a[39:30]), // Templated
296 .data_crit_x_l (data_crit_x_[39:30]), // Templated
297 .data_ncrit_x_l (data_ncrit_x_[39:30]),
298 .se(se)); // Templated
299cpx_mcr_dp_ccx_new_macro__type_c_r i4 (
300 // Outputs
301 .data_x_l (data_out_x_[49:40]), // Templated
302 // Inputs
303 .scan_in(i4_scanin),
304 .scan_out(i4_scanout),
305 .l2clk (l2clk), // Templated
306 .l1clk (l1clka), // Templated
307 .pce0 (arb_q0_holdbar_a), // Templated
308 .pce1 (arb_qsel1_a), // Templated
309 .pce_ov (pce_ov), // Templated
310 .stop (stop), // Templated
311 .siclk_in (siclk_in), // Templated
312 .soclk_in (soclk_in), // Templated
313 .grant_a (arb_grant_a), // Templated
314 .qsel0 (arb_qsel0_a), // Templated
315 .shift (arb_shift_a), // Templated
316 .data_a (src_data_a[49:40]), // Templated
317 .data_crit_x_l (data_crit_x_[49:40]), // Templated
318 .data_ncrit_x_l (data_ncrit_x_[49:40]),
319 .se(se)); // Templated
320cpx_mcr_dp_ccx_new_macro__type_c_r i5 (
321 // Outputs
322 .data_x_l (data_out_x_[59:50]), // Templated
323 // Inputs
324 .scan_in(i5_scanin),
325 .scan_out(i5_scanout),
326 .l2clk (l2clk), // Templated
327 .l1clk (l1clka), // Templated
328 .pce0 (arb_q0_holdbar_a), // Templated
329 .pce1 (arb_qsel1_a), // Templated
330 .pce_ov (pce_ov), // Templated
331 .stop (stop), // Templated
332 .siclk_in (siclk_in), // Templated
333 .soclk_in (soclk_in), // Templated
334 .grant_a (arb_grant_a), // Templated
335 .qsel0 (arb_qsel0_a), // Templated
336 .shift (arb_shift_a), // Templated
337 .data_a (src_data_a[59:50]), // Templated
338 .data_crit_x_l (data_crit_x_[59:50]), // Templated
339 .data_ncrit_x_l (data_ncrit_x_[59:50]),
340 .se(se)); // Templated
341cpx_mcr_dp_ccx_new_macro__type_c_r i6 (
342 // Outputs
343 .data_x_l (data_out_x_[69:60]), // Templated
344 // Inputs
345 .scan_in(i6_scanin),
346 .scan_out(i6_scanout),
347 .l2clk (l2clk), // Templated
348 .l1clk (l1clka), // Templated
349 .pce0 (arb_q0_holdbar_a), // Templated
350 .pce1 (arb_qsel1_a), // Templated
351 .pce_ov (pce_ov), // Templated
352 .stop (stop), // Templated
353 .siclk_in (siclk_in), // Templated
354 .soclk_in (soclk_in), // Templated
355 .grant_a (arb_grant_a), // Templated
356 .qsel0 (arb_qsel0_a), // Templated
357 .shift (arb_shift_a), // Templated
358 .data_a (src_data_a[69:60]), // Templated
359 .data_crit_x_l (data_crit_x_[69:60]), // Templated
360 .data_ncrit_x_l (data_ncrit_x_[69:60]),
361 .se(se)); // Templated
362cpx_mcr_dp_ccx_new_macro__type_c_r i7 (
363 // Outputs
364 .data_x_l (data_out_x_[79:70]), // Templated
365 // Inputs
366 .scan_in(i7_scanin),
367 .scan_out(i7_scanout),
368 .l2clk (l2clk), // Templated
369 .l1clk (l1clka), // Templated
370 .pce0 (arb_q0_holdbar_a), // Templated
371 .pce1 (arb_qsel1_a), // Templated
372 .pce_ov (pce_ov), // Templated
373 .stop (stop), // Templated
374 .siclk_in (siclk_in), // Templated
375 .soclk_in (soclk_in), // Templated
376 .grant_a (arb_grant_a), // Templated
377 .qsel0 (arb_qsel0_a), // Templated
378 .shift (arb_shift_a), // Templated
379 .data_a (src_data_a[79:70]), // Templated
380 .data_crit_x_l (data_crit_x_[79:70]), // Templated
381 .data_ncrit_x_l (data_ncrit_x_[79:70]),
382 .se(se)); // Templated
383cpx_mcr_dp_ccx_new_macro__type_c_r i8 (
384 // Outputs
385 .data_x_l (data_out_x_[89:80]), // Templated
386 // Inputs
387 .scan_in(i8_scanin),
388 .scan_out(i8_scanout),
389 .l2clk (l2clk), // Templated
390 .l1clk (l1clkb), // Templated
391 .pce0 (arb_q0_holdbar_a), // Templated
392 .pce1 (arb_qsel1_a), // Templated
393 .pce_ov (pce_ov), // Templated
394 .stop (stop), // Templated
395 .siclk_in (siclk_in), // Templated
396 .soclk_in (soclk_in), // Templated
397 .grant_a (arb_grant_a), // Templated
398 .qsel0 (arb_qsel0_a), // Templated
399 .shift (arb_shift_a), // Templated
400 .data_a (src_data_a[89:80]), // Templated
401 .data_crit_x_l (data_crit_x_[89:80]), // Templated
402 .data_ncrit_x_l (data_ncrit_x_[89:80]),
403 .se(se)); // Templated
404cpx_mcr_dp_ccx_new_macro__type_c_r i9 (
405 // Outputs
406 .data_x_l (data_out_x_[99:90]), // Templated
407 // Inputs
408 .scan_in(i9_scanin),
409 .scan_out(i9_scanout),
410 .l2clk (l2clk), // Templated
411 .l1clk (l1clkb), // Templated
412 .pce0 (arb_q0_holdbar_a), // Templated
413 .pce1 (arb_qsel1_a), // Templated
414 .pce_ov (pce_ov), // Templated
415 .stop (stop), // Templated
416 .siclk_in (siclk_in), // Templated
417 .soclk_in (soclk_in), // Templated
418 .grant_a (arb_grant_a), // Templated
419 .qsel0 (arb_qsel0_a), // Templated
420 .shift (arb_shift_a), // Templated
421 .data_a (src_data_a[99:90]), // Templated
422 .data_crit_x_l (data_crit_x_[99:90]), // Templated
423 .data_ncrit_x_l (data_ncrit_x_[99:90]),
424 .se(se)); // Templated
425cpx_mcr_dp_ccx_new_macro__type_c_r i10 (
426 // Outputs
427 .data_x_l (data_out_x_[109:100]), // Templated
428 // Inputs
429 .scan_in(i10_scanin),
430 .scan_out(i10_scanout),
431 .l2clk (l2clk), // Templated
432 .l1clk (l1clkb), // Templated
433 .pce0 (arb_q0_holdbar_a), // Templated
434 .pce1 (arb_qsel1_a), // Templated
435 .pce_ov (pce_ov), // Templated
436 .stop (stop), // Templated
437 .siclk_in (siclk_in), // Templated
438 .soclk_in (soclk_in), // Templated
439 .grant_a (arb_grant_a), // Templated
440 .qsel0 (arb_qsel0_a), // Templated
441 .shift (arb_shift_a), // Templated
442 .data_a (src_data_a[109:100]), // Templated
443 .data_crit_x_l (data_crit_x_[109:100]), // Templated
444 .data_ncrit_x_l (data_ncrit_x_[109:100]),
445 .se(se)); // Templated
446cpx_mcr_dp_ccx_new_macro__type_c_r i11 (
447 // Outputs
448 .data_x_l (data_out_x_[119:110]), // Templated
449 // Inputs
450 .scan_in(i11_scanin),
451 .scan_out(i11_scanout),
452 .l2clk (l2clk), // Templated
453 .l1clk (l1clkb), // Templated
454 .pce0 (arb_q0_holdbar_a), // Templated
455 .pce1 (arb_qsel1_a), // Templated
456 .pce_ov (pce_ov), // Templated
457 .stop (stop), // Templated
458 .siclk_in (siclk_in), // Templated
459 .soclk_in (soclk_in), // Templated
460 .grant_a (arb_grant_a), // Templated
461 .qsel0 (arb_qsel0_a), // Templated
462 .shift (arb_shift_a), // Templated
463 .data_a (src_data_a[119:110]), // Templated
464 .data_crit_x_l (data_crit_x_[119:110]), // Templated
465 .data_ncrit_x_l (data_ncrit_x_[119:110]),
466 .se(se)); // Templated
467cpx_mcr_dp_ccx_new_macro__type_c_r i12 (
468 // Outputs
469 .data_x_l (data_out_x_[129:120]), // Templated
470 // Inputs
471 .scan_in(i12_scanin),
472 .scan_out(i12_scanout),
473 .l2clk (l2clk), // Templated
474 .l1clk (l1clkb), // Templated
475 .pce0 (arb_q0_holdbar_a), // Templated
476 .pce1 (arb_qsel1_a), // Templated
477 .pce_ov (pce_ov), // Templated
478 .stop (stop), // Templated
479 .siclk_in (siclk_in), // Templated
480 .soclk_in (soclk_in), // Templated
481 .grant_a (arb_grant_a), // Templated
482 .qsel0 (arb_qsel0_a), // Templated
483 .shift (arb_shift_a), // Templated
484 .data_a (src_data_a[129:120]), // Templated
485 .data_crit_x_l (data_crit_x_[129:120]), // Templated
486 .data_ncrit_x_l (data_ncrit_x_[129:120]),
487 .se(se)); // Templated
488cpx_mcr_dp_ccx_new_macro__type_c_r i13 (
489 // Outputs
490 .data_x_l (data_out_x_[139:130]), // Templated
491 // Inputs
492 .scan_in(i13_scanin),
493 .scan_out(i13_scanout),
494 .l2clk (l2clk), // Templated
495 .l1clk (l1clkb), // Templated
496 .pce0 (arb_q0_holdbar_a), // Templated
497 .pce1 (arb_qsel1_a), // Templated
498 .pce_ov (pce_ov), // Templated
499 .stop (stop), // Templated
500 .siclk_in (siclk_in), // Templated
501 .soclk_in (soclk_in), // Templated
502 .grant_a (arb_grant_a), // Templated
503 .qsel0 (arb_qsel0_a), // Templated
504 .shift (arb_shift_a), // Templated
505 .data_a (src_data_a[139:130]), // Templated
506 .data_crit_x_l (data_crit_x_[139:130]), // Templated
507 .data_ncrit_x_l (data_ncrit_x_[139:130]),
508 .se(se)); // Templated
509cpx_mcr_dp_ccx_new_macro__type_c_r i14 (
510 // Outputs
511 .data_x_l (data_out_x_[149:140]), // Templated
512 // Inputs
513 .scan_in(i14_scanin),
514 .scan_out(i14_scanout),
515 .l2clk (l2clk), // Templated
516 .l1clk (l1clkb), // Templated
517 .pce0 (arb_q0_holdbar_a), // Templated
518 .pce1 (arb_qsel1_a), // Templated
519 .pce_ov (pce_ov), // Templated
520 .stop (stop), // Templated
521 .siclk_in (siclk_in), // Templated
522 .soclk_in (soclk_in), // Templated
523 .grant_a (arb_grant_a), // Templated
524 .qsel0 (arb_qsel0_a), // Templated
525 .shift (arb_shift_a), // Templated
526 .data_a (src_data_a[149:140]), // Templated
527 .data_crit_x_l (data_crit_x_[149:140]), // Templated
528 .data_ncrit_x_l (data_ncrit_x_[149:140]),
529 .se(se)); // Templated
530
531// fixscan start:
532assign i14_scanin = scan_in ;
533assign i13_scanin = i14_scanout ;
534assign i12_scanin = i13_scanout ;
535assign i11_scanin = i12_scanout ;
536assign i10_scanin = i11_scanout ;
537assign i9_scanin = i10_scanout ;
538assign i8_scanin = i9_scanout ;
539assign i7_scanin = i8_scanout ;
540assign i6_scanin = i7_scanout ;
541assign i5_scanin = i6_scanout ;
542assign i4_scanin = i5_scanout ;
543assign i3_scanin = i4_scanout ;
544assign i2_scanin = i3_scanout ;
545assign i1_scanin = i2_scanout ;
546assign i0_scanin = i1_scanout ;
547assign scan_out = i0_scanout ;
548// fixscan end:
549endmodule // cpx_mcl_dp
550
551//// scan renames
552//assign pce_ov = tcu_pce_ov;
553//assign stop = tcu_clk_stop;
554//assign siclk = tcu_aclk;
555//assign soclk = tcu_bclk;
556//// end scan
557//
558//// buffer the grant signal
559//
560//buff_macro i_buf_grant (width=1, stack=50c)
561//(
562// .din (arb_grant_a),
563// .dout (grant_a),
564// );
565//
566//msff_macro i_dff_grant_x (width=12, stack=50c)
567//(
568// .scan_in(i_dff_grant_x_scanin),
569// .scan_out(i_dff_grant_x_scanout),
570// .clk (l2clk),
571// .din ({12{grant_a}}),
572// .dout (grant_x[11:0]),
573// .en (1'b1),
574// );
575//
576//
577//// DATAPATH SECTION
578//
579//msff_macro i_dff_q1_2 (width=50, stack=50c)
580//(
581// .scan_in(i_dff_q1_2_scanin),
582// .scan_out(i_dff_q1_2_scanout),
583// .clk (l2clk),
584// .din (src_cpx_data_a[149:100]),
585// .dout (q1_dataout[149:100]),
586// .en (arb_qsel1_a),
587// );
588//
589//msff_macro i_dff_q1_1 (width=50, stack=50c)
590//(
591// .scan_in(i_dff_q1_1_scanin),
592// .scan_out(i_dff_q1_1_scanout),
593// .clk (l2clk),
594// .din (src_cpx_data_a[99:50]),
595// .dout (q1_dataout[99:50]),
596// .en (arb_qsel1_a),
597// );
598//
599//msff_macro i_dff_q1_0 (width=50, stack=50c)
600//(
601// .scan_in(i_dff_q1_0_scanin),
602// .scan_out(i_dff_q1_0_scanout),
603// .clk (l2clk),
604// .din (src_cpx_data_a[49:0]),
605// .dout (q1_dataout[49:0]),
606// .en (arb_qsel1_a),
607// );
608//
609////assign q0_datain_ca[149:0] =
610//// (arb_cpxdp_qsel0_ca ? src_cpx_data_ca[149:0] : 150'd0) |
611//// (arb_cpxdp_shift_cx ? q1_dataout[149:0] : 150'd0) ;
612//
613//
614//mux_macro i_mux_q0_2 (width=50, mux=aonpe, ports=2, stack=50c)
615//(
616// .din0 (src_cpx_data_a[149:100]),
617// .din1 (q1_dataout[149:100]),
618// .sel0 (arb_qsel0_a),
619// .sel1 (arb_shift_a),
620// .dout (q0_datain_a[149:100]),
621// );
622//
623//mux_macro i_mux_q0_1 (width=50, mux=aonpe, ports=2, stack=50c)
624//(
625// .din0 (src_cpx_data_a[99:50]),
626// .din1 (q1_dataout[99:50]),
627// .sel0 (arb_qsel0_a),
628// .sel1 (arb_shift_a),
629// .dout (q0_datain_a[99:50]),
630// );
631//
632//mux_macro i_mux_q0_0 (width=50, mux=aonpe, ports=2, stack=50c)
633//(
634// .din0 (src_cpx_data_a[49:0]),
635// .din1 (q1_dataout[49:0]),
636// .sel0 (arb_qsel0_a),
637// .sel1 (arb_shift_a),
638// .dout (q0_datain_a[49:0]),
639// );
640//
641//msff_macro i_dff_q0_2 (width=50, stack=50c)
642//(
643// .scan_in(i_dff_q0_2_scanin),
644// .scan_out(i_dff_q0_2_scanout),
645// .clk (l2clk),
646// .din (q0_datain_a[149:100]),
647// .dout (q0_dataout[149:100]),
648// .en (arb_q0_holdbar_a),
649// );
650//
651//msff_macro i_dff_q0_1 (width=50, stack=50c)
652//(
653// .scan_in(i_dff_q0_1_scanin),
654// .scan_out(i_dff_q0_1_scanout),
655// .clk (l2clk),
656// .din (q0_datain_a[99:50]),
657// .dout (q0_dataout[99:50]),
658// .en (arb_q0_holdbar_a),
659// );
660//
661//msff_macro i_dff_q0_0 (width=50, stack=50c)
662//(
663// .scan_in(i_dff_q0_0_scanin),
664// .scan_out(i_dff_q0_0_scanout),
665// .clk (l2clk),
666// .din (q0_datain_a[49:0]),
667// .dout (q0_dataout[49:0]),
668// .en (arb_q0_holdbar_a),
669// );
670//
671////MUX
672//
673//nand_macro i_nand_data_g_2 (width=50, ports=2, stack=50c)
674//(
675// .din0 (q0_dataout[149:100]),
676// .din1 ({{10{grant_x[11]}},{15{grant_x[10]}},{15{grant_x[9]}},{10{grant_x[8]}}}),
677// .dout (data_x_[149:100]),
678// );
679//
680//nand_macro i_nand_data_g_1 (width=50, ports=2, stack=50c)
681//(
682// .din0 (q0_dataout[99:50]),
683// .din1 ({{10{grant_x[7]}},{15{grant_x[6]}},{15{grant_x[5]}},{10{grant_x[4]}}}),
684// .dout (data_x_[99:50]),
685// );
686//
687//nand_macro i_nand_data_g_0 (width=50, ports=2, stack=50c)
688//(
689// .din0 (q0_dataout[49:0]),
690// .din1 ({{10{grant_x[3]}},{15{grant_x[2]}},{15{grant_x[1]}},{10{grant_x[0]}}}),
691// .dout (data_x_[49:0]),
692// );
693//
694//nand_macro i_nand_data_crit_2 (width=50, ports=3, stack=50c)
695//(
696// .din0 (data_x_[149:100]),
697// .din1 (data_crit_x_[149:100]),
698// .din2 (data_ncrit_x_[149:100]),
699// .dout (data_out_x[149:100])
700//);
701//
702//nand_macro i_nand_data_crit_1 (width=50, ports=3, stack=50c)
703//(
704// .din0 (data_x_[99:50]),
705// .din1 (data_crit_x_[99:50]),
706// .din2 (data_ncrit_x_[99:50]),
707// .dout (data_out_x[99:50])
708//);
709//
710//nand_macro i_nand_data_crit_0 (width=50, ports=3, stack=50c)
711//(
712// .din0 (data_x_[49:0]),
713// .din1 (data_crit_x_[49:0]),
714// .din2 (data_ncrit_x_[49:0]),
715// .dout (data_out_x[49:0])
716//);
717//
718//inv_macro i_inv_data_out_2 (width=50, stack=50c)
719//(
720// .din (data_out_x[149:100]),
721// .dout (data_out_x_[149:100])
722// );
723//
724//inv_macro i_inv_data_out_1 (width=50, stack=50c)
725//(
726// .din (data_out_x[99:50]),
727// .dout (data_out_x_[99:50])
728// );
729//
730//inv_macro i_inv_data_out_0 (width=50, stack=50c)
731//(
732// .din (data_out_x[49:0]),
733// .dout (data_out_x_[49:0])
734// );
735//
736//// fixscan start:
737//assign i_dff_grant_x_scanin = scan_in ;
738//assign i_dff_q1_2_scanin = i_dff_grant_x_scanout ;
739//assign i_dff_q1_1_scanin = i_dff_q1_2_scanout ;
740//assign i_dff_q1_0_scanin = i_dff_q1_1_scanout ;
741//assign i_dff_q0_2_scanin = i_dff_q1_0_scanout ;
742//assign i_dff_q0_1_scanin = i_dff_q0_2_scanout ;
743//assign i_dff_q0_0_scanin = i_dff_q0_1_scanout ;
744//assign scan_out = i_dff_q0_0_scanout ;
745//// fixscan end:
746//endmodule
747
748
749//
750// buff macro
751//
752//
753
754
755
756
757
758module cpx_mcr_dp_buff_macro__dbuff_8x__stack_none__vertical_1__width_4 (
759 din,
760 dout);
761 input [3:0] din;
762 output [3:0] dout;
763
764
765
766
767
768
769buff #(4) d0_0 (
770.in(din[3:0]),
771.out(dout[3:0])
772);
773
774
775
776
777
778
779
780
781endmodule
782
783
784
785
786
787
788
789
790
791// any PARAMS parms go into naming of macro
792
793module cpx_mcr_dp_ccx_l1clkhdr_ctl_macro__dl1hdr_24x (
794 l2clk,
795 l1en,
796 pce_ov,
797 stop,
798 se,
799 l1clk);
800
801
802 input l2clk;
803 input l1en;
804 input pce_ov;
805 input stop;
806 input se;
807 output l1clk;
808
809
810
811
812
813cl_sc1_l1hdr_24x c_0 (
814
815
816 .l2clk(l2clk),
817 .pce(l1en),
818 .l1clk(l1clk),
819 .se(se),
820 .pce_ov(pce_ov),
821 .stop(stop)
822);
823
824
825
826
827
828
829endmodule
830
831
832
833
834
835
836
837
838
839//
840// ccx macro
841//
842//
843
844
845
846
847
848module cpx_mcr_dp_ccx_new_macro__type_c_r (
849 l2clk,
850 l1clk,
851 pce0,
852 pce1,
853 pce_ov,
854 se,
855 stop,
856 siclk_in,
857 soclk_in,
858 scan_in,
859 grant_a,
860 qsel0,
861 shift,
862 data_a,
863 data_crit_x_l,
864 data_ncrit_x_l,
865 data_x_l,
866 scan_out);
867wire so5;
868wire siclk_out;
869wire soclk_out;
870wire l1clk0;
871wire l1clk1;
872wire grant_x;
873wire qsel0_buf;
874wire shift_buf;
875
876input l2clk;
877input l1clk;
878input pce0;
879input pce1;
880input pce_ov;
881input se;
882input stop;
883input siclk_in;
884input soclk_in;
885input scan_in;
886input grant_a;
887input qsel0;
888input shift;
889input [9:0] data_a;
890input [9:0] data_crit_x_l;
891input [9:0] data_ncrit_x_l;
892output [9:0] data_x_l;
893output scan_out;
894cl_dp1_ccxhdr c0 (
895.si(scan_in),
896.so(so5),
897 .l2clk(l2clk),
898 .pce0(pce0),
899 .pce1(pce1),
900 .pce_ov(pce_ov),
901 .stop(stop),
902 .siclk_in(siclk_in),
903 .soclk_in(soclk_in),
904 .siclk_out(siclk_out),
905 .soclk_out(soclk_out),
906 .l1clk0(l1clk0),
907 .l1clk1(l1clk1),
908 .se(se),
909 .l1clk(l1clk),
910 .grant_a(grant_a),
911 .grant_x(grant_x),
912 .qsel0(qsel0),
913 .qsel0_buf(qsel0_buf),
914 .shift(shift),
915 .shift_buf(shift_buf)
916);
917
918
919
920
921
922
923ccx_mac_c #(10) mac_c(
924.siclk(siclk_out),
925.soclk(soclk_out),
926.data_a(data_a[9:0]),
927.data_crit_x_l(data_crit_x_l[9:0]),
928.data_ncrit_x_l(data_ncrit_x_l[9:0]),
929.data_x_l(data_x_l[9:0]),
930.si(so5),
931.so(scan_out),
932 .l1clk0(l1clk0),
933 .l1clk1(l1clk1),
934 .grant_x(grant_x),
935 .qsel0_buf(qsel0_buf),
936 .shift_buf(shift_buf)
937);
938
939
940
941endmodule
942
943
944
945`endif // `ifndef FPGA
946
947`ifdef FPGA
948`timescale 1 ns / 100 ps
949module cpx_mcr_dp(data_out_x_, arb_grant_a, arb_qsel0_a, arb_qsel1_a,
950 arb_q0_holdbar_a, arb_shift_a, src_cpx_data_a, data_crit_x_,
951 data_ncrit_x_, l2clk, scan_in, tcu_pce_ov, ccx_aclk, ccx_bclk,
952 tcu_scan_en, scan_out, ccx_aclk_out, ccx_bclk_out, tcu_pce_ov_out,
953 tcu_scan_en_out);
954
955 output [149:0] data_out_x_;
956 input arb_grant_a;
957 input arb_qsel0_a;
958 input arb_qsel1_a;
959 input arb_q0_holdbar_a;
960 input arb_shift_a;
961 input [149:0] src_cpx_data_a;
962 input [149:0] data_crit_x_;
963 input [149:0] data_ncrit_x_;
964 input l2clk;
965 input scan_in;
966 input tcu_pce_ov;
967 input ccx_aclk;
968 input ccx_bclk;
969 input tcu_scan_en;
970 output scan_out;
971 output ccx_aclk_out;
972 output ccx_bclk_out;
973 output tcu_pce_ov_out;
974 output tcu_scan_en_out;
975
976 wire pce_ov;
977 wire stop;
978 wire siclk_in;
979 wire soclk_in;
980 wire se;
981 wire [149:0] src_data_a;
982 wire l1clka;
983 wire l1clkb;
984 wire i0_scanin;
985 wire i0_scanout;
986 wire i1_scanin;
987 wire i1_scanout;
988 wire i2_scanin;
989 wire i2_scanout;
990 wire i3_scanin;
991 wire i3_scanout;
992 wire i4_scanin;
993 wire i4_scanout;
994 wire i5_scanin;
995 wire i5_scanout;
996 wire i6_scanin;
997 wire i6_scanout;
998 wire i7_scanin;
999 wire i7_scanout;
1000 wire i8_scanin;
1001 wire i8_scanout;
1002 wire i9_scanin;
1003 wire i9_scanout;
1004 wire i10_scanin;
1005 wire i10_scanout;
1006 wire i11_scanin;
1007 wire i11_scanout;
1008 wire i12_scanin;
1009 wire i12_scanout;
1010 wire i13_scanin;
1011 wire i13_scanout;
1012 wire i14_scanin;
1013 wire i14_scanout;
1014
1015 assign pce_ov = tcu_pce_ov_out;
1016 assign stop = 1'b0;
1017 assign siclk_in = ccx_aclk_out;
1018 assign soclk_in = ccx_bclk_out;
1019 assign se = tcu_scan_en_out;
1020 assign src_data_a[149:0] = src_cpx_data_a[149:0];
1021 assign i14_scanin = scan_in;
1022 assign i13_scanin = i14_scanout;
1023 assign i12_scanin = i13_scanout;
1024 assign i11_scanin = i12_scanout;
1025 assign i10_scanin = i11_scanout;
1026 assign i9_scanin = i10_scanout;
1027 assign i8_scanin = i9_scanout;
1028 assign i7_scanin = i8_scanout;
1029 assign i6_scanin = i7_scanout;
1030 assign i5_scanin = i6_scanout;
1031 assign i4_scanin = i5_scanout;
1032 assign i3_scanin = i4_scanout;
1033 assign i2_scanin = i3_scanout;
1034 assign i1_scanin = i2_scanout;
1035 assign i0_scanin = i1_scanout;
1036 assign scan_out = i0_scanout;
1037
1038 buff_macro__dbuff_8x__stack_none__vertical_1__width_4 buf_hfn(
1039 .din ({ccx_aclk, ccx_bclk,
1040 tcu_pce_ov, tcu_scan_en}),
1041 .dout ({ccx_aclk_out, ccx_bclk_out,
1042 tcu_pce_ov_out, tcu_scan_en_out}));
1043 ccx_l1clkhdr_ctl_macro__dl1hdr_24x gkt_hdra(
1044 .l2clk (l2clk),
1045 .l1en (1'b1),
1046 .l1clk (l1clka),
1047 .pce_ov (pce_ov),
1048 .stop (stop),
1049 .se (se));
1050 ccx_l1clkhdr_ctl_macro__dl1hdr_24x gkt_hdrb(
1051 .l2clk (l2clk),
1052 .l1en (1'b1),
1053 .l1clk (l1clkb),
1054 .pce_ov (pce_ov),
1055 .stop (stop),
1056 .se (se));
1057 ccx_new_macro__type_c_r i0(
1058 .data_x_l (data_out_x_[9:0]),
1059 .scan_in (i0_scanin),
1060 .scan_out (i0_scanout),
1061 .l2clk (l2clk),
1062 .l1clk (l1clka),
1063 .pce0 (arb_q0_holdbar_a),
1064 .pce1 (arb_qsel1_a),
1065 .pce_ov (pce_ov),
1066 .stop (stop),
1067 .siclk_in (siclk_in),
1068 .soclk_in (soclk_in),
1069 .grant_a (arb_grant_a),
1070 .qsel0 (arb_qsel0_a),
1071 .shift (arb_shift_a),
1072 .data_a (src_data_a[9:0]),
1073 .data_crit_x_l (data_crit_x_[9:0]),
1074 .data_ncrit_x_l (data_ncrit_x_[9:0]),
1075 .se (se));
1076 ccx_new_macro__type_c_r i1(
1077 .data_x_l (data_out_x_[19:10]),
1078 .scan_in (i1_scanin),
1079 .scan_out (i1_scanout),
1080 .l2clk (l2clk),
1081 .l1clk (l1clka),
1082 .pce0 (arb_q0_holdbar_a),
1083 .pce1 (arb_qsel1_a),
1084 .pce_ov (pce_ov),
1085 .stop (stop),
1086 .siclk_in (siclk_in),
1087 .soclk_in (soclk_in),
1088 .grant_a (arb_grant_a),
1089 .qsel0 (arb_qsel0_a),
1090 .shift (arb_shift_a),
1091 .data_a (src_data_a[19:10]),
1092 .data_crit_x_l (data_crit_x_[19:10]),
1093 .data_ncrit_x_l (data_ncrit_x_[19:10]),
1094 .se (se));
1095 ccx_new_macro__type_c_r i2(
1096 .data_x_l (data_out_x_[29:20]),
1097 .scan_in (i2_scanin),
1098 .scan_out (i2_scanout),
1099 .l2clk (l2clk),
1100 .l1clk (l1clka),
1101 .pce0 (arb_q0_holdbar_a),
1102 .pce1 (arb_qsel1_a),
1103 .pce_ov (pce_ov),
1104 .stop (stop),
1105 .siclk_in (siclk_in),
1106 .soclk_in (soclk_in),
1107 .grant_a (arb_grant_a),
1108 .qsel0 (arb_qsel0_a),
1109 .shift (arb_shift_a),
1110 .data_a (src_data_a[29:20]),
1111 .data_crit_x_l (data_crit_x_[29:20]),
1112 .data_ncrit_x_l (data_ncrit_x_[29:20]),
1113 .se (se));
1114 ccx_new_macro__type_c_r i3(
1115 .data_x_l (data_out_x_[39:30]),
1116 .scan_in (i3_scanin),
1117 .scan_out (i3_scanout),
1118 .l2clk (l2clk),
1119 .l1clk (l1clka),
1120 .pce0 (arb_q0_holdbar_a),
1121 .pce1 (arb_qsel1_a),
1122 .pce_ov (pce_ov),
1123 .stop (stop),
1124 .siclk_in (siclk_in),
1125 .soclk_in (soclk_in),
1126 .grant_a (arb_grant_a),
1127 .qsel0 (arb_qsel0_a),
1128 .shift (arb_shift_a),
1129 .data_a (src_data_a[39:30]),
1130 .data_crit_x_l (data_crit_x_[39:30]),
1131 .data_ncrit_x_l (data_ncrit_x_[39:30]),
1132 .se (se));
1133 ccx_new_macro__type_c_r i4(
1134 .data_x_l (data_out_x_[49:40]),
1135 .scan_in (i4_scanin),
1136 .scan_out (i4_scanout),
1137 .l2clk (l2clk),
1138 .l1clk (l1clka),
1139 .pce0 (arb_q0_holdbar_a),
1140 .pce1 (arb_qsel1_a),
1141 .pce_ov (pce_ov),
1142 .stop (stop),
1143 .siclk_in (siclk_in),
1144 .soclk_in (soclk_in),
1145 .grant_a (arb_grant_a),
1146 .qsel0 (arb_qsel0_a),
1147 .shift (arb_shift_a),
1148 .data_a (src_data_a[49:40]),
1149 .data_crit_x_l (data_crit_x_[49:40]),
1150 .data_ncrit_x_l (data_ncrit_x_[49:40]),
1151 .se (se));
1152 ccx_new_macro__type_c_r i5(
1153 .data_x_l (data_out_x_[59:50]),
1154 .scan_in (i5_scanin),
1155 .scan_out (i5_scanout),
1156 .l2clk (l2clk),
1157 .l1clk (l1clka),
1158 .pce0 (arb_q0_holdbar_a),
1159 .pce1 (arb_qsel1_a),
1160 .pce_ov (pce_ov),
1161 .stop (stop),
1162 .siclk_in (siclk_in),
1163 .soclk_in (soclk_in),
1164 .grant_a (arb_grant_a),
1165 .qsel0 (arb_qsel0_a),
1166 .shift (arb_shift_a),
1167 .data_a (src_data_a[59:50]),
1168 .data_crit_x_l (data_crit_x_[59:50]),
1169 .data_ncrit_x_l (data_ncrit_x_[59:50]),
1170 .se (se));
1171 ccx_new_macro__type_c_r i6(
1172 .data_x_l (data_out_x_[69:60]),
1173 .scan_in (i6_scanin),
1174 .scan_out (i6_scanout),
1175 .l2clk (l2clk),
1176 .l1clk (l1clka),
1177 .pce0 (arb_q0_holdbar_a),
1178 .pce1 (arb_qsel1_a),
1179 .pce_ov (pce_ov),
1180 .stop (stop),
1181 .siclk_in (siclk_in),
1182 .soclk_in (soclk_in),
1183 .grant_a (arb_grant_a),
1184 .qsel0 (arb_qsel0_a),
1185 .shift (arb_shift_a),
1186 .data_a (src_data_a[69:60]),
1187 .data_crit_x_l (data_crit_x_[69:60]),
1188 .data_ncrit_x_l (data_ncrit_x_[69:60]),
1189 .se (se));
1190 ccx_new_macro__type_c_r i7(
1191 .data_x_l (data_out_x_[79:70]),
1192 .scan_in (i7_scanin),
1193 .scan_out (i7_scanout),
1194 .l2clk (l2clk),
1195 .l1clk (l1clka),
1196 .pce0 (arb_q0_holdbar_a),
1197 .pce1 (arb_qsel1_a),
1198 .pce_ov (pce_ov),
1199 .stop (stop),
1200 .siclk_in (siclk_in),
1201 .soclk_in (soclk_in),
1202 .grant_a (arb_grant_a),
1203 .qsel0 (arb_qsel0_a),
1204 .shift (arb_shift_a),
1205 .data_a (src_data_a[79:70]),
1206 .data_crit_x_l (data_crit_x_[79:70]),
1207 .data_ncrit_x_l (data_ncrit_x_[79:70]),
1208 .se (se));
1209 ccx_new_macro__type_c_r i8(
1210 .data_x_l (data_out_x_[89:80]),
1211 .scan_in (i8_scanin),
1212 .scan_out (i8_scanout),
1213 .l2clk (l2clk),
1214 .l1clk (l1clkb),
1215 .pce0 (arb_q0_holdbar_a),
1216 .pce1 (arb_qsel1_a),
1217 .pce_ov (pce_ov),
1218 .stop (stop),
1219 .siclk_in (siclk_in),
1220 .soclk_in (soclk_in),
1221 .grant_a (arb_grant_a),
1222 .qsel0 (arb_qsel0_a),
1223 .shift (arb_shift_a),
1224 .data_a (src_data_a[89:80]),
1225 .data_crit_x_l (data_crit_x_[89:80]),
1226 .data_ncrit_x_l (data_ncrit_x_[89:80]),
1227 .se (se));
1228 ccx_new_macro__type_c_r i9(
1229 .data_x_l (data_out_x_[99:90]),
1230 .scan_in (i9_scanin),
1231 .scan_out (i9_scanout),
1232 .l2clk (l2clk),
1233 .l1clk (l1clkb),
1234 .pce0 (arb_q0_holdbar_a),
1235 .pce1 (arb_qsel1_a),
1236 .pce_ov (pce_ov),
1237 .stop (stop),
1238 .siclk_in (siclk_in),
1239 .soclk_in (soclk_in),
1240 .grant_a (arb_grant_a),
1241 .qsel0 (arb_qsel0_a),
1242 .shift (arb_shift_a),
1243 .data_a (src_data_a[99:90]),
1244 .data_crit_x_l (data_crit_x_[99:90]),
1245 .data_ncrit_x_l (data_ncrit_x_[99:90]),
1246 .se (se));
1247 ccx_new_macro__type_c_r i10(
1248 .data_x_l (data_out_x_[109:100]),
1249 .scan_in (i10_scanin),
1250 .scan_out (i10_scanout),
1251 .l2clk (l2clk),
1252 .l1clk (l1clkb),
1253 .pce0 (arb_q0_holdbar_a),
1254 .pce1 (arb_qsel1_a),
1255 .pce_ov (pce_ov),
1256 .stop (stop),
1257 .siclk_in (siclk_in),
1258 .soclk_in (soclk_in),
1259 .grant_a (arb_grant_a),
1260 .qsel0 (arb_qsel0_a),
1261 .shift (arb_shift_a),
1262 .data_a (src_data_a[109:100]),
1263 .data_crit_x_l (data_crit_x_[109:100]),
1264 .data_ncrit_x_l (data_ncrit_x_[109:100]),
1265 .se (se));
1266 ccx_new_macro__type_c_r i11(
1267 .data_x_l (data_out_x_[119:110]),
1268 .scan_in (i11_scanin),
1269 .scan_out (i11_scanout),
1270 .l2clk (l2clk),
1271 .l1clk (l1clkb),
1272 .pce0 (arb_q0_holdbar_a),
1273 .pce1 (arb_qsel1_a),
1274 .pce_ov (pce_ov),
1275 .stop (stop),
1276 .siclk_in (siclk_in),
1277 .soclk_in (soclk_in),
1278 .grant_a (arb_grant_a),
1279 .qsel0 (arb_qsel0_a),
1280 .shift (arb_shift_a),
1281 .data_a (src_data_a[119:110]),
1282 .data_crit_x_l (data_crit_x_[119:110]),
1283 .data_ncrit_x_l (data_ncrit_x_[119:110]),
1284 .se (se));
1285 ccx_new_macro__type_c_r i12(
1286 .data_x_l (data_out_x_[129:120]),
1287 .scan_in (i12_scanin),
1288 .scan_out (i12_scanout),
1289 .l2clk (l2clk),
1290 .l1clk (l1clkb),
1291 .pce0 (arb_q0_holdbar_a),
1292 .pce1 (arb_qsel1_a),
1293 .pce_ov (pce_ov),
1294 .stop (stop),
1295 .siclk_in (siclk_in),
1296 .soclk_in (soclk_in),
1297 .grant_a (arb_grant_a),
1298 .qsel0 (arb_qsel0_a),
1299 .shift (arb_shift_a),
1300 .data_a (src_data_a[129:120]),
1301 .data_crit_x_l (data_crit_x_[129:120]),
1302 .data_ncrit_x_l (data_ncrit_x_[129:120]),
1303 .se (se));
1304 ccx_new_macro__type_c_r i13(
1305 .data_x_l (data_out_x_[139:130]),
1306 .scan_in (i13_scanin),
1307 .scan_out (i13_scanout),
1308 .l2clk (l2clk),
1309 .l1clk (l1clkb),
1310 .pce0 (arb_q0_holdbar_a),
1311 .pce1 (arb_qsel1_a),
1312 .pce_ov (pce_ov),
1313 .stop (stop),
1314 .siclk_in (siclk_in),
1315 .soclk_in (soclk_in),
1316 .grant_a (arb_grant_a),
1317 .qsel0 (arb_qsel0_a),
1318 .shift (arb_shift_a),
1319 .data_a (src_data_a[139:130]),
1320 .data_crit_x_l (data_crit_x_[139:130]),
1321 .data_ncrit_x_l (data_ncrit_x_[139:130]),
1322 .se (se));
1323 ccx_new_macro__type_c_r i14(
1324 .data_x_l (data_out_x_[149:140]),
1325 .scan_in (i14_scanin),
1326 .scan_out (i14_scanout),
1327 .l2clk (l2clk),
1328 .l1clk (l1clkb),
1329 .pce0 (arb_q0_holdbar_a),
1330 .pce1 (arb_qsel1_a),
1331 .pce_ov (pce_ov),
1332 .stop (stop),
1333 .siclk_in (siclk_in),
1334 .soclk_in (soclk_in),
1335 .grant_a (arb_grant_a),
1336 .qsel0 (arb_qsel0_a),
1337 .shift (arb_shift_a),
1338 .data_a (src_data_a[149:140]),
1339 .data_crit_x_l (data_crit_x_[149:140]),
1340 .data_ncrit_x_l (data_ncrit_x_[149:140]),
1341 .se (se));
1342endmodule
1343
1344module ccx_new_macro__type_c_r(l2clk, l1clk, pce0, pce1, pce_ov, se, stop,
1345 siclk_in, soclk_in, scan_in, grant_a, qsel0, shift, data_a,
1346 data_crit_x_l, data_ncrit_x_l, data_x_l, scan_out);
1347
1348 input l2clk;
1349 input l1clk;
1350 input pce0;
1351 input pce1;
1352 input pce_ov;
1353 input se;
1354 input stop;
1355 input siclk_in;
1356 input soclk_in;
1357 input scan_in;
1358 input grant_a;
1359 input qsel0;
1360 input shift;
1361 input [9:0] data_a;
1362 input [9:0] data_crit_x_l;
1363 input [9:0] data_ncrit_x_l;
1364 output [9:0] data_x_l;
1365 output scan_out;
1366
1367 wire so5;
1368 wire siclk_out;
1369 wire soclk_out;
1370 wire l1clk0;
1371 wire l1clk1;
1372 wire grant_x;
1373 wire qsel0_buf;
1374 wire shift_buf;
1375
1376 cl_dp1_ccxhdr c0(
1377 .si (scan_in),
1378 .so (so5),
1379 .l2clk (l2clk),
1380 .pce0 (pce0),
1381 .pce1 (pce1),
1382 .pce_ov (pce_ov),
1383 .stop (stop),
1384 .siclk_in (siclk_in),
1385 .soclk_in (soclk_in),
1386 .siclk_out (siclk_out),
1387 .soclk_out (soclk_out),
1388 .l1clk0 (l1clk0),
1389 .l1clk1 (l1clk1),
1390 .se (se),
1391 .l1clk (l1clk),
1392 .grant_a (grant_a),
1393 .grant_x (grant_x),
1394 .qsel0 (qsel0),
1395 .qsel0_buf (qsel0_buf),
1396 .shift (shift),
1397 .shift_buf (shift_buf));
1398 ccx_mac_c #(10) mac_c(
1399 .siclk (siclk_out),
1400 .soclk (soclk_out),
1401 .data_a (data_a[9:0]),
1402 .data_crit_x_l (data_crit_x_l[9:0]),
1403 .data_ncrit_x_l (data_ncrit_x_l[9:0]),
1404
1405 .data_x_l (data_x_l[9:0]),
1406 .si (so5),
1407 .so (scan_out),
1408 .l1clk0 (l1clk0),
1409 .l1clk1 (l1clk1),
1410 .grant_x (grant_x),
1411 .qsel0_buf (qsel0_buf),
1412 .shift_buf (shift_buf));
1413endmodule
1414
1415
1416
1417
1418`endif // `ifdef FPGA
1419