CADENCE 仿真流程

更新时间:2024-01-29 20:16:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

开始仿真板的准备工作模型的转换和加载提取网络拓扑结构前仿真(布局和布线前的仿真,目的为布局和布线作准备,主要在SQ signal explorer expert中进行)布局布线后仿真多板仿真结束

第一章 进行SI仿真的PCB板图的准备

仿真前的准备工作主要包括以下几点: 1、仿真板的准备 ● 原理图设计; ● PCB封装设计;

● PCB板外型边框(Outline)设计,PCB板禁止布线区划分(Keepouts);

● 输出网表(如果是用CADENCE的Concept HDL设计的原理图,可将网表直接Expot到BRD文件中;如果是用PowerPCB设计的板图,转换到allegro中的板图,其操作见附录一的说明);

● 器件预布局(Placement):将其中的关键器件进行合理的预布局,主要涉及相对距离、抗干扰、散热、高频电路与低频电路、数字电路与模拟电路等方面;

● PCB板布线分区(Rooms):主要用来区分高频电路与低频电路、数字电路与模拟电路以及相对独立的电路。元器件的布局以及电源和地线的处理将直接影响到电路性能和电磁兼容性能;

2、器件模型的准备

● 收集器件的IBIS模型(网上下载、向代理申请、修改同类型器件的IBIS模型等) ● 收集器件的关键参数,如Tco、Tsetup、Tholdup等及系统有关的时间参数Tclock、Tskew、Tjitter

● 对IBIS模型进行整理、检查、纠错和验证。

3、确定需要仿真的电路部分,一般包括频率较高,负载较多,拓扑结构比较复杂(点到多点、多点到多点),时钟电路等关键信号线

第二章 IBIS模型的转化和加载

CADENCE中的信号完整性仿真是建立在IBIS模型的基础上的,但又不是直接应用IBIS模型,CADECE的软件自带一个将IBIS模型转换为自己可用的DML(Device Model Library)模型的功能模块,本章主要就IBIS模型的转换及加载进行讲解。

1、IBIS模型到DML模型的转换

在Allegro窗口中选择Analyse\\SI/EMI SIM\\Library,打开“signal analyze library browser”窗口,在该窗口的右下方点击“Translate →”按钮,在出现的下拉菜单中选择“ibis2signois”项,出现“Select IBIS Source File”窗口(图1),选择想要进行转换的源IBIS文件,按下“打开”按钮,出现转换后文件名及路径设置窗口(缺省设置为和源IBIS文件同名并同路径放置,但此处文件名后缀为dml),设置后按下“保存”按钮,出现保存确定窗口(图2),点击OK按钮即可,随后会出现一个“messages”窗口,该窗口中的报告文件说明在模型转换过程中出现的问题,对其中的“warning”可不用在意,但如果出现“error”则必须进行

修改后重新进行模型格式转化直到没有“error”出现为止,此时转换得到的dml文件才是有效的。

注:若已有规范的完整DML模型库,我们可以直接将需要的模型库加入到工作库中,即可跳过第一步直接执行第二步。

图1:IBIS模型转换源文件设置窗口

图2:输出dml文件确认窗口

2、将转换后的dml模型加载到模型库

在signal analyze library browser窗口中,按下“Add Existing Library→”按钮,出现下拉菜单,选择“Local Library”出现“打开”窗口,选择你放置dml文件的路径并选中要加载的dml文件点击“打开”按钮就将dml文件加载到了模型库中。

3、分配DML文件给特定的器件。

在Allegro窗口中选择Analyse\\SI/EMI SIM\\Model,打开“Signal Model Assignment”窗口(图3所示),在该窗口中所有使用到的器件是按序排列的。可以点击“Auto Setup”进行器件模型的自动分配,此时的分配原则是如果器件的名称和模型的名称完全一致,则该模型自动分配给这个元器件。也可以选中某一元器件,点击“Find Model?”按钮,出现“Model Brower”窗口,在“Model Name Patter”一栏中填入“*”号,一些模型的名称进入下面的列表框,在列表框里选中你需要的模块后,在“Signal Model Assignment”窗口中的对应器件的“Signal Name”列里就会出现它的模型名称。

