【10G以太网】10G Ethernet Subsystem 学习记录

10G Ethernet Subsystem 学习记录

说明:本文摘自 V3学院 尤老师的培训班笔记,仅用于个人学习,不用于任何商业用途。
满足个人在公交车上或者其他需要不得不等待的时间段内学习的需要。

  1. 10GBASE-R 是一种使用 64B/66B 编码,数据流为 10.3125Gbit/s。一般情况下参考时钟为156.25M。为什么?
    10312.5/156.25=66
    每1bit的时钟为10.3125Gbit/s,那么如果是每66bit为一个数,那么其采样时钟就是10312.5/66=156.25M. (64b/66b)
    =============

  2. 10 GigeE WAN 广域网
    10 GigeE Lan 局域网
    可以通过电缆或者光纤来传输
    =============

  3. 千兆以太网接口:RGMII
    万兆以太网接口:XGMII (X为希腊数字中的10,代表10G)
    都是可以双沿传输的,但是10G subsystem 的 IP只支持XGMII 单沿。

    RS层把XGMII协议中的包头包尾都去掉,裸露出数据,传递给MAC层。MAC层转化为AXI-Stream的数据流传到LLC。LLC中需要我们自己写一些代码,把数据解出来或者反过来组帧一些数据发给MAC,MAC再—>RS-------……
    在这里插入图片描述

  4. 发送数据是小头模式,先发低字节,再发高字节。
    =============

  5. 为什么要把XGMII接口单独拿出来做开发?
    在一些特定的场景,希望万兆以太网取数据的过程是最快的,lantance是最小的。在这里做文章,可以使得取出的数据最快。
    =============

  6. 高频交易里边:万兆以太网接收到数据的包通过pcie传给x86系统,传给x86之间的延迟是不怎么方便去计算的。
    他们希望从接受到这个包到传给pcie的这个时间要尽可能的短,那问题来了,我不知道这个中间的延迟大概有多少?因为pcie板卡和x86系统的时钟是不同步的。所以需要有一个基本测定延时的方法。
    可以使用ieee1588的这个时钟校准的方法来移植到高频交易里边去测定延时。
    在这里插入图片描述
    在这里插入图片描述
    也可以借助外部的GPS秒脉冲进行同步,更加精准,绝对同步。
    在高频交易里谁的delay越小,谁就先能拿到最新的行情信息。
    里边有个小技巧,就是我们在master(pcie板卡)中的计数器如何去转化成和x86系统同一概念的时间,这里尤老师没有去细说。自己想想。
    =============

  7. 如果用背靠背的连续发包时序,会按照最小的帧间隔(12字节)去传输。如果帧间隔比较小,上位机可能会丢包,缓存不过来。
    板载pcie的板卡接上万兆的接口,通过pcie的接口把数据load到x86这一端。这种情况可以使得以太网的包可以大量的传递。
    即万兆进去,pcie出来给电脑主机
    在这里插入图片描述
    =============

  8. 注意背靠背的传输下一帧需要重新从[7:0]开始传。
    在这里插入图片描述
    =============

  9. Fb –> start
    I –> IDLE
    T –> terminate
    E –> error
    在这里插入图片描述
    在这里插入图片描述
    =============

  10. K7的板子,Pciex8, 加8对高速接口,支持10G以太网。
    Enternet/ 10G Ethernet Subsystem: 把mac和pcs pma合成一个的ip.
    在这里插入图片描述
    =============

  11. Base-R是标准的以太网,BASE-KR是用于背板的通信
    在这里插入图片描述
    =============

  12. 高速接口对复位比较敏感,必须在复位完成之后才能进行Link,或者说在某些情况下需要进行relink的时候,需要去复位,
    这个DBR clocking还是挺重要的,是用来产生复位的信号的。
    有的客户DRP CLKing设置的是100M,但最后给的是30M,导致高速接口有时能link上,有时候又link不上了。
    改过来就好了,很大可能性是它初始化的时候它复位时间不够所导致的。
    在这里插入图片描述

  13. 希望x86计算机计时和pcie板卡计时同步,可以在IEEE1588 Options配合MAC Options中打开AXI-Lite去配置MAC层的寄存器。我们这里没用,AXI-Lite没有打开。
    在这里插入图片描述在这里插入图片描述
    =============

  14. 117bank的高速收发器都是用的参考时钟sfp_clk_p
    在这里插入图片描述
    拓展:你这个117bank的参考时钟能不能给其他bank做参考时钟呢?
    可以,但是不能跨两个。比如117可以给116,115,118,119用。
    这些115,116,117,118都是一个quad。
    =============

  15. 仿真注意事项
    sim_speedup_control信号并不是直接拉高,而是有个拉低再拉高的过程。且必须要等到GSR拉低之后再把sim_speedup_control信号拉高。
    在这里插入图片描述
    在这里插入图片描述
    GSR信号一般需要有几百个ns,我们直接固定延时200个ns就ok了。
    在这里插入图片描述
    =============

  16. VHDL直接传递字符串!!!
    在这里插入图片描述
    =============

  17. 仿真记录
    在这里插入图片描述
    大约30us后core_ready才会拉高,要耐心等待。

    即使core_ready没有拉高,差分线上就已经有数据产生了,这时候axi-stream还没有给它发数据。网上查了说是一开始有IDLE的数据包,也会传过去。
    在这里插入图片描述
    =============

  18. 说明
    10G Ethernet Subsystem ipcore 使用起来很简单,只需要控制AXI-stream的接口即可。

