一、40G/50G以太网子系统的特性
二、接收帧和发送帧
三、用户自定义的axis_tuser
四、128bit数据解析与拼接
一、40G/50G以太网子系统的特性
xilinx提供了40G/50G以太网子系统的IP,IP可配置为40G/50G MAC+PCS/PCS。不同的用户数据位宽以及性能如下,笔者在调试过程中,使用40G MAC+PCS的模式,采用128bit的跨接数据包的接口来进行调试。此处核时钟频率,serdes的差分时钟对,由外部硬件所提供,其实也就是高速bank上的输入的参考时钟。
二、接收帧和发送帧
128bit的跨接数据包接口,接收和发送帧都存在两种格式,正常帧格式和背靠背帧格式。
正常接收帧格式:
背靠背接收帧格式:
正常发送帧格式:
背靠背接收帧格式:
三、用户自定义的axis_tuser
接收和发送侧的axis_tready、axis_tvalid、axis_tdata,这些信号与标准的axistream的数据接口所描述的其实没啥差别,而axis_tuser可以看作是用户自定义的一组信号,随着axistream数据接口进行传输。
[55:00]的preamblein表示发送或接收的前导码,也就是通常以太网的7个8'h55。
sop,一帧的起始位置;eop,一帧的结束位置。ena表示有效,err表示错误。mty这个信号需要关注,尤其是与tkeep之间如何进行转换,是用来表示128bit中哪些数据是有效的。
四、128bit数据解析与拼接
128bit数据解析与拼接,主要是与标准的axistream数据的转换,此处标准的axistream,通常包括tready,tvalid,tdata,tlast,tkeep,或者是tuser。这里的tuser是业务层面传递下的用户自定义的信号,与128bit的模式中用户定义所表示的含义并不相通。通过一个模块实现接收128bit模式的数据转换为axistream标准接口和发送axistream标准数据接口转换为128bit模式的数据格式。
接收侧使用sop和eop来确认一帧数据的起始和接收,从而实现数据的转换。至于tlast直接对应eop。tkeep的转换,就需要对mty进行解析从而实现tkeep的输出。
发送侧,只采用正常帧格式发送,并且每次都只采用sop0来作为起始位置。根据tkeep从而实现mty信号的解析。eop的转换由tlast进行转换即可。