使用芯禾Expert系列软件实现高速链路仿真

杭州华三通信技术有限公司 王博 程斌

一、背景

高速串行通道(Serdes)是目前绝大多数通信系统中用到的数据传输通道,为满足人们对图片、视频传输所带来的日益增长的带宽需求,通信设备中高速串行通道上的信号速率以每五年翻一倍的速度进行提升。从最初的单链路10Mb/s速率一路提升到当前业界广泛应用的25Gb/s速率,而且未来还会向着56G、112G等更高速率持续演进,图1所示即为以太网联盟定义的以太网速率升级路线图。图1

图1 未来五年以太网速率升级路线图

对于几十Gbps速率的高速串行链路,单纯依靠以往的设计经验,已经无法确保高速链路设计的正确性。因此,需要采用各种高频电磁场仿真的EDA工具软件,在设计前和设计完成后对高速串行链路进行前仿真和后仿真分析,充分验证高速串行链路的各种电气性能是否满足设计要求,从而确保一次性地设计成功,满足产品上市的时间需求。

当前业界已经有多款高频电磁场仿真工具,如ANSYS Electronics系列仿真工具(包括HFSS、SIWave、SystemSI、Nexxim等)、KeySight ADS/EMPro等、Cadence Sigrity仿真套件、Synopsys HSpice等。这些EDA仿真软件均为国外大厂开发,且经过了多年的业界应用,软件的功能、易用性、仿真精度等各方面都经过了充分验证。但正如前文所述,人们对以太网带宽持续提升的迫切需求使得路由器、交换机、服务器等数据通信设备中的高速串行链路速率飞速提升,如何实现对更高信号速率链路的准确建模分析,成为了当前EDA仿真软件领域各个厂家均需面对的课题。另外,随着信号速率的提升,高速链路中以往可以忽略的一些影响因素,如绿油影响、BGA焊球、走线泪滴等,在当前的仿真模型中均需考虑进去。

芯禾的Expert系列软件(Via Expert、Snp Expert、Channel Expert)是完全在国内研发的一套高频电磁场仿真分析软件,在吸取了上述各个EDA国际大厂软件优点的基础上,为信号完整性设计者提供了一整套更加便捷的高速Serdes链路建模、仿真、分析方法。基于芯禾的Expert系列软件,可以让SI仿真人员从繁琐的通道建模和数据分析中解放出来,将精力更加集中在通道链路的性能分析和优化上,从而大幅提升仿真设计效率。

下面将详细讲解使用芯禾Expert系列软件实现高速链路的前仿真和后仿真方法。

二、高速链路的前仿真

图2

图2 传统背板系统链路示意图

图2所示为传统背板系统链路,信号从一块子卡上的芯片发出,经过背板后被另一块子卡上的芯片接收。以此信号拓扑为例,高速Serdes链路的前仿真过程包括了以下几个步骤:

1、从连接器厂家处获得高速连接器的S参数模型;

2、建立各块单板上信号孔和走线的模型;

3、搭建整体链路拓扑,仿真链路的插损、回损、阻抗等曲线;

4、查看仿真结果,并将仿真结果与国际标准进行对比,判断链路的电气性能是否满足规范要求。

由于连接器厂家通常会提供其高速连接器的S参数模型给用户,因而,对高速通道仿真人员来说,仿真的实际工作是从上述第二步开始的。

如图3所示,在Via Expert软件中有各种建模的Template。使用这些Template,用户只需要跟随向导界面,设置好叠层和相关参数,就可以由软件自动建出所需的三维模型。相比于HFSS、EMPro、Sigrity等软件,Via Expert针对PCB链路建模所做的这些Template大大简化了仿真人员的建模工作量,使得用户通过GUI界面向导,在很短的时间内就可以建出所需的模型。

图3

图3 使用Via Expert自带的各种Template建出PCB上各种孔的模型

用Via Expert对BGA处差分过孔建模

