中文 英语
知识中心
导航
知识中心

便携式刺激(PSS)

硬件验证语言(Hardware Verification Language, PSS)是由Accellera定义的,用于半导体设计中建模验证意图。
受欢迎程度

描述

Portable Stimulus是一种验证语言Accellera.它用于对验证意图建模。最初版本于2018年6月发布。这个名字让很多人感到困惑,因为它描述的是它最初的用途,而不是它实际的用途。由于这种混淆,便携式刺激通常被称为PSS。最初的应用程序是移植atestbench从一个模拟器到一个模拟器.然而,测试平台并不是可移植的;而PSS是验证模型,可以合成到一个试验台,目标是模拟或仿真。可以针对许多其他验证任务合成引擎。

该标准基于图形的数学概念。图包含原子操作和每个操作需要或生成的数据。操作由数据流连接,这些数据流定义了数据如何传输,例如被缓冲或流化。操作可以组合成更复杂的操作,这些操作可以定义顺序操作或并发操作。一个可用的图形至少定义了一个贯穿设计的路径。图可以增量地构建。

定义了两种输入语言。第一种是特定于领域的语言(DSL),它使其尽可能类似于现有的验证语言,例如SystemVerilog.第二种是c++与运行时库的结合。然而,与SystemVerilog和c++不同的是,该语言主要以声明式而不是过程式的方式使用。这两种语言定义了相同的语义。虽然许多供应商工具都有图形输入或输出形式的图形,但这并不是由标准定义的。DSL和c++可以自由地混合,并且应该在供应商之间可移植。

即使使用c++作为输入语言,创建的也是模型,而不是可执行文件。这与编写设计描述非常相似。该模型需要一个模拟器或综合引擎来读取它并对其执行操作。PSS也是如此。该语言创建一个模型。标准中没有定义的验证综合引擎读取该模型并生成可能针对抽象和执行引擎数组的测试工作台。

PSS验证方法与之前的验证方法之间的主要区别是图定义了整个设计的完整路径。虽然合成引擎可以在图中选择随机路径,但它们总是会形成完整的场景。该图还定义了覆盖的概念,如果所有路径都已执行,那么所有定义的操作都已涉及验证。覆盖率的概念在测试实际运行之前就已经知道了。此外,图形操作可以定义它们的预期结果,这些结果可以在设计执行期间进行检查,这意味着图形是一个完整的验证模型。这与SystemVerilog和UVM不同,后者对每个验证组件都有单独的模型:刺激、检查器和覆盖。

虽然该标准没有定义任何关于合成引擎的功能,但它的某些方面是所有供应商工具所期望的行为。首先是运作模式。SystemVerilog/UVM求解器与模拟器同步运行。在每一步,随着设计的推进,它回到刺激求解器以获得下一个输入向量。PSS可以在这种模式下运行,尽管PSS合成引擎有能力提前生成整个测试。PSS解决方案可能仍然需要一个轻量级引擎,可以将预先生成的刺激输入到设计中,并协调设计端口上的活动。

第二个基本选择是在哪里运行测试。如果设计包含一个或多个处理器,那么合成引擎可以生成将在这些处理器上执行的代码。当不存在处理器时,使用事务性方法将刺激输入。在许多情况下,将使用两者的组合。与设计的事务交互可能通过UVM验证IP模型进行。


多媒体

为什么PSS如此重要


相关的实体


相关技术

Baidu