Tri Mode Ethernet MAC 与 1G/2.5G Ethernet PCS/PMA or SGMII 的连接
在设计中,需要将 Tri Mode Ethernet MAC 与 1G/2.5G Ethernet PCS/PMA or SGMII 之间通过
GMII 接口互联。Tri Mode Ethernet MAC IP 核的工作时钟源为 1G/2.5G Ethernet PCS/PMA or SGMII 输出的 userclk2,频率为 125MHz。同时,userclk2 也与 GMII 接口的各信号同步。GMII 接口连接如下图所示。由于本例程中不使用 MDIO 接口,无需连接。
IP 核使用注意点
Tri Mode Ethernet MAC
数据发送长度
Tri Mode Ethernet MAC IP 核在默认情况下,发送帧长度小于 64 字节时,IP 核会在帧末尾自动
补 0,补足至 64 字节,并且再帧末尾自动插入 4 字节 CRC。接收时,IP 核自动去除末尾 4 字节 CRC,但对于长度小于 64 字节的帧末尾补的 0 不会被去掉,仍会通过接收接口输出。因此,可以发送的数据长度在 14~1514(含 14 字节 MAC 帧头)字节之间。
IP 使用文档中对此有如下描述。
AXI-Lite 接口配置策略
通过 vivado 仿真 IP 核自带的 example,可以观察到 example 中通过 AXI-Lite 配置 IP 核的过程,
如下图所示。具体寄存器定义参考 PG051。
需要说明的是,最后 3 个步骤均与帧过滤功能有关。
其中,unicast address 就是设置 IP 核的本地 MAC 地址,用于过滤时进行地址匹配。如果开启
帧过滤功能,除了广播地址、暂停地址和本地 MAC 地址,含有其他目的 MAC 地址的帧将会被全部进行过滤,不被用户接收。 最后一个步骤启用 IP 核的 promiscuous mode,关闭了接收帧过滤功能,使 IP 核接收包含任何目的 MAC 地址的以太网帧。如果用户需要考虑进行 MAC 地址过滤可关闭该功能。相关寄存器如下图所示。
GTP 位置约束
A703 开发板中, A703-100T 使用的 FPGA 芯片的封装是 FGG484.
在 XDC 文件中,需要锁定 IP 核所使用的 GTP 对应于 FPGA 芯片的具体位置,并指定工程中 GTP 原 语所在的路径。在 A703 开发板中,包含了 2 个 GTP BANK,其中 SFP 与 MGT BANK216 连接。2 个 SFP模块分别与 X0Y12,X0Y13 的 GTP 连接。
例如,在 udp_ip_1g_sfp 例程中的 XDC 中的约束如下:
set_property LOC GTPE2_CHANNEL_X0Y0 [get_cells */*/*/transceiver_inst/gtwizard_inst/*/gtwizard_i/gt0_GTWIZARD_i/gtpe2_i]
由于使用了 GTP 原语锁定了 GTP 在芯片中的物理位置,每个 GTP 与相应的 RX、TX 引脚是一一对应的,因此,GTP 的 RX、TX 引脚可不作约束。