信号完整性(SI)问题解决得越早,设计的效率就越高,从而可避免在电路板设计完成之后才增加端接器件。SI设计规划的工具和资源不少,本文探索信号完整性的核心议题以及解决SI问题的几种方法,在此忽略设计过程的技术细节。
1 SI问题的提出
随着IC输出开关速度的提高,不管信号周期如何,几乎所有设计都遇到了信号完整性问题。即使过去你没有遇到SI问题,但是随着电路工作频率的提高,今后一定会遇到信号完整性问题。
信号完整性问题主要指信号的过冲和阻尼振荡现象,它们主要是IC驱动幅度和跳变时间的函数。也就是说,即使布线拓扑结构没有变化,只要芯片速度变得足够快,现有设计也将处于临界状态或者停止工作。我们用两个实例来说明信号完整性设计是不可避免的。
在通信领域,前沿的电信公司正为语音和数据交换生产高速电路板(高于500MHz),此时成本并不特别重要,因而可以尽量采用多层板。这样的电路板可以实现充分接地并容易构成电源回路,也可以根据需要采用大量离散的端接器件,但是设计必须正确,不能处于临界状态。
SI和EMC专家在布线之前要进行仿真和计算,然后,电路板设计就可以遵循一系列非常严格的设计规则,在有疑问的地方,可以增加端接器件,从而获得尽可能多的SI安全裕量。电路板实际工作过程中,总会出现一些问题,为此,通过采用可控阻抗端接线,可以避免出现SI问题。简而言之,超标准设计可以解决SI问题。
下面介绍设计过程通用的SI设计准则。
2设计前的准备工作
在设计开始之前,必须先行思考并确定设计策略,这样才能指导诸如元器件的选择、工艺选择和电路板生产成本控制等工作。就SI而言,要预先进行调研以形成规划或者设计准则,从而确保设计结果不出现明显的SI问题、串扰或者时序问题。有些设计准则可以由IC制造商提供,然而,芯片供货商提供的准则(或者你自己设计的准则)存在一定的局限性,按照这样的准则可能根本设计不了满足SI要求的电路板。如果设计规则很容易,也就不需要设计工程师了。
在实际布线之前,首先要解决下列问题,在多数情况下,这些问题会影响你正在设计(或者正在考虑设计)的电路板,如果电路板的数量很大,这项工作就是有价值的。
3电路板的层叠
某些项目组对PCB层数的确定有很大的自主权,而另外一些项目组却没有这种自主权,因此,了解你所处的位置很重要。与制造和成本分析工程师交流可以确定电路板的层叠误差,这时还是发现电路板制造公差的良机。比如,如果你指定某一层是50Ω阻抗控制,制造商怎样测量并确保这个数值呢?
其它的重要问题包括︰预期的制造公差是多少?在电路板上预期的绝缘常数是多少?线宽和间距的允许误差是多少?接地层和信号层的厚度和间距的允许误差是多少?所有这些信息可以在预布线阶段使用。
根据上述数据,你就可以选择层叠了。注意,几乎每一个插入其它电路板或者背板的PCB都有厚度要求,而且多数电路板制造商对其可制造的不同类型的层有固定的厚度要求,这将会极大地约束最终层叠的数目。你可能很想与制造商紧密合作来定义层叠的数目。应该采用阻抗控制工具为不同层生成目标阻抗范围,务必要考虑到制造商提供的制造允许误差和邻近布线的影响。
在信号完整的理想情况下,所有高速节点应该布线在阻抗控制内层(例如带状线),但是实际上,工程师必须经常使用外层进行所有或者部分高速节点的布线。要使 SI最佳并保持电路板去耦,就应该尽可能将接地层/电源层成对布放。如果只能有一对接地层/电源层,你就只有将就了。如果根本就没有电源层,根据定义你可能会遇到SI问题。你还可能遇到这样的情况,即在未定义信号的返回通路之前很难仿真或者仿真电路板的性能。
4串扰和阻抗控制
来自邻近信号线的耦合将导致串扰并改变信号线的阻抗。相邻平行信号线的耦合分析可能决定信号线之间或者各类信号线之间的“安全”或预期间距(或者平行布线长度)。比如,欲将时钟到数据信号节点的串扰限制在100mV以内,却要信号走线保持平行,你就可以通过计算或仿真,找到在任何给定布线层上信号之间的最小允许间距。同时,如果设计中包含阻抗重要的节点(或者是时钟或者专用高速内存架构),你就必须将布线放置在一层(或若干层)上以得到想要的阻抗
5重要的高速节点
延迟和时滞是时钟布线必须考虑的关键因素。因为时序要求严格,这种节点通常必须采用端接器件才能达到最佳SI质量。要预先确定这些节点,同时将调节元器件放置和布线所需要的时间加以计划,以便调整信号完整性设计的指针。
6技术选择
不同的驱动技术适于不同的任务。信号是点对点的还是一点对多抽头的?信号是从电路板输出还是留在相同的电路板上?允许的时滞和噪声裕量是多少?作为信号完整性设计的通用准则,转换速度越慢,信号完整性越好。50MHZ时钟采用500PS上升时间是没有理由的。一个2-3NS的摆率控制器件速度要足够快,才能保证SI的品质,并有助于解决象输出同步交换(SSO)和电磁兼容(EMC)等问题。
在新型FPGA可编程技术或者用户定义ASIC中,可以找到驱动技术的优越性。采用这些定制(或者半定制)器件,你就有很大的余地选定驱动幅度和速度。设计初期,要满足FPGA(或ASIC)设计时间的要求并确定恰当的输出选择,如果可能的话,还要包括引脚选择。
在这个设计阶段,要从IC供货商那里获得合适的仿真模型。为了有效的覆盖SI仿真,你将需要一个SI仿真程序和相应的仿真模型(可能是IBIS模型)。
最后,在预布线和布线阶段你应该建立一系列设计指南,它们包括:目标层阻抗、布线间距、倾向采用的器件工艺、重要节点拓扑和端接规划。
7预布线阶段
预布线SI规划的基本过程是首先定义输入参数范围(驱动幅度、阻抗、跟踪速度)和可能的拓扑范围(最小/最大长度、短线长度等),然后运行每一个可能的仿真组合,分析时序和SI仿真结果,最后找到可以接受的数值范围。
接着,将工作范围解释为PCB布线的布线约束条件。可以采用不同软件工具执行这种类型的“清扫”准备工作,布线程序能够自动处理这类布线约束条件。对多数用户而言,时序信息实际上比SI结果更为重要,互连仿真的结果可以改变布线,从而调整信号通路的时序。
在其它应用中,这个过程可以用来确定与系统时序指针不兼容的引脚或者器件的布局。此时,有可能完全确定需要手工布线的节点或者不需要端接的节点。对于可编程器件和ASIC来说,此时还可以调整输出驱动的选择,以便改进SI设计或避免采用离散端接器件。
8布线后SI仿真
一般来说,SI设计指导规则很难保证实际布线完成之后不出现SI或时序问题。即使设计是在指南的引导下进行,除非你能够持续自动检查设计,否则,根本无法保证设计完全遵守准则,因而难免出现问题。布线后SI仿真检查将允许有计划地打破(或者改变)设计规则,但是这只是出于成本考虑或者严格的布线要求下所做的必要工作。
9后制造阶段
采取上述措施可以确保电路板的SI设计品质,在电路板装配完成之后,仍然有必要将电路板放在测试平台上,利用示波器或者TDR(时域反射计)测量,将真实电路板和仿真预期结果进行比较。这些测量数据可以帮助你改进模型和制造参数,以便你在下一次预设计调研工作中做出更佳的(更少的约束条件)决策。
10模型的选择
关于模型选择的文章很多,进行静态时序验证的工程师们可能已经注意到,尽管从器件数据表可以获得所有的数据,要建立一个模型仍然很困难。SI仿真模型正好相反,模型的建立容易,但是模型数据却很难获得。本质上,SI模型数据唯一的可靠来源是IC供货商,他们必须与设计工程师保持默契的配合。IBIS模型标准提供了一致的数据载体,但是IBIS模型的建立及其品质的保证却成本高昂,IC供货商对此投资仍然需要市场需求的推动作用,而电路板制造商可能是唯一的需方市场。