这一篇会用一个差分过孔建模实例,把我在开始学HFSS时候犯过的错误show给你们看一下,向你们解释一下什么叫做仿真。

仿真的基础是用严密的推导和分析,得出的在特定前提下的一个猜想,仿真的作用是验证这个猜想而不是用仿真的结果来推导出一个猜想,就像我刚做仿真的时候前辈跟我说的,你在跑一个软件的时候,心里一定是有一个对结果的预期的,如果软件出来的结果和你心里的结果不一致,先好好检查一下软件用的对不对。

是一个很常规的BGA区域的差分信号过孔模型,因为信号是从过孔进入,所以我用一个同轴把信号延伸到了空气盒子表层,同轴内部是信号,外圈是参考地,通过一个PEC平面以及加在地孔上的PEC柱子和主参考地相连,少废话,先看图:

hfss仿真软件 GPU HFSS仿真软件mac版_建模

hfss仿真软件 GPU HFSS仿真软件mac版_hfss仿真软件 GPU_02

所以问题就来了,到底怎么建模型,才能让模型和真实情况尽可能的一致?其中有些问题是我当时就意识到的,有些问题是我看到结果才意识到的,有些问题是通过同事帮助才意识到的,anyway,我先把问题罗列一下,大致有下面五个问题:

1、需要背钻吗?背钻之后的stub该留多长?

2、同轴结构应该怎么设置,内圈的信号和外圈的参考地的直径该画多大?

3、地孔上面的PEC柱子应该加多高?

4、边界条件应该怎么设置?

5、信号层走线 P/N是不是应该等长?

一、背钻

很多人都知道高速信号过孔需要有背钻,在allegro里面设置的时候会把背钻设置成背钻到走线层的下面一层,事实真的是这样吗?PCB的加工都有一定的公差,实际上一般板厂背钻的公差在+/-4mil,我们在fab note里面的要求通常是8mil,所以加上公差,worst case就是我们的板子上会有12mil的stub, 我试着跑了两个模型,一个是不做背钻,一个是做了背钻并且留了12mil的,结果如下:

hfss仿真软件 GPU HFSS仿真软件mac版_边界条件_03

hfss仿真软件 GPU HFSS仿真软件mac版_制造_04

Stub可以等效为是一个电容,所以过孔阻抗明显被拉低了,并且在高频时候会有谐振效应。那到底怎么知道要不要背钻?有一个经验公式,注意是经验公式! 当stub长度满足下面公式的时候,需要做背钻:

Stub > 300mil / f(Ghz)

从上面结果可以看到做背钻和不做背钻对于过孔阻抗有着非常明显的影响,可是很多情况下大家都知道要做背钻,唯一tricky的地方就在于保留的stub的长度是多少,少废话,先看结果:

hfss仿真软件 GPU HFSS仿真软件mac版_制造_05

hfss仿真软件 GPU HFSS仿真软件mac版_建模_06

可以看到理想stub的结果明显要优于worst case的,所以如果不了解板厂的加工能力的情况下过于乐观的估计了一个值,实际测量的时候往往会fail。

二、同轴结构

同轴是一个大圆套小圆,中间是填充物质,那么对于用于信号延伸的同轴应该满足的条件就是,同轴的阻抗和目标阻抗保持一致,所以大圆尺寸,小圆尺寸以及填充物质的DK值都是会对同轴的阻抗产生影响的,少废话,先看东西:

hfss仿真软件 GPU HFSS仿真软件mac版_边界条件_07

实际上如果你仔细观察过用via wizard生成的同轴端口,会发现大小圆的直径就是9.2mil以及4mil,我们通常会用一个空气盒子罩住整个模型,所以如果不特别定义的话,同轴中的填充就是默认用的空气,那空气的DK当然就是1了。

我做了两个版本的同轴端口,具体参数如下图所示:

hfss仿真软件 GPU HFSS仿真软件mac版_边界条件_08

得出来的结果如下图所示:

hfss仿真软件 GPU HFSS仿真软件mac版_制造_09

hfss仿真软件 GPU HFSS仿真软件mac版_边界条件_10

通过结果可以看到由于同轴的错误设置,在TDR曲线开始有一段上冲,并且在两种情况下回损有大概3dB的差异。

三、PEC柱子到底应该加多高?

光说可能很抽象,所以直接上图:

hfss仿真软件 GPU HFSS仿真软件mac版_物联网_11

PEC柱子的高度到底影响了什么, PEC柱子的高度决定了PEC的虚拟地平面距离过孔pad的高度,之所以要把这些结构设置成PEC,就是为了不影响模型本身的性能,所以PEC平面如果距离过孔pad太近的话会使得过孔的阻抗降低,实际仿真的结果也和这个结论很接近。

四、边界条件

这里的边界条件主要指的是空气盒子的边界条件,一般来说如果是用via wizard或者ViaExpert 生成的模型的话,空气盒子已经默认加上了辐射边界,但是如果是从siwave里面导入的模型的话,空气盒子不会加上辐射边界,在HFSS里面如果不给空气盒子加边界的话默认的就是PEC边界,PEC指的是理想电边界。

辐射边界:指的是辐射到边界处的电信号全部被吸收

理想电边界:值得是辐射到边界处的电信号全部会反射回去

所以可以看到如果忘记给空气盒子加上辐射边界,那么在我们的插损曲线应该会看到谐振点,在下图可以看到,设置为PEC边界的模型结果却是有一个谐振点,谐振点的频率大约是27Ghz。

和设想中的一样,我们在看到由于谐振腔效应,在信号的差损曲线的某些频点会看到谐振,那么到底这个谐振是不是合理,空气填充的谐振腔谐振点计算公式如下,这个项目中a b l 分别代表腔体的宽,高,长,C代表在介质中的光速,m / n / p的取值能够代表不同模式下的谐振点频率,通过计算可以得出最低频率的一个谐振点在27.6Ghz,和仿真结果基本能够吻合。

计算结果:

hfss仿真软件 GPU HFSS仿真软件mac版_制造_12

可以看到由于边界条件设置不合理,会导致结果出现原本不应该出现的谐振点。

五、PN skew

在我们从板子里面截取模型的时候,通常会带上一段板子里面的传输线,一般是从BGA内部扇出的线,在截取线的时候有两种不同的方式,P/N等长以及P/N不等长,正确的做法是需要截取P/N等长的部分,因为不等长导致的P/N SKEW会导致两个问题:

1、差分转共模性能恶化

2、导致谐振

少废话,看结果:

hfss仿真软件 GPU HFSS仿真软件mac版_物联网_13

再一次:

1、背钻之后的stub该留多长?

2、同轴结构应该怎么设置,内圈的信号和外圈的参考地的直径该画多大?

3、地孔上面的PEC柱子应该加多高?

4、边界条件应该怎么设置?

5、信号层走线 P/N是不是应该等长?

这五个问题是我在刚开始用HFSS进行过孔建模的时候遇到的比较大的坑,所以还是那句话,在你开始仿真之前,你必须知道正确的结果应该什么样的。