中文 英语
系统与设计
的意见

为你的数字双胞胎选择正确的模型保真度

自动地为给定的任务开发最合适的模型及其保真度仍然是一个挑战。

受欢迎程度

EDA行业在创新的推动下突飞猛进。每当我们接近一个新的技术节点时,许多算法都必须重新想象。作为已故的吉姆·雷迪经常向我指出在美国,与软件开发的世界相比,这些半导体技术的变化在硬件上相当于Fred Brooks在他的开创性文章“没有银弹-软件工程中的本质和意外”中所说的“本质”变化。它们破坏了发展方法,我们需要解决这些问题。当然,半导体的进步使我们日常电子产品的复杂性迅速增长,成本降低。

最新的创新开发方法包括使用机器学习(ML)来进一步提高生产力。它们在整个气流中无处不在,从ML-optimized模拟而且形式验证,通过实现图书馆的特征制造设计(DFM),PCB板设计.虽然最初的努力在某种程度上是隐藏在内部的,但最近的进步捕获了操作设计流程的工程师的专门知识,并使用云中的可用计算能力使他们的工作更加富有成效。我们通常将它们分别称为ML-inside和ML-outside。保罗·麦克莱伦很好地总结了最近的一些进展在这里而且在这里

我们正处于机器学习在EDA中将实现的进步的开端。这个过程让我想起了我们在上世纪90年代所说的参数扫描,用于架构优化,其中的巧妙之处不仅仅是以暴力的方式运行所有选项,而是使用强化学习来了解何时停止一种方法,以及如何优化下一次运行的参数集。

那么,架构设计和它所需要的底层模型呢?

最近,我发现自己参与了越来越多关于数字双胞胎的讨论。在对话中,问题的范围有多重要,这一点很快就会变得非常清楚。例如,与我们在航空航天和国防领域的合作伙伴,有时需要花费大量时间就考虑整个飞机、子系统或底层芯片和软件之间的差异进行讨论。

我经常用经典的v型图来讨论F-35的复杂性,它可以说是最复杂的单片“系统中的系统”之一。它由1600家供应商生产的20万个部件组成,包含3500个集成电路和200个不同的芯片,还有超过2000万行软件代码。因此,设计人员要面对复杂的硬件/软件交互,以及系统层面上跨越多个领域(机械、电子、热等)的交互。反对者!

爱立信(Ericsson)的安德斯•福森(Anders Forsen)在上世纪90年代末的一次讨论中经常向我指出Felix系统设计计划“记住,你看似复杂的设计只是一个更大系统的一部分。”安德斯是一名移动网络专家,他纠正了我对手机复杂的假设。尽管F-35战斗机非常复杂,但它“仅仅”是其复杂得多的系统环境中的一个部件。

这种效果在上面的v型图中用“设计、划分、细化”和“验证、验证、集成”的连续循环来说明。作为一个产业,我们正在建设用于各种用途的数字双胞胎.我们常常忽略了它们的范围和回答特定问题所需的忠诚度。我们可能还没有足够的计算能力来对整个飞机进行建模,以达到子系统和芯片级任务所需的精度,比如芯片本身。仿真、虚拟和物理原型是支持芯片和系统软件开发的很好的工具。由于各种原因,在这种精度水平上对整个飞机建模是不可行的。整体的复杂性是一个,但是,所需的Verilog或VHDL的可用性也会阻碍事情的发展。

这就是模型抽象的用武之地。网格模型支持计算流体动力学(CFD),适用于整个飞机,但可以抽象内部的电子设备。芯片中硬件块的事务级模型经常“抽象”出详细的时间信息。令人着迷的是,到目前为止,所有的尝试都未能自动从更详细的抽象中创建更抽象的模型。相反,综合部分只在有约束的情况下被“解决”。C/ c++中适合高级综合的高级模型与在系统模拟环境中快速执行的模型仍然有本质上的不同。悲剧的结果是,当同一个“对象”存在两个模型时,几乎可以肯定其中一个模型存在缺陷,而另一个模型则不存在缺陷。

因此,混合设置是当今最好的方法,为系统模拟和数字双胞胎混合保真水平。它们只将影响功能的部分设计保持在更精确的水平上,而将系统的其余部分表示为更抽象的模型。为给定的任务开发和选择最合适的模型及其保真度,无论是数字双胞胎还是硬件-软件验证,无论是热分析还是计算流体动力学,都是一项尚未自动化的任务。

顺便说一下,业界也试图将ML技术应用于“软件开发的硬件模型抽象”的挑战,到目前为止,据我与合作伙伴的讨论所知,成功程度一般。以这种方式创建的模型将适用于其训练数据集范围内的情况,但对于未经训练的情况将有大量的外围行为。

让我们庆祝行业在将ML应用于EDA方面所取得的突破。这只是一个开始,还没有被发现的领域,比如抽象模型的创建。为我们21人的工作安全干杯世纪工程师!



留下回复


(注:此名称将公开显示)

Baidu