低延迟以太网 10g mac 用户指南 - intel · 2020-04-27 · 1. 关于低延迟以太网10g...

91
低延迟以太网 10G MAC 用户指南 针对 Intel ® Quartus ® Prime 设计套件的更新:16.1 订阅 反馈 UG-01144 | 2016.10.31 官网最新文档: PDF | HTML

Upload: others

Post on 19-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

内容

1. 关于低延迟以太网 10G MAC.................................................................................................. 51.1. 特性..................................................................................................................... 6

1.1.1. LL Ethernet 10G MAC 和 Legacy 10-Gbps Ethernet MAC...................................61.2. 发布信息................................................................................................................81.3. 器件系列支持.......................................................................................................... 9

1.3.1. 定义:器件支持等级...................................................................................... 91.4. 性能和资源利用......................................................................................................10

1.4.1. 资源利用.................................................................................................. 101.4.2. TX 和 RX 延迟........................................................................................... 10

2. 启用................................................................................................................................122.1. Intel FPGA IP 核介绍.............................................................................................122.2. IP 核安装和授权.....................................................................................................132.3. 生成 IP 核( Quartus Prime Pro Edition).................................................................. 132.4. 所生成文件........................................................................................................... 152.5. 仿真 Intel FPGA IP 核.............................................................................................152.6. 创建 SignalTap II 调试文件以匹配设计层次................................................................... 162.7. LL Ethernet 10G MAC IP 核的参数设置...................................................................... 162.8. 更新 LL 以太网 10G MAC IP 核.................................................................................. 182.9. LL 以太网 10G MAC IP 核的设计考量...........................................................................19

2.9.1. 从 Legacy Ethernet 10G MAC 移植到 LL Ethernet 10G MAC.............................. 192.9.2. 时序约束.................................................................................................. 19

3. 功能性说明....................................................................................................................... 213.1. 体系结构..............................................................................................................213.2. 接口................................................................................................................... 213.3. 帧类型.................................................................................................................233.4. TX 数据路径..........................................................................................................24

3.4.1. 填充字节插入............................................................................................ 243.4.2. 地址插入..................................................................................................243.4.3. CRC-32 插入............................................................................................ 243.4.4. XGMII 封装.............................................................................................. 263.4.5. 数据包间间隙生成和插入...............................................................................263.4.6. XGMII 传输.............................................................................................. 273.4.7. 单向特性..................................................................................................273.4.8. TX 时序图................................................................................................ 28

3.5. RX 数据路径......................................................................................................... 313.5.1. XGMII 解封装........................................................................................... 323.5.2. CRC 检查................................................................................................. 323.5.3. 地址检查..................................................................................................323.5.4. 帧类型检查............................................................................................... 333.5.5. 长度检查..................................................................................................333.5.6. CRC 和填充字节移除................................................................................... 343.5.7. 上溢处理..................................................................................................343.5.8. RX 时序图................................................................................................ 35

内容

低延迟以太网 10G MAC 用户指南 反馈

2

3.6. 流程控制.............................................................................................................363.6.1. IEEE 802.3 流程控制..................................................................................363.6.2. 基于优先级的流程控制................................................................................. 38

3.7. 复位要求..............................................................................................................393.8. PHY 支持............................................................................................................. 39

3.8.1. 10GBASE-R 寄存器模式.............................................................................. 403.9. XGMII 错误处理(链路故障).................................................................................... 413.10. IEEE 1588v2..................................................................................................... 42

3.10.1. 体系结构................................................................................................ 443.10.2. TX 数据路径............................................................................................443.10.3. RX 数据路径............................................................................................453.10.4. 帧格式................................................................................................... 45

4. 配置寄存器....................................................................................................................... 494.1. 寄存器映射........................................................................................................... 49

4.1.1. 将 10-Gbps 以太网 MAC 寄存器映射到 LL 以太网 10G MAC 寄存器..........................494.2. 寄存器访问........................................................................................................... 524.3. 主 MAC 地址......................................................................................................... 524.4. MAC 复位控制寄存器...............................................................................................544.5. TX_Configuration 和 Status 寄存器........................................................................... 544.6. 流程控制寄存器......................................................................................................564.7. 单向控制寄存器......................................................................................................584.8. RX 配置和状态寄存器.............................................................................................. 584.9. 时间戳寄存器........................................................................................................ 62

4.9.1. 计算时序调整............................................................................................ 634.10. ECC 寄存器.........................................................................................................654.11. 统计寄存器......................................................................................................... 66

5. 接口信号.......................................................................................................................... 705.1. 时钟和复位信号......................................................................................................705.2. 速度选择信号........................................................................................................ 715.3. 纠错信号..............................................................................................................725.4. 单向信号..............................................................................................................725.5. Avalon -MM 编程信号............................................................................................ 725.6. Avalon -ST 数据接口............................................................................................. 73

5.6.1. Avalon -ST TX 数据接口信号....................................................................... 735.6.2. Avalon -ST RX 数据接口信号....................................................................... 735.6.3. Avalon -ST 数据接口时钟............................................................................74

5.7. Avalon -ST 流程控制信号........................................................................................755.8. Avalon -ST 状态接口............................................................................................. 76

5.8.1. Avalon -ST TX 状态信号.............................................................................765.8.2. Avalon -ST RX 状态信号.............................................................................77

5.9. PHY 侧接口...........................................................................................................785.9.1. XGMII TX 信号..........................................................................................785.9.2. XGMII RX 信号......................................................................................... 805.9.3. GMII TX 信号........................................................................................... 815.9.4. GMII RX 信号........................................................................................... 815.9.5. MII TX 信号..............................................................................................83

内容

反馈 低延迟以太网 10G MAC 用户指南

3

5.9.6. MII RX 信号............................................................................................. 835.10. IEEE 1588v2 接口............................................................................................... 84

5.10.1. IEEE 1588v2 出口(Egress)TX 信号...........................................................845.10.2. IEEE 1588v2 入口(Ingress)RX 信号..........................................................875.10.3. IEEE 1588v2 接口时钟..............................................................................88

A. 低延迟以太网 10G MAC 用户指南存档.................................................................................... 89

B. 低延迟以太网 10G MAC 用户指南文档修订历史......................................................................... 90

内容

低延迟以太网 10G MAC 用户指南 反馈

4

1. 关于低延迟以太网 10G MAC

低延迟(LL)以太网 10G(10GbE)介质访问控制器(MAC)IP 核是一个采用 IEEE802.3-2008 规范的可配置组件。要在 Intel FPGA 器件中构建完整的以太网子系统并将其连接到外部器件,可使用 LL Ethernet 10G MAC IP 核和 Intel FPGA PHY IP 核,如软核 XAUI PHY 或任何支持的 PHY。

下图显示为采用 LL 以太网 10G MAC IP 核的系统。

图 1. LL Ethernet 10G MAC 的典型应用

ClientModule

FPGA Device

External PHYInterfaceAvalon-ST XGMII/

GMII/MII10M/100M/

LL 10GbE MAC

PHY Serial Interface

相关链接

低延迟以太网 10G MAC 用户指南存档 (第 89 页)提供了 Low Latency Ethernet 10G MAC IP 核用户指南先前各版本的列表。

UG-01144 | 2016.10.31

反馈

Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/orother countries. Intel warrants performance of its FPGA and semiconductor products to current specifications inaccordance with Intel's standard warranty, but reserves the right to make changes to any products and servicesat any time without notice. Intel assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Intel. Intelcustomers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

1.1. 特性

• 5 种操作模式中的全双工 MAC:10G、1G/10G、1G/2.5G、1G/2.5G/10G、1G/2.5G/5G/10G (USXGMII)、和 10M/100M/1G/10G。

• 所选操作模式的 3 种变形:仅 MAC Tx 模块,仅 MAC Rx 模块,以及 MAC Tx 和 MAC Rx 模块。

• 接口:

— Client-side—32-bit Avalon® -ST 接口。

— PHY-side—32-bit XGMII 用于 10GbE,16-bit GMII 用于 2.5GbE,8-bit GMII 用于1GbE,或 4-bit MII 用于 10M/100M。

— 管理—32-bit Avalon -MM 接口。