在“Signal Model Assignment”窗口中选中某些器件后,还可点击“Create Model?”按钮进入创建模型的界面(图4所示)。对于定义了value值的无源器件(包括电阻、电容、电感),系统会自动生成在仿真中使用的Espice模型。对于没有自动生成模型的无源器件,在模型创建窗口选择“Create Espice Model”,而对于其他没有模型的有源器件则选择“Create IBIS Model”,然后按提示输入value值及各管脚的功能即可,同时可以存盘生成*.dat文件以备后用,此时这个新生成的模型就出现在所选器件的“Signal Name”栏中。

特别注意准备进行仿真的网络上所有器件都需要有模型,不要遗漏电阻、电容、电感、测试点、接插件等元件模型,否则在提取网络拓扑时会出错。

图3:模型分配窗口

图4: 创建新模型窗口

第三章 提取网络拓扑结构

在对被仿真网络提取拓扑之前需要对该板的数据库进行设置,整个操作步骤都在一个界面“Database Setup Advisor”中进行,之后就可进行拓扑的提取。

1、“Database Setup Advisor”的设置。

● 在Allegro中选择Tools/Setup Advisor?命令进入到“Database Setup Advisor”界面(在SpecctraQUEST界面中选择Board/ Setup Advisor?命令)。

● 选择“Next”出现“Database Setup Advisor—Cross Section”窗口,点击该窗口中的“Edit Cross Section”按钮进入叠层设置窗口“Layout Cross Section”(图5所示), 在这个类似Excel表格式的窗口里,输入需要的各种参数,在表格的最后一栏就直接计算出该层的阻抗值。

图5: 叠层设置窗口

● 选择“Next”出现“Database Setup Advisor—DC Nets”窗口,点击该窗口中的“Identify DC Nets”按钮进入直流网络设置窗口“Identify DC Nets”(图6所示)。在这个窗口中,可以对所有直流网络设置具体的电压值。

图6: 直流网络设置窗口

● 选择“Next”出现“Database Setup Advisor—Device Setup”窗口,点击该窗口中的“Device Setup”按钮进入直流网络设置窗口“Device Setup”(图7所示)。在这个窗口中,可以对所有器件设置正确的分类属性。正确的CLASS属性对于仿真是很重要的,如果设置不正确,提取出的拓扑将会有严重的错误。接插件的CLASS属性为IO,分离器件(电阻、阻排、电容、电感等)的CLASS属性为DISCRETE,集成电路的CLASS属性为IC。除了器件的CLASS属性以外,器件管脚的PINUSE属性也同样很重要。所有CLASS属性为IO和DISCRETE的器件其管脚的PINUSE属性均应为UNSPEC,而CLASS属性为IC的器件其管脚的PINUSE属性示功能不同可以为:IN、OUT、BI。器件的CLASS属性还可通过

SpecctraQUEST主窗口中Logic/Part List命令调出Part List窗口进行设置(图8所示)。而器件管脚的PINUSE属性只能在创建原理图库的地方设置和修改。

图7: 器件属性设置窗口

图8: 器件属性修改窗口

● 选择“Next”出现“Database Setup Advisor—SI Models”窗口,点击该窗口中的“SI Models Assignment”按钮进入分配模型窗口“Signal Model Assignment”,这一部分的设置见第二章。

● 选择“Next”出现“Database Setup Advisor—SI Audit”窗口,这一部分通常不用设置直接点击“Finish”按钮结束Database Setup Advisor的设置。

● 以上每一步完成后都有一个Message窗口显示该部操作引起数据库的变化,可以仔细察看一下Message窗口的报告是否与你所期望的要求相互一致。

2、提取拓扑

拓扑结构的提取可以在Allegro的主界面也可以在SpecctraQUEST的主界面进行。在Allegro的主界面执行Analyse\\SI/EMI SIM\\Probe?命令调出“Signal Analyse”窗口(或者是在SpecctraQUEST的主界面,两者操作相同)(下图9所示),在Net栏中填入你想要进行仿真的网络,回车后与该网络相关的管脚就都出现在Driver Pins、Load Pins、Others Pins这三栏中,(在数据库设置正确的情况下)点击“View Topology”按钮就会将该网络的拓扑结构在SigXplorer调出。

