Allegro Cadence PCB仿真技术及应用

1仿真流程图示

仿真流程图示如下:

具体解释流程如下:

第一步:准备好仿真文件

仿真文件是直接从PCB Editor中保存得到的”.brd”格式的文件。

第二步:转换IBIS库到dml格式并加载

我们把从厂商或自己定制的IBIS库文件,转换成DML文件,转换的过程中要检查有没有错误,有错误要进行纠正。

第三步:给器件加载对应模型

如有自己的模型也可以加载进来。

第四步:定义板子的地线、电源电压。

找出板子的地线和电源线,电源线要根据实际情况指定相应的电压。

第五步:调整PCB板层叠结构满足阻抗要求。

此处注意是设定板子的厚度。

第六步:设置仿真参数。

根据厂商要求和工作经验,设定仿真约束条件。

第七步:用探针指定仿真信号线。

用探针指定方式信号线,一般在后仿真用的比较多。

第八步:生成仿真结果报告、设定报告包括的参数。

在Constraint Manager里生成仿真结果,并设定相关参数。

第九步:提取电路拓扑结构。

在SigXplore界面中提取拓扑结构,提取出的拓扑可用于约束。

第十步:更改不同的电路条件重复仿真。

在SigXplore中使用有损互连和无损互连进行反复仿真。

第十一步:仿真结果分析。

分析仿真出来的波形文件。

第十二步:电气约束规则的定义。

把仿真好的拓扑导入Constraint Manager中,从而实现对电路板的约束。

2 IBIS模型的构成及其应用

2.1 IBIS是什么?

IBIS是Input/Output Buffer Information Specification的简写,是进行数字电路的传输线路分析即信号完整性分析,描述高速器件输入输出特性的行为模型。简单的说就是『高速PCB板仿真使用的模型』。

IBIS的规格是IBIS开放论坛制定的,但是其只规定了信息的格式,关于仿真处理和模型的使用方法并没有特别规定。

2.2 IBIS模型的构成

IBIS模型里记录器件Pin脚的排列信息和输入输出的特性,基本的构成如下:

1. 驱动模型(输出模型)

Through rate:上升、下降的特性

Pull down I-V curb :在输出为逻辑低电平时,半导体的I/V特性曲线

Pull up I-V curb :在输出为逻辑高电平时,半导体的I/V特性曲线

I-V curb:[Power clamp]clamp和[GND clamp]clamp二极管特性

C_comp:半导体芯片的电容

等效电路图

2. 接收器模型(输入模型)

等效电路图

-V curb:[Power clamp]clamp和[GND clamp]clamp二极管特性

C_comp:半导体芯片的电容C_comp

2.3 IBIS模型的创建及优化

随着半导体器件的高速化和高度集成,要求我们从电路设计阶段到PCB板设计阶段就需要进行传输线路的仿真分析,来合理布局布线。作为分析中必要的器件模型,IBIS模型和SPICE模型得到了广泛的利用,但是IBIS模型凭借其易于获得,简易,仿真速度快的优势,更加适用于PCB高速仿真。

含有高速半导体器件的PCB板设计中,为了减少改版的次数,运用EDA工具进行信号完整性分析是必不可少的。但是,如果我们获取的高速器件的IBIS模型有问题,在仿真的时候就会产生错误,这样又需要研究错误原因,修改IBIS模型,从而导致仿真时间的增加。另外,使用有问题的IBIS模型即使能顺利仿真,但样机的实际测量值与仿真结果不一致,就无法确认设计是否符合要求,这样的话,仿真起不到其作用。

所以IBIS模型不仅对PCB板的仿真精度和流程有很大的影响,而且对于客户控制成本也起一个很重要的作用。Cybernet于2007年10月10日发布了IBIS 工具--IBISStation设计套件,其中包括IBISIndicator和IBISBuilder 两个设计工具.可以提供IBIS编辑,检查,修正,生成等功能.为信号完整性分析提供了一个很好的辅助设计工具,保证仿真的准确性.

本节讨论如何使用IBISStation创建,优化IBIS模型。

创建一个标准的IBIS模型需要4个步骤。具体的内容如下所示。

确定模型的复杂度、确定器件的工作电压以及环境温度,获取器件本身的相关信息(如封装形式,封装参数等)。

2.通过直接测量或者是仿真的方法得出输出或者是I/O管脚的I/V曲线的数据。

3.将数据写入IBIS模型的列表中。

4.IBIS模型的验证。数据列表的信息

一般而言创建者需要以下的信息:

IBIS Specification:IBIS的说明信息(如IBIS的版本号,创建日期,公司信息等)

Buffer Schematics:器件的Buffer的类型(如标准的CMOS推拉电路、漏极开路等)。

Clamp Diode and Pullup references:钳位二极管和上拉参考电平。对于一些器件而言钳位二极管和上拉参考电平可能是不同的(一般是钳位二极管连接的电平要比上拉参考电平小一些),尤其是多电源供电的器件。

