小编最近在做逻辑综合时,总在 Verilog HDL 以及 SDC 内见到 SERDES 时钟以及相关约束,为了揭开 电串行器/解串器 Serdes 的神秘面纱,小编查阅了相关资料和论文,并在此文中对 SERDES 进行介绍讨论,同时介绍一种采用光电集成技术的,即采用光 SerDes 而非电 SerDes 的高速收发器。
图1 简单的串行器/解串器 Serdes 的架构图(来源百度百科)
SerDes 简介
首先我们要了解什么是 SerDes,SerDes 的应用场景又是什么呢?SerDes 又有哪些常见的种类?做 过 FPGA 的小伙伴想必都知道串口,与并行传输技术相比,串行传输技术的引脚数量少、扩展能力强、采 用点对点的连接方式,而且能提供比并行传输更高带宽,而 SerDes 的主要作用就是把并行数据转化成为 串行数据,或者将串行数据转化为并行数据的“器件”。
SerDes 的全称是 SERializer(串行器)/ DESerializer(解串器),这种主流的高速的时分多路复用(TDM),点对点的串行通信技术可以充分利用通信的信道容量,提升通信速度,进而大量的降低通信成本。目前,商用基于 SerDes 架构的通信协议最高可实现单通道 56Gbps(好像已经可达112Gbps)的速率,在未来高带宽、低成本的应用领域会 越来越广泛。
实际上 PCIE,JESD204B 等复杂协议都是基于 SerDes 协议,常见的电SerDes 就 PCIE 等协议来说,更接近物理层,所以 SerDes 通常又被称之为物理层(PHY)器件。正是因为 SerDes 的强电气属性,使得 Serdes 具有以下优点:
1. 减少布线冲突(非独立时钟嵌入在数据流中,解决了限制数据传输速率的 Signal 时钟的 Jilter 问题);
带宽高 ;
2. 引脚数目少 ;
3. 抗噪声、抗干扰能力强(差分传输);
4. 降低开关噪声;
5. 扩展能力强;
6. 更低的功耗和封装成本;
根据 SerDes 的结构的不同可以将其分为四类:
并行时钟 SerDes:将并行宽总线串行化为多个差分信号对,传送与数据并联的时钟。这些 SerDes 比较便宜,在需要同时使用多个 SerDes 的应用中,可以通过电缆或背板有效地扩展宽总线;
8B/10B 编码 SerDes(最常见的结构):将每个数据字节映射到 10 bit 代码,然后将其串行化为单一 信号对。10 位代码是这样定义的:为接收器钟恢复提供足够的转换,并且保证直流平衡(即发送相 等数量的‘1’和‘0’)。这些属性使 8B/10B 编码 SerDes 能够在有损耗的互连和光纤传输中以较少的信 号失真高速运行;
嵌入式时钟 SerDes:将数据总线和时钟串化为一个串行信号对。两个时钟位,一高一低,在每个 时钟循环中内嵌串行数据流,对每个串行化字的开始和结束成帧,并且在串行流中建立定期的上升 边沿。由于有效负载夹在嵌入式时钟位之间,因此数据有效负载字宽度并不限定于字节的倍数;
位交错 SerDes:将多个输入串行流中的位汇聚为更快的串行信号对。
SerDes 支持非常多的的主流工业标准,比如 Serial RapidIO ,FiberChannel(FC),PCI-Express (PCIE),Advanced Switching Interface,Serial ATA(SATA),1-Gb Ethernet,10-Gb Ethernet(XAUI),Infiniband 1X,4X,12X 等。
SerDes 结构
事实上在 SerDes 收发器内部包括高速串并转换电路、时钟数据恢复电路、数据编解码电路、时钟纠 正和通道绑定电路,为各种高速串行数据传输协议提供了物理层(PHY)基础。而主流的 8B/10B 编码 SerDes 则主要由物理介质相关子层(PMD)、物理媒介适配层(Physical Media Attachment,PMA)和物理编码子层(Physical Coding Sublayer,PCS)所组成,且收发器的 TX 发送端和RX接收端功能独立。
图2 SerDes收发器内部的电路物理层结构图
各物理层的作用:
1. PCS 层,负责数据流的编码/解码,是标准的可综合 CMOS 数字逻辑,可以通过逻辑综合实现 软硬综合实现。
2. PMA 层,是数模混合 CML/CMOS 电路,负责负责串化/解串化,是理解 SerDes 区别于并行接 口的关键。
3. PMD 层,负责串行信号通信。
涉及模块:
1. TXPLL:这个模块主要使用具有 1ps 以下的抖动的时钟为参考,输出数GHZ级的时钟。
2. RXCDR(时钟恢复):这个模块是一个复杂的控制回路,作用是来追踪传入数据的平均相位, 并不管 Path 上的任何 SI 或失真,通常是通过复杂的相位旋转器或 CDR 驱动的锁相环来完成的。
3. TXdriver:这个模块把序列化模块转化为差分信号。
4. RX 均衡器:此模块用连续的时间均衡器以及 DFE(裁决反馈均衡器)来均衡高速效应,通常 需要一个自动增益的电路来促进均衡效果,RX 均衡器通常以状态机逻辑和软件的形式来实现自动校准。
转化过程:
1. 发送(TX)即并转串 简单的来说就是并行信号通过 FiFO,传递给内部的 8b/10b 编码器、扰码器,防止数据连 0/1, 之后传递给串行器进行转化,经过均衡器均衡后,由驱动发出。
2. 接收(RX)即串转并 简单的来说就是输入的串行信号经过线性均衡器均衡后,去除了高速时钟的 jilter 后,CDR 从数 据中恢复 Caputure 时钟,并通过解串器转为对齐的并行信号,由驱动发出。
光 SerDes 解串器
目前光互连中电串行/反串行器(SerDes)的高功耗和速度提升障碍是光互连发展的阻碍,人们逐 渐把目光投向光SerDes的高速收发器。光 SerDes 解串器采用时间交错的多路复用技术来进行并行 串行光信号的直接转换,同时电 SerDes 的缺失极大地降低了数据传输通道中的功耗,以一个工作在 20 个数据速率为 2GHz 的并行数字路径和 1个40GHz 串行光通道之间的光 SerDes 收发器为例,其功 耗仅为 13.5pJ/b 左右,要远远低于同类型电 SerDes 的静态功耗。同时结合波分复用(WDM)、脉冲幅 度调制(PAM)、正交相移键控(QPSM)等多种光复用技术,可进一步提高带宽。
在数据中心、超级计算机和光纤接入网的数据通信中,对未来带宽的需求不断增长,这促使传 统的电子链路被光链路取代,用于片内和片外通信。虽然光学技术在带宽、损耗、串扰、电磁兼容 等方面具有优势,但由于光信号不能直接由处理器处理,需要将光信号转换为电信号。传统的光互 连通信解决方案是将并行电信号通过芯片内部的串行器/反串行器(SerDes)转换为高速串行电信号, 再通过芯片外部的光收发器转换为光信号。由于 SerDes 电路的高功耗和链路比特率,光互连的发展 逐渐面临瓶颈。收发器的大部分功率消耗在模拟电路,特别是 SerDes 上,而不是光学器件上。
以当前 28Gb/s 系统为例,收发器的光电转换(EO)和光电转换(OE)功耗仅为 7.2pJ/b。但是整个 链路的功率预算增长到 29.5pJ/b,其中22.3pJ/b(75.6%)是由 SerDes 电路贡献的,这与 OE-EO 转换没有直接关系。进一步的带宽扩展受到严重限制,因为需要均衡来恢复信号完整性,并在高速串行 链路的末端重新计时,即使是非常短的几英寸距离。同时提高比特率和保持低功耗是不可持续的。因此,最好是提高并行度来提高链路比特率。但是并行化程度的提高是由芯片的引脚数决定的,而 引脚数是由制造工艺、芯片尺寸、芯片顶层设计等决定的。
简单地说,光 SerDes 就是利用时分复用技术将并行电信号加载到光载波上,获得单波长单通道 电平可能高于 40Gb/s 的串行光传输,同时完成光电和串并联转换。如图 3 所示,传统的电子 SerDes 收发器需要两级转换,以高速串行电信号为介质,将低速并行电信号转换为高速串行光信号,而光 SerDes 收发器实现了低速并行电信号与高速串行光信号的直接转换,即比传统的电 SerDes 多了一 级光电信号转化。
图3 两种收发器的比较。(a)在传统收发器中,以高速串行电信号为介质,利用电子 SerDes 将并行 电信号转换为高速串行光信号。(b)在所提出的收发器中,利用光 SerDes 将并行电信号直接转换为 高速串行光信号。
好啦,到这里关于 SerDes 解串器的所有技术详解以及行业前沿发展小编就介绍到这里了,不知道各位 ICer 有没有对数模混合中常见的 SerDes 有更深刻的理解呢?我是处芯积律,感谢观看!!!
END
作者:梨果爱秋天
文章来源:处芯积律
推荐阅读
- 学会用代码绘制接口时序图
- RISC-V笔记——内存模型公理
- 闲聊内存模型(Memory Model)
- SystemVerilog中的time、stime、realtime的一些事儿
- 一致性协议挂死(hang)分析
更多 IC 设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。