Allegro学习之PCB SI后仿真流程

目录......................................................................................................................................................2
一、 Cadence Allegro PCB SI简介.......................................................................................3
(一) 高速PCB设计流程.......................................................................................................................................... 3
二、 Allegro PCB SI的后仿真..................................................................................................4
(一) 准备仿真模型和其他需求..............................................................................................................................4
1
. 获取所使用元器件的仿真模型..................................................................................................................... 5
1) 通过官网,供应商等渠道获取IBIS模型............................................................................................5
2IBIS模型转化为DML模型.................................................................................................................... 5
3) 通过Allegro建立简单DML模型以及模型分配................................................................................. 7
4) 通过Allegro建立复杂DML模型以及模型分配...............................................................................11
2
. 了解PCB的布线规则以及原理图部分逻辑................................................................................................15
(二) 仿真配置....................................................................................................................................................... 15
1
. 使用SI Design Setup配置...................................................................................................................17
2
. 选择需要配置的信号线...............................................................................................................................17
3
. 设置仿真库...................................................................................................................................................20
4
. 设置电源和地网络.......................................................................................................................................22
5
. 设置叠层.......................................................................................................................................................27
6
. 设置元器件类别...........................................................................................................................................30
7
. 为元器件分配和创建模型...........................................................................................................................31
8
. 设置差分对...................................................................................................................................................35
9
. 设置仿真参数...............................................................................................................................................35
10
SI Design Audit相关........................................................................................................................ 44
11
. 提取拓扑.................................................................................................................................................... 46
(三) 后仿真报告结果验证................................................................................................................................... 50
1
. 信号波形.......................................................................................................................................................50

2. 反射报告,延时报告以及同步噪声报告...................................................................................................52

一、Cadence Allegro PCB SI简介
Allegro PCB SICadence SPB系列EDA工具之一,针对电路板级的信号完整性和电源完整性提供了一整
套完善、成熟而强大的分析和仿真方案,并且和
Cadence SPB的其他工具一起,实现了从后端到后端、约束驱
动的高速
PCB设计流程。
信号完整性和电源完整性的仿真按照在这个设计流程中所处的阶段可以分为后仿真和后仿真,本文会介绍
Allegro PCB SI在后仿真阶段基本的设计流程和操作步骤,并重点介绍其中的配置和仿真项目操作环节。
后仿真是在
PCB布线完成以后,对已经完成的关键网络进行仿真验证的过程。可以检查实际的物理执行过
程(布局布线)是否违背设计意图;过程。可以检查实际的物理执行过程(布局布线)是否违背设计意图;或
是已知的改动,通过仿真来验证这种改动给高速设计带来的影响。
(一)高速PCB设计流程

传统的PCB设计流程如下图所示:

Allegro学习之PCB SI后仿真流程

而引入的Allegro PCB SI仿真工具后的设计流程改进为:

Allegro学习之PCB SI后仿真流程

二、Allegro PCB SI的后仿真
后仿真,顾名思义,后仿真是在PCB布线完成以后,对已经完成的关键网络进行仿真验证的过程。可以检
查实际的物理执行过程(布局布线)是否违背设计意图;过程。可以检查实际的物理执行过程(布局布线)是
否违背设计意图;或是已知的改动,通过仿真来验证这种改动给高速设计带来的影响。
使用
Allegro PCB SI进行后仿真的基本流程如下:

Allegro学习之PCB SI后仿真流程

(一)准备仿真模型和其他需求

在本阶段,我们需要为使用Allegro PCB SI进行后仿真做如下准备工作:

下面,我们会以一个实际的电路板为例,介绍后仿真在Allegro PCB SI 16.6中的具体执行过程。
案例电路板:
TX2P_P0_20171225,对其HDMI的差分信号进行延时以及反射分析。
1. 获取所使用元器件的仿真模型
1)通过官网,供应商等渠道获取IBIS模型
https://www.maximintegrated.com/cn/design/tools/modeling-simulation/ibis/index.cfm
http://www.analog.com/cn/design-center/simulation-models/ibis-models.html
2IBIS模型转化为DML模型
信号完整性仿真大多针对由芯片IO、传输线以及可能存在的接插件和分立元件所构成的信号网络系统,为
了实现精确的仿真,仿真模型的精确性是首先需要保证的。一般情况下,
Allegro PCB SI会执行传输线和分立
元件的建模,而芯片
IO和连接器的模型通常会由原厂提供。
当后业内常见的芯片
IO模型有两种格式,IBIS模型和HSPICE模型;常见的连接器模型也是两种,SPICE
(HSPICE)
模型和S参数模型。Allegro PCB SI支持包括上述四种模型在内业界流行的仿真模型,但一般都需要
转化为
Cadence自己的DML(Device Modeling Library)后才能使用。
Allegro PCB SI在仿真时需要将仿真模型都转变成DML模型格式这一做法,区别于大多数EDA软件,这种
做法可以说是有利有弊。弊,很明显,就是多一个额外的步骤,虽然这一步骤非常简便;利,则是有利于仿真