Packaging Information:封装信息。IBIS模型需要的管脚名和信号名以及管脚名和Buffer类型的对应关系列表。

Packaging Electrical:封装的电气信息。主要包括器件管脚的封装信息。如R_pin、L_pin以及C_pin。

Signal Information:决定某些信号在创建IBIS模型可以忽略。如一些测试盘垫或者一些静态的控制信号等可以忽略。

Die Capacitance:器件的电容。这是由盘垫看进去的电容(C_comp参数)。

VinL and VinH Parameters:一个完整的IBIS模型的输入和I/O Buffer的信息应该包括VinL 和VinH参数。

上述数据可通过器件的Datasheet或者实际测量值得出,提取完上述数据后,

利用IBISBuilder软件,按照Edit栏目内Step的信息,一步一步将得到的信息输入软件

如下图所示:

输入完成后得到*.ibs的模型文件后使用IBISIndicator软件进行检查和校正

应用表格的方式列出所有的I/O cell的详细参数,便于校正,查看

不同颜色的惊叹号的方式提出Warning,以曲线的方式展现出来,方便使用者对模型的关键点进行查看。

对创建的模型内的I/O cell,进行一键优化。

优化后,可设置相应的工作频率,提前看到创建的IBIS模型在专业仿真软件的波形。

完成后,保存成*.ibs文件,供仿真时使用。

3约束规则的设置概述

在PCB设计中规则设置是必不可少的,它也可以被称为DRC检查规则,用来确定电路板的走线规则是否符合设计要求。在Allegro PCB的电路板设计过程中,设计约束规则主要包括时序规则、走线规则、间距规则、信号完整性规则等以及物理规则等设置。

首先,需要认识一下,Allegro PCB的约束管理器:

在PCB设计界面中,执行Setup/Constraints/Constraint Manager命令,弹出Allegro Cadence Constraint Manager对话框,如下图。

在约束管理器中,设计者可以对电路板的电气规则、物理规则、间距规则等设计规则进行设置定义。约束规则可以按板层、网络或者区域进行设置。

约束管理器是Allegro Cadence系统提供的专用规则设置系统,主要有菜单栏、工具栏、工作表选择区、工作状态报告栏四部分,在工作表中选择一个对象,然后右击,在弹出的命令菜单中,可以进行任意操作。

工作表选择区内可以选择电气规则、物理规则、间距规则等规则设置。在对应Net文件夹内,可以创建指定网络的对象分组,如:系统、设计、总线、差分对、扩展网络(XNet)、网络、相对或匹配群组,也可以创建基于相关属性的电气规则(ECSet)、物理规则(PCSet)、间距规则(SCSet)等。

约束管理器的约束对象分为引脚对、总线和匹配群组,她们相互之间存在优先级差异,即底层对象会集成顶层对象指定约束,为底层对象指定的约束优先高于上层继承的约束,对象层次的优先级为系统、设计、总线、差分对、扩展网络、相对或匹配群组、引脚对。

一、电气规则设置

在约束管理器中,选择Electrical选项卡,其中可以为设计或网络来设置时序规则、信号完整性规则、布线的电气规则(延时、差分对)等,执行Objects/Create/Electrical CSet命令可新建电气规则。

1、选择信号完整性仿真规则Signal Integrity属性,其中包括电气属性、反射属性、单调失真属性、初始串扰、仿真串扰以及同步开关噪声这六个规则设置。

其中各项规则设置如下:

(1)电气属性设置(Electrical Properties)包括下列内容的设置:

Frequency表示网络频率;Period表示网络周期;Duty cycle表示占空比;Jitter表示时钟抖动值;Cycle to measure表示仿真时测量周期;Offset表示补偿值;Bit Pattern表示仿真输出的位格式。

(2)反射属性设置(Reflection)包括以下内容的设置:

Overshoot表示过冲设置;Noise margin表示噪声的补偿裕量。

(3)失真属性(Edge Distortions)包括以下内容设置:

Edge Sensitivity表示网络或扩展接收端的单调敏感性能;First incident

Switch 表示第一个波形的转换设置。

(4)初始串扰设置(Estimated Xtalk)包括以下内容设置:

Active window表示网络处于转换或产生噪声的窗口;Sensitive window

表示网络处于稳态和易受干扰的状态窗口;Ignore nets表示计算串扰时可

忽略的网络; Xtalk的max栏表示网络允许最大窜扰值;Peak xtalk的max

栏表示一个干扰网络对受扰网络产生的最大允许串扰。

(5)仿真串扰设置(Simulated Xtalk)包括以下内容设置:

该项内容与初始串扰设置内容相同,用以查看仿真后的串扰结果,初始串扰

设置则是用以预测串扰结果。

(6)同步开关噪声设置(SSN)包括以下内容设置:

Max SSN表示最大同步开关噪声;Power bus name表示电源总线名称;

Ground bus name表示地总线名称;Actual表示实际噪声;Margin表示噪

