一、Serdes的结构
二、Xilinx GT的结构
一、Serdes的结构
在自同步的方式中,串转并、并转串以及时钟恢复作为I/O设计的一部分,随着底层触发器的翻转速率不断提升,I/O的带宽效率也逐渐增加,由此引入的Serdes的技术,被广泛使用。
发送Tx端结构中的模块:
Transmit FIFO,发送端FIFO,在发送数据之前,暂时保持的待发送数据。 Line Encoder,线路编码器,将数据编码成适应不同线路的格式。编码器通常会消除无跳变的长序列,平衡数据中0/1跳变次数。
Serializer,串行器,将速率为m的n位宽的并行数据,转换成速率为m*n的串行数据。
Tx Line Interface,发送线路接口,用于模拟发送电路,支持多种驱动负荷和预加重功能。
接收Rx端结构中的模块:
Rx Line Interface,接收线路接口,用于模拟接收电路,差分接收器。 Deserializer,解串器,将速率为m*n的串行数据,转变成速率为m的n位宽并行数据。
Line decoder,线路译码器,将线路上的编码数据解析成原始数据。
Rx Elastic Buffer,接收侧弹性缓存,在用户侧使用数据前暂时保存数据。 Clock Correction and Channel Bonding,时钟修正和通道绑定,修正发送时钟和接收时钟之间的偏差,也可以实现多通道之间的歪斜修正。
时钟模块,用于发送端和接收端的时钟操作,倍频,分频以及时钟恢复等。
其他一些模块:
接收侧对齐模块,将接收侧的数据对齐到合适的字边界。comma字符,用于用户控制比特调整。
CRC生成与检测,多种编码4b/5b、8b/10b、64b/66b等。
二、Xilinx GT的结构
xilinx的GT的发送结构,并行数据从FPGA的逻辑用户端输入,经过PCS和PMA,输出到TX驱动。
PCS,Physical Coding Sublayer,中文可以叫做物理编码子层,从下图中可以看出TX PCS主要负责数据的编码,并且为FPGA用户侧提供Tx并行接口。经典网络ETH MAC+PCS/PMA模式中,TX PCS将来自MAC层的并行数据进行编码,比如40G采用64B/66B,当然还包括其他的处理,比如TX发送异步处理、相位调整等等。
PMA,Physical Medium Attachment,物理媒介适配层,TX PMA负责将PCS层的并行数据,转换为串行数据流,通过物理接口发送出去。
xilinx的GT的接收结构,高速串行数据从GTY收发器RX的PMA,进入PCS,最后进入FPGA逻辑用户侧。RX PMA负责物理接口接收到的串行数据,转换为并行数据,同时还需要进行时钟/数据恢复操作。将并行数据传递至RX PCS。RX PCS则对并行数据进行字边界探测和对齐,然后解码,数据到FPGA用户侧的跨时钟域处理等,最终呈现给FPGA用户侧的逻辑接口一般都是axistream数据接口。