谷动谷力

 找回密码
 立即注册
查看: 600|回复: 0
打印 上一主题 下一主题
收起左侧

使用开源工具进行高速硬件的信号完整性分析

[复制链接]
跳转到指定楼层
楼主
发表于 2023-12-12 21:35:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

使用开源工具进行高速硬件的信号完整性分析


“ 本文转载自 Antimicro 官网(可点击原文阅读查看)。介绍了如何使用开源 EDA 工具 KiCad 及 开源工具 openEMS 进行信号完整性分析 ”

先进视频处理设备的硬件设计是 Antmicro 的主要业务领域之一。随着人们对更高数据吞吐量的不懈追求,信号完整性已成为现代 PCB 设计的首要挑战。随着数据传输速率达到每秒数 10Gb,数字信号显示出与微波相似的特性,例如容易受到反射、阻尼和串扰的影响。铜线之间的阻抗失配或干扰很容易影响设计。设计硬件原型往往依赖于经验法则和简单的计算工具。对走线阻抗和线长匹配进行预先规划有助于避免重大隐患,但在整个过程中使用近似值会使误差不断增加。更糟糕的是,如果没有完整的反馈回路,就无法在原型制造之前检查假设是否正确。电磁场仿真是一种利用时域有限差分法(FDTD)提供更精确、数据驱动的设计验证方法。开放源码工具(如 openEMS,https://www.openems.de/)支持运行 FTDT 仿真,但在业内并不普及,因此专有工具几乎成为唯一的选择。
然而,Antmicro 一直致力于开发完全开放和自动化的硬件设计流程,而 EMS 正是其中缺少的重要元素。为了填补这一空白,我们开发了一个名为 gerber2ems 的脚本(https://github.com/antmicro/gerber2ems),它能将 PCB 制造文件(例如由开源 EDA KiCad 生成的 Gerber)转换为可使用 openEMS 处理的三维网格。
下面,我们将回顾使用 OpenEMS 进行信号完整性分析的基本原理,概述脚本如何工作,以及使用我们的开源硬件测试板验证仿真输出的过程。我们还将举例说明工作流程的可视化功能。
使用开源软件模拟高速 PCB 线路
OpenEMS 模拟电磁波在由网格定义的三维空间中的传播。网格的各个基元被赋予导电或介电材料属性。该几何图形来自 PCB 的 Gerber 文件,并根据电容器等无源元件进行了调整。为了评估信号在导线中的传播,需要定义激励和端接端口。这些额外的虚拟 PCB 元素来自原理图和元件的焊盘位置,并通过配置文件传递给仿真准备脚本。
OpenEMS 使用 FDTD 方法模拟源端口激励产生的电磁波的传播,FDTD 是一种基于时域的离散方法,用于求解麦克斯韦方程。然后可将结果转换为频域中的散射参数(S-Parameter)或导线阻抗。电磁场仿真为工程师提供了特定设计数据,这些数据可用于验证和优化高频 PCB 设计,并形成更紧密的反馈回路。这种基于仿真的方法可以最大限度地减少重新布线(返工)次数,从而降低成本并缩短开发时间。我们很高兴地看到,通过适当的集成,OpenEMS 提供了一个功能齐全的开源工具,可替代专有的电磁仿真软件。
处理仿真数据
要开始在硬件开发流程中使用开源 EMS,您需要以 OpenEMS 能够理解的方式表示 PCB。PCB 制造文件需要由新开发的 gerber2ems 脚本处理,然后进行仿真,以从设计中提取有用的参数,如 S 参数、阻抗等。然后,这些参数可以通过图表或绘图自动可视化,从而为硬件团队提供高速电路特性的全面概览。
有趣的是,通过将获得的输出结果导入开源的 Blender 3D 套件(https://www.blender.org/),制作出非常引人注目的可视化效果,从而创建出详细且易于分析的模拟三维动画演示,如下图所示。

使用仿真可提供一组数值,描述设计电路在信号完整性方面的准确性。这样,电路就能在生产前得到改进。该流程的自动化确保了一致的硬件测试环境,在此环境中,设计可以根据需要进行多次迭代。这种迭代流程最大程度地降低了初始电路板测试期间出现信号完整性问题的概率,增强了对设计正确性的信心,减少了对原型重新设计的需求,大大节省了整个项目的时间。
有关使用 gerber2ems 脚本和处理结果的详细说明,请参阅项目的 README(https://github.com/antmicro/gerber2ems#readme)。
使用参考 SI 测试板进行验证
Antmicro 开发了一块参考板,作为 EMS 解决方案的测试样品设备。该电路板由独立的高频导线测试案例组成,我们能够对其进行单独分析和仿真。我们还可以通过测量实物来验证仿真结果。
参考板可在GitHub 上获取(https://github.com/antmicro/signal-integrity-test-board),这意味着用户可以使用它来自行验证结果的有效性,重点关注对他们来说最重要的参数。
眼图 Eye diagrams眼图是 SI 工程师最有用的工具之一,它有助于一目了然地评估数据链路性能。它是将时域电压轨迹叠加在一起,并在信号边缘设置触发器。这样,所有可能的信号转换都可以直观地显示出来。更宽的 "眼" 意味着接收器更容易恢复时钟并正确采样数据。"眼" 睁得越大,数据链路受噪声影响的可能性就越小小。在极端情况下,"眼 "完全闭合,就无法恢复数据。
使用 gerber2ems 脚本输出和 PyBert(https://github.com/capn-freako/PyBERT),我们可以计算出信号通过通道后的眼图。下面是我们测试板上直通(左)和 stub 线路(右)的眼图对比。
利用开源工具和自动化实现设计闭环
在我们的 gerber2ems 工具的帮助下,将 OpenEMS 添加到我们的硬件设计流程中,我们就可以完成端到端开源流程的闭环,该流程用于构建复杂的 PCB。这将使我们能够协同获得在高速设计流程中检测潜在问题的能力,这对 CI 及软件驱动流程具有巨大的意义。EMS 仿真有助于更快、更可靠地开发更复杂的设计,在我们的案例中,这些设计包括 DDR4 和 DDR5 存储器、高速 FPGA 和 SoC。该项目的后续改进将侧重于通过创建脚本来提高自动化程度,从而实现自动端口放置并在必要时应用正确的端接。此外,为了提高工具的性能,我们还将进一步优化网格生成,从均匀网格转向非均匀网格,并根据仿真迹线的位置进行局部调整。这项工作将使我们能够为开放硬件门户网站(https://openhardware.antmicro.com/)上的设计提供 SI 仿真流程,为用户提供各种硬件的仿真数据。缩短硬件开发流程意味着我们可以帮助客户更快地将新产品推向市场,并通过在新的或现有的 CI 系统中实现流程自动化来提高设计的一致性。我们提供全面的 PCB 设计服务,同时还针对特定用例开发开源工具,并以类似于 openEMS 的方式调整和集成现有工具供客户使用。


+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-5-12 04:08 , Processed in 0.089511 second(s), 42 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表