在图3界面中选择Model With BGA模板,就会弹出图4所示的BGA Via建模向导。在图4界面中,用户可以选择软件自带的叠层,或者导入实际单板上的叠层。然后,通过设置Padstack处的数据值,定义BGA处的过孔和焊盘的具体尺寸。接着,设置BGA Pitch的大小、过孔的数量。最后,设置BGA处Fanout短线的长度、方向。如果用户觉得有必要,还可以给BGA Pad加上焊球的模型,从而更真实地模拟BGA处的物理特性。

图4

图4 BGA Via建模向导Step 1

图5

图5 BGA Via建模向导Step 2

图6

图6 通过Template建出的BGA Via模型

完成参数设置之后,点击图4中的Next按钮,进入图5所示的BGA Via建模向导界面。由于在图4界面中设置所有过孔均为地孔,因此需要在图5界面中选中部分地孔,通过鼠标右键菜单将其属性更改为信号孔。完成这一设置后,再点击Next按钮,对BGA Via模型进行必要的切割。之后点击Finish按钮,软件就会自动建出图6所示的BGA Via过孔模型。

在Via Expert软件生成的新工程文件的Footprint界面中,对BGA Pad赋上Coax Port,对引出的差分线赋上Lumped Port或Wave Port,再设置好仿真的频段,整个建模过程就结束了。在检查无误后,就可以在Via Expert中进行仿真,获得模型的S参数。

用Via Expert对AC耦合电容建模

10Gbps及以下速率的高速Serdes链路上通常都会带有AC耦合电容,起到隔离直流电平的作用。在大部分EDA仿真工具中,AC耦合电容部分都需要由仿真人员手动建模。这不仅耗时耗力,而且对于初学者而言,很难一次性建出正确的模型。类似于BGA Via建模,Via Expert软件也提供了AC Cap建模Template。在图3界面中选择Model With AC Cap模板,就会弹出图7所示的AC Cap建模向导。为了便于给模型添加仿真端口,在图7所示的AC Cap模型中包括了电容焊盘上的引出走线,以及引出走线对应的Fanout过孔。

图7

图7 AC Cap建模向导

在AC Cap建模向导界面中提供了大量可以设置的参数。在图7中的Stackup/Padstack一栏中,用户可以设置AC Cap Fanout过孔的孔径、焊盘等尺寸。在AC Capacitor一栏中,用户可以设置AC Cap所在的位置是单板的Top面还是Bottom面,同时设置AC Cap焊盘的尺寸、焊盘对应的参考层、焊盘在参考层上的掏空大小等参数。在Signal/Ground一栏中,用户可以设置Fanout过孔之间的间距、Fanout过孔的类型等参数。在Trace/port一栏中,用户可以设置AC Cap两端差分线的线宽、间距、所在的走线层等参数。

可以说Via Expert提供的AC Cap建模向导界面中几乎囊括了AC Cap建模所有必需的参数。如果用户不清楚某些参数的含义,可以点击Help按钮。此时会弹出参数说明的示意图,帮助用户了解各个参数的意义。对于仿真人员而言,只需要根据自己的需要,在图7界面中设置相应的参数,然后点击OK按钮,就可以非常轻松地获得自己想要的AC Cap三维模型。

由Via Expert AC Cap建模向导建出的一种AC Cap模型如图8所示。软件建出的模型会自动设置好各种端口,用户只需要在Via Expert软件主界面中设置好仿真频段,就可以正常进行仿真,获得模型的S参数。

图8-1

图8 通过Template建出的AC Cap模型

用Via Expert对连接器Footprint孔建模

除了BGA Via和AC Cap之外,要仿真高速串行链路,还需要建模高速连接器在PCB上的Footprint信号通孔,Via Expert同样提供了对应的建模Template。在图3界面中选择Model With Footprint模板,就会弹出图8所示的BGA Via建模向导。

Via Expert中自带了很多业界当前正在使用的高速连接器Footprint模型,如果没有所需要的,可以在现有连接器Footprint模型的基础上进行修改,然后另存为连接器Footprint模型库文件。在图8中选择所需的连接器名,点击Next按钮,就会弹出该连接器的Footprint模型,如图9所示。

