1. 关键指标
| 项目 | 实现 |
|---|---|
| 链路位置 | VGA2 之后,数字 offset 修正与 RX FFE 之前 |
| ADC 架构 | 4 相 × 每相 8 个 slice,共 32 路时间交织 |
| 单路输出 | 7-bit offset-binary raw code,范围 0~127 |
| 并行接口 | 每个低速数据周期输出 32 个 sample,共 224 bit |
| 四相顺序 | 0°、90°、180°、270°,相邻采样时刻相差 1 UI |
| 单组时钟 | 周期 4 UI;50G PAM4 模式下为 6.640625 GHz |
| 单 slice 等效采样率 | 50G PAM4 模式下为 830.078125 MS/s |
| 采样结构 | 两级模拟 interleaver + slice 内差分 bootstrap |
50G PAM4 模式的符号率为 26.5625 GBd,1 UI=37.647 ps。四个相位各取每四个 symbol 中的一个,因此单组时钟频率=符号率/4=6.640625 GHz;每组内 8 个 SAR slice 轮流工作,单个物理 slice 每 32 UI 转换一次,等效采样率=符号率/32=830.078125 MS/s。
这里的 slice 指单个 SAR ADC 转换子单元,sample 指采样值,symbol 指调制符号;三者分别用于描述物理单元、转换数据和链路时序。
32 路并行度与调制方式无关;PAM4 与 NRZ 的差别主要体现在符号映射、目标幅度和后级判决,采样时钟按各模式的符号率配置。
2. ADC 在 RX 链路中的位置
text
RXP/RXN -> RTERM/BLWC -> Data CTLE -> VGA1 -> VGA2
-> 4-phase analog interleaver
-> 4 groups × 8 redundant SAR slices
-> group/top handoff -> 224-bit ADC raw data
-> offset-binary转signed + per-channel offset修正
-> 16-tap RX FFE -> PAM4 DFE / slicer
ADC 接收 VGA2 的差分输出,把每个 symbol 时刻的模拟幅度转换成 7-bit 数字码。它不做 PAM4 四电平判决,而是保留较细的幅度信息,让后级数字 FFE/DFE 完成均衡和判决。
BBCDR 使用 VGA2 后的独立 CDR CTLE 和二元采样器支路。主 ADC 与 BBCDR sampler 共享前端信号来源和恢复时钟体系,但采样器、电平码、offset 校准及输出用途均不同,不能当作同一组比较器。
3. 四相×八路的顶层组织
rx_adc32x_top 接收四个 4UI 时钟:
| 顶层时钟 | ADC 相位 | slice group |
|---|---|---|
clk4_ip |
0° | group 0 |
clk4_qp |
90° | group 1 |
clk4_in |
180° | group 2 |
clk4_qn |
270° | group 3 |
四个时钟周期相同,上升沿依次相差 1 UI。每个 group 内有 8 个完全相同的 rx_adc_unit_slice,由 sample-pulse token 依次选通。group 0 处理 symbol 0、4、8......,group 1 处理 symbol 1、5、9......,其余同理。
顶层不是把四个 56-bit group bus 简单拼接,而是按时间顺序交叉展开。设 g=0~3 表示相位组,k=0~7 表示 group handoff 后的本地 sample 位置,则全局映射为:
text
global_sample_index = 4*k + g
raw_data[((4*k+g)*7)+:7] = group[g].adc_data_out[k*7+:7]
因此 data[6:0]、data[13:7]、data[20:14]、data[27:21] 分别是连续的 0°、90°、180°、270°四个 sample,而不是同一相位的四个 slice。这个映射必须与 adc_dp、FFE 的 32 路顺序保持一致,否则会把时间交织误差误判成信道 ISI。
4. 两级模拟 interleaver
晶体管级层次:
text
VGA2 differential input
-> non-overlap clock generator
-> n-sampler2x for 0°/180° ─┐
-> n-sampler2x for 90°/270° ├-> four p-sampler output stages
└-> phase-held 0°/90°/180°/270° nodes
第一层包含两组 rx_adc_interlvr_nsampler2x:一组处理 0°/180°,另一组处理 90°/270°。
第二层由四个 rx_adc_interlvr_psampler8x 组成,分别缓冲并驱动四个 phase group,每个相位输出连接到该 group 的 8 个 SAR slice。这种两级结构把高速输入端看到的开关负载与 32 个 slice 的总负载隔离开,同时给每个相位提供独立的偏置和驱动路径。
N/P 缓冲级的栅偏置决定静态电流与输出共模;电路功能分析可将偏置发生器等效为理想直流源,同时保留信号开关、尾管及负载。偏置应根据过驱动、饱和余量和带宽选取;跟踪误差、保持下垂与相位间串扰需由瞬态、AC/PAC 或 PSS 仿真确认。
四个 clk4_* 在 analog top 内先由本地时钟 buffer 驱动,再进入 rx_au_adc_clkgen,产生各组的 adc_clk_0/90/180/270 和起始 sample pulse。每相有独立的 del_ctrl_*[3:0],校准可改变局部边沿而不重排 224-bit 数据总线。时钟延迟单元、interleaver aperture 与 slice token 传播延迟共同决定有效采样时刻;验证时应同时测量模拟 phase-held 波形和数字 handoff 标志,不能只对外部 clk4_* 做理想相位比较。
ADC 参考按公共 vref_root→32 个 slice 本地参考缓冲→CDAC 分层分发。公共根参考可用理想 0.500 V 表示;各 slice 的 MOS 参考缓冲仍承担充放电电流,局部输出阻抗与建立时间决定 reference droop,不能把所有 CDAC 底板直接视为理想电压节点。
5. slice 内 bootstrap 与保持节点
四相 interleaver 先在正确的 UI 位置形成 phase-held 模拟节点,随后 group 内被选中的 SAR slice 用差分 bootstrap 开关把该电压转移到本 slice 的 CDAC 顶板:
text
phase-held P/N
-> differential bootstrap NMOS
-> CDAC top plate P/N
= gain-cap top plate P/N
= comparator input P/N
-> HOLD / asynchronous SAR conversion
每侧主采样 NMOS 的发布网表尺寸为 L=16 nm、NFIN=4、M=24。栅极由本地 bootstrap driver 驱动,track 阶段 boosted gate 随输入共模抬升,使主开关在较宽输入范围内近似维持稳定过驱动,减小导通电阻随输入变化引起的动态失真。
该 slice 没有独立的大型 hold capacitor。开关关断后,保持电荷分布在主冗余 CDAC、gain calibration 电容、比较器输入、电路寄生及 bootstrap 器件上。因此"采样电容"不能只按某一个显式元件计算;输入带宽、kT/C 噪声和比较器回踢(kickback)都必须在完整 slice 或 PEX 网络中评估。
每个 group 的 samp_pulse_in 进入第一个 slice,再沿 8 个 slice 逐级传播。token 有效时完成局部采样准备,token 结束后进入保持和转换窗口。token 主要负责把稳定的 phase-held 电压分配给八个低速 SAR 核心;真正相对于串行数据的 0°/90°/180°/270° aperture 仍由前面的四相 interleaver 时钟决定。
6. 八路结果 handoff 与低速并行输出
单个 SAR slice 完成转换后先产生本地 7-bit code,group 内的 rx_adc_ho_int 再把八个不同时刻完成的结果整理到同一个低速 frame。发布连接对应的 group-local 输出顺序为:
text
physical slice order : 0 1 2 3 4 5 6 7
handoff bus order : 4 5 6 7 0 1 2 3
前四个位置保存上一轮后半组 slice 4~7,后四个位置接入当前轮的 slice 0~3。这样在 top handoff 时刻,八个位置都属于同一个连续 32-UI frame,不会混入尚未完成的新结果。
clk_adc_handoff[1] 固定为 0。下游看到的是每个 handoff 周期 32 个按 symbol 时间排列的 7-bit sample。
每个物理 slice 还有唯一 5-bit 地址,由 3-bit 本地 slice index 与 2-bit group ID 组成。gain calibration 通过该地址选择某一个模拟 gain bank;数字 offset code 则在 32 路数组中按同一全局顺序保存。调试时需要同时核对物理地址、group-local handoff 位置和 224-bit global sample index,三者不是同一种编号。





