4、模板参数设置(上):模板的电压阈值设置(Vih、Vil)、模板的时间阈值设置(Tsetup、Thold)、模板的参考电平。
好,我们进入模板参数设置这个重头戏。说实话,很多工程师拿到眼图模板,第一反应就是「直接套用芯片手册里的值」。但我在项目里吃过这个亏——手册给的是理想值,实际板子上的信号质量,往往差那么一口气。
模板参数设置,说白了就是给眼图画一个「合格框」。信号必须老老实实待在这个框里,才算通过。今天我们先聊上半部分:电压阈值、时间阈值和参考电平。这三个东西,是模板的骨架。
核心观点:模板参数不是死数字。它必须根据你的系统裕量、噪声环境和测试标准动态调整。照搬手册,大概率会误判。
4.1 电压阈值设置:Vih 和 Vil
Vih 和 Vil,全称是 Input High Voltage 和 Input Low Voltage。它们定义了接收端能正确识别「1」和「0」的最低要求。
我习惯把 Vih 理解为「眼睛的上眼皮」,Vil 是「下眼皮」。信号的眼皮如果耷拉下来了,也就是幅度不够,那接收端就可能误判。
设置这两个值,通常遵循一个原则:
- Vih:取接收端输入高电平最小值的 80%~90%。留点裕量。
- Vil:取接收端输入低电平最大值的 110%~120%。同样留裕量。
举个例子,DDR4 的接收端 Vih 典型值是 0.75*VDDQ,Vil 是 0.35*VDDQ。但我在实际项目中,会把 Vih 设到 0.8*VDDQ,Vil 设到 0.3*VDDQ。为什么?因为板子上的噪声和串扰,会让信号幅度缩水。你想想看,如果模板刚好卡在手册边界上,那测试结果大概率是红彤彤一片。
我的小技巧:设置 Vih/Vil 时,先看芯片的 DC 特性表。找到 Vih(min) 和 Vil(max),然后根据你的 PCB 损耗和串扰,上下浮动 5%~10%。别超过 15%,否则模板太严,良率会崩。
4.2 时间阈值设置:Tsetup 和 Thold
Tsetup 和 Thold,这是时序的命门。Tsetup 是数据在时钟有效沿之前必须稳定的时间,Thold 是之后必须稳定的时间。
在眼图模板里,这两个值对应的是「眼睛的横向开口」。开口越宽,时序裕量越大。我曾经在一个 10Gbps 的 SerDes 项目里,因为 Tsetup 设得太紧,导致眼图模板把一批本来能用的板子判了死刑。后来放宽了 5ps,良率直接提升了 12%。
设置方法:
- 查手册:找到接收端的 Tsetup(min) 和 Thold(min)。
- 加裕量:通常加 10%~20%。比如 Tsetup(min)=100ps,我设成 120ps。
- 考虑时钟抖动:如果时钟源有 10ps 的 RMS 抖动,那 Tsetup 至少再加 20ps。
这里有个坑:Tsetup 和 Thold 不是独立的。你设大了 Tsetup,Thold 可能就得缩小,因为总的时间窗口是固定的(一个 UI)。我一般先保证 Tsetup 的裕量,再调整 Thold。
注意:不要同时把 Tsetup 和 Thold 都设得很大。那样模板会变成一个「窄缝」,信号很难通过。我见过有人把两个都设成 50% UI,结果眼图全红。正确的做法是:根据你的数据-时钟相位关系,偏重其中一个。
4.3 模板的参考电平
参考电平,也叫 Vref。它是接收端用来判断信号是「1」还是「0」的基准电压。
在单端信号里,Vref 通常设在 Vih 和 Vil 的中间。比如 Vih=1.0V,Vil=0.4V,那 Vref 就是 0.7V。但在差分信号里,参考电平是 0V(差分对之间的电压差)。
我遇到过最头疼的情况:一个 LPDDR4 项目,参考电平被板上的电源噪声干扰,导致眼图模板的电压中心偏移。信号幅度明明够,但就是过不了模板。后来我在 Vref 路径上加了一个 0.1uF 的去耦电容,问题才解决。
设置参考电平的要点:
- 单端信号:Vref = (Vih + Vil) / 2。但要注意,如果信号占空比不对称,Vref 需要微调。
- 差分信号:Vref = 0V。但实际测试时,示波器的参考电平通常设为 0V 或 50% 幅度。
- 带 ODT 的接口:参考电平会受到端接电阻的影响。我建议先仿真,再实测校准。
实战建议:设置完 Vref 后,用示波器看一下信号的「眼图中心」是否与 Vref 对齐。如果偏了,说明你的参考电平没设对。调整方法:在 Vref 引脚上测直流电压,确保它与模板设置值一致。
4.4 知识体系:模板参数设置逻辑图
下面这张图,是我自己总结的模板参数设置流程。每次做新项目,我都会按这个逻辑走一遍。
这张图的核心逻辑是:从手册出发,但不止于手册。每一步都要结合你的实际板子情况。我每次做完一个项目,都会把微调后的参数记下来,形成自己的「参数库」。下次遇到类似设计,直接调出来用,省时省力。
4.5 常见问题与避坑
最后,分享几个我踩过的坑:
| 问题 | 原因 | 解决方法 |
|---|---|---|
| 眼图模板电压中心偏移 | Vref 被噪声干扰 | 加去耦电容,或从电源单独走线 |
| 眼图横向开口不足 | Tsetup/Thold 设得太紧 | 放宽 10%~20%,或优化时钟抖动 |
| 信号幅度够但模板报错 | Vih/Vil 与参考电平不匹配 | 检查 Vref 实际电压,校准模板 |
| 模板过严导致良率低 | 裕量加得太多 | 回退到手册值,逐步收紧 |
我的习惯:每次设置完模板参数,先跑 100 次仿真,看看眼图的「最坏情况」是否还在模板内。如果最坏情况都过了,那实测基本没问题。如果最坏情况刚好擦边,我会把参数再调松 5%。
嗯,模板参数设置的上半部分就到这里。电压阈值、时间阈值、参考电平,这三个东西是模板的「三根柱子」。柱子立稳了,后面的合格判定才有意义。下次我们聊下半部分:模板的形状、容差和高级技巧。