1、SerDes技术概述
各位同学好,我是老李。在芯片验证这行摸爬滚打了十几年,今天咱们来聊聊SerDes。说实话,每次带新人时,我第一个要讲的就是这个。为什么?因为它是高速通信的命根子。
什么是SerDes?
SerDes,全称Serializer/Deserializer,中文叫串行器/解串器。说白了,就是把并行数据转成串行数据发出去,收回来再转回并行。
你可能会问:为什么要多此一举?嗯,我刚开始接触时也有这个疑问。后来在做一个PCIe项目时,才真正体会到它的价值。
核心功能:
- 发送端:并行数据 → 串行数据(Serializer)
- 接收端:串行数据 → 并行数据(Deserializer)
举个例子。假设你要传8位数据,用并行方式需要8根线。用SerDes呢?1根线就够了。你想想看,在芯片引脚资源那么紧张的情况下,这有多重要。
串行与并行通信的对比
咱们直接上表格,看得更清楚。
| 对比项 | 并行通信 | 串行通信(SerDes) |
|---|---|---|
| 数据线数量 | 多(8/16/32根) | 少(1-4对差分线) |
| 传输距离 | 短(< 1米) | 长(可达数米) |
| 抗干扰能力 | 弱 | 强(差分信号) |
| 时钟同步 | 需要独立时钟线 | 时钟嵌入数据中 |
| 典型速率 | 几百Mbps | 几十Gbps |
| PCB布线难度 | 高(等长要求) | 低 |
我在项目中遇到过一件事。有个同事坚持用并行总线做芯片间通信,结果板子一跑起来,信号串扰得一塌糊涂。后来换成SerDes,问题全解决了。说白了,高速场景下,串行是唯一的选择。
SerDes在高速通信中的核心地位
现在的通信标准,你数数看:PCIe、USB、SATA、以太网、HDMI...哪个离得开SerDes?
为什么会这样?原因有三:
- 速率瓶颈:并行总线速率上不去,因为信号偏移(skew)问题。我做过一个DDR3项目,为了调等长,layout工程师差点跟我翻脸。
- 功耗优势:串行传输每比特功耗更低。你想想看,同时翻转16根线和翻转1根线,哪个省电?
- 扩展性好:想要更高带宽?加通道就行。SerDes的通道化设计,让速率扩展变得很简单。
个人经验:做SerDes验证时,千万别只看功能。要重点关注抖动、眼图这些模拟指标。我曾经吃过亏,功能全对,但眼图一塌糊涂,流片回来根本没法用。
SerDes的基本架构
下面这张图是我自己画的,把SerDes的核心模块都标出来了。
这张图里,发送端有PLL生成高速时钟,Serializer把并行数据转成串行,Driver负责驱动差分线。接收端呢,Receiver先接收信号,CDR从数据里恢复时钟,最后Deserializer转回并行。
注意:CDR是SerDes里最难搞的模块。我曾经在一个10Gbps的项目里,CDR锁定时间长了那么几微秒,整个链路就起不来。调试了整整两周,最后发现是环路滤波器参数没配好。
SerDes的关键技术指标
做验证时,这几个指标你必须盯死:
- 数据速率:单位Gbps,比如10.3125Gbps(10G以太网)
- 抖动性能:包括随机抖动(RJ)和确定性抖动(DJ)
- 眼图张开度:眼高、眼宽,直接决定误码率
- 误码率(BER):通常要求< 1e-12
- 功耗:每Gbps多少毫瓦,现在都追求低功耗
嗯,这里要注意。很多新手只看速率,觉得速率高就牛。其实抖动和眼图才是硬功夫。我见过一个芯片,标称28Gbps,结果眼图闭得死死的,根本没法用。
小结
SerDes说白了就是高速通信的基石。从并行到串行,不是简单的线变少了,而是一整套技术的革新。做验证时,既要懂数字逻辑,也要懂模拟特性,这才是SerDes验证的难点所在。
下一节咱们会深入SerDes的状态机设计,那是控制整个链路握手的关键。先消化今天的内容,有问题随时交流。