库的管理,做到仿真库和原始模型文件的隔离,并且在文件格式转换的同时也执行了模型的校验。在大多数情
况下,外部模型格式到
Cadence DML模型格式的转换还是非常方便的,只需要用Cadence SPB系列工具包中
Model Integrity软件打开模型文件,然后点击转换到DML即可。
可以有两种方法处理:
其一,在
Model Integrity界面下或Allegro PCB SI界面下将IBIS模型转换成DML格式,供之后的仿真调用;
其二,从
Cadence SPB 16.5版本开始,Allegro PCB SI名义上也直接支持IBIS模型,所以可以保留现有的
两个
IBIS文件不做转换,然后在之后的仿真中直接调用。之所以说是“名义上”,因为事实上Allegro PCB SI
还是执行了转换,只是这个转换的过程在分配模型的同时一起执行了,没有摆在明面上。
我们先来看看如何使用
Model Integrity转换IBIS模型。
1. 在开始菜单找到 Model Integrity快捷方式,或者在目录%CDSROOT%\tools\pcb\bin(其
中,
%CDSROOT%Cadence SPB的安装目录,例如D:\Cadence\SPB_16.6)下找到
modelintegrity.exe执行文件,点击即打开Model Integrity窗口。

Allegro学习之PCB SI后仿真流程

2. 点击File->Open打开寄存器的IBIS模型文件EA32882_1p6.ibs

3. 右键点击浏览栏中的EA32882_1p6,选择IBIS to DML

Allegro学习之PCB SI后仿真流程

4. 转换得到的同名DML模型会显示在Model Integrity窗口中,同名文件也出现在IBIS文件同一目录下。
3)通过Allegro建立简单DML模型以及模型分配
如图7所示,单击signal mode
Allegro学习之PCB SI后仿真流程


弹出如下图8所示:

Allegro学习之PCB SI后仿真流程

忽略error,点击OK即可,出现如下图9所示
Allegro学习之PCB SI后仿真流程

首先选择1RefDesPins(元器件引脚),接着选择2U800(所要建立模型的元件),然后单击3 Creat
Model
,出现如下图10所示:

Allegro学习之PCB SI后仿真流程

注意这里建立的是IBIS模型,选择create ibisdevice model,单击OK即可
接着出现如下窗口,图
11

Allegro学习之PCB SI后仿真流程

1:模型名称,2,3,4:模型pin脚寄生电阻,寄生电感,寄生电容
5IO内部模型类型 6IO内部模型,图中为2.05V,可以更改
7POWER供电输入 8GND

根据datasheet设置好参数后点击OK即可。如图12,可以看到U800已经分配刚刚新建的模型


Allegro学习之PCB SI后仿真流程

4)通过Allegro建立复杂DML模型以及模型分配

以上在pin数较少时建IBIS模型方法,如有差分线等复杂情况则如下图13所示: 

Allegro学习之PCB SI后仿真流程

点击OK弹出如下图14所示:

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

2.了解PCB的布线规则以及原理图部分逻辑
做仿真分析前,了解相关PCB布线规则,相关电路和接口的原理是必须的。
(二)仿真配置
在本章节中,将会依次介绍如何在Allegro PCB SI界面下进行模型加载和仿真配置,并提取网络拓扑进入

SigXP界面。仿真配置流程如下

Allegro学习之PCB SI后仿真流程

1.使用SI Design Setup配置
无论使用哪一种仿真软件,在执行仿真以后,一般都需要对电路板进行一定的配置,配置仿真的环境、模
型的分配和参数的设定等等,目的是使仿真能够按照我们所要求的进行下去。
Allegro PCB SI 16.6版本中,引入了新的SI Design Setup命令,能够更有效地引导用户进行仿真配置。
对于
16.3及以后的版本,也存在类似的命令,如Database Setup AdvisorSI Design SetupDatabase Setup
Advisor
这些命令本身并不是直接的配置命令,它只是一个向导,引导用户一步一步地执行配置,并在每一步上
给出相关配置命令的接口。所以事实上,熟练的工程师也可以不通过这些向导直接调用相关命令对电路板进行
配置,效果是一样的。
Allegro PCB SI 16.6版本中的SI Design Setup命令会依次执行以下几个步骤,我们将会在随后的章节中介
绍这些步骤的具体执行过程。

Allegro学习之PCB SI后仿真流程

2.选择需要配置的信号线
为了方便起见,先将之后的所有文件,包括电路板brd文件和仿真模型文件(IBISDML)都存放到一个文
件夹中,例如
E:\Pre_simu
在开始菜单找到 PCB SI快捷方式,或者在目录%CDSROOT%\tools\pcb\bin(其中,%CDSROOT%
Cadence SPB的安装目录,例如D:\Cadence\SPB_16.6)下找到allegro.exe执行文件,点击即打开Cadence
Product Choices
窗口。

