中文 英语
18.luck新利
的意见

利用符号模拟进行IO验证

接口IP的复杂性使得晶体管网表视图在逻辑上与引用Verilog模型保持等效成为一个挑战。

受欢迎程度

IO库和接口ip是任何需要与外界或其他集成电路通信的集成电路设计的重要组成部分。接口ip是逻辑和电子信息流从一个集成电路到另一个集成电路的字面上的守门人,形成当今复杂的计算机系统,几乎影响着我们生活的方方面面。接口ip(例如,PCI Express、HDMI、USB、DDR、蓝牙、以太网等)为移动、AI、云计算、网络、存储和汽车应用中的芯片系统(soc)提供高吞吐量、低延迟和节能的设备到设备外部连接。虽然这些接口协议打开了连接不同计算系统的大门,但它们的复杂性带来了大量的验证挑战。在IO库的许多设计视图中,逻辑视图具有特殊的重要性。逻辑模型定义了设计的基本功能。如果没有得到最好的验证,它可能无法执行IP最初设计的最基本任务。就硅故障而言,功能损坏是设计公司可能付出的最大成本之一。

等价性挑战

在过去的几十年里,随着数字合成和相关的形式等价检查器的巨大进步,即使是最复杂和复杂的数字设计也可以几乎自动地验证Verilog模型和门级网络列表之间的逻辑等价性。逻辑等价检查器的形式化方法在验证逻辑Verilog模型与栅极级网络列表(最终到达硅层)时具有巨大的威力。它们所带来的覆盖范围和速度优势是使用这些形式化方法的设计师最欣赏的。然而,自定义电路(如接口ip)的网络列表视图是手工制作的晶体管级网络列表。几乎整个接口IP都是手动一次放置一个晶体管。在没有合成模型的情况下,自定义电路的网列表视图无法使用传统的形式化方法。由于这些自定义ip执行复杂的功能,要使这些晶体管网表视图在逻辑上等同于引用Verilog模型是一个很大的挑战。对照参考Verilog模型交叉检查SPICE网列表模型功能的传统方法之一是使用手工制作的二进制向量进行二进制模拟。然而,要设计完整而复杂的二进制向量,需要从逻辑函数的角度对设计有深刻的理解。由于接口ip在IO端口上执行非常复杂的功能,而IO端口在任何方向上都受到复杂的守门数据功能模式的影响,因此要使二进制向量跟上现代接口ip不断变化的逻辑功能需求是非常困难和容易出错的。 Moreover, it’s even harder to predict the kind of real-world scenarios to which an IP would be subjected, leaving binary simulation methods incomplete in nature. Other than the challenges of covering the entire design space for function equivalence checks, it’s a very time-consuming task to design and run binary vectors for SPICE netlists. Even with fast SPICE simulators, it can take several hours (if not days) to run binary SPICE simulations to simulate modern intricate IO designs. Long runtimes also add to debug challenges as any design update would require a long runtime before its logic effect can be measured and validated. This becomes even more challenging if design updates are made closer to tape-out dates.

符号模拟拯救:

  • 矢量无关验证:矢量无关的符号模拟克服了传统二进制模拟方法所带来的所有挑战。二进制模拟向量是由CAD和设计团队手工制作的,然而符号模拟器依赖于自动生成的符号向量,这些符号向量仅在模拟周期的一小部分就覆盖了所有二进制向量。
  • 最大核查范围:符号模拟在尽可能短的模拟运行时间内提供最佳的类覆盖。传统上,验证覆盖率依赖于二进制向量。然而,由于符号模拟器依赖于它自己的自动覆盖整个布尔逻辑空间的符号向量,因此符号模拟提供了最好的验证覆盖范围。
  • 最短模拟运行时间:传统上,覆盖是以运行时为代价的,但符号模拟方法不是这样。通常,使用SPICE模拟器在SPICE网表上运行大量二进制向量进行逻辑验证,这是一个耗时的过程。由于符号模拟器使用符号覆盖了整个布尔逻辑空间,所以它只需要循环的一小部分。对于最复杂的接口ip,一组可能需要数小时或数天的二进制模拟可以用符号模拟在几分钟内完成。
  • 减少对设计知识的依赖:符号模拟克服了对设计及其功能规范有深刻理解的要求。与矢量无关的符号模拟更进一步,测试了在设计传统二进制矢量时可能没有考虑到的现实场景的设计。
  • 顺序向量能力:现代IP运行在许多不同的模式下。传统的逻辑验证并没有涵盖所有基于二进制仿真的模式切换组合。忽略它主要是因为验证工程师可能没有考虑到现实场景中模式切换的所有组合。符号模拟器会自动完成。
  • 最强大的电源验证:二进制模拟器从内部网络的随机初始化开始。因此,无论运行多少个二进制向量,内部节点的初始状态几乎总是设置为固定的组合。然而,在现实世界中,设计中的内部网络(特别是存储节点)可能会根据不同的过程-电压-温度(PVT)条件初始化为不同的值。这种内部设计模式在上电时不同组合的巨大可能性可能会导致严重的问题,导致硅失效。符号模拟器可以很容易地捕获这样的问题,甚至内部网络节点也可以使用符号模拟器提供所有可能的布尔组合的可能性。

符号模拟技术

在符号模拟中,被测设计将逻辑符号作为输入端口的输入,而不是二进制logic_1和logic_0。逻辑符号具有logic_1和logic_0值。逻辑符号也可以设置为假定X和Z逻辑值。一旦逻辑符号应用于所有输入,逻辑模拟器计算设计的布尔函数,并将布尔方程传播到设计输出端口。设计输出端口上的布尔方程是每个输出端口上被测设计的完整的功能表示。例如,如图1所示,符号模拟器将读取SPICE网表与门,并将SPICE网表中的晶体管连通性转换为其布尔函数方程。布尔函数方程表示这些双输入与门的所有可能输入向量。符号模拟器还将Verilog模型转换为布尔方程表示。一旦计算出Verilog模型和SPICE网表的函数方程,模拟器使用形式化的数学方法来证明两个方程的函数等价。一旦通过形式化的符号模拟方法建立了等价性,从逻辑功能的角度来看,被测的两个设计被认为是彼此的精确副本。


图1

对于由大量设备组成的设计,其SPICE网络列表的布尔方程表示如图2所示。


图2

每个输出端口将承载一个符号方程,其中包含从主输入到主输出的整个逻辑路径的完整逻辑设计信息。设计中的反馈循环由工具自动捕获,以计算捕获这些反馈循环本质的符号方程。无论设计连接多么复杂,或者连接了多少个不同的晶体管来形成SPICE网表,符号模拟器总是可以将网表转换为每个输出端口的布尔函数方程。如果符号模拟器在Verilog和SPICE布尔方程的数学比较过程中不能建立形式的函数等价,那么它会智能地创建一个二进制向量,可以证明行为不匹配,运行二进制模拟并dump波形,以显示被测两个模型的行为差异。对于设计人员来说,仅少量循环的自动和受控二进制模拟非常有效,可以调试两个被测模型之间行为不匹配的根本原因。大多数接口ip的完整符号模拟可以在几分钟内完成,从而以最快的速度提供最大的设计覆盖范围。

象征性覆盖的额外价值

现在,我们已经了解了符号模拟器如何在最好的模拟运行时和最大的覆盖范围内覆盖被测试的两种设计的全部功能,让我们看看它如何进一步发现设计差异,这些差异可能被传统二进制模拟方法忽略,并在现实环境中表现为硅故障。现代接口ip必须迎合我们使用设备的不断增长、复杂的现实环境(例如,移动、企业计算资源、汽车、人工智能和云计算应用程序)。这是非常困难的,如果不是不可能的话,预测所有可能的二进制向量,不仅可以在一种模式下测试设计,而且可以在设计从一种模式切换到另一种模式时测试设计的行为。即使是构想产品的产品工程师也不能完全预测他们的设计将在现实世界中使用的环境。当ip从一种工作模式转换到另一种工作模式时,SPICE网表(或硅)的行为与用于设计和集成soc的Verilog模型完全一致是非常重要的,Verilog模型用于设计和集成soc,使soc在所有工作模式下都能正常工作。符号模拟器克服了这一巨大的挑战,它在自动验证逻辑序列方面具有无与伦比的影响力,而无需对设计有任何深刻的理解。布尔方程表示给定循环的设计逻辑函数。然而,如果运行多个符号循环,那么每个循环都代表从一种操作模式到另一种操作模式的复杂切换。


图3

这是符号模拟器最强大的特性之一。它不仅建立了两个被测模型的完全等价性,还自动提供不匹配的顺序模式转换检查,而无需编写单个手工制作的二进制向量。

符号模拟的另一个非常高级和强大的特性是它独特的捕捉电源问题的能力。基于多个PVT因素,内部设计节点,特别是状态节点,可以供电到随机逻辑状态。这些随机的逻辑状态有时会相互冲突,导致逻辑或电源接地短路。这样的情况甚至会导致内部循环被锁住,以致死锁无法在设计范围内消除,从而使整个硅变得无用。这样的硅故障成本至少可以说是灾难性的。符号模拟器能够以这样一种方式播种内部网络,从而可以测试这些内部网络的所有可能的增强组合。符号模拟器可以在包含少量模拟循环的单个模拟中初始化和测试所有通电场景。

低功耗鲁棒性

虽然功能等效性检查是接口IP需要通过的最基本检查,但符号模拟器可以通过更多方式增加设计的鲁棒性。随着手持设备无处不在,它们需要通过无线通信通道进行内部通信和与外部世界通信,集成电路上每个块的低功耗比以往任何时候都更加重要——IOs或接口ip也不例外。虽然接口ip需要提供无缝的功能功能,但当信号从低电压核心流向高电压接口时,它们还需要在多个电压下工作,反之亦然。如今复杂的IOs系统满足了这些非常复杂的电源管理操作模式和基本功能。由于这些复杂的电源管理和电源运行模式,捕获低功耗问题变得非常关键。图4显示了这些功率问题的一些例子(例如,缺少电平转换器、功率圆短路、潜行路径、未驱动门等)。


图4

这些非cmos逻辑相关的功率/接地问题可能出现在设计层次的较低位置,并且很难用传统的二进制矢量方法捕捉到,因为显示问题所需的二进制矢量可能从未应用过。传统上,设计师需要手工制作细致的二进制向量来挖掘隐藏的和角落情况下的低功耗问题。由于符号模拟器不依赖于用户来创建它的向量,并且网络列表中每个网络上的符号布尔方程都有关于网络可能导致当前消耗激增的功能场景的完整信息,因此可以轻松捕获这种额外的功耗情况。这些低功耗问题可以使用矢量无关的符号模拟器来捕捉,而用户无需深入了解操作的电源管理模式。

结论

对摩尔定律和人类智慧的不懈追求将继续给SoC和接口IP设计带来不可预见的挑战。尖端技术使我们有可能拓展我们的设计视野,实现更复杂的逻辑设计。这些追求将继续为自定义接口ip的逻辑验证带来更大的挑战。符号仿真技术为接口ip的逻辑验证工程师所面临的大量技术挑战提供了独特而强大的解决方案。

Synopsys ESP解决方案为全定制设计提供了高质量的等效性检查。ESP提供了快速和广泛的覆盖范围,使用户能够快速发现错误,并有信心Verilog参考设计在功能上与其他Verilog模型或其晶体管级实现相同。

要了解更多关于ESP如何帮助您的SoC和接口IP设计的信息,请访问Synopsys对此网站



留下回复


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

Baidu