Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / niu / vera / niu_pio / mac_shadow_class.vr
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: mac_shadow_class.vr
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#include <vera_defines.vrh>
36#include "bmac_memory_map.vri"
37#include "neptune_memory_map.vri"
38
39class mac_shadow_cl {
40 integer port_id;
41
42 bit [32:0] all_mac_regs[];
43 bit [32:0] fall_mac_regs[];
44
45 bit [47:0] fmac0_addr;
46 bit [47:0] fmac1_addr;
47 bit [47:0] fmac2_addr;
48 bit [47:0] fmac3_addr;
49
50 bit [31:0] btxmac_sw_rst;
51 bit [31:0] brxmac_sw_rst;
52 bit [31:0] mac_send_pause;
53 bit [31:0] btxmac_status;
54 bit [31:0] brxmac_status;
55 bit [31:0] bmac_ctrl_stat;
56 bit [31:0] btxmac_stat_msk;
57 bit [31:0] brxmac_stat_msk;
58 bit [31:0] bmac_c_s_msk;
59 bit [31:0] txmac_config;
60 bit [31:0] rxmac_config;
61 bit [31:0] mac_ctrl_config;
62 bit [31:0] mac_xif_config;
63 bit [31:0] mac_ipg0;
64 bit [31:0] mac_ipg1;
65 bit [31:0] mac_ipg2;
66 bit [31:0] mac_slot_time;
67 bit [31:0] bmac_min;
68 bit [31:0] bmac_max;
69 bit [31:0] mac_pa_size;
70 bit [31:0] mac_jam_size;
71 bit [31:0] mac_attmpt_lmt;
72 bit [31:0] mac_ctrl_type;
73 bit [31:0] bmac_addr0;
74 bit [31:0] bmac_addr1;
75 bit [31:0] bmac_addr2;
76 bit [31:0] mac_addr3;
77 bit [31:0] mac_addr4;
78 bit [31:0] mac_addr5;
79 bit [31:0] mac_addr6;
80 bit [31:0] mac_addr7;
81 bit [31:0] mac_addr8;
82 bit [31:0] mac_addr9;
83 bit [31:0] mac_addr10;
84 bit [31:0] mac_addr11;
85 bit [31:0] mac_addr12;
86 bit [31:0] mac_addr13;
87 bit [31:0] mac_addr14;
88 bit [31:0] mac_addr15;
89 bit [31:0] mac_addr16;
90 bit [31:0] mac_addr17;
91 bit [31:0] mac_addr18;
92 bit [31:0] mac_addr19;
93 bit [31:0] mac_addr20;
94 bit [31:0] mac_addr21;
95 bit [31:0] mac_addr22;
96 bit [31:0] mac_addr23;
97 bit [31:0] mac_addr24;
98 bit [31:0] mac_addr25;
99 bit [31:0] mac_addr26;
100 bit [31:0] mac_addr27;
101 bit [31:0] mac_addr28;
102 bit [31:0] mac_addr29;
103 bit [31:0] mac_addr30;
104 bit [31:0] mac_addr31;
105 bit [31:0] mac_addr32;
106 bit [31:0] mac_addr33;
107 bit [31:0] mac_addr34;
108 bit [31:0] mac_addr35;
109 bit [31:0] mac_addr36;
110 bit [31:0] mac_addr37;
111 bit [31:0] mac_addr38;
112 bit [31:0] mac_addr39;
113 bit [31:0] mac_addr40;
114 bit [31:0] mac_addr41;
115 bit [31:0] mac_addr42;
116 bit [31:0] mac_addr43;
117 bit [31:0] mac_addr44;
118 bit [31:0] mac_fc_addr0;
119 bit [31:0] mac_fc_addr1;
120 bit [31:0] mac_fc_addr2;
121 bit [31:0] mac_add_filt0;
122 bit [31:0] mac_add_filt1;
123 bit [31:0] mac_add_filt2;
124 bit [31:0] mac_add_filt12_mask;
125 bit [31:0] mac_add_filt00_mask;
126 bit [31:0] mac_hash_tbl0;
127 bit [31:0] mac_hash_tbl1;
128 bit [31:0] mac_hash_tbl2;
129 bit [31:0] mac_hash_tbl3;
130 bit [31:0] mac_hash_tbl4;
131 bit [31:0] mac_hash_tbl5;
132 bit [31:0] mac_hash_tbl6;
133 bit [31:0] mac_hash_tbl7;
134 bit [31:0] mac_hash_tbl8;
135 bit [31:0] mac_hash_tbl9;
136 bit [31:0] mac_hash_tbl10;
137 bit [31:0] mac_hash_tbl11;
138 bit [31:0] mac_hash_tbl12;
139 bit [31:0] mac_hash_tbl13;
140 bit [31:0] mac_hash_tbl14;
141 bit [31:0] mac_hash_tbl15;
142 bit [31:0] bmac_col_cnt;
143 bit [31:0] bmac_oa_col_cnt;
144 bit [31:0] bmac_ex_col_cnt;
145 bit [31:0] bmac_lt_col_cnt;
146 bit [31:0] mac_def_timer;
147 bit [31:0] bmac_pk_att_cnt;
148 bit [31:0] brxmac_frm_cnt;
149 bit [31:0] mac_len_er_cnt;
150 bit [31:0] bmac_al_er_cnt;
151 bit [31:0] bmac_crc_er_cnt;
152 bit [31:0] bmac_cd_vio_cnt;
153 bit [31:0] mac_rnd_seed;
154 bit [31:0] bmac_sm_reg;
155 bit [31:0] bmac_altad_cmpen;
156 bit [31:0] bmac_host_inf0;
157 bit [31:0] bmac_host_inf1;
158 bit [31:0] bmac_host_inf2;
159 bit [31:0] bmac_host_inf3;
160 bit [31:0] bmac_host_inf4;
161 bit [31:0] bmac_host_inf5;
162 bit [31:0] bmac_host_inf6;
163 bit [31:0] bmac_host_inf7;
164 bit [31:0] btxmac_frm_cnt;
165 bit [31:0] btxmac_byte_cnt;
166 bit [31:0] brxmac_byte_cnt;
167
168
169 task new(integer p)
170 {
171 integer i;
172 port_id = p;
173
174 btxmac_sw_rst=32'h0000_0000;
175 brxmac_sw_rst=32'h0000_0000;
176 mac_send_pause=32'h0000_xxxx;
177 btxmac_status=32'h0000_0000;
178 brxmac_status=32'h0000_0000;
179 bmac_ctrl_stat=32'h0000_0000;
180 btxmac_stat_msk=32'h0000_01ff;
181 brxmac_stat_msk=32'h0000_007f;
182 bmac_c_s_msk=32'h0000_0007;
183 txmac_config=32'h0000_0000;
184 rxmac_config=32'h0000_0000;
185 mac_ctrl_config=32'h0000_0000;
186 mac_xif_config=32'h0000_000a;
187 mac_ipg0=32'hxxxx_xxxx;
188 mac_ipg1=32'hxxxx_xxxx;
189 mac_ipg2=32'hxxxx_xxxx;
190 mac_slot_time=32'hxxxx_xxxx;
191 bmac_min=32'hxxxx_xxxx;
192 bmac_max= {16'hxxxx,1'b0,15'hxxxx};
193 mac_pa_size=32'hxxxx_xxxx;
194 mac_jam_size=32'hxxxx_xxxx;
195 mac_attmpt_lmt=32'hxxxx_xxxx;
196 mac_ctrl_type=32'hxxxx_xxxx;
197 bmac_addr0=32'hxxxx_xxxx;
198 bmac_addr1=32'hxxxx_xxxx;
199 bmac_addr2=32'hxxxx_xxxx;
200 mac_addr3=32'hxxxx_xxxx;
201 mac_addr4=32'hxxxx_xxxx;
202 mac_addr5=32'hxxxx_xxxx;
203 mac_addr6=32'hxxxx_xxxx;
204 mac_addr7=32'hxxxx_xxxx;
205 mac_addr8=32'hxxxx_xxxx;
206 mac_addr9=32'hxxxx_xxxx;
207 mac_addr10=32'hxxxx_xxxx;
208 mac_addr11=32'hxxxx_xxxx;
209 mac_addr12=32'hxxxx_xxxx;
210 mac_addr13=32'hxxxx_xxxx;
211 mac_addr14=32'hxxxx_xxxx;
212 mac_addr15=32'hxxxx_xxxx;
213 mac_addr16=32'hxxxx_xxxx;
214 mac_addr17=32'hxxxx_xxxx;
215 mac_addr18=32'hxxxx_xxxx;
216 mac_addr19=32'hxxxx_xxxx;
217 mac_addr20=32'hxxxx_xxxx;
218 mac_addr21=32'hxxxx_xxxx;
219 mac_addr22=32'hxxxx_xxxx;
220 mac_addr23=32'hxxxx_xxxx;
221 mac_addr24=32'hxxxx_xxxx;
222 mac_addr25=32'hxxxx_xxxx;
223 mac_addr26=32'hxxxx_xxxx;
224 mac_addr27=32'hxxxx_xxxx;
225 mac_addr28=32'hxxxx_xxxx;
226 mac_addr29=32'hxxxx_xxxx;
227 mac_addr30=32'hxxxx_xxxx;
228 mac_addr31=32'hxxxx_xxxx;
229 mac_addr32=32'hxxxx_xxxx;
230 mac_addr33=32'hxxxx_xxxx;
231 mac_addr34=32'hxxxx_xxxx;
232 mac_addr35=32'hxxxx_xxxx;
233 mac_addr36=32'hxxxx_xxxx;
234 mac_addr37=32'hxxxx_xxxx;
235 mac_addr38=32'hxxxx_xxxx;
236 mac_addr39=32'hxxxx_xxxx;
237 mac_addr40=32'hxxxx_xxxx;
238 mac_addr41=32'hxxxx_xxxx;
239 mac_addr42=32'hxxxx_xxxx;
240 mac_addr43=32'hxxxx_xxxx;
241 mac_addr44=32'hxxxx_xxxx;
242 mac_fc_addr0=32'hxxxx_xxxx;
243 mac_fc_addr1=32'hxxxx_xxxx;
244 mac_fc_addr2=32'hxxxx_xxxx;
245 mac_add_filt0=32'hxxxx_xxxx;
246 mac_add_filt1=32'hxxxx_xxxx;
247 mac_add_filt2=32'hxxxx_xxxx;
248 mac_add_filt12_mask=32'hxxxx_xxxx;
249 mac_add_filt00_mask=32'hxxxx_xxxx;
250 mac_hash_tbl0=32'hxxxx_xxxx;
251 mac_hash_tbl1=32'hxxxx_xxxx;
252 mac_hash_tbl2=32'hxxxx_xxxx;
253 mac_hash_tbl3=32'hxxxx_xxxx;
254 mac_hash_tbl4=32'hxxxx_xxxx;
255 mac_hash_tbl5=32'hxxxx_xxxx;
256 mac_hash_tbl6=32'hxxxx_xxxx;
257 mac_hash_tbl7=32'hxxxx_xxxx;
258 mac_hash_tbl8=32'hxxxx_xxxx;
259 mac_hash_tbl9=32'hxxxx_xxxx;
260 mac_hash_tbl10=32'hxxxx_xxxx;
261 mac_hash_tbl11=32'hxxxx_xxxx;
262 mac_hash_tbl12=32'hxxxx_xxxx;
263 mac_hash_tbl13=32'hxxxx_xxxx;
264 mac_hash_tbl14=32'hxxxx_xxxx;
265 mac_hash_tbl15=32'hxxxx_xxxx;
266 bmac_col_cnt=32'hxxxx_xxxx;
267 bmac_oa_col_cnt=32'hxxxx_xxxx;
268 bmac_ex_col_cnt=32'hxxxx_xxxx;
269 bmac_lt_col_cnt=32'hxxxx_xxxx;
270 mac_def_timer=32'hxxxx_xxxx;
271 bmac_pk_att_cnt=32'h0000_0000;
272 brxmac_frm_cnt=32'hxxxx_xxxx;
273 mac_len_er_cnt=32'hxxxx_xxxx;
274 bmac_al_er_cnt=32'hxxxx_xxxx;
275 bmac_crc_er_cnt=32'hxxxx_xxxx;
276 bmac_cd_vio_cnt=32'hxxxx_xxxx;
277 mac_rnd_seed=32'hxxxx_xxxx;
278 bmac_sm_reg=32'h0000_0000;
279 bmac_altad_cmpen=32'h0000_0000;
280 bmac_host_inf0=32'h0000_0000;
281 bmac_host_inf1=32'h0000_0000;
282 bmac_host_inf2=32'h0000_0000;
283 bmac_host_inf3=32'h0000_0000;
284 bmac_host_inf4=32'h0000_0000;
285 bmac_host_inf5=32'h0000_0000;
286 bmac_host_inf6=32'h0000_0000;
287 bmac_host_inf7=32'h0000_0000;
288 btxmac_byte_cnt=32'hxxxx_xxxx;
289 btxmac_frm_cnt=32'hxxxx_xxxx;
290 brxmac_byte_cnt=32'hxxxx_xxxx;
291
292 }
293
294task put_fdata(integer mport, bit [47:0] data) {
295 case(mport) {
296 0: fmac0_addr = data;
297 1: fmac1_addr = data;
298 2: fmac2_addr = data;
299 3: fmac3_addr = data;
300 }
301}
302
303task get_fdata(integer mport, var bit[47:0] data) {
304 case(mport) {
305 0: data = fmac0_addr ;
306 1: data = fmac1_addr ;
307 2: data = fmac2_addr ;
308 3: data = fmac3_addr ;
309 }
310}
311
312task get_data (bit [32:0] addr, var bit [31:0] data,
313 var bit [31:0] data_mask, var bit data_valid) {
314 integer i=0;
315 data_mask = 32'hffff_ffff;
316 data_valid = 1;
317 case (addr[11:0])
318 {
319 BTxMAC_SW_RST :{
320 data = btxmac_sw_rst;
321 data_mask= BTxMAC_SW_RST_MASK;
322 }
323 BRxMAC_SW_RST :{
324 data = brxmac_sw_rst;
325 data_mask=BRxMAC_SW_RST_MASK;
326 }
327 MAC_SEND_PAUSE :{
328 data = mac_send_pause;
329 data_mask = MAC_SEND_PAUSE_MASK;
330 }
331 BTxMAC_STATUS :{
332 data = btxmac_status;
333 data_mask = BTxMAC_STATUS_MASK;
334 }
335 BRxMAC_STATUS :{
336 data= brxmac_status;
337 data_mask = BRxMAC_STATUS_MASK;
338 }
339 BMAC_CTRL_STAT :{
340 data= bmac_ctrl_stat;
341 data_mask = BMAC_CTRL_STAT_MASK;
342 }
343 BTxMAC_STAT_MSK :{
344 data= btxmac_stat_msk;
345 data_mask = BTxMAC_STAT_MSK_MASK;
346 }
347 BRxMAC_STAT_MSK :{
348 data= brxmac_stat_msk;
349 data_mask = BRxMAC_STAT_MSK_MASK;
350 }
351 BMAC_C_S_MSK :{
352 data= bmac_c_s_msk;
353 data_mask =BMAC_C_S_MSK_MASK;
354 }
355 TxMAC_CONFIG :{
356 data= txmac_config;
357 data_mask=TxMAC_CONFIG_MASK;
358 }
359 RxMAC_CONFIG :{
360 data= rxmac_config;
361 data_mask =RxMAC_CONFIG_MASK;
362 }
363 MAC_CTRL_CONFIG :{
364 data= mac_ctrl_config;
365 data_mask = MAC_CTRL_CONFIG_MASK;
366 }
367 MAC_XIF_CONFIG :{
368 data= mac_xif_config;
369 data_mask = MAC_XIF_CONFIG_MASK;
370 }
371 MAC_IPG0 :{
372 data= mac_ipg0;
373 data_mask = MAC_IPG0_MASK;
374 }
375 MAC_IPG1 :{
376 data= mac_ipg1;
377 data_mask = MAC_IPG1_MASK;
378 }
379 MAC_IPG2 :{
380 data= mac_ipg2;
381 data_mask = MAC_IPG2_MASK;
382 }
383 MAC_SLOT_TIME :{
384 data= mac_slot_time;
385 data_mask = MAC_SLOT_TIME_MASK;
386 }
387 BMAC_MIN :{
388 data= bmac_min;
389 data_mask = BMAC_MIN_MASK;
390 }
391 BMAC_MAX :{
392 data= bmac_max;
393 data_mask = BMAC_MAX_MASK;
394 }
395 MAC_PA_SIZE :{
396 data= mac_pa_size;
397 data_mask = MAC_PA_SIZE_MASK;
398 }
399 MAC_JAM_SIZE :{
400 data= mac_jam_size;
401 data_mask = MAC_JAM_SIZE_MASK;
402 }
403 MAC_ATTMPT_LMT :{
404 data= mac_attmpt_lmt;
405 data_mask = MAC_ATTMPT_LMT_MASK;
406 }
407 MAC_CTRL_TYPE :{
408 data= mac_ctrl_type;
409 data_mask = MAC_CTRL_TYPE_MASK;
410 }
411 BMAC_ADDR0 :{
412 data = bmac_addr0;
413 data_mask = BMAC_ADDR0_MASK;
414 }
415 BMAC_ADDR1 :{
416 data = bmac_addr1;
417 data_mask = BMAC_ADDR1_MASK;
418 }
419 BMAC_ADDR2 :{
420 data = bmac_addr2;
421 data_mask = BMAC_ADDR2_MASK;
422 }
423 MAC_ADDR3 :{
424 data= mac_addr3;
425 data_mask = MAC_ADDR3_MASK;
426 }
427 MAC_ADDR4 :{
428 data = mac_addr4;
429 data_mask= MAC_ADDR4_MASK;
430 }
431 MAC_ADDR5 :{
432 data = mac_addr5;
433 data_mask = MAC_ADDR5_MASK;
434 }
435 MAC_ADDR6 :{
436 data = mac_addr6;
437 data_mask = MAC_ADDR6_MASK;
438 }
439 MAC_ADDR7 :{
440 data = mac_addr7;
441 data_mask = MAC_ADDR7_MASK;
442 }
443 MAC_ADDR8 :{
444 data = mac_addr8;
445 data_mask = MAC_ADDR8_MASK;
446 }
447 MAC_ADDR9 :{
448 data = mac_addr9;
449 data_mask = MAC_ADDR9_MASK;
450 }
451 MAC_ADDR10 :{
452 data = mac_addr10;
453 data_mask = MAC_ADDR10_MASK;
454 }
455 MAC_ADDR11 :{
456 data = mac_addr11;
457 data_mask = MAC_ADDR11_MASK;
458 }
459 MAC_ADDR12 :{
460 data = mac_addr12;
461 data_mask = MAC_ADDR12_MASK;
462 }
463 MAC_ADDR13 :{
464 data = mac_addr13;
465 data_mask = MAC_ADDR13_MASK;
466 }
467 MAC_ADDR14 :{
468 data = mac_addr14;
469 data_mask = MAC_ADDR14_MASK;
470 }
471 MAC_ADDR15 :{
472 data = mac_addr15;
473 data_mask = MAC_ADDR15_MASK;
474 }
475 MAC_ADDR16 :{
476 data = mac_addr16;
477 data_mask = MAC_ADDR16_MASK;
478 }
479 MAC_ADDR17 :{
480 data = mac_addr17;
481 data_mask = MAC_ADDR17_MASK;
482 }
483 MAC_ADDR18 :{
484 data = mac_addr18;
485 data_mask= MAC_ADDR18_MASK;
486 }
487 MAC_ADDR19 :{
488 data = mac_addr19;
489 data_mask = MAC_ADDR19_MASK;
490 }
491 MAC_ADDR20 :{
492 data = mac_addr20;
493 data_mask = MAC_ADDR20_MASK;
494 }
495 MAC_ADDR21 :{
496 data = mac_addr21;
497 data_mask = MAC_ADDR21_MASK;
498 }
499 MAC_ADDR22 :{
500 data = mac_addr22;
501 data_mask = MAC_ADDR22_MASK;
502 }
503 MAC_ADDR23 :{
504 data = mac_addr23;
505 data_mask = MAC_ADDR23_MASK;
506 }
507 MAC_ADDR24 :{
508 data = mac_addr24;
509 data_mask = MAC_ADDR24_MASK;
510 }
511 MAC_ADDR25 :{
512 data = mac_addr25;
513 data_mask = MAC_ADDR25_MASK;
514 }
515 MAC_ADDR26 :{
516 data = mac_addr26;
517 data_mask= MAC_ADDR26_MASK;
518 }
519 MAC_ADDR27 :{
520 data = mac_addr27;
521 data_mask = MAC_ADDR27_MASK;
522 }
523 MAC_ADDR28 :{
524 data = mac_addr28;
525 data_mask = MAC_ADDR28_MASK;
526 }
527 MAC_ADDR29 :{
528 data = mac_addr29;
529 data_mask = MAC_ADDR29_MASK;
530 }
531 MAC_ADDR30 :{
532 data = mac_addr30;
533 data_mask= MAC_ADDR30_MASK;
534 }
535 MAC_ADDR31 :{
536 data = mac_addr31;
537 data_mask = MAC_ADDR31_MASK;
538 }
539 MAC_ADDR32 :{
540 data = mac_addr32;
541 data_mask = MAC_ADDR32_MASK;
542 }
543 MAC_ADDR33 :{
544 data = mac_addr33;
545 data_mask = MAC_ADDR33_MASK;
546 }
547 MAC_ADDR34 :{
548 data = mac_addr34;
549 data_mask = MAC_ADDR34_MASK;
550 }
551 MAC_ADDR35 :{
552 data = mac_addr35;
553 data_mask = MAC_ADDR35_MASK;
554 }
555 MAC_ADDR36 :{
556 data = mac_addr36;
557 data_mask = MAC_ADDR36_MASK;
558 }
559 MAC_ADDR37 :{
560 data = mac_addr37;
561 data_mask = MAC_ADDR37_MASK;
562 }
563 MAC_ADDR38 :{
564 data = mac_addr38;
565 data_mask = MAC_ADDR38_MASK;
566 }
567 MAC_ADDR39 :{
568 data = mac_addr39;
569 data_mask = MAC_ADDR39_MASK;
570 }
571 MAC_ADDR40 :{
572 data = mac_addr40;
573 data_mask = MAC_ADDR40_MASK;
574 }
575 MAC_ADDR41 :{
576 data = mac_addr41;
577 data_mask = MAC_ADDR41_MASK;
578 }
579 MAC_ADDR42 :{
580 data = mac_addr42;
581 data_mask = MAC_ADDR42_MASK;
582 }
583 MAC_ADDR43 :{
584 data = mac_addr43;
585 data_mask = MAC_ADDR43_MASK;
586 }
587 MAC_ADDR44 :{
588 data = mac_addr44;
589 data_mask = MAC_ADDR44_MASK;
590 }
591 MAC_FC_ADDR0 :{
592 data = mac_fc_addr0;
593 data_mask = MAC_FC_ADDR0_MASK;
594 }
595 MAC_FC_ADDR1 :{
596 data = mac_fc_addr1;
597 data_mask = MAC_FC_ADDR1_MASK;
598 }
599 MAC_FC_ADDR2 :{
600 data = mac_fc_addr2;
601 data_mask = MAC_FC_ADDR2_MASK;
602 }
603 MAC_ADD_FILT0 :{
604 data = mac_add_filt0;
605 data_mask = MAC_ADD_FILT0_MASK;
606 }
607 MAC_ADD_FILT1 :{
608 data = mac_add_filt1;
609 data_mask = MAC_ADD_FILT1_MASK;
610 }
611 MAC_ADD_FILT2 :{
612 data = mac_add_filt2;
613 data_mask = MAC_ADD_FILT2_MASK;
614 }
615 MAC_ADD_FILT12_MASK :{
616 data = mac_add_filt12_mask;
617 data_mask = MAC_ADD_FILT12_MASK_MASK;
618 }
619 MAC_ADD_FILT00_MASK :{
620 data = mac_add_filt00_mask;
621 data_mask = MAC_ADD_FILT00_MASK_MASK;
622 }
623 MAC_HASH_TBL0 :{
624 data = mac_hash_tbl0;
625 data_mask = MAC_HASH_TBL0_MASK;
626 }
627 MAC_HASH_TBL1 :{
628 data = mac_hash_tbl1;
629 data_mask = MAC_HASH_TBL1_MASK;
630 }
631 MAC_HASH_TBL2 :{
632 data = mac_hash_tbl2;
633 data_mask = MAC_HASH_TBL2_MASK;
634 }
635 MAC_HASH_TBL3 :{
636 data = mac_hash_tbl3;
637 data_mask = MAC_HASH_TBL3_MASK;
638 }
639 MAC_HASH_TBL4 :{
640 data = mac_hash_tbl4;
641 data_mask = MAC_HASH_TBL4_MASK;
642 }
643 MAC_HASH_TBL5 :{
644 data = mac_hash_tbl5;
645 data_mask = MAC_HASH_TBL5_MASK;
646 }
647 MAC_HASH_TBL6 :{
648 data = mac_hash_tbl6;
649 data_mask = MAC_HASH_TBL6_MASK;
650 }
651 MAC_HASH_TBL7 :{
652 data = mac_hash_tbl7;
653 data_mask = MAC_HASH_TBL7_MASK;
654 }
655 MAC_HASH_TBL8 :{
656 data = mac_hash_tbl8;
657 data_mask = MAC_HASH_TBL8_MASK;
658 }
659 MAC_HASH_TBL9 :{
660 data = mac_hash_tbl9;
661 data_mask = MAC_HASH_TBL9_MASK;
662 }
663 MAC_HASH_TBL10 :{
664 data = mac_hash_tbl10;
665 data_mask = MAC_HASH_TBL10_MASK;
666 }
667 MAC_HASH_TBL11 :{
668 data = mac_hash_tbl11;
669 data_mask =MAC_HASH_TBL11_MASK;
670 }
671 MAC_HASH_TBL12 :{
672 data = mac_hash_tbl12;
673 data_mask = MAC_HASH_TBL12_MASK;
674 }
675 MAC_HASH_TBL13 :{
676 data = mac_hash_tbl13;
677 data_mask = MAC_HASH_TBL13_MASK;
678 }
679 MAC_HASH_TBL14 :{
680 data = mac_hash_tbl14;
681 data_mask = MAC_HASH_TBL14_MASK;
682 }
683 MAC_HASH_TBL15 :{
684 data = mac_hash_tbl15;
685 data_mask = MAC_HASH_TBL15_MASK;
686 }
687 BMAC_COL_CNT :{
688 data = bmac_col_cnt;
689 data_mask = BMAC_COL_CNT_MASK;
690 }
691 BMAC_OA_COL_CNT :{
692 data = bmac_oa_col_cnt;
693 data_mask = BMAC_OA_COL_CNT_MASK;
694 }
695 BMAC_EX_COL_CNT :{
696 data = bmac_ex_col_cnt;
697 data_mask = BMAC_EX_COL_CNT_MASK;
698 }
699 BMAC_LT_COL_CNT :{
700 data = bmac_lt_col_cnt;
701 data_mask = BMAC_LT_COL_CNT_MASK;
702 }
703 MAC_DEF_TIMER :{
704 data = mac_def_timer;
705 data_mask = MAC_DEF_TIMER_MASK;
706 }
707 BMAC_PK_ATT_CNT :{
708 data = bmac_pk_att_cnt;
709 data_mask= BMAC_PK_ATT_CNT_MASK;
710 }
711 BRxMAC_FRM_CNT :{
712 data = brxmac_frm_cnt;
713 data_mask = BRxMAC_FRM_CNT_MASK;
714 }
715 MAC_LEN_ER_CNT :{
716 data = mac_len_er_cnt;
717 data_mask = MAC_LEN_ER_CNT_MASK;
718 }
719 BMAC_AL_ER_CNT :{
720 data = bmac_al_er_cnt;
721 data_mask = BMAC_AL_ER_CNT_MASK;
722 }
723 BMAC_CRC_ER_CNT :{
724 data = bmac_crc_er_cnt;
725 data_mask= BMAC_CRC_ER_CNT_MASK;
726 }
727 BMAC_CD_VIO_CNT :{
728 data = bmac_cd_vio_cnt;
729 data_mask = BMAC_CD_VIO_CNT_MASK;
730 }
731 MAC_RND_SEED :{
732 data = mac_rnd_seed;
733 data_mask = MAC_RND_SEED_MASK;
734 }
735 BMAC_SM_REG :{
736 data = bmac_sm_reg;
737 data_mask = BMAC_SM_REG_MASK;
738 }
739 BMAC_ALTAD_CMPEN :{
740 data = bmac_altad_cmpen;
741 data_mask = BMAC_ALTAD_CMPEN_MASK;
742 }
743 BMAC_HOST_INFO :{
744 data = bmac_host_inf0;
745 data_mask = BMAC_HOST_INFO0_MASK;
746 }
747 BMAC_HOST_INF1 :{
748 data = bmac_host_inf1;
749 data_mask = BMAC_HOST_INFO1_MASK;
750 }
751 BMAC_HOST_INF2 :{
752 data = bmac_host_inf2;
753 data_mask = BMAC_HOST_INFO2_MASK;
754 }
755 BMAC_HOST_INF3 :{
756 data = bmac_host_inf3;
757 data_mask = BMAC_HOST_INFO3_MASK;
758 }
759 BMAC_HOST_INF4 :{
760 data = bmac_host_inf4;
761 data_mask = BMAC_HOST_INFO4_MASK;
762 }
763 BMAC_HOST_INF5 :{
764 data = bmac_host_inf5;
765 data_mask = BMAC_HOST_INFO5_MASK;
766 }
767 BMAC_HOST_INF6 :{
768 data = bmac_host_inf6;
769 data_mask = BMAC_HOST_INFO6_MASK;
770 }
771 BMAC_HOST_INF7 :{
772 data = bmac_host_inf7;
773 data_mask = BMAC_HOST_INFO7_MASK;
774 }
775 BTxMAC_BYTE_CNT :{
776 data = btxmac_byte_cnt;
777 data_mask = BTxMAC_BYTE_CNT_MASK;
778 }
779 BTxMAC_BYTE_CNT :{
780 data = btxmac_frm_cnt;
781 data_mask = BTxMAC_BYTE_CNT_MASK;
782 }
783 BRxMAC_BYTE_CNT :{
784 data = brxmac_byte_cnt;
785 data_mask = BRxMAC_BYTE_CNT_MASK;
786 }
787 }
788 }
789
790task put_data (bit [32:0] addr, bit [31:0] data)
791{
792 case(addr[11:0])
793 {
794 BTxMAC_SW_RST :btxmac_sw_rst = data;
795 BRxMAC_SW_RST :brxmac_sw_rst = data;
796 MAC_SEND_PAUSE :mac_send_pause = data;
797 BTxMAC_STATUS :btxmac_status = data;
798 BRxMAC_STATUS :brxmac_status = data;
799 BMAC_CTRL_STAT :bmac_ctrl_stat = data;
800 BTxMAC_STAT_MSK :btxmac_stat_msk = data;
801 BRxMAC_STAT_MSK :brxmac_stat_msk = data;
802 BMAC_C_S_MSK :bmac_c_s_msk = data;
803 TxMAC_CONFIG :txmac_config = data;
804 RxMAC_CONFIG :rxmac_config = data;
805 MAC_CTRL_CONFIG :mac_ctrl_config = data;
806 MAC_XIF_CONFIG :mac_xif_config = data;
807 MAC_IPG0 :mac_ipg0 = data;
808 MAC_IPG1 :mac_ipg1 = data;
809 MAC_IPG2 :mac_ipg2 = data;
810 MAC_SLOT_TIME :mac_slot_time = data;
811 BMAC_MIN :bmac_min = data;
812 BMAC_MAX :bmac_max = data;
813 MAC_PA_SIZE :mac_pa_size = data;
814 MAC_JAM_SIZE :mac_jam_size = data;
815 MAC_ATTMPT_LMT :mac_attmpt_lmt = data;
816 MAC_CTRL_TYPE :mac_ctrl_type = data;
817 BMAC_ADDR0 :bmac_addr0 = data;
818 BMAC_ADDR1 :bmac_addr1 = data;
819 BMAC_ADDR2 :bmac_addr2 = data;
820 MAC_ADDR3 :mac_addr3 = data;
821 MAC_ADDR4 :mac_addr4 = data;
822 MAC_ADDR5 :mac_addr5 = data;
823 MAC_ADDR6 :mac_addr6 = data;
824 MAC_ADDR7 :mac_addr7 = data;
825 MAC_ADDR8 :mac_addr8 = data;
826 MAC_ADDR9 :mac_addr9 = data;
827 MAC_ADDR10 :mac_addr10 = data;
828 MAC_ADDR11 :mac_addr11 = data;
829 MAC_ADDR12 :mac_addr12 = data;
830 MAC_ADDR13 :mac_addr13 = data;
831 MAC_ADDR14 :mac_addr14 = data;
832 MAC_ADDR15 :mac_addr15 = data;
833 MAC_ADDR16 :mac_addr16 = data;
834 MAC_ADDR17 :mac_addr17 = data;
835 MAC_ADDR18 :mac_addr18 = data;
836 MAC_ADDR19 :mac_addr19 = data;
837 MAC_ADDR20 :mac_addr20 = data;
838 MAC_ADDR21 :mac_addr21 = data;
839 MAC_ADDR22 :mac_addr22 = data;
840 MAC_ADDR23 :mac_addr23 = data;
841 MAC_ADDR24 :mac_addr24 = data;
842 MAC_ADDR25 :mac_addr25 = data;
843 MAC_ADDR26 :mac_addr26 = data;
844 MAC_ADDR27 :mac_addr27 = data;
845 MAC_ADDR28 :mac_addr28 = data;
846 MAC_ADDR29 :mac_addr29 = data;
847 MAC_ADDR30 :mac_addr30 = data;
848 MAC_ADDR31 :mac_addr31 = data;
849 MAC_ADDR32 :mac_addr32 = data;
850 MAC_ADDR33 :mac_addr33 = data;
851 MAC_ADDR34 :mac_addr34 = data;
852 MAC_ADDR35 :mac_addr35 = data;
853 MAC_ADDR36 :mac_addr36 = data;
854 MAC_ADDR37 :mac_addr37 = data;
855 MAC_ADDR38 :mac_addr38 = data;
856 MAC_ADDR39 :mac_addr39 = data;
857 MAC_ADDR40 :mac_addr40 = data;
858 MAC_ADDR41 :mac_addr41 = data;
859 MAC_ADDR42 :mac_addr42 = data;
860 MAC_ADDR43 :mac_addr43 = data;
861 MAC_ADDR44 :mac_addr44 = data;
862 MAC_FC_ADDR0 :mac_fc_addr0 = data;
863 MAC_FC_ADDR1 :mac_fc_addr1 = data;
864 MAC_FC_ADDR2 :mac_fc_addr2 = data;
865 MAC_ADD_FILT0 :mac_add_filt0 = data;
866 MAC_ADD_FILT1 :mac_add_filt1 = data;
867 MAC_ADD_FILT2 :mac_add_filt2 = data;
868 MAC_ADD_FILT12_MASK :mac_add_filt12_mask = data;
869 MAC_ADD_FILT00_MASK :mac_add_filt00_mask = data;
870 MAC_HASH_TBL0 :mac_hash_tbl0 = data;
871 MAC_HASH_TBL1 :mac_hash_tbl1 = data;
872 MAC_HASH_TBL2 :mac_hash_tbl2 = data;
873 MAC_HASH_TBL3 :mac_hash_tbl3 = data;
874 MAC_HASH_TBL4 :mac_hash_tbl4 = data;
875 MAC_HASH_TBL5 :mac_hash_tbl5 = data;
876 MAC_HASH_TBL6 :mac_hash_tbl6 = data;
877 MAC_HASH_TBL7 :mac_hash_tbl7 = data;
878 MAC_HASH_TBL8 :mac_hash_tbl8 = data;
879 MAC_HASH_TBL9 :mac_hash_tbl9 = data;
880 MAC_HASH_TBL10 :mac_hash_tbl10 = data;
881 MAC_HASH_TBL11 :mac_hash_tbl11 = data;
882 MAC_HASH_TBL12 :mac_hash_tbl12 = data;
883 MAC_HASH_TBL13 :mac_hash_tbl13 = data;
884 MAC_HASH_TBL14 :mac_hash_tbl14 = data;
885 MAC_HASH_TBL15 :mac_hash_tbl15 = data;
886 BMAC_COL_CNT :bmac_col_cnt = data;
887 BMAC_OA_COL_CNT :bmac_oa_col_cnt = data;
888 BMAC_EX_COL_CNT :bmac_ex_col_cnt = data;
889 BMAC_LT_COL_CNT :bmac_lt_col_cnt = data;
890 MAC_DEF_TIMER :mac_def_timer = data;
891 BMAC_PK_ATT_CNT :bmac_pk_att_cnt = data;
892 BRxMAC_FRM_CNT :brxmac_frm_cnt = data;
893 MAC_LEN_ER_CNT :mac_len_er_cnt = data;
894 BMAC_AL_ER_CNT :bmac_al_er_cnt = data;
895 BMAC_CRC_ER_CNT :bmac_crc_er_cnt = data;
896 BMAC_CD_VIO_CNT :bmac_cd_vio_cnt = data;
897 MAC_RND_SEED :mac_rnd_seed = data;
898 BMAC_SM_REG :bmac_sm_reg = data;
899 BMAC_ALTAD_CMPEN :bmac_altad_cmpen = data;
900 BMAC_HOST_INFO :bmac_host_inf0 = data;
901 BMAC_HOST_INF1 :bmac_host_inf1 = data;
902 BMAC_HOST_INF2 :bmac_host_inf2 = data;
903 BMAC_HOST_INF3 :bmac_host_inf3 = data;
904 BMAC_HOST_INF4 :bmac_host_inf4 = data;
905 BMAC_HOST_INF5 :bmac_host_inf5 = data;
906 BMAC_HOST_INF6 :bmac_host_inf6 = data;
907 BMAC_HOST_INF7 :bmac_host_inf7 = data;
908 BTxMAC_BYTE_CNT :btxmac_byte_cnt = data;
909 BTxMAC_FRM_CNT :btxmac_frm_cnt = data;
910 BRxMAC_BYTE_CNT :brxmac_byte_cnt = data;
911 }
912
913}
914}
915