10G/25G Ethernet Subsystem IP Core的使用

1. Configuration

  • General选项卡

    select core 有多种架构方式,我选择Ethernet MAC + PCS/PMA;

    速度可接口就不同多说;

  • PCS/PMA Options

Base R/KR Standard:Base-R和Base-KR 是两种以太网物理层接口标准。在IEEE 802.3 有详细的介绍,简单的说就是定义了连接方式和编码方式。Base代表基带(编码),R代表编码方式是64R/66R,K代表背板。Base-R是走光纤,而Base-KR是串行走背板铜线。具体介绍还可以参考以下博客:

以太网物理层协议整理(2)-万兆以太网

Include FEC Logic:FEC即前向纠错,过在传输码列中加入冗余纠错码,在一定条件下,通过解码可以自动纠正传输误码,降低接收信号的误码率(BER)。

Auto Negotiation/Link Training Logic:自协商相关的逻辑控制,这儿不需要。

物理层相关的结构,可以参考下图。

  • User Interface

主要是配置IP Core的方式,这个比较常见,不做过多说明。

2. MAC Options

  • Flow Control

流量控制选择,IEEE 802.3中有,IP core貌似能实现暂停和继续发送或接收;

  • IEEE PTP 1588V2

这是个比较重要的功能,关于1588可以专门查阅文献,此处用“2步”方式,周期是4000ps,即250MHz,时钟需要自己引入;

  • Datapath Parity Feature

奇偶校验,IP core 采用的是偶校验。

3. GT Selection and Configuration

这个选项卡中主要是配置GT口。

  • GT Clocks

配置GT口的参考时钟和动态配置时钟Dynamic Reconfiguration Port (DRP)。

  • Core to GT Association

选择实际GT口的位置,这与实际的布板有关;

  • Advanced Options

这里面比较重要的就是插损(RX Insertion Loss at Nyquist),数值与实际的硬件设计有关。

4. Shared Logic

这个选项比较常见,主要涉及到example或者移植的时候,时钟。复位等公共的逻辑放在哪里的问题,不用多说。

仿真

IP core生成之后,打开Example 工程,可以进行回环数据仿真测试,比较慢(据说代码中增加宏定义SIM_SPEED_UP 可以提高仿真的速度,好像差不多),大约需要仿真到接近700us时才能看到回环数据。

PS:一开始以为GT口有数据,以为是回环数据,但是发现用于端的axi总线上还没发数据,后来咨询才得知:SerDes设备(GT口)上电后总线上一般都有数据传输,即使没有数据传输需求也会传送IDLE码。所以这些数据是IDLE码。

参考文献

IEEE802.3-2015 Cl74 BASE-R PHY的前向纠错(FEC)子层 等部分相关点翻译_Apollon_krj的博客-CSDN博客

前向纠错FEC纠错编码原理_半遮雨的博客-CSDN博客_前向纠错编码

posted @ 2021-03-10 17:38  肉娃娃  阅读(1444)  评论(0编辑  收藏  举报