芯片的Serdes

SERDES 是芯片里负责高速串行收发的硬核 IP/模块,全称 SERializer/DESerializer(串行器/解串器)。

  1. 基本作用

一句话:把"并行多根线"变成"高速一根线",再变回来,用来做芯片之间或板卡之间的高速通信。

  • 发送端(Serializer):

把内部低速并行数据(比如 32bit、64bit 宽)

→ 按比特一位一位串行发送出去

→ 速率可以到几 Gbps 甚至几十 Gbps。

  • 接收端(Deserializer):

把高速串行信号

→ 恢复时钟和数据

→ 还原成并行数据给内部逻辑处理。

常见应用接口:

  • PCIe、USB3.x、SATA、SAS

  • Ethernet(1G/10G/25G/100G/400G 等)

  • HDMI/DP、MIPI、CSI/DSI

  • 芯片间高速互连(如 SerDes-to-SerDes 直连)

  1. 为什么要用 SERDES?
  • 减少引脚和走线:

比如 10Gbps 用 1 对差分线就能传,

换成并行 1Gbps 8bit 就要 8 对(还不算时钟)。

  • 提升传输速率:

单通道很容易做到 10G、25G、56G、112Gbps,

并行总线很难同时跑这么高且保持信号完整性。

  • 降低 EMI、简化 PCB 设计:

差分线+串行,抗干扰能力强,对布线要求相对可控。

  1. SERDES 内部主要组成(概念级)

不同厂商实现略有差异,但大致都有:

  1. PMA(Physical Media Attachment,物理介质适配层)
  • 并串/串并转换

  • 高速 TX 驱动、RX 输入缓冲

  • 预加重(Pre-emphasis)、均衡(Equalization)

  • 时钟恢复(CDR, Clock and Data Recovery)

  1. PCS(Physical Coding Sublayer,物理编码子层)
  • 8b/10b、64b/66b、128b/130b 等编码

  • 加扰(Scrambling),减少长 0/长 1,利于时钟恢复

  • 帧同步、对齐、校验等

  1. 时钟与 PLL/DLL
  • 产生高速串行时钟

  • 做时钟恢复和相位调整,保证采样点在眼图中心

  1. 关键性能指标
  • 线速率(Line Rate):比如 2.5G、5G、10G、25G、56G、112Gbps

  • 通道数:一个 SERDES 控制器可能有 4/8/16 等多个 lanes

  • 眼图(Eye Diagram):衡量信号质量,眼高、眼宽、抖动等

  • 抖动(Jitter):包括随机抖动、确定性抖动

  • 误码率(BER):如 1e-12、1e-15,越低越可靠

  • 功耗与面积:高速 SERDES 是芯片中最费电、最占面积的模块之一

  1. 在芯片中的位置和形态
  • 在 SoC/FPGA/ASIC 中,通常位于 I/O 环附近,靠近高速接口引脚。

  • 以 硬核 IP 形式提供:布局布线、模拟电路都由厂商优化好,用户通过配置寄存器选择速率、协议、均衡参数等。

  • 上层协议(如 PCIe 控制器、以太网 MAC)通过 TX/RX 数据接口与 SERDES 对接。

相关推荐
代码游侠6 小时前
学习笔记——Linux内核与嵌入式开发1
linux·运维·前端·arm开发·单片机·嵌入式硬件·学习
代码游侠7 小时前
学习笔记——Linux内核与嵌入式开发3
开发语言·arm开发·c++·学习
济6178 小时前
ARM Linux 驱动开发篇----Linux驱动开发与裸机开发的区别---- Ubuntu20.04
linux·arm开发·驱动开发
代码游侠12 小时前
学习笔记——Linux内核与嵌入式开发2
linux·运维·arm开发·嵌入式硬件·学习·架构
Mr_liu_66613 小时前
ns3-gym使用指南与简单原理解析
arm开发
小草cys13 小时前
【有问题未解决】Ubuntu arm版的桌面分辨率修改
linux·arm开发·ubuntu
爱编程的小吴1 天前
通义灵码输出软件设计文档实例1
arm开发·ai写作
szxinmai主板定制专家1 天前
基于 PC 的控制技术+ethercat+linux实时系统,助力追踪标签规模化生产,支持国产化
arm开发·人工智能·嵌入式硬件·yolo·fpga开发
切糕师学AI1 天前
ARM 汇编器中的伪指令(Assembler Directives)
开发语言·arm开发·c#
陌上花开缓缓归以1 天前
OPENWRT 端口link问题
linux·arm开发