- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
紧凑、具有成本效益的低功耗以太网至网络处理器桥
通过SPI4.2桥接到网络处理器
以太网包通过10G MAC的地址过滤标准,进入6?位FIFO之后,协议逻辑转换6?位宽的FIFO逻辑并在通过它到达SPI4.2接口前把它转换为128位字。在协议逻辑中的这些FIFO用来控制接收和发送方向的数据流。如果通信发生拥堵,10G MAC与协议逻辑一起保证数据帧停止。还有一个微处理器接口,可通过各种控制寄存器调整流量控制。经过标准的Ethernet X_ON和X_OFF流控制命令,协议逻辑控制至10G MAC的流量。于是协议逻辑间接地转换流量控制到基于SPI4.2的状态命令。
SPI4.2有两个方案在一个链路里实现流量控制。第一个是基于credit的流程。对每个通道,credit在链路的每一方进行交换。如果接收方信道很拥堵的话,它将不再给予发送方credit,直到拥堵被清除。第二个流量控制方案是基于状态。在此模式,报告排队的状态,比如starved或者satisfied,队列中充满数据时停止传送。基于状态的流量控制用得较多,因为它易于实现。例如莱迪思的SPI4.2至XAUI桥的IP使用基于状态的流量控制。
这里是一个流量控制的例子,进入方向是从网络处理器到以太网交换机。网络处理器完成它的包时,它询问其状态通道的状态。可能的状态是starved/hungry,或者satisfied,这是由桥内的入口FIFO的级和电路板上微处理器接口的流量控制寄存器来决定。倘若不要求流量控制,网络处理器初始化传输,并传送包到桥的SPI4.2接收接口。当包进入桥时,进行128到6?位数据宽度转换,数据写入入口FIFO,具有用户可编程阈值支持存储、发送和切入操作。一旦超过了用户可编程传送阈值,将会告知10G MAC一个包有效。于是10G MAC校验XAUI接口流量控制的状态,如果无效的话,传送这个包。在出口方向的流量控制有相似的数据流,但是需要将出口FIFO阈值设置到较高,以便提供SPI4.2通过XAUI的较高带宽。例如运行HiGig+产生12Gbps的带宽。然而SPI4.2接口经常运行400-500MHz DDR,提供12.8?C16Gbps。因为流量控制逻辑是用FPGA门,以及内置存储器块来实现的,因此可以提供更加复杂的方案。
聚集多个以太网通道
上面讨论了协议转换逻辑,其中假设10Gbps源于单个10G管道。这对于许多到以太网交换机的网络处理器来说是足够了。然而某些设计中,10Gbps或者12Gbps管道需要分成多个通道。例如如果一个以太网交换聚合12个1Gbps以太网线,也许要求协议转换逻辑将12Gbps管道分割成12个通道。另外一个例子是线速率超负荷。如果24个链路的总带宽小于12Gbps聚合带宽,那么或许要分割24个通道。这些额外的通道需要更多的FIFO和逻辑来管理它们。桥的设计需要考虑配置的类型。无论用一个或者多个通道,数据必须通过协议逻辑先到SPI4.2接口,然后再到网络处理器。
SPI4.2功耗与动态对齐
SPI4.2从FIFO读数据或者写数据至FIFO,于是经16位源同步SPI4.2线猝发数据。为了达到很高的可靠的SPI4.2速度,大多数高性能网络处理器进行动态对齐。动态对齐接口是数据位可以依据时钟进行移入。使用动态对齐时,16个LVDS I/O的每个可以运行达1Gbps,总的最大吞吐量为16Gbps(16x1Gbps)。因为这个接口以这么高的速度运行,它通常要消耗几瓦,更不用说FPGA中的上千个LUT了。由于有了10GbE MAC,把FPGA与ASIC门做的SPI4.2逻辑相混合是最佳的。嵌入式SPI4.2核节省了数千个LUT,并将功耗减少到接近1瓦。
本文小结
对于许多基于以太网交换机的系统,XAUI至SPI4.2桥是必须的。FPGA的价值是提供灵活选择任何数量的网络处理器和以太网交换器件,提供用户化的桥接方案,完成聚合多个以太网流,以及在同一器件上实现多个桥。然而因为设计总要考虑成本,桥接解决方案的低成本,低功耗,消耗很少资源的特点是很关键的。LatticeSCM FPGA系列混合了实现10G MAC和SPI4.2接口的硬ASIC块。参见图3。其余的FPGA逻辑和存储器有足够的资源来实现桥接功能。要求单个通道SPI4.2至XAUI(或者相关的基于以太网协议)桥时,紧凑的17×17mm 256微距球栅BGA封装的LatticeSCM15 FPGA可以实现整个设计,功耗低,设计成本低且尺寸很小。
图 3:LatticeSCM15 FPGA 结构。
作者:Ted Marena
区域销售经理
莱迪思半导体公司