Allegro学习之PCB SI后仿真流程

选择Allegro PCB SI GXL,并点击OK按钮,即打开Allegro PCB SI窗口。然后通过File->Open打开
TX2P_P0_20171225.brd文件。

Allegro学习之PCB SI后仿真流程

如果在之后的使用中已经在Cadence Product Choices窗口中勾选了Use as Default的情况下选择了某个
产品,例如
Allegro PCB Designer,可以在Allegro中选择File->Change Editor,就会弹出Cadence Product
Choices
窗口,供重新选择产品。
Allegro PCB SI窗口中选择Setup -> SI Design Setup,会弹出Setup Category Selection窗口。勾选所有
选项,并点击
Next进入下一环节。Setup Category Selection窗口会切换Setup Xnet Selection窗口。

Allegro学习之PCB SI后仿真流程

这里做一下补充说明,在Setup Category Selection窗口的选项中,除了最下面一项,其它都是我们需要通
过此向导执行的配置项目;而勾选了最后一项“Run Audit upon completion of each setup categoty”则意味着
我们在之后的每一项配置完成后,点击Next进入到下一环节后,都会自动执行针对此环节的仿真审核,以找出
我们在配置过程中存在的问题。
而在Setup Xnet Selection窗口中,我们可以只勾选我们关心的、需要执行仿真和配置的网络,这样随后的
SI Design Setup配置向导和审核就只会针对这些勾选网络相关的模型、网络和参数等,不需要花时间在无关的
网络上。在本案例中,我们勾选Bus HDMI

3.设置仿真库
接上节,点击NextSetup Xnet Selection窗口会切换至Setup Library Search Directories窗口,即设置仿
真库搜索路径。默认情况下,库路径包括
brd文件所在目录以及Cadence自带库所在目录,本案例的默认路径即:
E:\cadenccework\TX2\02PCB
C:/Cadence/SPB_16.6/share/local/pcb/signal
C:/Cadence/SPB_16.6/share/pcb/signal
我们可以通过Setup Library Search Directories窗口右方的按钮“Add Directory”添加新目录;在选中某一
原有目录后,可以用“
Remove Directory”按钮移除;在选中某一原有目录后,还可以用“Move To Top”、
Move Up”、“Move Down”和“Move To Bottom”调整目录的相对位置。这里需要说明的是,当所有库路
径下存在同名模型时,
Allegro PCB SI会以最先找到的模型为准,也就是位置靠上的路径。

当确认了模型库所在目录都已正确设置,点击“Next”按钮继续。Setup Library Search Directories窗口将
切换至
Setup Library File Extensions窗口,即设置模型文件后缀窗口。一般而言,这里可保持所有类型的模型

文件后缀名为默认,直接点击““Next”按钮继续。

Allegro学习之PCB SI后仿真流程


Setup Library File Extensions窗口将切换至Setup Working Libraries窗口,即设置工作模型库窗口。这里
会显示之后所设定的库路径下包含的所有DMLIMLInterconnection Model Library)模型库,其中包括软件
自动生成的devices.dmlinterconn.iml模型库(位于brd文件所在目录,并且默认成为工作模型库)。



Allegro学习之PCB SI后仿真流程


这里需要说明的是,所有在Allegro PCB SI中新建的模型都会保存在工作模型库中,工作模型库可以叉选
切换,但同时只存在一个。另外,如果需要,我们还可以叉选
Ignore Library,选中的模型库将不会在Allegro PCB
SI
中调用。

在本案例中,我们保持Setup Working Libraries窗口为默认不变,直接点击“Next”按钮进入到下一环节。 

4.设置电源和地网络
接上节,Setup Working Libraries窗口会切换至Setup Power and Ground Nets窗口,即设置电源和地网络
窗口。
Allegro PCB SI会在窗口中显示已经辨识为电源和地的网络(窗口左方),以及疑似电源和地网络(窗
口右方)。如果网络和原理图中定义为
Power PinGround Pin的管脚相连,则会认为是电源和地网络;如果网
络虽然没有和
Power PinGround Pin直接相连,但命名中带有VDDVTTVSS等关键字符串,则会认为是疑
似电源和地网络。

Allegro学习之PCB SI后仿真流程

在本案例中,软件给出的电源和地网络是GNDVCC_3V3_M,VCC_5VM,给出的疑似电源和地网络是
BBAT,HDMI_5V_OUT,VDD_IN_9V_N。我们在左方的Voltage栏中直接输入电压值03.3V,5V,然后点击
BBAT,选择下方的Assign Voltage To Selected Net,然后在弹出的窗口中输入BBAT的电压值0OK确认,
HDMI_5V_OUT,VDD_IN_9V_N同上。

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