### 回答1: 10G/25G以太网子系统是一种高速数字电路系统,用于实现数据的高速传输。仿真是指利用计算机模拟执行某些程序或实验的过程,可以帮助我们更好地理解和优化电路的性能。 通过仿真,我们可以对10G/25G以太网子系统的各种变量进行测试和优化。这些变量包括系统的时钟频率、数据包的大小和数量、以及各种网络传输协议的处理和优化。 在进行仿真时,我们可以使用各种软件工具,如Mentor Graphics、Cadence等,通过创建模型来模拟各种不同的情况并进行测试。我们可以通过仿真来验证设计的正确性,并发现可能出现的问题和瓶颈,从而提高系统的性能和可靠性。 在进行10G/25G以太网子系统的仿真时,我们需要仔细考虑各种不同的实际情况,如不同基础设施环境下的网络传输、不同硬件方案的适应性等,同时注意各种传输协议的特性和局限性,以确保设计的可行性和有效性。 总之,10G/25G以太网子系统的仿真是一个重要的工作,可以帮助我们更好地理解和优化系统的性能,从而提高传输速度和可靠性。 ### 回答2: 10G/25G以太网子系统是一个高性能的通信子系统,旨在提供高速数据传输和低延迟的通信能力。该子系统可适用于网络交换机、路由器、存储设备等多个领域,具有广泛的应用前景。 仿真是子系统设计过程中非常重要的一步,通过仿真可以验证设计的正确性和性能、发现潜在的问题并进行改进等。仿真测试中,需要进行多种测试,比如接收器误码率的测试、发射功率测试、时钟校验等等。 针对10G/25G以太网子系统的仿真测试,需要使用合适的仿真软件和工具。例如,可以使用Xilinx Vivado和ModelSim等工具进行仿真测试。在测试之前,需要进行子系统的详细设计,并将设计分为多个不同的功能单元,例如发射器、接收器、时钟校验等单元,并对每个单元进行检验。 在进行10G/25G以太网子系统的仿真测试时,需要关注性能参数,如延迟、吞吐量和误码率。并且需要针对不同的测试场景,设立不同的测试条件,如包长、负载、数据类型等,从而获得更具实际的测试结果。 总之,进行10G/25G以太网子系统的仿真测试非常重要,可以为子系统设计提供有效的保障,确保其能够在实际应用场景中稳定运行,并满足高速数据传输和低延迟通信的需求。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ethan_WC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值