根据仿真需要的信号孔数量对图9中的连接器Footprint管脚进行选择,然后点击Finish按钮,软件就会自动生成图10所示的连接器Footprint Hole三维模型。同样的,在Via Expert软件主界面上设置信号孔的端口和引出走线,再设置好仿真频段,在Via Expert中仿真后就可以得到该模型的S参数。

图8-2

图8 Footprint Hole建模向导Step 1

图9

图9 Footprint Hole建模向导Step 2

图10

图10 通过Template建出的Footprint Hole模型

当信号速率较高时,对于各种孔的模型都会有背钻的要求。Via Expert软件对于信号孔的背钻提供了非常方便的设置功能。

在Via Expert软件主界面上点击Project目录树中的Stackup项,就会弹出图11所示的当前模型叠层设置界面。根据每层介质厚度和铜厚,在Elevation一栏中从下往上依次计算出了每一层在Z轴方向上的坐标值。在图12所示的Drill页面中,用户可以通过By Layer或By Depth来设置背钻的深度。如果通过By Layer来设置背钻深度,可以在所指定的层位置通过Shift值来进行背钻深度的上下偏移;如果通过By Depth来设置背钻深度,则图11界面中Elevation一栏中的值就可以帮助设计者快速确定背钻深度,不需要由设计者再手动计算。

每一种背钻类型的设定,在图12界面右侧都会有相应的图示。背钻深度的修改,可以及时反映到示意图中,从而方便了设计者的检查。除了可以做Bottom面到Top面的背钻外,用户还可以设置Top面到Bottom面的背钻,以及对一个孔同时设置Bottom面到Top面和Top面到Bottom面的背钻。

图11

图11 Stackup界面中对叠层的显示

图12

图12 Stackup界面中对各种背钻的设置

对于背钻后的孔,用户可以设置其内部的填充材质是空气或其它介质,从而对应实际PCB加工中背钻孔是否做树脂塞孔的工艺处理形式。

在图12界面中完成上述种种设置后,将对应的设置项赋给需要做背钻的信号孔,就完成了信号孔背钻的整个设置过程。

从上面的背钻设置细节中可以看到,Via Expert软件在背钻参数设置方面充分考虑到了用户使用的便捷性、实际生产加工的制成等因素,可以让用户快速、高效、准确地完成背钻设置,保证了仿真模型与加工实物的一致性。这一特色不仅体现在Via Expert软件背钻参数设置上,也贯彻在芯禾Expert整套软件中。

用Channel Expert搭建传统背板链路拓扑

对高速Serdes链路各个部分完成三维建模和仿真后,就可以在Channel Expert软件中将通道各个部分的模型搭建起来,从而仿真整条链路的电气性能。

与Via Expert一样,在Channel Expert中针对不同的通道链路类型,也开发了对应的通道建模Template。如图13所示,在Add Channel by Template菜单下有四种类型的通道链路建模Template。对于单板内部芯片与芯片之间互连的高速链路,可以选用Chip to Chip Template;对于传统背板链路,可以选用Traditional Backplane Template;对于正交直连的背板链路,可以选用Orthogonal Direct Backplane Template;对于带中置背板的正交背板链路,可以选用Orthogonal Mid-Plane Backplane Template。

针对本文中的传统背板链路,选择Traditional Backplane Template后,就会弹出图14所示的传统背板链路拓扑搭建向导界面。根据图14界面例图中的数字标号,用户在界面下半部分从左往右依次设置单板上的过孔模型、走线模型、连接器通孔模型、连接器模型等。

对于链路不同部位的过孔模型、连接器通孔模型、连接器模型,通过图14界面下半部分各个Via栏中的Add命令,将前面几个步骤中仿真得到的S参数文件依次导入。在导入S参数文件的时候,用户还可以根据导入界面上的设置项对S参数端口顺序进行调整。对于链路不同部位的传输线模型,在图14界面下半部分各个Trace栏中可以设置该传输线对应的叠层、线宽、间距、长度等参数。传输线模型可以是一对差分线,也可以是多对差分线。用户不仅可以设置传输线所在介质的介电常数和损耗角,还可以设置铜箔的粗糙度。

图13

图13 Channel Expert中通道建模Template

图14

图14 传统背板链路拓扑搭建向导

