• 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博客_前向纠错编码

    作者:肉娃娃
             
    本文版权归作者和博客园共有。觉得有价值,点个推荐。如果您要拿走,注明参考即可!
  • 相关阅读:
    LAMP企业架构读写分离
    docker技术入门(2)
    docker技术入门(1)
    终极实验
    java——并查集 UnionFind
    java——字典树 Trie
    java——线段树 SegmentTree
    java——最大堆 MaxHeap
    java——链表映射 LinkedListMap
    java——数据结构
  • 原文地址:https://www.cnblogs.com/rouwawa/p/14513169.html
Copyright © 2020-2023  润新知