• 虚拟局域网(VLAN)和堆栈式 VLAN 标签帧解码(type 'h8100)。

• TX 数据路径上的循环冗余代码(CRC)-32 计算和插入。RX 数据路径上的可选 CRC 检查和转发。

• 赤字空闲计数器(DIC)通过平均包间距(IPG,inter-packet gap)实现 LAN 应用性能优化。

• TX 和 RX 数据路径上的可选统计收集。

• TX 和 RX 数据帧最大可编程长度多达 64 Kbytes(KB)。

• 可编程混杂(透明)模式。

• TX 数据路径上的可选 padding 插入和 RX 数据路径上的终止。

• 利用暂停帧(pause frame)的以太网流程控制。

• 由 IEEE 1588v2 标准指定的可选时间戳(timestamping)用于下列配置:

— 采用 10GBASE-R PHY IP 核的 10 GbE MAC

— 采用 1G/10GbE PHY IP 核的 1G/10GbE MAC

— 采用 1G/2.5G/10GbE Multi-rate Ethernet PHY IP 核的 1G/2.5GbE MAC

— 采用 10M-10GbE PHY IP 核的 10M/100M/1G/10GbE MAC

• 10G 操作模式的可选功能:

— IEEE 802.3(第 66 条)规定的单向特性。

— 具有可编程暂停量(pause quanta)并基于优先级的流程控制(PFC)。PFC 支持 2 至 8个优先列队。

— TX 和 RX 数据路径上的前导码直通模式(Preamble passthrough mode)支持客户帧中的用户定义前导码。

— TX 和 RX 数据路径上的 10GBASE-R 寄存器模式使能低延迟。

• 设计实例的动态生成。

• 支持 OpenCore Plus 功能。

1.1.1. LL Ethernet 10G MAC 和 Legacy 10-Gbps Ethernet MAC

Legacy 10-Gbps Ethernet MAC IP 核的当前用户可参考下表移植到 LL Ethernet 10G MAC IP核。

1. 关于低延迟以太网 10G MAC

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

6

表 1. 性能比较

性能 LL 10GbE MAC Legacy 10GbE MAC

操作模式 10G、1G/10G、10M/100M/1G/10G、1G/2.5G、1G/2.5G/10G、1G/2.5G/5G/10G

10G、1G/10G、10M/100M/1G/10G

器件支持(1) Arria 10、Arria V、Stratix 10、 StratixV

Arria V、Arria II、Cyclone V、CycloneIV、Stratix V、Stratix IV

操作频率 • 312.5 MHz• 322.265625 MHz(10GBASE-R 寄存

器模式已使能)

• 156.25MHz

延迟(TX + RX) • 60.8 ns(10G MAC )• 356.8 ns(1G MAC)

• 140.8 ns(10G MAC)

• 422.4 ns(1G MAC)

资源利用 1600 ALMs、2400 ALUTs、2800 寄存器(10G 且所有选项禁用)

2300 ALMs、3100 ALUTs、4400Registers、2 M20Ks(10G 且所有选项禁用)

Avalon-ST 接口数据宽度 • 32 bits• 64 bits,使能对 legacy MAC 的向下兼

容性时。

• 64 bits

XGMII 数据宽度 • 32 bits• 对 legacy MAC 的向下兼容性支持。

• 64 bits

配置寄存器 • 10-bit 地址总线

• 对 legacy MAC 的向下兼容性支持。

• 13-bit 地址总线

错误检测和校正(ECC) 支持 不支持

10GBASE-R 寄存器模式 支持 不支持

96-bit 和 64-bit ToD 时钟格式 支持 不支持

可编程 IPG 支持 不支持

相关链接

Intel 低延迟以太网 10G MAC IP 核移植指南提供更多关于从传统 10G 以太网 MAC IP 核移植到低延迟以太网 10G MAC IP 核的信息。

(1) 器件支持取决于操作模式。请参阅具体用户指南获得详细信息。

1. 关于低延迟以太网 10G MAC

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

7

1.2. 发布信息

表 2. LL Ethernet 10G MAC IP 核的发布信息

项目 说明

版本 16.1

发布日期 2016 年 10 月

订购代码(不具备 IEEE 1588v2 功能) IP-10GEUMAC

订购代码(具备 IEEE 1588v2 功能) IP-10GEUMACF

供应商 ID 6AF7

Intel 验证当前版本的 Quartus® Prime 软件是否对每个 MegaCore 功能先前的版本进行了编译,但前提是先前发布的版本中有 MegaCore 功能。此验证中的任何异常都在 MegaCore IP LibraryRelease Notes and Errata 中进行报告。Intel 不验证比前一个版本 MegaCore 功能更早的编译。

相关链接

• MegaCore IP 库发布说明和勘误

• 知识库中低延迟以太网 10G MAC MegaCore 功能勘误

1. 关于低延迟以太网 10G MAC

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

8

1.3. 器件系列支持

IP 核为 Intel FPGA 器件系列提供下列支持。

表 3. LL Ethernet 10G MAC 的器件系列支持

器件系列 支持 最小速度等级

具备 1588 功能 不具备 1588 功能

Stratix® 10 初步 — -I3,-C3

Arria® 10 初步 -I2,-E2 -I3,-E3

Stratix V 最终 -I3,-C3 -I4,-C4

Arria V 最终 -I3,-C3 -I4,-C4

下列表格罗列了可能的配置及其所支持的器件:

表 4. 器件系列支持的各种配置

配置 Arria V Arria 10 Stratix V Stratix 10

采用 10GBASE-R PHY 的 10G MAC Arria V GZ — 支持 —

采用 10GBASE-R PHY 和 IEEE 1588v2 的 10G MAC Arria V GZ — 支持 —

采用 Arria 10 Transceiver Native PHY 预设的 10GMAC:10GBASE-R、10GBASE-R 低延迟、10GBASE-R 寄存器模式和 10GBASE-R w/KR-FEC

— 支持 — —

采用 Stratix 10 Transceiver Native PHY 预设的 10GMAC:10GBASE-R

— — — 支持

采用 1G/2.5G/10G 多倍速以太网 PHY 的 1G/2.5G/10GMAC

— 支持 — —

采用 1G/2.5G/5G/10G(USXGMII)多倍速以太网 PHY连接外部 NBASE-T PHY 的 1G/2.5G/5G/10G(USXGMII) MAC

— 支持 — —

采用 1G/2.5G 多倍速以太网 PHY 的 1G/2.5G MAC Arria VGX/GT/SX/ST

支持 — —

采用 2.5G 多倍速以太网 PHY 的 1G/2.5G MAC

10M/100M/1G/10G MAC Arria V GZ 支持 支持 —

采用 IEEE 1588v2 的 10M/100M/1G/10G MAC Arria V GZ 支持 支持 —

采用背板以太网 10GBASE-KR PHY 的 10M/100M/1G/10G MAC

Arria V GZ 支持 支持 —

采用 1G/10GbE PHY IP 核和 IEEE 1588v2 的 10M/100M/1G/10G MAC

Arria V GZ 支持 支持 —

1.3.1. 定义:器件支持等级

Intel FPGA IP 核为 Intel FPGA 器件系列提供如下支持:

• 初步支持—Intel 通过该器件系列的初步时序模型验证 IP 核。即使 IP 核满足所有功能性要求,仍需要对此器件系列进行时序分析。在生产设计中谨慎使用此 IP 核。

• 最终支持—Intel 通过该器件系列的最终时序模型验证 IP 核。此 IP 核满足该器件系列的所有功能性要求和时序要求。此 IP 核已预备用于生产设计。

1. 关于低延迟以太网 10G MAC

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

9

1.4. 性能和资源利用

1.4.1. 资源利用

以下数据是针对商用 Stratix V,通过 Quartus Prime 软件编译 LL 10GbE MAC 而作出关于操作模式(除 1G/2.5G 外)的估算。对于 1G/2.5G,目标器件为 Arria 10。这些估算由布局布线生成,并不包括虚拟 I/O。

表 5. LL 以太网 10G MAC 的资源利用

MAC 设置 ALMs ALUTs 逻辑寄存器 存储器模块(M20K)

操作模式 已使能选项

10G 无 1,600 2,400 2,800 0

10G 基于存储器的统计计数器。 2,100 3,200 3,900 4

1G/2.5G 补充地址(Supplementary address)。

基于存储器的统计计数器。

2600 3750 4950 5

1G/2.5G 补充地址。

基于存储器的统计计数器。

时间戳(Timestamping)。时刻(Time ofday):96b 和 64b。

4900 7050 11250 20

1G/2.5G/10G 补充地址。

基于存储器的统计计数器。

2800 3950 5700 4

10M/100M/1G/10G

基于存储器的统计计数器。 2,600 3,900 5,000 4

10M/100M/1G/10G

时间戳

基于存储器的统计计数器。

时刻:96b 和 64b。 5,100 7,200 11,700 19

时刻:96b 4,900 6,900 11,000 18

时刻格式:64b 4,300 6,200 10,200 15

10M/100M/1G/10G

全部选项已使能,除了保持与 legacyEthernet 10G MAC 兼容性的选项。

5,400 7,600 12,200 27

1.4.2. TX 和 RX 延迟

TX 和 RX 延迟值基于下列定义和假设:

• TX 延迟是数据帧从 Avalon -ST 接口移动到 PHY 侧接口所消耗的时间。

• RX 延迟是数据从 PHY 侧接口移动到 Avalon -ST 接口所消耗的时间。

• Avalon -ST TX 和 RX 接口中无背压。

• 禁用 Legacy Ethernet 10G MAC interfaces 下所有支持 legacy MAC 兼容性的选项。

表 6. TX 和 RX 延迟值

这些值仅为 MAC 延迟,不包括 PHY 延迟。这些值适用于所有支持的器件系列。

MAC 操作模式 速度 延迟(ns)

TX RX 总计

10G 10 Gbps 22.4 38.4 60.8

1G/10G 1 Gbps 79.2 277.6 356.8

继续...

1. 关于低延迟以太网 10G MAC

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

10

MAC 操作模式 速度 延迟(ns)

TX RX 总计

1G/2.5G/10G 1 Gbps 858.6 169.5 1028.1

1G/2.5G/10G 2.5 Gbps 329.5 80.5 410

1G/2.5G/10G 10 Gbps 48 32 80

1G/2.5G 1 Gbps 827.5 190.2 1017.6

1G/2.5G 2.5 Gbps 310 106.1 416

10M/100M/1G/10G 10 Mbps 1,952.8 27,215.2 29,168

10M/100M/1G/10G 100 Mbps 232.8 2,735.2 2,968

1. 关于低延迟以太网 10G MAC

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

11

2. 启用

本章节概述了 Intel FPGA IP 核设计流程,以助于快速着手 LL 以太网 10G MAC。

2.1. Intel FPGA IP 核介绍

Intel 以及战略 IP 伙伴为 Intel FPGA 器件提供最佳可配置 IP 核的广泛组合。

Quartus Prime 软件安装包括 Intel FPGA IP 库。将已优化和已验证 Intel FPGA IP 核集成到设计中,以缩短设计周期实现性能最大化。 Quartus Prime 软件也支持来自其他源的 IP 核集成。可使用 IP Catalog(Tools > IP Catalog)有效参数化并生成用于定制 IP variation 的综合及仿真文件。Intel FPGA IP 库包含下列 IP 核:

• 基本功能

• DSP 功能

• 接口协议

• 低功耗功能

• 存储器接口和控制器

• 处理器和外设

本文档提供在 Quartus Prime 软件中参数化,生成,更新和仿真独立 IP 核的基本信息。

图 2. IP Catalog

Select to ParameterizeRight-Click for Details

Search for Installed IP

Filter IP byDevice

UG-01144 | 2016.10.31

反馈

Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/orother countries. Intel warrants performance of its FPGA and semiconductor products to current specifications inaccordance with Intel's standard warranty, but reserves the right to make changes to any products and servicesat any time without notice. Intel assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Intel. Intelcustomers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

2.2. IP 核安装和授权

Quartus Prime 软件安装包括 Intel FPGA IP 库。该库为您的产品提供有用的 IP 核功能,且无需额外许可证。该库中的某些 MegaCore® IP 功能需要针对生产购买单独的许可证才能使用。OpenCore®功能允许在 Quartus Prime 软件中对用于仿真和编译的任意 Intel FPGA IP 核进行评估。满足功能性和性能要求后,访问 Self Service Licensing Center 获取任意 Intel FPGA 产品的许可证编号。

Quartus Prime 软件将 IP 核安装于下列默认位置:

图 3. IP 核的安装路径

intelFPGA(_pro*)

quartus - Contains the Quartus Prime softwareip - Contains the IP library and third-party IP cores

altera - Contains the IP library source code<IP core name> - Contains the IP core source files

表 7. IP 核安装位置

位置 软件 操作平台

<drive>:\intelFPGA_pro\quartus\ip\altera Quartus Prime Pro Edition Windows

<drive>:\intelFPGA\quartus\ip\altera Quartus Prime Standard Edition Windows

<home directory>:/intelFPGA_pro/quartus/ip/altera Quartus Prime Pro Edition Linux

<Home directory>:/intelFPGA/quartus/ip/altera Quartus Prime Standard Edition Linux

2.3. 生成 IP 核( Quartus Prime Pro Edition)

在参数编辑器中配置定制 IP variation。双击 IP Catalog 中的任意组件启动参数编辑器。参数编辑器允许为所选 IP 核定义定制 variation。参数编辑器生成 IP variation 并将相应 .ip 文件自动添加到工程中。

2. 启用

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

13

图 4. IP 参数编辑器( Quartus Prime Pro Edition)

查看IP端口和参数详情

将预设参数应用于指定应用程序

指定IP Variation名称和目标器件

仅用于Qsys Pro Systems

按照下列步骤在参数编辑器中定位,例化和自定义 IP variation:

1. 点击 Tools > IP Catalog。要显示器件支持,例化位置,版本和文档链接的详细信息,请右键点击 IP Catalog 中的任意组件名称。

2. 要查找特定类型的组件,在 IP Catalog 搜索框内键入组件的部分名或全名。例如,键入memory 搜索存储器 IP 组件,或键入 axi 搜索 IP 名中带有 AXI 的 IP 组件。右键点击菜单显示将过滤器应用于 IP Catalog。

3. 要启动参数编辑器,双击任意组件。为定制 IP variation 指定一个顶层名称。参数编辑器将 IPvariation 设置保存在名为 <your_ip> .ip 的文件中。点击 OK。IP variation 名称或路径中不能有空格。

4. 在参数编辑器中设置参数值并查看组件的结构框图。底部的 Parameterization Messages选项卡显示 IP 参数中的所有错误。

• 选择性的选择预置参数值(如果提供给您的 IP 核)。对指定的应用,预置提供的初始参数值。

• 指定用于定义 IP 核功能性、端口配置和器件特定功能的参数。

• 指定在其他 EDA 工具中处理 IP 核文件的选项。

注意: 请参阅相应的 IP 核用户指南,了解特定 IP 核参数信息

5. 点击 Generate HDL。显现 Generation 对话框。

6. 指定输出文件生成选项,然后点击 Generate。根据您所指定生成综合和/或仿真文件。

7. 要生成仿真测试台(testbench),点击 Generate > Generate Testbench System。指定测试台生成选项,并点击 Generate。

2. 启用

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

14

8. 要生成 HDL 仿真模板以复制并粘贴到文本编辑器中,可点击 Generate > ShowInstantiation Template。

9. 点击 Finish。如果提示将代表 IP variation 的文件添加到工程,点击 Yes。

10. 生成和安装您的 IP 实例后,进行适当的管脚约束来连接端口。

注意:

某些 IP 核根据 IP 核参数生成各种 HDL 实现。这些 IP 核的底层 RTL 有一个唯一的散列码(hash code)可避免不同 IP 核 variation 模块名称相互冲突。IP 生成器件,该唯一代码始终与给定的 IP 设置和软件版本保持一致。但如果编辑 IP 核参数或更新 IP 核版本,此唯一代码就会发生改变。为避免仿真环境中对这些唯一代码的依赖性,请参阅Generating a Combined Simulator Setup Script。

相关链接

• IP 用户指南文档

• Intel FPGA IP 发布笔记

2.4. 所生成文件

下表介绍工程目录中可能出现的生成文件和其他文件。由于设计可能通过 VHDL 或 Verilog HDL 创建,因而 IP 参数编辑器中显示指定生成文件的名称和类型会有所不同。

表 8. 所生成文件

扩展名 说明

<variation name>.v 或 . vhd MegaCore 功能 variation 文件定义定制 MegaCore 功能的 VHDL 或 Verilog HDL 说明。例化您设计中该文件定义的实体。所以在 Quartus Prime 软件中编译设计时请务必添加此文件。

<variation name>.cmp MegaCore 功能 variation 的 VHDL 组件声明文件。将此文件的内容添加到例化 MegaCore 功能的任何 VHDL 体系结构。

<variation name>.qsys MAC IP 核设计的 Qsys 文件。

<variation name>.qip 包含用于 MegaCore 功能 variation 的 Quartus Prime 工程信息。

<variation name>.bsf MegaCore 功能 variation 的 Quartus Prime 符号文件。在 Quartus Prime 结构图编辑器中使用该文件。

<variation name>.sip 包含 Quartus Prime 软件所需的 IP 核库映射信息。在生成某些 Intel FPGA IP 核的额同时,Quartus Prime 软件会生成一个. sip 文件。必须将所生成的.sip 文件添加到工程中以用于NativeLink 仿真和 Quartus Prime 存档器。

<variation name>.spd 包含 MegaCore 功能所需的一系列仿真文件。

2.5. 仿真 Intel FPGA IP 核

Quartus Prime 软件支持在指定 EDA 仿真器中进行的 IP 核 RTL 仿真。IP 生成创建仿真文件,包括每个 IP 核的功能性仿真模块,测试台(或设计实例)以及供应商指定仿真器设置脚本。使用功能性仿真模块和任意测试台或设计实例进行仿真。IP 生成输出可能还具有编译或运行测试台的脚本。脚本中罗列了仿真 IP 核所需的所有模块或库。

2. 启用

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

15

Quartus Prime 软件提供多个仿真器集成,并支持多个仿真流程,包括自定义脚本和仿真流程。无论选择哪种流程,IP 核仿真都涉及下列步骤:

1. 生成仿真模型,测试台(或设计实例)以及仿真器设置脚本文件。

2. 设置仿真器环境和仿真脚本。

3. 编译仿真模型库。

4. 运行仿真器。

2.6. 创建 SignalTap II 调试文件以匹配设计层次

对于 Arria 10 器件, Quartus Prime Standard Edition 软件生成两个文件,build_stp.tcl和 <ip_core_name>.xml。使用这些文件生成的 SignalTap® II 文件具有与设计层次相匹配的探测点。

这些文件储存在 Quartus Prime 软件的 IP core Diretory/synth/debug/stp/目录中。

使用 Quartus Prime 软件综合您的设计。

1. 打开 Tcl 控制台,点击 View > Utility Windows > Tcl Console。

2. 在 Tcl 控制台中输入以下命令:source <IP core directory>/synth/debug/stp/build_stp.tcl

3. 要生成 STP 文件,输入以下命令:main -stp_file <output stp file name>.stp -xml_file<inputxml_file name>.xml-mode build

4. 要将此 SignalTap II 文件(.stp)添加到您的工程,选择 Project > Add/Remove Filesin Project。然后编译您的设计。

5. 要编程 FPGA,点击 Tools > Programmer。

6. 要开启 SignalTap II 逻辑分析器,点击 Quartus Prime > Tools > SignalTap IILogic Analyzer。

软件生成脚本可能在 <output stp file name>.stp 中没有分配 SignalTap II 采样时钟。因此, Quartus Prime 软件自动创建一个称为 auto_stp_external_clock 的时钟管脚。您需要手动将正确时钟信号替换为每个 STP 实例的 SignalTap II 采样时钟。

7. 重编译您的设计

8. 要观察您 IP 核的状态,点击 Run Analysis。

可看到着红色的信号或 SignalTap II 实例,表示不可用于您的设计。大多数情况下,可忽略这些信号和实例。由于软件生成了较宽的总线而您的设计中并不包含这些实例。从而出现这类消息。

2.7. LL Ethernet 10G MAC IP 核的参数设置

通过在 Quartus Prime 软件的参数编辑器中指定参数来自定义 MAC IP 核。参数编辑器仅使能适用于所选速度的参数。

2. 启用

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

16

参数 值 说明

Speed 10G、1G/10G、10M/100M/1G/10G、1G/2.5G、1G/2.5G/10G、1G/2.5G/5G/10G

(USXGMII)

选择需要的速度。默认情况下,选择 10G。

Datapath option TX only、RX only、TX & RX 选择要例化的 MAC variation。

• TX only—例化 MAC TX。

• RX only—例化 MAC RX。

• TX & RX—例化 MAC TX 和 RX。

Enable ECC on memory blocks On、Off 开启此选项以使能存储器模块中的错误检测和校正。此选项仅可用于针对 Stratix V、Arria V GZ 和 Arria 10 的设计。

Enable preamble pass-throughmode

On、Off 开启此选项以使能前导码直通模式(preamble pass-through mode)。同时还必须将tx_preamble_control,rx_preamble_control和 rx_custom_preamble_forward 寄存器设置成 1。使能后,MAC IP 核允许发送和接收数据路径上数据帧中的自定义前导码(preamble)。

该选项仅在 10G 时可用。

Enable priority-based flow control(PFC)

On、Off 开启此选项使能 PFC。同时必须将tx_pfc_priority_enable[n]位设置成 1 并在Number of PFC queues 域中指定优先列队的数目。

该选项仅在 10G 时可用。

Number of PFC queues 2—8 指定 PFC 列队数。仅在开启 Enable priority-basedflow control (PFC)后,才可使能该选项。

Enable Unidirectional feature On、Off 开启此选项以使能 IEEE802.3 规范(第 66 条)所规定的单向特性。仅 10Gbps 速度模式支持该功能。

Enable 10GBASE-R register mode On、Off 开启此选项以使能 TX 和 RX 数据路径上的 10GBASE-R 寄存器模式,从而进一步降低往返于 MAC 和 PHY 间的延迟。该模式下,MAC 数据路径必须运行在 322.265625 MHz。

此选项仅可用于 10G TX & RX variation。但不具备以下功能:

• 前导码直通;

• 基于优先级的流程控制;

• 单个方向;

• 时间戳,以及

• XGMII 和 Avalon-ST 接口上的 64-bit 兼容性选项。

Enable supplementary address On、Off 开启该选项以使能补充地址。同时必须将rx_frame_control 寄存器中的 EN_SUPP0/1/2/3 位均设置为 1。

Enable statistics collection On、Off 开启此选项以收集 TX 和 RX 数据路径上的统计数据。

Statistics counters Memory-based,Register-based

指定统计计数器实现。开启 Statistics collection 时,计数器的默认实现是 Memory-based。

• Memory-based—选择该项释放逻辑单元。基于存储器的计数器被读取后,MAC IP 核不会将其清零。

• Register-based—选择该项释放存储器。基于寄存器的统计计数器被读取后,MAC IP 核就将其清零。

当 MAC IP 核接收或发送 back-to-back 尺寸不足的帧时,基于存储器的统计计数器可能并不准确。在 TX 数据路径上,使能 padding(填充)以避免这种情况。少于 64 bytes 的帧视为尺寸不足。

Enable time stamping On、Off 开启此选项使能 TX 和 RX 数据路径上的时间戳。该选项在1G/2.5G/10G 配置中不可用。

继续...

2. 启用

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

17

参数 值 说明

Enable PTP 1-step clock support On、Off 开启该选项以使能一步式(1-step)时间戳。仅在开启时间戳功能时才可使能该选。该选项在 1G/2.5G/10G 配置中不可用。

Enable asymmetry support On、Off 开启此选项以使能 TX 数据路径上的不对称支持。仅在开启时间戳和 PTP 一步式时钟支持时,才可使能该项。该选项在1G/2.5G/10G 配置中不可用。

Timestamp fingerprint width 1-32 以 bits 为单位指定 TX 路径上时间戳指纹的宽度。默认值为 4bits。该选项在 1G/2.5G/10G 配置中不可用。

时刻(Time of Day)的格式 Enable 96b Time of DayFormat only, Enable 64b Time

of Day Format only, Enableboth 96b and 64b Time of

Day Format

指定时刻的格式。该选项在 1G/2.5G/10G 配置中不可用。

Use legacy Ethernet 10G MACXGMII Interface

On、Off 开启此选项可保持 XGMII 上与 64-bit 以太网 10G MAC 的兼容性。

Use legacy Ethernet 10G MACAvalon Memory-Mapped Interface

On、Off 启用此选项可保持 Avalon-MM 接口上与 64-bit 以太网 10GMAC 的兼容性。

Use legacy Ethernet 10G MACAvalon Streaming Interface

On、Off 启用此选项可保持 Avalon-ST 接口上与 64-bit 以太网 10GMAC 的兼容性。

2.8. 更新 LL 以太网 10G MAC IP 核

Quartus Prime 软件会在您的 IP 内核还未更新到当前版本时进行提示。点击 Project >Upgrade IP Components 以定义和更新 IP 核。为了成功更新 IP 核,就务必保留经旧版软件所生成工程的文件结构。IP 核更新失败可导致 IP 核 variation 与当前支持的库不相匹配。

Intel 验证当前版本的 Quartus Prime 软件是否编译每个 IP 核的先前版本。MegaCore IPLibrary Release Notes and Errata 报告验证到的所有异常情况。Intel 不验证对早于上一版本 IP核的编译。

图 5. 在 Project Navigator 窗口中更新 IP 组件

相关链接

MegaCore IP 库发布笔记和勘误

2. 启用

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

18

2.9. LL 以太网 10G MAC IP 核的设计考量

2.9.1. 从 Legacy Ethernet 10G MAC 移植到 LL Ethernet 10G MAC

Intel 建议选择下列移植路径。这些移植路径允许您利用 LL Ethernet 10G MAC 的优势—低资源占用和低延迟性。

2.9.1.1. 移植—Avalon-ST 接口上的 32-bit 数据路径

按照下列步骤实现 Avalon ST 和 Avalon-MM 接口上 32-bit 数据路径。

1. 例化设计中的 LL Ethernet 10G MAC IP 核。如果使用的是 PHY 与 64-bit SDR XGMII 接口,则需开启 Use legacy Ethernet 10G MAC XGMII Interface 选项。

2. 修改您的用户逻辑以容纳 Avalon-ST TX 和 RX 数据接口上的 32-bit 数据路径。

3. 确保 tx_312_5_clk 和 rx_312_5_clk 连接到 312.5-MHz 时钟源。Intel 建议这些时钟信号使用相同的时钟源。

4. 将寄存器偏移更新到 LL Ethernet 10G MAC 的偏移。LL Ethernet 10G MAC 的配置寄存器允许访问新功能,如存储器模块中的错误纠正和检测。

5. 如果开启 Use legacy Ethernet 10G MAC XGMII Interface 选项,为tx_156_25_clk 和 rx_156_25_clk 添加一个 156.25 MHz 时钟源。156.25 MHz 时钟源必须与 312.5 Mhz 时钟源同步上升(rise-to-rise synchronous)。

6. 确保 csr_clk 处于 125 MHz 至 156.25 MHz 的范围中。否则,某些统计计数器可能不准确。

2.9.1.2. 移植—保持 Avalon-ST 接口上的 64-bit 数据路径

按照下列步骤实现 Avalon ST 接口和 XGMII 上的 32-bit 至 64-bit 适配器,并使用相同寄存器偏移以保持对 Legacy 10-Gbps Ethernet (10GbE) MAC IP 核的向下兼容性。

1. 例化设计中的 LL Ethernet 10G MAC IP 核。要保持接口上的兼容性,请开启 Use legacyEthernet 10G MAC XGMII Interface,Use legacy Ethernet 10G MAC AvalonMemory-Mapped Interface 和 Use legacy Ethernet 10G MAC AvalonStreaming Interface 选项。

2. 确保 tx_312_5_clk 和 rx_312_5_clk 连接到 312.5-MHz 时钟源。Intel 建议这些时钟信号使用相同的时钟源。

3. 为 Add a clock source for 为 tx_156_25_clk 和 rx_156_25_clk 添加一个 156.25-MHz 时钟源。156.25 MHz 时钟源必须与 312.5 MHz 时钟源同步上升(rise-to-risesynchronous)。

4. 确保 csr_clk 处于 125 MHz 至 156.25 MHz 的范围中。否则,某些统计计数器可能不准确。

2.9.2. 时序约束

Intel 提供的时序约束文件(.sdc)可确保 IP 核满足 Intel FPGA 器件中的设计时序要求。这些文件约束 IP 核中的错误路径和多循环路径。在<variation_name> .qip 文件中指定时序约束文件,并自动被包含到 Quartus Prime 工程中。

时序约束文件位于 IP 目录中。可根据需要编辑这些文件。这些文件可用于时钟交叉逻辑,并分组如下:

2. 启用

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

19

• Pseudo-static CSR fields

• Clock crosser

• Dual clock FIFO

注意: 为使 IP 正常工作,不可有工程级的时序约束文件切割或覆盖路径,例如,set_false_path,set_clock_groups。

2.9.2.1. Pseudo-Static CSR Fields(伪静态 CSR 域)

当 MAC 运行时,MAC IP 核中的大多数配置寄存器都不能进被编程。因此,无法将它们同步以减少资源占用。这些寄存器都处于 set_false_path 约束中。

2.9.2.2. Clock Crosser(跨时钟域)

从一个时钟域到另一个时钟域的跨时钟域执行多位信号。

跨时钟域的工作原理是先稳定交叉数据,再显示锁存域中的有效数据。由于使用该数据结构,在多个锁存周期中数据位不可偏移。应用时序约束文件对所有跨时钟域进行不考虑锁存时钟域的一般性时序检查。无需对跨 CSR 时钟的信号过于悲观,因为在内部测试期间并没有对运行时间产生重大影响和错误违规等副作用。如果设计运行到 IP 内的跨时钟域时序违规路径中,且锁存时钟域为csr_clk,则可手动撤除违规,或者,若违规少于一个 csr_clk 周期时,可通过编辑.sdc 文件撤除违规。

时序约束文件使用 set_net_delay 来约束布线器布局和 set_max_skew 从而执行路径上的时序检查。对具有高器件利用率的工程,Intel 建议完成额外步骤,如布局规划和 LogicLock 以助于布局和布线进程。这些额外步骤为路径提供持续性更好的时序收敛,而不仅只依赖于set_net_delay。

使用 set_max_skew 时需注意它并不分析路径的插入延迟是否超出限制。换言之,路径可能满足所需的偏移但插入延迟比预期更长。如果未对此进行检查,则可能导致某些延迟敏感的路径中出现功能性错误。因此,可使用自定义脚本(alt_em10g32_clock_crosser_timing_info.tcl)检查双程跨时钟域演示延迟是否在预期内。要使用此脚本,将其手动添加到用户流程并运行。为确保 IP 核正常运行,结果必须为正(无错误)。

2.9.2.3. Dual Clock FIFO(双时钟 FIFO)

双时钟 FIFO 格雷码指针的位偏移必须在一个 312.5 MHz 时钟周期内。

时序约束文件使用 set_net_delay 来约束布线器布局和 set_max_skew 从而执行路径上的时序检查。对具有高器件利用率的工程,Intel 建议完成额外步骤,如布局规划和 LogicLock 以助于布局和布线进程。这些额外步骤为路径提供持续性更好的时序收敛,而不仅只依赖于set_net_delay。

2. 启用

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

20

3. 功能性说明

低延迟(LL)以太网 10G MAC IP 核通过以太网 PHY 处理客户端和以太网之间的数据流。 在发送路径上,MAC IP 核接受客户端帧,通过插入各种控制字段(如校验和)构建以太网帧,然后将它们转发至 PHY。 同样地,在接收路径上,MAC 通过 PHY 接受以太网帧,执行校验,移除相关字段,然后将它们转发至客户端。 可以配置 MAC IP 核,以同时在发送和接收路径上收集统计。

3.1. 体系结构

LL 以太网 10G MAC IP 核由以下模块构成: MAC 接收器(MAC RX)、MAC 发送器(MACTX)、配置和状态寄存器、时钟及复位。

图 6. LL 以太网 10G MAC 结构图

MAC TX

Control & StatusRegisters

MAC RX

Clock & Reset

LL Ethernet 10G MAC

CSR Adapter(Optional)

Avalo

n-ST

32/6

4b Ad

apte

r(O

ption

al)

XGM

II SDR

32/6

4b Ad

apte

r(O

ption

al)

32-Bit XGMII TX Interface8- or 16-Bit GMII TX Interface4-Bit MII TX Interface

32-Bit XGMII RX Interface8- or 16-Bit GMII RX Interface4-Bit MII RX Interface

64-Bit Avalon-ST RX Interface

64-Bit Avalon-ST TX Interface

64-Bit XGMII RX Interface

64-Bit XGMII TX Interface

FlowControl

LinkFault

RespectiveDomains

Clock & ResetSignals Clock & Reset

SignalsClock & Reset

Signals

32-Bit Avalon-STTX Interface

32-Bit Avalon-MMInterface

32-Bit Avalon-STRX Interface

注释: (1) 8-bit仅应用于1G/10G和10M/100M/1G/10G MAC。16-bit应用于1G/2.5G。(2) 仅应用于10M/100M/1G/10G MAC。

(1)

(1)

(2)

(2)

3.2. 接口

表 9. 接口

接口 说明

Avalon -ST 接口 采用 Avalon -ST 协议的 MAC 客户端接口是一个同步点到点单向接口,它将数据流(source,源点)的生产者与数据(sink,汇点)的使用者连接。该端口的关键属性包括:

• 由 startofpacket 和 endofpacket 信号标记的帧传输。

• 从源到汇的信号由 valid 信号限定。

• 标记当前数据包的错误与数据包结束周期对齐。

• 通过汇点(sink)使用 ready 信号对源点进行背压。

继续...

UG-01144 | 2016.10.31

反馈

Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/orother countries. Intel warrants performance of its FPGA and semiconductor products to current specifications inaccordance with Intel's standard warranty, but reserves the right to make changes to any products and servicesat any time without notice. Intel assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Intel. Intelcustomers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

接口 说明

在 MAC IP 核中, Avalon -ST 接口作为 TX 数据路径中的汇点并在 RX 数据路径中作为源点运行。该接口支持数据包,背压和错误检测。根据具体操作模式,它可能运行于 312.5 MHz 或 156.25MHz。此接口的就绪延迟为 0。

Avalon -MM 控制和状态寄存器接口 Avalon -MM 控制和状态寄存器接口是一个 Avalon-MM 从端口。该端口使用字寻址并提供配置和状态寄存器,以及统计计数器的访问权限。

XGMII 10G 模式下,MAC IP 核的网络侧接口采用 XGMII 协议。取决于具体配置,XGMII 由 32-bit 或64-bit 数据总线和 4-bit 或 8-bit 控制总线组成运行于 312.5 MHz。如果使能 10GBASE-R 寄存器模式,则该接口运行于 322.265625 Mhz。数据总线携带的 MAC 帧具有最高有效字节但占用最低有效通道。

GMII 1G/10G 和 10M/100M/1G/10G 操作模式中,当 MAC 以 1 Gbps 运行时,MAC IP 核网络侧接口实现 8-bit 宽 GMII 协议。该 8-bit 接口支持 125 MHz 的 gigabit 操作。

1G/2.5G 操作模式中,MAC IP 核网络侧接口实现 16-bit 宽 GMII 协议。该 16-bit 接口支持156.25 MHz 的 2.5G 操作以及 62.5 MHz 的 1G 操作。

MII 10M 或 100M 模式中,MAC IP 核网络侧接口实现 MII 协议。该 4-bit MII 接口支持 125 MHz 的10-Mbps 和 100-Mbps 操作,并由时钟使能信号将时钟分频为 2.5 MHz 有效速率用于 10 Mbps,以及 25 MHz 用于 100 Mbps。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

22

图 7. 接口信号

某些信号的内含物(inclusion)和宽度取决于操作模式和所选功能。

MAC RX

MAC TXLL Ethernet 10G MAC

XGMII发送xgmii_tx_data[31:0]

link_fault_status_xgmii_tx_data[1:0]xgmii_tx_control[3:0]

GMII发送(1G/10Gbps, 10M/100M/1G/10G)

gmii_tx_clkgmii_tx_d[7:0]

gmii_tx_engmii_tx_err

MII发送(10M/100M/1G/10G)

tx_clkenatx_clkena_half_rate

mii_tx_d[3:0]mii_tx_enmii_tx_err

tx_egress_timestamp_request_validtx_egress_timestamp_request_fingerprint[n]

tx_path_delay_10g_data[15:0]

IEEE 1588v2接口

gmii_rx_clkgmii_rx_d[7:0]

gmii_rx_dvgmii_rx_err

GMII接收(1G/10Gbps, 10M/100M/1G/10G)

rx_clkenarx_clkena_half_rate

mii_rx_d[3:0]mii_rx_dvmii_rx_err

MII接收(10M/100M/1G/10G)

avalon_st_rxstatus_validavalon_st_rxstatus_data[39:0]avalon_st_rxstatus_error[6:0]avalon_st_rx_pfc_status_validavalon_st_rx_pfc_status_data[n]

Avalon-ST接收状态接口

avalon_st_rx_pause_length_valid

avalon_st_rx_pause_length_data[15:0]avalon_st_rx_pfc_pause_data[n]

Avalon-ST接收流程控制接口

avalon_st_rx_startofpacketavalon_st_rx_endofpacketavalon_st_rx_validavalon_st_rx_readyavalon_st_rx_error[5:0]avalon_st_rx_data[31:0]avalon_st_rx_empty[1:0]

Avalon-ST接收数据接口

Avalon-ST发送状态接口

avalon_st_txstatus_validavalon_st_txstatus_data[39:0]avalon_st_txstatus_error[6:0]avalon_st_tx_pfc_status_validavalon_st_tx_pfc_status_data[n]

Avalon-ST发送流程控制接口

avalon_st_pause_data[1:0]avalon_st_tx_pause_length_validavalon_st_tx_pause_length_data[15:0]avalon_st_tx_pfc_gen_data[n]

Avalon-ST 发送数据接口

avalon_st_tx_startofpacketavalon_st_tx_endofpacketavalon_st_tx_validavalon_st_tx_readyavalon_st_tx_erroravalon_st_tx_data[31:0]avalon_st_tx_empty[1:0]

Avalon-MM控制和

状态接口

csr_readcsr_readdata[31:0]csr_writecsr_writedata[31:0]csr_address[12:0]csr_waitrequest

speed_sel

ecc_err_det_correcc_err_det_uncorr

unidirectional_enunidirectional_remote_fault_dis

Avalon-MM

时钟和复位

csr_clkcsr_rst_ntx_312_5_clktx_156_25_clk

rx_156_25_clkrx_rst_n

tx_rst_nrx_312_5_clk

tx_xcvr_clk rx_xcvr_clk

Clock and Reset

rx_ingress_timestamp_96b_data[95:0]rx_ingress_timestamp_96b_valid

rx_path_delay_10g_data[15:0]

IEEE 1588v2时间戳接口

xgmii_rx_data[31:0]link_fault_status_xgmii_rx_data[1:0] XGMII接收

xgmii_rx_control[3:0]

16-bit GMII发送(1G/2.5G, 1G/2.5G/10G)

gmii16b_tx_clkgmii16b_tx_d[15:0]gmii16b_tx_en[1:0]gmii16b_tx_err[1:0]

gmii16b_rx_clkgmii16b_rx_d[15:0]gmii16b_rx_dv[1:0]gmii16b_rx_err[1:0]

16-bit GMII接收(1G/10Gbps, 10M/100M/1G/10G)

相关链接

接口信号 (第 70 页)详细说明每个信号。

3.3. 帧类型

MAC IP 核支持下列帧类型:

• 基本以太网帧,包括巨型帧(jumbo frame)。

• VLAN 和堆栈式 VLAN 帧。

• 控制帧,包括暂停和 PFC 帧。

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

23

3.4. TX 数据路径

MAC TX 接收具有目的地址和源地址的客户端有效负载数据,并且附加各种基于 MAC 配置的控制字段。

图 8. TX 接口上的典型客户端帧

Client - MAC Tx Interface(optional)

Client Frame

MAC Packet

Destination Addr[47:0]

Source Addr[47:0]

Type/Length[15:0]

Payload[<p-1>:0]

Destination Addr[47:0]

SFD[7:0]Preamble [55:0]

CRC32[31:0]

PAD [<s>]

Source Addr[47:0]

Client-Defined Preamble[63:0]

(optional)

Type/Length[15:0]

Payload[<p-1>:0]

PAD [<s>] CRC32[31:0]

EFD[7:0] IPG[<l-1>:0]

Frame Length

(1) (2)

(3)

3.4.1. 填充字节插入

默认情况下,MAC TX 向 TX 帧中插入填充字节(0x00)以满足以下最小有效负载长度要求:

• 46 字节(基本帧)

• 42 字节(VLAN 标签帧)

• 38 字节(堆栈式 VLAN 标签帧)

确保在使能填充字节插入后使能 CRC-32 插入。

可将 tx_pad_control 寄存器设置为 0 来禁用填充字节插入。禁用后,MAC IP 核将帧转发至PHY 侧接口,而不进行填充。确保满足最小有效载荷长度要求;否则可能会损坏当前帧。 可通过参阅所收集的统计查找尺寸不足的帧。

3.4.2. 地址插入

默认情况下,MAC TX 保留从客户端接收到的源地址。 可将位 tx_src_addr_override[0]设置为 1 来配置 MAC TX,以将源地址替换为 tx_addrins_macaddr0 和tx_addrins_macaddr1 寄存器中指定的主要 MAC 地址。

3.4.3. CRC-32 插入

默认情况下,MAC TX 计算并将 CRC-32 校验和插入 TX 帧。MAC TX 计算帧字节上的 CRC-32 校验和,包括源地址,目的地址,长度,数据,和填充字节。该计算不包括前导码和 SFD 字节。然后MAC TX 将 CRC-32 校验和插入 TX 帧。校验和的第 31st 个位占据首个 CRC 字段的最低有效位。

可将 tx_crc_control[1]寄存器位设置为 0 来禁用此功能。

下图显示为 Avalon -ST 数据接口中的时序图,其中发送中的 CRC 插入已使能而接收中的。来自客户端的帧不带 CRC-32 校验和。MAC TX 将 CRC-32 校验和(4EB00AF4)插入帧。然后此帧环回到带有 CRC-32 校验和的 RX 数据路径。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

24

图 9. CRC 插入已使能的 Avalon-ST TX 和 RX 接口

tx_312_5_clk

avalon_st_tx_ready

avalon_st_tx_valid

avalon_st_tx_startofpacket

avalon_st_tx_endofpacket

avalon_st_tx_data[31:0]

avalon_st_tx_empty[1:0]

avalon_st_tx_error

0

rx_312_5_clk

avalon_st_rx_ready

avalon_st_rx_valid

avalon_st_rx_startofpacket

avalon_st_rx_endofpacket

avalon_st_rx_data[31:0]

avalon_st_rx_empty[1:0]

avalon_st_rx_error[5:0]

4EB30AF4

0

下图显示为 Avalon-ST 数据接口中的时序图,其中发送中的 CRC 插入已禁用,同时接收中的 CRC移除也已禁用。MAC TX 接收来自客户端带有 CRC-32 校验和(4EB00AF4)的帧。然后具有相同CRC-32 校验和的帧环回到 RX 数据路径。

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

25

图 10. CRC 插入已禁用的 Avalon-ST TX 和 RX 接口

tx_312_5_clk

avalon_st_tx_ready

avalon_st_tx_valid

avalon_st_tx_startofpacket

avalon_st_tx_endofpacket

avalon_st_tx_data[31:0]

avalon_st_tx_empty[1:0]

avalon_st_tx_error

0

rx_312_5_clk

avalon_st_rx_ready

avalon_st_rx_valid

avalon_st_rx_startofpacket

avalon_st_rx_endofpacket

avalon_st_rx_data[31:0]

avalon_st_rx_empty[1:0]

avalon_st_rx_error[5:0]

4EB30AF4

4EB30AF4

0

3.4.4. XGMII 封装

默认情况下,MAC Tx 会向从客户端接收到的帧中插入 7-byte 前导码、1-byte SFD 和 1-byteEFD(0xFD)。

MAC TX 还支持 10G 操作中的自定义前导码。要使用自定义前导码,将tx_preamble_control 寄存器设置到 1。自定义前导码模式中 MAC TX 的行为:

• MAC TX 接受来自客户端中帧的首 8 个字节作为自定义前导码。

• MAC TX 将 1-byte EFD(0xFD)插入帧。

• MAC TX 将前导码的第一个字节替换为 1-byte START(0xFB)。

• MAC TX 将前导码的第 8 个字节转换成 1-byte SFD(0xD5)。

Avalon -ST TX 接口上可能出现下溢。当帧传输的中途置低 avalon_st_tx_valid 信号时,就会出现下溢。发生这种情况时,10GbE MAC TX 将错误字符|E|插入该帧并将其转发到 XGMII。

3.4.5. 数据包间间隙生成和插入

根据 IEEE 802.3 以太网标准要求,MAC TX 在 TX 帧之间保持一个平均 IPG。利用欠缺空闲计数(DIC,deficit idle count )将平均 IPG 维持在 96 位时间(12 字节时间 )。MAC TX 根据 DIC上的值插入或删除空闲字节;DIC 必须介于 9 到 15 个字节。平均 IPG 可确保 MAC 使用最大可用带宽。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

26

对于 10M/100M/1G/2.5G 操作,MAC TX 仅维持 12 字节时间(12 bytes time)的最小 IPG。

3.4.6. XGMII 传输

在 XGMII 上,MAC TX 执行以下操作:

• 将帧的第一个字节与接口的通道 0 对齐。

• 执行字节存储次序转换。在 Avalon -ST 接口上发送从客户端接收到的帧是高位字节(bigendian)。在 XGMII 上发送的帧是低位字节(little endian);因此 MAC TX 在该接口上从最低有效字节发送帧。

下图显示为 Avalon -ST TX 数据接口和 XGMII 上的时序。XGMII 上首先发送 D5 中的最低有效值。

图 11. 字节存储次序转换

55 (1) D5 CC CC EE 01 05 09 0D

55(1) 55 88 EE AA 00 04 08 0C

55(1) 55 EE CC 2E 03 07 0B 0F

FB 55 EE AA 88 00 02 06 0A 0E

CC

tx_312_5_clk

0 4

D1 D2 D3 D4 D5 D6 D7 D8

15 19 1D 21 25 29 2D F4 07

14 18 1C 20 24 28 2C 0A 07

13 17 1F 23 27 2B B3 07

12 16 1A 1E 22 26 2A 4E FD

1B

10

11

07

0 4

D9 D10 D11 D12 D13 D14 D15 D16 D17

D1: 555555D5

D2: EECC88CC

D3: AAEEEECC

D4: 88CCAAEE

D5: 002E0001

D6: 02030405

D7: 06070809

D8: 0A0B0C0D

D9: 0E0F1011

D10: 12131415

D11: 16171819

D12: 1A1B1C1D

D13: 1E1F2021

D14: 22232425

D15: 26272829

D16: 2A2B2C2D

D17: 4EB30AF4

avalon_st_tx_ready

avalon_st_tx_valid

avalon_st_tx_startofpacket

avalon_st_tx_endofpacket

avalon_st_tx_data[31:0]

avalon_st_tx_empty[1:0]

avalon_st_tx_error

tx_312_5_clk

xgmii_tx_control[3]

xgmii_tx_data[31:24]

xgmii_tx_control[2]

xgmii_tx_data[23:16]

xgmii_tx_control[1]

xgmii_tx_data[15:8]

xgmii_tx_control[0]

xgmii_tx_data[7:0]

Data value:

3.4.7. 单向特性

MAC TX 实现 IEEE802.3 规范第 66 条规定的单向特性。仅 10G 操作中支持该可选功能。使能该功能时,可访问两个输出端口—unidirectional_en,unidirectional_remote_fault_dis— and two register fields—UniDir_En (Bit0),UniDirRmtFault_Dis (Bit 1)— 可用以控制 TX XGMII 接口。

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

27

表 10. 寄存器字段和链路状态

Bit 0Register 字段

Bit 1 Register 字段 链路状态 TX XGMII 接口行为

任意值 任意值 无链路故障 继续允许常规数据包发送。

0 任意值 局部故障 远程故障序列立即覆盖当前内容。

1 0 局部故障 如果存在数据包,则继续发送数据包。 否则,远程故障序列会覆盖IPG/IDLE 字节。(2)

1 1 局部故障 继续允许常规数据包传输(类似于无链路故障)。

0 任意值 远程故障 IDLE 控制字符立即覆盖当前内容。

1 任意值 远程故障 继续允许常规数据包传输(类似于无链路故障)。

3.4.8. TX 时序图

图 12. 常规帧

下图显示为常规帧的传输。

tx_312_5_clkavalon_st_tx_startofpacket

avalon_st_tx_validavalon_st_tx_ready

avalon_st_tx_endofpacketavalon_st_tx_error

avalon_st_tx_empty[1:0]avalon_st_tx_data[31:0]

xgmii_tx_data[31:0]xgmii_tx_control[3:0]

avalon_st_tx_data[31:24]avalon_st_tx_data[23:16]

avalon_st_tx_data[15:8]avalon_st_tx_data[7:0]

xgmii_tx_data[7:0]xgmii_tx_data[15:8]

xgmii_tx_data[23:16]xgmii_tx_data[31:24]

0 3 0

0f8e_8236 0023_4567 *5 *1 *2 *2 *5 *b *c *7 *e *d *5 *3 *e *5 *0 cc6b_d355

0707_0707 *b *5 *0 *9 *1 *0 *c *e *b *6 *1 *0 *b *7 *6 *d *d *d *2 0707_0707

f 1 0 e f

0f 00 89 f1 00 fc ce 6b 26 01 e0 0b 87 a6 7d 4d 5d cc8e 23 ab c7 2f 8c 3f 9f d9 77 59 71 e5 3a 42 00 6b

82 45 c4 e9 fb 00 62 f7 80 84 09 c5 21 65 4b b1 00 d336 67 d5 61 d2 82 85 4b fc 67 9e 9d 45 23 ee a5 00 55

07 7dfb 55 00 89 f1 00 fc ce 6b 26 01 e0 0b 87 a6 07

07 3a55 23 ab c7 2f 8c 3f 9f d9 77 71 e5 07

07 4b55 45 c4 e9 fb 00 62 f7 80 84 09 c5 21 65 07

07 ee55 d5 67 d5 61 d2 82 85 4b fc 67 9e 8d 45 23 07

a24d 5d

fd42 13

b1 8a

a5 d0

59

(2) 在远程故障序列前面必须至少有一列完整的 IDLE(4 个 IDLE 字符)。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

28

图 13. 已使能前导码直通模式、填充字节插入、源地址插入情况下的常规帧

下图显示为在使能前导码直通模式、填充字节插入和源地址插入情况下,良好帧的发送。

0 37c91_5b8d*5 *_fff *fb *4 *5 *3 *f *0 *9 *a *1 *3 *0 *3 *0

0707_0707*b *1 *_fff *ff *2 *0 *b *0 *e *5 *5 *6 *3 *0 *4 *c *0 *8 *d

f 1

7cd1 ff 2b 00 5b 60 8e 65 25 36 13 10 0481bf ff 0098 2f 5d de 4b 4e 54 53 13 60 a1

83 001d 45 e3 5b 09 bb db 10 e8 86 a9d5 0024 f5 f3 2f 20 69 ba 21 53 f0 83

ff 44ff fb

5b8d

fb 0422 00 5b 60 8e 65 25 36 13 10d1 ff 07fd7c 00 38*5 a133 2f 5d de 4b 4e 54 53 13 60*5 ff 0700 7a*5 a944 45 e3 5b 09 bb db 10 e8 86*5 0700 9cff 00*5 8355 f5 f3 2f 20 69 ba 21 53 f0*5 0700 eeff 00

tx_312_5_clkavalon_st_tx_startofpacket

avalon_st_tx_validavalon_st_tx_ready

avalon_st_tx_endofpacketavalon_st_tx_error

avalon_st_tx_empty[1:0]avalon_st_tx_data[31:0]

xgmii_tx_data[31:0]xgmii_tx_control[3:0]

avalon_st_tx_data[31:24]avalon_st_tx_data[23:16]

avalon_st_tx_data[15:8]avalon_st_tx_data[7:0]

xgmii_tx_data[7:0]xgmii_tx_data[15:8]

xgmii_tx_data[23:16]xgmii_tx_data[31:24]

092e6_9b29 0faa_4s5e

92 0fe6 aa9b 4a29 5e

0707_0707f0

07070707

图 14. 使能源地址插入的情况下,常规帧的背靠背发送。

下图显示了使能源地址插入的情况下,常规帧的背靠背发送。 MAC 主地址寄存器设置为 0x000022334455。

0 3 0

8190_a0b0 *a7 *8d *ed *05 *56 *f0 *d6 *44 *95 *f4 *38 *03 *31 *0b *7a *00 *0_a0b0 *d2 *96 *01 *5c *43 *cb *e3 b4c1_cafd *f0 *4c 0023_456

0707_0707 *fb *55 *81 *c0 *22 *3d *f5 *08 *d6 *7e *51 *37 *1a *95 *a2 *9f *96 *b9 *e3 *be *7_0707 *fb *55 *81 *c0 *22

f 1 0 e f 1 0

81 c0 15 3d f5 08 d6 7e 51 37 1a 95 a2 31 96 b9 e3 81 c0 d6 88 00 7b 31 0e b4 49 25 00

90 d0 83 61 1c 75 e3 f4 7b 99 cd bc 83 85 5a 00 90 d0 07 08 0a 40 9f 76 c1 04 8b 23

a0 e7 35 1b 2f ff 5a b1 fc 06 b2 a8 ca 54 0d 4f 00 a0 cd 39 00 1d 05 11 57 ca e1 27 45

b0 a7 8d ed 05 56 f0 d6 44 95 f4 38 ca 31 0b 7a 00 b0 d2 96 01 5c 43 cb e3 fd f0 4c 67

07 fb 55 81 c0 22 3d f5 08 d6 7e 51 37 1a 95 a2 9f 96 b9 e3 be 07 fb 55 81 c0 22

07 55 90 d0 33 61 1c 75 e3 f4 7b 99 cd bc 83 85 5a c7 fd 07 55 90 d0 33

07 55 a0 00 44 1b 2f ff 5a b1 fc 06 b2 a8 ca 54 0d 4f 53 07 55 a0 00 44

07 55 d5 b0 00 55 ed 05 56 f0 d6 44 95 f4 38 03 31 0b 7a 88 07 55 d5 b0 00 55

tx_312_5_clkavalon_st_tx_startofpacket

avalon_st_tx_validavalon_st_tx_ready

avalon_st_tx_endofpacketavalon_st_tx_error

avalon_st_tx_empty[1:0]avalon_st_tx_data[31:0]

xgmii_tx_data[31:0]xgmii_tx_control[3:0]

avalon_st_tx_data[31:24]avalon_st_tx_data[23:16]

avalon_st_tx_data[15:8]avalon_st_tx_data[7:0]

xgmii_tx_data[7:0]xgmii_tx_data[15:8]

xgmii_tx_data[23:16]xgmii_tx_data[31:24]

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

29

图 15. 使能前导码直通模式的情况下,常规帧的背靠背发送

下图显示为使能前导码直通模式的情况下,常规帧的背靠背发送。

tx_312_5_clkavalon_st_tx_startofpacket

avalon_st_tx_validavalon_st_tx_ready

avalon_st_tx_endofpacketavalon_st_tx_error

avalon_st_tx_empty[1:0]avalon_st_tx_data[31:0]

xgmii_tx_data[31:0]xgmii_tx_control[3:0]

avalon_st_tx_data[31:24]avalon_st_tx_data[23:16]

avalon_st_tx_data[15:8]avalon_st_tx_data[7:0]

xgmii_tx_data[7:0]xgmii_tx_data[15:8]

xgmii_tx_data[23:16]xgmii_tx_data[31:24]

* * * * * * * ** * *3 ac8b_600d* * * * * * * * ** * * * * * * * ** * * * * * * * ** ** * * * ** * aa2f_4bbd ** **

* * * * * * * ** * * * *707 *b * * * * * **0 * * * * * * * ** * * * * * * * ** ** * * * ** **707 *** * * * * **b

0 f 1 0 1f 0e

6f de b3 23 32 5f 00 3b89 a5 00 ac0b 71 a0 90 c9 4c f0 6c a461 f9 36 22 1a 21 b7 f3 bca3 69 30 fa 2e a9 87 bb dbf5 b584 22 ff 64 6700 4d aa 2cea c87a

2b d2 b4 5f 1f 37 23 05ab 1b ff 8b7e d3 bc 59 b0 db 15 ae ade2 02 0f 21 62 74 c0 36 c8 13 d9 12 15 f0 a4 00da 45f9 37 ff bd 03ac 53 2f 4b81 e704

25 d4 48 e9 ad a5 45 e3f0 8f b7 60fa da d7 38 0f a9 60 be 344d 83 d4 8c68 5d e0 c1 26 74 95 65 ac ce 0079 85e7 8a 5d f53b ba 4b eb97 240df8 eb6e ff 03

89 8d 93 66 3a d5 67 62 94 f3 0d9c ee 3f 2c 44 d5 ca 11 6c85 4e 7b 26 64 d8 e7 0a 19 a4 5c 9e b0 004a 400a d5 5b a850 83 bd ce94 4857 03bc ff 225e 48

fe 8d ad 56 98 fb 8f 50b3 6f de b3 07 fb 5f 00 89 3b a5 0b00 71 a0 90 c9 4c f0 6c a461 f9 30 22 1a 21 b7 f3 bca3 847a 69 2e 87a9 bb fb07 22ac23 4a fd 30 fa dbf5 7e

8d b9 81 16 88 54 ac b3fc 2b d2 b4 07 1f 37 23 ab 05 1b 7eff d3 bc 59 b0 db 15 ae ade2 02 0f 21 62 74 c0 36 f904 c8 12 f015 a4 4507 378b5f a6 13 d9 f4da fd

2b 0f 49 ca 38 40 9f f814 25 d4 48 07 ad a5 45 f0 e3 8f fab7 da d7 38 0f a9 60 be 344d 83 d4 68 5d 8c e0 eb6e e70d c1 95 ac65 ce 8507 8a60e9 0a 26 74 0f79

d6 38 84 f0 3a 76 7f c59c 89 8d 93 07 3a d5 67 62 94 9cf3 ee 3f 2c 44 d5 ca 11 6c85 4e 7b 26 64 d8 03bc 0a57 e7 a4 9e5c b0 4007 d50d66 e7 0a 19 ce4a5e 48

图 16. 错误情况 — 下溢

下图显示了发送数据路径上发生下溢后,紧接着发送一个常规帧。

0

c990_2f08

0

0707_0707

f 00f

*c61

*0707

97

36

6c

61

c9

90

2f

08

fc

07

07

07

07

07

07

07

07

tx_312_5_clkavalon_st_tx_startofpacket

avalon_st_tx_validavalon_st_tx_ready

avalon_st_tx_endofpacketavalon_st_tx_error

avalon_st_tx_empty[1:0]avalon_st_tx_data[31:0]

xgmii_tx_data[31:0]xgmii_tx_control[3:0]

avalon_st_tx_data[31:24]avalon_st_tx_data[23:16]

avalon_st_tx_data[15:8]avalon_st_tx_data[7:0]

xgmii_tx_data[7:0]xgmii_tx_data[15:8]

xgmii_tx_data[23:16]xgmii_tx_data[31:24]

pulse_tx_udf_errcnt

帧的中途发生下溢会导致 XGMII 上出现提前终止。下溢结束后继续接收 Avalon -ST 发送接口中剩余的数据,但此间的数据已丢失。下一帧的传输不受该下溢的影响。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

30

图 17. 错误情况 — 下溢(续)

tx_312_5_clkavalon_st_tx_startofpacket

avalon_st_tx_validavalon_st_tx_ready

avalon_st_tx_endofpacketavalon_st_tx_error

avalon_st_tx_empty[1:0]avalon_st_tx_data[31:0]

xgmii_tx_data[31:0]xgmii_tx_control[3:0]

avalon_st_tx_data[31:24]avalon_st_tx_data[23:16]

avalon_st_tx_data[15:8]avalon_st_tx_data[7:0]

xgmii_tx_data[7:0]xgmii_tx_data[15:8]

xgmii_tx_data[23:16]xgmii_tx_data[31:24]

pulse_tx_udf_errcnt

* *4 *f *3 *c *1 *e *d *a *c *e *9 *7 c531_fcb6

*c *d *9 *e *3 *e *4 *5 *d *2 *c *f *f *6 *0 *3 *6 *fe *7 0707_0707

0 f 0 f

fed9 6e 63 6e 74 d5 ed 42 cc 3f 5f 76 c0 93 b6 07

fe1e c7 2f 1b 0c 02 37 39 3b 31 07

fe95 46 23 39 c1 d4 fc a9 4a 37 8b 13 f0 07fe48 c8 3f 14 84 6f 23 33 a1 5e 8d 1a fc 1e 49 07

fd37 b8

a4 3a

37 e337 13

15

* *1 *6 *1 *8 *d

*8 *6 *5 *2 *5b793_b875 *b *7 *

6e 74 d5 ed 42 cc 3f 5d 76 c0 93 b6 37 c5 de ad bd b0 71b7 d6 23 5

c7 2f 1b 0c 02 37 39 3b 15 31 cd 99 a4 31 79 37 c6 0d 3693 d5 d4 a

46 23 39 c1 d4 fc a9 4a 37 8b 13 f0 37 fc ec e2 1e 6b cab8 95 d8 8

14 84 6f 23 33 a1 5e 8d 1a fc 1e 49 37 b6 48 16 a5 52 d575 2b d7 0

c1

7a

6d

61

cd 99

ff d1 e6 c1 3c ad

c1 01 51 35

41 c3 42 3a95 44 a2 61 16 05

f7

20

72

5d

图 18. 使能填充字节插入情况下的短帧

下图显示为无有效负载数据的短帧的发送。已使能填充字节插入。

tx_312_5_clkavalon_st_tx_startofpacket

avalon_st_tx_validavalon_st_tx_ready

avalon_st_tx_endofpacketavalon_st_tx_error

avalon_st_tx_empty[1:0]avalon_st_tx_data[31:0]

xgmii_tx_data[31:0]xgmii_tx_control[3:0]

avalon_st_tx_data[31:24]avalon_st_tx_data[23:16]

avalon_st_tx_data[15:8]avalon_st_tx_data[7:0]

xgmii_tx_data[7:0]xgmii_tx_data[15:8]

xgmii_tx_data[23:16]xgmii_tx_data[31:24]

0 2

*c

0

92e6_9b29 *f *2 1626_4dfe *e *6 *5 *a *e *1 *e *f *a *b

*b0707_0707 *5 *1 0000_0000 *e *6*0 *2 *0

f 1 0

c081 4f 00 16 2f 57 ee fe 13 f0 2d d2 5c 9d

d090 e0 2e 26 a8 57 cf c3 d3 e9 87 52 ca 63

aea0 66 a0 4d d8 ea 91 b8 b5 b0 9f ad e0 d7

acb0 8f f2 fe de e6 85 3a 8e 61 be af 0a 4b

fb07 55 81 00 9f fdc0 22

07 55 90 00 ded0 33 2e

07 55 a0 00 6c00 44

07 b0 00 1500 5555 d5

3.5. RX 数据路径

MAC RX 从 XGMII 接收以太网帧,在对帧进行检查并过滤无效帧之后通过相关帧字段将有效载荷转发至客户端。在 MAC Rx 将帧转发至客户端以前,可选择从该帧中移除某些帧字段。

下图显示为帧通过 MAC RX 的典型流程。

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

31

图 19. 接收接口上的典型客户端帧

Client - MAC Rx Interface(optional)

Client FrameDestination Addr[47:0]

Source Addr[47:0]

Type/Length[15:0]

Payload[<p-1>:0]

Destination Addr[47:0]

CRC32[31:0]

PAD [<s>]

Source Addr[47:0]

Client-Defined Preamble[55:0]

(optional)

Type/Length[15:0]

Payload[<p-1>:0]

PAD [<s>] CRC32[31:0]

EFD[7:0]

Start[7:0]

Frame Length

(1) (2)

MAC Frame

SFD[7:0]Preamble [47:0]

Start[7:0]

3.5.1. XGMII 解封装

MAC RX 预计接收包的第一个字节位于通道 0(xgmii_rx_data[7:0])。 如果 XGMII 上有32-bit/64-bit 适配器,则接收包的第一个字节必须位于通道 0 或通道 4(xgmii_rx_data[39:32])。接收包还必须替换为一列空闲字节或诸如局部故障等有序集。不符合这些条件的数据包是无效包,MAC RX 会将其丢弃。

默认情况下,MAC RX 仅接受以 1-byte START、6-byte 前导码和 1-byte SFD 开头的数据包。不符合此条件的数据包是无效包,MAC RX 会将其丢弃。

使能前导码直通模式(rx_preamble_control 寄存器 = 1)时,MAC RX 仅检查以 1-byteSTART 开始的数据包。在此模式下,MAC RX 不会移除 START 和自定义前导码,而是将这些字节与帧一起传递至客户端。

按照正确顺序检查数据包头字节后,MAC IP 从数据包检索帧数据。 如果从目的地址域开始的帧数据小于 17 个字节,MAC IP 可能会也可能不会丢弃该帧。 如果未丢弃且转发错误帧,则会向外部逻辑标记该尺寸不足错误以丢弃该帧。如果帧大于 17 字节,MAC 正常转发该帧并在适当时标记错误。

3.5.2. CRC 检查

MAC RX 计算帧字节上的 CRC-32 校验和,并将计算的所得值与接收帧中的 CRC 字段进行比较。如果值不匹配,MAC RX 通过将 avalon_st_rx_error[1]设置为 1 来标记该帧为无效帧,然后将接收帧转发至客户端。 如果 CRC 错误指示器被置位,预计外部逻辑将丢弃该帧的字节。

3.5.3. 地址检查

MAC RX 可接受具有以下地址类型的帧:

• 单播地址 — 目的地址的位 0 为 0。

• 组播地址 — 目的地址的位 0 为 1。

• 广播地址 — 目的地址的所有 48 位均为 1。

MAC RX 总是接受广播帧。 默认情况下,除非另外在 rx_frame_control 寄存器的EN_ALLUCAST 和 EN_ALLMCAST 位进行了配置,否则它还接收所有的单播帧和多播帧。

当 EN_ALLUCAST 位设置为 0 时,MAC RX 过滤接收到的单播帧。仅当单播帧的目的地址与在primary_mac_addr0 和 primary_mac_addr1 寄存器中指定的主 MAC 地址匹配时,MACRX 才会接受该单播帧。如果任何补充地址位设置为 1(rx_frame_control 寄存器中的EN_SUPP0/1/2/3),MAC RX 还会比照 rx_frame_spaddr*_*寄存器中的补充地址检查目的地址。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

32

当 EN_ALLMCAST 位设置为 0 时,MAC RX 丢弃所有的组播帧。 此条件不适用于全局组播暂停帧。

3.5.4. 帧类型检查

MAC RX 检查长度/类型字段以确定帧类型:

• 长度/类型 < 0x600 — 该字段代表基本以太网帧的有效载荷长度。MAC RX 持续检查该帧及有效负载长度。

• 长度/类型>= 0x600 — 该字段表示帧类型。

— 长度/类型 = 0x8100 — VLAN 或堆栈式 VLAN 标签帧。 MAC RX 持续检查该帧及有效负载长度。

— 长度/类型 = 0x8808 —控制帧。后续两个字节为 Opcode 字段,指示控制帧的类型。对于暂停帧(Opcode = 0x0001)和 PFC 帧(Opcode = 0x0101),MAC RX 继续进行暂停帧处理。默认情况下,MAC RX 丢弃所有的控制帧。 如果另行配置(rx_frame_control 寄存器中的 FWD_CONTROL 位=1),MAC RX 会将控制帧转发至客户端。

— 对于其他字段值,MAC RX 会将接收帧转发至客户端。

表 11. 不同帧类型的 MAC 行为

类别 数据包大小 长度/类型=载荷

长度/类型>载荷

长度/类型<载荷

MAC 行为

帧丢弃 avalon_st_rx_error[]

普通包 65–1518

是 否 否 否—

否 否 是 否

否 是 否 否 avalon_st_rx_error[4] = 1

尺寸不足数据包 <

64

是 否 否 否avalon_st_rx_error[2] = 1

否 否 是 否

否 是 否 否avalon_st_rx_error[2] = 1avalon_st_rx_error[4] = 1

尺寸过大1518 < 数

据包 <1535

是 否 否 否avalon_st_rx_error[3] = 1

否 否 是 否

否 是 否 否avalon_st_rx_error[3] = 1avalon_st_rx_error[4] = 1

相关链接

Avalon -ST RX 数据接口信号 (第 73 页)

3.5.5. 长度检查

MAC RX 检查帧和基本,VLAN 标签,和堆栈式 VLAN 标签帧的载荷长度。MAC RX 不丢弃无效长度的帧,但会相应地设置错误位。

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

33

3.5.5.1. 帧长度

帧长度必须至少 64(0x40)字节,并且不得超过所属帧类型的最大值,如下所示:

• 基础—其值在 rx_frame_maxlength 寄存器中。

• VLAN 标签—当 rx_vlan_detection[0]寄存器位为 0 时,是rx_frame_maxlength 寄存器中的值加 4 个字节;或当 rx_vlan_detection[0]寄存器位设置到 1 时,是 rx_frame_maxlength 寄存器中的值。

• 堆栈式 VLAN 标签—当 rx_vlan_detection[0]寄存器位为 0 时,是rx_frame_maxlength 寄存器中的值加 8 个字节;或 rx_vlan_detection[0]寄存器位被设置成 1 时,为 rx_frame_maxlength 寄存器中的值。

下列错误位表示帧长度违规:

• avalon_st_rx_error[2]—帧尺寸不足。

• avalon_st_rx_error[3]—帧尺寸过大。

3.5.5.2. 载荷长度

禁用 VLAN 和堆栈式 VLAN 检测时,MAC IP 核除了控制帧以外还检查帧的载荷长度。MAC RX 接收到帧时仍保持实际载荷长度的走线,并比对长度/类型或客户端长度/类型域检查实际有效载荷长度。有效载荷长度必须介于 46(0x2E)和 1500(0x5DC)之间。对于 VLAN 和堆栈式 VLAN 帧而言,最小有效载荷长度分别为 42(0x2A)或 38(0x26)且不可超出 1500(0x5DC)的最大值。

对于无效载荷长度,MAC RX 将 avalon_st_rx_error[4]位设置到 1。当实际载荷长度少于长度/类型域时,就出现此错误。如果实际载荷长度大于长度/类型域值,则 MAC RX 假设此帧包含过多填充,则不会将该位设置成 1。

3.5.6. CRC 和填充字节移除

默认情况下,MAC RX 将接收帧转发至客户端,且不会从帧中移除 CRC 字段和填充字节。可通过将 rx_padcrc_control 寄存器设置为 1 来配置 MAC RX 从而移除 CRC 字段。若要同时移除CRC 字段和填充字节,请将 rx_padcrc_control 寄存器设置为 3。

使能时,如果接收帧的载荷长度小于如下所属帧类型的值,则 MAC RX 将从帧中移除填充字节:

• 46 字节(基本帧)

• 42 字节(VLAN 标签帧)

• 38 字节(堆栈式 VLAN 标签帧)

仅当 VLAN 和堆栈式 VLAN 检测已使能(rx_vlan_detection[0] = 0)时,MAC RX 移除填充字节。否则,MAC RX 不会移除填充字节,即便使能填充字节移除。

3.5.7. 上溢处理

当客户侧出现上溢时,客户可通过置低 avalon_st_rx_ready 信号背压 Avalon-ST 接收接口。出现上溢时,MAC RX 设置错误位,avalon_st_rx_error[5]为 1 以表示上溢。如果上溢状态持续,MAC RX 会丢弃后续帧。上溢状态停止时,MAC RX 才继续接收数据。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

34

3.5.8. RX 时序图

图 20. 在使能 CRC 移除的情况下,常规帧的背靠背发送

下图显示了使能 CRC 移除的情况下,常规帧的背靠背发送。

rx_312_5_clkxgmii_rx_data[31:0]

xgmii_rx_control[3:0]avalon_st_rx_startofpacket

avalon_st_rx_validavalon_st_rx_ready

avalon_st_trx_endofpacketavalon_st_rx_data[31:0]

avalon_st_rx_empty[1:0]avalon_st_rx_error[5:0]

avalon_st_rx_data[31:24]avalon_st_rx_data[23:16]

avalon_st_rx_data[15:8]avalon_st_rx_data[7:0]

xgmii_rx_data[7:0]xgmii_rx_data[15:8]

xgmii_rx_data[23:16]xgmii_rx_data[31:24]

* *fff * * * * *c 0000_0000 *0faa_4s5e * * * * * * * * * *

1 0 1f 0 1f 0

* *fff *0 * *0707_0707 * *0 0000_0000 * * * *

fb *ff cf 88 21 22 8cc 00 fd07 fb 3a 00 c0 0a 4d da * cd3a b6 fa 07 01 8187 95 46 94 f2

88 ff 58 08 d3 be 88 00 0707 88 3a 01 16 51 ae c5 * 403a df 55 80 00f3 c7 46 df f6

88 d0 d5 cd a7 ff 00 0707 88 3a 0a 50 51 2e 2b * 0a3a 62 73 c246 97 24 43 aa

88 ad 49 f5 2a 00 0707 88 d5 d9 6d 18 8d 57 * 7cd5 2b f1 003e 28 55 70 95

ff 61 68 03

5c 81ff 60

fb ff 88 b607 22 8c 00 07 3a 01 c03a cf f121 00fb

88 ff 08 df07 be 89 00 07 3a 80 163a 58 55d3 0188

88 d5 6207 a7 ff 00 07 3a c2 503a d0 73cd 0a88ff 61

88 49 2b07 2a 00 07 d5 00 6dd5 ad f1f5 d988ff 60

图 21. 使能前导码直通模式的情况下,常规帧的背靠背发送

下图显示了在使能前导码直通模式、填充字节和 CRC 移除的情况下,常规帧的背靠背接收。

rx_312_5_clkavalon_st_rx_startofpacketavalon_st_trx_endofpacket

avalon_st_rx_validavalon_st_rx_ready

avalon_st_rx_error[5:0]avalon_st_rx_empty[1:0]avalon_st_rx_data[31:0]

xgmii_rx_data[31:0]xgmii_rx_control[3:0]

avalon_st_rx_data[31:24]avalon_st_rx_data[23:16]

avalon_st_rx_data[15:8]avalon_st_rx_data[7:0]

xgmii_rx_data[7:0]xgmii_rx_data[15:8]

xgmii_rx_data[23:16]xgmii_rx_data[31:24]

*52*1 *38 *10 *1 *a *5 *0 *a *f3 *1c *af *9 *_34a8 *7 *88 *5 *f_ff*52 *c *b4 *9 *c *94 *b *e *c *3 *e1 *df *e8 *7 *6a *ff *_8601 *07 0707_0

*9* *20 *7 *fb *a *f_ff*fff *1 *81 *1 *4 *fb *a *e *4f *85 *c8 *e *fe *92 *0 *1 fd 0707_0707*6 *c

c0 f 1 0 f 1 0 1 0 1 0 1 0 1 0 1 0 1

8916 20 07 fb 3a ff a1 81 64 fb 6a 8e 4f 85 c8 4e fe 92 70 91 fd 0766 0c

345b fd 07 88 3a ff f5 dd 2f 34 c2 8e ce 0e 3a 20 1e a4 26 a6 86 07c9 2a

8534 94 07 88 3a ff 85 00 1e 59 29 6d b3 3a 1f 38 f0 05 b3 29 0790 87

a8a9 07 88 d5 ff 26 bc b4 e9 9c 94 bc e3 e1 df e8 37 6a ff 079b ee 01 68

ff3c fa c2 85 53 26 36 34 f2 35 f4 16 89 07 fb 3a ff a1 81 64 fb 66 0c 6a 8e 4f 85 c8 4e fe 92 70 fd 07

c5ff 92 f5 6d 41 3c b0 1d 20 4e 32 5b 34 07 88 3a ff f5 dd 2f 34 c2 8e c9 2a ce 0e 3a 20 1e a4 26 a6 86 07

6c81 36 0e 34 8a 30 92 c4 50 f5 80 34 85 07 88 3a ff 85 00 1e 59 90 87 29 6d b3 3a 1f 38 f0 05 b3 07

5211 38 10 51 0a 95 b0 0a f3 1c af a9 a8 07 88 d5 ff 26 bc b4 e9 c2 94 9b ee bc e3 e1 df e8 37 6a ff 01 07

0 02

00

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

35

3.6. 流程控制

MAC IP 核实现以下流程控制机制:

• IEEE 802.3 流程控制—采用 IEEE 802.3 Annex 31B 标准以进行拥塞管理。MAC IP 核遇到拥塞时,会发送一个暂停帧以请求其链路搭档在给定时间段内暂停传输。此流程控制是管理局部或远程搭档中出现拥塞的一种机制。当接收器件遇到拥塞时,就发送 XOFF 暂停帧到发送(emitting)器件以指示发送器件在拥塞接收器指定的时段内停止发送数据。当发送器件接收到 XON 暂停帧(pause quanta = zero,暂停量=0)或定时器失效时, 才恢复数据传输。

• 基于优先级的流程控制(PFC) — 采用 IEEE 802.1Qbb 标准。 PFC 基于优先等级管理拥塞。 其最多支持 8 个优先级队列。 当接收器件在优先级队列中遇到拥塞时,就会发送一个PFC 帧,请求发送器件在拥塞接收器指定的时间段内停止优先列队上的传输。 当接收器件再次就绪以接收优先队列上的传输时,就会发送一个 PFC 帧,以指示发送器件在该优先级队列中恢复发送。

注意: Intel 建议每次仅使能一种类型的流程控制。

3.6.1. IEEE 802.3 流程控制

为使用 IEEE 802.3 流程控制,请设置以下寄存器:

• TX 路径上:

— 将 tx_pfc_priority_enable[7:0]设置为 0 以禁用 PFC。其余位未使用。

— 将 tx_pauseframe_enable[0]设置为 1 以使能 IEEE 802.3 流程控制。

• RX 路径上:

— 将 rx_pfc_control[7:0]设置为 1 以禁用 PFC。大部分其余位未使用。

— 将 rx_frame_control 寄存器中的 IGNORE_PAUSE 设置为 0 以使能 IEEE 802.3 流程控制。

3.6.1.1. 暂停帧接收

MAC 接收到 XOFF 暂停帧时,会在一段时间内停止将帧发送给远程搭档,这段时间等于暂停帧的暂停量字段。如果 MAC 在帧发送中途接收到暂停帧,则 MAC 停止发送当前帧并在暂停量指定的时间段内暂停发送。当接收到 XON 暂停帧或定时器失效时,MAC 恢复发送。所接收的暂停量覆盖计数器当前已存储内容。远程搭档发送多个暂停量时,MAC 将暂停值设置为从远程搭档接收到的最后一个量子的值。可通过将 rx_frame_control 寄存器中的 IGNORE_PAUSE 位设置为 1 来选择配置 MAC,从而忽略暂停帧并继续发送帧。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

36

3.6.1.2. 暂停帧传输

使用下列方法之一触发暂停帧传输:

• avalon_st_pause_data 信号(tx_pauseframe_enable[2:1]设置为 0)— 可将这个 2-bit 信号连接到 FIFO 缓冲器或客户端。位设置:

— avalon_st_pause_data[1]:1 — 触发 XOFF 暂停帧的传输。

— avalon_st_pause_data[0]:1 — 触发 XON 暂停帧的传输。无论avalon_st_pause_data[0]信号被置位的时长,XON 暂停帧的传输仅在 XOFF 暂停帧之后触发一次。

如果在 MAC 生成暂停帧的过程中触发了暂停帧传输,MAC 会忽略传入的请求并完成暂停帧的生成。完成后,如果 avalon_st_pause_data 信号保持置位,MAC 会生成一个新的暂停帧,并在该信号被置低前继续这一操作。还可以配置连续 XOFF 请求之间的间隔以使用tx_pauseframe_quanta 寄存器。 只有 MAC 生成 XOFF 暂停帧时,才生成 XON 暂停帧。

• tx_pauseframe_control 寄存器(tx_pauseframe_enable[2:0]设置为 0x1)-主机(软件)可设置此寄存器以触发暂停帧传输。将 tx_pauseframe_control[1]设置为 1 会触发 XOFF 暂停帧的传输;将 tx_pauseframe_control[0]设置为 1 会触发XON 暂停帧的传输。该寄存器会在执行请求后自行清零。

可在 tx_pauseframe_quanta 寄存器中配置暂停量。MAC 将 XOFF 暂停帧中的暂停量设置为此寄存器值。

注意: 新的寄存器字段决定生效的暂停接口。

下图显示为 XON 暂停帧的传输。 MAC 设置全局组播地址 01-80-C2-00-00-01(0x010000c28001)的目的地址字段,以及设置 tx_addrins_macaddr0 和tx_addrins_madaddr1 寄存器中所配置 MAC 主地址的源地址。

图 22. XON 暂停帧传输

tx_clk_clk

FB 55 01 00 FD

xgmii_tx_control[3]

xgmii_tx_data[31:24]

xgmii_tx_control[2]

xgmii_tx_data[23:16]

xgmii_tx_control[1]

xgmii_tx_data[15:8]

xgmii_tx_control[0]

xgmii_tx_data[7:0] 00 88 88 96

55 55 80 0001 CC 08 96

55 55 C2 00EE AA 96

55 D5 00 00CC EE 01 96

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

37

3.6.2. 基于优先级的流程控制

按照如下步骤来使用 PFC:

1. 开启 Priority-based flow control (PFC)参数并使用 Number of PFC priorities 参数指定优先级数。可指定 2 至 8 个 PFC 优先级。

2. 设置下列寄存器。

• TX 数据路径上:

— 将 tx_pauseframe_enable 设置为 0 以禁用 IEEE 802.3 流程控制。

— 将 tx_pfc_priority_enable[n]设置为 1 以使能 for 优先队列 n 的 PFC。

• RX 数据路径上:

— 将 rx_frame_control 寄存器中 IGNORE_PAUSE 位设置为 1 以禁用 IEEE802.3 流程控制。

— 将 rx_pfc_control[7:0]寄存器各个位设置为 0 以使能 PFC。大部分其余位未使用。

3. 将 avalon_st_tx_pfc_gen_data 信号链接到相应 RX 客户端逻辑,同时将avalon_st_rx_pfc_pause_data 信号连接到相应 TX 客户端逻辑。

4. 可选择将 rx_pfc_control[16]寄存器设置到 1 来配置 MAC RX,从而将 PFC 转发到客户端。默认情况下,MAC RX 在处理完 PFC 帧后就会将其丢弃。

3.6.2.1. PFC 帧接收

当 MAC RX 接收到来自远程搭档的 PFC 帧时,如果暂停量 n 有效(Pause Quanta Enable [n] =1)且大于 0,就将 avalon_st_rx_pfc_pause_data[n]信号置位。客户端在暂停量(Pause Quanta)n 指定的时间段内暂停从 TX 优先级队列 n 传输。如果在客户端帧传输的过程中,MAC RX 置位 TXavalon_st_rx_pfc_pause_data[n]信号,客户端会先发送完当前帧,然后才暂停该队列的传输。

当 MAC RX 接收来自远程搭档的 PFC 帧时,如果暂停量 n 有效 (Pause Quanta Enable [n] =1) 且等于 0,则 MAC RX 置低 avalon_st_rx_pfc_pause_data[n]信号。当计时器失效时,MAC RX 也会将此信号置低。当 avalon_st_rx_pfc_pause_data[n]信号被置低时,客户端恢复暂停 TX 优先级队列的传输。

当远程搭档发送 TX 优先级队列 n 的多个暂停量时,MAC RX 将暂停量 n 设置为从远程搭档接收到的最后一个暂停量。

3.6.2.2. PFC 帧发送

通过 avalon_st_tx_pfc_gen_data 信号触发 PFC 帧生成。设置相应的位以生成优先级队列的 XOFF 或 XON 请求。

对于 XOFF 请求,可使用 pfc_pause_quanta_n 寄存器配置每个优先级队列的暂停量。 对于优先级队列 n 的 XOFF 请求,MAC TX 将暂停量使能字段中的位 n 设置为 1,将暂停量 n 字段设置为 pfc_pause_quanta_n 寄存器的值。还可以使用 pfc_holdoff_quanta_n 寄存器配置优先级队列连续 XOFF 请求之间的间隔。

对于 XON 请求,MAC TX 将暂停量设置为 0。必须先生成 XOFF 请求,再生成 XON 请求。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

38

3.7. 复位要求

MAC IP 核由下列复位域名组成:

• CSR 复位— 全局复位,

• MAC TX 复位,和

• MAC RX 复位。

这些复位都是异步事件。当 MAC 或其任何部分进入复位时,用户应用程序必须对 MAC 接口信号的状态进行可能的异步更改。MAC 不保证任何复位排序。以下结构图及表格中显示了 Intel 建议的CSR 复位,和 TX 以及 RX 数据路径复位的相应排序。

图 23. CSR 复位

csr, tx, rx clocks

csr_rst_n

tx_rst_n

rx_rst_n

置位csr_rst_n 时,必须同时置位 tx_rst_n 和rx_rst_n 。 保持复位信号有效至少 最慢时钟的 3个时钟周期。

置低csr_rst_n 不迟于tx_rst_n 和rx_rst_n 。 可在csr_rst_n 被置低后,数据开始传输之前配置寄存器。

表 12. TX 和 RX 数据路径复位

No 阶段 步骤

1 确保没有正在进行的数据传输。 1. 将 tx_packet_control[0]位设置为 1 以禁用 TX 数据路径;设置rx_transfer_control[0]位以禁用 RX 数据路径。

2. 检查 tx_transfer_status[8]位的 0 值,以确保没有正在进行的TX 数据传输;rx_transfer_status[8]位用于 RX 路径。或者,等待一段时间。

2 触发复位。 1. 确保 TX 和 RX 对应的时钟稳定。

2. 置位 tx_rst_n 信号或 rx_rst_n 信号以分别复位 MAC TX 或 MACRX。还可通过将 mac_reset_control[0]位或mac_reset_control[8]位设置到 1 来触发复位,从而分别复位MAC TX 或 MAC RX。

3. 复位信号至少保持三个时钟周期有效。

3 停止复位。 1. 仅当时钟稳定时才释放复位信号。2. 至少等待 500 ns 以确保复位彻底完成。

3. 清零统计计数器。

4 恢复数据传输。 1. 清零 tx_packet_control[0]位以使能 TX 数据路径;同时清零rx_transfer_control[0]位以使能 RX 数据路径。

3.8. PHY 支持

可使用 XGMII,GMII,或 MII 接口将 LL 10GbE MAC IP 核连接到 PHY IP 核。

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

39

表 13. PHY 支持

操作模式 PHY

10G 10GBASE-R PHY,XAUI PHY

1G/10G10GBASE-KR 或 1G/10G PHY

10M/100M/1G/10G

1G/2.5G 1G/2.5G/10G 多倍速以太网 PHY

1G/2.5G/10G

将 MAC IP 核连接到 64-bit PHY,以确保使能 Use legacy Ethernet 10G MAC XGMIIInterface 选项。

相关链接

AN 701:使用 Arria 10 1G/10G PHY 的可扩展低延迟以太网 10G MAC演示使用 Arria 10 PHY 的低延迟以太网 10G MAC IP 系统的设计实例。

3.8.1. 10GBASE-R 寄存器模式

MAC IP 核支持该功能并搭配 Arria 10 Transceiver Native PHY IP 核预置配置一起使用。在该模式下操作时,MAC 和 PHY 的往返延迟性减少到 140 ns,但资源计数和时钟频率略有增加。

使能此功能时,MAC IP 核实现两个额外信号从而确定 TX 和 RX XGMII 上数据的有效性。这些信号,xgmii_tx_valid 和 xgmii_rx_valid,确保 MAC 的有效数据速率为 10 Gbps。使用寄存器模式时,还必须遵守下列指导方针:

• 所选预设是 10GBASE-R Register Mode。

• PHY 必须公开 TX 和 RX 并行时钟。

• PHY 必须公开数据有效信号,且 MAC/PHY TX/RX 接口处于寄存器模式,与 IEEE 1588v2 配置中一样。

• MAC 和 PHY 以 322.265625 MHz 的并行时钟频率运行(PCS/PMA 宽度等同于 32)。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

40

图 24. PHY 配置以及 10GBASE-R 寄存器模式已使能。

图示显示为在 10GBASE-R 模式下操作时 PHY 配置的结构框图。

Transmitter 10G PCS

Receiver 10G PCS

Transmitter PMA

Receiver PMA

Parallel Clock (Recovered)

Parallel Clock (322+ MHz)

FPGAFabric

Regis

ter

Regis

ter

Fram

e Gen

erat

or

CRC3

2Ge

nera

tor

CRC3

2Ch

ecke

r

64B/

66B E

ncod

eran

d TX S

M

64B/

66B D

ecod

eran

d RX S

M

Scra

mble

rDe

-Scra

mble

r

Disp

arity

Chec

ker

Bloc

k Syn

chro

nizer

Fram

e Syn

chro

nizer

Disp

arity

Gene

rato

r

TX G

ear B

ox

RX Ge

ar Bo

x

Seria

lizer

Dese

rializ

er

CDR

rx_s

erial

_dat

atx

_ser

ial_d

ata

并行时钟

串行时钟

并行和串行时钟

BER Monitor

Div 32

Clock Divider

Parallel and Serial Clocks (From the ×6 or ×N Clock Lines)Serial Clock

(From the ×1 Clock Lines)

Central/ Local Clock Divider

Parallel and Serial Clocks(Only from the Central Clock Divider)

CMU PLL

64-Bit Data 8-Bit Control

64-Bit Data 8-Bit Control

6666 32

3266

Input Reference Clock

64-Bit Data 8-Bit

Control

fPLL

64-Bit Data 8-Bit

Control

相关链接

Arria 10 收发器 PHY 用户指南关于如何配置收发器以通过使用 Arria 10 收发器本地 PHY IP 核预设实现 10GBASE-R 功能性的更多信息。

3.9. XGMII 错误处理(链路故障)

LL 以太网 10G MAC 支持链路故障生成和检测。

MAC RX 接收到局部故障时,MAC TX 开始在 XGMII 上发送远程故障状态(0x9c000002)。如果此时正在进行数据包传输,远程故障字节将覆盖数据包字节直到故障状态停止。

MAC RX 接收到远程故障时,MAC TX 开始在其 XGMII 上发送 IDLE 字节(0x07070707)。如果此时正在进行数据包传输,IDLE 字节将覆盖数据包字节直到故障状态停止。

如果客户端和远程搭档中均有超过 127 个列接收到有效数据,则 MAC 认为链路故障状态已停止。

图 25. 故障信号

Remote Fault (0x9c000002)Idle (07070707)

Remote Fault (0x9c000002)

ClientInterface

MACTx

RS Tx

MACRx

RS Rx

2 link_fault_status_xgmii_rx_data XAUI /10GBASE-R

PHY

ExternalPHY

RemotePartner

XAUI /10GBASE-R

NetworkInterface

Local Fault (0x9c000001)

XGMII

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

41

图 26. XGMII TX 接口发送远程故障信号

下图显示了发送远程故障信号的 XGMII TX 接口的时序。

2’h1

72’h01000019c01000019c

8’h9c

8’h00

8’h00

8’h0

8’h9c

8’h00

8’h00

8’h02

8’h9c

8’h00

8’h00

8’h01

8’h9c

8’h00

8’h00

8’h01

72’h008000019c008000019c

2’h2 2’h0

71’83c1e0f0783c1e0f07

8’h07

8’h07

8’h07

8’h07

8’h078’h07

8’h07

8’h07

8’h07

8’h07

8’h07

8’h07

8’h07

8’h07

8’h07

8’h07

8’...

8’...

8’...

8’...

8’...

8’...

8’...

8’...

resetlink_fault_status_xgmii_rx_data

xgmii_tx_data

xgmii_rx_data

xgmii_tx_data[7:0]xgmii_tx_data[16:9]

xgmii_tx_data[25:18]

PHY发送局部故障信号。 MAC发送远程故障并将 link_fault_status_xgmii_rx_data 设置为2b’01。

客户端和搭档接收到多于127列有效 IDLE 数据时, MAC将link_fault_status_xgmii_rx_data 设置为2b’00。

PHY接收远程故障信号。MAC 发送IDLE并将 link_fault_status_xgmii_rx_data 设置为2b’10。

xgmii_tx_data[70:63]xgmii_tx_data[61:54]

xgmii_tx_data[34:27]xgmii_tx_data[43:36]xgmii_tx_data[52:45]

xgmii_rx_data[7:0]xgmii_rx_data[16:9]

xgmii_rx_data[25:18]

xgmii_rx_data[70:63]xgmii_rx_data[61:54]

xgmii_rx_data[34:27]xgmii_rx_data[43:36]xgmii_rx_data[52:45]

例化仅 MAC RX variation 时,请将 link_fault_status_xgmii_rx_data 信号连接到相应的 RX 客户端逻辑以处理链路故障。 同样地,当例化仅 MAC TX variation 时,请将link_fault_status_xgmii_tx_data 信号连接到相应的 TX 客户端逻辑。

3.10. IEEE 1588v2

IEEE 1588v2 选项为 LL 以太网 10G MAC IP 核设计中的接收帧和发送帧提供时间戳。该功能包含精确时间协议(PTP)。 PTP 是一种将网络中所有实时时钟精确同步到主时钟的协议。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

42

IEEE 1588v2 选项具有下列特性:

• 支持发送数据路径上 4 种类型的 PTP 时钟:

— 主和从普通时钟

— 主和从边界时钟

— 端到端(E2E)透明时钟

— 点对点(P2P)透明时钟

• 支持具有下列消息类型的 PTP:

— PTP 事件消息-Sync、Delay_Req、Pdelay_Req 和 Pdelay_Resp。

— PTP 常规消息-Follow_Up、Delay_Resp、Pdelay_Resp_Follow_Up、Announce、Management 和 Signaling。

• 支持发送数据路径上的 1 级和 2 级时钟同步。

— 1 级时钟同步 — MAC 功能在 Sync PTP 消息中插入精确时间戳,或使用停留时间更新校正字段。

— 2 级时钟同步 — MAC 功能为所有 PTP 消息提供精确时间戳和相关指纹。

• 支持下列 PHY 操作速度随机错误:

— 10 Gbps — ± 1 ns 的时间戳精确度

— 2.5 Gbps—± 2 ns 的时间戳精确度

— 1 Gbps— ± 2 ns 的时间戳精确度

— 100 Mbps — ± 5 ns 的时间戳精确度

• 支持跨所有速率的± 3 ns 静态误差。

• 支持 PTP 数据包的 IEEE 802.3、UDP/IPv4 和 UDP/IPv6 协议封装。

• 支持无标记,VLAN 标记和堆栈式 VLAN 标记 PTP 包,以及任意数量的 MPLS 标签。用户控制下的数据包分类器解析数据包(以太网数据包或 MPLS 数据包),并为 IP 核提供所需的偏移,从而可在此开始 ToD 或 CF 更新。

• 支持可配置寄存器在发送和接收数据路径上的时间戳校正。

• 支持提供 64-bit 和 96-bit 时间戳流的 ToD 时钟。64-bit 时间戳用于透明时钟器件,而 96-bit 时间戳用于普通时钟或边界时钟器件。

相关链接

Intel 1588 系统解决方案说明 IEEE 1588v2 功能的实现。

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

43

3.10.1. 体系结构

下图显示为 IEEE 1588v2 特性概览。

图 27. IEEE 1588v2 特性概览

IEEE 1588v2Tx Logic

IEEE 1588v2Rx Logic

PTP SoftwareStack

Time-of-DayClock

PHYTx

PHYRx

10GbE MAC IP 10GBASE-R PHY IP

tx_path_delay

rx_path_delay

Timestamp &User Fingerprint

Correction

Time of Day

Timestamp Aligned toReceive Frame

tx_egress_timestamp_requesttx_ingress_timestamp

tx_time_of_dayrx_time_of_day

3.10.2. TX 数据路径

IEEE 1588v2 特性支持发送数据路径上的 1 级和 2 级时钟同步。

• 对于 1 级时钟同步,

— 根据 PTP 器件和消息类型插入时间戳。

— 当客户端指定时间戳字段偏移并置位 Timestamp Insert Request 时,MAC 功能在 PTP数据包中插入时间戳。

— 根据 PTP 器件和消息类型,当客户端置位tx_etstamp_ins_ctrl_residence_time_update 和 Correction FieldUpdate 时,MAC 功能更新 PTP 数据包校正字段中的停留时间。停留时间是出口和入口时间戳之差。

— 对于使用 UDP/IPv6 协议封装的 PTP 数据包,MAC 功能使用 PTP 数据包中的扩展字节执行 UDP 校验和校正。

— 即便使用 tx_crc_control[1]寄存器位禁用 CRC 插入时,在每次时间戳或校正字段更新后,MAC 功能也会重新计算并再次将 CRC-32 插入 PTP 数据包。

— 支持的时间戳格式包括 1588v1 和 1588v2。

• 对于 2 级时钟同步,客户端置位 tx_egress_timestamp_request_valid 时,MAC功能返回所有 TX 帧的时间戳和关联指纹。

下表针对不同 PTP 时钟中的各种 PTP 消息时间戳和校正字段插入进行了总结。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

44

表 14. 1 级时钟同步的时间戳和校正插入

PTP 消息 普通时钟 边界时钟 E2E 透明时钟 P2P 透明时钟

插入时间戳 插入校正 插入时间戳 插入校正 插入时间戳 插入校正 插入时间戳 插入校正

Sync Yes (3) No Yes(3) No No Yes (4) No Yes (4)

Delay_Req No No No No No Yes (4) No Yes (4)

Pdelay_Req No No No No No Yes (4) No No

Pdelay_Resp No Yes (3) (4) No Yes (4) No Yes (4) No Yes (3)(4)

Delay_Resp No No No No No No No No

Follow_Up No No No No No No No No

Pdelay_Resp_Follow_Up

No No No No No No No No

Announce No No No No No No No No

Signaling No No No No No No No No

Management No No No No No No No No

3.10.3. RX 数据路径

RX 数据路径中,IEEE 1588v2 特性提供一个可用于所有接收帧的时间戳。此时间戳与avalon_st_rx_startofpacket 信号对齐。

3.10.4. 帧格式

通过 IEEE 1588v2 特性,MAC 功能支持 PTP 数据包传输用于下列传输协议:

• IEEE 802.3

• UDP/IPv4

• UDP/IPv6

3.10.4.1. 以 IEEE 802.3 封装的 PTP 数据包

下图显示为以 IEEE 802.3 封装的 PTP 数据包格式。

(3) 仅 PTP 数据包 flagField 中的 2 级标签为 0 时才可用。

(4) 置位 tx_etstamp_ins_ctrl_residence_time_update 信号后可用。

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

45

图 28. 以 IEEE 802.3 封装的 PTP 数据包

flagField

correctionField

transportSpecific | messageType

reserved | versionPTP

reserved

1 Octet

1 Octet

1 Octet

2 Octets

8 Octets

reserved4 Octets

SourcePortIdentify10 Octets

sequenceId2 Octets

controlField1 Octet

logMessageInterval1 Octet

TimeStamp

Payload

10 Octets

domainNumber

messageLength2 Octets

1 Octet

Length/Type = 0x88F7

Source Address

Destination Address

2 Octets

6 Octets

6 Octets

MAC Header

PTP Header

0..1500/9600 Octets

CRC

注释:(1) 对于具有 VLAN或堆栈式 VLAN标记的数据包,在长度/类型域前添加4或 8个 八位字节偏移。

4 Octets

(1)

3.10.4.2. 通过 UDP/IPv4 封装的 PTP 数据包

下图显示了通过 UDP/IPv4 封装的 PTP 数据包格式。对于 UDP/IPv4 协议而言,校验和计算是可选的。1588v2 Tx 逻辑应将校验和设置为 0。

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

46

图 29. 通过 UDP/IPv4 封装的 PTP 数据包

MAC Header

UDP Header

IP Header

PTP Header

Time To Live

Protocol = 0x11

Version | Internet Header Length

Differentiated Services

Flags | Fragment Offsets

1 Octet

1 Octet

2 Octets

1 Octet

1 Octet

Header Checksum2 Octets

Source IP Address4 Octets

Destination IP Address4 Octets

Options | Padding0 Octet

Source Port2 Octets

Destination Port = 319 / 3202 Octets

Identification

Total Length2 Octets

2 Octets

Length/Type = 0x0800

Source Address

Destination Address

2 Octets

6 Octets

6 Octets

Checksum

Length

2 Octets

2 Octets

flagField

correctionField

transportSpecific | messageType

reserved | versionPTP

reserved

1 Octet

1 Octet

1 Octet

2 Octets

8 Octets

reserved4 Octets

SourcePortIdentify10 Octets

sequenceId2 Octets

controlField1 Octet

logMessageInterval1 Octet

TimeStamp

Payload

10 Octets

domainNumber

messageLength2 Octets

1 Octet

0..1500/9600 Octets

CRC

注释:(1) 对于具有 VLAN或堆栈式VLAN标记的数据包,在长度/类型域前添加4或8个八位字节偏移。

4 Octets

(1)

3.10.4.3. 通过 UDP/IPv6 封装的 PTP 数据包

下图显示了通过 UDP/IPv6 协议传输的 PTP 数据包格式。 UDP/IPv6 协议必须进行校验和计算。必须将 PTP 数据包 UDP 有效载荷的末尾扩展 2 个字节。MAC 功能会修改扩展字节以确保 UDP 校验和保持不变。

3. 功能性说明

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

47

图 30. 用 UDP/IPv6 封装的 PTP 数据包

Version | Traffic Class | Flow Label

Payload Length

4 Octet

2 Octets

Source IP Address16 Octets

Destination IP Address16 Octets

Source Port2 Octets

Destination Port = 319 / 3202 Octets

Hop Limit

Next Header = 0x111 Octet

1 Octet

Length/Type = 0x86DD

Source Address

Destination Address

2 Octets

6 Octets

6 Octets

Checksum

Length

2 Octets

2 Octets

flagField

correctionField

transportSpecific | messageType

reserved | versionPTP

reserved

1 Octet

1 Octet

1 Octet

2 Octets

8 Octets

reserved4 Octets

SourcePortIdentify10 Octets

sequenceId2 Octets

controlField1 Octet

logMessageInterval1 Octet

TimeStamp

Payload

10 Octets

0..1500/9600 Octets

extended bytes2 Octets

CRC

注释:(1) 对于具有VLAN或堆栈式VLAN标记的数据包,在长度/类型域前添加4或8个八位字节偏移。

4 Octets

domainNumber

messageLength2 Octets

1 Octet

MAC Header

UDP Header

IP Header

PTP Header

(1)

3. 功能性说明

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

48

4. 配置寄存器

LL 以太网提供 10G MAC IP 核提供总共 4Kb 寄存器空间,可通过 Avalon-MM 接口访问。每个寄存器为 32 位宽。仅访问适用于正在使用和已使能的 MAC IP 核 variation 的寄存器。例如,如果使用仅 MAC 的 RX variation,避免访问指定为仅 MAC 的 TX variation 的寄存器。访问未在使用variation 的保留寄存器或指定寄存器会产生非确定性行为。

4.1. 寄存器映射

表 15. 寄存器映射

字偏移 用途 Variation

0x0000: 0x000F 保留 —

0x0010: 0x0011 主 MAC 地址 MAC TX、MAC RX

0X0012: 0x001D 保留 —

0x001F MAC 复位控制寄存器

0x0020: 0x003F TX 配置和状态寄存器 MAC TX

0x0040: 0x005F TX 流程控制寄存器 MAC TX

0X0060: 0x006F 保留 —

0x0070 TX 单向控制寄存器 MAC TX

0x0071: 0x009F 保留 —

0x00A0: 0x00FF RX 配置和状态寄存器 MAC RX

0x0100: 0x010C TX 时间戳寄存器 MAC TX

0x0120: 0x012C RX 时间戳寄存器 MAC RX

0x0140: 0x023F 统计寄存器 MAC TX、MAC RX

0x0240: 0x0241 ECC 寄存器 MAC TX、MAC RX

4.1.1. 将 10-Gbps 以太网 MAC 寄存器映射到 LL 以太网 10G MAC 寄存器

使用此表格将 legacy 以太网 10-Gbps MAC 寄存器映射到 LL 以太网 10G MAC 寄存器。

表 16. 寄存器映射

寄存器名称(10-Gbps 以太网 MAC) 偏移

(10-Gbps 以太网 MAC)

偏移

(LL 以太网 10G MAC)

MAC TX 配置寄存器

TX Packet Control(TX 数据包控制) 1000 020

继续...

UG-01144 | 2016.10.31

反馈

Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/orother countries. Intel warrants performance of its FPGA and semiconductor products to current specifications inaccordance with Intel's standard warranty, but reserves the right to make changes to any products and servicesat any time without notice. Intel assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Intel. Intelcustomers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

寄存器名称(10-Gbps 以太网 MAC) 偏移

(10-Gbps 以太网 MAC)

偏移

(LL 以太网 10G MAC)

TX Transfer Status(TX 传输状态) 1001 未使用

TX Pad Insertion Control(TX 填充插入控制) 1040 024

TX CRC Insertion Control(TX CRC 插入控制) 1080 026

TX Packet Underflow Count[31:0](TX 数据包下溢计数) 10C0 03E

TX Packet Underflow Count[35:32](TX 数据包下溢计数) 10C1 03F

TX Preamble Pass-Through Mode Control(TX 前导码直通模式控制)

1100 028

TX Unidirectional(TX 单向) 1120 070

TX Pause Frame Control(TX 暂停帧控制) 1140 040

TX Pause Frame Quanta(TX 暂停帧量) 1141 042

TX Pause Frame Enable(TX 暂停帧使能) 1142 044

TX PFC0 Pause Quanta(TX PFC0 暂停量) 1180 048

TX PFC1 Pause Quanta(TX PFC1 暂停帧量) 1181 049

TX PFC2 Pause Quanta(TX PFC2 暂停帧量) 1182 04A

TX PFC3 Pause Quanta(TX PFC3 暂停帧量) 1183 04B

TX PFC4 Pause Quanta(TX PFC4 暂停帧量) 1184 04C

TX PFC5 Pause Quanta(TX PFC5 暂停帧量) 1185 04D

TX PFC6 Pause Quanta(TX PFC6 暂停帧量) 1186 04E

TX PFC7 Pause Quanta(PFC7 暂停帧量) 1187 04F

TX PFC0 Hold-off Quanta(TX PFC0 取消暂停量 ) 1190 058

TX PFC1 Hold-off Quanta(TX PFC1 取消暂停量) 1191 059

TX PFC2 Hold-off Quanta(TX PFC2 取消暂停量) 1192 05A

TX PFC3 Hold-off Quanta(TX PFC3 取消暂停量) 1193 05B

TX PFC4 Hold-off Quanta(TX PFC4 取消暂停量) 1194 05C

TX PFC5 Hold-off Quanta(TX PFC5 取消暂停量) 1195 05D

TX PFC6 Hold-off Quanta(TX PFC6 取消暂停量) 1196 05E

TX PFC7 Hold-off Quanta(TX PFC7 取消暂停量) 1197 05F

TX PFC Enable(TX PFC 使能) 11A0 046

TX Address Insertion Control(TX 地址插入控制) 1200 02A

TX Address Insertion MAC Address[31:0](TX 地址插入MAC 地址)

1201 010

TX Address Insertion MAC MAC Address[47:32](TX 地址插入 MAC 地址)

1202 011

TX Maximum Frame Length(TX 最大帧长度) 1801 02C

MAC RX 配置寄存器

继续...

4. 配置寄存器

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

50

寄存器名称(10-Gbps 以太网 MAC) 偏移

(10-Gbps 以太网 MAC)

偏移

(LL 以太网 10G MAC)

RX Transfer Control(RX 传输控制) 0000 0A0

RX Transfer Status(RX 传输控制) 0001 未使用

RX Pad/CRC Control(RX Pad/CRC 控制) 0040 0A4

RX CRC Check Control(RX CRC 查看控制 ) 0080 0A6

RX Overflow Truncated Packet Count[31:0](RX 上溢截断数据包计数)

00C0 0FC

RX Overflow Truncated Packet Count[35:32](RX 上溢截断数据包计数)

00C1 0FD

RX Overflow Dropped Packet Count[31:0](RX 上溢丢弃数据包计数)

00C2 0FE

RX Overflow Dropped Packet Count[35:32](RX 上溢丢弃数据包计数)

00C3 0FF

RX Preamble Forward Control(RX 前导码转发控制) 0100 0A8

RX Preamble Pass-Through Mode Control(RX 前导码直通模式控制)

0140 0AA

RX Frame Filtering Control(RX 帧过滤控制) 0800 0AC

RX Maximum Frame Length(RX 最大帧长度) 0801 0AE

RX Frame MAC Address[31:0](RX 帧 MAC 地址) 0802 010

RX Frame MAC Address[47:32](RX 帧 MAC 地址) 0803 011

RX Supplementary Address 0[31:0](RX 补充地址 0) 0804 0B0

RX Supplementary Address 0[47:32](RX 补充地址 0) 0805 0B1

RX Supplementary Address 1[31:0](RX 补充地址 1) 0806 0B2

RX Supplementary Address 1[47:32](RX 补充地址 1) 0807 0B3

RX Supplementary Address 2[31:0](RX 补充地址 2) 0808 0B4

RX Supplementary Address 2[47:32](RX 补充地址 2) 0809 0B5

RX Supplementary Address 3[31:0](RX 补充地址 3) 080A 0B6

RX Supplementary Address 3[47:32](RX 补充地址 3) 080B 0B7

RX PFC Control(RX PFC 控制) 0818 0C0

TX 时间戳寄存器

TX Period for 10G(10G 的 TX 周期) 1110 100

TX Fractional Nano-second Adjustment for(10G 的 TX 分数纳米秒调整)

1112 102

TX Nano-second Adjustment for 10G(10G 的 TX 纳米秒调整)

1113 104

TX Period for 10M/100M/1G(10M/100M/1G 的 TX 周期) 1118 108

TX Fractional Nano-second Adjustment for 10M/100M/1G/2.5G(10M/100M/1G/2.5G 的 TX 分数纳米秒调整)

111A 10A

继续...

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

51

寄存器名称(10-Gbps 以太网 MAC) 偏移

(10-Gbps 以太网 MAC)

偏移

(LL 以太网 10G MAC)

TX Nano-second Adjustment for 10M/100M/1G/2.5G(10M/100M/1G/2.5G 的 TX 纳米秒调整)

111B 10C

RX Time Stamp Registers(RX 时间戳寄存器)

RX Period for 10G(10G 的 RX 周期) 0110 120

RX Fractional Nano-second Adjustment for 10G(10G 的RX 分数纳米秒调整)

0112 122

RX Nano-second Adjustment for 10G(10G 的 RX 纳米秒调整)

0113 124

RX Period for 10M/100M/1G(10M/100M/1G 的 RX 周期) 0118 128

RX Fractional Nano-second Adjustment for 10M/100M/1G/2.5G(10M/100M/1G/2.5G 的 RX 分数纳米秒调整)

011A 12A

RX Nano-second Adjustment for 10M/100M/1G/2.5G(10M/100M/1G/2.5G 的 RX 纳米秒调整)

011B 12C

All TX Statistics Registers(全 TX 统计寄存器) 1Cxx 14x

All RX Statistics Registers(全 RX 统计寄存器) 0Cxx 1Cx

状态寄存器

ECC Error Status(ECC 错误状态) 不适用 240

ECC Error Enable(ECC 错误使能) 不适用 241

4.2. 寄存器访问

表 17. 寄存器访问类型

访问权限 定义

RO 只读。

RW 读和写。

RW1C 读,写和清零。用户应用写 1 到寄存器位以调用定义的指令。执行指令后,IP 核将位清零。

4.3. 主 MAC 地址

表 18. 主 MAC 地址

字偏移量 寄存器名称 说明 访问权限 HW(硬件)复位

0x0010 primary_mac_addr0 6-byte 主 MAC 地址。使能 MAC IP 核以进行操作前,通过非零值配置该寄存器。

按如下所示映射主 MAC 地址:

• primary_mac_addr0:地址中较低的四个字节。

• primary_mac_addr1[15:0]: 地址中较高的两个字节。

• primary_mac_addr1[31:16]: 保留。

示例

读写 0x0

0x0011 primary_mac_addr1

继续...

4. 配置寄存器

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

52

字偏移量 寄存器名称 说明 访问权限 HW(硬件)复位

如果主 MAC 地址为 00-1C-23-17-4A-CB,则将primary_mac_addr0 设置为 0x23174ACB 并将primary_mac_addr1 设置为 0x0000001C。用法

在发送中,MAC IP 核使用此地址来填充控制帧的源地址字段。对于来自客户端的数据帧,tx_src_addr_override 寄存器设置为 1 时,MACIP 核会用主 MAC 地址来替换源地址字段。

接收中,如果 rx_frame_control 寄存器的EN_ALLUCAST 位设置为 0,则 MAC IP 核会使用此地址来过滤单播帧。MAC IP 核会丢弃目的地址与主 MAC地址的值不同的帧。

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

53

4.4. MAC 复位控制寄存器

该寄存器仅用于 10G,1G/10G 和 10M/100M/1G/10G 操作模式。

表 19. MAC 复位控制寄存器

字偏移 寄存器名称 说明 访问权限 HW 复位值

0x001F0x08FF

mac_reset_control 用户应用可使用此寄存器中的指定位来复位 MAC 数据路径。其效果与置位 tx_rst_n or rx_rst_n 信号相同。

• Bit 0—TX 数据路径复位。

0:停止复位过程。

1:开始复位过程。

• Bits 7:1—保留。

• Bit 8—RX 数据路径复位。

0:停止复位处理。

1:开始复位过程。

• Bits 31:9—保留。

如果开启 Use legacy Ethernet 10G MAC AvalonMemory-Mapped interface,则字偏移为 0x08FF。否则,字偏移为 0x001F。

RW 0x0

4.5. TX_Configuration 和 Status 寄存器

表 20. TX 配置和状态寄存器

字偏移 寄存器名称 说明 访问权限 HW 复位值

0x0020 tx_packet_control • Bit 0—配置 TX 路径。

0:使能 TX 路径。

1:禁用 TX 路径。MAC IP 核通过置低avalon_st_tx_ready 信号来表示 Avalon-ST 发送数据接口的背压。禁用时,IP 核停止生成新的暂停和PFC 帧。

• Bits 31:1—保留。

可按需更改该寄存器的值。如果在发送帧时禁用 TX 路径,MAC IP 核会在禁用 TX 路径之前完成此发送。

RW 0x0

0x0022 tx_transfer_status MAC 设置下列位以显示 TX 数据路径的状态。

• Bits 7:0—保留。

• Bit 8:TX 数据路径状态。

0:TX 数据路径为空闲。

1:一个 TX 数据传输正在进行中。

• Bits 11:9—保留。

• Bit 12::数据路径复位状态。

0:TX 数据路径未复位。

1:TX 数据路径处于复位中。

RO 0x0

继续...

4. 配置寄存器

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

54

字偏移 寄存器名称 说明 访问权限 HW 复位值

0x0024 tx_pad_control • Bit 0—发送中的填充插入使能。

0:禁用填充插入。客户端必须确保数据帧长度符合IEEE 802.3 规范中所要求的最小长度。

1:使能填充插入。MAC IP 核将填充字节插入来自客户端的数据帧,从而符合 IEEE 802.3 规范所要求的最小长度。

使能填充插入时,必须将 tx_crc_control[]设置到 0x3 以使能 CRC 插入。

• Bits 31:1—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x1

0x0026 tx_crc_control • Bit 0—始终将此位设置为 1。

• Bit 1—配置 CRC 插入,

0:禁用 CRC 插入。客户端必须提供 CRC 字段以确保数据帧符合所要求的最小长度。

1:使能 CRC 插入。MAC IP 核计算 CRC 字段并将其插入数据帧。

• Bits 31:2—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x3

0x0028 tx_preamble_control (5) • Bit 0— 发送时配置前导码直通模式。

0:禁用前导码直通。MAC IP 内核将 IEEE 802.3 规范所指定的标准前导码插入数据帧。

1:使能前导码直通。MAC IP 核将客户端数据帧的首 8个字节定义为自定义前导码。

• Bits 31:1—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x0

0x002A tx_src_addr_override • Bit 0—配置源地址覆盖。

0:禁用源地址覆盖。客户必须使用有效地址填充源地址字段。

1:使能源地址覆盖。MAC IP 核使用tx_primary_mac_addr0 和tx_primary_mac_addr1 寄存器中指定的主 MAC地址覆盖数据帧中的源地址字段。

• Bits 31:1—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x0

0x002C tx_frame_maxlength • Bits 15:0—指定允许的最大帧长度。MAC IP 核仅使用此寄存器收集统计数据。在来自客户端的数据帧的长度超出该值时,MAC IP 核置位avalon_st_txstatus_error[1]信号以标记此帧过大。然后 MAC IP 核通过发送数据路径转发过大帧。

• Bits 31:16—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x5EE(1518)

0x002D tx_vlan_detection • Bit 0—TX VLAN 检测禁用。

0:MAC 检测 VLAN 和堆栈式 VLAN 帧。

1:MAC 不会检测 VLAN 和堆栈式 3VLAN 帧。接收时,MAC 将它们作为基础帧处理并将其标签视为载荷字节。

• Bits 31:1—保留。

RW 0x0

继续...

(5) 该寄存器仅在开启 Enable preamble pass-through mode 项时可用。未使用时被保留。

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

55

字偏移 寄存器名称 说明 访问权限 HW 复位值

0x002E0x081E

tx_ipg_10g • Bit 0—使用该位以指定 10 Gbps 操作速率的平均IPG。

0:将平均 IPG 设置为 8 字节。

1:将平均 IPG 设置为 12 字节。

• Bits 31:1—保留。

单向功能不支持 8 字节的平均 IPG。

如果开启 Use legacy Ethernet 10G MAC AvalonMemory-Mapped interface,字偏移为 0x081E。否则,字偏移为 0x002E。

RW 0x0

0x002F0x081F

tx_ipg_10M_100M_1G • Bits 3:0—使用这些位来指定 10 Mbps,100 Mbps 或1 Gbps 操作速度的平均 IPG。有效值介于 8 至 15 字节。

• Bits 31:4—保留。

如果开启 Use legacy Ethernet 10G MAC AvalonMemory-Mapped interface,则字偏移为 0x081F。否则,字偏移为 0x002F。

RW 0x0

0x003E tx_underflow_counter0 36-bit 错误计数器在 TX 缓冲器下溢持续时收集被截断的TX 帧数。

• tx_underflow_counter0:错误计数器的较低 32位。

• tx_underflow_counter1[3:0]:错误计数器的较高 4 位。

• tx_underflow_counter1[31:4]—保留。

要读取计数器,就从较低 32 位开始,然后是较高 4 位。读取后 IP 核清零计数器。

RO 0x0

0x003F tx_underflow_counter1

4.6. 流程控制寄存器

表 21. 流程控制寄存器

字偏移量 寄存器名称 说明 访问权限 HW 复位值

0x0040 tx_pauseframe_control • Bits 1:0—配置暂停帧的传输。

00:无暂停帧传输。

01:如果传输未被其他条件禁用,则会触发 XON 暂停帧的传输(暂停量 = 0)。

10:如果传输未被其他条件禁用,则会触发 XOFF 暂停帧的传输(暂停量 =tx_pauseframe_quanta 寄存器)。

11:保留。此设置不会触发任何操作。

• Bits 31:2—保留。

更改此自清零寄存器会影响下一个暂停帧的传输。

读写 0x0

0x0042 tx_pauseframe_quanta • Bits 15:0—暂停量以量子为单位,1 单位= 512 比特时。MAC IP 核生成 XOFF 暂停帧时会使用该值。一个具有量值 0 的 XOFF 暂停帧等效于 XON 帧。

• Bits 31:16—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

读写 0x0

0x0043 tx_pauseframe_holdoff_quanta

• Bits 15:0—以量(quanta)为单位指定 XOFF 暂停帧两次连续传输间的间隙,1 单位= 512 比特时。此间隙可阻止影响数据帧传输的暂停帧背对背传输。

• Bits 31:16—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

读写 0x1

继续...

4. 配置寄存器

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

56

字偏移量 寄存器名称 说明 访问权限 HW 复位值

0x0044 tx_pauseframe_enable • Bit 0—配置暂停帧的传输。该位影响寄存器和矢量设置的暂停帧请求。

0:禁用暂停帧发送。

1:使能暂停帧传输,如果 TX 路径被tx_packet_control 使能。

• Bits 2:1—指定暂停帧请求的触发。

00:仅接受矢量设置的暂停帧请求,avalon_st_pause_data。

01:仅接受寄存器设置的暂停帧请求,tx_pauseframe_control。

10 / 11:保留。

• Bits 31:3—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

读写 0x1

0x0046 tx_pfc_priority_enable (6) 使能 TX 数据路径上基于优先级的流程控制。

• Bits 7:0—设置位 n 使能优先列队 n 的基于优先级的流程控制。例如,设置tx_pfc_priority_enable[0]使能队列 0。

• Bits 31:8—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

读写 0x0

0x0048 pfc_pause_quanta_0 (6) 为每个优先列队指定暂停量。

• Bits 15:0—pfc_pause_quanta_n[15:0]指定量单位中优先列队 n 的暂停长度,其中 1 单位 =512 比特时。

• Bits 31:16—保留。

先配置这些寄存器,然后启用 MAC IP 核操作。

读写 0x0

0x0049 pfc_pause_quanta_1 (6)

0x004A pfc_pause_quanta_2 (6)

0x004B pfc_pause_quanta_3 (6)

0x004C pfc_pause_quanta_4 (6)

0x004D pfc_pause_quanta_5 (6)

0x004E pfc_pause_quanta_6 (6)

0x004F pfc_pause_quanta_7 (6)

0x0058 pfc_holdoff_quanta_0 (6) 以量为单位指定 XOFF 暂停帧两次连续传输间的间隙,1单位= 512 比特时。此间隙可阻止影响数据帧传输的暂停帧背对背传输。

• Bits 15:0— pfc_holdoff_quanta_n[15:0]指定优先列队 n 的间隙。

• Bits 31:16—保留。

先配置这些寄存器,然后启用 MAC IP 核操作。

读写 0x1

0x0059 pfc_holdoff_quanta_1 (6)

0x005A pfc_holdoff_quanta_2 (6)

0x005B pfc_holdoff_quanta_3 (6)

0x005C pfc_holdoff_quanta_4 (6)

0x005D pfc_holdoff_quanta_5 (6)

0x005E pfc_holdoff_quanta_6 (6)

0x005F pfc_holdoff_quanta_7 (6)

(6) 仅在开启 Enable preamble pass-through mode 项时使用该寄存器。未使用时就被保留。

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

57

4.7. 单向控制寄存器

表 22. 单向控制寄存器

字偏移量 寄存器名称 说明 访问权限 HW 复位值

0x0070 tx_unidir_control (7) • Bit 0—配置 TX 路径上的单向功能。

0:禁用单向功能。

1: 启用单向功能。

• Bit 1—TX 路径上使能单向功能后,配置远程故障排序生成。

0:使能检测局部故障的远程故障排序生成。

1: 禁用远程故障序列生成。

• Bit 2—TX 路径上使能单向功能时,配置用户触发的远程故障提示。

0:默认设置。

1:IP 核持续发送远程故障提示直至该位被清零。

• Bits 31:3—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

读写 0x0

4.8. RX 配置和状态寄存器

表 23. RX 配置和状态寄存器

字偏移 寄存器名称 说明 访问权限 HW 复位值

0x00A0 rx_transfer_control • Bit 0—RX 路径使能。

0:使能 RX 路径。

1:禁用 RX 路径。MAC IP 核丢弃全部传入帧。

• Bits 31:1—保留。

更改该寄存器中的值会影响数据包边界。但不会影响正在进行中的传输。

RW 0x0

0x00A2 rx_transfer_status MAC 设置下列位以显示 RX 数据路径的状态。

• Bits 7:0—保留。

• Bit 8:RX 数据路径状态。

0:RX 数据路径空闲。

1:RX 数据传输正在进行中。

• Bits 11:9—保留。

• Bit 12:RX 数据路径复位状态。

0:RX 数据路径未处于复位中。

1:RX 数据路径处于复位中。

RO 0x0

0x00A4 rx_padcrc_control • Bits [1:0]—接收中的填充和 CRC 移除。

00:保留填充字节和 CRC 字段,并将其转发至客户端。

01:仅保持填充字节。MAC IP 内核在转发 RX 帧前到客户端之前会先移除 CRC 字段。

11:将 RX 转发至客户端之前,先移除填充字节和CRC 字段。

10:保留。

• Bits 31:2—保留。

RW 0x1

继续...

(7) 开启 Enable preamble pass-through mode 项时该寄存器可用。未使用时被保留。

4. 配置寄存器

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

58

字偏移 寄存器名称 说明 访问权限 HW 复位值

先配置该寄存器,然后使能用于操作的 MAC IP 核。

0x00A6 rx_crccheck_control 接收中的 CRC 检查。

• Bit 0—始终将该位设置为 0。

• Bit 1—CRC 检查使能。

0:忽略此 CRC 字段。

1:检查 CRC 字段并向avalon_st_rx_error[1]和avalon_st_rxstatus_error 报告状态。

• Bits 31:2—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x2

0x00A8 rx_custom_preamble_forward (8)

• Bit 0—将自定义前导码转发配置到客户端。

0:从 RX 帧中移除自定义前导码。

1:保留并将自定义前导码转发到客户端。

• Bits 31:1—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x0

0x00AA rx_preamble_control (8) • Bit 0—使能接收中的前导码直通。

0:禁用前导码直通。MAC IP 核在数据包解封处理期间查看 START 和 SFD。

1:使能前导码直通。MAC IP 核在解封装处理期间仅查看 START。

• Bits 31:1—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x0

0x00AC rx_frame_control 先配置该寄存器,然后使能用于操作的 MAC IP 核。 RW 0x3

Bit 0—EN_ALLUCAST

0:使用主 MAC 地址过滤 RX 单播帧。除具有主 MAC 地址的单播帧,MAC IP 内核丢弃带有目地地址的单播帧。

1:接受所有 RX 单播帧。

将该位和 EN_ALLMCAST 设置为 1 等效于将 MAC IP 内核置于混杂模式。

Bit 1—EN_ALLMCAST

0:丢弃所有 RX 多播帧。

1:接受所有 RX 多播帧。

将该位和 EN_ALLUCAST 位设置为 1 等效于将 MAC IP内核置于混杂模式。

Bit 2—保留。

Bit 3—FWD_CONTROL。开启 Priority-based FlowControl 参数时, 除了 IEEE 802.3 暂停帧和基于优先级的控制帧,该位将影响其他所有控制帧。当 Priority-based Flow Control 参数未被使能时,除 IEEE802.3 暂停帧外,该位会影响所有控制帧。

0:丢弃控制帧。

1:将控制帧转发至客户端。

Bit 4—FWD_PAUSE

0:丢弃暂停帧。

1:将暂停帧转发至客户端。

继续...

(8) 仅在开启 Enable preamble pass-through mode 项时使用该寄存器。未使用时就被保留。

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

59

字偏移 寄存器名称 说明 访问权限 HW 复位值

Bit 5—IGNORE_PAUSE

0:处理暂停帧。

1:忽略暂停帧。

Bits 15:6—保留。

0x00AC rx_frame_control Bit 16—EN_SUPP0

0:禁用补充地址 0。

1:使能补充地址 0。

RW 0x3

Bit 17—EN_SUPP1

0:禁用补充地址 1。

1:使能补充地址 1。

Bit 18—EN_SUPP2

0:禁用补充地址 2。

1:使能补充地址 2。

Bit 19—EN_SUPP3

0:禁用补充地址 3。

1:使能补充地址 3。

Bits 31:20—保留。

0x00AE rx_frame_maxlength • Bits 15:0—指定允许的最大帧长度。当 RX 帧长度超出该寄存器中的指定值时,MAC 置位avalon_st_rx_error[3]信号。

• Bits 16:31—保留。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 1518

0x00AF rx_vlan_detection • Bit 0—RX VLAN 检测禁用。

0:MAC 检测 VLAN 和堆栈式 VLAN 帧。

1:MAC 不会检测 VLAN 和堆栈式 VLAN 帧。接收时,MAC 将它们作为基础帧处理并将其标签视为载荷字节。

• Bits 31:1—保留。

RW 0x0

0x00B0 rx_frame_spaddr0_0 可指定多达四个 6-byte 补充地址:

• rx_framedecoder_spaddr0_0/1

• rx_framedecoder_spaddr1_0/1

• rx_framedecoder_spaddr2_0/1

• rx_framedecoder_spaddr3_0/1

先配置补充地址,然后使能 MAC RX 数据路径。以与主MAC 地址相同的方式,将补充地址映射到各个寄存器中。请参阅关于 primary_mac_addr0 和primary_mac__addr1 的说明。设置下列条件后,MAC IP 核使用补充地址过滤单播帧:

• 使用 rx_frame_control 寄存器中的各个位使能补充地址的用途。

• 将 rx_frame_control 寄存器的en_allucast 位设置为 0。

RW 0x0

0x00B1 rx_frame_spaddr0_1

0x00B2 rx_frame_spaddr1_0

0x00B3 rx_frame_spaddr1_1

0x00B4 rx_frame_spaddr2_0

0x00B5 rx_frame_spaddr2_1

0x00B6 rx_frame_spaddr3_0

0x00B7 rx_frame_spaddr3_1

继续...

4. 配置寄存器

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

60

字偏移 寄存器名称 说明 访问权限 HW 复位值

0x00C0 rx_pfc_control (9) • Bits 7:0—使能 RX 数据路径上基于优先级的流程控制。。将位 n 设置为 0 以使能优先级列队 n 的基于优先级的流程控制。例如,将rx_pfc_control[0]设置为 0 使能列队 0。

• Bits 15:9—保留。

• Bit 16—配置给基于优先级的控制帧到客户帧的转发。

0:丢弃控制帧。

1:将控制帧转发至客户端。

• Bits 31:17—保留。

先配置该寄存器,然后使能用于配置的 MAC IP 核。

RW 0x1

0x00FC rx_pktovrflow_error 36-bit 错误计数器收集 FIFO 缓冲器持续上溢时被截断的RX 帧数:

• 0x00FC =错误计数器的较低 32 位。

• 0x00FD =错误计数器的较高 4 个位占据位[3:0]。位[31:4]未使用。

读取计数器时,先读取较低 32 位,接着读取较高 4 个位。读取后,IP 核将计数器清零。

RO 0x0

0x00FD

0x00FE rx_pktovrflow_etherStatsDropEvents

36-bit 错误计数器收集 FIFO 缓冲器持续上溢时被截断的RX 帧数:

• 0x00FE =错误计数器的较低 32 位。

• 0x00FF =错误计数器的较高 4 个位占据位[3:0]。位[31:4]未使用。

读取计数器时,先读取较低 32 位,接着读取较高 4 个位。读取后,IP 核将计数器清零。

RO 0x0

0x00FF

相关链接

• 长度检查 (第 33 页)

• 统计寄存器 (第 66 页)

(9) 仅在开启 Enable preamble pass-through mode 项时使用该寄存器。未使用时就被保留。

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

61

4.9. 时间戳寄存器

开启 Enable time stamping 参数时,TX 和 RX 时间戳寄存器可用,否则这些寄存器被保留。

表 24. 时间戳寄存器

字偏移 寄存器名称 说明 访问权限 HW 复位值

0x0100 tx_period_10G 为 10G 操作数据路径上的时间戳调整指定时钟周期。MAC IP 核将该寄存器的值与分割实际时间戳和 XGMII总线的级数相乘。

• Bits 15:0—周期(以小数纳秒为单位)。

• Bits 19:16—周期(以纳秒为单位)。

• Bits 31:20—保留。将这些位设置为 0。

312.5 MHz 时钟的默认值为 3.2 ns。先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x33333

0x0120 rx_period_10G

0x0102 tx_fns_adjustment_10G 10G 操作数据路径上以小数纳秒为单位的静态时序调整。

• Bits 15:0—以小数纳秒为单位的调整周期。

• Bits 31:16—保留。将这些位设置为 0。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x0

0x0122 rx_fns_adjustment_10G

0x0104 tx_ns_adjustment_10G 10G 操作数据路径上以纳秒为单位的静态时序调整。

• Bits 15:0—以纳秒为单位的调整周期。

• Bits 31:16—保留。将这些位设置为 0。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x0

0x0124 rx_ns_adjustment_10G

0x0108 tx_period_mult_speed 为 10M/100M/1G 操作数据路径上的时间戳调整指定时钟周期。MAC IP 核将该寄存器的值与分割实际时间戳和 GMII/MII 总线的级数相乘。

• Bits 15:0—周期(以小数纳秒为单位)。

• Bits 19:16—周期(以纳秒为单位)。

• Bits 31:20—保留。将这些位设置为 0。

125 MHz 时钟的默认值为 8 ns。先配置该寄存器,然后使能用于操作的 MAC IP 核。

IP 核自动设置 1G/2.5G 配置的时钟周期。对于 1G 配置,62.5 MHz 时钟的时钟周期设置为 16;对于 2.5G配置,156.25 MHz 时钟的时钟周期设置为 6.4 ns。

RW 0x80000

0x0128 rx_period_mult_speed

0x10A tx_fns_adjustment_mult_speed

10M/100M/1G/2.5G 操作数据路径上以小数纳秒为单位的静态时序调整。

• Bits 15:0—以小数纳秒为单位的调整周期。

• Bits 31:16—保留。将这些位设置为 0。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x0

0x12A rx_fns_adjustment_mult_speed

0x10C tx_ns_adjustment_mult_speed 10M/100M/1G/2.5G 操作数据路径上以纳秒为单位的静态时序调整。

• Bits 15:0—以纳秒为单位的调整周期。

• Bits 31:16—保留。将这些位设置为 0。

先配置该寄存器,然后使能用于操作的 MAC IP 核。

RW 0x0

0x12C rx_ns_adjustment_mult_speed

0x110 tx_asymmetry 指定运算操作的不对称值和方向。

• Bits 16:0—不对称值。

• Bit 17—方向。

— 设置为 0—将不对称值与 CF 相加。

— 设置为 1—从 CF 减去不对称值。

• Bit 18—使能位。

RW 0x0

4. 配置寄存器

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

62

4.9.1. 计算时序调整

可从硬件 PMA 延迟中导出以 ns 和 fns 为单位的所需时序调整。

表 25. 硬件 PMA 延迟

类型 器件 PMA 模式(比特)

延迟 MAC 配置

TX RX

数字(10) Arria V GZStratix V

40 123 UI 87 UI 10GbE10G 10M-10GbE

32 99 UI 84 UI 10GbE

10 53 UI 26 UI 1G/100M/10M 10M-10GbE

Arria VGX/GT/SX/ST

10 42 UI 44 UI 1G/2.5GbE

Arria 10 40 147 UI 66.5 UI 10GbE10G 10M-10GbE

32 123 UI 58.5 UI 10GbE10G 10M-10GbE

10 43 UI 24.5 UI 1G/100M/10M 10M-10GbE1G/2.5GbE

模拟(11) Arria V

— -1.1 ns 1.75 ns 全部Stratix V

Arria 10

下列实例显示了针对 Stratix V 器件 10M – 10GbE 设计所需的计算。

表 26. 实例:计算 Stratix V 器件中 10M – 10GbE 设计的 RX 时序调整

步骤 说明 10G 10M,100M 或 1G

1 识别器件的数字延迟。 对于使用 40 比特 PMA 模式的 Stratix V,数字延迟是 87 UI。

对于使用 10 比特 PMA 模式的 Stratix V,数字延迟是 26 UI。

2 将数字延迟从 UI 转换成ns。

87 UI * 0.097 = 8.439 ns 26 UI * 0.8 = 20.8 ns

3 将模拟延迟与以 ns 为单位的数字延迟相加。

8.439 ns + 1.75 ns = 10.189 ns 20.8 ns + 1.75 ns = 22.55 ns

4 将任意外部 PHY 延迟与步骤 3 中所得总和相加。此实例中,假设外部 PHY 延迟为 1 ns。

10.189 ns + 1 ns = 11.189 ns 22.55 ns + 1 ns = 23.55 ns

5 将总延迟转换成十六进制 ns和 fns。

ns: 0xBfns: 0.189 * 65536 = 0x3062

ns: 0x17fns: 0.55 * 65536 = 0x8CCC

6 配置相应寄存器。 rx_ns_adjustment_10G = 0xBrx_fns_adjustment_10G = 0x3062

rx_ns_adjustment_mult_speed =0x17

继续...

(10) 对于 10G, 1 UI 是 97 ps。对于 2.5G,1 UI 是 320 ps。对于 10M/100M/1G,1 UI 是 800 ps。

(11) 适用于使用外设时钟的 HSSI 时钟路由。其他时钟方案可能导致几 ns 的偏差。

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

63

4.10. ECC 寄存器

开启 Enable ECC on memory blocks 后使用 ECC 寄存器。未使用时被保留。

表 27. ECC 寄存器

字偏移 寄存器名称 说明 访问权限 Hw 复位值

0x02400x0820

ecc_status • Bit 0—值'1'表示检测并校正了 ECC 错误。用户应用必须在该位写 1 以将其清零。

• Bit 1—值'1'表示检测到 ECC 错误但未校正。用户应用必须在该位写 1 以将其清零。

• 位 31:2 — 保留。

如果开启 Use legacy Ethernet 10G MAC AvalonMemory-Mapped interface,字偏移为 0x0820。否则,字偏移为 0x0240。

RWC 0X0

0x02410x0821

ecc_enable • Bit 0—指定如何报告被检测及校正的 ECC 错误。

0:仅由 ecc_status[0]寄存器位报告。

1:由 ecc_status[0]寄存器位和ecc_err_det_corr 信号报告。

• Bit 1—指定如何报告被检测及未校正的 ECC 错误。

0:仅由 ecc_status[0]寄存器位报告。

1:由 ecc_status[0]寄存器位和ecc_err_det_corr 信号报告。

• 位 31:2 — 保留。

如果开启 Use legacy Ethernet 10G MAC AvalonMemory-Mapped interface,字偏移为 0x0821。否则,字偏移为 0x0241。

读写 0x0

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

65

4.11. 统计寄存器

带有前缀 tx_的统计计数器收集 TX 数据路径上的统计数据;带有前缀 rx_的统计计数器收集 RX数据路径上的统计数据。计数器收集下列帧的统计数据:

• 良好帧 — 具有有效帧长度的无错误帧。

• 错误帧 — 包含错误的帧或具有无效帧长度的帧。

• 无效帧—MAC IP 核或其当前配置不支持的帧。例如,若配置 MAC 接收所有单播帧,则认为单播帧有效,由于地址过滤被禁用。MAC 丢弃无效帧。

大多数统计计数器为 36 比特宽并占据 2 个偏移量。用户应用程序必须首先读取较低 32 位,接着再读取较高 4 位。

• 较低 32 位的计数器会占用第一个偏移。

• 较高 4 位的计数器会占用第二个偏移的位 3:0。

• 第二个偏移处的位 31:5 处于保留状态。

使用统计计数器时,考量下列指导原则:

• MAC IP 核接收或发送背对背过小帧时,基于存储器的统计计数器可能不准确。TX 数据路径上,可使能 padding 以避免这种情况。过小帧是小于 64 字节的帧。

• 当 TX 和 RX 数据路径正在复位时,不要访问统计计数器。否则将导致无法预知的后果。

表 28. TX 和 RX 统计寄存器

字偏移量 寄存器名称 说明 访问权限

HW 复位值

0x0140 tx_stats_clr • Bit 0—将此寄存器设置为 1 以清零所有 TX统计计数器。所有计数器被清零后,IP 核清零该位。

• Bits 31:1—保留。

RWC 0x0

0x01C0 rx_stats_clr • Bit 0—将此寄存器设置为 1 以清零所有RX 统计计数器。所有计数器被清零后,IP核清零该位。

• Bits 31:1—保留。

RWC 0x0

0x0142 tx_stats_framesOK 36-bit 统计计数器,收集成功接收或发送的帧数目,包括控制帧。

RO 0x0

0x0143

0x01C2 rx_stats_framesOK

0x01C3

0x0144 tx_stats_framesErr 36-bit 统计计数器,收集接收或发送的错误帧的数目,包括控制帧。

RO 0x0

0x0145

0x01C4 rx_stats_framesErr

0x01C5

0x01C6 rx_stats_framesCRCErr 36-bit 统计计数器,收集具有 CRC 错误的 RX帧的数目。

RO 0x0

0x01C7

0x0148 tx_stats_octetsOK 64-bit 统计计数器,收集负载长度,包括控制帧中的字节。载荷长度是被接收或被发送的数据和填充字节的数目。如果

RO 0X0

继续...

4. 配置寄存器

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

66

字偏移量 寄存器名称 说明 访问权限

HW 复位值

0X0149 tx_vlan_detection[0]或rx_vlan_detection[0]寄存器位被设置为 1,则 VLAN 和堆栈式 VLAN 标签分别计作TX 载荷或 RX 载荷的一部分。

0x01C8 rx_stats_octetsOK

0x01C9

0x014A tx_stats_pauseMACCtrl_Frames 36-bit 统计计数器,收集接收或发送的有效暂停帧的数目。

RO 0x0

0x014B

0x01CA rx_stats_pauseMACCtrl_Frames

0x01CB

0x014C tx_stats_ifErrors 36-bit 统计计数器,收集接收或发送的无效帧以及有错误的帧的数目。

RO 0X0

0x014D

0x01CC rx_stats_ifErrors

0x01CD

0x014E tx_stats_unicast_FramesOK 36-bit 统计计数器,收集接收或发送的良好的单播帧数量,不包括控制帧。

RO 0X0

0x014F

0x01CE rx_stats_unicast_FramesOK

0x01CF

0X0150 tx_stats_unicast_FramesErr 36-bit 统计计数器,收集接收或发送的具有错误的单播帧数量,不包括控制帧。

RO 0X0

0X0151

0x01D0 rx_stats_unicast_FramesErr

0x01D1

0X0152 tx_stats_multicast_FramesOK 36-bit 统计计数器,收集接收或发送的良好的组播帧数量,不包括控制帧。

RO 0X0

0X0153

0x01D2 rx_stats_multicast_FramesOK

0x01D3

0x0154 tx_stats_multicast_FramesErr 36-bit 统计计数器,收集接收或发送的有错误的组播帧数量,不包括控制帧。

RO 0x0

0x0155

0x01D4 rx_stats_multicast_FramesErr

0x01D5

0x0156 tx_stats_broadcast_FramesOK 36-bit 统计计数器,收集接收或发送的良好的广播帧数量,不包括控制帧。

RO 0x0

0x0157

0x01D6 rx_stats_broadcast_FramesOK

0x01D7

0X0158 tx_stats_broadcast_FramesErr 36-bit 统计计数器,收集接收或发送的具有错误的广播帧数量,不包括控制帧。

RO 0x0

0x0159

0x01D8 rx_stats_broadcast_FramesErr

0x01D9

继续...

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

67

字偏移量 寄存器名称 说明 访问权限

HW 复位值

0x015A tx_stats_etherStatsOctets 64-bit 统计计数器,收集接收或发送的八位字节(octets)的总数目。该计数包括良好,错误的以及无效帧。

RO 0x0

0x015B

0x01DA rx_stats_etherStatsOctets

0x01DB

0x015C tx_stats_etherStatsPkts 36-bit 统计计数器,收集接收或发送的良好帧、出错帧和无效帧的总数量。

RO 0X0

0x015D

0x01DC rx_stats_etherStatsPkts

0x01DD

0x015E tx_stats_etherStatsUndersizePkts 36-bit 统计计数器,收集过小 TX 或 RX 帧的数量。

RO 0x0

0x015F

0x01DE rx_stats_etherStatsUndersizePkts

0x01DF

0x0160 tx_stats_etherStatsOversizePkts 36-bit 统计计数器,收集其长度超过指定最大帧长度的 TX 或 RX 帧的数量。

RO 0x0

0x0161

0x01E0 rx_stats_etherStatsOversizePkts

0x01E1

0x0162 tx_stats_etherStatsPkts64Octets 36-bit 统计计数器,收集 64-byte TX 或 RX帧的数量,包括 CRC 字段,但不包括前导码和SFD 字节。该计数包括良好的,有错误的以及无效帧。

RO 0x0

0x0163

0x01E2 rx_stats_etherStatsPkts64Octets

0x01E3

0x0164 tx_stats_etherStatsPkts65to127Octets 36-bit 统计计数器,收集长度介于 65 至 127-byte 的 TX 或 RX 帧的数量,包括 CRC 字段,但不包括前导码和 SFD 字节。该计数包括良好的,有错误的以及无效帧。

RO 0x0

0x0165

0x01E4 rx_stats_etherStatsPkts65to127Octets

0x01E5

0x0166 tx_stats_etherStatsPkts128to255Octets 36-bit 统计计数器,收集长度介于 128 至255-byte 的 TX 或 RX 帧的数量,包括 CRC字段,但不包括前导码和 SFD 字节。该计数包括良好的,有错误的以及无效帧。

RO 0x0

0x0167

0x01E6 rx_stats_etherStatsPkts128to255Octets

0x01E7

0x0168 tx_stats_etherStatsPkts256to511Octets 36-bit 统计计数器,收集长度介于 256 至511-byte 的 TX 或 RX 帧的数量,包括 CRC字段,但不包括前导码和 SFD 字节。该计数包括良好的,有错误的以及无效帧。

RO 0X0

0x0169

0x01E8 rx_stats_etherStatsPkts256to511Octets

0x01E9

0x016A tx_stats_etherStatsPkts512to1023Octets

36-bit 统计计数器,收集长度介于 512 至1,023-byte 的 TX 或 RX 帧的数量,包括CRC 字段,但不包括前导码和 SFD 字节。该计数包括良好的,有错误的以及无效帧。

RO 0x0

0x016B

0x01EA rx_stats_etherStatsPkts512to1023Octets

继续...

4. 配置寄存器

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

68

字偏移量 寄存器名称 说明 访问权限

HW 复位值

0x01EB

0x016C tx_stats_etherStatPkts1024to1518Octets

36-bit 统计计数器,收集长度介于 1,024 至1,518-byte 的 TX 或 RX 帧的数量,包括CRC 字段,但不包括前导码和 SFD 字节。该计数包括良好的,有错误的以及无效帧。

RO 0X0

0x016D

0x01EC rx_stats_etherStatPkts1024to1518Octets

0x01ED

0x016E tx_stats_etherStatsPkts1519toXOctets 36-bit 统计计数器,收集长度介于大于或等于1,519-byte 的 TX 或 RX 帧的数量,包括CRC 字段,但不包括前导码和 SFD 字节。该计数包括良好的,有错误的以及无效帧。

RO 0x0

0x016F

0x01EE rx_stats_etherStatsPkts1519toXOctets

0x01EF

0x01F0 rx_stats_etherStatsFragments 36-bit 统计计数器,收集长度小于 64 字节以及具有 CRC 错误的 RX 帧的总数量。

RO 0x0

0x01F1

0x01F2 rx_stats_etherStatsJabbers 36-bit 统计计数器,收集超大以及具有 CRC错误的 RX 帧的数量。

RO 0x0

0x01F3

0x01F4 rx_stats_etherStatsCRCErr 36-bit 统计计数器,收集其长度在 64 和寄存器中所指定最大帧长度之间且具有 CRC 错误的RX 帧的数量。MAC 不会丢弃这些帧。

RO 0x0

0x01F5

0x0176 tx_stats_unicastMACCtrlFrames 36-bit 统计计数器,收集有效 TX 或 RX 单播控制帧的数量。

RO 0x0

0x0177

0x01F6 rx_stats_unicastMACCtrlFrames

0x01F7

0x0178 tx_stats_multicastMACCtrlFrames 36-bit 统计计数器,收集有效 TX 或 RX 组播控制帧的数量。

RO 0x0

0x0179

0x01F8 rx_stats_multicastMACCtrlFrames

0x01F9

0x017A tx_stats_broadcastMACCtrlFrames 36-bit 统计计数器,收集有效 TX 或 RX 广播控制帧的数量。

RO 0x0

0x017B

0x01FA rx_stats_broadcastMACCtrlFrames

0x01FB

0x017C tx_stats_PFCMACCtrlFrames 36-bit 统计计数器,收集有效 TX 或 RX PFC帧的数量。

RO 0x0

0x017D

0x01FC rx_stats_PFCMACCtrlFrames

0x01FD

4. 配置寄存器

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

69

5. 接口信号

相关链接

接口 (第 21 页)接口和信号概述

5.1. 时钟和复位信号

LL 以太网 10G MAC IP 核运行于多个时钟域。可使用各种源来驱动时钟和复位域。也可使用每个信号说明中所指定的相同时钟源。

表 29. 时钟和复位信号

信号 操作模式 方向 宽度 说明

tx_312_5_clk 10G,1G/10G,1G/2.5G/10G,10M/100M/1G/10G

输入 1 Enable 10GBASE-R register mode 禁用时,MAC TX 数据路径的 312.5-MHz 时钟。该时钟和 rx_312_5_clk 可使用相同的时钟源。

tx_xcvr_clk 10G 输入 1 Enable 10GBASE-R register mode 使能时,MAC TX 数据路径的 322.265625-MHz 时钟。

tx_156_25_clk 10G, 1G/10G,1G/2.5G/10G, 10M/100M/1G/10G

输入 1 选择保持与 Avalon-ST TX 数据接口或 XGMII 上64-bit 以太网 10G MAC 的兼容性时,MAC TX数据路径的 156.25-MHz 时钟。使能 Enable10GBASE-R register mode 时,该功能不可用。

Intel 建议该时钟和 tx_312_5_clk 共享相同时钟源。该时钟必须与 tx_312_5_clk 同步。它们的上升沿必须对齐且必须具有 0 ppm 和相移。

1G/2.5G 输入 1 Avalon-ST TX 数据接口的 156.25-MHz 时钟。

tx_rst_n 全部 输入 1 tx_312_5_clk 时钟域中的有效低电平异步复位用于 MAC TX 数据路。

请参阅相关信息了解复位要求。

rx_312_5_clk 10G, 1G/10G,1G/2.5G/10G,10M/100M/1G/10G

输入 1 Enable 10GBASE-R register mode 禁用时,MAC RX 数据路径的 312.5-MHz 时钟。该时钟和 tx_312_5_clk 可使用相同的时钟源。

rx_xcvr_clk 10G 输入 1 Enable 10GBASE-R register mode 使能时,MAC RX 数据路径的 322.265625-MHz 时钟。

rx_156_25_clk 10G, 1G/10G,1G/2.5G/10G,10M/100M/1G/10G

输入 1 选择保持与 Avalon-ST RX 数据接口或 XGMII 上64-bit 以太网 10G MAC 的兼容性时,MAC RX数据路径的 156.25-MHz 时钟。Enable10GBASE-R register mode 使能时,该功能不可用。

继续...

UG-01144 | 2016.10.31

反馈

Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/orother countries. Intel warrants performance of its FPGA and semiconductor products to current specifications inaccordance with Intel's standard warranty, but reserves the right to make changes to any products and servicesat any time without notice. Intel assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Intel. Intelcustomers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

信号 操作模式 方向 宽度 说明

Intel 建议该时钟与 rx_312_5_clk 使用相同的时钟源。盖世中必须与 rx_312_5_clk 同步。它们的上升沿必须对齐且必须具有 0 ppm 和位移。

1G/2.5G 输入 1 Avalon-ST RX 数据接口的 156.25-MHz 时钟。

rx_rst_n 全部 输入 1 Active-low reset in the rx_312_5_clk 时钟域中的有效低电平复位用于 MAC RX 数据路径。

请参阅相关信息了解复位要求。

csr_clk 10G, 1G/10G,1G/2.5G/10G,10M/100M/1G/10G

输入 1 用于 Avalon-MM 控制和状态接口的时钟。Intel建议该时钟在 125 - 156.25 MHz 间运行。较低频率可能导致统计数据不准确,尤其是在使用基于寄存器的统计计数器时。

1G/2.5G 输入 1 Avalon-MM 控制和状态接口的 125-MHz 时钟。

csr_rst_n 全部 输入 1 用于 csr_clk 域的有效低电平异步复位信号。该信号可充当 MAC IP 核的全局复位信号。

请参阅相关信息了解复位要求。

相关链接

• 复位要求 (第 39 页)

• Avalon -ST 数据接口时钟 (第 74 页)

• IEEE 1588v2 接口时钟 (第 88 页)

5.2. 速度选择信号

表 30. 速度选择信号

信号 操作模式 方向 宽度 说明

speed_sel 10G, 1G/10G,10M/100M/1G/10G

输入 2 将此异步信号连接到 PHY 以获得 PHY 的速度:

• 0x0 = 10 Gbps• 0x1 = 1 Gbps• 0x2 = 100 Mbps• 0x3 = 10 Mbps• 0x4 = 2.5 Gbps• 0x5 = 5 Gbps走线速率变化时,通过置位这些有效低电平复位信号,tx_rst_n 和 rx_rst_n,触发 TX 和 RX数据路径上的复位。

1G/2.5G, 1G/2.5G/10G, 1G/2.5G/5G/10G

(USXGMII)

输入 3

5. 接口信号

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

71

5.3. 纠错信号

纠错信号仅在开启 ECC 选项后才会出现。

表 31. 纠错信号

信号 方向 宽度 说明

ecc_err_det_corr 输出 1 MAC IP 核可使用 ecc_status 寄存器,或既使用该寄存器也使用此信号来显示所检测到和已纠正的 ECC 错误。

此信号表示 ecc_enable[0]寄存器位设置为 1 时,ecc_status[0]寄存器位的状态。ecc_enable[0]寄存器设置为 1 时,该信号为 0。

ecc_err_det_uncorr 输出 1 MAC IP 核可使用 ecc_status 寄存器,或既使用该寄存器也使用此信号来显示所检测到和已纠正的 ECC 错误。

此信号表示 ecc_enable[1]寄存器位设置为 1 时,ecc_status[1]寄存器位的状态。ecc_enable[1]寄存器设置为 1 时,该信号为 0。

5.4. 单向信号

开启 Unidirectional feature 选项时,会显现下列信号。该性能仅用于如下操作模式:10G,1G/10G,1G/2.5G/10G,和 10M/100M/1G/10G。

表 32. 单向信号

信号 方向 宽度 说明

unidirectional_en 输出 1 置位后,此信号显示 tx_unidir_control 寄存器位 0的状态。

unidirectional_remote_fault_dis

输出 1 置位后,此信号显示 tx_unidir_control 寄存器位 1的状态。

5.5. Avalon -MM 编程信号

表 33. Avalon -MM 编程信号

信号 方向 宽度 说明

csr_address[] 输入 10 使用此总线指定待读取或写入的寄存器地址。

csr_read 输入 1 置位此信号,以请求读取。

csr_readdata[] 输出 32 从指定寄存器读取的数据。置低 csr_waitrequest 信号时,该信号有效。

csr_write 输入 1 置位此信号,以请求写入。

csr_writedata[] 输入 32 待写入指定寄存器的数据。置低 csr_waitrequest 信号时,写入该数据。

csr_waitrequest 输出 1 置位后,此信号显示 MAC IP 核处于忙状态,无法接受任何读或写请求。

• 请求一个读或写操作后,持续保留到 Avalon -MM 接口的控制信号,直到请求完成且该信号被置低。

• 该信号在空闲周期和复位中可能为高电平或低电平。因此,用户应用在此期间肯定不能对其置位状态做任何假设。

5. 接口信号

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

72

5.6. Avalon -ST 数据接口

5.6.1. Avalon -ST TX 数据接口信号

表 34. Avalon -ST TX 数据接口信号

信号 方向 宽度 说明

avalon_st_tx_startofpacket

输入 1 置位此信号以显示 TX 数据开始。

avalon_st_tx_endofpacket

输入 1 置位此信号以显示 TX 数据开始。

avalon_st_tx_valid 输入 1 置位该信号以表示 avalon_st_tx_data[]信号及接口上其他信号有效。

avalon_st_tx_ready 输出 1 置位后,表示 MAC IP 核已准备接受数据。不可确定该信号的复位值。

avalon_st_tx_error 输入 1 置位此信号,以指示当前 TX 包有错误。

avalon_st_tx_data[] 输入 32 来自客户端的 TX 数据。客户端按如下顺序将 TX 数据发送至 MAC IP核:avalon_st_tx_data[31:24],avalon_st_tx_data[23:16],以此类推.

avalon_st_tx_empty[] 输入 2 × 3 使用该信号指定周期中包含 TX 数据结束的空字节的数目。

• 0x0:所有字节有效。

• 0x1:最后一个字节无效。

• 0x2:最后两个字节无效。

• 0x3:最后三个字节无效。

使能 Use 64-bit Ethernet 10G MAC Avalon StreamingInterface 选项时,宽度为 3-bit。否则,为 2-bit。

5.6.2. Avalon -ST RX 数据接口信号

表 35. Avalon -ST RX 数据接口信号

信号 方向 宽度 说明

avalon_st_rx_startofpacket

输出 1 置位后,显示 RX 数据开始。

avalon_st_rx_endofpacket

输出 1 置位后,显示 RX 数据开始。

avalon_st_rx_valid 输出 1 置位后,显示 avalon_st_rx_data[]信号以及接口上其它信号有效。

avalon_st_rx_ready 输入 1 当客户端已准备接受数据时,会置位此信号。

avalon_st_rx_error[] 输出 6 该信号显示 Avalon-ST RX 接口上,当前传送的数据包中有一个或多个错误。通过 avalon_st_rx_valid 和avalon_st_rx_ready 信号生效,并与数据包末尾对齐。

继续...

5. 接口信号

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

73

信号 方向 宽度 说明

• Bit 0—PHY error。

— 对于 10 Gbps,xgmii_rx_data 上的数据包含一个控制错位字符(FE)。

— 对于 10 Mbps,100 Mbps,1 Gbps,gmii_rx_err 或mii_rx_err 被置位。

— 对于 1G/2.5G,gmii16b_rx_err 被置位。

• Bit 1—CRC 错误。计算所得的 CRC 值与所接收的 CRC 不匹配。

• Bit 2—过小帧。RX 帧长度少于 64-byte。

• Bit 3—超大帧。

• Bit 4—负载长度错误。

• Bit 5—上溢错误。用户应用尚未准备接收更多数,同时仍然从MAC IP 核接收传入数据。

avalon_st_rx_data[] 输出 32 RX 数据至客户端。MAC IP 核按如下顺序将 RX 数据发送至客户端:avalon_st_rx_data[31:24],avalon_st_rx_data[23:16],以此类推。

avalon_st_rx_empty[] 输出 2 × 3 包含周期中 RX 数据结束的空字节的数目。

使能 Use 64-bit Ethernet 10G MAC Avalon StreamingInterface 选项时,宽度为 3-bit。否则,宽度为 2-bit。

相关链接

帧类型检查 (第 33 页)

5.6.3. Avalon -ST 数据接口时钟

表 36. Avalon-ST 数据接口时钟信号

接口信号 模式 Use legacy Ethernet 10G MACAvalon Streaming interface 选项

时钟信号

avalon_st_tx_* 1G On tx_156_25_clk

Off tx_312_5_clk

10G On tx_156_25_clk

Off tx_312_5_clk

avalon_st_rx_* 1G On rx_156_25_clk

Off rx_312_5_clk

10G On rx_156_25_clk

Off rx_312_5_clk

相关链接

时钟和复位信号 (第 70 页)

5. 接口信号

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

74

5.7. Avalon -ST 流程控制信号

表 37. Avalon -ST 流程控制信号

信号 操作模式 方向 宽度 说明

avalon_st_pause_data[]

全部 输入 2 寄存器位 tx_pauseframe_enable[2:1],都设置为默认值 0 时,该信号生效。

将此信号设置为下列值以触发相应的动作。

• 0x0:停止暂停帧生成。

• 0x1:生成 XON 暂停帧。

• 0x2:生成 XOFF 暂停帧。MAC IP 核将暂停帧中的暂停量字段设置成 tx_pauseframe_quanta 寄存器中的值。

• 0x3:保留。

avalon_st_tx_pause_length_valid

全部 输入 1 该信号存在于仅 MAC TX 的 variation 中。

置位此信号以请求 MAC IP 核暂停数据传输。置位该信号时,确保 avalon_st_tx_pause_length_data 总线中有效暂停量可用。

avalon_st_tx_pause_length_data[]

全部 输入 16 该信号存在于仅 MAC TX 的 variation 中。

使用此总线以量子为单位指定暂停量,其中 1 单位= 512比特时。

avalon_st_tx_pfc_gen_data[]

10G 输入 n(4-16)

n = 2 x Number of PFC queues 参数。

每对位对应一个优先级队列。Bits 0 和 1 对应优先级队列0,bits 2 和 3 对应优先级队列 1,以此类推。将各个位的对子设置为下列值以触发相应优先级队列的指定行动。

• 0x0:停止相应队列的暂停帧生成。

• 0x1:生成相应队列的 XON 暂停帧。

• 0x2:生成相应队列的 XOFF 暂停帧。MAC IP 核将暂停帧中的暂停量字段设置成tx_pauseframe_quanta 寄存器中的值。

• 0x3:保留。

avalon_st_rx_pfc_pause_data[]

10G 输出 n(2–8)

n = Number of PFC queues 参数。

MAC RX 接收到暂停帧时,若 n th 队列的暂停帧有效(Pause Quanta Enable [n] = 1)并大于 0 时,就将该信号的位 n 置位。对于每个量子单位,MAC RX 将位 n 置位 8 个时钟周期。

当 n th 队列的暂停帧有效(Pause Enable [n] = 1)并等于 0 时,MAC RX 置低此信号的位 n。当定时器失效时,MAC RX 也置低位 n。

avalon_st_rx_pause_length_valid

全部 输出 1 此信号存在于仅 MAC RX 的 variation 中。

MAC IP 核将该信号置位以请求其链路搭档暂停数据传输。置位后,avalon_st_rx_pause_length_data 总线上有可用的有效暂停量。

avalon_st_rx_pause_length_data[]

全部 输出 16 此信号仅存在于仅 MAC RX 的 variation 中。

以量子为单位指定暂停量,其中 1 单位= 512 比特时(bitstime)。

5. 接口信号

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

75

5.8. Avalon -ST 状态接口

5.8.1. Avalon -ST TX 状态信号

表 38. Avalon -ST TX 状态信号

信号 方向 宽度 说明

avalon_st_txstatus_valid

输出 1 置位后,该信号使 avalon_st_txstatus_data[] andavalon_st_txstatus_error[]信号生效。

avalon_st_txstatus_data[]

输出 40 包含 TX 帧的信息。

• Bits 0 至 15:载荷长度。

• Bits 16 至 31:数据包长度。

• Bit 32:设置为 1 时,显示一个堆栈式 VLAN 帧。配置 MAC 不检测堆栈式 VLAN 帧(tx_vlan_detection[0] = 1)时,忽略此位。

• Bit 33:设置为 1 时,显示一个 VLAN 帧。配置 MAC 不检测VLAN 帧(tx_vlan_detection[0] = 1)时,忽略此位。

• Bit 34:设置为 1 时,表示控制帧。

• Bit 35:设置为 1 时,表示暂停帧。

• Bit 36:设置为 1 时,表示广播帧。

• Bit 37:设置为 1 时,表示组播帧。

• Bit 38:设置为 1 时,表示单播帧。

• Bit 39:设置为 1 时,表示 PFC 帧。

仅 TX 帧有效时,此状态信号才有效。例如,若暂停帧超大,则位 35不被置位。

avalon_st_txstatus_error[]

输出 7 设置为 1 时,各个位表示 TX 帧中的错误类型,如下:

• Bit 0:过小帧。

• Bit 1:超大帧。

• Bit 2:载荷长度错误。

• Bit 3:未使用。

• Bit 4:下溢。

• Bit 5:来自客户端的 avalon_st_tx_error 输入信号被置位。

• Bit 6:未使用。

出现上溢时,错误状态无效。

avalon_st_tx_pfc_status_valid

输出 1 置位后,此信号使 avalon_st_tx_pfc_status_data[]信号生效。此信号仅适用于 10G 操作模式。

avalon_st_tx_pfc_status_data[]

输出 n4 × 16

n = 2 × Number of PFC queues 参数。

设置为 1 时,各个位表示对远程搭档的流程控制请求,例如:

• Bit 0:优先级队列 0 的 XON 请求

• Bit 1:优先级队列 0 的 XOFF 请求

• Bit 2:优先级队列 1 的 XON 请求

• Bit 3:优先级队列 1 的 XOFF 请求

• Bit 4:优先级队列 2 的 XON 请求

• Bit 5:优先级队列 2 的 XOFF 请求

此信号仅适用于 10G 操作模式。

相关链接

长度检查 (第 33 页)说明 MAC Ip 核如何查看帧和载荷长度。

5. 接口信号

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

76

5.8.2. Avalon -ST RX 状态信号

表 39. Avalon -ST RX 状态信号

信号 方向 宽度 说明

avalon_st_rxstatus_valid

输出 1 置位后,此信号使 avalon_st_rxstatus_data[]和avalon_st_rxstatus_error[]信号生效。在置位avalon_st_rx_endofpacket 信号的相同时钟周期中,MACIP 核置位此信号。

avalon_st_rxstatus_data[]

输出 40 包含 RX 帧的信息。

• Bits 0 至 15:载荷长度。

• Bits 16 至 31:数据包长度。

• Bit 32:设置为 1 时,显示一个堆栈式 VLAN 帧。配置 MAC 不检测堆栈式 VLAN 帧(tx_vlan_detection[0] = 1)时,忽略此位。

• Bit 33:设置为 1 时,显示一个 VLAN 帧。配置 MAC 不检测VLAN 帧(tx_vlan_detection[0] = 1)时,忽略此位。

• Bit 34:设置为 1 时,表示控制帧。

• Bit 35:设置为 1 时,表示暂停帧。

• Bit 36:设置为 1 时,表示广播帧。

• Bit 37:设置为 1 时,表示组播帧。

• Bit 38:设置为 1 时,表示单播帧。

• Bit 39:设置为 1 时,表示 PFC 帧。

avalon_st_rxstatus_error[]

输出 7 设置为 1 时,各个位表示 TX 帧中的错误类型,如下:

• Bit 0:过小帧。

• Bit 1:超大帧。

• Bit 2:载荷长度错误。

• Bit 3: CRC 错误。

• Bit 4:未使用。

• Bit 5:未使用。

• Bit 6: PHY 错误。

在置位 avalon_st_rxstatus_valid 信号的相同时钟周期内,IP 核在该总线上呈现为错误状态。出现下溢时,错误状态无效。

avalon_st_rx_pfc_status_valid

输出 1 置位后,此信号使 avalon_st_tx_pfc_status_data[]信号生效。此信号仅适用于 10G 操作模式。

avalon_st_rx_pfc_status_data[]

输出 n(4 - 16)

n = 2 x Number of PFC queues 参数

设置为 1 时,各个位显示来自远程搭档的流程控制请求,例如:

• Bit 0:优先级队列 0 的 XON 请求。

• Bit 1:优先级列队 0 的 XOFF 请求。

• Bit 2:优先级列队 1 的 XON 请求。

• Bit 3:优先级列队 1 的 XOFF 请求。

• Bit 4:优先级列队 2 的 XON 请求。

• Bit 5:优先级列队 2 的 XOFF 请求。

此信号仅适用于 10G 操作模式。

相关链接

长度检查 (第 33 页)说明 MAC Ip 核如何查看帧和载荷长度。

5. 接口信号

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

77

5.9. PHY 侧接口

5.9.1. XGMII TX 信号

下列信号存在于如下操作模式中:10G,1G/10G,1G/2.5G/10G 和 10M/100M/1G/10G。

表 40. XGMII TX 信号

信号 条件 方向 宽度 说明

xgmii_tx_data[] 禁用 Use legacyEthernet 10G MACXGMII interface。

禁用 Enable 10GBASE-R register mode。

输出 32 4-lane 数据总线。Lane 0 开始于最低有效位。

• Lane 0:xgmii_tx_data[7:0]

• Lane 1:xgmii_tx_data[15:8]

• Lane 2:xgmii_tx_data[23:16]

• Lane 3:xgmii_tx_data[31:24]

禁用 Use legacyEthernet 10G MACXGMII interface。

使能 Enable 10GBASE-R register mode。

输出 64 8-lane SDR XGMII 发送数据。此信号直接连接到 NativePHY IP 核。

• Lane 0:xgmii_tx_data[7:0]

• Lane 1:xgmii_tx_data[15:8]

• Lane 2:xgmii_tx_data[23:16]

• Lane 3:xgmii_tx_data[31:24]

• Lane 4:xgmii_tx_data[39:32]

• Lane 5:xgmii_tx_data[47:40]

• Lane 6:xgmii_tx_data[55:48]

• Lane 7:xgmii_tx_data[63:56]

xgmii_tx_control[] 禁用 Use legacyEthernet 10G MACXGMII interface。

禁用 Enable 10GBASE-R register mode。

输出 4 xgmii_tx_data[]中每个通道的控制位。

• Lane 0:xgmii_tx_control[0]

• Lane 1:xgmii_tx_control[1]

• Lane 2:xgmii_tx_control[2]

• Lane 3:xgmii_tx_control[3]

禁用 Use legacyEthernet 10G MACXGMII interface。

使能 Enable 10GBASE-R register mode。

输出 8 8-lane SDR XGMII 发送控制。此信号直接连接到 NativePHY IP 核。

• Lane 0:xgmii_tx_control[0]

• Lane 1:xgmii_tx_control[1]

• Lane 2:xgmii_tx_control[2]

• Lane 3:xgmii_tx_control[3]

• Lane 4:xgmii_tx_control[4]

• Lane 5:xgmii_tx_control[5]

• Lane 6:xgmii_tx_control[6]

• Lane 7:xgmii_tx_control[7]

xgmii_tx_valid 禁用 Use legacyEthernet 10G MACXGMII interface。

输出 1 置位后,显示数据和控制总线有效。

继续...

5. 接口信号

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

78

信号 条件 方向 宽度 说明

(使能 Enable10GBASE-R registermode 或将 Speed 设置为 1G/2.5G/5G/10G(USXGMII))

xgmii_tx[] 使能 Use legacyEthernet 10G MACXGMII interface。

输出 72 8-lane SDR XGMII 发送数据和控制总线。每通道包含 8 个数据位以及一个控制位。信号映射可与64b MAC 兼容。

• Lane 0 数据:xgmii_tx[7:0]

• Lane 0 控制: xgmii_tx[8]• Lane 1 数据:xgmii_tx[16:9]

• Lane 1 控制:xgmii_tx[17]

• Lane 2 数据:xgmii_tx[25:18]

• Lane 2 控制:xgmii_tx[26]

• Lane 3 数据:xgmii_tx[34:27]

• Lane 3 控制:xgmii_tx[35]

• Lane 4 数据:xgmii_tx[43:36]

• Lane 4 控制:xgmii_tx[44]

• Lane 5 数据:xgmii_tx[52:45]

• Lane 5 控制:xgmii_tx[53]

• Lane 6 数据:xgmii_tx[61:54]

• Lane 6 控制:xgmii_tx[62]

• Lane 7 数据:xgmii_tx[70:63]

• Lane 7 控制:xgmii_tx[71]

link_fault_status_xgmii_tx_data[]

— 输入 2 此信号仅存在于 MAC TX 的 variation 中。将此信号连接到相应的 RX 客户端以处理局部和远程故障。下列值表示的链路故障状态为:

• 0x0:无链路故障

• 0x1:局部故障

• 0x2:远程故障

5. 接口信号

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

79

5.9.2. XGMII RX 信号

下列信号存在于如下操作模式中:10G,1G/10G,1G/2.5G/10G 和 10M/100M/1G/10G。

表 41. XGMII 接收信号

信号 条件 方向 宽度 说明

xgmii_rx_data[] 禁用 Use legacyEthernet 10G MACXGMII interface。

禁用 Enable 10GBASE-R register mode。

输入 32 4-lane RX 数据总线。Lane 0 从最低有效位开始。

• Lane 0: xgmii_rx_data[7:0]• Lane 1:xgmii_rx_data[15:8]

• Lane 2:xgmii_rx_data[23:16]

• Lane 3:xgmii_rx_data[31:24]

禁用 Use legacyEthernet 10G MACXGMII interface。

使能 Enable 10GBASE-R register mode。

输入 64 8-lane SDR XGMII 接收数据。此信号直接连接到 NativePHY IP 核。

• Lane 0:xgmii_rx_data[7:0]

• Lane 1:xgmii_rx_data[15:8]

• Lane 2:xgmii_rx_data[23:16]

• Lane 3:xgmii_rx_data[31:24]

• Lane 4:xgmii_rx_data[39:32]

• Lane 5:xgmii_rx_data[47:40]

• Lane 6:xgmii_rx_data[55:48]

• Lane 7:xgmii_rx_data[63:56]

xgmii_rx_control[] 禁用 Use legacyEthernet 10G MACXGMII interface。

禁用 Enable 10GBASE-R register mode。

输入 4 xgmii_rx_data[]中每通道的控制位。

• Lane 0: xgmii_rx_control[0]• Lane 1:xgmii_rx_control[1]

• Lane 2:xgmii_rx_control[2]

• Lane 3:xgmii_rx_control[3]

禁用 Use legacyEthernet 10G MACXGMII interface。

使能 Enable 10GBASE-R register mode。

输入 8 8-lane SDR XGMII 接收数据。此信号直接连接到 NativePHY IP 核。

• Lane 0:xgmii_rx_control[0]

• Lane 1:xgmii_rx_control[1]

• Lane 2:xgmii_rx_control[2]

• Lane 3:xgmii_rx_control[3]

• Lane 4:xgmii_rx_control[4]

• Lane 5:xgmii_rx_control[5]

• Lane 6:xgmii_rx_control[6]

• Lane 7:xgmii_rx_control[7]

xgmii_rx_valid 禁用 Use legacyEthernet 10G MACXGMII interface。

(使能 Enable10GBASE-R registermode 或将 Speed 设置为 1G/2.5G/5G/10G(USXGMII))

输入 1 置位后,显示数据和控制总线有效。

xgmii_rx[] 使能 Use legacyEthernet 10G MACXGMII interface。

输入 72 8-lane SDR XGMII 接收数据和控制总线。每通道包含 8 个数据位以及一个控制位。信号映射可与64-bit MAC 兼容。

• Lane 0 数据:xgmii_rx[7:0]

• Lane 0 控制:xgmii_rx[8]

• Lane 1 数据:xgmii_rx[16:9]

继续...

5. 接口信号

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

80

信号 条件 方向 宽度 说明

• Lane 1 控制:xgmii_rx[17]

• Lane 2 数据:xgmii_rx[25:18]

• Lane 2 控制:xgmii_rx[26]

• Lane 3 数据:xgmii_rx[34:27]

• Lane 3 控制:xgmii_rx[35]

• Lane 4 数据:xgmii_rx[43:36]

• Lane 4 控制:xgmii_rx[44]

• Lane 5 数据:xgmii_rx[52:45]

• Lane 5 控制:xgmii_rx[53]

• Lane 6 数据:xgmii_rx[61:54]

• Lane 6 控制:xgmii_rx[62]

• Lane 7 数据:xgmii_rx[70:63]

• Lane 7 控制:xgmii_rx[71]

link_fault_status_xgmii_rx_data[]

— 输出 2 下列值表示链路故障状态:

• 0x0 = 无链路故障

• 0x1 = 局部故障

• 0x2 = 远程故障

5.9.3. GMII TX 信号

表 42. GMII TX 信号

信号 操作模式 方向 宽度 说明

gmii_tx_clk

1G/10G10M/

100M/1G/10G

输入 1 125-MHz TX 时钟。

gmii_tx_d [] 输出 8 TX 数据。

gmii_tx_en 输出 2 置位后,显示 TX 数据有效。

gmii_tx_err 输出 2 置位后,显示 TX 数据有错误。

gmii16b_tx_clk

1G/2.5G1G/2.5G/10G

输入 1 156.25-MHz TX 时钟用于 2.5G;62.5-MHz TX 时钟用于 1G。

gmii16b_tx_d 输出 16 TX 数据。

gmii16b_tx_en 输出 2 置位后,显示 TX 数据有效。

gmii16b_tx_err 输出 2 置位后,显示 TX 数据有错误。

5.9.4. GMII RX 信号

表 43. GMII RX 信号

信号 操作模式 方向 宽度 说明

gmii_rx_clk

1G/10G10M/

100M/1G/10G

输入 1 125-MHz RX 时钟。

gmii_rx_d[] 输入 8 RX 数据。

gmii_rx_dv 输入 1 置位后,显示 RX 数据有效。

gmii_rx_err 输入 1 置位后,显示 RX 数据有错误。

gmii16b_rx_clk 1G/2.5G1G/2.5G/10G

156.25-MHz TX 时钟用于 2.5G;62.5-MHz TX 时钟用于 1G。

继续...

5. 接口信号

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

81

5.9.5. MII TX 信号

下列信号存在于 10M/100B/1G/10G 操作模式中。

表 44. MII TX 信号

信号 方向 宽度 说明

tx_clkena 输入 1 从 PHY IP 使能时钟。此时钟将 gmii_tx_clk 有效分频为用于100 Mbps 的 25 MHz 时钟,以及用于 10 Mbps 的 2.5 MHz 时钟。

tx_clkena_half_rate 输入 1 从 PHY IP 使能时钟。此时钟将 gmii_tx_clk 有效分频为12.5MHz 和 1.25MHz 并分别用于 100 Mbps,10 Mbps。

mii_tx_d[] 输出 4 TX 数据总线。

mii_tx_en 输出 1 置位后,显示 TX 数据有效。

mii_tx_err 输出 1 置位后,显示 TX 数据包含错误。

5.9.6. MII RX 信号

下列信号存在于 10M/100B/1G/10G 操作模式。

表 45. MII RX 信号

信号 方向 宽度 说明

rx_clkena 输入 1 从 PHY IP 使能时钟用于 100 Mbps 和 10 Mbps 操作。该时钟将gmii_rx_clk 有效分频为 25 Mhz 和 2.5 MHz 并分别用于 100Mbps 和 10 Mbps。

rx_clkena_half_rate 输入 1 从 PHY IP 使能时钟用于 100 Mbps 和 10 Mbps 操作。该时钟在rx_clkena 的一半速率下有效运行,并且将 gmii_rx_clk 分频为 12.5 MHz 和 1.25 MHz 并分别用于 100 Mbps 和 10 Mbps。此信号的上升沿必须和 rx_clkena 对齐。

mii_rx_d[] 输出 4 接收数据总线。

mii_rx_dv 输出 1 置位后,显示 RX 数据有效。

mii_rx_err 输出 1 置位后,显示 RX 数据有错误。

5. 接口信号

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

83

5.10. IEEE 1588v2 接口

5.10.1. IEEE 1588v2 出口(Egress)TX 信号

选择 Enable time stamping 选项时,会显现如下信号。该特性存在于下列操作模式中:10G,1G/10G 和 10M/100M/1G/10G。

表 46. IEEE 1588v2 出口(Egress)TX 信号

信号 方向 宽度 说明

tx_egress_timestamp_request_valid 输入 1 置位此信号为发送帧请求时间戳。必须在与置位avalon_st_tx_startofpacket 的相同时钟周期内对此信号进行置位。

tx_egress_timestamp_request_fingerprint[]

输入 n n =Timestamp fingerprint width 参数的值。

使用该总线为要请求时间戳的发送帧指定指纹。tx_egress_timestamp_request_valid被置位的同时,该总线必须携带一个有效指纹。

指纹的用途是将时间戳和数据包相关联。因此,可以由来自 PTP 数据包的序列 ID 字段或数据包的某个唯一字段,验证从 CPU 收集到的指纹和时间戳。

tx_egress_timestamp_96b_valid 输出 1 置位后,该信号将tx_egress_timestamp_96b_data[]中用于发送帧的时间戳生效,且该发送帧的指纹由tx_egress_timestamp_96b_fingerprint[] 指定。

Tx_egress_timestamp_96b_data[] 输出 96 以下列格式携带 96-bit 出口时间戳:

• 1588v2 的格式:

— Bits 48 至 95:48-bit 秒字段

— Bits 16 至 47:32-bit 纳秒字段

— Bits 0 至 15:16-bit 小数纳秒字段

• 1588v1 的格式:

— Bits 64 至 95:32-bit 秒字段

— Bits 32 至 63:32-bit 纳秒字段

— Bits 0 至 31:未使用

Tx_egress_timestamp_96b_fingerprint[]

输出 n n = Timestamp fingerprint width 参数值。

在tx_egress_timestamp_request_data[]上接收到的发送帧的指纹。 该指纹指定tx_egress_timestamp_96b_data[]上出口时间戳对应的发送帧。

tx_egress_timestamp_64b_valid 输出 1 置位后,该信号将tx_egress_timestamp_64b_data[]中用于发送帧的时间戳生效,且该发送帧的指纹由tx_egress_timestamp_64b_fingerprint[] 指定。

tx_egress_timestamp_64b_data[] 输出 64 以下列格式携带 64-bit 出口时间戳:

• Bits 16 至 63:48-bit 纳秒字段

• Bits 0 至 15:16-bit 小数纳秒字段

tx_egress_timestamp_64b_fingerprint[]

输出 n n = Timestamp fingerprint width 参数值。

继续...

5. 接口信号

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

84

信号 方向 宽度 说明

在tx_egress_timestamp_request_data[]上接收到的发送帧的指纹。该指纹指定tx_egress_timestamp_64b_data[]信号中出口时间戳的发送帧。

Tx_time_of_day_96b_10g_data

(适用于 10 Gbps)

输入 96 将外部 ToD 模块到 MAC IP 核的时刻(time ofday,ToD)以下列格式携带:

• Bits 48 至 95:48-bit 秒字段

• Bits 16 至 47: 32-bit 纳秒字段

• Bits 0 至 15:16-bit 小数纳秒字段

在 PTP 数据包的相应字段中,需要为 80-bit 的时间戳(由秒和纳秒组成)加注。剩余的 16-bit 小数纳秒值(若已使用)则用于 PTP 数据包的 CF 更新。

tx_time_of_day_96b_1g_data

(适用于 10 Mbps、100 Mbps、1 和 2.5Gbps)

tx_time_of_day_64b_10g_data

(适用于 10 Gbps)

输入 64 以如下格式将 ToD 从外部 ToD 模块传送到 MAC IP核:

• Bits 16 至 63:48-bit 纳秒字段

• Bits 0 至 15: 16-bit 小数纳秒字段

需要 64-bit 时间戳更新 PTP 头中的 CF。更新 CF是透明时钟操作的基础。

tx_time_of_day_64b_1g_data

(适用于 10 Mbps、100 Mbps、1 和 2.5Gbps)

tx_path_delay_10g_data

(适用于 10 Gbps)

输入 16 将此总线连接到 Intel FPGA PHY IP。该总线载有从物理网络和 MAC IP 核(XGMII,GMII,或MII)PHY 侧之间所测得的路径延迟。当生成出口时间戳时,MAC IP 核使用该值计算延迟。路径延迟的格式如下:

• Bits 0 至 9:时钟周期的小数

• Bits 10 至 15/21:时钟周期的数量

tx_path_delay_1g_data

(适用于 10 Mbps、100 Mbps、1 和 2.5Gbps)

22

表 47. IEEE 1588v2 出口 TX 信号 — 1 级模式

这些信号仅适用于 1 级操作模式。

信号 方向 宽度 说明

tx_etstamp_ins_ctrl_timestamp_insert

输入 1 置位该信号以将出口时间戳插入相关帧。在置位avalon_st_tx_startofpacket 的相同时钟周期内置位该信号。

tx_etstamp_ins_ctrl_timestamp_format

输入 1 使用此信号指定要插入的时间戳的格式。

• 0:1588v2 格式(48-bit 秒字段 + 32-bit 纳秒字段 + 16-bit 小数纳秒校正字段)。需要时间戳和校正字段的偏移位置。

• 1: 1588v1 格式(32-bit 秒字段 + 32-bit纳秒字段)。 需要时间戳的偏移位置。

在与数据包的开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_residence_time_update

输入 1 对此信号进行置位以将停留时间(出口时间戳 –进口时间戳)添加到 PTP 帧的校正字段。需要校正字段的偏移位置。在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_ingress_timestamp_96b[]

输入 96 进口时间戳的 96-bit 格式。(48-bit 秒 + 32-bit纳秒 + 16-bit 小数纳秒)。在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

继续...

5. 接口信号

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

85

信号 方向 宽度 说明

tx_etstamp_ins_ctrl_ingress_timestamp_64b[]

输入 64 进口时间戳的 64-bit 格式。(48-bit 纳秒 + 16-bit 小数纳秒)。在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_residence_time_calc_format

输入 1 用于计算停留时间的时间戳格式。0: 96-bit(96-bit 出口时间戳 - 96-bit 入口时间戳)。1: 64-bit(64-bit 出口时间戳 - 64-bit 入口时间戳)。在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_checksum_zero 输入 1 对此信号进行置位以将停留时间(出口时间戳 –进口时间戳)添加到 PTP 帧的校正字段。需要校正字段的偏移位置。在与数据包的开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_checksum_correct

输入 1 对此信号进行置位以校正 UDP/IPv6 数据包校验和,由校验和校正偏移指定更新校验和校正。需要校验和校正的偏移位置。在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_offset_timestamp[]

输入 16 时间戳字段相对于数据包的第一个字节的位置。在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_offset_correction_field[]

输入 16 校正字段相对于数据包的第一个字节的位置。 在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_offset_checksum_field[]

输入 16 校验和字段相对于数据包的第一个字节的位置。在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_offset_checksum_correction[]

输入 16 校验和校正字段相对于数据包的第一个字节的位置。 在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。

tx_egress_asymmetry_update 输入 1 将该信号置位以通过不对称值更新发送帧 PTP 头中的 CF。于置位数据包(avalon_st_tx_startofpacket)开头的相同时钟周期中对此信号进行置位。

更多详细信息,请参阅 tx_asymmetry 寄存器的相关信息。

相关链接

时间戳寄存器 (第 62 页)提供更多关于 tx_asymmetry 寄存器的信息。

5. 接口信号

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

86

5.10.2. IEEE 1588v2 入口(Ingress)RX 信号

选择 Enable time stamping 选项时,会显现如下信号。该特性存在于下列操作模式中:10G,1G/10G 和 10M/100M/1G/10G。

表 48. IEEE 1588v2 入口(Ingress)RX 信号

信号 方向 宽度 说明

rx_ingress_timestamp_96b_valid 输出 1 置位后,该信号使rx_ingress_timestamp_96b_data[]上的时间戳生效。MAC IP 核在置位avalon_st_rx_startofpacket 的相同时钟周期中将此信号置位。

rx_ingress_timestamp_96b_data[] 输出 96 以如下格式传送 96-bit 入口时间戳:

• Bits 48 至 95:48-bit 秒字段

• Bits 16 至 47:32-bit 纳秒字段

• Bits 0 至 15:16 位小数纳秒字段

96-bit 时间戳通常作为完整 ToD 的加注,并且在普通时钟和边界时钟器件中有用。透明时钟通常使用 64-bit 时间戳。

rx_ingress_timestamp_64b_valid 输出 1 置位后,该信号使rx_ingress_timestamp_64b_data[]上的时间戳生效。MAC IP 核在置位avalon_st_rx_startofpacket 的相同时钟周期中将此信号置位。

rx_ingress_timestamp_64b_data[] 输出 64 以下列格式携带 64-bit 入口时间戳:

• Bits 16 至 63:48-bit 纳秒字段

• Bits 0 至 15:16-bit 小数纳秒字段

rx_time_of_day_96b_10g_data

(适用于 10 Gbps)

输入 96 按如下格式将时刻(ToD)从外部 ToD 模块传送到MAC IP 核:

• Bits 48 至 95:48-bit 秒字段

• Bits 16 至 47:32 位纳秒字段

• Bits 0 至 15:16-bit 小数纳秒字段

rx_time_of_day_96b_1g_data

(适用于 10 Mbps、100 Mbps、1 和 2.5Gbps)

rx_time_of_day_64b_10g_data

(适用于 10 Gbps)

输入 64 按如下格式将时刻(ToD)从外部 ToD 模块传送到MAC IP 核:

• Bits 16 至 63:48-bit 纳秒字段

• Bits 0 至 15:16-bit 小数纳秒字段rx_time_of_day_64b_1g_data

(适用于 10 Mbps、100 Mbps、1 和 2.5Gbps)

rx_path_delay_10g_data

(适用于 10 Gbps)

输入 16 将此总线连接到 Intel FPGA PHY IP。该总线传送在物理网络和 MAC IP Core(XGMII,GMII,或MII)PHY 侧之间测量所得的路径延迟(停留时间)。在生成入口时间戳时,MAC IP 核使用该值计算延迟。路径延迟的格式如下:

• Bits 0 至 9:时钟周期的小数

• Bits 10 至 15/21:时钟周期数

rx_path_delay_1g_data

(适用于 10 Mbps、100 Mbps、1 和 2.5Gbps)

22

5. 接口信号

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

87

5.10.3. IEEE 1588v2 接口时钟

表 49. IEEE 1588V2 接口时钟信号

接口信号 Use legacy Ethernet 10G MACAvalon Streaming interface 选项

时钟信号

tx_egress_*

tx_time_of_day_*_10G_*

tx_etstamp_ins_*

On tx_156_25_clk

Off tx_312_5_clk

tx_time_of_day_*_1G_* On gmii_tx_clk

Off

rx_ingress_*

rx_time_of_day_*_10G_*

On rx_156_25_clk

Off rx_312_5_clk

rx_time_of_day_*_1G_* On gmii_rx_clk

Off

相关链接

时钟和复位信号 (第 70 页)

5. 接口信号

UG-01144 | 2016.10.31

低延迟以太网 10G MAC 用户指南 反馈

88

A. 低延迟以太网 10G MAC 用户指南存档

如有未列入的 IP 核版本,可应用之前版本的 IP 核用户指南。

IP 核版本 用户指南

16.0 Low Latency Ethernet 10G MAC User Guide

15.1 Low Latency Ethernet 10G MAC User Guide

15.0 Low Latency Ethernet 10G MAC User Guide

14.1 Low Latency Ethernet 10G MAC User Guide

UG-01144 | 2016.10.31

反馈

Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/orother countries. Intel warrants performance of its FPGA and semiconductor products to current specifications inaccordance with Intel's standard warranty, but reserves the right to make changes to any products and servicesat any time without notice. Intel assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Intel. Intelcustomers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

B. 低延迟以太网 10G MAC 用户指南文档修订历史

日期 版本 修订内容

2016 年 10 月 2016.10.31 • 添加了关于 Stratix 10 器件系列的支持。

• 添加了 1588 不对称支持特性。

• 纠正了 Arria 10 器件速度等级为–C2 和–C3 到–E2 和–E3。

• 更新了关于 TX 数据路径中的 MII 封装, 以阐明 MAC TX 将导前码的第八个字节转换成 1-byte SFD.

• 在帧类型检查的话题中添加了一个列表以罗列各种帧类型中的 MAC 行为。

• 更新了罗列时钟和复位信号的话题,以指定 tx_rst_n 和 rx_rst_n 信号的时钟域。

• 更新了 avalon_st_txstatus_data[]信号的说明以阐明仅 TX 帧有效时,状态才有效。

• 更新了关于 avalon_st_txstatus_error[5]的说明以阐明如果来自客户端的 avalon_st_tx_error 输入信号被置位,则对该位进行置位。

• 添加了表格以罗列关于 Avalon -ST 和 IEEE 1588v2 接口信号的时钟。

• 为 tx_ipg_10g,tx_ipg_10M_100M_1G,ecc_status,ecc_enable和 mac_reset_control 寄存器添加了不同的字偏移,若开启 Use legacyEthernet 10G MAC Avalon Memory-Mapped interface。

• 更新了文档模板。

2016 年 5 月 2016.05.02 • 更新了下列话题,以包括新的速度模式 1G/2.5G/5G/10G(USXGMII):特性,器件系列支持,参数设置,XGMII TX,和 XGMII RX。

• 添加了新话题:LL 以太网 10G MAC 和 Legacy 10-Gbps 以太网 MAC。

• 添加了新话题:创建 SignalTap II 调试文件以匹配设计层次。

• 更新了上溢处理的说明。

• 更换了 XGMII 错误处理话题中的时序结构图。

• 修订了统计数据寄存器话题中无效帧的说明,并从话题中删除了tx_stats_etherStatsCRCErr,tx_stats_etherStatsJabbers,tx_stats_etherStatsFragments,和 tx_stats_framesCRCErr。

• 将 PMA 延迟从计算时序调整话题的仿真模型列表中删除,因为该仿真数据不是决定性数据。

2015 年 11 月 2015.11.02 • 更新了关于 1G/2.5G 和 G/2.5G/10G 操作速度的特性,器件系列支持,配置寄存器以及接口信号的话题。

• 更新了资源利用率列表。

• 修订了“更新过期 IP 核”话题中的说明。

• 更新了复位的话题,在第 2 级添加了一个步骤。

• 更新了寄存器访问话题,ECC 状态,和统计清零寄存器定义。

• 更新了 tx_unidir_control 寄存器以支持用户触发的远程故障提示。

• 删除了移植 IP 核到其他器件的话题。

2015 年 5 月 2015.05.04 • 更新了器件支持列表。

• 更新了资源利用率列表。

• 更新了参数设置列表。

• 在统计寄存器话题中添加了关于如何读取统计计数器的指导。

• 添加了新的寄存器:tx_vlan_detection,rx_vlan_detection,tx_ipg_10g,tx_ipg_10M_100M_1G,tx_transfer_status,和rx_transfer_status。

继续...

UG-01144 | 2016.10.31

反馈

Intel Corporation. All rights reserved. Agilex, Altera, Arria, Cyclone, Enpirion, Intel, the Intel logo, MAX, Nios,Quartus and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/orother countries. Intel warrants performance of its FPGA and semiconductor products to current specifications inaccordance with Intel's standard warranty, but reserves the right to make changes to any products and servicesat any time without notice. Intel assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Intel. Intelcustomers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.*Other names and brands may be claimed as the property of others.

ISO9001:2015Registered

日期 版本 修订内容

• 更新了关于 rx_stats_octetsOK 和 tx_stats_octetsOK 统计计数器的说明。

• 更新了长度检查话题。

• 添加了复位要求的话题。

• 添加了生成 TX 时序调整和生成 RX 时序调整的话题。

• 删除了最小 Inter 包间隔的内容。

2014 年 12 月 2014.12.15 • 更新了性能和资源利用率列表—提高了 IEEE 1588v2 特性的资源利用率。

• 添加了新特性—10GBASE-R 寄存器模式:

— 添加了新参数—Enable 10GBASE-R register mode.— 添加了新信号—tx_xcvr_clk,rx_xcvr_clk,xgmii_tx_valid,

xgmii_rx_valid。

• 为 Time of Day Format 添加了新的参数选项。

• 在帧类型检查话题中添加了新的表格,以说明不同帧类型的 MAC 行为。

• 添加了新表格—寄存器访问类型约定—说明 IP 核寄存器的访问类型。

• 添加了关于时序约束的新章节。

• 将接收时间戳的寄存器字偏移修订为从 0x0120 开始到 0x012C。

• 添加了一个针对 csr_rst_n 信号的建议—tx_clk 和 rx_clk 稳定后,将csr_rst_n 信号至少置低一次。

• 将 rx_path_delay_10g_data 和 rx_path_delay_1g_data 信号时钟周期的小数位的个数修订为:Bit [9:0]:时钟周期的小数,Bit [21/15:10]:时钟周期数。

• 更新了如下信号的说明:

— tx_egress_timestamp_request_fingerprint[]

— tx_egress_timestamp_96b_data[]

— tx_egress_timestamp_64b_data[]

— tx_time_of_day_96b_1g_data

— tx_time_of_day_64b_1g_data

2014 年 6 月 2014.06.30 • 提高了性能和资源利用率。

• 添加了新特性—单向以太网。

— 添加了新的参数—Enable Unidirectional feature。

— 添加了单向寄存器和信号。

• 添加了关于 IEEE 1588v2 MAC 寄存器中 PMA 模拟和数字延迟的信息。

• 编辑了 avalon_st_rxstatus_error[]信号中关于位的说明。

• 添加了关于 avalon_st_pause_data[0]位信号的更多信息,以指明 XON 暂停帧的发送仅在 XOFF 暂停帧后触发一次,无论avalon_st_pause_data[0]被置位多久。

• 更新了统计寄存器说明。

• 编辑了 tx_underflow_counter0,tx_underflow_counter1,rx_pktovrflow_etherStatsDropEvents,rx_pktovrflow_error信号中关于位的说明。

• 编辑了 csr_clk 信号中关于位的说明,并规定该信号采用所建议的 125 Mhz –156.25 Mhz 时钟频率,无论选择基于寄存器还是基于存储器的统计计数器。

• 更新了 tx_rst_n and rx_rst_n 信号说明以反映出由异步复位到同步同步复位的变化。

• 更新了 csr_waitrequest 信号说明。

2013 年 12 月 2013.12.02 首次发布

B. 低延迟以太网 10G MAC 用户指南文档修订历史

UG-01144 | 2016.10.31

反馈 低延迟以太网 10G MAC 用户指南

91