声裕量,若是负值则会产生冲突。

2、选择时序规则设置(Timing):

时序设置包括以下两个工作表设置,Switch/Settle Delays用以设置第一个转换延时(Min First Switch)和最后的建立延时(Max Final Settle),通过仿真对实际值和约束值进行比较,可得出裕量值;Setup/Hold则用以设置时钟网络名称、时钟周期、时钟延时和时钟偏移量,将这些数值进行比较,能够得出系统是否符合要求。

3、电气走线规则设置(Routing):

(1)连线规则设置(Wiring)包括以下内容设置:Topology用以选择走线拓扑结构,有菊花链、星形等结构;Stub length用以设置走线最大短桩长度;Exposed length用以设置表层走线最大长度;Parallel用以设置并行走线的线宽和线距约束;Layer Sets用以设置走线板层。

(2)过孔规则设置(Vias)包括以下内容设置:用以检查网络过孔数量限制(Via Count)和过孔尺寸是否符合要求(Match Vias)。

(3)阻抗设置(Impedance)包括以下内容设置:Single-line Impedance用以设置目标网络的阻抗和偏差设置,通过计算可以得出阻抗的实际值和裕量,注意叠层和材料的设置必须正确,结果才能准确。

(4)走线最大/最小传输延时设置(Min/Max Propagation Delay)包括以下内容设置:Pin Pairs栏有以下三项设置,Longest/Shortest Pin Pair表示将最小延时赋予最短引脚,最大延时约束赋予最长引脚;Longest/Shortest Driver/Receiver表示将最小延时赋予最短驱动/接收端引脚对,最大延时赋予最长驱动/接收端引脚对;All Drivers/All Receivers表示将最大、最小延时约束赋予所有的驱动/接收端引脚对。Prop Delay则用以设置走线最大和最小延时。

(5)走线的最大和最小长度设置(Total Etch Length):用以设置走线最大和最小长度,并可以显示实际的曼哈顿比例,可以计算走线的不耦合长度。

(6)差分对走线设置(Differential Pair)包括以下内容设置:Uncoupled length用以设置差分对耦合长度的设置,其中Gather Control设置耦合带控制,Ignore表示忽略差分对刚从芯片出来时候的不耦合长度,忽略耦合带,Include表示差分对走线长度包含耦合带长度;Phase tolerance用以设置差分对相位偏量;Min Line Spacing用以设置差分对的最小线间距;Coupling Parameters用以设置差分对的耦合参数,其中Primary width表示差分对理想线宽,Primary gap表示差分对理想线间距,Neck width用以设置差分对最小线宽,Neck gap表示差分对最小允许线间距,Tolerance表示允许的偏差。

(7)相对延时设置(Relative Propagation Delay)包括以下内容设置:选择这个选项卡时,设计者可以将多网络设置成匹配群组,对匹配群组则需要设置相对延时。

二、物理规则设置

选择Physical选项卡,则可以对电路板设计的物理规则进行设置,如下图所示。

执行Objects/Create/Physical CSet命令可以新建物理规则,然后可以设置走线的物理约束。

其中走线约束与电气规则中的意思相仿,不再赘述了,然后还有需要设置的:Vias可设置过孔类型,BB Via Stagger用以设置埋/盲孔的过孔间距,Allow用以设置焊盘过孔连接方式。此外,点击网络对应Vias设置栏,在弹出Edit Via List对话框,则可以对每个网络进行相应的过孔设置选择正确的过孔焊盘,如下图。

三、间距规则设置

电路板上的导线并非完全绝缘的,会受到工作环境的影响,产生不利于PCB正常工作的因素,因此需要规定导线之间的间距。同样,非导线元件之间要正常工作也需要设置安全距离,间距规则设置界面如下图。

选择约束管理器的Spacing选项卡,则可以对系统或网络进行间距规则的设置,执行Objects/Create/Spacing CSet即可新建间距规则。

在间距规则设置中,可以设置走线间距、走线与过孔间距等PCB设计中的各种间距规则。

四、区域规则设置

在电路板设计中,有时一个网络会从宽松区域走线至密集区域,这个网络就有可能需要进行区域的局部规则设置,包括间距规则和物理规则,这样才能让走线在某些特殊区域自动转换走线规则。

区域规则设置的方法如下:

1、在约束管理器中,点击Region选项卡,执行Objects/Create/Region命令创建区域规则,如下图建立区域规则11所示,并可对新建区域规则进行设置。

2、在PCB设计界面中,执行Shape/Rectangle命令,在Options对话框中选择Constraint Region类和需要区域规则的板层,并将该Shape赋予对应的区域规则这样网络走线经过该区域时就会自动改变走线规则,有利于密集区域走线。

在Allegro PCB设计中,Cadence自带的约束管理器集成了各种PCB设计规则,便于规则的设置与管理,有助于设计者更好的进行规则管理设计。只要能正确进行约束管理设置,就能更好的将电路板设计出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值