XILINX SGMII千兆以太网 (3)

The LogiCORE™ IP Tri-Mode Ethernet Media Access Controller (TEMAC) solution comprises the 10/100/1000 Mb/s Ethernet MAC, the 1 Gb/s Ethernet MAC, 2.5 Gb/s Ethernet MAC, and the 10/100 Mb/s Ethernet MAC IP core. All cores support half-duplex and full-duplex operation。

 

rx_statistics_vector

接收帧的统计信息包含在rx_statistics_vector输出中。

XILINX SGMII千兆以太网 (3)_第1张图片

XILINX SGMII千兆以太网 (3)_第2张图片

提供有关接收的最后一帧的信息

可以不使用。

 

tx_ifg_delay

 

Receive Interface AXI4-Stream Signal Pins

XILINX SGMII千兆以太网 (3)_第3张图片

 

rx_axis_mac_tuser

rx_axis_mac_tuser 是数据包错误 的标识。

正常情况下,rx_axis_mac_tuser 为0。 

XILINX SGMII千兆以太网 (3)_第4张图片

 

当不正确的帧数据,rx_axis_mac_tuser会在帧的最后一个数据置1。

XILINX SGMII千兆以太网 (3)_第5张图片

 

pause_req、pause_val

XILINX SGMII千兆以太网 (3)_第6张图片

XILINX SGMII千兆以太网 (3)_第7张图片

流程控制实现示例此解释,旨在描述一个简单(但粗糙)的流控制实现示例,以引入该概念。参考Fiqure 3-33中所示的系统。

总结一下这个例子,由于时钟误差,左侧的 MAC 无法匹配右侧 MAC 的完整行速率。随着时间的推移,所示的 FIFO 会填充和溢出。

其目的是实现一种流量控制方法,在较长时间内,将右侧MAC的全线速度降低到左侧MAC较低的全线速度能力的平均值。

方法1. 选择一个 FIFO 几乎全满的阈值(本描述中使用了 7/8 占有率)。当 FIFO 的占用率超过这个占用率,使用 OxFFFF 作为暂停量子持续时间,启动单个暂停控制帧(pause_val[15:0]=oxFFFF)。这是最大暂停时间。这将导致右侧 MAC 停止传输,而左侧 MAC 的 FIFO starts to empty。

方法2. 选择第二个 FIFO 占用率阈值(本描述中使用了3/4)。当 FIFO 的占用率低于这个占用率时,启动第二个暂停控制帧,使用 0x0000 作为 pause_quantum 持续时间(pause_val[15: 0]=ox0000)。这表示暂停时间为零,当接收到这个暂停控制帧时,右边的 MAC 立即恢复传输(它不等待原始请求的暂停时间过期)。因此,这个暂停控制帧可以被认为是一个“暂停取消”命令。

XILINX SGMII千兆以太网 (3)_第8张图片

图3-33说明了1 Gb/s流量控制的需求。

图右侧的 MAC 有一个参考时钟,略快于标准的 125MHz。图左侧的 MAC 有一个参考时钟,比标准的 125MHz 稍慢。这将导致左侧的MAC 无法匹配右侧 MAC 的完整行速率(由于时钟公差)。左边的 MAC 表示执行一个环回实现,这将导致 FIFO 随着时间的推移而被填满。如果没有流控制,这个FIFO最终会填充和溢出,导致以太网帧的损坏或丢失。流量控制是这个问题的一个解决方案。

 

Fiqure 3-37显示了FIFO的占用情况。

XILINX SGMII千兆以太网 (3)_第9张图片

 

下面的文本描述了本例中流控制操作的顺序。

1. 由于时钟的误差,左边 MAC 的平均 FIFO 占用率随着时间逐渐增加。在 A 点,占有率已达到 7/8 的门槛。这将触发最大持续时间暂停控制帧请求。

2. 接收到暂停控制帧后,右边的 MAC 停止传输。

3. 当右侧 MAC 停止传输后,连接到左侧 MAC 的 FIFO 占用空间迅速清空。占用率降至 B 点的第二个阈值 3/4,这将触发持续时间为零的暂停控制帧请求(暂停取消命令)。

4. 接收到第二个暂停控制帧后,右边的 MAC 恢复传输。

5. 随着时间的推移,FIFO 的占用率又逐渐增加。在C点,这个流量控制循环重复。

 

 

 

 

你可能感兴趣的:(以太网)