Cadence高速系统设计流程及工具使用
上一章已经谈到,在Cadence的高速设计流程中,有两个重要的工具SigXP和Constrain Manager(CM约束管理器)。SigXP是仿真分析工具和约束生成工具,我们就是使用这个工具对关键信号进行仿真的。SI工程师通过对仿真结果的分析验证,从具体的数据中抽象出在高速设计中“可以实现”的设计规则。
SI工程师需要通过约束生成器(工具的英文名称为Set Constraints,约束生成器是作者个人偏好的叫法),将验证过的结果转换为PCB布局布线工具所能识别的设计规则,存储在CM约束管理器中。前面讲过,CM约束管理器是约束规则的管理工具,它贯穿于整个高速设计的各个环节,使约束能够无缝地在整个设计流程中进行信息传递,甚至从原理图开始就可以使用CM约束管理器进行约束管理。本章将从软件工具的角度出发,概要地介绍这两个工具在高速系统设计流程中的作用和使用方法。
下一章我们将结合实际的设计例子,对照我们要解决的问题,进一步详细地讲解Cadence高速设计系统中的两个主要工具:SigXP和Constrain Manager的使用方法和技巧。
5.1 高速电路设计流程的实施条件分析
回顾一下上一章中,我们讨论过的Cadence高速设计流程(如图4-2所示)。在这里请读者一起思考一个问题,如果我们是EDA开发的软件工程师,按照这个流程框架所显示的信息流向和信息交换控制点,我们该如何设计软件系统来实现功能,并且除了完成这些基本的软件功能外,不仅要考虑工程软件的严谨性,还要考虑到客户软件的易用性,该如何在各个功能模块之间进行及时的信息交换,使用户在完成大规模的工程仿真任务的同时,又能很快地理解软件的结构和使用理念。在读者继续阅读下面章节之前,请读者能够在这里停留几分钟,从软件系统实施的角度,思考一下这两个问题。
好,相信读者经过思考,已经有了一些想法。那么我们就一起把这些想法罗列出来,看看如果要进行仿真,仿真系统软件该怎么设计,或者说,要使用一个设计好的仿真系统软件,我们期望软件提供哪些功能,以及该怎样配合流程,使用好这些软件功能。
首先,我们都明确,这里一直在谈的是高速系统设计的仿真。那么谈到仿真,就离不开模型,所以,第一个问题就是,要进行高速信号的仿真就需要通过各种资源找到所使用器件的仿真模型。但是在获得了器件模型之后,并不意味着就能马上使用,还需要对模型进行处理和验证,以保证仿真器能够有效地组织并正确使用该模型。除了器件的模型之外,器件之间的互连模型,也即传输线的模型,需要从PCB的叠层结构中加以提取,所以在进行仿真之前,PCB的叠层结构也需要定义好。
接下来,为了能够进行信号的仿真,还需要设置一些仿真条件,这些条件包括:器件模型的速度、温度,以及器件工作环境,比如器件的静态工作点及偏置电压等条件设置。我们的真的目的是研究信号的传输质量,那就离不开信号的连接关系和拓扑结构。连接关系在原理图设计结束后(网表)就可以得到,而具体的拓扑结构,需要结合系统的(预)布局,才能确认。有了这些信息,再加上该信号的传输特征(激励模式),就可以进行信号仿真了。
然而仿真不是最终目的,通过对仿真结果的分析,得到关于该信号的系统设计规则,用来指导和约束实际的PCB设计工作,最终得到传输性能和仿真分析结果一致的PCB产品,这才是我们想要的。所以,如何把SI工程师的想法和意图,通过对仿真结果的分析,转化成PCB工程师能够识别并可行的设计规则,用来指导布局布线,在各个不同的工具之间实现信息传递和共享,也是需要我们解决的问题。正如上一章中所讲,Cadence高速设计流程中的Constrain Manager出色地完成了这个任务。
现在,我们来总结一下,要实现高速系统设计流程,进行高速信号分析,需要解决哪些具体问题,参见表5-1。
在接下来的章节中,我们逐个介绍如何在Cadence的高速设计流程中实现这些仿真条件,通过仿真分析,得到高速设计的约束条件和实施设计的约束。
5.2 IBIS模型和DML模型
5.2.1 IBIS模型介绍
在讨论如何获得和使用IBIS模型之前,我们有必要先来了解一下什么是IBIS模型。
众所周知,SPICE(Simulation Program with Integrated Circuit Emphasis)模型是随着集成电路发展起来的,SPICE模型仿真技术在集成电路业界已成为晶体管级电路描述的非正式标准。它基于晶体管和二极管特性参数建模,仿真精度高,但由于运算量大、运算耗时,因此只能在仿真精度和运算耗时之间进行折中。另外,SPICE模型一般不支持耦合线(或有损传输线)的仿真,而这正是高速电路设计中信号完整性仿真的关键因素。所以在它的应用领域中,大多数只用于电路原理方面的仿真,对于像PCB板级的仿真它就显得力不从心了。
同时,由于SPICE模型是对电路内部结构和参数的详细描述,这样从技术信息保密的角度来讲,就给交流带来了一定的障碍。为了能够和外部电路互连,进行仿真,同时又不至于泄露技术细节,一些EDA厂商联合开发了一种叫做IBIS(Input/Output Buffer Information Specification)模型的标准,它基于V/I曲线,对I/O Buffer快速建模,它提供了一种标准的文件格式来记录诸如激励源输出阻抗、上升/下降时间及输入负载等参数,非常适合做振荡器和串扰等高频效应的系统级仿真与仿真。IBIS是一个简单的模型,计算量小、速度快、精度高,当做简单的带负载仿真时,比相应的SPICE三极管级模型仿真要节省10~15倍的计算量。
它提供驱动器和接收器的行为描述,但不泄漏电路内部构造的知识产权细节。换句话说,销售商可以用IBIS模型来说明它们最新的门级设计工作成果,而不会给其竞争对手透露过多的产品信息。也正因为如此,本质上讲,IBIS模型并不能叫做一种“模型”,它只是描述器件行为的数据文件。
读者是否还记得我们在这本书的开始,就提到了1993年这个时间,以及随着PCI技术的发展而兴起的信号完整性这个事件么?事实上,IBIS模型也是在这个时间,随着PCI技术的发展应运而生的。这也是为什么作者说1993年,对电子工程师而言是个值得纪念的年代。
在PCI技术还处于研发阶段的时候,Intel公司内部为了对PCI信号进行研究和仿真,采用了一种新的信息交流方法,它只记录一些PCI信号的输入和输出特征,而没有PCI电路结构特征的具体描述。这种新的文件结构在Intel公司内部得到了广泛的应用,尤其适用于那些没有将SPICE作为仿真工具的部门系统级别的仿真,并取得了很大的成功。
随着1993年,PCI在业界得到了广泛的应用,为了方便客户尽快使用这种技术,Intel总结自己的设计和使用经验,决定联合其他一些EDA厂商,制定IBIS标准,将这种新的设计方法在业界进行推广。本着为了保护厂商的知识产权屏蔽电路细节,同时又需要方便用户对电路I/O特性进行描述,按照通用的电子器件中I/O电路结构,IBIS模型对实际的电路结构进行了抽象,定义了如下的IBIS模型电路结构,如图5-1所示。
为了描述这种I/O电路特性,对应于上述电路结构,IBIS模型需要提供如下一些信息。
- 四个V/I曲线
- Pullup & POWER clamp,上拉和电源钳位V/I曲线。
- Pulldown & GND clamp,下拉和地钳位V/I曲线。
- 两个转换时间曲线
- Ramp up,也即dV/dt_rise,信号上升特性dV/dt曲线。
- Ramp down,也即dV/dt_fall,信号下降特性dV/dt曲线。
- I/O电路的电容
- C_comp,I/O电路中总的寄生电容,不包括封装部分的寄生电容。
- 芯片封装寄生参数
- RLC values,封装寄生参数。
说明*:由于器件和工艺技术的发展,对于Ramp曲线的定义和测量,为了适应最新的器件特性要求,在IBIS版本的更新中不断地得到加强。例如,对CMOS器件,Ramp曲线实际上是四个,分别在不同的驱动和负载条件下测量。读者要注意到这一点,在阅读IBIS文件的时候,首先要注意文件的版本号,然后再看当前器件使用的是什么工艺,因为具体的IBIS数据曲线会根据版本和器件工艺的不同而变化。在我们后面的实际设计例子当中,我们会通过这个问题。
这些曲线数据的获得,需要通过SPICE仿真或者实际测量得到。而对于IBIS模型数据的测量和最后IBIS文件的生成,还需要一些特殊的工具,比如各个曲线的电压测量范围选取,对于Pullup V/I数据的参考电压调整及对100个数据采样点的选取,和对线性区间的估值等。这些模型数据处理的方法和技巧,对于生成一个准确的IBIS模型至关重要。任何一个器件厂商都非常重视与产品相关的IBIS文件生成,这部分工作一定是由专门的部门或者人员来负责。对于高速设计工程师而言,了解IBIS模型的基本原理,能够在使用过程中发现错误并对错误定位也就足够了。所以在本节中对于IBIS模型的数据测量和文件生成,不再展开讲,有兴趣的读者,可以参阅更多的资料加以学习。
5.2.2 IBIS文件介绍
在IBIS模型数据测量之后,再经过一定的后处理,需要按照一定的格式写入到IBIS文件中。同时为了方便交流和管理,IBIS文件中除了这些曲线数据的基本信息之外,还包括一些其他的辅助信息。IBIS文件有一些特定的语法和说明,例如文件名、器件名称及文件版本号等,这些信息在IBIS文件中以关键字的形式,分成几个节(Section)对器件信息和模型数据进行组织和描述。一般情况下,IBIS模型由以下三个部分构成。
1. 关于文件本身和器件名字的信息,这些信息用以下的关键词描述。
[IBIS Ver]——IBIS的版本号;
[File Name]——文件的名称;
[File Rev]——文件的版本号;
[Component]——器件的名称;
[Manufacturer]——器件的制造商;
[Disclaimer]——关于文件使用条件或其他声明;
[Copyright]——器件制造商的版权声明。
2. 关于器件的封装电气特性和管脚与Buffer模型的映射关系这些信息,用以下的关键词描述。
[Package]——器件封装寄生参数RLC;
[Pin]——器件中所有管脚列表,以及管脚属性和相应模型的映射关系。
3. 器件管脚模型数据描述,有如下关键字。
[Model]——用来标识一个模型信息,以及关于该模型的数据开始。在此关键字以下有一些参数定义,用来描述该模型的工作条件。
Model_type——I/O Buffer的类型,Input或者Output等;
Vinh,Vinl——Buffer工作的电平门限值;
C_comp——Buffer内部电容。
跟随在[Model]关键字后面的一些关键词描述,比如[Pullup]、[Pulldown]、[GND_clamp]、[POWER_clamp]和[Ramp]等,就是对于这个Buffer具体的具体曲线数据。当然,不是所有的模型都需要上面的全部关键词来描述,如OC和漏极开路电路就不需要[Pull-up]的数据信息,而对于Input类型的Model,当然就不需要[Pull-up]和[Pull-down]数据。
我们以如下的一个例子来讲解IBIS文件的组织结构和信息管理,如表5-2所示。
在这个例子中,我们看到的信息有,一个名称为“Sample.ibs”的文件,版本为2.1。这个文件中有一个名为“Test”的器件,且只有一个管脚为Driver。这个管脚是Output类型,使用的是一个名称为“out”的模型,但是对于该管脚的封装寄生参数RLC没有描述。“[Model] out”下面的信息,就是对于此模型的[Pulldown]、[Pullup]、[GND_clamp]、[POWER_clamp]及[Ramp]的曲线信息描述,并且被分为Typical、Minimum和Maximum三种工作情况。
在[Ramp]一节中,通常会使用关键词[Rising Waveform]和[Falling Waveform]来描绘上升曲线和下降曲线,但此时关键词[Ramp]仍然是必需的。这是因为[Ramp]是用来表示输出晶体管由逻辑低变为逻辑高所需要的时间。dv作为[Ramp]的一部分数据,代表的是电压范围的20%到80%的数值,Ramp 式由如下公式定义,并且这个公式在整个IBIS模型的生成和使用过程中是通用的,不能被改变。
dv/dt= 20%到80%的电压范围值/电压从20%变化到80%所需的时间
以上就是对IBIS文件的基本介绍,任何一个IBIS模型文件,都是按照这个组织原则进行的,只是随着器件、管脚及模型的数量的不同,文件数据量大小会有不同。但是按照这个文件结构进行对比解读,还是能够很快理解的。希望读者通过了解这些基本信息,对于正确地使用IBIS模型进行仿真分析会有帮助。
5.2.3 DML模型
虽然IBIS模型已经是业界描述有源器件的一种标准,但是对于系统的仿真而言,我们不仅仅需要关注于有源器件模型,还需要增加对离散器件、接插件、电缆及系统之间的互连模型。只有这样才能有效地描述一个系统,从而对系统的整体性能进行仿真。为了支持这种需求,Cadence开发了DML语言,用于对所有类型的器件模型进行描述和封装,从而使得一个系统能够在一个统一的环境下进行仿真。
DML(Device Modeling Language)是Cadence专用的模型语言,在Cadence的高速设计环节中所有的器件模型都以DML格式存储并使用。也就是说不管用户使用的是什么类型的模型文件,IBIS也好,SPICE也好,或者类似Quad等其他类型的模型文件,在仿真之前,都需要经过格式转换,存储成DML格式的文件才能被Cadence的仿真引擎所识别并使用。DML中既包含行为模型的语法描述,也包含类似于SPICE中的子电路结构模型的语法,因此可以用DML格式来描述其他类型的器件模型,比如IBIS和SPICE。
我们通常会把IBIS文件和IBIS模型混为一谈,那是因为,一般情况下一个IBIS文件中仅仅包含了一个器件(或者一种I/O)所相关的模型信息。而DML文件所涵盖的内容要比DML模型的范围大得多。通常,DML文件中可以包含很多种器件和很多种I/O的DML模型,在一个DML文件中可以包含有源器件、离散器件甚至连接电缆的模型描述。还有一种DML文件,它的扩展名为.ndx,这种DML文件仅仅是其他一些DML文件的索引信息。DML文件也是基于文本格式的,可以使用文本编辑器或者Model Integrity工具来对DML文件进行创建和编辑。
在Cadence的仿真环境中,还有一种语言IDL(Interconnect Description Language),它是用来描述如PCB走线和过孔等互连模型的语言。IDL的文件结构和DML是一样的,有很多读者经常会搞不清楚Cadence中所使用的几种模型语言,DML、IDL及ESPICE和KSPICE之间的关系,表5-3对这几种模型语言进行了对比,希望能对读者有一些帮助。
如上所说,DML文件中可以包含任何形式的器件模型,表5-4中介绍了在DML中可使用的7种类型的器件模型。
在了解了器件模型的分类之后,我们进一步来看看DML文件的组织结构,和IBIS文件类似的是,DML也使用关键字、参数和子参数的方式来组织文件。但不同的是,在DML文件结构中,关键字是有严格的层次概念的。在文件的表现形式上,是参照软件的编码规范进行缩进编排的,即同一个层次的关键字在同一个缩进位置上,而隶属于某个层次对象的参数和子参数信息则要增加一个缩进位置,并且位于一个大括号之内,这颇有些C语言的编写规范。虽然缩进的要求是为了增强可读性,但是隶属于同一对象的参数需要用大括号括起来,则是严格的语法要求。例如,在表5-5中就是对于DML文件格式的详细说明。
为方便读者的理解,下面再给出一个实际的DML文件的例子,如表5-6所示,对照上面讲的DML文件结构,相信读者很容易明白这个例子中所描述的信息。
在上面的DML文件实例当中,还出现了一些新的关键字,比如(Manufacturer "SPEElectronic")。这些关键字是可选项,它们是Copyright、Disclaimer、LibraryVersion、Manufacturer、ModelDate、ModelSource、ModelVersion和Notes等。需要注意的是,正如前面所讲的,在DML文件描述中,关键字出现的位置是有严格的层次关系限制的,所以像Copyright、Disclaimer和Notes是要放在DML文件名所限制的第一个层次范围内,而ModelDate、ModelSource、ModelVersion和Manufacturer等关键字是要放在出特定器件模型的控制层次范围内。如果不这样做,那就犯了DML的语法错误。
还有一点需要提醒读者的是,在DML模型当中,有一些默认的数量单位缩写,如表5-7所示,了解这些,对于正确使用DML模型是有帮助的。
Cadence用户不用过多地担心DML文件的语法及使用问题。一般情况下,如果用户能够正常地使用IBIS2 SigNoise将IBIS文件转换成DML模型,就可以在Cadence的仿真环境下使用这个DML模型了。也就是说,如果IBIS文件没有问题,那么所有的转换工作都由软件自动完成,不需要用户参与,除非用户想去创建一个自己的DML模型。
除了作者在这里介绍的关于DML使用的基本信息外,DML还有很丰富的功能,比如如何在DML模型中建立各种类型的器件模型,如何封装和使用SPICE模型进行仿真等。这些功能在多系统复杂仿真中都具有非常重要的实用价值,在本书中只是点明了要在Cadence中实现这些方法的可行性,具体的实现步骤希望有能力的读者进一步参照Cadence的帮助文档“Allegro SI Device Modeling Language User Guide.pdf”深入学习。
5.2.4 如何获得IBIS模型
在刚刚使用Cadence进行高速设计时,很多工程师都被仿真信的问题所困扰。他们经常会问道:“到哪里才能找到我所需要的仿真模型?”这里,我们就谈谈如何获得合适的仿真所需的模型。
首先我们要知道,Cadence的信号仿真工具SigXP具有两种仿真引擎,一个是TLsim,一个是Hspice。所以,在Cadence中进行仿真,既可以使用IBIS模型,也可以使用Hspice模型。但问题是除非你额外购买并安装了Hspice的仿真器,否则是不能使用Hspice模型仿真的。另外一个类似鸡和蛋的问题是,如果你已经有了Hspice的仿真器并且已经知道了如何使用Hspice模型,那么也就不需要再去了解该如何获得IBIS模型(因为IBIS模型的数据一般都是从SPICE模型中得到的),可以直接将SPICE模型包装在DML Model中,在SPICE的仿真环境中做仿真,然后根据对结果数据的分析来设置规则约束等。因此,这里讨论的是,在大多数用户使用TLsim仿真器的情况下,从一开始设计,如何获得合适的IBIS模型。
在上一节中,我们了解了IBIS模型的发展历史,也就理解了IBIS模型可以通过以下几种方式获得。
- 可以从器件厂商处直接获取,用户无须对模型付额外开销。大部分的模型可以直接从器件厂商的网站上获得。有些器件厂商为了掌握市场信息,需要客户提供一定的项目资料之后才肯提供IBIS模型,虽然过程复杂了一些,但是最终还是能够得到的。另外,这些免费的IBIS模型,也可以通过网上搜索得到,比如“http://www.eigroup.org/”是一个关于IBIS模型发展的技术组织网站,可以从这里找到大量关于IBIS的资料和各类器件模型。
- 也可以从Hspice模型的输出结果LIS文件,转换成IBIS模型文件。Model Integrity新的Hspice-to-IBIS转换模式,可以为设计所提供从SPICE输出文件(.lis)直接创建IBIS模型的方法。Cadence在Hspice-to-IBIS处理过程中采用的曲线拟合算法和数据抽取算法是与有着10年以上IBIS模型开发经验的业界领先的半导体生产商共同协作开发,具有非常高的精确度。但这种方式需要用户对SPICE模型的使用和IBIS模型原理都非常了解才可以使用,否则可能费力不讨好,也就是花了很多精力去创建一个IBIS模型,结果还有很多错误。
- 最后,可以找些适当的替代模型。用户可以参照某个产品参数,按照同一厂家的产品系列,选择一个类似的器件模型作为替代模型。但这样做的时候要非常小心,一定要对你所使用的器件有足够了解,这样你才可以通过寻找与之工艺参数、性能匹配的器件模型来代替。
一般来讲,通过以上三种方式,我们可以找到大部分所需的IBIS模型,但是一旦找不到,也可以参照器件手册提供的曲线波形或者数据,按照经验进行“估计”。但这种对模型的估计,是凭着丰富的设计经验,甚至一些直觉,没有什么可以遵循的规律,所以只能祝你好运了。
5.2.5 在Cadence中使用IBIS模型
作者常常看到一些刚刚涉足高速设计领域的工程师,当拿到一个器件的IBIS模型之后,迫不及待地想一试身手,恨不得马上能够跑完所有的仿真,得到分析结果,生成约束,然后在约束的驱动下,完成PCB的设计(其实当初作者初学仿真分析时的心情也是一样的,所以有必要在这里提醒后来者,不要重复同样的错误)。
从图4-2的Cadence高速设计流程中,细心的读者会发现,这个高速设计流程成功的基础是在一个正确的IBIS模型上做的仿真分析,并将分析结果转化为高速设计的约束,所以如果获得的IBIS模型是错误的,那么后续的所有工作都将是徒劳无功的,甚至是你职业生涯的一个大灾难,这就是所谓的“Garbage in, garbage out”。
保证模型的正确性及正确地使用模型,对设计成功而言是至关重要的。所以,当你得到了一个器件模型之后,切记一定不能马上用它开始仿真分析,有多种原因需要在使用前对所获得的模型进行完整性检查。这些原因包括,在创建IBIS模型过程中的人为失误、IBIS模型生成过程中的数据测量错误及IBIS文件格式错误等。并且IBIS模型不是一个严格的工业标准,在模型生成过程中,有很多语法可选项,每个仿真器对这些可选项的处理也不相同。
总之,为了确认你的仿真器能够正确使用获得的IBIS模型,一定要对IBIS模型进行检查。图5-2的内容是依据IBIS模型文件V1.1版本所做的文件结构说明。图的右半部分的内容有[...]的是IBIS模型中的关键词,没有方括号的条目则代表的是子参数的标题,同时字符“Y”表明该内容在IBIS模型中是必选项,而“N”则是表明该内容在IBIS模型中为任选项。
为了验证IBIS模型的正确性,以及将IBIS模型整理成Cadence所能识别的模型,需要使用Cadence中的Model Integrity工具对IBIS模型进行验证和整理。Model Integrity是基于Windows平台的IBIS模型编辑器,它不但可以检查IBIS的语法错误,而且还可以以图形方式显示IBIS模型的I/O曲线。在Cadence中使用IBIS进行仿真之前,要用Model Integrity对模型进行检查。通常我们遇到的错误就是语法错误,以Warning的形式报告给用户,如图5-2中所显示的一些关键字和选项的缺失。这个一般可以不用理睬,除非是关键的语法错误和数据错误。还有一类常见的“错误”就是IBIS模型的单调性问题。
理论上讲,IBIS模型中的数据要有严格的单调性,也就是说V/I曲线变化过程是单调的,但实际上由于测量的精度(或者误差)、测量过程中的噪声干扰,以及器件的物理特性变化,IBIS文件中的数据会发生不符合单调性的情况,这个就要具体问题具体分析了,如果只是非常细微的变化,对单调性影响不大,就可以忽略。但是如果曲线上的非单调性非常明显,那就是真正的错误了,要寻找原因加以修正。
另外一个使用Model Integrity的原因是,前面所讲到的,Cadence的高速信号分析工具SigXP并不能直接使用IBIS模型。为了有效地使用各种器件模型,Cadence对这些器件模型进行了二次封装,通过这样的封装,它可以在一个统一的环境下使用多种器件模型。经过二次封装后,在Cadence中使用的最终模型有两种,器件模型DML(Device Model Language),互连接插件模型IML(Interconnection Model Language)。对于输入的是IBIS模型而言,DML模型基本上就是对IBIS的再封装,互连接插件模型是对接插件等互连器件的ESPICE模型的再封装,经过DML和IML再封装的模型和原模型没有本质上的区别,只是文件格式不同。
读者可以打开原来的IBIS模型和封装后的DML模型加以比较,还是很容易能够读懂的。IBIS模型可以通过Model Integrity自动转换成DML模型,如果转换的过程中发生错误,用户还可以通过Model Integrity对IBIS模型进行编辑、修改,但是也一定要切记,修改的依据是什么?所做的修改对将来的仿真结果有什么影响?如果不能明确地回答这两个问题,建议还是不要随意修改。因为,模型不准确,不仅会使得仿真结果不可信,而且有可能对基于这样的仿真结果设计的系统带来灾难性的后果。
5.2.6 IBIS2 SigNoise的警告和错误参考
在Cadence仿真分析环境设置过程中,需要执行IBIS2 SigNoise将IBIS模型转换为DML模型,而在模型的转换过程中,可能会遇到各种各样的问题。Cadence软件提供了有可能遇到的所有的警告和错误信息,以及关于这些警告和错误的可能产生原因和推荐解决办法。
为了使读者阅读和设计中及时参考,同时也为了保证Cadence的版权,在见下的表5-8和表5-9两个表中,如实地提供了Cadence软件中的原始信息,没有进行翻译。这样做的另外一个原因是,作者在实际工作中,很少遇到如下的这些警告和错误提示,反而会经常遇到一些其他的错误,因此只是将Cadence中提供的参考信息列举在这里,而关于实际应用中遇到的问题,我们留在下一章中对照实际的设计实例加以讲解。这样,读者能够对模型中的各种实际问题有个切实的感受。