完成各种参数设置之后,点击图14界面上的OK按钮,就会在Channel Expert主界面该工程项目下自动建出图15所示的传统背板系统一对差分链路的仿真拓扑,或者类似于图16所示的多对差分链路的仿真拓扑。在图14界面中设置的各种孔的S参数文件、传输线的仿真参数都会自动带到图15和图16链路各个部分中去。用户只需要设置一下仿真的频段,点击仿真按钮后,就可以得到整个链路的频域仿真结果。仿真结束之后,Channel Expert会自动地调用Snp Expert,将仿真得到的S参数文件自动导入Snp Expert中,让用户进行进一步的数据分析和后处理工作。

图15

图15 一对差分传统背板链路仿真拓扑

图16

图16 四对差分传统背板链路仿真拓扑

差分链路拓扑搭建功能在各类EDA仿真软件中都有,其中最为典型的就是图17所示的ADS的手动搭建方式。ADS中也有S参数、传输线等多个模块,这些模块之间需要用户根据端口顺序手动连线。这一过程较为繁琐,一旦出现端口顺序弄错,往往要从头检查整个拓扑连线。

图17

图17 ADS中搭建的差分链路仿真拓扑

Channel Expert通过模板的方式辅助设计者进行链路拓扑的搭建,对导入的S参数还能够进行端口顺序的调整,从而使得整个拓扑各个部分之间的连接关系清晰、顺畅。在设置好参数后,整个拓扑自动生成,不再需要设计者在各个部分之间手动连线,简化了拓扑搭建的繁琐操作,实实在在地提高了仿真效率。

如果Channel Expert自带的Template无法与特定链路的拓扑完全一致,仿真人员可以先选用最接近的Template,在软件自动生成拓扑后,再在已生成拓扑基础上进行手动编辑,增加或删除不必要的链路部分。可以说,Channel Expert的链路拓扑搭建方式即有自动化的,也支持手动编辑,具有相当高的灵活性。

在Snp Expert中查看仿真结果

Snp Expert是目前业界最好的S参数后处理软件,是仿真人员对仿真结果分析的一大利器。Snp Expert支持S参数文件的批量导入、混合模的插损/回损/串扰/ICR/ICN等曲线的快速绘制、S参数的级联和分解、S参数去嵌、仿真结果规范一致性分析、基于PRBS码型的眼图绘制等功能。

在Snp Expert中新建一个工程,将仿真得到的通道S参数文件导入,导入界面如图18所示。Snp Expert会根据S参数文件内部的信息自动进行端口分类,如果用户发现软件端口分类有误,还可以通过Pin Direction一栏下的选项进行调整。

图18

图18 Snp Expert中S参数导入界面

点击图18中的OK按钮,就完成了S参数文件的导入,软件会进入图19所示的界面。在这里,用户首先可以通过Auto Diff按钮自动地给差分端口设置上差分属性。然后,在Category处将S参数类型选择为S Parameter Diff。接着,选择Grid页面,通过该页面下方的多个按钮自动选中所有的Diff IL、Diff RL等数据源。最后,点击New Plot按钮,就可以绘制出所需要的曲线。

Snp Expert的这一系列曲线绘制过程完全在GUI界面中通过鼠标操作来实现,相比而言,在ADS中要绘制出这些曲线,用户需要手动编写一定量的公式,费时费力。Snp Expert的这一功能相当好用,在ADS2016版本新增的S参数分析模块中,也借鉴了Grid页面的形式。从这一点上也可以看到业界EDA大厂对Snp Expert这一功能的肯定。

图19

图19 Snp Expert中S参数设置和绘制界面

在Snp Expert中绘制出各类曲线后,可以参照图20所示的方法调出Compliance Configuration界面,在仿真曲线上添加各类国际标准的Spec红线。图20中在仿真得到的插损曲线上添加了100GBASE-KR4损耗标准红线,设计者就很容易看到当前的设计是否会超出规范的要求。

图20-1图20-2

图20 为仿真曲线添加标准红线

图21

图21 通道串扰计算步骤1

