随手记(仿真

本文探讨了芯片IO的两种仿真模型(IBIS和HSPICE)、SPICE和S参数模型在AllegroPCBSI中的支持,以及如何将它们转化为CadenceDML。着重介绍了电源完整性仿真中的三个主要方面,包括板级阻抗分析、直流压降和谐振问题。同时,信号在PCB上速度与材料、布局等因素的影响也被详细讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

芯片IO仿真模型的两种格式:IBIS模型、HSPICE模型
连接器仿真模型的两种格式:SPICE模型、S参数模型
Allegro PCB SI支持包括上述四种模型在内业界流行的仿真模型,但一般都需要转化为Cadence自己的DML(Device Modeling Library)后才能使用。

电源完整性仿真的主要三个方面:
1、板级电源通道阻抗仿真分析。在充分利用平面电容的基础上,通过仿真分析确定旁路电容的数量、种类、位置等,以确保板级电源通道阻抗满足器件稳定工作要求。
2、板级直流压降仿真分析。确保板级电源通道满足器件的压降限制要求。
3、板级谐振分析。避免板级谐振对电源质量及EMI的致命影响等。

在典型的FR4材料中,信号的传播速度约为每纳秒150~200毫米(约等于6~7mil/ps)。

导体介电常数越高,电传播速度越慢,信号在传输过程中可能会遇到反射、衰减、串扰等问题,这些都可能导致信号传输延迟。此外,PCB上的信号线布局、线宽、线间距等物理参数也会影响信号的传播速度和质量。

以下是在HFSS中仿真TDR和S参数的笔记:

一 常用快捷键及高效建模技巧

1、常用快捷键

a.ctrl+d,fit it all,软件自动将模型以合适的大小放在画图窗口中间;

b.ctrl+h,隐藏选择的object\face

c.字母o,选object(物体、body)

d.字母f,选face

e.字母e,选Edge(线)

f.连续按字母b,相连接的物体切换选择

g.Alt+左键,旋转(按住鼠标滚轮亦可)

h.shift+左键,平移

i.shift+alt+左键,模型的放大和缩小

j.alt+左键双击9个区域,可以切换9个不同的视角

k.快速选择目标,左键点击滚轮标,蓝色高亮

2、如何确保移动、移动复制物体时沿着单一轴方向精确平移?

在执行move\duplicate alone line操作后,按住X、Y、Z即可让物体沿这三个轴方向准确平移

3、如何裁剪model?

巧用split,使用split可以沿XY\ ZX\ ZY 三个面来裁剪模型,保留箭头指示方向的模型

步骤:Relatiives CS-Split-裁剪

4、如何分裂物体?(一分二、一分多)
Edit\ Boolean\ Separate bodies即可,用此办法可以来判断两物体融合后是否真正接触;

被分裂的物体在模型树下变成两个物体,说明被分裂的物体没有融合;

如果物体融合在一起,那么操作之后是不会分裂成两个物体的。

5、面(sheet)生成体(object)

Edit\ Surface\ Thicken Sheet

6、移动复制如何参数化复制数量?

勾选Attach to original object即可;

注:移动复制后是不接触的一个物体,如果材料不一样,需要执行分裂物体操作,分裂物体后,复制的数量不再可更改。

7、线(line)生成面、线生成体

选中、在属性窗口选择不同的横截面类型;

Cross Section窗口选择type,设置数据(中间向两边增长)。

8、从object截取一个面

选取face\ Edit\ Surface\ Create object from face\ Thicken sheet

9、自动建立辐射边界条件

方法一:auto create region+set radiation boundary

自动创建的空气盒子没有属性,即没有赋予边界条件,需要手动添加边界条件

步骤:create region-Assign Boundary-Radiation

调整空气盒子的大小,双击CreateRegion,六个维度可以设置±X \ ±Y \ ±Z

方法二:(Project Manager)model/ create open region

创建出来的空气盒子很大,这种创建方式适合天线(因为辐射较强),自动给出坐标

方法三:HFSS\ Solution Type\ 勾选Auto-Open Region+Radiation

这种方法创建的空气盒子是不自动显示的,不太推荐

显示方法-把上述路径的Auto-Open Region再勾选一下

10、如何快速修改模型(对模块仿真来说,比较重要的技能)?

巧用move face,可拉伸(加大)、内推(减小)、去倒角

步骤:选中face-Surface\ Move faces along normal\ 设置数值(正数倒角向外扩,负数倒角变直角)

实际应用:可用于GND挖空(两个object相减,调整腔体大小)

11、旋转坐标系

Relative CS-Rotated(按照X、Y的顺序定义)

12、取横截面Section

Modeler-Surface-Section

13、使用软件自带3d components

View-Component Libraries(可以选择建立生成自己常用的模型,参数化w\h\d...)

二 信号完整性仿真软件设置大全

1、多核并行运算设置(提升求解速度)

注意:并行运算只是在扫频时才有效果,同时计算多个频点的S参数,但是对划分网格初始迭代阶段没有效果。

方法一:Simulation>HPC Options

方法二:Tools>Options>HPC and Analysis Options

设置逻辑处理器/内核:点开后在弹窗中点击Edit>Total Enabled Cores>Cores

笔记本/服务器逻辑处理器/内核查看方法:任务管理器>性能

2、Solution type求解模式设置

a.执行HFSS>Solution type>Terminal,因为SI仿真经常需要观察差分S参数以及差分阻抗,只有在driven terminal下才可以定义差分,在driven modal不能定义,两者加载的信号类型不同。

b.Driven terminal在端口处加载的是幅度为1V的电压信号,这样软件才可以定义差模电压和共模电压,进而计算差分阻抗和共模阻抗;

补充:terminal: 传输线trace与port相接触的地方叫terminal;

在terminal上加载(正弦波)电压信号

c.Driven modal在端口处加载的是平均功率为1W的各种模式电磁波,在端口处计算每个模式的入射电磁波和反射电磁波,进而计算端口的S参数,如果要观察耦合传输线的奇模和偶模阻抗,则需要选择driven modal;

3、Design setting

a.执行HFSS>Design settings;

b.选择材料自动覆盖功能(Validations>Enable material override),金属自动覆盖介质,小块金属自动覆盖大块金属,省减法subtract操作;

c.选择使用因果性材料(Lossy Dielectrics>Automatically use causal materials),因为SI仿真都是宽带扫描,截止频率fmax通常要设置为75GHz,为了避免在时域仿真中出现因果性问题,推荐勾选此选项;

d.自动导出S参数(Export On Completion>Export touchstone...),避免软件突然报错卡死,如果没将数据导出,需要重新仿真,浪费时间。

4、定义差分

Excitations>Differential pairs

5、自适应网格划分

选择自适应宽带网格划分,软件会自动选择N个频率,低中高频都有,在这几个频率的求解精度都满足后,才会进行扫频

补充:single单点求解/ Multi-Frequencies多点求解/ Broadband宽带求解

宽带求解中high frequency最少是45GHz

6、最小收敛次数及保存场分布数据

a.在求解设置时Driven Solution Setup>Options>Minimum Converged Passes(最少收敛次数。模型小,设置3次;模型一般大,设置2次;模型很大,设置1次)

b.options>solution options>order of basis functions>SI问题选择mixed order

c.保存场分布数据:Advanced>勾选Save Fields

7、插值法扫描(Interpolating)

SI仿真分析时,经常要观察通道的TDR阻抗分布,那么以多少上升沿时间的step阶跃信号来观察TDR?对最终的求解结果影响很大。

HFSS其实不直接支持时域仿真,它是将求解得到的S参数进行IFFT来反推TDR的,S参数中最大频点的设置会影响到rise time, rise time越小,对应的fmax越大,也就是求解的频带会很宽,在HFSS中,为了加快宽带求解的速度,软件会推荐你使用插值法扫描。

8、Fmax最大求解频率的确定

在transient下,根据软件自动换算频谱来设置最大求解频率fmax

步骤:瞬态模型下Analysis>Add solution setup>Input signal>Function(TDR)>根据Rise time确定Fmax

9、更改显示字体大小

为了方便观察仿真结果,需要调整下report显示字体的大小,在options下面更改

步骤:Tools>Options>General Options>Reporter>Report2D

10、调整窗口位置

方法一:show messages

方法二:View>Progress/Message Manager

三  PCB模型的裁剪和简化

1、PCB裁剪方法(HFSS 3d layout提供了两种裁剪模型的方法)

  1. 按网络属性来裁剪,适用于裁剪比较大的模型,比如整个TX、RX通道的仿真,建议layout后仿真按net来裁剪模型
  2. 按区域(不同形状)来裁剪模型,适用于裁剪比较小的模型,比如单个过孔、耦合电容等局部阻抗不连续性结构的仿真,建议layout前仿真按区域来裁剪模型

补充:前仿真:逐个优化各个阻抗不连续结构、优化过孔、优化电容、优化连接器和PCB相接触的地方、PCB和FPC焊接的地方;

2、按照net裁剪模型

步骤:cutout>create new创建新的仿真文件以免覆盖原文件>勾选filter geometry by net(根据网络选择结构)>include net选择需要分析的网络(& GND 勾选clip at extents,因为只需要一部分GND即可)>auto generate extent>okay

Auto generate extent说明:expansion type(普通边框方式裁剪、自适应边框方式裁剪、边框凸起方式裁剪);expansion parameters(扩展GND大小设置);corner style(圆角拐角、方角拐角)

3、按照区域裁剪模型

先画一个矩形面或者多边形>保持shape呈红色状态(模型被选中状态)>cutout>create new>取消勾选filter geometry by net>okay(裁剪出来的模型会包含其他不需要的object)

4、模型简化原则

  1. 删繁去简——删除多余的小特征结构、删除明显对性能无影响的结构体;
  2. 修漏补缺——缺角、漏洞对性能无明显影响的,应该将模型补充完整,减小mesh网格数,模型也更美观;
  3. 存主去次——对性能有重要影响的结构保留,影响微弱的去掉。

补充:

删除封装焊盘时逐个删除;选中空缺直接删除;删除多余via;

删除多于层数(包括层叠remove)

补空缺(选择多边形命令>绘制多边形>unite);

修改过孔层数(选择过孔>properties>padstack usage>padstack range)

5、修改过孔属性

6、模型检测--geometry check

7、模型建完确定okay后,可以选择在HFSS 3d layout或者HFSS中仿真

创建端口(右键Select Edges>选择线建立port)>>右键analysis>>add HFSS solution setup>>advanced>>右键setup>>analyze(如果在HFSS中仿真选择export>>HFSS model)

8、叠层设置

设置介质层:HFSS Extents>Dielectric>Type>Conformal>Horizontal设置为0;

设置叠层时:ETCH蚀刻角,一般设置为80%即可;Rough粗糙度,默认设置即可;

添加材料时:需要设置name、介电常数、介质损耗参数

四 HFSS 3D Lay3out 端口设置及转HFSS model方法

1、常见的三种端口

Gap port=lumped port、wave port、circuit port最为常见,其中circuit port等效于一个电流源,内阻可以自由设置,转换成HFSS 3D model时,该port无效,因为HFSS本身不支持这种类型的port。

2、性能差异

三种端口求解的性能无明显差异,其中wave port性能最好、lumped port次之、circuit port在高频性能就最差,因此如果分析的频段小于25GHz,三种端口都可以,如果分析的频段大于25GHz,尽量用wave port。

3、Gap port属性说明

a.只选中一条边设置端口,软件默认会选择最近的GND作为reference plane;

b.如果选择两条边设置端口,第一次点击的是正极也就是信号,第二次点击的是负极,也就是reference plane;

c.Gap port转Wave port方法:EM Design>HFSS Type

4、wave port属性说明

a.耦合传输线(差分线)wave port设置方法1:同时选中两条边>port>create

b.耦合传输线(差分线)wave port设置方法2:先单独定义两个Gap port>同时选中两个Gap port>port>couple edge ports(wave port拆分成两个gap port,执行decouple)

Q:为什么3d layout 设置的wave port 是一个带厚度的pec?

A:因为wave port是外部端口,当放在求解区域内部时,为了保证电磁波的单向传输(电磁波不能穿透金属),必须在port后面添加一个pec conductor。

5、circuit port设置方法

方法1:选中一条边>port>create circuit ports

先选择single一条边>再选择reference gnd一条边>port>create circuit ports

方法2:port>create circuit port>先分别点击两个点>选择两个点所在的层

6、小结

a.Gap port、wave port、circuit(低速)总结起来是适合于走线(传输线)以及矩形焊盘端口设置的,相对比较简单;

b.注意事项:如果走线模型不是矩形,要调整其形状;或者隐藏器件outline,方法如下:

将传输线末端改为直角:选中传输线>properties>footprint>StartCapType>flat/extended;

隐藏器件outline:Layer>最后一列取消勾选

7、BGA焊球生成及端口设置

生成BGA:先选中器件>看part type是不是IC(如果不是IC将其更改为IC,只有IC才能长BGA焊球,才能设置端口,更改方法:components>右键器件名>type>IC)>Model Info>Die Properties>type/flip chip>orientation/chip down(向上生长)>solder ball properties>shape/spheroid(椭球形)>设置焊球尺寸(根据规格书)>solder材料属性

设置port:选中IC>port>create ports on component>选中高速信号网络>type/port>OK(其实是环形的lumped port)

BGA阻抗优化:

BGA焊球引起阻抗不连续的两个原因:①BGA PAD通常比差分线宽②焊球,相对于导体厚度加厚了;以上两个原因导致BGA焊球阻抗偏低。

BGA焊球优化:反焊盘尺寸有限,因此在优化过程中,以S参数为主,TDR为辅。对于25Gbps速率,只要RL<-20dB@freq=20GHz即可。

8、查看空气盒子以及介质

查看空气盒子:HFSS extents>show

调整尺寸:HFSS 3d layout>HFSS extents>dielectric>horizontal(介质超过铜的尺寸,一般是0)>airbox>(horizontal>vertical空气盒子扩展尺寸)>应用

9、导出HFSS model

步骤:先添加一个HFSS求解HFSS Setup>右键export to HFSS

由于HFSS不支持circuit port,当将模型导出至HFSS中时,尽量使用gap port或者wave port,不然需要在HFSS中重新绘制端口。

五 3D Layout导入垂直安装SMA转接头

六 TX通道完整仿真实例

七 差分线

7.1 建立差分线模型的4种方法

1、从3d layout直接切出model或者直接画model,难度系数*

在HFSS 3D Layout中,draw line>duplicate>draw rectangle(gnd)>select edges>port>create

2、常规套路,直接在HFSS里面建立model,难度系数**

a.梯形截面画法:由line直接生成、梯形面加厚、底面拉伸操作;

b.绿油厚度的画法:scale

line直接生成:line>设置坐标>properties/type>Isosceles Trapezoid>设置模型数据>thru mirror>draw box(y 10*w1)>选择sub底部face>create object from face(gnd)>thicken sheet>信号层绿油/移动坐标原点/右键/scale/thicken sheet/unite(soldermask)

3、由Q2D生成HFSS 3d Model,难度系数*

先在Q2D分析差分线,画出2D模型>复制到HFSS中>thicken sheet

4、由脚本建立model,难度系数毫无压力

7.2 使用Q2D分析差分线阻抗

1、Q2D仿真流程介绍

①建立模型(基于XY平面的sheet;可以给sheet赋予材料属性;可以直接生成HFSS 3d model)

②设置边界条件(只支持有限导体边界;select edge设置边界;常用来仿真金属的表面粗糙度

③设置导体类型(支持5种类型的导体;只能设置一个参考地;GND类型导体不计算它的寄生参数)

④求解设置

⑤求解

⑥结果后处理(强大的reduce matrix;支持定义差分)

注意:Q2D有两种solution type,一种为open,常规的微带线、带状线、耦合差分线等非封闭的传输线就用open求解方式;另外一种为close,同轴线、各种封闭的线缆必须选择close求解方式。

2、影响差分阻抗的因素

介质厚度、介质的介电常数、线宽及上下线宽差异、线间距、绿油厚度及其介电常数、铜厚度

3、PCB制造参数确定

计算阻抗时,PCB制造参数不能凭空想象,尤其是铜厚、上下线宽以及介电常数等,需要严格的基于PCB厂家提供的文件和数据。

4、建立diff pair模型

Q2D的模型是基于XY平面的,当建立的模型不在XY平面时,软件会报错;

同时Q2D里面建立的模型是sheet,可以赋予材料属性;在HFSS里面sheet只能添加边界条件和端口;

①分析数据计算出坐标,建立2d差分线

②设置trace的绿油:CTRL+C/V>将坐标原点移动到模型底部中心位置>scale设置X/Y值>更改坐标原点Global>thru mirror

③添加介质>添加GND>添加表层绿油>unite

④定义材料属性,修改名称

(修改变量产生畸变时,检查修改相对坐标RelativeCS1;检查模型Simulation>Validate)

⑤设置导体类型:Conductors>Auto assign signals>将GND修改为reference ground

(Q2D里面有5种导体,定义为GND的导体,软件不计算它的寄生RLGC参数,但是它会影响signal line的RLGC寄生参数。)

⑥定义差分对:reduce matrix>original>diff pair>选中差分信号线>Save and Create

⑦添加求解设置Analysis>ADD Solution Setup>General/CG Advanced/RL Advanced

⑧添加扫频:Setup>Add frequency sweep

⑨Analyze All

⑩查看差分阻抗:DiffPairMatrix>Matrix>Tline data>选择diff pair>cm共模阻抗df差模阻抗;

查看结果:Results>matrix report>2D

5、为什么1GHz时的阻抗偏高大概1ohm?

特征阻抗跟频率弱相关,随着频率增高,阻抗会稍微减小,这跟导体的自电感减小有关系。

6、查看等效介电常数

results>create matrix report>rectangular plot>EpsEff>model1差模model2共模

7、定义全局变量:project>submit job

7.3 差分线TDR仿真注意事项

1、建立HFSS模型

新建HFSS>Q2D模型ctrl c/v>sheet>thicken sheet>HFSS>Design Setting>Lossy Dielectrics>勾选Automatically use causal materials

2、求解设置

修改操作平面XZ>draw rec(修改name/10~6倍h1)>along line>设置端口(port1>assign excitation>wave port>use as reference/GND>port2同上>定义空气盒子(修改操作平面XY>create region>assign boundary>radiation>okay)>修改求解方式为terminal

3、求解

Analysis>Add solution setup>Advanced>General选项卡{设置与自适应求解频率、收敛精度的相关选项:Frequency频率;Maximum Number of Passes最大迭代次数;Maximum Delta S S参数收敛误差标准;}>Options选项卡{设置与网格剖分的相关选项:一般来说,如果内存充裕,Minimum Converged Passes设置为3即可,当Maximum Delta S下降到0.01以下,也就是HFSS缺省收敛标准的一半时,一般可以认为绝对收敛}>创建差分对:右键Excitations>Differential Pairs>New Pair

设置求解时需要设置的选项:General{Broadband\Frequency0-75 \Maximum Number of Passes15\Maximum Delta S 0.02};Options{Min Number of Passes 1最小迭代次数\Min Converged Passed 3最小收敛次数};Advanced{Max Delta Zo 2\Use Radiation Boundary On Ports}

General:最大迭代次数改为20,求解精度改为0.005、

求解精度不够的话,TDR会偏低;模型简单,增加求解精度,让网格数尽量多(3w个网格差不多);

十  wave port的deembedding功能介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值