点击Setup Power and Ground Nets窗口下方的“Edit Voltage On Any Net In Design”按钮,会弹出Identify
DC Nets
窗口。

Allegro学习之PCB SI后仿真流程

Identify DC Nets窗口中找到需设定的电源和地网络,依次在右方的Voltage栏中输入电压值,然后Apply
OK确认。Allegro PCB SI会弹出警告窗口提示网络与非电源或地管脚相连,不去管它,确认即可。

Allegro学习之PCB SI后仿真流程

30Allegro PCB SI GXL关于电源和地网络的提醒框
回到Setup Power and Ground Nets窗口,点击“Next”按钮进入下一环节。不过在本案例中,由于本环
节的设置存在疑似问题,而之后在
Setup Category Selection窗口又勾选了最后一项“Run Audit upon
completion of each setup categoty
”,因此SI Design Audit窗口会弹出,并显示此环节存在的疑似问题。

Allegro学习之PCB SI后仿真流程

本案例本环节中,疑似的问题是我们在Setup Power and Ground Nets窗口将GNDVDD_IN_9V_N设定
为电源和地网络并赋值,而
Allegro PCB SI却检查到GNDVDD_IN_9V_N并没有和任何电源和地管脚直接相
连。由于
GNDVDD_IN_9V_N确实是电源,我们可以选择Ignore Errors忽略它,或者Resolve Errors修复它。
此时,点击
Resolve Errors下的“All”按钮,会弹出Select Errors to be Resolved窗口,窗口中提示所有
VDD_IN_9V_N连接的管脚Pinuse属性会被修改为POWER,所有GND连接的管脚Pinuse属性会被修改为GND
选择
OK确认。

Allegro学习之PCB SI后仿真流程

面是自动修复问题。如果希望保持GNDVDD_IN_9V_N电容和匹配电阻管脚的UNSPEC属性不变,只
GNDVDD_IN_9V_N相连的金手指管脚属性修正,可以采用手动地方式执行。选中此错误,点击Resolve

Errors下的“Manual”按钮,会弹出Change Pin Use of a Pin窗口。

Change Pin Use of a Pin窗口中,可以简单地通过下方的按钮将所有管脚改为电源或地属性,也可以点
击选中某一管脚后,通过下方的按钮单独修改为电源或地属性。



Allegro学习之PCB SI后仿真流程

5.设置叠层
接上节,当我们完成针对上一环节的SI Setup AuditOK确认后,Setup Power and Ground Nets窗口会切

换至Setup Design Cross-Section窗口,即设置叠层窗口。 

Allegro学习之PCB SI后仿真流程

准确设置电路板的叠层,不仅是仿真的需要,对高速PCB的布线本身,也有一定的必要,例如Allegro的约
束管理器(
Constraint Manager)是支持用传输延迟来控制“等长”的,这也是相对于控制传输线长度更精确
匹配控制方式,但如果叠层没有准确设置,传输延迟的计算也就不再准确,延迟匹配也就无从谈起了。
一般而言,叠层的设计需要依据项目的具体情况,综合成本、结构、密度、电源、信号完整性等多方面因
素进行考虑。设计是一个复杂的过程,不过如果是叠层已经确认,只是需要在
Allegro PCB SI中输入,就很简
单了。叠层的方案可以来自于业界规范,可以来自于已有的设计,也可以来自于
PCB板厂的推荐。对于本案例,
是根据
PCB板厂的参数来设置的。
Setup Design Cross-Section窗口中,我们可以点击“Manually Edit Existing Cross-Section”按钮手动
设置叠层,也可以点击“
Load Cross-Section From Another Design”按钮从现有brd文件中导入叠层信息,或
者点击“
Load Cross-Section From A Tech File”按钮从现有tch文件中导入叠层信息。在此,我们点击“Manually

Edit Existing Cross-Section”按钮,打开Layout Cross Section窗口。

我们可以看到这里的叠层设并不合理,点击底部Refresh Materials按钮,选择Refresh All Value,即可。
Materials的库如何添加见附件:
materials问题解
决方法.docx

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程


Allegro学习之PCB SI后仿真流程

选中错误消息后点击Resolve Errors栏下方的“ALL”按钮,然后OK确认进入下一环节。

6.设置元器件类别
接上节,当我们完成针对上一环节的SI Setup AuditOK确认后,Setup Design Cross-Section窗口会切换
Setup Component Classes窗口,即设置元器件类别窗口。
Allegro学习之PCB SI后仿真流程


