Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / ios / verilog / ios_ras_inj.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: ios_ras_inj.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 ============================================
35task SetNiuSiiData15;
36input value;
37reg value;
38begin
39 force `CPU.niu_sii_data[15] = value;
40end
41endtask
42
43task RelNiuSiiData15;
44begin
45 release `CPU.niu_sii_data[15];
46end
47endtask
48
49task SetNiuSiiDP0;
50input value;
51reg value;
52begin
53 force `CPU.niu_sii_parity[0] = value;
54end
55endtask
56
57task RelNiuSiiDP0;
58begin
59 release `CPU.niu_sii_parity[0];
60end
61endtask
62
63task SetDmuSiiDP0;
64input value;
65reg value;
66begin
67 force `CPU.dmu_sii_parity[0] = value;
68end
69endtask
70
71task RelDmuSiiDP0;
72begin
73 release `CPU.dmu_sii_parity[0];
74end
75endtask
76
77task SetDmuSiiBEP;
78input value;
79reg value;
80begin
81 force `CPU.dmu_sii_be_parity = value;
82end
83endtask
84
85task RelDmuSiiBEP;
86begin
87 release `CPU.dmu_sii_be_parity;
88end
89endtask
90
91task SetNiuSiiAP0;
92input value;
93reg value;
94begin
95 force `CPU.niu_sii_data[83] = value;
96end
97endtask
98
99task RelNiuSiiAP0;
100begin
101 release `CPU.niu_sii_data[83];
102end
103endtask
104
105task SetNiuSiiCMDP;
106input value;
107reg value;
108begin
109 force `CPU.niu_sii_data[62] = value;
110end
111endtask
112
113task RelNiuSiiCMDP;
114begin
115 release `CPU.niu_sii_data[62];
116end
117endtask
118
119task SetNiuSiiIOAE;
120begin
121 force `CPU.niu_sii_data[81] = 1'b1;
122end
123endtask
124
125task RelNiuSiiIOAE;
126begin
127 release `CPU.niu_sii_data[81];
128end
129endtask
130
131task SetNiuSiiIOUE;
132begin
133 force `CPU.niu_sii_data[80] = 1'b1;
134end
135endtask
136
137task RelNiuSiiIOUE;
138begin
139 release `CPU.niu_sii_data[80];
140end
141endtask
142
143task SetDmuSiiIOAE;
144begin
145 force `CPU.dmu_sii_data[81] = 1'b1;
146end
147endtask
148
149task RelDmuSiiIOAE;
150begin
151 release `CPU.dmu_sii_data[81];
152end
153endtask
154
155task SetDmuSiiIOUE;
156begin
157 force `CPU.dmu_sii_data[80] = 1'b1;
158end
159endtask
160
161task RelDmuSiiIOUE;
162begin
163 release `CPU.dmu_sii_data[80];
164end
165endtask
166
167task SetDmuSiiTOUT;
168begin
169 force `CPU.dmu_sii_data[82] = 1'b1;
170end
171endtask
172
173task RelDmuSiiTOUT;
174begin
175 release `CPU.dmu_sii_data[82];
176end
177endtask
178
179task SetDmuSiiAP0;
180input value;
181reg value;
182begin
183 force `CPU.dmu_sii_data[83] = value;
184end
185endtask
186
187task RelDmuSiiAP0;
188begin
189 release `CPU.dmu_sii_data[83];
190end
191endtask
192
193task SetDmuSiiCMDP;
194input value;
195reg value;
196begin
197 force `CPU.dmu_sii_data[62] = value;
198end
199endtask
200
201task RelDmuSiiCMDP;
202begin
203 release `CPU.dmu_sii_data[62];
204end
205endtask
206
207task SetNiuSiiCECC0;
208input value;
209reg value;
210begin
211 force `CPU.niu_sii_data[56] = value;
212end
213endtask
214
215task RelNiuSiiCECC0;
216begin
217 release `CPU.niu_sii_data[56];
218end
219endtask
220
221task SetDmuSiiCECC0;
222input value;
223reg value;
224begin
225 force `CPU.dmu_sii_data[56] = value;
226end
227endtask
228
229task RelDmuSiiCECC0;
230begin
231 release `CPU.dmu_sii_data[56];
232end
233endtask
234
235task SetNiuSiiCECC1;
236input value;
237reg value;
238begin
239 force `CPU.niu_sii_data[57] = value;
240end
241endtask
242
243task RelNiuSiiCECC1;
244begin
245 release `CPU.niu_sii_data[57];
246end
247endtask
248
249task SetDmuSiiCECC1;
250input value;
251reg value;
252begin
253 force `CPU.dmu_sii_data[57] = value;
254end
255endtask
256
257task RelDmuSiiCECC1;
258begin
259 release `CPU.dmu_sii_data[57];
260end
261endtask
262
263task SetSioNiuDP0;
264input value;
265reg value;
266begin
267 $dispmon ("IOS-RAS", 20, " force sio_niu_parity[0] = %1d", value);
268 force `CPU.sio_niu_parity[0] = value;
269end
270endtask
271
272task RelSioNiuDP0;
273begin
274 $dispmon ("IOS-RAS", 20, " release sio_niu_parity[0]");
275 release `CPU.sio_niu_parity[0];
276end
277endtask
278
279task SetSioDmuDP0;
280input value;
281reg value;
282begin
283 force `CPU.sio_dmu_parity[0] = value;
284end
285endtask
286
287task RelSioDmuDP0;
288begin
289 release `CPU.sio_dmu_parity[0];
290end
291endtask
292
293task SetSioNiuCECC0;
294input value;
295reg value;
296begin
297 force `CPU.sio_niu_data[56] = value;
298end
299endtask
300
301task RelSioNiuCECC0;
302begin
303 release `CPU.sio_niu_data[56];
304end
305endtask
306
307task SetSioDmuCECC0;
308input value;
309reg value;
310begin
311 force `CPU.sio_dmu_data[56] = value;
312end
313endtask
314
315task RelSioDmuCECC0;
316begin
317 release `CPU.sio_dmu_data[56];
318end
319endtask
320
321task SetSioNiuCECC1;
322input value;
323reg value;
324begin
325 force `CPU.sio_niu_data[57] = value;
326end
327endtask
328
329task RelSioNiuCECC1;
330begin
331 release `CPU.sio_niu_data[57];
332end
333endtask
334
335task SetSioDmuCECC1;
336input value;
337reg value;
338begin
339 force `CPU.sio_dmu_data[57] = value;
340end
341endtask
342
343task RelSioDmuCECC1;
344begin
345 release `CPU.sio_dmu_data[57];
346end
347endtask
348
349task SetL2SioDP0;
350input value;
351input bank;
352reg value;
353integer bank;
354begin
355 case (bank)
356 0: force `SIO.l2b0_sio_parity[0] = value;
357 1: force `SIO.l2b1_sio_parity[0] = value;
358 2: force `SIO.l2b2_sio_parity[0] = value;
359 3: force `SIO.l2b3_sio_parity[0] = value;
360 4: force `SIO.l2b4_sio_parity[0] = value;
361 5: force `SIO.l2b5_sio_parity[0] = value;
362 6: force `SIO.l2b6_sio_parity[0] = value;
363 7: force `SIO.l2b7_sio_parity[0] = value;
364 endcase
365end
366endtask
367
368task RelL2SioDP0;
369input bank;
370integer bank;
371begin
372 case (bank)
373 0: release `SIO.l2b0_sio_parity[0];
374 1: release `SIO.l2b1_sio_parity[0];
375 2: release `SIO.l2b2_sio_parity[0];
376 3: release `SIO.l2b3_sio_parity[0];
377 4: release `SIO.l2b4_sio_parity[0];
378 5: release `SIO.l2b5_sio_parity[0];
379 6: release `SIO.l2b6_sio_parity[0];
380 7: release `SIO.l2b7_sio_parity[0];
381 endcase
382end
383endtask
384
385task SetL2SioEBIT;
386input value;
387input bank;
388reg value;
389integer bank;
390begin
391 case (bank)
392 0: force `SIO.l2b0_sio_data[21] = value;
393 1: force `SIO.l2b1_sio_data[21] = value;
394 2: force `SIO.l2b2_sio_data[21] = value;
395 3: force `SIO.l2b3_sio_data[21] = value;
396 4: force `SIO.l2b4_sio_data[21] = value;
397 5: force `SIO.l2b5_sio_data[21] = value;
398 6: force `SIO.l2b6_sio_data[21] = value;
399 7: force `SIO.l2b7_sio_data[21] = value;
400 endcase
401end
402endtask
403
404task RelL2SioEBIT;
405input bank;
406integer bank;
407begin
408 case (bank)
409 0: release `SIO.l2b0_sio_data[21];
410 1: release `SIO.l2b1_sio_data[21];
411 2: release `SIO.l2b2_sio_data[21];
412 3: release `SIO.l2b3_sio_data[21];
413 4: release `SIO.l2b4_sio_data[21];
414 5: release `SIO.l2b5_sio_data[21];
415 6: release `SIO.l2b6_sio_data[21];
416 7: release `SIO.l2b7_sio_data[21];
417 endcase
418end
419endtask
420
421task SetL2SioCECC0;
422input value;
423input bank;
424reg value;
425integer bank;
426begin
427 case (bank)
428 0: force `SIO.l2b0_sio_data[25] = value;
429 1: force `SIO.l2b1_sio_data[25] = value;
430 2: force `SIO.l2b2_sio_data[25] = value;
431 3: force `SIO.l2b3_sio_data[25] = value;
432 4: force `SIO.l2b4_sio_data[25] = value;
433 5: force `SIO.l2b5_sio_data[25] = value;
434 6: force `SIO.l2b6_sio_data[25] = value;
435 7: force `SIO.l2b7_sio_data[25] = value;
436 endcase
437end
438endtask
439
440task SetL2SioCECC1;
441input value;
442input bank;
443reg value;
444integer bank;
445begin
446 case (bank)
447 0: force `SIO.l2b0_sio_data[26] = value;
448 1: force `SIO.l2b1_sio_data[26] = value;
449 2: force `SIO.l2b2_sio_data[26] = value;
450 3: force `SIO.l2b3_sio_data[26] = value;
451 4: force `SIO.l2b4_sio_data[26] = value;
452 5: force `SIO.l2b5_sio_data[26] = value;
453 6: force `SIO.l2b6_sio_data[26] = value;
454 7: force `SIO.l2b7_sio_data[26] = value;
455 endcase
456end
457endtask
458
459task RelL2SioCECC0;
460input bank;
461integer bank;
462begin
463 case (bank)
464 0: release `SIO.l2b0_sio_data[25];
465 1: release `SIO.l2b1_sio_data[25];
466 2: release `SIO.l2b2_sio_data[25];
467 3: release `SIO.l2b3_sio_data[25];
468 4: release `SIO.l2b4_sio_data[25];
469 5: release `SIO.l2b5_sio_data[25];
470 6: release `SIO.l2b6_sio_data[25];
471 7: release `SIO.l2b7_sio_data[25];
472 endcase
473end
474endtask
475
476task RelL2SioCECC1;
477input bank;
478integer bank;
479begin
480 case (bank)
481 0: release `SIO.l2b0_sio_data[26];
482 1: release `SIO.l2b1_sio_data[26];
483 2: release `SIO.l2b2_sio_data[26];
484 3: release `SIO.l2b3_sio_data[26];
485 4: release `SIO.l2b4_sio_data[26];
486 5: release `SIO.l2b5_sio_data[26];
487 6: release `SIO.l2b6_sio_data[26];
488 7: release `SIO.l2b7_sio_data[26];
489 endcase
490end
491endtask
492
493task SetSiiNcuDP0;
494input value;
495reg value;
496begin
497 force `CPU.sii_ncu_dparity[0] = value;
498end
499endtask
500
501task RelSiiNcuDP0;
502begin
503 release `CPU.sii_ncu_dparity[0];
504end
505endtask
506
507task SetSiiNcuCECC0;
508input value;
509reg value;
510begin
511 force `CPU.sii_ncu_data[16] = value;
512end
513endtask
514
515task RelSiiNcuCECC0;
516begin
517 release `CPU.sii_ncu_data[16];
518end
519endtask
520
521task SetSiiNcuCECC1;
522input value;
523reg value;
524begin
525 force `CPU.sii_ncu_data[17] = value;
526end
527endtask
528
529task RelSiiNcuCECC1;
530begin
531 release `CPU.sii_ncu_data[17];
532end
533endtask
534
535task SetDmuNcuWRACKPAR;
536input value;
537reg value;
538begin
539 force `CPU.dmu_ncu_wrack_par = value;
540end
541endtask
542
543task RelDmuNcuWRACKPAR;
544begin
545 release `CPU.dmu_ncu_wrack_par;
546end
547endtask
548
549task SetNcuDmuMONDOPAR;
550input value;
551reg value;
552begin
553 force `CPU.ncu_dmu_mondo_id_par = value;
554end
555endtask
556
557task RelNcuDmuMONDOPAR;
558begin
559 release `CPU.ncu_dmu_mondo_id_par;
560end
561endtask
562
563task SetSiiDmuWRACKPAR;
564input value;
565reg value;
566begin
567 force `CPU.sii_dmu_wrack_parity = value;
568end
569endtask
570
571task RelSiiDmuWRACKPAR;
572begin
573 release `CPU.sii_dmu_wrack_parity;
574end
575endtask