玩酷网

Analog 搅动数字验证新格局

我们生活在一个模拟世界中,但模拟技术却一直尽可能地被边缘化。在某个节点上,数字技术和模拟技术必然会在每一个电子设备中融合

我们生活在一个模拟世界中,但模拟技术却一直尽可能地被边缘化。在某个节点上,数字技术和模拟技术必然会在每一个电子设备中融合,而长期以来,这正是错误容易悄然出现的一个领域。

威尔逊研究集团(Wilson Research Group)和西门子电子设计自动化(Siemens EDA)的功能验证研究长期表明,模拟信号和混合信号是导致芯片重新设计的两大主要缺陷根源。最新的调查结果显示,首次流片成功的概率急剧下降,而且这不仅仅体现在最大和最复杂的设计上。但2022年的研究还显示,在门数少于100万的专用集成电路(ASIC)中,有47% 因模拟问题而进行了重新设计。

验证的各个方面都需要重新审视,以找出可以改进的地方。

图1:2016年至2022年导致重新设计的缺陷类型

模拟设计和验证的发展速度与数字设计和验证并不相同。模拟设计一直是由专家手动完成的工作,然后移交给系统级集成团队。

西门子电子设计自动化定制集成电路产品营销主管兼高级总监萨蒂什·巴拉苏布拉马尼亚姆(Satish Balasubramanian)表示:“在过去的10年之前,模拟领域和数字领域一直是相当独立的。从那时起,我们开始看到更多的知识产权(IP)复用情况。许多模拟IP被应用于不同的系统级芯片(SoC)中,而且对产品上市时间的要求也变得更加紧迫。”

在模拟技术方面的投资远低于数字领域。弗劳恩霍夫集成电路研究所(Fraunhofer IIS)自适应系统工程部门高效电子学系主任安迪·海尼格(Andy Heinig)表示:“模拟市场比数字市场小。如果在模拟技术上投入的精力和研发资金与数字技术相同,情况可能会大不相同。如果投入相同的资金,也许模拟技术的发展会更快。”

变革势在必行。楷登电子(Cadence)系统验证小组的产品营销总监保罗·格雷科夫斯基(Paul Graykowski)表示:“对于当今的设计来说,过去的这种方法已经难以为继。以前截然不同的模拟和数字功能模块如今已经相互交织。我们不能再孤立地设计这些模块,然后把它们扔给别人去操心。如今的模拟模块,比如数字接口模拟电路(例如,带有数字校准环路的模数转换器或带有数字微调逻辑的电压调节器),需要在以数字为中心的验证流程中进行更早且更严格的验证。”

出于必要,设计正在不断演进。西门子的巴拉苏布拉马尼亚姆表示:“最重要的是,我们开始不仅将模拟IP集成到分立的集成电路中,而且更多地将其嵌入到SoC内部。并且模拟电路也在采用相同的先进工艺节点进行设计。那种只需插入一个黑匣子并认为它就能正常工作的日子已经一去不复返了。我们需要开始驱动和验证整个系统。要让整个团队达成合适的标准并非易事。”

复杂性

虽然数字器件的数量远远超过模拟器件,但模拟器件有着不同类型的复杂性。弗劳恩霍夫研究所的海尼格表示:“一般来说,模拟信号有更多的状态。它不只是0和1。这使得对某些东西进行标准化变得非常复杂,因为在0和1之间有无数个数值,而且如何对其进行建模非常复杂,并且往往非常依赖具体的应用。”

数字领域的生产力源于在模拟领域无法实现的抽象化。新思科技(Synopsys)的首席工程师戴夫·克罗瑙尔(Dave Cronauer)表示:“混合信号标准发展滞后源于模拟设计的内在复杂性,这涉及连续信号以及诸如寄生效应、噪声、环境干扰和工艺变化等复杂的物理现象,这些都使建模和验证变得复杂。将模拟与数字验证框架集成需要大量的研发投入,以弥合根本不同的领域之间的差距。”

虽然数字领域需要进行多种类型的验证,但与模拟领域相比,其验证类型仍然非常有限。海尼格表示:“对于数字领域,你进行一两种类型的仿真就可以满足所有需求。但如果你进行模拟仿真,你会有10种、15种甚至20种不同类型的模拟仿真,例如瞬态分析。所有这些仿真都有其意义,而且都是必要的。但这表明要找到一种适用于所有情况的解决方案并非易事。”

这导致了不同的验证方法。楷登电子的格雷科夫斯基表示:“许多人认为模拟验证方法落后于数字验证方法。但实际情况是,由于方法和技能的根本差异,不同的方法是出于必要而发展起来的。传统上,模拟验证在很大程度上依赖于通过SPICE级仿真进行的可视化波形检查。相比之下,数字验证采用了围绕硬件描述语言(HDL)和通用验证方法学(UVM)构建的可扩展、可复用和自动化的方法学。”