这个环节的目的是使随后的仿真中,Allegro PCB SI能够正确的识别元器件的类型,对后续的自动分配元
器件模型也有帮助。一般而言,规范的原理图已经对元器件进行了正确的分类,这里只需要确认一下即可,并
不需要做多少改正。本案例中,我们可以维持默认不变,也可以本着更严谨的态度,将金手指(指的是
PCB
其它设备如主板、机箱等相连接的电连接插脚,因在其铜箔镀镍层上再镀上了薄薄的一层金,英文“
bonding
finger
”)从原先的IC类别改为IO类别。然后点击“Next”按钮进入到下一环节。
7.为元器件分配和创建模型
接上节,当所相关的分立元件中包含没有正确赋值的(或者说Value值不符合Allegro要求的)元件时,Setup
Component Classes
窗口会切换至Assign Values to Discrete Components窗口,即设置分立元件值窗口。如果
都已赋值,则直接进入
Assign Models to Components窗口。

Allegro学习之PCB SI后仿真流程

在本案例中,有一个磁珠L1没有赋值。由于此磁珠位于寄存器芯片的模拟电源输入电路上,对我们要仿真
的信号无关,所以可简单的赋值,例如
100nH,或是忽略也可。在Assign Values to Discrete Components窗口
选中
L1,点击下方的“Assign Value to Selected Components”按钮,在弹出的赋值框中输入“100nH”,并
确认退出。

Allegro学习之PCB SI后仿真流程

回到Assign Values to Discrete Components窗口,点击“Next”按钮后,切换到Assign Models to
Components
窗口。

Allegro学习之PCB SI后仿真流程

点击Assign Models to Components窗口中“Create Default Models For All Discretes”按钮,Allegro PCB
SI
会自动给所有已识别的分立元件(指电阻、电容和电感等被动元件)创建默认模型。然后依次给需要设置的
元器件分配或创建模型。
对于本案例,勾选中芯片(“
CM2020_TSSOP_...”),然后点击下方的“Assign Exiting Model”按钮,

会弹出SI Model Browser窗口并已经自动切换到DML Models栏眉。

选中芯片对应的CM2020_TSSOP_38P_TSSOP38_0P5_4P_CM2020-01TR模型,然后点击下方的
Assign”按钮,确认弹出的提示栏后,芯片的模型就指定好了。
回到
Assign Models to Components窗口,选中芯片(“REF-186138-02_CON_FMC_...”),然后点击
下方的“
Assign Exiting Model”按钮,在弹出SI Model Browser窗口选中
REF-186138-02_CON_FMC_050X008_B_REF-186138-02,再点击下方的“Assign”按钮,确认弹出的提示
栏后,芯片的模型就指定好了。
回到
Assign Models to Components窗口后,点击“Next”按钮以进入下一环节。

Allegro学习之PCB SI后仿真流程

8.设置差分对
接上节,当我们完成针对上一环节的SI Setup AuditOK确认后,Setup Component Classes窗口会切换

Setup Diff Pairs窗口,即设置差分对窗口。

Allegro学习之PCB SI后仿真流程

Allegro PCB SI在右边窗口是模型上定义的差分对;左边窗口上并不是要显示brd中存在的差分对,而是会
显示已经在
Allegro中定义为差分对却在所分配的芯片模型中没有差分定义的网络。本案例中没有出现这样的情
况(差分对已经在公版中正确设置),所以可以直接点击“
Next”按钮进入下一环节。
9.设置仿真参数
接上节,当完成差分对的设置后,Setup Diff Pairs窗口会切换至Setup SI Simulations窗口,即设置仿真窗
口。上半部分设置需要仿真的类型,包括
Reflection(反射),Comprehensive(综合),Simulated Crosstalk
(串扰仿真),Estimated Crosstalk(串扰评估),SSN(同步开关噪声),EMI(电磁辐射),Bus Analysis
(总线分析),Signal Quality Screening(信号质量筛选);下半部分设置仿真器类型,分别是tlsimAllegro PCB
SI
自带),HSpiceSpectre(后两者都是外部仿真器)。这里我们选择最普遍的反射仿真,同步开关噪声和tlsim
仿真器,然后点击“Next”按钮。

Allegro学习之PCB SI后仿真流程

在点击“Next”按钮后,Setup SI Simulations窗口将直接切换至Setup Complete窗口,即设置完成窗口。
在这里,我们可以点击窗口中的“Run SI Design Audit”按钮运行一次完整的SI设计审核,确保所有设置都已
确认无误后,点击下方的“Finish”按钮结束SI Design Setup
虽然这里完成了SI Design Setup的所有环节,但是我们的仿真设置并没有真正完成,还需要进行仿真参数
设置。
选择Allegro PCB SI GXL中的命令Analyze -> Preferences,会弹出Analysis Preferences窗口,其中包含
七个栏眉,分别是DevicesModelsInterconnectModelsSimulationS-ParametersUnitsEMIPower
Integrity,依次列在下文中。
Allegro学习之PCB SI后仿真流程
DevicesModels栏眉中可设置当元件模型缺失时默认的缓冲器模型,以及Buffer Delays缓冲器延迟。可以
在此选择
On-the-fly,会在仿真的同时计算Buffer Delays,而无需事先仿真计算出Buffer Delays
InterconnectModels栏眉中,可以设置传输线模型过孔模型等。在上半部分Unrouted Interconnect Models
即未布线互联模型中,可保持默认,
Allegro PCB SI在处理尚未连接的传输线(也就是鼠线)时,会按照这里
的参数建模。在中部是
Routed Interconnect Models,即已布线互联模型,需要根据建模精度的要求调节,具体
如下表。

