Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / common / vera / ccxDevices / ccxDevices.binds.vrh
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: ccxDevices.binds.vrh
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 INC_CCXDEVICE_BINDS_VRH
36#define INC_CCXDEVICE_BINDS_VRH
37
38
39#include <vera_defines.vrh>
40
41
42// generic CCX port
43port ccxPort {
44 clk;
45 req;
46 datao;
47 atmo;
48 gnt;
49
50 stall;
51 rdy;
52 atmi;
53 datai;
54}
55
56// // when PCX
57// clk;
58// req; // req from spc to pcx [8:0]. vera sources.
59// datao; // data from spc to pcx [129:0]. vera sources.
60// atmo; // atomic from spc to pcx [8:0]. vera sources.
61// gnt; // grant from pcx to spc [8:0]. vera sinks.
62//
63// stall; // NA for spc. stall from mem device to pcx. vera sources.
64// rdy; // NA for spc. data_rdy from pcx to mem device. vera sinks.
65// atmi; // NA for spc. atomic from pcx mem device. vera sinks.
66// datai; // data from pcx to mem device [129:0]. vera sinks.
67//
68//
69// // when CPX
70// clk;
71// req; // req from mem device to cpx [7:0]. vera sources.
72// datao; // data from mem device to cpx [145:0]. vera sources.
73// atmo; // atomic from mem device to cpx. vera sources.
74// gnt; // grant from cpx to mem device. [7:0] vera sinks.
75//
76// stall; // stall from spc to cpx. vera sources.
77// rdy; // N/A. unused.
78// atmi; // N/A. unused.
79// datai; // data from cpx to spc [145:0]. vera sinks.
80
81
82
83
84// NCU bind
85bind ccxPort pcxBindDEV_NCU {
86 clk ccxNCU_if.clk;
87 req void;
88 datao void;
89 atmo void;
90 gnt void;
91
92 stall ccxNCU_if.pcx_stall; // stall from mem device to pcx. vera sources.
93 rdy ccxNCU_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks.
94 atmi void;
95 datai ccxNCU_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks.
96}
97
98bind ccxPort cpxBindDEV_NCU {
99 clk ccxNCU_if.clk;
100 req ccxNCU_if.cpx_req; // req from mem device to cpx [7:0]. vera sources.
101 datao ccxNCU_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources.
102 atmo void; // ccxNCU_if.cpx_atmo; // fake really
103 gnt ccxNCU_if.cpx_gnt; // grant from cpx to mem device. [7:0] vera sinks.
104
105 stall void;
106 rdy void;
107 atmi void;
108 datai void;
109}
110
111// spc binds
112bind ccxPort pcxBindDEV_SPC0 {
113 clk ccxSPC0_if.clk;
114 req ccxSPC0_if.pcx_req;
115 datao ccxSPC0_if.pcx_datao;
116 atmo ccxSPC0_if.pcx_atm;
117 gnt ccxSPC0_if.pcx_grant;
118
119 stall void;
120 rdy void;
121 atmi void;
122 datai void;
123}
124
125bind ccxPort cpxBindDEV_SPC0 {
126 clk ccxSPC0_if.clk;
127 req void;
128 datao void;
129 atmo void;
130 gnt void;
131
132 stall void;
133 rdy void;
134 atmi void;
135 datai ccxSPC0_if.cpx_datai;
136}
137
138bind ccxPort pcxBindDEV_SPC1 {
139 clk ccxSPC1_if.clk;
140 req ccxSPC1_if.pcx_req;
141 datao ccxSPC1_if.pcx_datao;
142 atmo ccxSPC1_if.pcx_atm;
143 gnt ccxSPC1_if.pcx_grant;
144
145 stall void;
146 rdy void;
147 atmi void;
148 datai void;
149}
150
151bind ccxPort cpxBindDEV_SPC1 {
152 clk ccxSPC1_if.clk;
153 req void;
154 datao void;
155 atmo void;
156 gnt void;
157
158 stall void;
159 rdy void;
160 atmi void;
161 datai ccxSPC1_if.cpx_datai;
162}
163
164bind ccxPort pcxBindDEV_SPC2 {
165 clk ccxSPC2_if.clk;
166 req ccxSPC2_if.pcx_req;
167 datao ccxSPC2_if.pcx_datao;
168 atmo ccxSPC2_if.pcx_atm;
169 gnt ccxSPC2_if.pcx_grant;
170
171 stall void;
172 rdy void;
173 atmi void;
174 datai void;
175}
176
177bind ccxPort cpxBindDEV_SPC2 {
178 clk ccxSPC2_if.clk;
179 req void;
180 datao void;
181 atmo void;
182 gnt void;
183
184 stall void;
185 rdy void;
186 atmi void;
187 datai ccxSPC2_if.cpx_datai;
188}
189
190bind ccxPort pcxBindDEV_SPC3 {
191 clk ccxSPC3_if.clk;
192 req ccxSPC3_if.pcx_req;
193 datao ccxSPC3_if.pcx_datao;
194 atmo ccxSPC3_if.pcx_atm;
195 gnt ccxSPC3_if.pcx_grant;
196
197 stall void;
198 rdy void;
199 atmi void;
200 datai void;
201}
202
203bind ccxPort cpxBindDEV_SPC3 {
204 clk ccxSPC3_if.clk;
205 req void;
206 datao void;
207 atmo void;
208 gnt void;
209
210 stall void;
211 rdy void;
212 atmi void;
213 datai ccxSPC3_if.cpx_datai;
214}
215
216bind ccxPort pcxBindDEV_SPC4 {
217 clk ccxSPC4_if.clk;
218 req ccxSPC4_if.pcx_req;
219 datao ccxSPC4_if.pcx_datao;
220 atmo ccxSPC4_if.pcx_atm;
221 gnt ccxSPC4_if.pcx_grant;
222
223 stall void;
224 rdy void;
225 atmi void;
226 datai void;
227}
228
229bind ccxPort cpxBindDEV_SPC4 {
230 clk ccxSPC4_if.clk;
231 req void;
232 datao void;
233 atmo void;
234 gnt void;
235
236 stall void;
237 rdy void;
238 atmi void;
239 datai ccxSPC4_if.cpx_datai;
240}
241
242bind ccxPort pcxBindDEV_SPC5 {
243 clk ccxSPC5_if.clk;
244 req ccxSPC5_if.pcx_req;
245 datao ccxSPC5_if.pcx_datao;
246 atmo ccxSPC5_if.pcx_atm;
247 gnt ccxSPC5_if.pcx_grant;
248
249 stall void;
250 rdy void;
251 atmi void;
252 datai void;
253}
254
255bind ccxPort cpxBindDEV_SPC5 {
256 clk ccxSPC5_if.clk;
257 req void;
258 datao void;
259 atmo void;
260 gnt void;
261
262 stall void;
263 rdy void;
264 atmi void;
265 datai ccxSPC5_if.cpx_datai;
266}
267
268bind ccxPort pcxBindDEV_SPC6 {
269 clk ccxSPC6_if.clk;
270 req ccxSPC6_if.pcx_req;
271 datao ccxSPC6_if.pcx_datao;
272 atmo ccxSPC6_if.pcx_atm;
273 gnt ccxSPC6_if.pcx_grant;
274
275 stall void;
276 rdy void;
277 atmi void;
278 datai void;
279}
280
281bind ccxPort cpxBindDEV_SPC6 {
282 clk ccxSPC6_if.clk;
283 req void;
284 datao void;
285 atmo void;
286 gnt void;
287
288 stall void;
289 rdy void;
290 atmi void;
291 datai ccxSPC6_if.cpx_datai;
292}
293
294bind ccxPort pcxBindDEV_SPC7 {
295 clk ccxSPC7_if.clk;
296 req ccxSPC7_if.pcx_req;
297 datao ccxSPC7_if.pcx_datao;
298 atmo ccxSPC7_if.pcx_atm;
299 gnt ccxSPC7_if.pcx_grant;
300
301 stall void;
302 rdy void;
303 atmi void;
304 datai void;
305}
306
307bind ccxPort cpxBindDEV_SPC7 {
308 clk ccxSPC7_if.clk;
309 req void;
310 datao void;
311 atmo void;
312 gnt void;
313
314 stall void;
315 rdy void;
316 atmi void;
317 datai ccxSPC7_if.cpx_datai;
318}
319
320
321#ifndef RTL_NO_BNK01
322// cache banks
323bind ccxPort pcxBindDEV_MEM0 {
324 clk ccxL20_if.clk;
325 req void;
326 datao void;
327 atmo void;
328 gnt void;
329
330 stall ccxL20_if.pcx_stall; // stall from mem device to pcx. vera sources.
331 rdy ccxL20_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks.
332 atmi ccxL20_if.pcx_atmi;
333 datai ccxL20_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks.
334}
335
336bind ccxPort cpxBindDEV_MEM0 {
337 clk ccxL20_if.clk;
338 req ccxL20_if.cpx_req; // req from mem device to cpx [7:0]. vera sources.
339 datao ccxL20_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources.
340 atmo ccxL20_if.cpx_atmo;
341 gnt ccxL20_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks.
342
343 stall void;
344 rdy void;
345 atmi void;
346 datai void;
347}
348
349bind ccxPort pcxBindDEV_MEM1 {
350 clk ccxL21_if.clk;
351 req void;
352 datao void;
353 atmo void;
354 gnt void;
355
356 stall ccxL21_if.pcx_stall; // stall from mem device to pcx. vera sources.
357 rdy ccxL21_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks.
358 atmi ccxL21_if.pcx_atmi;
359 datai ccxL21_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks.
360}
361
362bind ccxPort cpxBindDEV_MEM1 {
363 clk ccxL21_if.clk;
364 req ccxL21_if.cpx_req; // req from mem device to cpx [7:0]. vera sources.
365 datao ccxL21_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources.
366 atmo ccxL21_if.cpx_atmo;
367 gnt ccxL21_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks.
368
369 stall void;
370 rdy void;
371 atmi void;
372 datai void;
373}
374#endif
375
376#ifndef RTL_NO_BNK23
377bind ccxPort pcxBindDEV_MEM2 {
378 clk ccxL22_if.clk;
379 req void;
380 datao void;
381 atmo void;
382 gnt void;
383
384 stall ccxL22_if.pcx_stall; // stall from mem device to pcx. vera sources.
385 rdy ccxL22_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks.
386 atmi ccxL22_if.pcx_atmi;
387 datai ccxL22_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks.
388}
389
390bind ccxPort cpxBindDEV_MEM2 {
391 clk ccxL22_if.clk;
392 req ccxL22_if.cpx_req; // req from mem device to cpx [7:0]. vera sources.
393 datao ccxL22_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources.
394 atmo ccxL22_if.cpx_atmo;
395 gnt ccxL22_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks.
396
397 stall void;
398 rdy void;
399 atmi void;
400 datai void;
401}
402
403bind ccxPort pcxBindDEV_MEM3 {
404 clk ccxL23_if.clk;
405 req void;
406 datao void;
407 atmo void;
408 gnt void;
409
410 stall ccxL23_if.pcx_stall; // stall from mem device to pcx. vera sources.
411 rdy ccxL23_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks.
412 atmi ccxL23_if.pcx_atmi;
413 datai ccxL23_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks.
414}
415
416bind ccxPort cpxBindDEV_MEM3 {
417 clk ccxL23_if.clk;
418 req ccxL23_if.cpx_req; // req from mem device to cpx [7:0]. vera sources.
419 datao ccxL23_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources.
420 atmo ccxL23_if.cpx_atmo;
421 gnt ccxL23_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks.
422
423 stall void;
424 rdy void;
425 atmi void;
426 datai void;
427}
428#endif
429
430#ifndef RTL_NO_BNK45
431bind ccxPort pcxBindDEV_MEM4 {
432 clk ccxL24_if.clk;
433 req void;
434 datao void;
435 atmo void;
436 gnt void;
437
438 stall ccxL24_if.pcx_stall; // stall from mem device to pcx. vera sources.
439 rdy ccxL24_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks.
440 atmi ccxL24_if.pcx_atmi;
441 datai ccxL24_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks.
442}
443
444bind ccxPort cpxBindDEV_MEM4 {
445 clk ccxL24_if.clk;
446 req ccxL24_if.cpx_req; // req from mem device to cpx [7:0]. vera sources.
447 datao ccxL24_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources.
448 atmo ccxL24_if.cpx_atmo;
449 gnt ccxL24_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks.
450
451 stall void;
452 rdy void;
453 atmi void;
454 datai void;
455}
456
457bind ccxPort pcxBindDEV_MEM5 {
458 clk ccxL25_if.clk;
459 req void;
460 datao void;
461 atmo void;
462 gnt void;
463
464 stall ccxL25_if.pcx_stall; // stall from mem device to pcx. vera sources.
465 rdy ccxL25_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks.
466 atmi ccxL25_if.pcx_atmi;
467 datai ccxL25_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks.
468}
469
470bind ccxPort cpxBindDEV_MEM5 {
471 clk ccxL25_if.clk;
472 req ccxL25_if.cpx_req; // req from mem device to cpx [7:0]. vera sources.
473 datao ccxL25_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources.
474 atmo ccxL25_if.cpx_atmo;
475 gnt ccxL25_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks.
476
477 stall void;
478 rdy void;
479 atmi void;
480 datai void;
481}
482#endif
483
484#ifndef RTL_NO_BNK67
485bind ccxPort pcxBindDEV_MEM6 {
486 clk ccxL26_if.clk;
487 req void;
488 datao void;
489 atmo void;
490 gnt void;
491
492 stall ccxL26_if.pcx_stall; // stall from mem device to pcx. vera sources.
493 rdy ccxL26_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks.
494 atmi ccxL26_if.pcx_atmi;
495 datai ccxL26_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks.
496}
497
498bind ccxPort cpxBindDEV_MEM6 {
499 clk ccxL26_if.clk;
500 req ccxL26_if.cpx_req; // req from mem device to cpx [7:0]. vera sources.
501 datao ccxL26_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources.
502 atmo ccxL26_if.cpx_atmo;
503 gnt ccxL26_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks.
504
505 stall void;
506 rdy void;
507 atmi void;
508 datai void;
509}
510
511bind ccxPort pcxBindDEV_MEM7 {
512 clk ccxL27_if.clk;
513 req void;
514 datao void;
515 atmo void;
516 gnt void;
517
518 stall ccxL27_if.pcx_stall; // stall from mem device to pcx. vera sources.
519 rdy ccxL27_if.pcx_rdy; // data_rdy from pcx to mem device. vera sinks.
520 atmi ccxL27_if.pcx_atmi;
521 datai ccxL27_if.pcx_datai; // data from pcx to mem device [129:0]. vera sinks.
522}
523
524bind ccxPort cpxBindDEV_MEM7 {
525 clk ccxL27_if.clk;
526 req ccxL27_if.cpx_req; // req from mem device to cpx [7:0]. vera sources.
527 datao ccxL27_if.cpx_datao; // data from mem device to cpx [145:0]. vera sources.
528 atmo ccxL27_if.cpx_atmo;
529 gnt ccxL27_if.cpx_grant; // grant from cpx to mem device. [7:0] vera sinks.
530
531 stall void;
532 rdy void;
533 atmi void;
534 datai void;
535}
536#endif
537
538
539// eof
540#endif