图9: “Signal Analyse”窗口

图10: Constrain Manager的主界面

还可以从Allegro的主界面(或者SpecctraQUEST的主界面)进入Constraint Manager从而进行拓扑结构的提取。在Allegro主界面进入的路径是Setup/Electrical Constraint Spreadsheet(或者是从SPECCTRAQUEST的主界面进入,两者的操作相同)。Constrain Manager是Cadence的约束管理器,所有连线的拓扑抽取以及对网络赋拓扑都可以在这儿进

行的。操作如下:打开Constrain Manager的主界面(图11所示),在Net栏点击Signal Integrity、Timing、Routing的任何一个,右边就会将本板的全部网络显示出来,如图3.7所示。各个网络按字母排列,其中前面有“+”好的表示是总线或Xnet。右击所选网络选择SigXplorer,就将拓扑抽取出来并进入SQ signal explorer expert界面图12,所有网络的前仿真是在这个界面中进行

图11: Constraint Manager中的网络

图12: SQ signal explorer expert界面

还有一种建立拓扑结构的方法就是直接在SigXplorer中创建拓扑结构。打开SigXplorer,执行Anslyse/Library实行库文件的加载,操作类似于第二章的操作。点击工具按钮“Add Part”执行放置传输线、放置驱动和接收器件、放置无源器件等操作(图13所示),最后连接结构体完成仿真拓扑图。

图13: 添加模型窗口

第四章 前仿真

前仿真是指在布局和布线之前的仿真,目的为布局和布线作准备,主要在SQ signal explorer expert中进行,主要有以下几个步骤:

1、设置拓扑结构的仿真参数

因为对各个器件及阻容器件的模型已经全部指定,所以抽取出来的拓扑上面的各IO都有相应的IO模型,对那些没有指定模型的管脚,Cadence会赋给它缺省的模型。Cadence抽取出的拓扑结构是根据各元器件的相对位置并考虑到布线方便抽取的,其中互连线的距离是它计算的曼哈顿距离(即Δx+Δy)。仿真的主要目的就是根据仿真的结果来优化网络的拓扑结构,用来约束PCB布线,使布线按照最优结果方向进行。

SQ Signal Explorer Expert界面除了菜单与工具栏以外分为两个部分,即上面的拓扑示意图与下面的参数、测量选择以及结果、控制的标签窗口。

在下面的Parameters标签窗口中的白色区域是可以编辑的,而灰色区域是无法编辑的,

CIRCUIT是整个参数的总标题,下面的tlineDelayMode栏可以选择是用时间还是用长度表示传输线的延时(若用长度表示,则缺省的单位是mm,若用时间表示,则缺省的单位是ns,其中传输线的缺省传输速度是140mm每ns);userRevision表示目前的拓扑版本(第一次一般是1.0,以后修改拓扑时可以将此处的版本提高,这样以后在Constraint Manage里不用重新赋拓扑,只要升级拓扑即可)。

点击开单板名称后,下面就列出本拓扑的内各个元件(包括器件、阻容、电源、传输线),可以编辑各个元件的特性;

对器件,可以选择对应管脚的IO BUFFER模型,但一般不推荐去更改它的模型,因为

已经赋给器件整体模型了,相应的IO Buffer的模型也就确定了。

对阻容器件,可以更改它们的阻容值; 对电源,可以更改电源值;

对传输线,可以更改以下几项:impedance,即传输线的交流阻抗,可以根据叠层情况

在适当范围内更改它;propDelay,即传输线的延时来表示的长度;traceGeometry,传输线的类型,即是微带线或带状线,由于在前仿真中传输线是用一个集中式的无损耗模型来表示的,所以这边选择微带线或带状线的关系并不大;velocity,传输线的信号传输速度,这边一般不去改变它,用它的缺省值,即5567.72mil/ns,约14cm/ns。

为了得到更大范围内的仿真结果,扩大参数的选择范围,我们一般对阻容器件的阻值、2、 设置激励源

在各个元件的参数设定后,接着进行激励源设置。点击作为驱动源的模型上面、位号下面的Tristate,出现图14所示的窗口进行选择:

在Cadence中共有7种激励:

Pulse:脉冲方波,就是时钟源性质的波形,如果选择Pulse,整个界面中的其他选项是灰的,不允许再选;

Rise:表示一个上升沿; Fall:表示一个下降沿;

Custom:表示一种可以自定义的波形激励,这是最常用的波形,在这种形式下,首先

传输线的阻抗、传输线的长度选择多个值进行扫描仿真(sweep simulation)。

在Frequence中输入信号的频率,在Pattern中输入波形的形状。其它的填缺省即可;

Quite Hi:稳定高电平; Quite Lo:稳定低电平;

Tristate:三态,对非驱动源,都选择三态。 设置完成后点击ok即可。

图14: 激励源设置窗口

3、 整个仿真参数的设置

在SQ signal explorer expert主界面选择Analyze/Preference,弹出图15所示的窗口 ● 其中标签Pulse Stimulus设置驱动源类似时钟波形仿真时的仿真参数,在Switching Frequence中填入时钟的频率,其它项保持它们的缺省值;

● 在标签Simulation Parameters中设置仿真的时间、精度等,如果你对Fixed Duration选中,则仿真时间长度就是后面空格中的值,否则它将对你在激励源中填入的所有波形进行仿真。对Waveform Resolution中是指仿真的精度,即每隔多少时间取一点进行仿真,如果这儿用的是Default,那么Cadence自动认定精度是仿真总时间的百分之一,也就是说它总共抽取100个点进行仿真。对Cutoff Frequency中是指选定范围内对互连线的寄生参数进行计算,这主要是指在拓扑中具有真实的传输线线段时,在前仿真中可以不管这一项。对Buffer Delays是指如何从仿真中得到Buffer Delay,若选择From Library则是指它从仿真模型里得到的,而选择On-the-fly则是从实际仿真数据中得到的,这儿必须选择On-the-fly,以使结果的正确性。

● Simulation Modes是指仿真的快慢方式,在FTS Mode中共有5种模式可以选择:Fast(驱动、接收都在快模式下)、Typical(正常模式)、Slow(慢模式)、Fast/Slow(驱动在快

模式、接收在慢模式)、Slow/Fast(驱动在慢模式、接收在快模式)。为了在Worst Case下仿真,我们一般选择Fast和Slow两种模式进行仿真,最后两种模式因为在实际中不容易遇到,所以我们一般不选。Driver Excitation是指对驱动源进行选择,如选择Active Driver则表示只将拓扑中指定的驱动源作为驱动进行一次仿真,而如选择All-Drivers则是对拓扑中的每个能作为驱动源的器件作为驱动轮流仿真一次,如在图中四个器件都可以作为驱动源(因为都是IO类型的Buffer),则会仿真4次,注意在这种情况下拓扑中的所有器件都必须设成Tristate模式,而且对驱动源是当成Pulse进行仿真的,所以在这种方式下对驱动源的参数设置在Pulse Stimulus中。

● 在Measure Mode中主要设置测量的一些选择,对Measure Delays At:如选Input Threshold表示以输入Buffer的Vil与Vih进行Buffer Delay测量的,如选Vmeas则表示以输出Buffer的参考电压进行测量的,我们应该选择Input Threshold。对Receiver Selection,如选All表示所有非驱动的器件都作为接收,如选Select One则在仿真开始时它会让你选择其中的一个作为接收源。在我们的实际仿真中,对这两个选择的意义并不大,因为无论选哪一种,在仿真后数据报表中都会列出所有非驱动源的数据结果。在Custom Simulation中选择仿真的类别,Reflection表示时域发射仿真,Crosstalk表示串扰仿真,EMI表示电磁干扰仿真。

● 在EMI标签窗口中,主要设定EMI的规则,及接收天线的距离(Cadence对EMI仿真只能看它的EMI能不能符合设定的规则)。

图15: 仿真参数设置窗口

4、 仿真结果的设置

在SQ signal explorer expert主界面下部分中的Measurement标签窗口(图16所示)中选择Reflection,在Reflection下面将需要显示结果的值选中。

图16: SQ signal explorer expert主界面下的Measurement标签栏

5、 仿真