栏目名称 内容
Default Cutoff Frequency 即默认截止频率,截止频率越高,仿真越精确,但耗时越长。当所需仿真的信号频率较低
100MHz数量级)时,可保持此项默认的0GHz不变,也就是将传输线按照无损传输线
建模,能较大幅度缩短仿真时间;一般情况下,这个截止频率应大于信号转折频率的
3倍,
或者是
1/TrTr为信号上升时间)。本案例中HDMI最高频率为148MHZ,计算可得
1.48GHZ(已知信号的上升边约为时钟周期的10%)
Shape Mesh Size 即形状网格尺寸。当传输线的边界元素尺寸大于此数值时,会被识别为形状。一般为了保
证仿真性能,可保持默认的
50mil不变或稍精确一些的25mil。本案例可设为50mil
Diffpair/Via Coupling Window 即差分对/过孔耦合窗口,用于判断差分线和差分过孔是否耦合(后者还需大于最小耦合
长度),可保持默认的
100mil
Geometry Window 即几何窗口,当临近传输线(无论是同层还是相邻层)间距小于此数值时(还需大于最小
临近电容和最小耦合长度),会考虑串扰影响。这里建议将默认的
10mil增大到2030mil
以提升串扰仿真精度。
Min Coupled Length 即最小耦合长度,耦合线段需要平行布线,不存在弯曲,而且大于此数值后,才会考虑串
扰影响。由于蛇形线极为普遍,这里建议将默认的
300mil改至10mil30mil以提高精度。
Min Neighbor Capacitance 即最小临近电容,耦合线需要大于此互容才会考虑串扰影响。这里建议将默认的0.1pF
改至
0.01pF以提高精度。
Algorithm Model Generation 算法模型生成,默认勾选。简单的说,当勾选时,场求解器会先查找互联模型库中是否存
在匹配的输出线模型,存在时直接调用,不存在的话再通过场求解器创建。
Enable CPW Extraction 使能CPW提取,Allegro PCB SI新的EMS2D全波场求解器支持CPW(共面波导)传输线,
在选择
EMS2D场求解器的情况下勾选此选项,将支持Allegro PCB SICPW传输线的提
取。本案例因为采用传统的
Bem2D场求解器,所以这里是否勾选无区别。
Field Solver 场求解器。Allegro PCB SI支持两种场求解器,Bem2DEMS2D,两者的区别简单地说,
传统的
Bem2D场求解器运算速度快,精度能满足5GHz以下信号要求;而新的EMS2D
求解器精度更高(能最高支持到
THz),支持传输线类型和参数更多,但仿真速度偏慢,
如果使用算法模型可以在一定程度上缓解。本案例频率频率不太高,可以选择
Bem2D

表格 1Routed Interconnect Models参数
另外,当在Field Solver栏选择EMS2D场求解器时,可通过右方的“Preferences”按钮打开EMS2D
Preferences
对话框,设定EMS2D场求解器的参数。

Allegro学习之PCB SI后仿真流程

而通过下方的Via Modeling Setup按钮可打开Via Model Extraction Setup窗口,设置过孔模型的提取。

Allegro学习之PCB SI后仿真流程


InterconnectModels栏眉中的下方还有几个选项,勾选Differential Extraction Mode使能差分对的提取,
不选
Diffpair Topology Simplification禁用差分对模型简化功能,Plane Modeling用于SSN同步开关噪声仿真,

本案例中需要勾选。

Allegro学习之PCB SI后仿真流程

Simulation栏眉中,各项参数或选项的说明如下:

栏目名称 内容
Pulse Cycle Count 当选择脉冲激励仿真时,脉冲的周期数在此设置。
Pulse Clock Frequency 当选择脉冲激励仿真时,脉冲的时钟频率在此设置。
Pulse Duty Cycle 当选择脉冲激励仿真时,脉冲的占空比在此设置。
Pulse/Step Offset 当选择脉冲激励仿真时,脉冲的偏移量在此设置。
Fixed Duration 当勾选时,仿真将持续本栏中填入的时间。默认不勾选,以激励持续时间为仿真时间。
Waveform Resolution 波形分辨率,表征波形取点的间隔时间,数值越小,仿真精度越高,但耗时越多。一般分
辨率应至少小于波形上升时间的十分之一。本案例可取
10ns
Measure Delay At 设定延迟测量点,可设置为Input ThresholdVmeas,用于确定缓冲器延迟(Buffer Delay
的测量电压是输入阈值电压
VilVih,或是预设的缓冲器延迟测量阈值电压Vmeas
Driver Pin Measurement
Location
驱动器的测量位置,可以选择DiePinModel Defined,分别是晶元焊盘、封装管脚和
DML模型所定义的位置。建议将默认的Model Defined改为Die,这里得到的波形才是真实
的输出波形。
Receiver Pin Measurement
Location
接收器的测量位置,同上。同样建议设置为Die
Report Source Sampling Data 当勾选时,Allegro PCB SI会将驱动器当作一个接收器一样给出数据报告。默认不勾选。
Report Single Ended Results
for Diffpairs
当勾选时,Allegro PCB SI会将差分对当作单端信号给出结果报告。默认不勾选。
Prefer fastest aggressor on
victim component
当勾选时,Allegro PCB SI会寻找最快的干扰源。默认勾选。
Simulator 仿真器,对于Allegro PCB SI有两种可选,其中默认的tlsim是自带的,而如果选择HSpice
需要有Synopsys公司的HSpice软件。
Screen both drivers of Diffpair 当勾选时,信号质量筛选会对差分对正负信号驱动都执行。默认勾选

表格 2Simulation栏眉仿真参数
Simulation栏眉中还有两个设置按钮,点击“Advanced Measurements Settings”按钮会打开Set
Advanced Measurement Parameters
对话框,主要用于设置Glitch(故障)容差。
Allegro学习之PCB SI后仿真流程


Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程


Units栏眉中可设定仿真中的默认单位,一般保持默认即可。
EMI栏眉在执行EMI仿真时使用,用于设置EMI等级,设计裕量和分析距离等。与本案例无关
Allegro学习之PCB SI后仿真流程


Power Integrity栏眉是设定PI仿真(16.5版本命名为PDN Analysis)的参数,与本案例无关,不做详解。

10SI Design Audit相关
SI Design Audit命令在16.6版本中也得到了改善,虽然我们开始SI Design Setup时在Setup Category
Selection
窗口已经勾选了“Run Audit upon completion of each setup categoty”选项(图10),但依然建议在
SI Design Setup结束后在Setup Complete窗口点击Run SI Design Audit,或者在Allegro PCB SI界面下选择
Setup -> SI Design Audit执行一次完成的仿真审核过程。原因是当我们按照SI Design Setup的步骤执行了靠后
的环节时,部分设置可能影响到之后已有的设置,重新执行仿真审核可避免因此带来的问题。例如添加了芯片
IBIS模型后,器件的PINUSE属性会依据IBIS模型中的缓冲器类型自动修改,这样就有可能出现我们之后没有注
意到的电源和地管脚,有可能影响到仿真的执行。

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

接下来,和SI Design Setup流程时类似,SI Design Audit窗口会进入到网络选择界面,选择需要执行审核
的网络。在本案例中选择保持全选,然后点击下方的“
Next”按钮,进入下一环节。

Allegro学习之PCB SI后仿真流程

接下来,SI Design Audit在经过短暂的运行后,会将当后设计中存在的SI设置问题列举出来,我们可以描
述的问题选择忽略(
Ignore Error栏),或是通过自动方式(Resolve Errors栏中“All”或“Selected”按钮)
或手动方式(
Resolve Errors栏中“Manually”按钮)解决。
11.提取拓扑
提取网络拓扑的方式很简单,在16.6版本中可以采用新的简便方式或传统的方式。新的方式是,在Allegro
PCB SI
工作台(canvas)的空白区域右键单击,在弹出的右键菜单中选择Application Mode -> Signal Integrity
切换到SI模式用户界面下。

Allegro学习之PCB SI后仿真流程

确认右方的Find Filter栏已勾选Net,鼠标移动至传输线上方,右键选择View Topology,经过一段时间的
运算后,
SigXplorer(也叫SigXP,或Signal Explorer)窗口就会弹出,并显示信号拓扑。

Allegro学习之PCB SI后仿真流程

保存此top文件,供之后仿真使用。
传统的方式是在
Allegro PCB SI菜单中选择Analyze -> Probe,在弹出的Signal Analysis窗口中找到网络

LA<9>,点击“View Topology”按钮,同样可提取出上述拓扑进入SigXplorer中。

Allegro学习之PCB SI后仿真流程

无论是手动创建拓扑,或是提取的拓扑,我们都需要给驱动端添加适当的激励,并选择所需的测量。
对于非脉冲周期性信号,例如本案例中的地址信号,为了仿真出码间串扰的影响,我们常常需要添加伪随

机码激励。点击驱动端缓冲器表征状态的字符,就会弹出IO Cell Stimulus Edit激励编辑窗口。

Allegro学习之PCB SI后仿真流程

IO Cell Stimulus Edit激励编辑窗口中,Stimulus State激励状态选择CustomFrequency频率栏输入
148MHzPattern栏输入1271+X+X7 PRBS伪随机码序列,其他保持不变,然后确认退出。
Allegro学习之PCB SI后仿真流程

说明一下IO Cell Stimulus Edit窗口的选项。
栏目名称 内容
Pulse 周期性脉冲激励
Rise 单个上升沿激励
Fall 单个下降沿激励
Quiet Hi 恒定为高(状态1)输出
Quiet Lo 恒定为低(状态0)输出
Tristate 三态,正确的说应该是无输出,终端保持高阻态。
Custom 自定义激励,勾选了这个选项,才能编辑以下其他选项。
Terminal Name 指的是缓冲器内部的端口,一般有DataEnable两个选项,需要对Data设置激励序列,
Enable保持高使能状态不变。
Stimulus Type 激励类型,可以选择PERIODICSYNCASYNC,分别是周期、同步和异步。
Stimulus Name 激励名称,可以将某一个自定义激励保存下来,然后在其他拓扑上调用。
Frequency 缓冲器内部的激励时钟频率,应该与Data端口的比特率数值相同。
Pattern 激励图案序列,描述激励信号在UI时间轴上的01变化。
Init 初始值,可以是0或者1,在选择同步或异步激励类型时可以选择。
Switch At 激励沿,可以是RISEFALLBOTH(上升、下降或双向),选择同步激励时出现。
Jitter 周期性激励的码间抖动,在选择周期激励时出现。
Random 在选择同步激励时出现的按钮,点击后可以通过输入序列位数自动生成伪随机码。
Switch Times (ns) 在选择异步激励时出现的栏,依次输入01电平切换的时间点,以空格间隔。
Measurement Info Cycle(s) 测量取值位于哪几个周期,例如当输入3时,会在激励的第3个周期测量取值。
Terminal Offset Data端口激励序列相对于激励时钟的时间偏移。

表格 3IO Cell Stimulus Edit窗口中的选项

而测量项的选择则是在SigXplorer窗口的Measurement栏中设置,一共有4个大类供选择,分别是EMI
Crosstalk(串扰)、Reflection(反射)和Custom(自定义),每一次仿真只能选择一个大类下的测量。和后
文提到的一样,自定义测量需要实现创建或导入。在本案例中,我们保持默认选择的
Reflection大类及其默认项
即可。

Allegro学习之PCB SI后仿真流程

三)后仿真报告结果验证
1.信号波形
创建或提取并设置好仿真拓扑,就可以执行仿真了。点击Analyze -> Simulate或者 快捷按钮,在
一段时间之后仿真完成,测量结果显示在
Results栏,同时也会弹出SigWave窗口显示波形。

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