未来的变革

这种情况可能即将改变。西门子电子设计自动化的战略验证架构师、Accellera UVM-MS(混合信号通用验证方法学)和SystemVerilog-MSI(SystemVerilog混合信号接口)委员会主席汤姆·菲茨帕特里克(Tom Fitzpatrick)表示:“让设计师做出改变总是一件困难的事情。好在我们可以对一些模拟行为进行抽象。一个理解创建具有幅度和频率的事务(该事务与以太网数据包处理程序并行运行)需求的验证工程师将能够完成这类工作。为采用UVM方法定义混合信号桥接需要一些额外的工作。可能还需要一些额外的设计工作。但一旦定义完成,我们就可以利用UVM生态系统的优势。现在,使用UVM生态系统相同的基础设施,也可以开始有第三方IP来处理模拟部分的工作。我很容易预见到VIP(验证知识产权)供应商会提供模拟VIP,实际上就是一个嵌入了桥接的模拟VIP,用于提供事务类型。然后验证人员只需要说:‘我有一个可以与这个VIP一起使用的事务,它可以让模拟相关的事情得以实现。’”

随着人们对多物理场分析和其他系统级分析形式的兴趣日益浓厚,将各种事物集成到数字领域将变得越来越重要。海尼格表示:“这些其他领域与模拟领域有着相同类型的问题。目前,我们还没有看到任何能够让我们对复杂系统进行良好的功率和热仿真的标准。也许解决如此复杂的问题,或者建立标准和模型并非易事。也许在这个领域,你需要非常特定的模型和仿真工具。”

具有讽刺意味的是,半导体行业的第一个标准语言是一种模拟语言——SPICE,它创建于20世纪70年代初。人们曾尝试创建更现代和抽象的语言,比如SystemC-AMS,但结果喜忧参半。

海尼格继续说道:“SystemC-AMS标准本身是不错的,但我们面临一些问题,因为其语法和语义对于模拟设计师来说过于复杂。我们经常看到他们以错误的方式使用它,或者他们对某些东西的描述方式导致仿真耗时过长,或者得到错误的结果。对于一个模拟工程师来说,这非常困难和复杂。如果正确使用,它是有用的。我们还看到人们试图进行过多的建模,导致运行时间过长。你必须找到合适的抽象模型,但却没有相应的机制或自动化工具来帮助你。技术娴熟的工程师能够找到合适的抽象层次,但对于年轻人来说,要提高效率非常困难。这是一个艰难的学习过程。”

还有一些障碍必须克服。新思科技的克罗瑙尔表示:“创建混合信号桥接所涉及的初始工作,以及准确建模和验证复杂模拟行为所需的专业知识,可能是采用新方法的重大障碍。虽然广泛采用需要时间,但工具在支持UVM-MS方面正在取得进展,能够提供更高质量的混合信号设计验证。”

高技能模拟工程师的短缺加剧了这一问题。楷登电子的格雷科夫斯基表示:“将混合信号功能添加到SystemVerilog和UVM中花了一些时间才得以实现,因为模拟验证本质上需要在连续时间建模、精确的行为抽象以及通过实数建模(RNM)准确表示模拟特性方面的专业知识。这种复杂性导致了解这方面知识的工程师群体较小且更具专业性,减少了总体的贡献者基础,减缓了标准化工作的进程,并且常常导致出现碎片化的、特定于供应商的解决方案。”

数字工程师专注于解决自身领域的问题,这对模拟领域不利。西门子的菲茨帕特里克表示:“部分原因在于SystemVerilog领域人员的思维方式。他们不太考虑模拟领域的问题。当时的仿真引擎是不同的。十八年前,实际上没有必要将它们结合起来。曾有人尝试使用Verilog-A,最终还有Verilog-AMS,将这种抽象层次引入模拟领域,但当时的仿真引擎不同。实际上并没有必要使用单一语言来实现这一点。但现在我们正逐渐走向这样一个阶段,即仿真引擎正变得更加无缝集成。使用单一语言来实现这一点是有价值的。问题在于,这两种语言在看待问题的方式上截然不同。模拟领域一直基于基于数学的求解器,而SystemVerilog是基于事件的。试图将两者融合在一定程度上是困难的。从语言的角度来看,我们需要一种清晰定义两者之间边界的方法。这是Verilog-A领域的人员最初就意识到的问题,但SystemVerilog领域的人员当时并不在意。当时从SystemVerilog领域来看确实没有这种需求。但现在我们正在朝着这个方向发展。”

正是验证方面的形式化使得数字领域在处理复杂性方面取得了很大的进展。巴拉苏布拉马尼亚姆表示:“UVM在数字领域所做的是使验证过程更加模块化、可重复和可扩展。现在它已经开始进入模拟领域。人们一直在谈论模拟领域的矩阵驱动验证,这是我们绝对可以实现标准化的一个步骤。第二点是,模拟领域从来没有一个合适的标准。例如,每个数字仿真器都有一个DPI(直接编程接口),而没有一个模拟仿真器有DPI或者能够与其他工具进行通信的相同接口。这只是技术构建的方式。模拟领域更加复杂,而且它也采用了不同的工艺技术。”

两项新标准

数字验证的一些优势现在正扩展到混合信号领域。Accellera最近发布了混合信号通用验证方法学(UVM-MS),并且第二项标准正在制定中,已接近完成,即SystemVerilog混合信号接口(MSI)。

菲茨帕特里克表示:“UVM-MS首先是一种使用模型。你可以在你的UVM测试平台、连接的虚拟接口和被测设备(DUT)之间放置一个模块。这包括一个代理类对象,但基本上它接受UVM中的一个事务,该事务将包含对模拟生成器的指令,并将其发送到一个桥接器。在桥接器中,这些信息被用于驱动模拟信号传输到被测设备。同样,反过来,模拟电路中收集的数据由桥接器填充到事务中,然后再发送回去。从UVM的角度来看,没有任何变化。你仍然只是通过你的驱动程序与一个接口进行通信。”

这项标准可以立即采用。格雷科夫斯基表示:“Accellera工作组提供的参考UVM-MS方法学已经可以在现有工具上无需修改地运行。这种易用性极大地缩短了通常在采用新标准时会出现的差距。随着模拟设计从独立模块发展为紧密集成的模拟-数字功能,UVM-MS代表了一个及时的解决方案和必要的演进。通过弥合历史上模拟与数字之间的鸿沟,UVM-MS确保验证方法学能够跟上现代SoC设计的快速创新和日益增加的复杂性。”

第二项正在形成的标准着眼于建模方面。菲茨帕特里克表示:“我们需要对一种能够让两个领域进行通信的机制进行标准化。我们意识到,即使采用现有的使用模型,尝试处理双向信号也是困难的。一些工具采用了诸如驱动程序/接收器分离之类的方法。我们决定,为了使UVM-MS无缝运行,我们希望能够支持双向信号,这就促成了SystemVerilog-MSI的工作。

为了使其能够正常工作,必须在SystemVerilog中实现这一点,这也是Verilog-AMS长期停滞不前的真正原因。在SystemVerilog中,他们有像Connect模块这样的东西,实际上这只是一种权宜之计,而且没有人真正喜欢它们。一些供应商有自己尝试实现这一点的方法,但这并不是真正的标准。我们希望尽可能地将其纳入IEEE1800标准。通过为MSI定义一个Accellera标准,我们正在为IEEE1800标准做出明确的补充。我们不会改变IEEE1800标准中的任何内容,但我们正在对其进行扩展,这样作为一个Accellera标准,供应商就可以实现它。然后在2027年,或者无论我们何时发布下一版SystemVerilog标准IEEE1800,我们都会在那个时候将其纳入其中。我们在2023年曾尝试这样做,并提出了一个提案,但并没有真正解决所有的问题。所以我们在Accellera成立了一个小组来解决所有这些问题。”

还需要更多帮助

这是否足以提高混合信号的生产力并帮助提升质量水平呢?海尼格表示:“我们需要许多不同的模型。例如,你有不同的问题想要解答。你需要一个用于功率仿真的模型。你可能需要一个不同的用于热仿真的模型。对于行为仿真,你需要不同的抽象模型,而且能够自动构建这些模型将是非常非常好的——自动生成这些不同的模型。我们希望有一个开关,你可以通过它告诉工具如何平衡性能和抽象程度。当仿真运行速度太慢时,使模型稍微更抽象一些,这样它就可以运行得更快。‘对于我的第一次仿真,我想要一个大致的结果,但要让它运行得快一些。我知道精度比以前差了,但在开始阶段对我来说没关系。’如今,你必须自己构建模型,这会花费大量时间,而且非常困难。”

与许多新的标准、工具和模型一样,变革可能会很困难。巴拉苏布拉马尼亚姆表示:“在模拟领域,我们以前从未将其视为一个自顶向下的问题。他们在自己的模拟模块上工作,然后在某个时候,会给数字领域的人员提供一个模型,他们将其嵌入并运行。这种情况将转变为一种自顶向下的方法学。你会更早地在SoC的背景下了解模拟部分的需求。然后它会以一种更加系统的方式经过多次迭代不断演进。”

结论

在过去,模拟部分和数字部分独立开发和验证或许是可以接受的。集成可以以黑盒的方式进行。但现在情况已不再如此。它们之间的交互比过去紧密得多。在变革发生之前,语言、模型、接口、方法学和工具都必须更新,以便更轻松地以更协调的方式进行开发。

最初的变革已经在发生。该行业将如何应对,还有待观察。

原文:

https://semiengineering.com/analog-creates-ripples-in-digital-verification