在拓扑上各元件的参数设定以后以及仿真参数设定以后,即可以进行仿真。仿真可以点击工具图标或执行命令Analyse/Simulation。仿真完成后,根据设置的仿真模式和仿真次数,在下面的Result栏中就会显示出相应的仿真结果数据。右击某一个数据后选择View Waveform,就可以进入Sigwave界面看波形。如图17所示:双击左边波形名称中任何一个波形符号即可打开或关闭相应的波形,选中波形后还可以更改波形的颜色。

对左边的一些波形名称解释如下:

ODTA D4 K3表示拓扑中D4器件K3 Pin处的波形; ODTA D4 K3_buffdly表示接测试负载时K3 Pin处的波形; ODTA D4 K3_buffdlyi表示接测试负载时K3 Pad处的波形; ODTA D4 K3i表示拓扑中D4器件K3 Pad处的波形;

注意对buffdly与buffdlyi的波形只有驱动端才有,对接收端,都只有输入端Pin 与Pad的两个波形。

在波形图上打开测试负载曲线和所关心的接收曲线,同时打开Vmeas和接收端的Vil、Vih,就可以进行SwitchDelay和SettleDelay等数值实际测量,测量的结果应该与主界面Result栏中的数据一致。

图17: 波形窗口

目前,Cadence还不能从PCB预布局或PCB板图中直接抽取出差分线进行,对于差分线的仿真必须在SQ Signal Explorer Expert中手工加入元件和互连线来模拟实际的板图结构来进行仿真。手工加入元件的方法是Edit/Add Part,即可以加入各种IO Buffer,分立的ESPICE器件,互连线(包括TLINE与TRACE)等。

6、 给拓扑加约束

在仿真中,需要根据仿真结果不断修改拓扑结构以及预布局上元器件的相对位置,得到一个最优的拓扑结果,就需要在拓扑中加入约束,并将有约束的拓扑赋给板中的网络,用以指导与约束随后的PCB布线。

加约束的方法:在SQ signal explorer expert主界面选择Set/Constraint,就可以在弹出的图18所示框中加入各种约束,下面分别介绍:

● 在Switch-Settle栏,可以填入从各发送端到各接收端的Min Switch Delay和Max Settle Delay,这是对时钟同步信号而言的,是根据芯片Datasheet上的AC参数及公式计算得到的;这一栏的数据对布线而言没有任何作用,它是作为后仿真检查的参考用的;

● 在Prop Delay栏,填入拓扑中各个Pin到Pin、Pin到T点以及T点到T点的传输延时规则,直观地说,也就是对拓扑中各传输线长度的限制,这一栏的规则是最重要的规则,它将直接约束PCB的布线;

●在Impedance栏,它是对拓扑中各段传输线阻抗的约束,约束了各段传输线的阻抗变化范围,若这一栏不填,则表示对传输线的阻抗无要求;

● 在Rel Prop Delay栏,可以定义一些传输线的长度匹配规则,其中Scope的选项有两个:Local和Global,Local表示只对本条Net/Xnet有效,而Global则对本拓扑对应的所有Net/Xnet在整体的长度匹配上都有约束。

● 在Max Parrallel栏,它进行了平行长度的约束,即它允许在两条线的间距多大时最长能平行多长。这是需要进行串扰仿真后才能得到的数据。

● 在Wiring栏,它约束了拓扑与网络的对应关系,注意在Mapping Mode中,我们一般选择Pinuse and Refdes,表示在赋拓扑的时候可以通过管脚的IO Buffer类型和参考位号将拓扑中Pin与实际网络中的Pin对应起来;对Physical中的各项主要现在线的总长、过孔数、端接长度等;对EMI中可以限制在表层走线的最大长度;

● 在Signal Integrity栏,可以加入对信号的过冲电压、串扰电压、SSN等的限制; ● 在User-Defined栏,可以输入用户自己的其他约束。

● 对以上各栏中,我们用到最多的是Prop Delay,对线长有匹配需要的,也需要用到Rel Prop Delay ,对高速信号,也需要用到Max Parallel这一栏的约束。

图18: 设置拓扑结构约束的界面

7、 赋拓扑

对关键网络的拓扑仿真结束后,就可以把已经完成的拓扑赋给具体的网络。赋拓扑的过

程也是在Constraint Manager中进行的(见图19),赋拓扑的过程如下:

