一、简介
高速信号设计中,如果没有合理地处理信号完整性问题,可能导致严重的反射、过冲、串扰、时延、辐射等问题,破坏系统时序,导致系统工作异常。
1.1 反射
大部分信号完整性问题的根源在于单个信号网络上,对于单个网路而言,大部分问题的根源在于信号传输路径上的阻抗不连续。对于信号完整性问题,应优先处理单个网络的阻抗及反射问题,再进一步考虑多个网络之间的串扰问题。如果单个网络存在多次反射且反射严重,严重破坏信号质量,可能使得信号不能正确识别,更甚者还会对邻近网络产生串扰,影响邻近网络的信号质量。
从单网络的角度出发,考虑一些措施来减少反射问题:
1、走线尽量短,可以减少多次反射。
2、合理端接。
3、保证信号回流路径完整。
4、走线平滑处理,减少阻抗不连续性。
1.2 串扰
高速信号沿导线传输时,电磁波耦合到周围导线上,当这种耦合达到一定强度时,使得周围导线产生其他信号,即是串扰。严重的串扰会导致信号误判,一个二进制1变成了0,都有可能导致系统工作不稳定。与串扰有关的参数是信号线之间的耦合系数,对于两条平行走线而言,走线距离越近耦合系数越大,信号上升/下降时间越小耦合系数越大。由于PCB尺寸有限,DDR电路Layout设计中经常会遇到串扰的问题,需考虑一些措施来尽量减少串扰:
1、改善单网络的阻抗连续性问题,减少对外的能量辐射。
2、减少平行走线。
3、增大线距,至少满足3W原则,一般情况下DDR走线线宽小,特别是两层板PCB,DDR走线特性阻抗远大于50欧姆,3W的要求是不够的,需要增大线距,或者在线与线间插入地线进行隔离。
4、增大信号上升/下降时间。
1.3 同步开关噪声SSN
SSN(Simultaneously Switching Noise),即同步开关噪声,与电源完整性问题密切相关。大量逻辑IO同时开关所需要的瞬间电流,会引起电源和地平面上的电压波动,就是同步开关噪声SSN,或者称之为电源/地弹噪声。常见的现象是电源电压突然跌落或接地电压突然抬高,影响阈值的判断,导致时序问题。
二、前仿真
前仿真指的是PCB Layout前的仿真。为了保证PCB设计的准确性,减少改版次数,缩短产品研发周期,有必要对高速信号进行前仿真,确定布线规则并指导CAD工程师进行PCB设计。以DDR电路布局布线为例,通过前仿真,可以制定DDR信号线的线长、线宽、线距等参数的约束条件。
2.1 仿真模型
常见的芯片IO模型有IBIS模型和SPICE模型两种。SPICE模型基于晶体管和二极管特性参数建模,仿真精度高,同时仿真耗时大,并且SPICE模型详细描述电路内部结构和参数,这种模型一般很难得到。IBIS(Input/Output Buffer Information Specification)模型即是输入输出缓冲器模型,基于V/I曲线,主要包含源输出阻抗、上升/下降时间、输入负载等参数,可以提供驱动器和接收器的行为描述,并且不会泄漏芯片内部信息。目前我们从供应商得到的芯片IO模型基本都是IBIS模型。IBIS模型文件类型为.ibs格式。主芯片的IBIS一般找供应商提供。DDR的IBIS模型,大厂的一般都在官网提供了,如Hynix、Zentel、Winbond的DDR IBIS模型都可以上其官网下载到,官网下载不到的可以找供应商提供。
2.2 仿真软件
常用的前仿真软件有Cadence和HyperLynx,通过导入芯片仿真模型进行仿真,针对匹配电阻的阻值及位置、线长线宽线距、频率等参数进行分析,从而制定约束条件。
三、后仿真
后仿真即布局布线后的仿真分析,可以验证前仿真得到的约束条件的正确性。加入实际布局布线参数进行仿真,仿真结果更接近实际结果,尽可能地发现在前仿真中被忽略的信号完整性问题,如串扰、地弹等,以及时序等问题。从后仿真发现问题,从而对PCB进行针对性的修改,再重新仿真验证,直到仿真验证通过后才能确定最终的PCB设计。
3.1 仿真软件
Cadence、HyperLynx这两款软件同样可以实现后仿真。这里介绍另外一款仿真软件,是ANSYS(Ansoft与ANSYS已合并)的SIwave及Designer/Nexxim。
SIwave是一款电磁分析软件,可以用于分析电源完整性(PI)、信号完整性(SI)、EMI等,支持多种PCB Layout格式导入,并实现频域分析、时域分析、平面谐振分析、EMI分析,可以作为PCB设计指导及验证的一个有力的工具。使用SIwave分析DDR信号完整性,得到PCB上DDR数据走线的S参数,将S参数结合芯片IBIS模型放在Designer软件中进行时域仿真。
Designer是一款电路及系统分析软件,可以将多种电磁仿真模型整合到Designer中进行联合仿真。分析DDR信号完整性时,Designer可以动态连接SIwave,将SIwave得到的S参数作为电路中的模型进行时域模拟。