芯片的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 对接。

相关推荐
森焱森5 小时前
嵌入式硬件工程师应知 白银快速分析报告
linux·c语言·arm开发·嵌入式硬件·去中心化
森G18 小时前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
VekiSon21 小时前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
AI+程序员在路上1 天前
Nand Flash与EMMC区别及ARM开发板中的应用对比
arm开发
17(无规则自律)1 天前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
梁洪飞2 天前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
代码游侠2 天前
学习笔记——Linux字符设备驱动
linux·运维·arm开发·嵌入式硬件·学习·架构
syseptember3 天前
Linux网络基础
linux·网络·arm开发
代码游侠3 天前
学习笔记——Linux字符设备驱动开发
linux·arm开发·驱动开发·单片机·嵌入式硬件·学习·算法
程序猿阿伟3 天前
《Apple Silicon与Windows on ARM:引擎原生构建与模拟层底层运作深度解析》
arm开发·windows