📄 sf_regstruct.h
字号:
UINT32 add_begin :1; /*CPU添加PORT_MAP表项的添加起始信号,缺省为0*/ }bits ; UINT32 w32 ;}PortMap_Start_U;/*IP_Map Form Configuration*//*配置IP-MAC表表项老化时间寄存器*/typedef union { struct { UINT32 im_age_time :32; /*配置IP-MAC表表项老化时间,高25位为表项更新时间计数值,低7位为表项生存时间*/ }bits ; UINT32 w32 ;}Set_IPMACAgeTime_U;/*IP_MAC表项内容的低32bit寄存器(RW)*/typedef union { struct { UINT32 add_form0 :32; /*IP_MAC新表项内容的低32bit*/ }bits ; UINT32 w32 ;}IPMAC_ConLow32_U;/*IP_MAC表项内容的63-32bit寄存器(RW)*/typedef union { struct { UINT32 add_form1 :32; /*IP_MAC新表项内容的63-32bit*/ }bits ; UINT32 w32 ;}IPMAC_ConMid32_U;/*IP_MAC表项内容的87-64bit寄存器(RW)*/typedef union { struct { UINT32 add_form2 :24; /*IP_MAC新表项内容的87-64bit*/ UINT32 reserved :8; /* */ }bits ; UINT32 w32 ;}IPMAC_ConHig24_U;/*设置IP_MAC表的操作参数*/typedef union { struct { UINT32 im_wr_addr :8; /*读/写IP-MAC表项的地址 */ UINT32 reserved :20; /* */ UINT32 im_clr_reg :1; /*清IP_MAC表项请求 */ UINT32 im_read_req :1; /*从IP-MAC表读表项请求信号 */ UINT32 im_add_req :1; /*往IP-MAC添加新表项请求信号 */ UINT32 im_wr_rdy :1; /*SF读写IP-MAC表完成指示(写1清零)*/ }bits ; UINT32 w32 ;}IPMAC_SetOpePara_U;/*Div_Message Form Configuration*//*配置上下行口分片报文表老化时间寄存器*/typedef union { struct { UINT32 div_age_time :32; /*配置上下行口分片报文表老化时间,*/ /*高25位为表项更新时间间隔计数值(即隔多长时间SF更新一次表项生存时间),*/ /*低7位为表项生存时间。缺省为32'hffffffff*/ }bits ; UINT32 w32 ;}Set_DivMesAgeTime_U;/*上行口报文新建立的分片表项低32bit寄存器*/typedef union { struct { UINT32 new_item_down0 :32; /*IP_MAC新表项内容的低32bit*/ }bits ; UINT32 w32 ;}DivMes_NewLow32_U;/*上行口报文新建立的分片表项的63-32bit寄存器*/typedef union { struct { UINT32 new_item_down1 :32; /*IP_MAC新表项内容的64-32bit*/ }bits ; UINT32 w32 ;}DivMes_NewMid32_U;/*上行口报文新建立的分片表项的71-64bit寄存器*/typedef union { struct { UINT32 new_item_down2 :8; /*IP_MAC新表项内容的71-64bit*/ UINT32 reserved :24; /* */ }bits ; UINT32 w32 ;}DivMes_NewHig8_U;/*读上行口分片报文表项的控制寄存器*/typedef union { struct { UINT32 div_read_addr :8; /*读分片报文表的地址(相对地址,对应256个表项)*/ UINT32 reserved :22; /* */ UINT32 div_read_req :1; /*读分片报文表(上行口)请求信号(1有效)*/ UINT32 div_rd_rdy :1; /*读分片报文表(上行口)准备好信号(1有效,写1清零)*/ }bits ; UINT32 w32 ;}DivMes_ReadCtrl_U;/*读取上行口分片报文表项的31-0bit寄存器*/typedef union { struct { UINT32 div_read_data_0 :32; /*分片报文表项内容的71-64bit*/ }bits ; UINT32 w32 ;}DivMes_ReadLow32_U;/*读取上行口分片报文表项的63-32bit寄存器*/typedef union { struct { UINT32 div_read_data_1 :32; /*分片报文表项内容的71-64bit*/ }bits ; UINT32 w32 ;}DivMes_ReadMid32_U;/*读取上行口分片报文表项的71-64bit寄存器*/typedef union { struct { UINT32 div_read_data_2 :8; /*分片报文表项内容的71-64bit*/ UINT32 reserved :24; /**/ }bits ; UINT32 w32 ;}DivMes_ReadHig8_U;/*IQM Register Configuration*//*上下行端口转发控制寄存器*/typedef union { struct { UINT32 default_ctrl :1; /*端口帧转发缺省配置 */ UINT32 other_ctrl :1; /*端口非特殊帧转发配置,缺省为1,正常转发*/ UINT32 reserved0 :1; /* */ UINT32 ipm_ctrl :2; /*端口ipm帧转发配置 */ UINT32 ipm_en :1; /*端口ipm帧识别使能,1有效 */ UINT32 spcl_ctrl :2; /*端口特殊帧转发配置 */ UINT32 spcl_en :1; /*端口特殊帧识别使能,1有效 */ UINT32 broad_ctrl :2; /*端口广播帧转发配置 */ UINT32 force_ctrl :2; /*端口强制转发配置, */ /*2'b00:强制丢弃 */ /*2'b01:强制发往上行口 */ /*2'b10:强制发往CPU处理 */ /*2'b11:强制广播 */ UINT32 force_en :1; /*端口强制转发使能,1有效 */ UINT32 reserved1 :8; /* */ }bits ; UINT32 w32 ;}Port_SetTrans_U;/*CPU转发控制表寄存器*/typedef union { struct { UINT32 cpu_strl :2; /*CPU转发控制表,高位表示是否允许帧发往CPU端口,*/ /*低位表示是否允许帧发往另一以太网端口,缺省为11*/ UINT32 reserved :30; /* */ }bits ; UINT32 w32 ;}CPU_SetTrans_U;/*帧输出tag格式控制选择寄存器*/typedef union { struct { UINT32 tag_port0 :1; /*端口0输出帧是否添加VLAN tag控制,缺省为0*/ UINT32 tag_port1 :1; /*端口1输出帧是否添加VLAN tag控制,缺省为0*/ UINT32 reserved0 :1; /* */ UINT32 tag_type :2; /*帧输出tag格式控制选择,1表示按端口配置帧tag格式,*/ /*0表示按帧对应VLAN信息表中的配置tag格式,缺省为0*/ UINT32 reserved1 :27; /**/ }bits ; UINT32 w32 ;}Frame_SetOutTag_U;/*VLAN转发控制寄存器*/typedef union { struct { UINT32 disable_vlan :1; /*配置disable VLAN,即不进行VLAN转发控制,缺省为0,不禁止VLAN*/ UINT32 vlan_mode :1; /*配置SF帧转发是否限制在VLAN域内,缺省为1,表示进行VLAN域限制*/ UINT32 reserved :30; /* */ }bits ; UINT32 w32 ;}VLAN_TransCtrl_U;/*可接收帧VLAN格式控制寄存器*/typedef union { struct { UINT32 vlanmode_port1 :3; /*端口1可接收帧VLAN格式控制,缺省为3'b000*/ /*3'b001:只接收不带TAG的帧和优先级帧; */ /*3'b010:只接收不带TAG的帧和TAG有效帧; */ /*3'b011:只接收带TAG的帧; */ /*3'b100:只能接收TAG有效帧; */ /*3'b101:可以接收VID为FID的帧; */ /*3'b110:可以接收所有的帧; */ /*其他:可以接收所有的帧。 */ UINT32 vlanmode_port0 :3; /*端口0可接收帧VLAN格式控制,缺省为3'b000*/ UINT32 reserved :26; /* */ }bits ; UINT32 w32 ;}VLAN_ReceiFraCtrl_U;/*未知VLAN控制寄存器*/typedef union { struct { UINT32 unkvlan_ctrl :3; /*未知VLAN强制转发表,bit2对应CPU端口,bit1对应上行口,*/ /*bit0对应下行口,1表示允许发送到该位对应的端口,0禁止。缺省为3'b000*/ UINT32 pass_mode :2; /*未知VLAN接收允许表,缺省为2'b00,高位对应上行口,*/ /*低位对应下行口,1表示允许接收,0 表示禁止接收 */ UINT32 unkvlan_tag :3; /*未知VLAN对应tag格式控制,缺省为3'b00,依次对应CPU口,上行口,下行口 */ UINT32 reserved :24; /* */ }bits ; UINT32 w32 ;}UNKnVLAN_Ctrl_U;/*未知VLAN成员控制寄存器*/typedef union { struct { UINT32 unkmem_ctrl :3; /*未知VLAN成员强制转发表,bit2对应CPU,bit1对应上行口,*/ /*bit0对应下行口,1表示允许发送到该位对应的端口,0表示禁止。缺省为3'b000 */ UINT32 rxfilter :2; /*未知VLAN成员接收允许表,高位对应上行口,低位对应下行口,*/ /*1表示该端口允许接收未知VLAN成员帧,0禁止。缺省为2'b00*/ UINT32 reserved :27; /* */ }bits ; UINT32 w32 ;}UNKnVLANMem_Ctrl_U;/*未知VLAN信息配置寄存器*/typedef union { struct { UINT32 unkvlanid :12; /*未知VLAN对应的VLAN ID号 */ UINT32 unkmemid :12; /*未知VLAN成员对应的VLAN ID号*/ UINT32 unkmemport :1; /*未知VLAN成员对应的源端口号 */ UINT32 reserved :7; /* */ }bits ; UINT32 w32 ;}UNKnVLAN_Infor_U;/*BM_DIO*//*权值设置寄存器*/typedef union { struct { UINT32 Weight_up :3; /*上行口端口权值 (缺省为3'b111)*/ UINT32 Weight_down :3; /*下行口端口权值 (缺省为3'b111)*/ UINT32 Up_weight :3; /*上行口包队列的权值 (缺省为3'b111)*/ UINT32 Down_weight :3; /*下行口包队列的权值 (缺省为3'b111)*/ UINT32 Cpu_weight :3; /*CPU包队列的权值(缺省为3'b111) */ UINT32 Broad_weight :3; /*广播包队列的权值(缺省为3'b111) */ UINT32 reserved :14; /* */ }bits ; UINT32 w32 ; }Set_Pri_U;/*配置队列阈值寄存器*/typedef union { struct { UINT32 Q_limit :10; /*CPU配置队列阈值(空闲空间) 缺省10'h3ff */ /*高5位对应下限,低五位对应上限*/ UINT32 reserved :22; /* */ }bits ; UINT32 w32 ;}Set_FIFOLimit_U;/*CPU发送的帧描述子保存寄存器*/typedef union { struct { UINT32 Fd_cpu :32; /*CPU送来的帧描述子(缺省为32'h0) */ }bits ; UINT32 w32 ;}CPU2_FraDescribe_U;/*CPU有帧接收标志寄存器*/typedef union { struct { UINT32 Flush_all :1; /*CPU清空输入队列信号 */ UINT32 Rx_end_u2c :1; /*CPU读完上行口发往CPU的单播帧后给出的指示信号*/ UINT32 Rx_end_d2c :1; /*CPU读完下行口发往CPU的单播帧后给出的指示信号*/ UINT32 Rx_end_u2bc :1; /*CPU读完上行口发往CPU的广播帧后给出的指示信号*/ UINT32 Rx_end_d2bc :1; /*CPU读完下行口发往CPU的广播帧后给出的指示信号*/ UINT32 reserved :27; /* */ }bits ; UINT32 w32 ;}Recei_FraMark_U;/*送给CPU的帧描述子保存寄存器*/typedef union { struct { UINT32 Fd_2c :32; /*送给CPU的帧描述子(缺省为32'h0)*/ }bits ; UINT32 w32 ;}FraDes_2CPU_U;/*CPU收帧帧描述子有效标志寄存器*/typedef union { struct { UINT32 Fd_vld_u2c :1; /*上行口送给CPU的帧描述子有效信号(缺省为1'b0) */ UINT32 Fd_vld_d2c :1; /*下行口送给CPU的帧描述子有效信号(缺省为1'b0) */ UINT32 Fd_vld_u2bc :1; /*上行口发来的广播帧送给CPU的帧描述子有效信号(缺省为1'b0)*/ UINT32 Fd_vld_d2bc :1; /*下行口发来的广播帧送给CPU的帧描述子有效信号(缺省为1'b0)*/ UINT32 reserved :28; /* */ }bits ; UINT32 w32 ;}FraDes_Avai2CPU_U;/*CPU发帧时的帧描述子队列尾地址寄存器*/typedef union { struct { UINT32 Tail_c2 :8; /*CPU发帧时的帧描述子队列尾地址 (缺省为8'b0) */ UINT32 Tail_vld_c2 :1; /*CPU发帧时的帧描述子队列尾地址有效信号 (缺省1'b0)*/ UINT32 reserved :23; /* */ }bits ; UINT32 w32 ;}FRADes_C2Addr_U;/*上下行口发帧的MEM深度寄存器,只读*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -