0


Xilinx - FPGA平台以太网接口(三)IP核配置及接口介绍

汇总篇:

Xilinx FPGA平台以太网接口(汇总篇)_子墨祭的博客-CSDN博客_fpga实现以太网接口


一、IP核配置

    在有了本系列(一)(二)的基础之后,我们开始进入实操。插句题外话,FPGA只是工具,会用就行了,更多的知识在FPGA之外;什么叫会用,直接用IP来搬砖轻轻松松。

    Xilinx为我们提供了一个叫做“Tri-Mode Ethernet MAC”的IP核,三种模式的以太网介质访问控制层器,支持全双工半双工的千兆、百兆、十兆和2.5G的传输速率,支持MII、GMII、RGMII、SGMII和TBI接口。文档为****《********PG051********》****。

    首先输入 ETH 找到三速以太网IP:

第一页:传输速率

     设置最大的通讯速率,1Gb/s支持高达1Gb/s的以太网速度。支持四种类型的物理接口,即GMII,MII,RGMII和内部接口均可用。2.5 Gb / s 只适用于物理接口为“内部”,所有其他类型均被禁用。

第二页:接口配置

物理接口:

Internal/MII/GMII/RGMII可选,配置与MAC接口的类型,接口类型,可以回顾系列(二)中的MAC层接口说明:

Xilinx - FPGA平台以太网接口(二)系统架构及MAC层接口介绍

  • MII支持10 Mb/s和100 Mb / s;
  • GMII支持10 Mb/s,100 Mb / s和1Gb/s;
  • RGMII是双沿采样,支持10Mb/s,100Mb/s和1Gb/s。
  • Internal是生成内核时,没有物理接口可用于连接到内部PHY,例如以太网1G / 2.5G PCS / PMA或SGMII LogiCORE。

我们这里选择RGMII,使用时根据具体情况而定。

PS : RGMII也可以使用原语完成设计(IDDR、ODDR、IDELAYE2、ODELAYE2、IDELAYCTRL)

MAC Speed:

    三速以太网IP可支持2.5Gb/s和1Gb/s速度运行,10Mb/s和100Mb/s速度运行以及全三速运行(10Mb/s,100Mb/s和1000Mb/s)。可用于速度支持选择的选择取决于所选的物理接口:
  • 当MAC数据速率设置为2.5 Gb / s时,仅内部模式可用。
  • 如果MAC数据速率设置为1 Gb / s,并且选择了GMII,RGMII或Internal,则可以选择三速操作和1 Gb / s操作。
  • 若MAC数据速率设置为1Gb/s并且选择了MII,则仅10Mb/s和100Mb/s的操作可用。

我们这里选择三速模式,可以通过接口改动传输速率。

管理类型:

    选择“ AXI4-Lite”选项以包括用于IP配置的可选管理接口。如果未选择AXI4-Lite管理界面,则AVB选项不可用。默认设置是选择AXI4-Lite管理接口。

    启用管理接口后,选择“管理数据输入/输出接口(MDIO)”选项以包括可选的MDIO接口。如果未选择此选项,则生成的内核不具有管理物理层中的对象所需的MDIO逻辑。

    如果启用了MDIO,请选择“为MDIO接口端口添加IO缓冲区”选项以为MDIO接口端口插入I / O缓冲区。这将创建双向I / O总线mdio,并为mdc插入输出缓冲区。如果未选择此选项,则将使用mdio_i,mdio_o和mdio_t端口生成内核。

AXI4-Lite频率:

    指定AXI4-Lite接口的频率。

第三页:共享逻辑

    选择放入example design。

第四页:特性

MAC选项:

    选择是否启用半双工逻辑。默认是全双工模式。

AVB选件:

    Audio Video Bridging,AVB用于增强以太网的实时音视频性能,同时保持了向后兼容传统以太网。如果选择此选项,则除了三模式以太网MAC license外,还需要收费的以太网AVB端点许可证来启用内核生成。

帧过滤器选项:

    可以使用帧过滤器生成内核,从而阻止接收与此MAC不匹配的帧。。

流控:

    启用基于优先级的流控支持。一般不用。若勾选,则包括在发送时生成PFC帧并在接收时解释PFC帧的电路。

统计宽度:

    使用内置的统计计数器生成内核。统计信息计数器可以是32位或64位宽。

统计复位:

    当包括统计计数器时,可以包括逻辑以确保在硬件复位时将计数器清除为零。默认选择。

二、接口介绍

重点关注标色的几部分:

浅绿色:表示接收部分

这是什么色:表示发送部分

蓝色:表示与PHY之间的接口

黄色:表示配置接口

颜色,同时也表示同一时钟域。

    PS:而在下一篇example design中,你讲会发现,example design在外围又封装了一层FIFO接口,tx/rx_axis_fifo_*

gtx_clk

IN

1

核的全局时钟,1Gbps是125M,2.5Gbps是312.5M

gtx_clk_out

OUT

1

该时钟相对于gtx_clk输入具有0°相移,并用于RGMII数据传输。

gtx_clk90_out

OUT

1

该时钟相对于gtx_clk输入具有90°相移,用于RGMII发送器时钟转发。

refclk

IN

1

仅适用于GMII或RGMI,空闲控制需要,200M到300M,

对于UltraScale需要到300至1333M

rx_mac_aclk

Out

1

用于在物理接口上接收数据的时钟,该时钟应用于为物理接口接收电路和RX AXI4-Stream接收电路提供时钟。

312.5MHz对应2.5 Gb/s

125MHz对应1 Gb/s

25MHz对应100 Mb/s

2.5MHz对应10Mb/s

rx_reset

Out

1

高电平有效 RX部分的软复位

rx_axis_mac_tdata

Out

8

核收到的用户数据

rx_axis_mac_tvalid

Out

1

rx_axis_mac_tdata的数据有效信号

rx_axis_mac_tlast

Out

1

rx_axis_mac_tdata端口的控制信号。

表示帧中的最后一个字节。

rx_axis_mac_tuser

Out

1

rx_axis_mac_tdata的控制信号。

在帧接收结束时置位,表示帧有错误。

rx_axis_filter_tuser

Out

X+1

每帧滤波器调谐器输出。可用于仅发送特定帧过滤器传递的数据。有关详细信息,请参阅帧过滤器

tx_enable

Out

1

对于RGMII,

若为1Gbps,则一直高电平;

若为100Mbps,则十个周期中1个周期为高电平

若为10Mbps,则一百个周期中1个周期为高电平

tx_ifg_delay

IN

8

用于可配置帧间间隙的控制信号

tx_statistics_vector

Out

32

状态收集统计

tx_statistics_valid

Out

1

tx_statistics_vector数据的有效信号

tx_mac_aclk

Out

1

用于在物理接口上传输数据的时钟,该时钟应用于为物理接口发送电路和TX AXI4-Stream发送电路提供时钟。

312.5MHz对应2.5 Gb/s

125MHz对应1 Gb/s

25MHz对应100 Mb/s

2.5MHz对应10Mb/s

tx_reset

Out

1

高有效,发送端模块的复位信号

tx_axis_mac_tdata

IN

8

要传输的帧数据

tx_axis_mac_tvalid

IN

1

tx_axis_mac_tdata的数据有效信号,高电平有效

tx_axis_mac_tlast

IN

1

tx_axis_mac_tdata的最后一个有效数据高电平

tx_axis_mac_tuser

IN

1

tx_axis_mac_tdata端口的控制信号。表示允许MAC向PHY发送错误的帧中的错误情况,例如FIFO欠载。

tx_axis_mac_tready

OUT

1

握手信号。当tx_axis_mac_tdata上的当前数据已被接受且tx_axis_mac_tvalid为High时,置位。在10/100 Mb / s时,这用于以正确的速率将数据计量到核心。

pause_req

IN

1

暂停请求:根据请求,MAC在当前数据包完成时发送暂停帧

pause_val

IN

16

暂停值:插入到传输的暂停帧的参数字段中。

speedis100

OUT

1

当内核以100Mb/s运行时,此输出有效。它来自MAC速度配置寄存器的位[13:12]。如果不存在可选的管理接口,则这是从配置向量位[13:12]派生的。

speedis10100

OUT

1

当内核以10 Mb / s或100 Mb / s运行时,此输出有效。它来自MAC速度配置寄存器的位[13:12]。如果管理接口不存在,则从配置向量位[13:12]导出

rgmii_txd

OUT

4

传输数据到PHY,与PHY接口数据

rgmii_tx_ctl

OUT

1

到PHY的控制信号

rgmii_txc

OUT

1

到PHY的时钟信号

rgmii_rxd

IN

4

接收PHY的数据

rgmii_rx_ctl

IN

1

来自PHY的控制信号

rgmii_rxc

IN

1

来自PHY的时钟

inband_link_status

OUT

1

来自PHY的链路状态

inband_clock_speed

OUT

2

来自PHY的链路速度,这个是PHY硬件配置的

mdio

INOUT

1

用于与PHY配置和状态通信的数据信号。若未使用则绑定高。输出数据信号,用于与PHY配置和状态进行通信

mdc

OUT

1

MDIO管理时钟:使用可选的管理接口时,根据提供的配置数据从s_axi_aclk派生。

三、补充说明

对上面接口的进一步说明。

下一篇,我们将继续Example Design的介绍,重点查看仿真内容。


本文转载自: https://blog.csdn.net/m0_52840978/article/details/123649915
版权归原作者 子墨祭 所有, 如有侵权,请联系我们删除。

“Xilinx - FPGA平台以太网接口(三)IP核配置及接口介绍”的评论:

还没有评论