基于Siwave的PCB EMMC信号波形与眼图仿真-Die波形仿真与考虑封装耦合的波形仿真

本文接:基于Siwave的PCB EMMC信号波形与眼图仿真

本文工程下载:基于Siwave的PCB EMMC信号波形与眼图仿真-Die波形仿真与考虑封装耦合的波形仿真-工程文件

0、前言

最近对信号完整性(SI)、功率完整性(PI)比较感兴趣,博主六年前上本科时也是一个画板子好手,平时用AD软件搞点FR4的简单嵌入式的电路板子玩玩,几十兆的时钟玩得不亦乐乎,放在现在真的是out了。

现在像模像样的高大上的板子基本时钟频率非常高,板子上CPU高速内存电源信号线有许多的要求,在实际投板前需要进行信号完整性(SI)、功率完整性(PI)的仿真,因此来学习一下下。学习资料是于博士的书籍《信号完整性揭秘》,还有配套的视频啥的,非常好用,简单开坑记录下。

Siwave是Ansys旗下的软件,专门用于SI和PI的仿真,之前用它家的HFSS非常多,这次也来尝尝鲜。软件的下载可以去老吴那边下载:Ansys EM 2025 R2 电磁仿真安装包已发布

1、Die波形查看

1.1、单信号线S参数仿真

书接上回,基于Siwave的PCB EMMC信号波形与眼图仿真中使用向导就行了仿真,是把芯片的好多引脚一起进行的,工程量比较大。这边以单个信号线EMMC0_DAT0信号线为例,构建仿真案例。找到之前向导生成的端口,删除无关的,留下DAT0的:
在这里插入图片描述
删除后如下所示:
在这里插入图片描述
设置仿真器,仿真频率沿用基于Siwave的PCB EMMC信号波形与眼图仿真的进行设置,启用SNP文件导出:
在这里插入图片描述
设置完成后点击Launch:
在这里插入图片描述
仿真完成后在文件夹下得到S2P文件:
在这里插入图片描述

1.2、工程搭建

打开Ansys Electronics Desktop,也就是HFSS的入口:
在这里插入图片描述
选择Circuit选项:
在这里插入图片描述
选择None:
在这里插入图片描述

1.3、原理图搭建

1.3.1、S2P导入

打开后保存一下工程,插入刚刚仿真得到的s2p文件:
在这里插入图片描述

1.3.1、激励源的插入与设置

在这里插入图片描述

激励源按照如下进行设置,其中,100MHz的数据率,UI设置为10ns。上升沿和下降沿时间设置为10ps,是比较理想的情况。码型设置为PRBS,长度设置为7:
在这里插入图片描述
然后加入并重命名一个网络名称:
在这里插入图片描述

1.3.2、驱动器的IBIS模型导入

下面插入驱动器的IBIS模型:
在这里插入图片描述
选择EMMC0_DATA0进行导入:
在这里插入图片描述
插入后旋转一下,然后连接一下:
在这里插入图片描述
双击驱动器进行设置,设置正确的模型,并链接到外部的激励源:
在这里插入图片描述

1.3.3、接收端的IBIS模型导入

下面放置接收端的:
在这里插入图片描述
导入dat0:
在这里插入图片描述
先全部连接一下:
在这里插入图片描述

修改接收端的配置:
在这里插入图片描述

1.3.4、插入探头与波形查看

先插入电压探头,插入步骤如下:
在这里插入图片描述
测眼图的也加上:
在这里插入图片描述

1.4、添加仿真器

1.4.1、瞬态仿真器

添加步骤如下:
在这里插入图片描述
设置步长和停止时间,这个主要和时钟频率相关,此处50MHz的时钟,每个周期是20ns,因此仿真25个周期,步长10ps可以清晰查看到瞬态的波形变化:
在这里插入图片描述

1.4.2、眼图仿真器

添加步骤如下:
在这里插入图片描述
无需额外设置,直接OK:
在这里插入图片描述

1.5、仿真与结果查看

启动仿真:
在这里插入图片描述

1.5.1、电压波形查看

按照如下步骤添加:
在这里插入图片描述
按照如下步骤配置,先查看Probe上面的波形:
在这里插入图片描述
结果如下:
在这里插入图片描述把Die上的波形一起添加进来:
在这里插入图片描述
可以看到几乎是重合的:
在这里插入图片描述

1.5.2、眼图查看

按照下面步骤选择:
在这里插入图片描述
注意要选择眼图求解器:
在这里插入图片描述
结果如下:
在这里插入图片描述

2、Package考虑封装仿真

2.1、工程搭建

2.1.1、SNP导入

书接上回,基于Siwave的PCB EMMC信号波形与眼图仿真中使用向导就行了仿真,是把芯片的好多引脚一起进行的,把所有引脚的仿真数据导出SNP文件:
在这里插入图片描述
导入后加上对应的网络名称,如下所示:
在这里插入图片描述

2.1.2、激励时钟设置

基于Siwave的PCB EMMC信号波形与眼图仿真中使用向导就行了仿真,对DAT、CLK、CMD的时钟都详细说明了:
在这里插入图片描述

项目 设置值 原理说明
Source-Data PRBS 数据线用伪随机序列,模拟真实DDR数据流,用于评估ISI、串扰和眼图
Source-CLK Custom Bit 1010 时钟用固定交替序列(1010),形成稳定周期方波,保证参考时序
Source-CMD PRBS 命令线为单边信号况

此处添加这些激励源,按照参数设置即可:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.1.3、输出ibis设置

齐刷刷的排练好了啊:
在这里插入图片描述
值得注意的是,要用不同的时钟。DAT的用EYESRC_DATA,CMD要用EYESRC_CMD,CLK要用EYESRC_CLK,可以参考我的工程进行设置:
在这里插入图片描述

2.1.4、接收端的ibis设置-Package模型

导入ibis的时候,按照如下勾选上,把所有的DAT信号和CMD、CLK也选上:
在这里插入图片描述
设置的时候,选择查看die上的波形,Buffer类型设置为输入,所有的引脚都改一遍:
在这里插入图片描述

2.1.4、接收端的ibis设置-Pin模型

搭建好的复制一份,重命名为PIN:
在这里插入图片描述
ibis导入的时候,配置和之前导入Package时候类似,但是不要选择Use Package Model:
在这里插入图片描述
设置的时候,选择查看die上的波形,Buffer类型设置为输入,所有的引脚都改一遍:
在这里插入图片描述

2.2 仿真器设置

用这个就行:
在这里插入图片描述

2.3 结果窗口创建

如下设置创建结果窗口:
在这里插入图片描述

在这里插入图片描述

2.4 考虑Package和PIN上波形对比

可以看到,考虑package耦合后,波形失真更加严重了:
在这里插入图片描述
在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