除了添加标准红线之外,根据导入的S参数文件还可以进行近端串扰、远端串扰、ICR等数据的计算。在Channel菜单下选中Xtalk命令,会弹出图21所示的通道串扰计算界面。对于导入的S参数中包含的所有通路,软件自动给出这些通路对应的所有串扰源。用户只需要跟随向导点击Next按钮,在图22界面中选择需要计算的项目,然后点击Plot按钮,就可以立即得到各类串扰曲线。

图22

图22 通道串扰计算步骤2

Snp Expert中还包括了USB Type-C各类参数计算、IEEE802.3BJ中COM指标计算等多种功能,限于篇幅,在本文中不再一一介绍。这些计算功能的原理可能较为复杂,但Snp Expert已经集成了这些功能,用户只需要根据软件界面上的提示进行鼠标操作,即可很方便地得到相关的数据和曲线。

三、高速链路的后仿真

在完成PCB设计之后,通常还需要对高速链路进行后仿真分析,确保实际设计结果与前仿真的预期一致。对于后仿真过程,重点在于对PCB上的实际布线拓扑进行提取和仿真。整体链路的仿真和仿真数据的后处理过程则与前仿真阶段完全一致。

由于实际PCB结构复杂,包含的数据量较多。因此,如何快速、准确地从实际PCB上提取仿真人员需要的走线拓扑,极为考验EDA工具的能力。Via Expert除了能够根据Template建模之外,还为用户提供了直接从PCB上提取走线拓扑的功能。

在图3界面中选择Model With Layout命令,就会弹出图23所示的PCB文件导入界面。用户选择需导入的PCB文件后,Via Expert会解析文件,将PCB中所有的信号网络列在图23的左侧,将能够识别到的电源网络列在图23的右侧。用户从左侧筛选出需要分析的网络,将其移到右侧列表中,然后点击OK按钮。Via Expert经过进一步解析之后,会弹出图24所示的Cut View界面。在Cut View界面上,用户可以根据实际走线形状进行切割,将所需要的走线、信号孔保留下来,去除不必要的成分,得到图25所示的实际走线拓扑的三维模型。在提取的实际走线拓扑两端的信号孔或Pad上加上端口,设置好仿真频段,就可以在Via Expert中进行仿真,最终得到实际走线拓扑的S参数。

图23

图23 Via Expert中PCB导入界面

图24

图24 Cut View界面中截取网络实际走线

经过多个版本的迭代之后,当前的Via Expert软件不仅可以从PCB上提取各种复杂的走线、孔和反焊盘结构,而且对大规模单板的解析效率也较高。通过Via Expert的这一功能,用户可以分别将单板、背板上的走线拓扑提取出来,仿真得到各自的S参数,然后在Channel Expert中仿真整个通道的性能。

图25

图25 从PCB上提取的实际走线拓扑

四、总结

芯禾的Expert系列软件各自均具有强大的功能,互相配合使用,能够实现高速链路的各类仿真。Via Expert可以方便地建出PCB上的各类模型,或者直接从PCB上提取需要的模型,经过仿真后得到模型的S参数。Channel Expert可以对各类通道拓扑进行自动或手动的搭建,即具有灵活性,也能够提高通道搭建的效率。Snp Expert则是目前业界最好的S参数处理软件,不仅能够根据导入的S参数快速生成各类曲线,还集成了大量国际规范标准,便于仿真人员判断仿真结果的可用性。

最为难得的是芯禾是一家研发完全在国内的EDA公司,相比于EDA领域的国际大厂,芯禾能够更迅速地响应国内各类厂家在高速信号仿真领域的需求。从2013年首次使用芯禾的软件到现在,笔者切切实实地感受到了芯禾Expert系列软件的巨大进步。这种进步反过来又帮助了高速信号的仿真人员,不仅提高了仿真效率,更使得仿真人员能够将精力集中在系统设计和优化方面,而不是为各种建模而伤透脑筋。

随着以太网设备端口容量从100GbE向着400GbE、甚至1TbE演进,人们对高效、好用的EDA仿真工具提出了更多的需求。期待芯禾开发的EDA软件功能更加强大,在高速设计领域独领风骚。