我们可以在Results栏中查看测量结果是否存在问题,也可以更直观地在SigWave查看每一个接收器的波
形。在
SigWave中,波形可以按照时域(Cartesian)、总线(Bus)、频域(FFT)和眼图(Eye Diagram)模
式显示。我们用眼图模式显示每一个接收器的晶元处波形如下。

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

上面已经仿真出结果,但是后仿真不仅仅是这样,本案例中,由于布局布线空间的限制,每两个芯片之间
的连线长度有一个范围,我们需要仿真连线是不是越短越好;终端并联匹配电阻通常都是等于传输线阻抗,但
是却有人提出电阻阻值偏小一些信号更好,我们需要通过仿真确认电阻阻值;叠层和线宽会影响到传输线的阻
抗以及相邻传输线的串扰,而在控制成本的要求下,我们难以调节介电常数,于是我们既需要仿真传输线阻抗
的选择,也需要确认什么样的线宽、线间距以及平行长度下串扰的影响可以接受。以上种种,我们不仅需要找
出“最”优化方案,也要根据实际情况的需要给出在此方案下所允许的裕量空间,是为方案空间分析。
方案空间分析一般有两种方式,其一是固定其他参数或条件,只扫描某一参数值对仿真结果的影响;其二
是将所有的未确认参数都在同一个仿真文件(拓扑)中扫描。后者耗时少,但并不是每一个参数对仿真结果的
影响都是线性单调变化,导致所得到的最优值以及可变空间不能适应所有情况;后者在参数多的情况下,仿真
量将是一个天文数字。因此我们常常需要在一定的理论和经验的基础上,结合两种方式进行仿真分析。
2.反射报告,延时报告以及同步噪声报告
用以下方法:左键单击所要仿真的差分线,右键首先选择show Report

Allegro学习之PCB SI后仿真流程

出现如下图所示:Reflection Summary:反射总结 Delay:延时报告 SSN:同步噪声分析 Typical:典型模式
然后点击
create report

Allegro学习之PCB SI后仿真流程

出现如下图所示:等待即可

Allegro学习之PCB SI后仿真流程

完成后有如下所示:标准延时报告和在最糟糕的延时情况下标准反射总结报告以及同步噪声分析报告

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

Allegro学习之PCB SI后仿真流程

可以通过报告来验证规则设定以及LAYOUT是否符合预期。