●将拓扑文件输入进来,操作:File/Import/Electrical CSets?,把仿真完成的拓扑文件输入进来;

●将拓扑文件赋给网络,在Objects栏中选中所要的网络(可以多个选),然后选择菜单Object/Electrical CSets Reference,在弹出的对话框中将选择相应的拓扑即可。如果赋拓扑的过程中出错,那么它会提供出错信息。

图19: 赋加拓扑的操作界面

第五章 布局布线

将关键网络的拓扑全部赋完后即可将.brd文件交给PCB工程师进行布线。在设置了约束的网络布线时,会有一个动态的小标尺出现在屏幕上以显示所布线与约束之间的区别。当布线满足约束条件时,小标尺显示为绿色,当布线不满足约束条件时,小标尺显示为红色,并可通过显示的红色数字的正负号表示出布线是超过最长布线长度还是小于最短的布线长度。这种实时动态的显示可以使PCB工程师随时对布线进行调整以达到最佳的布线情况。

第六章 后仿真

后仿真的目的是验证、检验仿真结果,是更加精确的仿真。仿真的过程和前仿真的过程相似,只是在提取拓扑时,前仿真使用的是理想传输线模型,没有考虑实际情况中的各种损耗,但后仿真使用的是实际的布线参数,因此仿真的结果更为精确一些。如果在后仿真中发现问题,重要对部分关键器件及线网进行重新布局和布线。

第七章 多板仿真

多板仿真,就是对于多块PCB板互连情况下的仿真设计,也称为系统及仿真。它们通过连接器或电缆相连接。SPECCTRAQuest通过Design Link来定义多快PCB板是如何连接的,连接器或电缆可以用PLGC矩阵或SPICE电路模型描述。在进行系统级仿真前需要如前所述的仿真步骤一样,将连接器或电缆的模型分配好。系统级仿真需要做以下工作:

在系统配置中设置Design Link。在Cadence中打开Signal Analysis Library Browser窗,在其中点击Browse Models,然后在Model Browser中点击Add Model选择DesignLink,这样在模型库中就增加了一个DesignLink模型,编辑此模型,如图20。在Drawings部分需要将系统中互连的单板PCB图文件加入并指定设计名。在Connections部分需要互连的各个连接属性(如连接长度),并指定连接名。在Connection PinMap部分需要指定各个连接的管脚对应关系。

图20: 多板仿真的designlink界面图

这样,就可以对存在于系统中各个单板之间的网络进行系统级的仿真,其它的仿真前的环境设置以及整个仿真过程与单板仿真完全相同。

附录一:PowerPCB格式向Allegro格式的转换

对于在PowerPCB中已经完成的PCB板,作如下操作:

在PowerPCB的窗口界面上,选择文件菜单,选择Export操作,出现File Export窗口,选择ASCII格式*.asc文件格式,并指定文件名称和路径(如图1.1)。点击图1.1的保存按钮后出现图1.2ASCII输出定制窗口,在该窗口中,点击“Select ALL”项、在Expand Attributes中选中Parts和Nets两项,尤其注意在Format窗口中只能选择PowerPCB V3.0以下版本格式,否则Allegro不能正确导入。设置完成后点击OK按钮即完成了网络表的输出。

在Allegro中导入*.ascPCB板图

在Allegro的窗口中,选择文件菜单,选择Import操作,出现一个下拉菜单,在下拉菜单中选择PADS项,出现PADS IN 设置窗口(图1.3),在该窗口中设置三个必要参数:

图1.1 在PowerPCB中输出通用ASC格式文件。

图 1.2 PowerPCB导出格式设置窗口

图1.3 导入PADS网表的参数设置窗口 第一行输入源asc文件所在路径

第二行输入网表格式转换所必需的pads_in.ini文件所在路径(注:pads_in.ini所在路径为:?\\psd_14.2\\tools\\PCB\\bin)

第三行指定Allegro格式的输出文件的路径。

设置完成后运行“Run”,将在指定的目录中生成转化成功的.brd文件。 在Allegro文件菜单中使用打开功能将转换好的BRD文件调入Allegro中。

本文来源:https://www.bwwdw.com/article/u24w.html

Top