Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / niu / vera / niu_pio / mac_shadow_class.vr
// ========== Copyright Header Begin ==========================================
//
// OpenSPARC T2 Processor File: mac_shadow_class.vr
// Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
// 4150 Network Circle, Santa Clara, California 95054, U.S.A.
//
// * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 2 of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// For the avoidance of doubt, and except that if any non-GPL license
// choice is available it will apply instead, Sun elects to use only
// the General Public License version 2 (GPLv2) at this time for any
// software where a choice of GPL license versions is made
// available with the language indicating that GPLv2 or any later version
// may be used, or where a choice of which version of the GPL is applied is
// otherwise unspecified.
//
// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
// CA 95054 USA or visit www.sun.com if you need additional information or
// have any questions.
//
// ========== Copyright Header End ============================================
#include <vera_defines.vrh>
#include "bmac_memory_map.vri"
#include "neptune_memory_map.vri"
class mac_shadow_cl {
integer port_id;
bit [32:0] all_mac_regs[];
bit [32:0] fall_mac_regs[];
bit [47:0] fmac0_addr;
bit [47:0] fmac1_addr;
bit [47:0] fmac2_addr;
bit [47:0] fmac3_addr;
bit [31:0] btxmac_sw_rst;
bit [31:0] brxmac_sw_rst;
bit [31:0] mac_send_pause;
bit [31:0] btxmac_status;
bit [31:0] brxmac_status;
bit [31:0] bmac_ctrl_stat;
bit [31:0] btxmac_stat_msk;
bit [31:0] brxmac_stat_msk;
bit [31:0] bmac_c_s_msk;
bit [31:0] txmac_config;
bit [31:0] rxmac_config;
bit [31:0] mac_ctrl_config;
bit [31:0] mac_xif_config;
bit [31:0] mac_ipg0;
bit [31:0] mac_ipg1;
bit [31:0] mac_ipg2;
bit [31:0] mac_slot_time;
bit [31:0] bmac_min;
bit [31:0] bmac_max;
bit [31:0] mac_pa_size;
bit [31:0] mac_jam_size;
bit [31:0] mac_attmpt_lmt;
bit [31:0] mac_ctrl_type;
bit [31:0] bmac_addr0;
bit [31:0] bmac_addr1;
bit [31:0] bmac_addr2;
bit [31:0] mac_addr3;
bit [31:0] mac_addr4;
bit [31:0] mac_addr5;
bit [31:0] mac_addr6;
bit [31:0] mac_addr7;
bit [31:0] mac_addr8;
bit [31:0] mac_addr9;
bit [31:0] mac_addr10;
bit [31:0] mac_addr11;
bit [31:0] mac_addr12;
bit [31:0] mac_addr13;
bit [31:0] mac_addr14;
bit [31:0] mac_addr15;
bit [31:0] mac_addr16;
bit [31:0] mac_addr17;
bit [31:0] mac_addr18;
bit [31:0] mac_addr19;
bit [31:0] mac_addr20;
bit [31:0] mac_addr21;
bit [31:0] mac_addr22;
bit [31:0] mac_addr23;
bit [31:0] mac_addr24;
bit [31:0] mac_addr25;
bit [31:0] mac_addr26;
bit [31:0] mac_addr27;
bit [31:0] mac_addr28;
bit [31:0] mac_addr29;
bit [31:0] mac_addr30;
bit [31:0] mac_addr31;
bit [31:0] mac_addr32;
bit [31:0] mac_addr33;
bit [31:0] mac_addr34;
bit [31:0] mac_addr35;
bit [31:0] mac_addr36;
bit [31:0] mac_addr37;
bit [31:0] mac_addr38;
bit [31:0] mac_addr39;
bit [31:0] mac_addr40;
bit [31:0] mac_addr41;
bit [31:0] mac_addr42;
bit [31:0] mac_addr43;
bit [31:0] mac_addr44;
bit [31:0] mac_fc_addr0;
bit [31:0] mac_fc_addr1;
bit [31:0] mac_fc_addr2;
bit [31:0] mac_add_filt0;
bit [31:0] mac_add_filt1;
bit [31:0] mac_add_filt2;
bit [31:0] mac_add_filt12_mask;
bit [31:0] mac_add_filt00_mask;
bit [31:0] mac_hash_tbl0;
bit [31:0] mac_hash_tbl1;
bit [31:0] mac_hash_tbl2;
bit [31:0] mac_hash_tbl3;
bit [31:0] mac_hash_tbl4;
bit [31:0] mac_hash_tbl5;
bit [31:0] mac_hash_tbl6;
bit [31:0] mac_hash_tbl7;
bit [31:0] mac_hash_tbl8;
bit [31:0] mac_hash_tbl9;
bit [31:0] mac_hash_tbl10;
bit [31:0] mac_hash_tbl11;
bit [31:0] mac_hash_tbl12;
bit [31:0] mac_hash_tbl13;
bit [31:0] mac_hash_tbl14;
bit [31:0] mac_hash_tbl15;
bit [31:0] bmac_col_cnt;
bit [31:0] bmac_oa_col_cnt;
bit [31:0] bmac_ex_col_cnt;
bit [31:0] bmac_lt_col_cnt;
bit [31:0] mac_def_timer;
bit [31:0] bmac_pk_att_cnt;
bit [31:0] brxmac_frm_cnt;
bit [31:0] mac_len_er_cnt;
bit [31:0] bmac_al_er_cnt;
bit [31:0] bmac_crc_er_cnt;
bit [31:0] bmac_cd_vio_cnt;
bit [31:0] mac_rnd_seed;
bit [31:0] bmac_sm_reg;
bit [31:0] bmac_altad_cmpen;
bit [31:0] bmac_host_inf0;
bit [31:0] bmac_host_inf1;
bit [31:0] bmac_host_inf2;
bit [31:0] bmac_host_inf3;
bit [31:0] bmac_host_inf4;
bit [31:0] bmac_host_inf5;
bit [31:0] bmac_host_inf6;
bit [31:0] bmac_host_inf7;
bit [31:0] btxmac_frm_cnt;
bit [31:0] btxmac_byte_cnt;
bit [31:0] brxmac_byte_cnt;
task new(integer p)
{
integer i;
port_id = p;
btxmac_sw_rst=32'h0000_0000;
brxmac_sw_rst=32'h0000_0000;
mac_send_pause=32'h0000_xxxx;
btxmac_status=32'h0000_0000;
brxmac_status=32'h0000_0000;
bmac_ctrl_stat=32'h0000_0000;
btxmac_stat_msk=32'h0000_01ff;
brxmac_stat_msk=32'h0000_007f;
bmac_c_s_msk=32'h0000_0007;
txmac_config=32'h0000_0000;
rxmac_config=32'h0000_0000;
mac_ctrl_config=32'h0000_0000;
mac_xif_config=32'h0000_000a;
mac_ipg0=32'hxxxx_xxxx;
mac_ipg1=32'hxxxx_xxxx;
mac_ipg2=32'hxxxx_xxxx;
mac_slot_time=32'hxxxx_xxxx;
bmac_min=32'hxxxx_xxxx;
bmac_max= {16'hxxxx,1'b0,15'hxxxx};
mac_pa_size=32'hxxxx_xxxx;
mac_jam_size=32'hxxxx_xxxx;
mac_attmpt_lmt=32'hxxxx_xxxx;
mac_ctrl_type=32'hxxxx_xxxx;
bmac_addr0=32'hxxxx_xxxx;
bmac_addr1=32'hxxxx_xxxx;
bmac_addr2=32'hxxxx_xxxx;
mac_addr3=32'hxxxx_xxxx;
mac_addr4=32'hxxxx_xxxx;
mac_addr5=32'hxxxx_xxxx;
mac_addr6=32'hxxxx_xxxx;
mac_addr7=32'hxxxx_xxxx;
mac_addr8=32'hxxxx_xxxx;
mac_addr9=32'hxxxx_xxxx;
mac_addr10=32'hxxxx_xxxx;
mac_addr11=32'hxxxx_xxxx;
mac_addr12=32'hxxxx_xxxx;
mac_addr13=32'hxxxx_xxxx;
mac_addr14=32'hxxxx_xxxx;
mac_addr15=32'hxxxx_xxxx;
mac_addr16=32'hxxxx_xxxx;
mac_addr17=32'hxxxx_xxxx;
mac_addr18=32'hxxxx_xxxx;
mac_addr19=32'hxxxx_xxxx;
mac_addr20=32'hxxxx_xxxx;
mac_addr21=32'hxxxx_xxxx;
mac_addr22=32'hxxxx_xxxx;
mac_addr23=32'hxxxx_xxxx;
mac_addr24=32'hxxxx_xxxx;
mac_addr25=32'hxxxx_xxxx;
mac_addr26=32'hxxxx_xxxx;
mac_addr27=32'hxxxx_xxxx;
mac_addr28=32'hxxxx_xxxx;
mac_addr29=32'hxxxx_xxxx;
mac_addr30=32'hxxxx_xxxx;
mac_addr31=32'hxxxx_xxxx;
mac_addr32=32'hxxxx_xxxx;
mac_addr33=32'hxxxx_xxxx;
mac_addr34=32'hxxxx_xxxx;
mac_addr35=32'hxxxx_xxxx;
mac_addr36=32'hxxxx_xxxx;
mac_addr37=32'hxxxx_xxxx;
mac_addr38=32'hxxxx_xxxx;
mac_addr39=32'hxxxx_xxxx;
mac_addr40=32'hxxxx_xxxx;
mac_addr41=32'hxxxx_xxxx;
mac_addr42=32'hxxxx_xxxx;
mac_addr43=32'hxxxx_xxxx;
mac_addr44=32'hxxxx_xxxx;
mac_fc_addr0=32'hxxxx_xxxx;
mac_fc_addr1=32'hxxxx_xxxx;
mac_fc_addr2=32'hxxxx_xxxx;
mac_add_filt0=32'hxxxx_xxxx;
mac_add_filt1=32'hxxxx_xxxx;
mac_add_filt2=32'hxxxx_xxxx;
mac_add_filt12_mask=32'hxxxx_xxxx;
mac_add_filt00_mask=32'hxxxx_xxxx;
mac_hash_tbl0=32'hxxxx_xxxx;
mac_hash_tbl1=32'hxxxx_xxxx;
mac_hash_tbl2=32'hxxxx_xxxx;
mac_hash_tbl3=32'hxxxx_xxxx;
mac_hash_tbl4=32'hxxxx_xxxx;
mac_hash_tbl5=32'hxxxx_xxxx;
mac_hash_tbl6=32'hxxxx_xxxx;
mac_hash_tbl7=32'hxxxx_xxxx;
mac_hash_tbl8=32'hxxxx_xxxx;
mac_hash_tbl9=32'hxxxx_xxxx;
mac_hash_tbl10=32'hxxxx_xxxx;
mac_hash_tbl11=32'hxxxx_xxxx;
mac_hash_tbl12=32'hxxxx_xxxx;
mac_hash_tbl13=32'hxxxx_xxxx;
mac_hash_tbl14=32'hxxxx_xxxx;
mac_hash_tbl15=32'hxxxx_xxxx;
bmac_col_cnt=32'hxxxx_xxxx;
bmac_oa_col_cnt=32'hxxxx_xxxx;
bmac_ex_col_cnt=32'hxxxx_xxxx;
bmac_lt_col_cnt=32'hxxxx_xxxx;
mac_def_timer=32'hxxxx_xxxx;
bmac_pk_att_cnt=32'h0000_0000;
brxmac_frm_cnt=32'hxxxx_xxxx;
mac_len_er_cnt=32'hxxxx_xxxx;
bmac_al_er_cnt=32'hxxxx_xxxx;
bmac_crc_er_cnt=32'hxxxx_xxxx;
bmac_cd_vio_cnt=32'hxxxx_xxxx;
mac_rnd_seed=32'hxxxx_xxxx;
bmac_sm_reg=32'h0000_0000;
bmac_altad_cmpen=32'h0000_0000;
bmac_host_inf0=32'h0000_0000;
bmac_host_inf1=32'h0000_0000;
bmac_host_inf2=32'h0000_0000;
bmac_host_inf3=32'h0000_0000;
bmac_host_inf4=32'h0000_0000;
bmac_host_inf5=32'h0000_0000;
bmac_host_inf6=32'h0000_0000;
bmac_host_inf7=32'h0000_0000;
btxmac_byte_cnt=32'hxxxx_xxxx;
btxmac_frm_cnt=32'hxxxx_xxxx;
brxmac_byte_cnt=32'hxxxx_xxxx;
}
task put_fdata(integer mport, bit [47:0] data) {
case(mport) {
0: fmac0_addr = data;
1: fmac1_addr = data;
2: fmac2_addr = data;
3: fmac3_addr = data;
}
}
task get_fdata(integer mport, var bit[47:0] data) {
case(mport) {
0: data = fmac0_addr ;
1: data = fmac1_addr ;
2: data = fmac2_addr ;
3: data = fmac3_addr ;
}
}
task get_data (bit [32:0] addr, var bit [31:0] data,
var bit [31:0] data_mask, var bit data_valid) {
integer i=0;
data_mask = 32'hffff_ffff;
data_valid = 1;
case (addr[11:0])
{
BTxMAC_SW_RST :{
data = btxmac_sw_rst;
data_mask= BTxMAC_SW_RST_MASK;
}
BRxMAC_SW_RST :{
data = brxmac_sw_rst;
data_mask=BRxMAC_SW_RST_MASK;
}
MAC_SEND_PAUSE :{
data = mac_send_pause;
data_mask = MAC_SEND_PAUSE_MASK;
}
BTxMAC_STATUS :{
data = btxmac_status;
data_mask = BTxMAC_STATUS_MASK;
}
BRxMAC_STATUS :{
data= brxmac_status;
data_mask = BRxMAC_STATUS_MASK;
}
BMAC_CTRL_STAT :{
data= bmac_ctrl_stat;
data_mask = BMAC_CTRL_STAT_MASK;
}
BTxMAC_STAT_MSK :{
data= btxmac_stat_msk;
data_mask = BTxMAC_STAT_MSK_MASK;
}
BRxMAC_STAT_MSK :{
data= brxmac_stat_msk;
data_mask = BRxMAC_STAT_MSK_MASK;
}
BMAC_C_S_MSK :{
data= bmac_c_s_msk;
data_mask =BMAC_C_S_MSK_MASK;
}
TxMAC_CONFIG :{
data= txmac_config;
data_mask=TxMAC_CONFIG_MASK;
}
RxMAC_CONFIG :{
data= rxmac_config;
data_mask =RxMAC_CONFIG_MASK;
}
MAC_CTRL_CONFIG :{
data= mac_ctrl_config;
data_mask = MAC_CTRL_CONFIG_MASK;
}
MAC_XIF_CONFIG :{
data= mac_xif_config;
data_mask = MAC_XIF_CONFIG_MASK;
}
MAC_IPG0 :{
data= mac_ipg0;
data_mask = MAC_IPG0_MASK;
}
MAC_IPG1 :{
data= mac_ipg1;
data_mask = MAC_IPG1_MASK;
}
MAC_IPG2 :{
data= mac_ipg2;
data_mask = MAC_IPG2_MASK;
}
MAC_SLOT_TIME :{
data= mac_slot_time;
data_mask = MAC_SLOT_TIME_MASK;
}
BMAC_MIN :{
data= bmac_min;
data_mask = BMAC_MIN_MASK;
}
BMAC_MAX :{
data= bmac_max;
data_mask = BMAC_MAX_MASK;
}
MAC_PA_SIZE :{
data= mac_pa_size;
data_mask = MAC_PA_SIZE_MASK;
}
MAC_JAM_SIZE :{
data= mac_jam_size;
data_mask = MAC_JAM_SIZE_MASK;
}
MAC_ATTMPT_LMT :{
data= mac_attmpt_lmt;
data_mask = MAC_ATTMPT_LMT_MASK;
}
MAC_CTRL_TYPE :{
data= mac_ctrl_type;
data_mask = MAC_CTRL_TYPE_MASK;
}
BMAC_ADDR0 :{
data = bmac_addr0;
data_mask = BMAC_ADDR0_MASK;
}
BMAC_ADDR1 :{
data = bmac_addr1;
data_mask = BMAC_ADDR1_MASK;
}
BMAC_ADDR2 :{
data = bmac_addr2;
data_mask = BMAC_ADDR2_MASK;
}
MAC_ADDR3 :{
data= mac_addr3;
data_mask = MAC_ADDR3_MASK;
}
MAC_ADDR4 :{
data = mac_addr4;
data_mask= MAC_ADDR4_MASK;
}
MAC_ADDR5 :{
data = mac_addr5;
data_mask = MAC_ADDR5_MASK;
}
MAC_ADDR6 :{
data = mac_addr6;
data_mask = MAC_ADDR6_MASK;
}
MAC_ADDR7 :{
data = mac_addr7;
data_mask = MAC_ADDR7_MASK;
}
MAC_ADDR8 :{
data = mac_addr8;
data_mask = MAC_ADDR8_MASK;
}
MAC_ADDR9 :{
data = mac_addr9;
data_mask = MAC_ADDR9_MASK;
}
MAC_ADDR10 :{
data = mac_addr10;
data_mask = MAC_ADDR10_MASK;
}
MAC_ADDR11 :{
data = mac_addr11;
data_mask = MAC_ADDR11_MASK;
}
MAC_ADDR12 :{
data = mac_addr12;
data_mask = MAC_ADDR12_MASK;
}
MAC_ADDR13 :{
data = mac_addr13;
data_mask = MAC_ADDR13_MASK;
}
MAC_ADDR14 :{
data = mac_addr14;
data_mask = MAC_ADDR14_MASK;
}
MAC_ADDR15 :{
data = mac_addr15;
data_mask = MAC_ADDR15_MASK;
}
MAC_ADDR16 :{
data = mac_addr16;
data_mask = MAC_ADDR16_MASK;
}
MAC_ADDR17 :{
data = mac_addr17;
data_mask = MAC_ADDR17_MASK;
}
MAC_ADDR18 :{
data = mac_addr18;
data_mask= MAC_ADDR18_MASK;
}
MAC_ADDR19 :{
data = mac_addr19;
data_mask = MAC_ADDR19_MASK;
}
MAC_ADDR20 :{
data = mac_addr20;
data_mask = MAC_ADDR20_MASK;
}
MAC_ADDR21 :{
data = mac_addr21;
data_mask = MAC_ADDR21_MASK;
}
MAC_ADDR22 :{
data = mac_addr22;
data_mask = MAC_ADDR22_MASK;
}
MAC_ADDR23 :{
data = mac_addr23;
data_mask = MAC_ADDR23_MASK;
}
MAC_ADDR24 :{
data = mac_addr24;
data_mask = MAC_ADDR24_MASK;
}
MAC_ADDR25 :{
data = mac_addr25;
data_mask = MAC_ADDR25_MASK;
}
MAC_ADDR26 :{
data = mac_addr26;
data_mask= MAC_ADDR26_MASK;
}
MAC_ADDR27 :{
data = mac_addr27;
data_mask = MAC_ADDR27_MASK;
}
MAC_ADDR28 :{
data = mac_addr28;
data_mask = MAC_ADDR28_MASK;
}
MAC_ADDR29 :{
data = mac_addr29;
data_mask = MAC_ADDR29_MASK;
}
MAC_ADDR30 :{
data = mac_addr30;
data_mask= MAC_ADDR30_MASK;
}
MAC_ADDR31 :{
data = mac_addr31;
data_mask = MAC_ADDR31_MASK;
}
MAC_ADDR32 :{
data = mac_addr32;
data_mask = MAC_ADDR32_MASK;
}
MAC_ADDR33 :{
data = mac_addr33;
data_mask = MAC_ADDR33_MASK;
}
MAC_ADDR34 :{
data = mac_addr34;
data_mask = MAC_ADDR34_MASK;
}
MAC_ADDR35 :{
data = mac_addr35;
data_mask = MAC_ADDR35_MASK;
}
MAC_ADDR36 :{
data = mac_addr36;
data_mask = MAC_ADDR36_MASK;
}
MAC_ADDR37 :{
data = mac_addr37;
data_mask = MAC_ADDR37_MASK;
}
MAC_ADDR38 :{
data = mac_addr38;
data_mask = MAC_ADDR38_MASK;
}
MAC_ADDR39 :{
data = mac_addr39;
data_mask = MAC_ADDR39_MASK;
}
MAC_ADDR40 :{
data = mac_addr40;
data_mask = MAC_ADDR40_MASK;
}
MAC_ADDR41 :{
data = mac_addr41;
data_mask = MAC_ADDR41_MASK;
}
MAC_ADDR42 :{
data = mac_addr42;
data_mask = MAC_ADDR42_MASK;
}
MAC_ADDR43 :{
data = mac_addr43;
data_mask = MAC_ADDR43_MASK;
}
MAC_ADDR44 :{
data = mac_addr44;
data_mask = MAC_ADDR44_MASK;
}
MAC_FC_ADDR0 :{
data = mac_fc_addr0;
data_mask = MAC_FC_ADDR0_MASK;
}
MAC_FC_ADDR1 :{
data = mac_fc_addr1;
data_mask = MAC_FC_ADDR1_MASK;
}
MAC_FC_ADDR2 :{
data = mac_fc_addr2;
data_mask = MAC_FC_ADDR2_MASK;
}
MAC_ADD_FILT0 :{
data = mac_add_filt0;
data_mask = MAC_ADD_FILT0_MASK;
}
MAC_ADD_FILT1 :{
data = mac_add_filt1;
data_mask = MAC_ADD_FILT1_MASK;
}
MAC_ADD_FILT2 :{
data = mac_add_filt2;
data_mask = MAC_ADD_FILT2_MASK;
}
MAC_ADD_FILT12_MASK :{
data = mac_add_filt12_mask;
data_mask = MAC_ADD_FILT12_MASK_MASK;
}
MAC_ADD_FILT00_MASK :{
data = mac_add_filt00_mask;
data_mask = MAC_ADD_FILT00_MASK_MASK;
}
MAC_HASH_TBL0 :{
data = mac_hash_tbl0;
data_mask = MAC_HASH_TBL0_MASK;
}
MAC_HASH_TBL1 :{
data = mac_hash_tbl1;
data_mask = MAC_HASH_TBL1_MASK;
}
MAC_HASH_TBL2 :{
data = mac_hash_tbl2;
data_mask = MAC_HASH_TBL2_MASK;
}
MAC_HASH_TBL3 :{
data = mac_hash_tbl3;
data_mask = MAC_HASH_TBL3_MASK;
}
MAC_HASH_TBL4 :{
data = mac_hash_tbl4;
data_mask = MAC_HASH_TBL4_MASK;
}
MAC_HASH_TBL5 :{
data = mac_hash_tbl5;
data_mask = MAC_HASH_TBL5_MASK;
}
MAC_HASH_TBL6 :{
data = mac_hash_tbl6;
data_mask = MAC_HASH_TBL6_MASK;
}
MAC_HASH_TBL7 :{
data = mac_hash_tbl7;
data_mask = MAC_HASH_TBL7_MASK;
}
MAC_HASH_TBL8 :{
data = mac_hash_tbl8;
data_mask = MAC_HASH_TBL8_MASK;
}
MAC_HASH_TBL9 :{
data = mac_hash_tbl9;
data_mask = MAC_HASH_TBL9_MASK;
}
MAC_HASH_TBL10 :{
data = mac_hash_tbl10;
data_mask = MAC_HASH_TBL10_MASK;
}
MAC_HASH_TBL11 :{
data = mac_hash_tbl11;
data_mask =MAC_HASH_TBL11_MASK;
}
MAC_HASH_TBL12 :{
data = mac_hash_tbl12;
data_mask = MAC_HASH_TBL12_MASK;
}
MAC_HASH_TBL13 :{
data = mac_hash_tbl13;
data_mask = MAC_HASH_TBL13_MASK;
}
MAC_HASH_TBL14 :{
data = mac_hash_tbl14;
data_mask = MAC_HASH_TBL14_MASK;
}
MAC_HASH_TBL15 :{
data = mac_hash_tbl15;
data_mask = MAC_HASH_TBL15_MASK;
}
BMAC_COL_CNT :{
data = bmac_col_cnt;
data_mask = BMAC_COL_CNT_MASK;
}
BMAC_OA_COL_CNT :{
data = bmac_oa_col_cnt;
data_mask = BMAC_OA_COL_CNT_MASK;
}
BMAC_EX_COL_CNT :{
data = bmac_ex_col_cnt;
data_mask = BMAC_EX_COL_CNT_MASK;
}
BMAC_LT_COL_CNT :{
data = bmac_lt_col_cnt;
data_mask = BMAC_LT_COL_CNT_MASK;
}
MAC_DEF_TIMER :{
data = mac_def_timer;
data_mask = MAC_DEF_TIMER_MASK;
}
BMAC_PK_ATT_CNT :{
data = bmac_pk_att_cnt;
data_mask= BMAC_PK_ATT_CNT_MASK;
}
BRxMAC_FRM_CNT :{
data = brxmac_frm_cnt;
data_mask = BRxMAC_FRM_CNT_MASK;
}
MAC_LEN_ER_CNT :{
data = mac_len_er_cnt;
data_mask = MAC_LEN_ER_CNT_MASK;
}
BMAC_AL_ER_CNT :{
data = bmac_al_er_cnt;
data_mask = BMAC_AL_ER_CNT_MASK;
}
BMAC_CRC_ER_CNT :{
data = bmac_crc_er_cnt;
data_mask= BMAC_CRC_ER_CNT_MASK;
}
BMAC_CD_VIO_CNT :{
data = bmac_cd_vio_cnt;
data_mask = BMAC_CD_VIO_CNT_MASK;
}
MAC_RND_SEED :{
data = mac_rnd_seed;
data_mask = MAC_RND_SEED_MASK;
}
BMAC_SM_REG :{
data = bmac_sm_reg;
data_mask = BMAC_SM_REG_MASK;
}
BMAC_ALTAD_CMPEN :{
data = bmac_altad_cmpen;
data_mask = BMAC_ALTAD_CMPEN_MASK;
}
BMAC_HOST_INFO :{
data = bmac_host_inf0;
data_mask = BMAC_HOST_INFO0_MASK;
}
BMAC_HOST_INF1 :{
data = bmac_host_inf1;
data_mask = BMAC_HOST_INFO1_MASK;
}
BMAC_HOST_INF2 :{
data = bmac_host_inf2;
data_mask = BMAC_HOST_INFO2_MASK;
}
BMAC_HOST_INF3 :{
data = bmac_host_inf3;
data_mask = BMAC_HOST_INFO3_MASK;
}
BMAC_HOST_INF4 :{
data = bmac_host_inf4;
data_mask = BMAC_HOST_INFO4_MASK;
}
BMAC_HOST_INF5 :{
data = bmac_host_inf5;
data_mask = BMAC_HOST_INFO5_MASK;
}
BMAC_HOST_INF6 :{
data = bmac_host_inf6;
data_mask = BMAC_HOST_INFO6_MASK;
}
BMAC_HOST_INF7 :{
data = bmac_host_inf7;
data_mask = BMAC_HOST_INFO7_MASK;
}
BTxMAC_BYTE_CNT :{
data = btxmac_byte_cnt;
data_mask = BTxMAC_BYTE_CNT_MASK;
}
BTxMAC_BYTE_CNT :{
data = btxmac_frm_cnt;
data_mask = BTxMAC_BYTE_CNT_MASK;
}
BRxMAC_BYTE_CNT :{
data = brxmac_byte_cnt;
data_mask = BRxMAC_BYTE_CNT_MASK;
}
}
}
task put_data (bit [32:0] addr, bit [31:0] data)
{
case(addr[11:0])
{
BTxMAC_SW_RST :btxmac_sw_rst = data;
BRxMAC_SW_RST :brxmac_sw_rst = data;
MAC_SEND_PAUSE :mac_send_pause = data;
BTxMAC_STATUS :btxmac_status = data;
BRxMAC_STATUS :brxmac_status = data;
BMAC_CTRL_STAT :bmac_ctrl_stat = data;
BTxMAC_STAT_MSK :btxmac_stat_msk = data;
BRxMAC_STAT_MSK :brxmac_stat_msk = data;
BMAC_C_S_MSK :bmac_c_s_msk = data;
TxMAC_CONFIG :txmac_config = data;
RxMAC_CONFIG :rxmac_config = data;
MAC_CTRL_CONFIG :mac_ctrl_config = data;
MAC_XIF_CONFIG :mac_xif_config = data;
MAC_IPG0 :mac_ipg0 = data;
MAC_IPG1 :mac_ipg1 = data;
MAC_IPG2 :mac_ipg2 = data;
MAC_SLOT_TIME :mac_slot_time = data;
BMAC_MIN :bmac_min = data;
BMAC_MAX :bmac_max = data;
MAC_PA_SIZE :mac_pa_size = data;
MAC_JAM_SIZE :mac_jam_size = data;
MAC_ATTMPT_LMT :mac_attmpt_lmt = data;
MAC_CTRL_TYPE :mac_ctrl_type = data;
BMAC_ADDR0 :bmac_addr0 = data;
BMAC_ADDR1 :bmac_addr1 = data;
BMAC_ADDR2 :bmac_addr2 = data;
MAC_ADDR3 :mac_addr3 = data;
MAC_ADDR4 :mac_addr4 = data;
MAC_ADDR5 :mac_addr5 = data;
MAC_ADDR6 :mac_addr6 = data;
MAC_ADDR7 :mac_addr7 = data;
MAC_ADDR8 :mac_addr8 = data;
MAC_ADDR9 :mac_addr9 = data;
MAC_ADDR10 :mac_addr10 = data;
MAC_ADDR11 :mac_addr11 = data;
MAC_ADDR12 :mac_addr12 = data;
MAC_ADDR13 :mac_addr13 = data;
MAC_ADDR14 :mac_addr14 = data;
MAC_ADDR15 :mac_addr15 = data;
MAC_ADDR16 :mac_addr16 = data;
MAC_ADDR17 :mac_addr17 = data;
MAC_ADDR18 :mac_addr18 = data;
MAC_ADDR19 :mac_addr19 = data;
MAC_ADDR20 :mac_addr20 = data;
MAC_ADDR21 :mac_addr21 = data;
MAC_ADDR22 :mac_addr22 = data;
MAC_ADDR23 :mac_addr23 = data;
MAC_ADDR24 :mac_addr24 = data;
MAC_ADDR25 :mac_addr25 = data;
MAC_ADDR26 :mac_addr26 = data;
MAC_ADDR27 :mac_addr27 = data;
MAC_ADDR28 :mac_addr28 = data;
MAC_ADDR29 :mac_addr29 = data;
MAC_ADDR30 :mac_addr30 = data;
MAC_ADDR31 :mac_addr31 = data;
MAC_ADDR32 :mac_addr32 = data;
MAC_ADDR33 :mac_addr33 = data;
MAC_ADDR34 :mac_addr34 = data;
MAC_ADDR35 :mac_addr35 = data;
MAC_ADDR36 :mac_addr36 = data;
MAC_ADDR37 :mac_addr37 = data;
MAC_ADDR38 :mac_addr38 = data;
MAC_ADDR39 :mac_addr39 = data;
MAC_ADDR40 :mac_addr40 = data;
MAC_ADDR41 :mac_addr41 = data;
MAC_ADDR42 :mac_addr42 = data;
MAC_ADDR43 :mac_addr43 = data;
MAC_ADDR44 :mac_addr44 = data;
MAC_FC_ADDR0 :mac_fc_addr0 = data;
MAC_FC_ADDR1 :mac_fc_addr1 = data;
MAC_FC_ADDR2 :mac_fc_addr2 = data;
MAC_ADD_FILT0 :mac_add_filt0 = data;
MAC_ADD_FILT1 :mac_add_filt1 = data;
MAC_ADD_FILT2 :mac_add_filt2 = data;
MAC_ADD_FILT12_MASK :mac_add_filt12_mask = data;
MAC_ADD_FILT00_MASK :mac_add_filt00_mask = data;
MAC_HASH_TBL0 :mac_hash_tbl0 = data;
MAC_HASH_TBL1 :mac_hash_tbl1 = data;
MAC_HASH_TBL2 :mac_hash_tbl2 = data;
MAC_HASH_TBL3 :mac_hash_tbl3 = data;
MAC_HASH_TBL4 :mac_hash_tbl4 = data;
MAC_HASH_TBL5 :mac_hash_tbl5 = data;
MAC_HASH_TBL6 :mac_hash_tbl6 = data;
MAC_HASH_TBL7 :mac_hash_tbl7 = data;
MAC_HASH_TBL8 :mac_hash_tbl8 = data;
MAC_HASH_TBL9 :mac_hash_tbl9 = data;
MAC_HASH_TBL10 :mac_hash_tbl10 = data;
MAC_HASH_TBL11 :mac_hash_tbl11 = data;
MAC_HASH_TBL12 :mac_hash_tbl12 = data;
MAC_HASH_TBL13 :mac_hash_tbl13 = data;
MAC_HASH_TBL14 :mac_hash_tbl14 = data;
MAC_HASH_TBL15 :mac_hash_tbl15 = data;
BMAC_COL_CNT :bmac_col_cnt = data;
BMAC_OA_COL_CNT :bmac_oa_col_cnt = data;
BMAC_EX_COL_CNT :bmac_ex_col_cnt = data;
BMAC_LT_COL_CNT :bmac_lt_col_cnt = data;
MAC_DEF_TIMER :mac_def_timer = data;
BMAC_PK_ATT_CNT :bmac_pk_att_cnt = data;
BRxMAC_FRM_CNT :brxmac_frm_cnt = data;
MAC_LEN_ER_CNT :mac_len_er_cnt = data;
BMAC_AL_ER_CNT :bmac_al_er_cnt = data;
BMAC_CRC_ER_CNT :bmac_crc_er_cnt = data;
BMAC_CD_VIO_CNT :bmac_cd_vio_cnt = data;
MAC_RND_SEED :mac_rnd_seed = data;
BMAC_SM_REG :bmac_sm_reg = data;
BMAC_ALTAD_CMPEN :bmac_altad_cmpen = data;
BMAC_HOST_INFO :bmac_host_inf0 = data;
BMAC_HOST_INF1 :bmac_host_inf1 = data;
BMAC_HOST_INF2 :bmac_host_inf2 = data;
BMAC_HOST_INF3 :bmac_host_inf3 = data;
BMAC_HOST_INF4 :bmac_host_inf4 = data;
BMAC_HOST_INF5 :bmac_host_inf5 = data;
BMAC_HOST_INF6 :bmac_host_inf6 = data;
BMAC_HOST_INF7 :bmac_host_inf7 = data;
BTxMAC_BYTE_CNT :btxmac_byte_cnt = data;
BTxMAC_FRM_CNT :btxmac_frm_cnt = data;
BRxMAC_BYTE_CNT :brxmac_byte_cnt = data;
}
}
}