公众号记得加星标⭐️,第一时间看推送不会错过。

在我(指代本文作者Brian Bailey,下同)最近撰写关于代理(agentic)验证的文章时,西门子EDA高级副总裁兼总经理Abhi Kolpekwar的一句话让我印象深刻。他当时谈到,当验证工程师开始要求代理执行原本属于其工作范围的任务时,就会产生额外的token成本。
“要考虑总体拥有成本,”他说。“这样才能用最少的硬件投入,最大限度地提高流程效率。”
这并非验证团队第一次需要彻底重塑方法论并评估新技术是否具有成本效益。在我职业生涯初期,测试用例生成是业界的一项重要任务。虽然当时也使用逻辑仿真器,但其目标主要集中在制造测试上——如何高效地生成最少数量的测试向量,以实现对被测器件的最大覆盖率。
每增加一个向量,测试时间就会延长,这直接增加了成本。每缺少一个向量,就意味着存在逃逸的可能性,这会影响你的可信度。当时的电路设计与今天的电路相比非常小巧,而且所有电路都是以门级原理图的形式开发的。我记得当时的房间里,墙上贴满了大幅的电路原理图,输出端和门附近插着引脚,彩色的线用来标记路径和激活状态。他们知道需要一种更好的方法,但回溯算法才刚刚兴起,模拟器运行缓慢,建模语言也尚未标准化。
我曾参与开发最早一批面向新兴半导体行业的仿真器。它既具备逻辑仿真能力,又拥有首个寄存器传输级语言(RTL),与Verilog仅一步之遥,只需编写一个SED脚本即可。尽管它革新了行业的某个方面,但仍然依赖于需要手动创建的向量。此外,它还提供了故障仿真器和一些基本的测试用例生成功能。这些算法仅对少数逻辑层有效,因此从未成为行业标准。
定向测试通常由人工生成,它包含一组输入向量和一组输出向量,用于与设计输出进行比较。每次设计变更,所有测试都必须手动更新。时序或行为都可能发生改变。设计变更后失败的每一个测试都必须手动重写。这非常耗时。
大约五年后,Sun Microsystems发布了随机测试模式生成器的代码,一家初创公司(我记得好像叫Silicon Solutions——如果我记错了请指正)将其产品化,并由此引发了验证行业的大规模变革。这种变革以牺牲验证工程师的时间为代价,换取了更多的计算时间。这项技术逐渐演变成了SystemVerilog和UVM。如今,验证工程师的工作包括创建向量生成规则集、预测设计输出的模型以及确保程序正常运行的检查器。由于当时并不清楚每个自动生成的测试用例的具体执行情况,因此需要开发一个覆盖率模型来跟踪实际执行的测试用例数量。
在我看来,UVM 和 SystemVerilog 的效率极低,而且这项技术的发展方向也远未达到应有的水平。向量约束本质上只是组合约束而非顺序约束,因此生成了大量无用的测试用例。此外,生成器与仿真器实时运行,虽然这确保了生成的内容与检查和报告的内容始终保持一致,但也意味着每次仿真都会被拖慢速度。在早期,这种拖慢速度的比例通常超过 2:1。
然而,最终的投资回报率令人满意。当时,人们都在议论验证工程师会因此失业,但实际上并没有人失业。设计规模增长如此迅速,以至于需要进行的验证工作也越来越多。事实上,验证工程师变得更加抢手,因为他们现在成了专家。你必须掌握更多语言、库和方法论的使用方法。
我们现在正处于下一轮变革的初期。验证代理程序能够自动完成验证工作的更多部分。这同样意味着将人力资源转移到额外的计算资源上,而这种做法的投资回报率需要评估。随着人工智能的飞速发展以及支撑其运行所需的计算资源的激增,许多数据中心组件制造商都财源滚滚,而快速抢占市场正是它们保持竞争优势的关键。我怀疑它们中有多少人会抱怨增加的计算成本,尤其是在它们大多使用自有硬件的情况下。
但整个行业的情况又如何呢?许多人表示,如果他们不迅速采用智能体解决方案,就会落后并被取代。或许如此。
那么验证工程师呢?虽然我会在接下来的几个月里更详细地探讨这个问题,但验证工程师之所以成为专家,其某些特质可能正在逐渐消失。如果他们现在只需用英语指示代理人执行指令,而不再需要编写代码,那么他们的工作还有哪些门槛?经验仍然重要——甚至可能更加重要,但如何才能获得必要的经验呢?工程师如何才能达到能够有效使用新解决方案的水平?新解决方案能否涵盖经验丰富的验证工程师的知识?如果可以,那么现在任何人都能胜任这项工作吗?
未来永远无法确定,但可以肯定的是,在我有生之年,验证工程师的角色从未经历过如此巨大的变革,而这实际上意味着在整个行业的生命周期中,验证工程师的角色从未经历过如此巨大的变革。
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
END
今天是《半导体行业观察》为您分享的第4432内容,欢迎关注。
推荐阅读
★
★
★
★
★
★
★
★

加星标⭐️第一时间看推送


