Cadence高速系统设计工具
回顾一下本书最开始的表1-1中的数据,在目前的高速系统设计中,最大单个芯片的管脚数增加到1000以上,网点数通常会有几万个,被约束的线网数目达到80%以上,而产品推向市场的压力也越来越大。面对这样的设计需求,一个成功的设计团队需要专业分工和协同合作。
• 系统设计工程师(CAD)理解产品和系统定位,依据系统功能,负责系统设计的正确性;
• 电子设计工程师(CAE)理解设计要求,根据工艺条件,负责PCB设计和生产的正确性;
• 信号完整性工程师(SI)理解系统功能和性能需求,结合设计和工艺生产条件,把系统设计工程师定义的功能和性能要求转化成电子设计工程师能够实施的可行性设计约束。
在这样的设计流程中,产品的成败不再仅仅是哪个独立环节上的问题。虽然各功能部门的设计正确性很重要,是产品成功的基础,然而各设计环节之间的信息共享和交互也成为高速系统设计的关键因素。因此,我们需要的EDA工具不仅在元器件管理、原理图、PCB和信号仿真等各项工具上具有优越性,还要在整体上提供科学严谨的设计流程,能够在各个设计环节上实现灵活的信息共享和阶段性设计检验。
目前这样的仿真工具主要有Cadence SI、ICX和Hyperlynx等。在作者使用过的EDA高速设计工具中,Cadence SI提供的高速系统设计工具能够满足这些设计要求,它在繁琐的设计环节、严格的工艺规范流程和使用者的易用性之间找到了一个很好的平衡点,既帮助工程师解决了实际问题,将各个设计流程很好地结合起来,也使得高速电路的工程师们体会到了作为工程师的乐趣。
借用一下Cadence公司自己的宣传广告“我们经常看到,在不同设计环境和几千兆赫兹速率情况下,PCB上新的器件模拟和实现是复杂、耗时而且开销很大的过程”,Cadence芯片封装业务部业务副总裁兼总经理Charlie Giorgettini指出“Cadence正利用SPB等创新性技术克服行业的障碍,并且致力于帮助电气工程师在PCB设计前端开发和管理设计过程中的约束,以缩短整个设计周期。SPB中的PCB SI GXL 作为仿真工具包,包含了经过验证的、强大的分级约束管理器(Constraint Manager)及SigXplorer图形化拓扑结构设计,另外还与完整的Cadence约束驱动的高速设计流程紧密集成,其包含用于原理图设计及分析的PCB SI、用于图形输入的ConceptHDL、用于布线的Allegro、用于自动布线的SPECCTRA,以及用于定义、管理和验证整个流程中约束的Constraint Manager。采用SigXplorer的电气工程师和SI工程师可以实现时共享约束模板,包括用于主动、动态协作的复杂拓扑开发和分析。PCB SI GXL还为电气工程师提供了新的分析方法指南,使他们能够快速、轻松地开始约束开发。”事实上,Cadence高速电路设计软件,也确实达到了广告中所宣传的功能。
在本章中,将着重介绍Cadence的高速系统设计方法和流程,以及在使用这些高速设计工具之前,需要做的一些准备工作,包括仿真库的建立和检查。读者不要小看设计方法和流程的学习,之所以单独用一章的内容来讲解,是因为只有从总体上理解并掌握了方法和流程,才能在使用具体工具的时候感觉到方便顺畅,并且能够很好地利用工具的灵活组合来解决实际设计中遇到的各种各样的问题。
下一章将详细介绍Cadence高速设计系统中主要的两个工具:SigXplorer和Constraint Manager的使用方法和技巧,为本书后面的实例设计过程打下基础。
4.1 Cadence高速系统设计流程
随着集成电路的工作速度不断提高,电路的复杂性不断增加,PCB已不仅仅是支撑电子元器件的平台,而变成了一个高性能的系统结构。这样,信号完整性、电源完整性和EMC等在PCB板级设计中成为了一个必须考虑的问题。
传统的PCB设计流程如图4-1所示。这样的设计流程称为样机法,属问题补救法,在该流程中,解决问题所花的时间和成本与产品开发所处的阶段成正比。越是在产品开发后期解决问题的手段就越少,解决问题的成本越高,所耗费的时间越长。传统的设计流程过分依赖于设计者的问题诊断技术和经验,存在的致命缺点是设计过程中各种不可控因素和严重的资源消耗(包括产品的质量、开发周期及设计成本)。
• 没有预测和控制节点,系统设计成功与否完全依靠设计者的经验;
• 在样机出来经过调试后,才能知道设计是否成功;
• 如有问题,则需要查找、定位并解决问题。接下去,一切从头开始,开始另一个循环;
• 测量、查找和定位一些由于高速效应带来的问题是一个很难的任务;
• 大量简单、重复的工作,耗费设计师的有效时间;
• 设计的标准化和规范化工作难以达到要求;
• 产品的可靠性和一致性难以保证;
• 造成产品调试周期不可控,直接影响产品的上市时间。
在如图4-1所示的传统PCB设计流程中,PCB板的设计依次经过电路设计、版图设计和PCB制作等工序,而PCB的性能只有通过一系列仪器测试电路板原型来评定。如果不能满足性能的要求,上述过程就需要经过多次的重复,尤其是有些问题往往很难将其量化,反复多次就不可避免。这些在当前激烈的市场竞争面前,无论是在设计时间、设计成本还是设计的复杂程度上都无法满足要求,在现在的PCB板级设计中采用电路板级仿真员已经成为必然。
基于信号完整性的PCB仿真设计就是根据完整的仿真模型通过对信号完整性的计算分析得出设计的解答空间,然后在此基础上完成PCB设计,最后对设计进行验证是否满足预计的信号完整性要求,如果不能满足要求,可以根据各个设计环节节加入可控的设计点和检验机制,迅速对问题定位和查找原因,有效地保证了时间效率和成本控制。加入了高速设计元素的Cadence 高速设计系统提供的设计流如图 4-2所示。
该流程以IBIS模型为基本出发点,以高速信号的仿真分析为手段,以规则驱动为系统设计的质量保证。这个高速设计流程为PCB工具的应用带来新的方法,使得高速系统的各个环节进行了专业化分工,加强了各设计阶段验证和“IP”的积累,在设计的各个阶段设置可控点,与传统的PCB板的设计相比,具有如下优点。
• 既缩短了设计周期,又降低了设计成本;
• 增强了各个阶段设计正确性的可控性,对可能出现的设计问题进行定性和定量的分析;
• 将大量的调试工作量,提前到设计阶段,增强了调试阶段的时间可控性;
• 缩短整个产品开发调试周期,节约开发成本;
• 提高产品的可靠性、一致性和复用性。
这里介绍的流程是个非常抽象的工作框图,要在实际工作中实施这套流程,必然要在传统的PCB设计工作基础之上加入高速设计流程的工作环节。
1. 设计前的准备工作
在设计开始之前,必须先行思考并确定设计策略及涉及到的SI相关的各项参数,例如,元器件的选择、器件的使用和设计准则、电路板生产加工的工艺参数选择、电路板的层叠、预期的制造公差等工作。充分的调研和文案准备工作是一个良好设计的开始,也为随后的设计环节提供了基础。
2. 预布局
任何一个PCB的设计都是在一定的限制条件下开始的,而在布线前就已经存在的设计约束及限制同样对系统的性能及高速设计分析有着决定性的影响。因此,在进行高速设计分析之前,充分了解及理解这些预布局等设计限制条件,再对系统进行整体规划,有助于在实施高速设计流程时有的放矢。在不考虑系统规划及限制条件下所做的分析结果和设计约束是,完全没有意义的。
3. 布线前SI仿真和约束
这个是高速设计的核心所在,也是和传统的PCB设计流程最大的区别。可以说,前面两个阶段的准备工作和对设计的规划,都是为这个阶段的工作服务。然而,这些工作还远远不够,为了做好一个仿真分析和设计约束,要涉及的内容很多,包括器件模型的获得和验证、信号特征参数的选择(驱动强度、阻抗和转换时间),以及所有可能的互连拓扑结构(最小最大延迟长度、总线之间的匹配控制)等一系列仿真参数的输入和选择。当所有的输入参数都准备就绪之后,才是真正的SI仿真和分析实施开始。最后确定可以接受的仿真结构,并将它转化为可以实现的布局布线约束。
4. 规则约束驱动的布局布线
和传统意义的布局布线相区别的是,此阶段的布局布线是在定义了前仿真的设计约束后,在设计约束的指导下进行的,而设计约束也会按照设计约束条件进行检查。如果没有满足设计要求,那么用户会得到一个即时的信息提示,从这个提示中,用户可以了解设计的约束实施的具体细节,有助于用户及时对设计错误进行定位和纠正。基本上在约束驱动下布线的结果,能够满足大部分的约束条件,但是违反前仿真的设计约束条件的情况也是比较普遍的,这就需要进行下一步工作,布线后的SI仿真及验证。
5. 布线后的SI仿真和验证
一般来讲,大部分的设计约束,通过约束驱动的布局和布线都能得到保障,但是并不是所有的设计约束条件都能得到满足。因此,需要在布局布线后,对那些没有得到满足的设计约束条件进行验证,以确定是前仿真的设计约束条件太过苛刻,还是脱离了实际环境而根本得不到满足。抑或是由于布局布线做得不严谨而需要重新进行调整?然而,这只是布线后SI仿真和验证的一部分功能,有些SI分析必须在布线后才可以做出,比如信号线之间的串扰和电源完整性分析等。
这些项目的工作条件和参数在前仿真时是无法预期的,只有等到布局布线完成之后,在后仿真中对实际的设计信息进行抽取,才能够得到比较可信的仿真结果。因此,后仿真分析,不仅仅是对前仿真中设计约束的验证和调整,更重要的是它还完成了在前仿真中不能完成的工作。这一点,读者一定要理解,才能使布线后仿真不流于形式,进行有意义的布线后仿真。
6. 后制造阶段
采取上述措施可以确保电路板的高速电路特性,在电路板装配完成之后,即使系统能够正常工作,但作为严谨的SI工程师,在工作条件允许的情况下,仍然有必要将电路板放在测试平台上,利用示波器或者TDR(时域反射计)测量、提取电路板的真实工作特性,并和仿真结果进行比较。根据比较结果,你一定能够找到实际测量的数据和模型及工艺制造参数的差异。
对这些差异进行深刻的理解和研究,甚至可以依据测量结果对仿真中所用的参数进行合理的调整修改,以便在下一次系统设计中做出更好的设计约束和设计决策。只有经过这样不断细化和求精的过程,才能使SI的工作逐步得到提升,逐渐积累对形形色色的SI问题的掌控能力。
加入仿真分析的高速设计流程相对于传统的PCB设计流程要复杂得多(这也是可以理解的),对于刚刚接触高速设计的工程师来说,一次性记住并掌握好这么多的内容有些难度。Cadence充分考虑到这一点,为减轻高速设计工程的工作强度,在Cadence工具中,将高速设计流程所涉及的工作方法、流程、仿真参数设置及约束数据结构都进行了系统化的分类和对象的科学管理。
因此,为了能够更好地掌握高速设计流程并有效地仿真分析工作,在实际动手进行仿真工作之前,读者有必要充分理解Cadence的高速设计理念及设计方法学。基于这样的思路,在随后的章节中,我们将来学习了解Cadence的高速设计流程中的几个非常重要的工具及设计方法。注意,此处还不足工具的使用方法,只有从整体上理解了工具在高速设计流程中所处的地位,才能掌握好这些工具提供的具体功能。
4.2 约束管理器Constraint Manager
高速系统设计者必须同时面对时序分析、信号完整性、串扰、电源的干扰和EMI等种种问题。尽管常常单独使用不同的分析工具去处理这些问题,但现代高性能设计要求在整个设计过程中,统一和连续地考虑这些问题。面对不断增加的高速仿真分析内容和持续缩短的设计周期,管理来自不同领域的约束集合更成为一种挑战,因此,约束管理正在成为成功高速设计的关键因素。
过去的约束管理方法,如通过文件、Word文档或Excel进行数据交换的方法,随着设计复杂度的增加,正在成为设计过程中的瓶颈,并可能增加出错的机会。面对今天的挑战,任何约束管理系统必须与设计过程的每一步紧密联系,它应该能根据当前的设计状况,通过显示实时状态来访问的系统规则。
今天,复杂高速设计使工程师面临时序分析、信号完整性、串扰、电源的干扰和EMI的挑战,为了应付前所未有的产品推向市场的压力,工程师必须同时解决这些问题。当可能利用某一个特定的设计工具解决这些问题时,一个成功的设计过程将证明这样一个事实,即在整个设计过程中,统一且连续地解决这些问题将使错误和设计周期最小化。
在考虑高速特性对其他特性的影响时,设计者应首先能够单独处理每个信号的高速特性问题,然后在整个设计流程中和其他工具进行有效的数据交换和信息交流。为实现图4-2中的高速设计流程,Cadence提供了一系列工具来支持这种流程的实现。图4-3是Cadence提供的高速系统设计工具。在此图的中间,就是约束管理器Constraint Manager,它能够实时并且无缝地和Cadence的其他高速设计工具进行信息交换,使得高速设计的约束能自始至终贯穿于整个设计流程,这正是约束管理器成为成功高速设计的关键因素之所在。
由于在高速设计系统中不断增加的设计复杂性和约束数量,约束网络数量的激增是高速设计的趋势,现有的管理模式很难管理大量的约束。对于管理设计目标而言,有效的交流是至关重要的。它不仅可以减少出错机会,而且可以避免重复设计。
通常,一个完整的PCB项目从开始设计到完成,设计过程会需要系统结构设计师、电气设计师、PCB布局布线设计师、信号完整性专家、热性能方面专家,以及EMI工程师等。在设计过程中,他们必须基于各自对系统的需求和任务的理解,使用本领域的专业工具来解决本领域职责范围内的问题,并与用本专业领域的语言、数据和设计链中相应环节的工程师进行信息共享和数据交流。他们交流设计信息的过程是难以想象的,这样的过程说明,无论是否分散工作,没有有效的交流就会出现多次的重复。
这种重复会发生在所有设计小组的成员之间,也会发生在设计的不阶段。在进入下一个阶段之前,设计需要验证,而且更多的设计规则需要交换和修改。这种重复的结果增加了设计的周期并最终转化为成本。这样,对于高速设计而言,需要的是一个统一的、集成的、跨平台的信息管理和交流的工具,它应当与设计过程的每一步紧密联系。这使设计小组可以在任何时刻灵活的创建、编辑和验证约束。在Cadence高速设计工具链中,这就是Constraint Manager,以下简称CM为约束管理器。
CM约束管理器使得Cadence系统成功的一个最关键特征是,它是一个跨平台的约束管理器,它和Cadence高速设计系统整个工具链高度集成、紧密结合。不论是在原理图设计中,还是在PCB设计中,或者信号仿真分析阶段,都可以直接将约束条件或者反馈信息保存在CM约束管理器中,进一步其他工具中得到实时的约束信息更新。同样,CM约束管理器中,也可以随时调用信号仿真分析工具SigXplorer,对当前的约束条件进行检验和更新。图4-3中所展示的最精髓就是在Cadence高速设计系统的整体环境中,CM必核心位置,它可以和工具链中的任何一个工具直接实现信息共享。
这就使得各设计环节和设计小组可以独立、并行地进行各自的工作,并且以该设计环节中的工具接口和CM进行信息交互,由CM约束管理器和另外的设计工具进行交流,而不必在两个工具之间建立直接信息交互方式。这样,不仅使得设计环节能够独立并行工作,也使得各设计环节之间的信息交互变得更加准确和有效。
不断增加的设计复杂性和约束数量、约束网络数量的激增是高速设计的趋势,80%或更多的设计信号有高速的要求,或每个信号都需要多个约束条件的情况并不少见。也许,任何的约束管理系统的最重要特征是需要能够,它应当与设计过程中的每一步紧密联系,这使设计小组可以在任何时刻灵活的创建、编辑和验证约束。
CM约束管理器另外一个突出的特征是层次化的约束管理能力,如表4-1所示是Cadence系统中层次化的约束关系和规则覆盖关系,这使得在Cadence设计系统中,设计者能够分层次地获取、管理和验证不同的设计对象和相应的设计规则。
CM约束管理器分层次的管理能够使得这些约束规则可以分组并分配给设计对象(整个系统、每个功能模块、每个网络,甚至每一对管脚对Pin Pair都是层次化对象的一部分。对于层次化对象的定义及其使用方法,我们将在随后的章节中结合仿真过程的实施详细介绍)。其好处在于可以使设计者按照功能和需求,选取一个合适的工作层面来处理问题,也即来定义它面对的工作对象层次,并为之设计出适合的约束规则。这样可以避免设计者淹没在现代高速系统庞大的网络数量和烦琐、费时的仿真工作中,也避免失去重点的工作方向。
CM的约束管理器的第三个重要特征是,CM约束管理器给用户提供了一个直观的、图形化的通用界面——SpreadSheet格式外观。如图4-4所示,我们看到的一种约束数据以电子表格形式表示的例子。该电子表格附带有各种直观的图形信息以显示的约束条件是否满足,并且这些状态信息还可以在设计环境中实时更新,极大地方便了设计者进行设计和调整,并且它还能够实时地调用SigXplorer信号分析工具,以直观的图形方式观察信号的拓扑结构,为进一步理解和使用CM约束管理器提供了方便手段。如图4-5所示,设计者可以在CM约束管理器中选择分析对象,Net、Xnet或者Group,单击鼠标右键,直接调用SigXplorer来观察分析对象的拓扑结构和约束规则。
最后,无论你准备使你的高速设计过程进入一个新的层次,还是仅仅意识到将来的高速设计,正确地处理的束管理是非常重要的,如果在设计周期中能够借鉴已有的经验和约束规则,尽早确定设计目标,那么我们就可以更早地获得成功的高速设计。因此,为支持成功的设计经验复用,CM约束管理器通过规则的导出/导入功能使得我们能够很好地复用以前成功的设计经验,最终的好处是缩短设计周期。
4.3 SigXplorer信号完整性分析工具
Cadence的高速PCB设计工具链中,另外一个重要的工具就是信号仿真工具,SigXplorer。严格来讲,Cadence中的高速PCB设计工具中,完整的信号仿真工具包括:SigXplorer、SigNoise和SigWave,其功能分别如下。
• 在SigXplorer中,用户以图形方式定义网络的拓扑逻辑,并设置信号仿真参数,它是仿真所需的所有条件和参数的输入界面,也是仿真结果分析和输出约束生成的界面;
• SigNoise是真正的信号仿真引擎,通常它被SigXplorer所调用来完成所有的仿真计算工作,由于它通常工作于后台,所以读者一般感觉不到它的存在,但这并不影响读者对它的使用;
• SigWave是图形显示模块,它将SigNoise计算出的数据以图形的方式直观地显示给用户,用户可以直接在输出波形上进行数据测量,并利用SigWave提供的导入和导出功能,和业界通用的高速信号测量仪器进行数据交换和测量结果的比较。
正因为SigXplorer是用户工作的主要界面,而SigNoise和SigWave通常由SigXplorer所调用,久而久之,人们渐渐忽略了SigNoise和SigWave的存在,似乎整个Cadence中,信号仿真工具只有SigXplorer一个。虽然这种想法并不正确,但是它也不影响用户对工具的使用(当然,一些Linux版本的用户,或者高级用户对此有明确的概念,因为他们会经常从命令行来启用这些工具)。所以,在本书余下部分的叙述中,对SigXplorer、SigNoise和SigWave并不严格区分,在不影响读者理解的前提下,我们将这个三个工具不加区分地统称为SigXP,除非在特殊需要指明的场合,我们才会指出到底是使用SigXplorer,还是SigNoise,或者是SigWave。
SigXP一个重要的特点是其易用性。如图4-6所示,用户通过图形界面直接可以编辑所设计的网络拓扑结构,很方便地从器件库中选用所需的器件,以及设定所需的参数。并且,这种参数设置方便,可以大幅度减轻信号仿真工作的强度,尤其是当我们要在众多的参数组合(设计空间)中寻找到一组切实可行的组合方式,这种方便的操作就显得尤其重要。在后面介绍使用方法的章节中,我们将详细讲解这种方式的使用。
如果说易用性是用户对所有CAD软件的基本要求,在这一点上SigXP并没有什么特殊。但是,SigXP和CM的约束管理器的高度统一性,将是无可置疑的优点。前面的章节中提到过,Cadence高速系统设计工具的一大特点就是高度统一性和集成性,这一点同样在SigXP上有所体现。SigXP不仅可以作为前仿真的工具,由信号完整性专家作为研究信号完整性的工具单独调用来进行参数设计研究,它也可以作为后仿真的工具,从Constraint Manager的操作界面中直接调用。当SigXP是以从Constraint Manager中被调用的方式来使用时,那么在SigXP中重新对规则和参数的修改,可以非常方便地通过软件自动更新Constraint Manager中旧的约束条件。从图4-7中可以看到,在SigXP中可以定义和Constraint Manager中一样的设计约束规则,并自动更新Constraint Manager。同时,SigXP的另一个独特之处在于,通过这样的约束定义方式,SigXP把仿真后得到的数字化参数的约束条件,以SpreadSheet的方式通过Constraint Manager被Cadence高速系统设计流程中的所有工具所共享,这不仅避免了在各个设计环节中对数字化参数的约束条件重新解读,也从整体上保证了信息的高效共享和交互,也保证了设计的高度统一和正确性。
在SigXP中,为了跟随技术的发展,支持高速串行信号的仿真分析,从15.0版本开始,加入了如下的高速设计的仿真功能。
• 过孔模型生成(Via Modeling);
• S参数生成(Scattering parameters);
• 通道分析CA(Channel Analysis)。
这些功能的加入,对于从事高速设计的工程师是个非常大的帮助。作者曾经使用这些工具,为华为、中兴等公司多次解决了高速设计中遇到的问题。
4.3.1 S参数(Scattering parameters)
S参数(Scattering parameters),译称散射参数,是对传输路径上的各端口之间频率响应关系的数学表达。当一个信号从S参数模型器件的某一个端口进入,S参数描述的是该信号在传输网络中通过不同端口的传输特性和反射特性。S参数可以在一个很宽的频段范围内描述一个传输网络。如图4-8所示,我们以一个两端口器件(也就是传输线器件)来说明S参数所代表的含义。
从器件的端口1打入一个正弦波,入射波能量我们标记为a1,由于器件自身的传输特性,该信号会有一部分能量从端口2传输出来,记为b2,另一部分能量会从端口1反射回来,记为b1。如图4-8中公式所示,S21就是被传输的信号到达端口2时的能量b2和原射入信号能量a1的比,S11就是被反射回入射端口1的信号能量b1和原射入信号能量a1的比。
同理可以定义当信号方向是从端口2向端口1传输时的S参数,如图4-9所示。
按照这样的定义,S参数可以一般化地扩展到对多端口器件(传输网络)的描述。如图4-10所示,对于任意多端口器件的S参数定义为:
Sout-in=Sjk=传输到端口j的正弦波能量/在端口K入射的正弦波能量
使用S参数对传输网络进行描述的好处如下。
• 可以以简单的黑盒子的形式表达复杂传输网络,而不泄露网络内部电路结构和技术细节。在SigXP中,最多可以支持12个端口网络的S参数分析。
• 通过简单的级联,可以和具有S参数分析功能的实验设备协同工作。
然而,由于网络的S参数测量的复杂性、仿真的速度比较慢及高度的抽象性,在实际的仿真中,它并不总是最好的选择。用户应该根据自己的需求来决定在自己的仿真环境中是否引入S参数。
同时需要读者注意的是,作者在这里并没有介绍在SigXP中如何使用S参数,而是介绍了S参数的概念和使用方式。这里的介绍非常简单,因为S参数主要用于高速信号的频域仿真分析当中,对于S参数的更深层次的理解和学习,我们将在第7章中结合实际的例子进行讲解。有一定能力的读者,可以先在SigXP中自行对使用S参数进行尝试,S参数在SigXP当中的使用并不难,仅仅是单击几个按钮的过程,但是如何理解S参数,以及如何利用S参数进行信道特征的分析将是我们学习的重点。
4.3.2 过孔模型生成(Via Modeling)
对于高速信号,过孔在物理形式上的3D结构对整个传输路径的阻抗非连续性的影响越来越显著,它不仅影响所传输的信号质量,还可能引起EMI问题,从而影响邻近的其他信号质量。因此,在高速信号仿真分析中,为精确仿真高速信号的行为,必须加入过孔模型,并保证一定频带范围内的精确性。在SigXP中,过孔模型的提取精度可以达到GHz的频率范围,并以下面几种模式对过孔进行模型提取,设置过孔模型提取的界面如图4-11所示。
• Closed Form,数学中称为解析解形式(相对于数值解而言),后面将举例说明这种模型;
• S参数模式,以S参数提取的过孔模型,可以和其他S参数器件连接使用;
• 宽频频率模式,截止频率为20GHz的模型提取方式,可以在很宽的范围内重复使用该模型,该方式提取的仿真模型比较准确,但是仿真速度较慢;
• 窄带频率模式,用户可以控制信号的工作频率,定义模型提取的截止频率。该模型在用户定义的频率范围内有效,仿真速度较快,但精度较差。对于同频率范围的信号,可以重复使用该模型,但对于不同信号的工作频率范围,应该重新提取相应的过孔模型。
提取后的过孔模型的使用方式和其他器件模型的使用方式没有任何区别,用户可以非常方便地加入器件的方式将过孔模型加入到仿真拓扑结构中。注意,对于类似DIP封装的电镀通孔、PTH(Plated-through Holes)管脚,在进行拓扑结构抽取的过程中,该管脚并不被当做过孔模型自动抽取,用户必须明确地指定对该类管脚进行过孔模型抽取,然后加入到仿真的拓扑结构中以提高仿真精度。
过孔模型的提取过程本身非常简单,不需要复杂的过程和用户的参与,但是如何让系统提取出“有意义”的过孔模型,是需要用户仔细考虑的事情。随着仿真信号的频率越来越高,系统时序要求越来越严格,过孔模型在系统仿真精度上的影响也越来越明显。举个例子,对于133MHz的DDR设计,用户可以使用窄带频率模式Narrow Band@Working Frequency对过孔进行提取,因为在这样的条件下,过孔的高频模型对系统时序影响不大,可以忽略而且可以提高仿真速度。然而对于667MHz的DDR2,甚至对于3.125Gbps的串行信号,由于过孔带来的延迟和抖动,对系统时序和性能都具有非常明显的影响,此时必须使用宽带频率模式对过孔进行模型提取,以便得到比较精确的仿真结果和严格的时序控制。并且,当设计完成之后,有必要依据最后的实际系统,再对仿真结果和模型的提取进行校正,以便在随后的设计中得到更加精确的仿真。
有很多读者对Closed Form这种模型不太理解,其实只是对这个数学名词不是很熟悉。忽略掉这个数学名词所代表的含义,直接看模型的描述,其含义一目了然。在Cadence仿真器中,该模型如下。
• Closed-form formula solution
C0 Layer1 0 3.04105e-14
C1 Layer2 0 3.04105e-14
R01 Layer1 Layer2 1e-7 L=1.37277e-09
在这个模型中,有两个电容,一个电阻共三个器件(实际上,位于Layer1和Layer2两个节点间的R01还有一个等效电感,共四个器件构成)。这个其实就是很简单的SPICE形式的电路描述。如果还是不能理解模型结构,那么对照图4-12所示这个过孔模型图,相信可以理解这个模型的构成。
在这个模型图中,C_Pad_Layer1对应于器件参数中的C0,C_Pad_Layer2对应于器件参数中的C1,而L_Barrel实际上是器件参数中的电阻R01和电感L的综合体。很显然,对于高速信号而言,Closed Form形式的模型,并没有能够完整地描述过孔结构。例如,缺少了对Via Stub(也即C_Stub)和Anti_pad的描述。因此在高速信号的仿真分析中,其结果并不准确。因此,在高速信号仿真分析中,应该选取过孔的频域模型。
4.3.3 通道分析CA(Channel Analysis)
对速率超过1Gbps的高速串行通信来讲,通常把Chip-to-Chip之间的差分信号传输途径称做通道(Channel)。通道通常包括多个PCB板、封装、连接器和背板。通道设计的最终目的是使在接收端测量到的接收信号跟面张开度和抖动能达到信号传输要求。如果这些要求不能满足,那么这个路径的信号完整性就得不到保证,也就不能满足应用所需的误码率BER。
对于设计这样的MGH(Multi-Gigahertz)信号有许多挑战,SI工程师需要仔细设计器件模型并按照实际情况将器件进行互连,以达到足够的仿真精度要求。由于通道内的寄生参数的影响,为得到精确的眼图,通常需要经过大量的数据仿真才能够充分体现该通道内的码间干扰ISI(Inter-Symbol Interference)情况。对于这样大数据流的仿真需求,通常超出了传统仿真工具的能力。并且,为了改善通道的频响性能,通常需要在MGH信号驱动端采用预(去)加重机制。为了达到优化的传输性能,不同的通道需要不同程度的预加重信号强度。而不同通道的传输特性,只能通过对通道进行仿真分析才能得到,通道分析界面如图4-13所示。
了解了这些,我们就很容易理解,SigXP中的CA工具在支持MGH信号的仿真分析上提供了如下功能。
• 大数据量的仿真。通过对大数据量的仿真分析,可以得到比较精确的眼图模型。
• 预加重优化仿真。通过对不同预加重参数的分析,可以得到对于一个特定通道的最优结果。
• 信道统计分析特性。通过一系列的计算,可以获得在一定BER下的信道统计特性,统计结果可以用浴盆曲线(Bathtub Curves)或者等高线眼图显示,信道特性的统计分析是代替仿真分析的一种方法。
对于通道分析CA这个工具的使用目的和方法,我们将在第7章中结合高速差分信号的设计分析再进行详细介绍。
4.4 前仿和后仿
前仿和后仿,是在PCB设计过程中对布线前仿真和布线后仿真的简称。注意对这里的前仿和后仿,要与IC设计流程中的前仿和后仿区别开。虽然它们在电子设计过程中的作用有些类似,但是具体的工作内容却差别很大,不能混淆为同一个事情。
Cadence软件作为众多EDA工具中的佼佼者,为高性能系统设计提供了一个完整的解决方案和设计环境,SI工程师可以从项目设计的任何一个环节开始前仿的流程。在布线前,SI分析可以用来选择I/O工艺、时钟分布、芯片封装类型、器件类型、叠层设计、管脚分配、网络拓扑和端接策略等。前仿的流程涉及仿真模型验证、拓扑分析、约束条件的产生、PCB布线等多个硬件设计环节。依据仿真结果,或者更改原理图设计,调整设计,或者根据所得到的较好的仿真结果,建立一套满足性能指标的物理设计规则,通过约束管理器Constraint Manager将约束传递到PCB布局布线的设计环境中,指导Layout工程师布局布线。布线后,通过对实际设计参数的再提取,结合前仿真的环境,再进行后仿真,进一步验证布线的合理性和系统性能。
在PCB布局布线之前,对原理图中的高速信号进行“What-If”仿真,考察信号在虚拟(或者预定义)的叠层结构下和布线参数下的信号传输效果,帮助设计者在所有可能的布线参数下,得出一组适合当前电路的PCB叠层结构、布线参数的高速设计规则(线宽、线长和间距等)。在进行前仿真的SigXP软件环境中,为用户提供了可视化的叠层结构设计窗口,帮助工程师方便快速地设计PCB叠层结构,编辑板材物理参数,并通过对仿真结果的对比直观地观察叠层结构与材料等参数对阻抗与损耗的影响。因此,前仿真的本质和最终目的是在缺少实际的PCB叠层结构和布线参数的情况下,依靠SI工程师对设计的理解,通过对最终PCB产品实际参数的近似估计,对设计中的重要网络和所关心的内容进行仿真,得出设计规则,指导PCB Layout工程师进行设计。
SI工程师对实际参数的估计准确度,来源于他对设计的理解和积累的工作经验,对前仿真的参数估计得越准确,得出的布线规则就越有实际指导意义,Layout工程师的工作压力就越小,Layout工程师和SI工程师之间的设计反复就越少。细致而深入的布线前SI仿真分析将减少反复设计和布局/布线返工,从而减少设计周期。整个产品的设计周期就会缩短,甚至可以一次制成成功。
布线后SI仿真分析可以验证前仿真得到的设计约束的正确性。在加入了实际的布线参数后,后仿真重新验证当前的SI设计约束和信号完整性,如反射噪声、振铃、串扰和地弹等,同时尽可能发现在布线前仿真中被忽视的SI问题。因为布线后分析是基于实现物理板图数据而不是理想的数据或者模型,因此它可以得到更精确的仿真结果,并对前仿真中不可实现的布线规则加以改正。必要时,对于系统设计,SI性能和PCB可制造性之间存在矛盾冲突,布线后的仿真结果为系统工程师、SI工程师和PCB Layout工程师之间协同解决设计冲突提供可靠的依据,有助于布线工程师和设计工程师及系统工程师一起解决这些SI问题。
为了让读者更加清楚前仿和后仿的区别和联系,表4-2列出了在前仿和后仿中所使用的仿真参数的异同点,通过这种对比,希望读者能够对前仿和后仿的工作内容和作用有更深刻的理解。