Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / ccx / rtl / cpx_mcl_dp.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: cpx_mcl_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_mcl_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//l1clkhdr_dp_macro gkt_hdra
149// (
150// .l2clk (l2clk),
151// .l1en (1'b1 ),
152// .siclk_out (sia_unused),
153// .soclk_out (soa_unused),
154// .l1clk (l1clka)
155// );
156
157//l1clkhdr_dp_macro gkt_hdrb
158// (
159// .l2clk (l2clk),
160// .l1en (1'b1 ),
161// .siclk_out (sib_unused),
162// .soclk_out (sob_unused),
163// .l1clk (l1clkb)
164// );
165
166cpx_mcl_dp_buff_macro__dbuff_8x__stack_none__vertical_1__width_4 buf_hfn (
167 .din ({ccx_aclk,ccx_bclk, tcu_pce_ov, tcu_scan_en}),
168 .dout ({ccx_aclk_out,ccx_bclk_out,tcu_pce_ov_out,tcu_scan_en_out})
169);
170
171cpx_mcl_dp_ccx_l1clkhdr_ctl_macro__dl1hdr_24x gkt_hdra
172 (
173 .l2clk (l2clk),
174 .l1en (1'b1 ),
175 .l1clk (l1clka),
176 .pce_ov(pce_ov),
177 .stop(stop),
178 .se(se)
179 );
180
181cpx_mcl_dp_ccx_l1clkhdr_ctl_macro__dl1hdr_24x gkt_hdrb
182 (
183 .l2clk (l2clk),
184 .l1en (1'b1 ),
185 .l1clk (l1clkb),
186 .pce_ov(pce_ov),
187 .stop(stop),
188 .se(se)
189 );
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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_dp_ccx_new_macro__type_c_l 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_mcl_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_mcl_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_mcl_dp_ccx_new_macro__type_c_l (
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
941
942
943
944
945
946
947
948
949
950
951
952endmodule
953
954
955
956`endif // `ifndef FPGA
957
958`ifdef FPGA
959
960`timescale 1 ns / 100 ps
961module cpx_mcl_dp(data_out_x_, arb_grant_a, arb_qsel0_a, arb_qsel1_a,
962 arb_q0_holdbar_a, arb_shift_a, src_cpx_data_a, data_crit_x_,
963 data_ncrit_x_, l2clk, scan_in, tcu_pce_ov, ccx_aclk, ccx_bclk,
964 tcu_scan_en, scan_out, ccx_aclk_out, ccx_bclk_out, tcu_pce_ov_out,
965 tcu_scan_en_out);
966
967 output [149:0] data_out_x_;
968 input arb_grant_a;
969 input arb_qsel0_a;
970 input arb_qsel1_a;
971 input arb_q0_holdbar_a;
972 input arb_shift_a;
973 input [149:0] src_cpx_data_a;
974 input [149:0] data_crit_x_;
975 input [149:0] data_ncrit_x_;
976 input l2clk;
977 input scan_in;
978 input tcu_pce_ov;
979 input ccx_aclk;
980 input ccx_bclk;
981 input tcu_scan_en;
982 output scan_out;
983 output ccx_aclk_out;
984 output ccx_bclk_out;
985 output tcu_pce_ov_out;
986 output tcu_scan_en_out;
987
988 wire pce_ov;
989 wire stop;
990 wire siclk_in;
991 wire soclk_in;
992 wire se;
993 wire [149:0] src_data_a;
994 wire l1clka;
995 wire l1clkb;
996 wire i0_scanin;
997 wire i0_scanout;
998 wire i1_scanin;
999 wire i1_scanout;
1000 wire i2_scanin;
1001 wire i2_scanout;
1002 wire i3_scanin;
1003 wire i3_scanout;
1004 wire i4_scanin;
1005 wire i4_scanout;
1006 wire i5_scanin;
1007 wire i5_scanout;
1008 wire i6_scanin;
1009 wire i6_scanout;
1010 wire i7_scanin;
1011 wire i7_scanout;
1012 wire i8_scanin;
1013 wire i8_scanout;
1014 wire i9_scanin;
1015 wire i9_scanout;
1016 wire i10_scanin;
1017 wire i10_scanout;
1018 wire i11_scanin;
1019 wire i11_scanout;
1020 wire i12_scanin;
1021 wire i12_scanout;
1022 wire i13_scanin;
1023 wire i13_scanout;
1024 wire i14_scanin;
1025 wire i14_scanout;
1026
1027 assign pce_ov = tcu_pce_ov_out;
1028 assign stop = 1'b0;
1029 assign siclk_in = ccx_aclk_out;
1030 assign soclk_in = ccx_bclk_out;
1031 assign se = tcu_scan_en_out;
1032 assign src_data_a[149:0] = src_cpx_data_a[149:0];
1033 assign i14_scanin = scan_in;
1034 assign i13_scanin = i14_scanout;
1035 assign i12_scanin = i13_scanout;
1036 assign i11_scanin = i12_scanout;
1037 assign i10_scanin = i11_scanout;
1038 assign i9_scanin = i10_scanout;
1039 assign i8_scanin = i9_scanout;
1040 assign i7_scanin = i8_scanout;
1041 assign i6_scanin = i7_scanout;
1042 assign i5_scanin = i6_scanout;
1043 assign i4_scanin = i5_scanout;
1044 assign i3_scanin = i4_scanout;
1045 assign i2_scanin = i3_scanout;
1046 assign i1_scanin = i2_scanout;
1047 assign i0_scanin = i1_scanout;
1048 assign scan_out = i0_scanout;
1049
1050 buff_macro__dbuff_8x__stack_none__vertical_1__width_4 buf_hfn(
1051 .din ({ccx_aclk, ccx_bclk,
1052 tcu_pce_ov, tcu_scan_en}),
1053 .dout ({ccx_aclk_out, ccx_bclk_out,
1054 tcu_pce_ov_out, tcu_scan_en_out}));
1055 ccx_l1clkhdr_ctl_macro__dl1hdr_24x gkt_hdra(
1056 .l2clk (l2clk),
1057 .l1en (1'b1),
1058 .l1clk (l1clka),
1059 .pce_ov (pce_ov),
1060 .stop (stop),
1061 .se (se));
1062 ccx_l1clkhdr_ctl_macro__dl1hdr_24x gkt_hdrb(
1063 .l2clk (l2clk),
1064 .l1en (1'b1),
1065 .l1clk (l1clkb),
1066 .pce_ov (pce_ov),
1067 .stop (stop),
1068 .se (se));
1069 ccx_new_macro__type_c_l i0(
1070 .data_x_l (data_out_x_[9:0]),
1071 .scan_in (i0_scanin),
1072 .scan_out (i0_scanout),
1073 .l2clk (l2clk),
1074 .l1clk (l1clka),
1075 .pce0 (arb_q0_holdbar_a),
1076 .pce1 (arb_qsel1_a),
1077 .pce_ov (pce_ov),
1078 .stop (stop),
1079 .siclk_in (siclk_in),
1080 .soclk_in (soclk_in),
1081 .grant_a (arb_grant_a),
1082 .qsel0 (arb_qsel0_a),
1083 .shift (arb_shift_a),
1084 .data_a (src_data_a[9:0]),
1085 .data_crit_x_l (data_crit_x_[9:0]),
1086 .data_ncrit_x_l (data_ncrit_x_[9:0]),
1087 .se (se));
1088 ccx_new_macro__type_c_l i1(
1089 .data_x_l (data_out_x_[19:10]),
1090 .scan_in (i1_scanin),
1091 .scan_out (i1_scanout),
1092 .l2clk (l2clk),
1093 .l1clk (l1clka),
1094 .pce0 (arb_q0_holdbar_a),
1095 .pce1 (arb_qsel1_a),
1096 .pce_ov (pce_ov),
1097 .stop (stop),
1098 .siclk_in (siclk_in),
1099 .soclk_in (soclk_in),
1100 .grant_a (arb_grant_a),
1101 .qsel0 (arb_qsel0_a),
1102 .shift (arb_shift_a),
1103 .data_a (src_data_a[19:10]),
1104 .data_crit_x_l (data_crit_x_[19:10]),
1105 .data_ncrit_x_l (data_ncrit_x_[19:10]),
1106 .se (se));
1107 ccx_new_macro__type_c_l i2(
1108 .data_x_l (data_out_x_[29:20]),
1109 .scan_in (i2_scanin),
1110 .scan_out (i2_scanout),
1111 .l2clk (l2clk),
1112 .l1clk (l1clka),
1113 .pce0 (arb_q0_holdbar_a),
1114 .pce1 (arb_qsel1_a),
1115 .pce_ov (pce_ov),
1116 .stop (stop),
1117 .siclk_in (siclk_in),
1118 .soclk_in (soclk_in),
1119 .grant_a (arb_grant_a),
1120 .qsel0 (arb_qsel0_a),
1121 .shift (arb_shift_a),
1122 .data_a (src_data_a[29:20]),
1123 .data_crit_x_l (data_crit_x_[29:20]),
1124 .data_ncrit_x_l (data_ncrit_x_[29:20]),
1125 .se (se));
1126 ccx_new_macro__type_c_l i3(
1127 .data_x_l (data_out_x_[39:30]),
1128 .scan_in (i3_scanin),
1129 .scan_out (i3_scanout),
1130 .l2clk (l2clk),
1131 .l1clk (l1clka),
1132 .pce0 (arb_q0_holdbar_a),
1133 .pce1 (arb_qsel1_a),
1134 .pce_ov (pce_ov),
1135 .stop (stop),
1136 .siclk_in (siclk_in),
1137 .soclk_in (soclk_in),
1138 .grant_a (arb_grant_a),
1139 .qsel0 (arb_qsel0_a),
1140 .shift (arb_shift_a),
1141 .data_a (src_data_a[39:30]),
1142 .data_crit_x_l (data_crit_x_[39:30]),
1143 .data_ncrit_x_l (data_ncrit_x_[39:30]),
1144 .se (se));
1145 ccx_new_macro__type_c_l i4(
1146 .data_x_l (data_out_x_[49:40]),
1147 .scan_in (i4_scanin),
1148 .scan_out (i4_scanout),
1149 .l2clk (l2clk),
1150 .l1clk (l1clka),
1151 .pce0 (arb_q0_holdbar_a),
1152 .pce1 (arb_qsel1_a),
1153 .pce_ov (pce_ov),
1154 .stop (stop),
1155 .siclk_in (siclk_in),
1156 .soclk_in (soclk_in),
1157 .grant_a (arb_grant_a),
1158 .qsel0 (arb_qsel0_a),
1159 .shift (arb_shift_a),
1160 .data_a (src_data_a[49:40]),
1161 .data_crit_x_l (data_crit_x_[49:40]),
1162 .data_ncrit_x_l (data_ncrit_x_[49:40]),
1163 .se (se));
1164 ccx_new_macro__type_c_l i5(
1165 .data_x_l (data_out_x_[59:50]),
1166 .scan_in (i5_scanin),
1167 .scan_out (i5_scanout),
1168 .l2clk (l2clk),
1169 .l1clk (l1clka),
1170 .pce0 (arb_q0_holdbar_a),
1171 .pce1 (arb_qsel1_a),
1172 .pce_ov (pce_ov),
1173 .stop (stop),
1174 .siclk_in (siclk_in),
1175 .soclk_in (soclk_in),
1176 .grant_a (arb_grant_a),
1177 .qsel0 (arb_qsel0_a),
1178 .shift (arb_shift_a),
1179 .data_a (src_data_a[59:50]),
1180 .data_crit_x_l (data_crit_x_[59:50]),
1181 .data_ncrit_x_l (data_ncrit_x_[59:50]),
1182 .se (se));
1183 ccx_new_macro__type_c_l i6(
1184 .data_x_l (data_out_x_[69:60]),
1185 .scan_in (i6_scanin),
1186 .scan_out (i6_scanout),
1187 .l2clk (l2clk),
1188 .l1clk (l1clka),
1189 .pce0 (arb_q0_holdbar_a),
1190 .pce1 (arb_qsel1_a),
1191 .pce_ov (pce_ov),
1192 .stop (stop),
1193 .siclk_in (siclk_in),
1194 .soclk_in (soclk_in),
1195 .grant_a (arb_grant_a),
1196 .qsel0 (arb_qsel0_a),
1197 .shift (arb_shift_a),
1198 .data_a (src_data_a[69:60]),
1199 .data_crit_x_l (data_crit_x_[69:60]),
1200 .data_ncrit_x_l (data_ncrit_x_[69:60]),
1201 .se (se));
1202 ccx_new_macro__type_c_l i7(
1203 .data_x_l (data_out_x_[79:70]),
1204 .scan_in (i7_scanin),
1205 .scan_out (i7_scanout),
1206 .l2clk (l2clk),
1207 .l1clk (l1clka),
1208 .pce0 (arb_q0_holdbar_a),
1209 .pce1 (arb_qsel1_a),
1210 .pce_ov (pce_ov),
1211 .stop (stop),
1212 .siclk_in (siclk_in),
1213 .soclk_in (soclk_in),
1214 .grant_a (arb_grant_a),
1215 .qsel0 (arb_qsel0_a),
1216 .shift (arb_shift_a),
1217 .data_a (src_data_a[79:70]),
1218 .data_crit_x_l (data_crit_x_[79:70]),
1219 .data_ncrit_x_l (data_ncrit_x_[79:70]),
1220 .se (se));
1221 ccx_new_macro__type_c_l i8(
1222 .data_x_l (data_out_x_[89:80]),
1223 .scan_in (i8_scanin),
1224 .scan_out (i8_scanout),
1225 .l2clk (l2clk),
1226 .l1clk (l1clkb),
1227 .pce0 (arb_q0_holdbar_a),
1228 .pce1 (arb_qsel1_a),
1229 .pce_ov (pce_ov),
1230 .stop (stop),
1231 .siclk_in (siclk_in),
1232 .soclk_in (soclk_in),
1233 .grant_a (arb_grant_a),
1234 .qsel0 (arb_qsel0_a),
1235 .shift (arb_shift_a),
1236 .data_a (src_data_a[89:80]),
1237 .data_crit_x_l (data_crit_x_[89:80]),
1238 .data_ncrit_x_l (data_ncrit_x_[89:80]),
1239 .se (se));
1240 ccx_new_macro__type_c_l i9(
1241 .data_x_l (data_out_x_[99:90]),
1242 .scan_in (i9_scanin),
1243 .scan_out (i9_scanout),
1244 .l2clk (l2clk),
1245 .l1clk (l1clkb),
1246 .pce0 (arb_q0_holdbar_a),
1247 .pce1 (arb_qsel1_a),
1248 .pce_ov (pce_ov),
1249 .stop (stop),
1250 .siclk_in (siclk_in),
1251 .soclk_in (soclk_in),
1252 .grant_a (arb_grant_a),
1253 .qsel0 (arb_qsel0_a),
1254 .shift (arb_shift_a),
1255 .data_a (src_data_a[99:90]),
1256 .data_crit_x_l (data_crit_x_[99:90]),
1257 .data_ncrit_x_l (data_ncrit_x_[99:90]),
1258 .se (se));
1259 ccx_new_macro__type_c_l i10(
1260 .data_x_l (data_out_x_[109:100]),
1261 .scan_in (i10_scanin),
1262 .scan_out (i10_scanout),
1263 .l2clk (l2clk),
1264 .l1clk (l1clkb),
1265 .pce0 (arb_q0_holdbar_a),
1266 .pce1 (arb_qsel1_a),
1267 .pce_ov (pce_ov),
1268 .stop (stop),
1269 .siclk_in (siclk_in),
1270 .soclk_in (soclk_in),
1271 .grant_a (arb_grant_a),
1272 .qsel0 (arb_qsel0_a),
1273 .shift (arb_shift_a),
1274 .data_a (src_data_a[109:100]),
1275 .data_crit_x_l (data_crit_x_[109:100]),
1276 .data_ncrit_x_l (data_ncrit_x_[109:100]),
1277 .se (se));
1278 ccx_new_macro__type_c_l i11(
1279 .data_x_l (data_out_x_[119:110]),
1280 .scan_in (i11_scanin),
1281 .scan_out (i11_scanout),
1282 .l2clk (l2clk),
1283 .l1clk (l1clkb),
1284 .pce0 (arb_q0_holdbar_a),
1285 .pce1 (arb_qsel1_a),
1286 .pce_ov (pce_ov),
1287 .stop (stop),
1288 .siclk_in (siclk_in),
1289 .soclk_in (soclk_in),
1290 .grant_a (arb_grant_a),
1291 .qsel0 (arb_qsel0_a),
1292 .shift (arb_shift_a),
1293 .data_a (src_data_a[119:110]),
1294 .data_crit_x_l (data_crit_x_[119:110]),
1295 .data_ncrit_x_l (data_ncrit_x_[119:110]),
1296 .se (se));
1297 ccx_new_macro__type_c_l i12(
1298 .data_x_l (data_out_x_[129:120]),
1299 .scan_in (i12_scanin),
1300 .scan_out (i12_scanout),
1301 .l2clk (l2clk),
1302 .l1clk (l1clkb),
1303 .pce0 (arb_q0_holdbar_a),
1304 .pce1 (arb_qsel1_a),
1305 .pce_ov (pce_ov),
1306 .stop (stop),
1307 .siclk_in (siclk_in),
1308 .soclk_in (soclk_in),
1309 .grant_a (arb_grant_a),
1310 .qsel0 (arb_qsel0_a),
1311 .shift (arb_shift_a),
1312 .data_a (src_data_a[129:120]),
1313 .data_crit_x_l (data_crit_x_[129:120]),
1314 .data_ncrit_x_l (data_ncrit_x_[129:120]),
1315 .se (se));
1316 ccx_new_macro__type_c_l i13(
1317 .data_x_l (data_out_x_[139:130]),
1318 .scan_in (i13_scanin),
1319 .scan_out (i13_scanout),
1320 .l2clk (l2clk),
1321 .l1clk (l1clkb),
1322 .pce0 (arb_q0_holdbar_a),
1323 .pce1 (arb_qsel1_a),
1324 .pce_ov (pce_ov),
1325 .stop (stop),
1326 .siclk_in (siclk_in),
1327 .soclk_in (soclk_in),
1328 .grant_a (arb_grant_a),
1329 .qsel0 (arb_qsel0_a),
1330 .shift (arb_shift_a),
1331 .data_a (src_data_a[139:130]),
1332 .data_crit_x_l (data_crit_x_[139:130]),
1333 .data_ncrit_x_l (data_ncrit_x_[139:130]),
1334 .se (se));
1335 ccx_new_macro__type_c_l i14(
1336 .data_x_l (data_out_x_[149:140]),
1337 .scan_in (i14_scanin),
1338 .scan_out (i14_scanout),
1339 .l2clk (l2clk),
1340 .l1clk (l1clkb),
1341 .pce0 (arb_q0_holdbar_a),
1342 .pce1 (arb_qsel1_a),
1343 .pce_ov (pce_ov),
1344 .stop (stop),
1345 .siclk_in (siclk_in),
1346 .soclk_in (soclk_in),
1347 .grant_a (arb_grant_a),
1348 .qsel0 (arb_qsel0_a),
1349 .shift (arb_shift_a),
1350 .data_a (src_data_a[149:140]),
1351 .data_crit_x_l (data_crit_x_[149:140]),
1352 .data_ncrit_x_l (data_ncrit_x_[149:140]),
1353 .se (se));
1354endmodule
1355
1356
1357module ccx_new_macro__type_c_l(l2clk, l1clk, pce0, pce1, pce_ov, se, stop,
1358 siclk_in, soclk_in, scan_in, grant_a, qsel0, shift, data_a,
1359 data_crit_x_l, data_ncrit_x_l, data_x_l, scan_out);
1360
1361 input l2clk;
1362 input l1clk;
1363 input pce0;
1364 input pce1;
1365 input pce_ov;
1366 input se;
1367 input stop;
1368 input siclk_in;
1369 input soclk_in;
1370 input scan_in;
1371 input grant_a;
1372 input qsel0;
1373 input shift;
1374 input [9:0] data_a;
1375 input [9:0] data_crit_x_l;
1376 input [9:0] data_ncrit_x_l;
1377 output [9:0] data_x_l;
1378 output scan_out;
1379
1380 wire so5;
1381 wire siclk_out;
1382 wire soclk_out;
1383 wire l1clk0;
1384 wire l1clk1;
1385 wire grant_x;
1386 wire qsel0_buf;
1387 wire shift_buf;
1388
1389 cl_dp1_ccxhdr c0(
1390 .si (scan_in),
1391 .so (so5),
1392 .l2clk (l2clk),
1393 .pce0 (pce0),
1394 .pce1 (pce1),
1395 .pce_ov (pce_ov),
1396 .stop (stop),
1397 .siclk_in (siclk_in),
1398 .soclk_in (soclk_in),
1399 .siclk_out (siclk_out),
1400 .soclk_out (soclk_out),
1401 .l1clk0 (l1clk0),
1402 .l1clk1 (l1clk1),
1403 .se (se),
1404 .l1clk (l1clk),
1405 .grant_a (grant_a),
1406 .grant_x (grant_x),
1407 .qsel0 (qsel0),
1408 .qsel0_buf (qsel0_buf),
1409 .shift (shift),
1410 .shift_buf (shift_buf));
1411 ccx_mac_c #(10) mac_c(
1412 .siclk (siclk_out),
1413 .soclk (soclk_out),
1414 .data_a (data_a[9:0]),
1415 .data_crit_x_l (data_crit_x_l[9:0]),
1416 .data_ncrit_x_l (data_ncrit_x_l[9:0]),
1417 .data_x_l (data_x_l[9:0]),
1418 .si (so5),
1419 .so (scan_out),
1420 .l1clk0 (l1clk0),
1421 .l1clk1 (l1clk1),
1422 .grant_x (grant_x),
1423 .qsel0_buf (qsel0_buf),
1424 .shift_buf (shift_buf));
1425endmodule
1426
1427`endif // `ifdef FPGA
1428