Cadence DDR3 仿真时IO BUFFER选择之时求助

求助,求助了 额额???
UID855014&帖子54&精华0&积分6247&资产6247 信元&发贴收入315 信元&推广收入0 信元&附件收入5720 信元&下载支出1641 信元&阅读权限50&在线时间108 小时&注册时间&最后登录&
妈呀,求助,你们都是怎么匹配的呀???唉,唉,唉???
UID259520&帖子29&精华0&积分177&资产177 信元&发贴收入210 信元&推广收入0 信元&附件收入0 信元&下载支出83 信元&阅读权限10&在线时间2 小时&注册时间&最后登录&
[通过 QQ、MSN 分享给朋友]Cadence-SI-SimulationCade
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Cadence-SI-Simulation
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Cadence SPECCTRAQuest 仿真步骤
QQ:(售前);4483922(售后)
Cadence SPECCTRAQuest 仿真步骤
[摘要] 本文介绍了Cadence SPECCTRAQuest 在高速数字电路的PCB 设计中采用的基于信号完整性分析的设计方法的全过程。从信号完整性仿真前的环境参数的设置,到对所有的高速数字信号赋予PCB 板级的信号传输模型,再到通过对信号完整性的计算分析找到设计的解空间,这就是高速数字电路PCB 板级设计的基础。
[关键词] 板级电路仿真 I/O Buffer Information Specification(IBIS)
电路板级仿真对于今天大多数的PCB 板级设计而言已不再是一种选择而是必然之路。在相当长的一段时间,由于PCB 仿真软件使用复杂、缺乏必需的仿真模型、PCB 仿真软件成本偏高等原因导致仿真在电路板级设计中没有得到普及。随着集成电路的工作速度不断提高,电路的复杂性不断增加之后,多层板和高密度电路板的出现等等都对PCB 板级设计提出了更新更高的要求。尤其是半导体技术的飞速发展,数字器件复杂度越来越高,门电路的规模达到成千上万甚至上百万,现在一个芯片可以完成过去整个电路板的功能,从而使相同的PCB上可以容纳更多的功能。PCB 已不仅仅是支撑电子元器件的平台,而变成了一个高性能的系统结构。这样,信号完整性在PCB 板级设计中成为了一个必须考虑的一个问题。
传统的PCB 板的设计依次经过电路设计、版图设计、PCB 制作等工序,而PCB 的性能只有通过一系列仪器测试电路板原型来评定。如果不能满足性能的要求,上述的过程就需要经过多次的重复,尤其是有些问题往往很难将其量化,反复多次就不可避免。这些在当前激烈的市场竞争面前,无论是设计时间、设计的成本还是设计的复杂程度上都无法满足要求。在现在的PCB 板级设计中采用电路板级仿真已经成为必然。基于信号完整性的PCB 仿真设计就是根据完整的仿真模型通过对信号完整性的计算分析得出设计的解空间,然后在此基础上完成PCB 设计,最后对设计进行验证是否满足预计的信号完整性要求。如果不能满足要求就需要修改版图设计。与传统的PCB 板的设计比较既缩短了设计周期,又降低了设计成本。
同时,随着软件业的高速发展,涌现出了越来越多操作更简便、功能更多、成本更低的EDA 软件。越来越完备的仿真模型也得以提供。所有这些都为PCB 设计中广泛的采用电路设计板级仿真提供了充分条件。
下面就Cadence SPECCTRAQuest 这一高速电路板级设计仿真工具采用IBIS 模型详细介绍进行板级仿真设计的全过程
2 仿真前环境设置
使用Cadence SPECCTRAQuest 进行高速电路设计的仿真,不同的设计者根据各自的需要可以灵活的利用这个EDA 工具进行仿真设计。当然,在进行一个完整的PCB 板设计前仿真时,按照一定步骤规范地完成仿真设计,将会为你的仿真工作带来极大的方便。可以减少整个仿真工作的工作量、可以减少整个仿真工作中出现错误的可能性、可以留下一个完整的有价值的文档,同时也能养成良好的仿真工作习惯,为今后高效的完成高速电路的仿真设计打下基础。
首先,我们知道 Cadence 公司的EDA 软件可以运行在WindowsNT 环境下和UNIX 环境下,除非特别说明,本文所述都是在WindowsNT 环境下。SPECCTRAQuest 是Cadence EDA工具中有关高速电路设计的一个模块。
在进行网络拓扑结构提取和信号分析之前,一些前期的准备工作必须正确完成。
PCB 板外型边框(Outline)
根据实际结构设置PCB 板边框。
PCB 板叠层(Stackup)
主要确定 PCB 板布线层数以及层叠(stack-up)方式,会直接影响到印制线的布线和阻抗。根据芯片管脚数、芯片密度、网表密度等方面来考虑。然后根据实际情况确定叠层参数,可以选用各个PCB 制板公司推荐的叠层参数。关键是要选取合适的布线阻抗。近几年来,多层板之间的成本差别已经大大减小。在开始设计时最好采用较多的电路层并使敷铜均匀分布,以避免在设计临近结束时才发现有少量信号不符合已定义的规则以及空间要求,从而被迫添加新层。在设计之前认真的规划将减少布线中很多的麻烦。在Cadence中打开Setup Advisor 进入Edit Stack-up 对话框,如图1,进行编辑。
图 1 Stack-up 编辑框
导入网表(Netlist)
器件预布局(Placement)
将其中的关键器件进行合理的布局,主要涉及相对距离、抗干扰、散热、高频电路与低频电路、数字电路与模拟电路等方面。
PCB 板布线分区(Rooms)
主要用来区分高频电路与低频电路、数字电路与模拟电路以及相对独立的电路。元器件的布局以及电源和地线的处理将直接影响到电路性能和电磁兼容性能。
PCB 板禁止布线区划分(Keepouts)
根据PCB 制板工艺的要求确定禁止布线区。
在完成上述工作以后,还要对将要进行仿真设计的 PCB 板做如下设置:
设置 PCB 板直流电源网络
对于含有多种电压值电源供电的 PCB 板,正确的设置尤显重要。在Cadence 中打开Setup Advisor 进入Identify DC Nets 对话框,如图2,进行编辑。
图2 设置直流电源网络
设置器件类型
一般器件类型在原理图库中已经指定并带入 PCB 图中,但仍然需要对器件类型进行确认,以防不正确的设置。电阻、电阻排、电容、电感、晶体管、保险丝、二极管等都要设置成DISCRETE。
为所有 IC 和独立元器件附仿真模型
所有在仿真设计中需要模型的器件的仿真模型在原理图库中都应该正确指定,对于电阻、电容这些独立元器件需要在原理图中正确指定VALUE 属性,SPECCTRAQuest 可以自动为它们分配ESpice 模型。
首先,打开 Signal Library Brower 对话框,若已有规范的完整DML 模型库,我们可以直接将需要的模型库加入到工作库中。若只有IBIS 模型,则需要按Translate-&后选择ibis2signoise 将IBIS 模型转换成DML 模型。如图3。
图3 仿真模型库设置框
然后打开 Signal Model Assignment 对话框,Auto Setup 将自动分配模型给每个已经指定模型的器件。如图4。也可以按Find Model 为器件手工分配模型,或按Create Model编辑生成一个模型,这需要有足够的建模经验。模型分配好后运行Signal Audit 会有一个详细的报告,需要仔细的检查。
图4 仿真模型分配窗
设置正确的管脚类型
和器件类型一样,所有器件管脚类型在原理图中已经指定,但仍需确认。连接器、独立元器件的管脚类型应为UNSPEC。在图4 窗口中点击RefDesPins 栏后可以检查每个器件的每个管脚类型。
3 仿真步骤
3.1、拓扑的抽取
在模型添加完成后,即可进入信号线的仿真阶段。从 Allegro 或SPECCTRAQUEST 中都可以进入Constraint Manager,Allegro 的路径是Setup-》Electrical Constraint Spreadsheet,SPECCTRAQUEST 中的进入路径是Constraints-》Electrical Constraint Spreadsheet。Constrain Manager 是Cadence 的约束管理器,所有连线的拓扑抽取以及对网络赋拓扑都是在这儿进行的。
打开界面,如同图5 所示:
图 5 Constraint Manager 界面
从左边分类栏看,分成两类,Electrical Constraint Set 类是中所有已经输入到该管理器的电气约束约定,Net 类是电路中所有的网络。第一次打开时,第一类是空的。对Net 类,打开下面的任何一分类,都可以抽取拓扑。
在 Net 栏点击Signal Integrity、Timing、Routing 的任何一个,右边就会将本板的全部网络显示出来,如图6 所示。各个网络按字母排列,其中前面有“+”好的表示是总线或Xnet。
右击所选网络选择SigXplorer,就将拓扑抽取出来并进入SQ signal explorer expert 界面图7,所有网络的前仿真是在这个界面中进行的。
图6 抽取网络拓扑
图 7 Signal Explorer 界面
3.2、参数设定
因为对各个器件及阻容器件的模型已经在全部指定,所以抽取出来的拓扑上面的各 IO都有相应的IO 模型,对那些没有指定的模型,Cadence 会赋给它缺省的模型。Cadence 抽出的拓扑结构是根据各元器件的相对位置并考虑到布线方便抽取的,其中互连线的距离是它计算的曼哈顿距离(即Δx+Δy)。仿真的主要目的就是根据仿真的结构优化网络的拓扑结构,用来约束PCB 布线,使布线按照最优结果方向进行。
SQ Signal Explorer Expert 界面除了菜单与工具栏以外分为两个部分,即上面的拓扑示意图与下面的参数、测量选择以及结果、控制的标签窗口。
在下面的 Parameters 标签窗口中的白色区域是可以编辑的,而灰色区域是无法编辑的,CIRCUIT 是整个参数的总标题,下面的tlineDelayMode 栏可以选择是用时间还是用长度表示传输线的延时(若用长度表示,则缺省的单位是mm,若用时间表示,则缺省的单位是ns,其中传输线的缺省传输速度是140mm 每ns);userRevision 表示目前的拓扑版本(第一次一般是1.0,以后修改拓扑时可以将此处的版本提高,这样以后在Constraint Manage 里不用重新赋拓扑,只要升级拓扑即可)。
点击开单板名称后(本例中即 ODTA),下面就列出本拓扑的内各个元件(包括器件、阻容、电源、传输线),可以编辑各个元件的特性;
对器件,可以选择对应管脚的IO BUFFER 模型,但一般不推荐去更改它的模型,因为已经赋给器件整体模型了,相应的IO Buffer 的模型也就确定了。
对阻容器件,可以更改它们的阻容值;
对电源,可以更改电源值;
对传输线,可以更改以下几项:impedance,即传输线的交流阻抗,可以根据叠层情况在适当范围内更改它;propDelay,即传输线的延时来表示的长度;traceGeometry,传输线的类型,即是微带线或带状线,由于在前仿真中传输线是用一个集中式的无损耗模型来表示的,所以这边选择微带线或带状线的关系并不大;velocity,传输线的信号传输速度,这边一般不去改变它,用它的缺省值,即5567.72mil/ns,约14cm/ns。
为了得到更大范围内的仿真结果,扩大参数的选择范围,我们一般对阻容器件的阻值、传输线的阻抗、传输线的长度选择多个值进行扫描。
在各个元件的参数设定后,即可在拓扑上加激励进行仿真。首先是加激励源,点击模型上面、位号下面的Tristate,出现如图8 所示的窗口进行选择:
图8 激励源设置框
在 Cadence 中共有7 种激励:
Pulse:脉冲方波,就是时钟源性质的波形,如果选择Pulse,整个界面中的其他选项是灰的,
不允许再选;
Rise:表示一个上升沿;
Fall:表示一个下降沿;
Custom:表示一种可以自定义的波形激励,这是最常用的波形,在这种形式下,首先在
Frequence 中输入信号的频率,在Pattern 中输入波形的形状。其它的填缺省即可;
Quite Hi:稳定高电平;
Quite Lo:稳定低电平;
Tristate:三态,对非驱动源,都选择三态。
我们介绍一下反射仿真的步骤,在反射仿真中,设定拓扑中的各种参数后,指定驱动源,注意在Measurement 标签窗口中选择Reflection,在Reflection 下面将需要显示结果的值选中。
另外还需要设置整个仿真的参数,选择Analyze——》Preference,弹出图9 所示的窗口:
图9 仿真参数设置框
其中标签 Pulse Stimulus 设置驱动源类似时钟波形仿真时的仿真参数,在SwitchingFrequence 中填入时钟的频率,其它项保持它们的缺省值;
在标签 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:如选InputThreshold 表示以输入Buffer 的Vil 与Vih 进行Buffer Delay 测量的,如选Vmeas 则表示以输出Buffer 的参考电压进行测量的,我们应该选择Input Threshold。对Receiver Selection,如选All 表示所有非驱动的器件都作为接收,如选Select One 则在仿真开始时它会让你选择其中的一个作为接收源。在我们的实际仿真中,对这两个选择的意义并不大,因为无论选哪一种,在仿真后数据报表中都会列出所有非驱动源的数据结果。在Custom Simulation 中选择仿真的类别,Reflection 表示时域发射仿真,Crosstalk 表示串扰仿真,EMI 表示电磁干扰仿真。
在 EMI 标签窗口中,主要设定EMI 的规则,及接收天线的距离(Cadence 对EMI 仿真只能看它的EMI 能不能符合设定的规则)。
在拓扑上各元件的参数设定以后以及仿真参数设定以后,即可以进行仿真。我们对图3的拓扑上设定860 为驱动源,驱动的数据类型是50MHz 的数据,选择快、慢两种模式,仿真完毕后,在下面的Result 栏中就会显示出仿真的结果数据,如图10 所示。因我们只进行了两组仿真,所以只有两组数据,如果对拓扑中的某些数据进行扫描,则会有更多组的数据。
从下面的数据中就可以得到时序及信号质量的一些数据:如OvershootHigh、OvershootLow、SwitchDelay、SettleDelay 等。
图 10 仿真后的数据报表
右击某一个数据后选择 View Waveform,就可以进入Sigwave 界面看波形。如图11 所示:双击左边波形名称中任何一个波形符号即可打开或关闭相应的波形,选中波形后还可以更改波形的颜色。
对左边的一些波形名称解释如下:
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栏中的数据一致。
图 11 拓扑中发送端和接收端的波形图
目前,Cadence 还不能从PCB 预布局或PCB 板图中直接抽取出差分线进行,对于差分线的仿真必须在SQ Signal Explorer Expert 中手工加入元件和互连线来模拟实际的板图结构来进行仿真。手工加入元件的方法是Edit——》Add Part,即可以加入各种IO Buffer,分立的ESPICE 器件,互连线(包括TLINE 与TRACE)等。
3.4、给拓扑加约束
在仿真中,需要根据仿真结果不断修改拓扑结构以及预布局上元器件的相对位置,得到一个最优的拓扑结果,就需要在拓扑中加入约束,并将有约束的拓扑赋给板中的网络,用以指导与约束随后的PCB 布线。
加约束的方法:Set—》Constraint,就可以在弹出的如图12 所示框中加入各种约束,下面分别介绍:
在 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 这一栏的约束。
图 12 给拓扑加约束
3.5、赋拓扑
对关键网络的拓扑仿真结束后,就可以把已经完成的拓扑赋给具体的网络。赋拓扑的过程也是在Constraint Manager 中进行的,赋拓扑的过程如下:
1 将拓扑文件输入进来,操作:File-》Import-》Electrical CSets..,把仿真完成的拓扑文件输入进来;
2 将拓扑文件赋给网络,在Objects 栏中选中所要的网络(可以多个选),然后选择菜单Object——》Electrical CSets Reference,在弹出的对话框中将选择相应的拓扑即可,如图13 就将d0.top 赋给网络D0-D7。
图 13 将拓扑赋给网络
如果赋拓扑的过程中出错,那么它会提供出错信息。将关键网络的拓扑全部赋完后即可将.brd 文件交给PCB 工程师进行布线。
4 系统级仿真
系统级仿真,也就是对于多块PCB 板互连情况下的仿真设计,它们通过连接器或电缆相连接。SPECCTRAQuest 通过Design Link 来定义多快PCB 板是如何连接的,连接器或电缆可以用PLGC 矩阵或SPICE 电路模型描述。在进行系统级仿真前需要如前所述的仿真步骤一样,将连接器或电缆的模型分配好。系统级仿真需要做以下工作:
在系统配置中设置 Design Link。在Cadence 中打开Signal Analysis Library Browser 窗,在其中点击Browse Models,然后在Model Browser 中点击Add Model 选择DesignLink,这样在模型库中就增加了一个DesignLink 模型,编辑此模型,如图14。在Drawings 部分需要将系统中互连的单板PCB 图文件加入并指定设计名。在Connections 部分需要互连的各个连接属性(如连接长度),并指定连接名。在Connection PinMap 部分需要指定各个连接的管脚对应关系。
图 14 系统配置编辑窗
这样,就可以对存在于系统中各个单板之间的网络进行系统级的仿真,其它的仿真前的环境设置以及整个仿真过程与单板仿真完全相同。
随着集成电路技术、半导体技术的飞速发展,今后的PCB 板极设计必将朝着电路速度越来越高、板层越来越多、电路板复杂度越来越高、板密度越来越大的方向发展,板极仿真设计也将成为必然的选择。本文详细的描述了Cadence SPECCTRAQuest 在高速数字电路PCB 板极仿真的全过程,并通过实例介绍了如何使用这一EDA 工具。对于高速数字PCB板的设计开发具有一定的实用意义,为今后PCB 板极设计提供有益的帮助。

我要回帖

更多关于 选择之时 的文章

 

随机推荐