赞
踩
时钟
数据
控制(监测)
assign ethernet_header [47:0] = XIL_MAC_ID_OTHER;
assign ethernet_header [95:48] = XIL_MAC_ID_THIS;
assign ethernet_header [111:96] = {data_payload[7:0], data_payload[15:8]};
assign ethernet_header [127:112] = seq_no_g;
frame0_1 : 0707_0707_0707_0707 frame0_2 : df55_5555_5555_55fb frame0_3 : 0000_2222_0000_0000 frame0_5 : 0000_4000_1111_0000 frame0_6 : 0000_0000_0000_0000 frame0_7 : 0000_0000_0000_0000 frame0_8 : 0000_0000_0000_0000 frame0_9 : 0000_0000_0000_0000 frame0_10: 0000_0000_0000_0000 frame0_11: 0904_0000_0000_0000 frame1_1 : 0707_0707_07fd_fd4a frame1_2 : 0707_0707_0707_0707 frame1_3 : df55_5555_5555_55fb frame1_4 : 0000_2222_0000_0000 frame1_5 : 0001_4000_1111_0000 frame1_6 : 0001_0001_0001_0001 frame1_7 : 0001_0001_0001_0001 frame1_8 : 0001_0001_0001_0001 frame1_9 : 0001_0001_0001_0001 frame1_10: 0001_0001_0001_0001 frame1_11: 0001_0001_0001_0001 frame1_12: 0001_0001_0001_0001 frame1_13: d864_0001_0001_0001 frame2_1 : 0707_0707_07fd_3991 frame2_2 : 0707_0707_0707_0707 frame2_3 : df55_5555_5555_55fb frame1_4 : 0000_2222_0000_0000 frame1_5 : 0002_4000_1111_0000 frame1_6 : 0002_0002_0002_0002 frame1_7 : 0002_0002_0002_0002 frame1_8 : 0002_0002_0002_0002 frame1_9 : 0002_0002_0002_0002 frame1_10: 0002_0002_0002_0002 frame1_11: 0002_0002_0002_0002 frame1_12: 0002_0002_0002_0002 frame1_13: ad85_0002_0002_0002 frame3_1 : 0707_0707_07fd_af8c frame3_2 : 0707_0707_0707_0707 frame3_3 : df55_5555_5555_55fb frame3_4 : 0000_2222_0000_0000 frame3_5 : 0003_4000_1111_0000 frame3_6 : 0003_0003_0003_0003 frame3_7 : 0003_0003_0003_0003 frame3_8 : 0003_0003_0003_0003 frame3_9 : 0003_0003_0003_0003 frame3_10: 0003_0003_0003_0003 frame3_11: 0003_0003_0003_0003 frame3_12: 0003_0003_0003_0003 frame3_13: 7ce5_0003_0003_0003 frame4_1 : 0707_0707_07fd_6b57 frame4_2 : 0707_0707_0707_0707 frame4_3 : df55_5555_5555_55fb frame4_4 : 0000_2222_0000_0000 frame4_5 : 0004_7d00_1111_0000 frame4_6 : 0004_0004_0004_0004 frame4_7 : 0004_0004_0004_0004 frame4_8 : 0004_0004_0004_0004 frame4_9 : 0004_0004_0004_0004 frame4_10: 0004_0004_0004_0004 frame4_11: 0004_0004_0004_0004 frame4_12: 0004_0004_0004_0004 frame4_13: 0004_0004_0004_0004 frame4_14: 0004_0004_0004_0004 frame4_15: 0004_0004_0004_0004 frame4_16: 0004_0004_0004_0004 frame4_17: 0004_0004_0004_0004 frame4_18: 0004_0004_0004_0004 frame4_19: 0004_0004_0004_0004 frame4_20: 0004_0004_0004_0004 frame4_21: 0004_0004_0004_0004 frame4_22: fda1_6eb5_a404_0004 frame5_1 : 0707_0707_0707_0707 frame5_2 : 5555_55fb_0707_0707 frame5_3 : 0000_0000_df55_5555 frame5_4 : 1111_0000_0000_2222 frame5_5 : 0005_0005_0005_7d00 frame5_6 : 0005_0005_0005_0005 frame5_7 : 0005_0005_0005_0005 frame5_8 : 0005_0005_0005_0005 frame5_9 : 0005_0005_0005_0005 frame5_10: 0005_0005_0005_0005 frame5_11: 0005_0005_0005_0005 frame5_12: 0005_0005_0005_0005 frame5_13: 0005_0005_0005_0005 frame5_14: 0005_0005_0005_0005 frame5_15: 0005_0005_0005_0005 frame5_16: 0005_0005_0005_0005 frame5_17: 0005_0005_0005_0005 frame5_18: 0005_0005_0005_0005 frame5_19: 0005_0005_0005_0005 frame5_20: 0005_0005_0005_0005 frame5_21: 0005_0005_0005_0005 frame5_22: ec05_6eb5_a405_0005
文档中的发送效率如下图所示
上图中默认间隔符号的个数为12Byte,但是在实际发送过程中由于XGMII每个帧的长度为8的整数倍,所以间隔符号在12Byte-15Byte间调整,例如Payload为64byte时,间隔符的实际个数为14byte,那么无效数据的个数并非38byte而是41byte。
10GBASE_R core内部结构框图如下图所示
10GBASE_KR core内部结构框图如下图所示
MDIO interface 为 MAC core 提供 PCS/PMA core 的控制通道,MAC core 框图如下:
PCS/PMA core MDIO 接口如下表所示
Signal Name | Direction | Description |
---|---|---|
mdc | I | Management clock |
mdio_in | I | MDIO Input |
mdio_out | O | MDIO Output |
mdio_tri | O | MDIO 3-state control.1 disconnects the output driver from the MDIO bus. |
prtad[4:0] | I | MDIO port address. When multiple MDIO-managed ports appear on the same bus, this input can be used to set the address of each port. |
mdc 由 MAC core产生
mdio 时序图如下所示
* 上图中的PRTAD、 DEVAD由 MAC core reg “MDIO configuration Word1”根据实际情况下发的。
* parad[4:0],由 PCS/PMA core 引用出可由逻辑层配置
* DEVAD(device address),当操作PMA时该值为5‘b0_0001,当操作PCS时该值为5‘b0_0011。此地址对应PCS/PMA MDIO Registers Address X.YYYYY中的X,例如 “MDIO Register 1.0: PMA/PMD Control 1” 的Registers Address的地址为1.0,则DEVAD的值为5‘b0_0001。
* 上图中的OP也是由MAC core reg “MDIO configuration Word1”根据实际情况下发的。
* 配置地址时OP=2‘b00;
* 写时OP=2‘b01;
* 读时OP=2‘b11;
* 上图中的ST表示START,值为2‘b00
1).通过使能 MAC core 的 “MDIO Configuration Word 0”寄存器 “MDIO Enable”和“CLK Divide”
2).按照下表顺序操作MAC core相关寄存器
由仿真文件中的tg_config或Gen reg_14决定
在实际应用中由Microblaze通过axi_lite配置eth_axi_stream_gen_mon的reg_14实现
pkg_length
该信号位于axi_stream_gen模块内
pkg_length = payload_size + 14
packet_count
frame_length
该信号由10G Ethernet Mac(xilinx IP)产生,用于统计MAC发送frame len框图如下
frame_length = vector[19:5] = 目标地址 + 源地址 + 类型/长度 + payload_size + FCS(4Byte),时序和位定义如下:
frame_count
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。