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输出中。
提供有关接收的最后一帧的信息
可以不使用。
tx_ifg_delay
Receive Interface AXI4-Stream Signal Pins
rx_axis_mac_tuser
rx_axis_mac_tuser 是数据包错误 的标识。
正常情况下,rx_axis_mac_tuser 为0。
当不正确的帧数据,rx_axis_mac_tuser会在帧的最后一个数据置1。
pause_req、pause_val
流程控制实现示例此解释,旨在描述一个简单(但粗糙)的流控制实现示例,以引入该概念。参考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 立即恢复传输(它不等待原始请求的暂停时间过期)。因此,这个暂停控制帧可以被认为是一个“暂停取消”命令。
图3-33说明了1 Gb/s流量控制的需求。
图右侧的 MAC 有一个参考时钟,略快于标准的 125MHz。图左侧的 MAC 有一个参考时钟,比标准的 125MHz 稍慢。这将导致左侧的MAC 无法匹配右侧 MAC 的完整行速率(由于时钟公差)。左边的 MAC 表示执行一个环回实现,这将导致 FIFO 随着时间的推移而被填满。如果没有流控制,这个FIFO最终会填充和溢出,导致以太网帧的损坏或丢失。流量控制是这个问题的一个解决方案。
Fiqure 3-37显示了FIFO的占用情况。
下面的文本描述了本例中流控制操作的顺序。
1. 由于时钟的误差,左边 MAC 的平均 FIFO 占用率随着时间逐渐增加。在 A 点,占有率已达到 7/8 的门槛。这将触发最大持续时间暂停控制帧请求。
2. 接收到暂停控制帧后,右边的 MAC 停止传输。
3. 当右侧 MAC 停止传输后,连接到左侧 MAC 的 FIFO 占用空间迅速清空。占用率降至 B 点的第二个阈值 3/4,这将触发持续时间为零的暂停控制帧请求(暂停取消命令)。
4. 接收到第二个暂停控制帧后,右边的 MAC 恢复传输。
5. 随着时间的推移,FIFO 的占用率又逐渐增加。在C点,这个流量控制循环重复。