如果您希望可以时常见面,欢迎标星收藏哦~
软件定义硬件可能是最终的左移方法,因为芯片设计比以往任何时候都更接近真正的协同设计,潜在容量嵌入硬件,更强大的功能通过无线或软件更新提供。这标志着追求更低功耗的又一进步,这一进步具有革命性,颠覆了基于模型的系统工程 的传统观念。
Arteris产品管理与战略营销高级总监 Guillaume Boillet 表示:“软件定义硬件是 ASIC 与 FPGA 设计的中间点。对于需要经常重新配置计算的场景,这是一种特别有吸引力的解决方案。它的使用在算法快速发展的领域特别有吸引力。如今,它对于国防、物联网和人工智能应用也非常重要。”
传统上,软件和硬件是分开开发的,然后集成在一起。软件定义硬件从设计过程一开始就解决了集成问题。软件定义系统所需的功能,而硅片必须具有足够的可塑性,以便设计团队针对该功能优化硬件。
西门子 EDA营销总监 Neil Hand 表示:“在现代软件定义产品中,算法几乎定义了电子和物理系统的各个方面。在信息物理系统中,软件决定硬件选择、电子选择,决定一切。从最早期的系统架构开始,EDA 就有助于量化算法分解为物理系统和电子系统的过程。然后,当你分解电子部分时,你会看到合成工作负载,以了解要做出的选择。”
这为芯片架构的更多定制和优化打开了大门,这对于日益特定于领域和异构性的前沿设计来说尤为必要。Cadence 产品管理总监 Rob Knoth 表示:“现在,您可以在软件定义的环境中完成以前不可能完成的任务。您可以对新情况做出反应,并添加最初未计划的功能,这非常强大。”
向左转,转变思维方式
在这个新世界里,需要转变的不仅仅是设计规划。据《消费者报告》报道,汽车的平均寿命现在已达到 20 万英里。
Arteris 的 Boillet 表示:“延长的消费产品升级周期和长达十年的汽车电子产品使用寿命无疑推动了 SDH 方法的采用。”
事实上,汽车行业正在从软件和硬件生命周期都很短的思维模式转变为更倾向于太空/军事思维模式,硬件升级成本高昂,不容小觑。普通消费者不太可能仅仅因为制造商试图推动 ADAS 升级而购买新车。
Hand 表示:“如果有必要,你可以更换一张卡,这样设备就可以拥有一个新接口,而不必改变网络堆栈。例如,在汽车中,你可以更新其中一个 ECU,使其更强大。事实上,你甚至可以看到一些已经上市的特斯拉汽车,虽然全自动驾驶硬件需要硬件更新,但它仍然是一个软件定义的系统。”
但消费者会去经销商处升级硬件多少次?这可能是一个没有实际意义的问题,因为也有证据表明,电气化程度的提高可能会缩短汽车的使用寿命。这就是软件定义架构的优势显而易见的地方。
“你不必购买一辆全新的汽车,只需支付订阅费即可解锁新功能,”诺斯说。“想想这对制造总成本的影响。如果制造商不必在仓库中维护库存单位,它可以带来大量利润,同时还可以减少对环境的影响,因为消费者不会扔掉旧设备,而且它可以更好地工作。随着算法根据来自道路上更多汽车的更多训练数据变得更加智能,安全性将远远超过购买汽车时的水平。”
另一个问题,尤其是出于安全考虑,是广泛而迅速的采用。担心成千上万的消费者在零日漏洞出现之前没有升级浏览器是一回事。而担心成千上万的车主没有进行软件/硬件维护检查则是另一回事。
“如果你的设备是软件定义的,那么就意味着可以非常私密地访问操作该设备的所有功能,包括允许无线更新来重新编程,”诺斯说。“你必须在每一步都考虑安全性,因为你刚刚打开了一个巨大的后门。”
不过,软件定义硬件的安全性缺点可能与安全性优点相匹配。“你可以对最初没有计划的新功能做出反应。随着算法基于来自道路上更多汽车的更多训练数据而变得更加智能,安全系统可以超越消费者购买汽车时的水平,”诺斯说。
整个生态系统的设计决策
从开发的角度来看,设计选择必须超越仅仅平衡硬件/软件的权衡,还要考虑机械问题。“例如,你的汽车有紧急制动或防行人制动功能,”Hand 说。“如果你构建了该设计的数字孪生,并且在测试它时发现你将错过一米的制动距离 - 并且汽车现在停在碰撞测试假人上而不是停下来 - 你有很多选择。你可以使用更大的刹车、更强的液压系统、更快的执行器,甚至更好的传感器和更快的计算速度来节省这几毫秒。这成为一种权衡,并且该设计环境的整个生态系统需要共同努力来找到最有效的解决方案,因为结果可能表明它最好通过机械方式解决,而不是通过软件或硬件。”
这种方法在半导体行业并不罕见,但在其他行业可能会有截然不同的看法。“许多机械系统公司才刚刚开始学习更多我们半导体行业认为理所当然的技术,”Knoth 说。“我们生产的系统在相互作用上极其复杂,我们能够在制造之前模拟所有这些。如果你是一个物理系统的制造商,并且想要开始向左移动,那么你就需要在设计过程的早期就拥有更多可用的东西,并使用更多的辅助工具,例如 CFD 建模和数字孪生。这些行业还有很多东西需要比传统行业更早成熟,这会让事情变得极具挑战性。你将在一个以前从未需要过的系统中增加大量的成本、复杂性和风险。”
这也意味着要重新考虑可靠性,这可能需要更多的自我监控来检测设备中的问题,而这些设备的使用寿命可以通过软件更新延长。这利用了一些为容错汽车硬件开发的技术,并使用人工智能进行预测性维护。
“你持有某件物品的时间越长,可靠性就越令人担忧,”诺斯说。“此外,物品的安全要求越高,可靠性就越令人担忧。因此,随着电子产品越来越普及——无论是进入自动驾驶汽车或工业自动化等更安全的应用领域,还是你担心电子垃圾并试图让人们更长时间地持有他们的设备——你就越需要考虑可靠性。虽然软件定义的趋势似乎会使可靠性变得更糟,但它实际上可以有所帮助,因为你现在假设产品将使用更长时间。设备上的软件可以收集和利用数据,在设备可能磨损时向你发出早期警告,并主动提供有关维护的信息,或者关闭一些可能看起来像它们所运行的硬件开始磨损的功能。消费者可能不会得到那么多花哨的功能,但核心设备仍然可以工作。我们已与该领域的一些合作伙伴展开合作,利用设备上的传感器、轻量级智能产品诊断和人工智能来帮助感知数据中的模式。所有这些都有助于尽可能地防止可靠性问题。”
可靠性和可扩展性需要进行非平凡的设计计算,以确定哪些是有用的额外功能,哪些只是浪费的过度设计。数字孪生可以在这方面提供帮助,因为它们允许交互式建模和更新。芯片组也可以通过提供模块化和灵活性来实现这一点。如今,基于芯片组的参考流程和设计允许进行更多模块化系统架构探索,包括创建软件数字孪生,以便可以利用更多的模拟、软件开发、软件测试和其他技术。
以喷气发动机为例。“数字孪生意味着每个具有特定序列号的特定发动机在总部都有一个模型在运行,” Ansys产品营销总监 Marc Swinnen 解释道。“每次飞机起飞和降落时,所有这些信息都会被发回并输入到模型中,因此他们可以根据飞机飞行的频率和飞行条件预测发动机何时出现故障。”
在软件定义的硬件环境中,该信息可用于创建无线更新。
这就是软件定义硬件在汽车设计中如此突出的原因之一。“在 2024 年汽车计算大会上,梅赛德斯展示了‘自动驾驶单元’的概念,这是一种摆脱传统计算块组装、充分利用异构架构的方法,”Synopsys 战略项目、系统解决方案执行总监 Frank Schirrmeister表示。
它还增加了对嵌入式 FPGA 技术的关注。“在最近的 Chiplet 峰会上,讨论的重点是保留一些协议层、片上网络 (NoC) 适配器和 Chiplet 的 eFPGA 区域中的一些实际功能,”Schirrmeister 说。“其中一个原因是在快速发展的 Chiplet 接口环境中面向未来,将最终配置留给软件。时间会证明一切。”
随着技术的不断发展,基于芯片的参考流程和设计已经能够进行更加模块化的系统架构探索,包括创建软件数字孪生,以便执行更多的模拟、软件开发、软件测试和其他技术。
Boillet 表示:“如果多芯片生态系统蓬勃发展的愿景成为现实,那么可以期待主流芯片作为软件定义的硬件构建模块以及相关的软件可重构解决方案的出现。这可能会加速领先解决方案的标准化。”
重新思考 MBSE
向软件定义硬件的转变也引发了人们对传统 MBSE 的重新思考。
“如今基于模型的系统工程已经不再适用,因为软件组件的兴起,”西门子的 Hand 说道。“我们将其称为‘基于模型的电子系统工程’,因为电子概念处于堆栈的顶部。它不再是分解。它是所有不同系统的持续协同设计,因为任何变化都可能影响任何其他系统,你无法忽略它们。如果你等到进行传统的分解、实施、集成和测试,那就太晚了。”
在基于模型的系统中,设计汽车的设计师知道需要哪些组件、参数和其他硬件/性能要求,所有这些都可以通过系统建模软件进行跟踪。有了这些标准元素以及特定要求,设计师就可以决定所需的组件,并对其功能及其如何融入整个系统做出黑箱假设。
Hand 表示:“传统上,在系统设计中,你要确保满足需求,只要满足了,世界就会变得美好。但在软件定义硬件的新现实中,当软件组件过多时,这个过程就会开始崩溃。现在,你要在流程的后期将软件与硬件集成,只有那时你才能意识到问题。但如果你只是在飞机无法正确控制表面时才意识到问题,那么抽象就是行不通的。在软件定义的系统中,需求本身会驱动一组系统管理需求,这些需求遍布整个设备。这反过来可能会带来额外的系统管理需求。例如,汽车有电池管理,它有控制电池的电子设备,然后影响电池本身,进而影响封装,进而影响底盘设计。电池管理中的软件细微变化可能会直接影响底盘设计,因此你不能再抽象低级模块,因为低级模块的变化可能会改变顶级设计要求。”
为了解决这一新挑战,电子工程必须同时连接所有这些领域。“你不能将它们串行化,”汉德说。它们都在并行工作,但你必须将它们重新组合在一起。当你开始进入这些基于模型的电子系统时,你会从平台到计算再到 3D-IC 进行分解,你需要一种方法来将需求一直推下去,同时确保项目仍然按预期运行。你有一个架构模型,它是你的黄金模型,然后进入一组需求和参数,我们称之为验证捕获点。然后,当你向下推时,它们保持一致。但你检查的是层次特定的。
因此,你可以开始接受这样的想法:“无论我在测试什么,它都会插入这个整体建模环境,这使我们能够了解我们在任何给定点的位置以及整个系统是如何组合在一起的。” Cybertronic 系统的理念是,软件、硬件、电气系统、机械系统和多领域物理的融合将推动系统的发展,你必须开始全面审视它们。你可以通过构建数字孪生来实现这一点。一旦你有了数字孪生,你就需要跨多个领域进行验证可追溯性。这是跨所有不同系统的持续协同设计,因为任何变化都可能影响任何其他系统,你不能忽略它们。如果你等待按照传统顺序执行传统步骤,那就太晚了。”
数据管理及其他影响
将所有这些领域联系在一起的是数据,这就引出了数据管理的世界。“如果我要验证 2,000 个需求,那么有些需求我可以在模拟中验证,但无法在硬件测试中验证,因为我无法探测硬件芯片的每个点,”Keysight 新机遇业务经理 Chris Mueth 说。“这很昂贵。有些东西在硬件测试领域进行验证更有意义,因为模拟需要很长时间。因此,大多数验证程序都具备这两个元素,它们从中取出一部分数据,试图将数据拼凑在一起并使其有意义。他们还希望做的是将所有东西都推到左边,并在设计验证中做更多工作,因为一旦开始制造某些东西,成本就很昂贵。根据我们进行的调查,大约 95% 的受访客户表示他们希望将设计和硬件测试结果关联在一起,但现在他们要处理一组指数级的数据。在这两个空间之间,当你将这个过程数字化并进入虚拟硬件世界时,你会通过工作流以数字状态传递需求、计划、流程和 IP。当你回来时,你会从模拟、测试中得到大量结果数据,你正在进行分析和建模。这些东西会飞回到虚拟状态来更新这些系统。”
下游人员能用这些数据做什么?“一部分是更新这些模型,”Mueth 说。“另一部分是关联并确保我的设计和测试结果匹配。如果它们不匹配,我就会遇到大麻烦。要么是我没有正确建模,要么是设计出了问题,我最好弄清楚。我们有许多客户表示,如果他们错过了关联,他们会停止整个流程,直到他们弄清楚发生了什么。所以这一点非常重要。然后,将这些事情联系在一起,你可以通过工程生命周期管理来完成,并跨不同层进行工作。在任务级别,我可能会处理任务的功能需求,‘如果我的通话在给定的通信场景中中断怎么办?’而在很多 EDA 公司参与的子系统领域,他们大多会说,‘给我电气或机械要求,我会模拟它。’这是一个层次结构堆栈,它跨不同领域工作。对于系统中的数据分析,您需要处理多个学科,包括机械、软件、电气。在那里生成和收集的所有数据都需要进行分析。”
还有其他问题需要考虑。“从历史上看,有多个专有计划进行硬件/软件协同设计,”Boillet 说。“今天,随着对称多处理和可配置指令集扩展的出现,越来越多的主流流程正在出现,以使硬件适应软件工作负载。在电子复兴计划 (ERI) 的背景下,DARPA 也为如何实现软件定义的硬件做出了贡献。一般来说,最终的设计是巨大的处理器结构,这些结构需要高度可配置的互连。”
还有一个重要因素也不容忽视。“软件定义的硬件可配置性也会影响在重新定义的硬件上执行的软件,”Schirrmeister 说。“在某种程度上,这两项都需要稳定并相互配合。因此,更有效地更新和管理所需的硬件抽象层将成为一个重要主题。”
结论
最好通过结合半导体知识和领域知识来解决软件定义硬件的挑战,并可以借鉴众多制造商的其他方法。
“我们都积极地想要解决这个问题。如果你在汽车 OEM 工作,你不必自己想办法。你可以看看其他行业,”Knoth 说。“这不是一件小事,但对于设计挑战来说,这是一个令人着迷的领域。这是一个美丽的问题,因为计算系统、线束、传感器,所有这些都会在整个应用程序中产生连锁反应。而且,你需要一个非常精准的水晶球才能知道你在哪些方面是面向未来的,哪些方面只是在提高汽车的成本。”
点这里加关注,锁定更多原创内容
今天是《半导体行业观察》为您分享的第3791期内容,欢迎关注。
『半导体第一垂直媒体』
实时 专业 原创 深度
公众号ID:icbank
喜欢我们的内容就点“在看”分享给小伙伴哦