钟边沿速率为1至2ns或更快,即使运行在几兆赫的板子也要精心考虑。信号传递速度快的板子在设计时就要采用虚拟样板,先对系统功能进行透彻的仿真,然后决定电路图的布局布线。所谓虚拟样板是供设计者先行模拟仿真的系统模型。对模拟样板进行仿真,是为了分析信号的完整性和EMC性能,这意味着样板里必须有足够精确的器件模型。片子模型通常有两类:一类是功能级;另一类是电路/器件级,后者一般用的是Spice语言或类似Spice的语言。功能级模型用于对系统级整体设计的评估,而电路/器件模型则用于对设计内部各个零部件进行精确分析,找出难以鉴定的隐患。对这两类模型都要进行仿真,并检查器件互连及板子通路。
2.2.2 SpecctraQuest interconnect Designer的性能简介
SpecctraQuest interconnect Designer是Cadence公司为了满足高速系统和板级设计需要而开发的工程设计环境。它将功能设计和物理实际设计有机的结合在一起。设计工程师能在直观的环境中探索并解决与系统功能息息相关的高速设计问题。在进行实际的布局和布线之前,SpecctraQuest Interconnect Designer使设计工程师在时间特性,信号完整性,EMI,散热及其他相关问题上作出最优化的设计。这种统一的考虑不仅在单块板的系统中得到完美体现,更能在多块板构成的系统中,包括ASIC芯片,电路板,连接电缆,插接件等之间的连接进行分析。SpecctraQuest可以接受许多第三方厂商的网络表信息,时间特性数据(例如IBIS模型),提供了强大且易用的高速设计必须考虑的参数设置环境。元件的IBIS仿真模型由元件的制造商提供,也可以自定义元件的模型。IBIS (input/output buffer information) 输入/输出缓冲器信息规范,是一个元件的标准模型信息。IBIS模型是一种基于V/I曲线的对I/O 缓冲器快速准确建摸的方法,是反映芯片驱动和接收电气特性的一种国际标准,它提供一种标准的文件格式来记录如驱动器输出阻抗、上升/下降时间及输出负载等参数,非常适合做振铃( ringing) 和串扰(crosstalk) 等高频效应的计算与仿真。
IBIS模型是用于描述I/O 缓冲信息特性的模型,一个输出输入端口的行为描述可以分解为一系列的简单的功能模块,由这些简单的功能模块就可以建立起完整的IBIS模型,包括封装所带来的寄生参数、硅片本身的寄生电容、电源或地的嵌压保护电路、门限和使能逻辑、上拉和下拉电路等。
6
在SpecctraQuest的参数设置环境中你可以针对不同设计要求规定不同的约束条件。这些不同的约束条件可以通过参数分配表分配给电路板上不同的特定区域,或者分配给某一个信号组(group),甚至具体到某一个网络。这些约束条件包括了范围广泛的物理和电气性能参数,如常见的PCB线宽,过孔数目,阻抗范围,还有峰值串扰,过冲特性,信号延时,阻抗匹配等。SpecctraQuest内部包括SigNoise信号完整性分析工具,SigNoise能接受IBIS, Elecmodel和Quad模型,转换成其独特的设计模型化语言(DML)以完成复杂I/O结构的建模。这种结构内有可编程驱动强度缓冲器,动态上拉/下拉I/O缓冲器和动态钳位二极管。这种复杂的I/O结构模型是纯IBIS模型难以作到的。DML语言以Spice语言为基础,把IBIS模型嵌套在较大的宏模型中,在较大的Spice模型中有功能性IBIS模型,因此SigNoise能以快得多的速度进行仿真,而这种速度是纯Spice模型所无法达到的。
SpecctraQuest对高速系统的信号完整性分析和波形仿真,在高速系统设计中具有指导意义。设计者可以在电路板预布局的情况下,就可以对系统特性进行仿真,而且实践证明,仿真结果不好的布局,在完成布线后的仿真结果也不好。在进行布局的调整,完成布线后,再进行仿真,对于效果不好的网络分析原因,再加以针对性的改进,直至得到满意的布线结果。SpecctraQuest仿真流程如下:
7
图2.3
第三章 信号完整性分析概论
3.1 信号完整性(Signal Integrity)概念
信号完整性是指信号在信号线上的质量。信号具有良好的信号完整性是指当在需要的时候,具有所必需达到的电压电平数值。差的信号完整性不是由某一因素导致的,而是由板级设计中多种因素共同引起的。特别是在高速电路中,所使用的芯片的切换速度过快、端接元件布设不合理、电路的互联不合理等都会引起信号的完整性问题。具体主要包括串扰、反射、过冲与下冲、振荡、信号延迟等。
3.2 信号完整性的引发因素
信号完整性问题由多种因素引起,归结起来有反射、串扰、过冲和下冲、振铃、信号延迟等,其中反射和串扰是引发信号完整性问题的两大主要因素。
8
3.2.1 反射(reflection)
反射和我们所熟悉的光经过不连续的介质时都会有部分能量反射回来一样,就是信号在传输线上的回波现象。此时信号功率没有全部传输到负载处,有一部分被反射回来了。在高速的PCB中导线必须等效为传输线,按照传输线理论,如果源端与负载端具有相同的阻抗,反射就不会发生了。如果二者阻抗不匹配就会引起反射,负载会将一部分电压反射回源端。根据负载阻抗和源阻抗的关系大小不同,反射电压可能为正,也可能为负。如果反射信号很强,叠加在原信号上,很可能改变逻辑状态,导致接收数据错误。如果在时钟信号上可能引起时钟沿不单调,进而引起误触发。一般布线的几何形状、不正确的线端接、经过连接器的传输及电源平面的不连续等因素均会导致此类反射。另外常有一个输出多个接收,这时不同的布线策略产生的反射对每个接收端的影响也不相同,所以布线策略也是影响反射的一个不可忽视的因素。
3.2.2 串扰(crosstalk)
串扰是相邻两条信号线之间的不必要的耦合,信号线之间的互感和互容引起线上的噪声。因此也就把它分为感性串扰和容性串扰,分别引发耦合电流和耦合电压。当信号的边沿速率低于lns时,串扰问题就应该考虑了。如果信号线上有交变的信号电流通过时,会产生交变的磁场,处于磁场中的相邻的信号线会感应出信号电压。一般PCB板层的参数、信号线间距、驱动端和接收端的电气特性及信号线的端接方式对串扰都有一定的影响。在Cadence的信号仿真工具中可以同时对6条耦合信号线进行串扰后仿真,可以设置的扫描参数有:PCB的介电常数,介质的厚度,沉铜厚度,信号线长度和宽度,信号线的间距.仿真时还必须指定一个受侵害的信号线,也就是考察另外的信号线对本条线路的干扰情况,激励设置为常高或是常低,这样就可以测到其他信号线对本条信号线的感应电压的总和,从而可以得到满足要求的最小间距和最大并行长度。
3.2.3 过冲(overshoot)和下冲(undershoot)
过冲是由于电路切换速度过快以及上面提到的反射所引起的信号跳变,也就是信号第一个峰值超过了峰值或谷值的设定电压。下冲是指下一个谷值或峰值。过分的过冲能够引起保护二极管工作,导致过早地失效,严重的还会损坏器件。
9
过分的下冲能够引起假的时钟或数据错误。它们可以通过增加适当端接予以减少或消除。
3.2.4 振铃(ringing)
振荡的现象是反复出现过冲和下冲。信号的振铃由传输线上过度的电感和电容引起的接收端与传输线和源端的阻抗不匹配而产生的,通常发生在逻辑电平门限附近,多次跨越逻辑电平门限会导致逻辑功能紊乱。振铃由反射等多种因素引起的,振铃可以通过适当的端接或是改变PCB参数予以减小,但是不可能完全消除。
在Cadence的信号仿真软件中,将以上的信号完整性问题都放在反射参数中去度量。在接收和驱动器件的IBIS模型库中,我们只需要设置不同的传输线阻抗参数、电阻值、信号传输速率以及选择微带线还是带状线,就可以通过仿真工具直接计算出信号的波形以及相应的数据,这样就可以找出匹配的传输线阻抗值、电阻值、信号传输速率,在对应的PCB软件Allegro中,就可以根据相对应的传输线阻抗值和信号传输速率得到各层中相对应信号线的宽度(需提前设好叠层的顺序和各参数)。选择电阻匹配的方式也有多种,包括源端端接和并行端接等,根据不同的电路选择不同的方式。在布线策略上也可以选择不同的方式:菊花型、星型、自定义型,每种方式都有其优缺点,可以根据不同的电路仿真结果来确定具体的选择方式。
3.2.5 信号延迟(delay)
电路中只能按照规定的时序接收数据,过长的信号延迟可能导致时序和功能的混乱,在低速的系统中不会有问题,但是信号边缘速率加快,时钟速率提高,信号在器件之间的传输时间以及同步时间就会缩短。驱动过载、走线过长都会引起延时。必须在越来越短的时间预算中要满足所有门延时,包括建立时间,保持时间,线延迟和偏斜。 由于传输线上的等效电容和电感都会对信号的数字切换产生延迟,加上反射引起的振荡回绕,使得数据信号不能满足接收端器件正确接收所需要的时间,从而导致接收错误。在Cadence的信号仿真软件中,将信号的延迟也放在反射的子参数中度量,有Settledelay、Switchdelay、Propdelay。其中前两个与IBIS模型库中的测试负载有关,这两个参数可以通过驱动器件和接收器件的用户手册参数得到,可以将它们与仿真后的Settledelay、Switchdelay加以比
10