西门子宣传盖蒂656972352

使用UVM回调验证基于包的协议设计中的断言

2020年7月1日
当多个断言必须在PCIe和其他基于包的协议设计中进行验证时,UVM回调可以帮助节省时间。

断言为整个设计和验证周期带来了直接的好处。为了在验证周期中有效地使用断言,需要使用断言来检查合法的设计行为,并且在设计中遇到非法行为时必须触发断言。

当需要验证大量断言是否在非法的情况下触发时,回调机制对于创建这些场景特别有效。这是因为它们只需要对测试台环境进行最少的更新,并尽量减少创建验证断言的复杂场景的工作量。

根据定义,回调机制或函数是一个“后调用”函数,它改变了原始函数调用的意图。回调是功能验证中使用的一种常见机制,用于修改序列项的原始内容,以诱发所需的场景。这使得在选择哪个特定的序列项被破坏,以及在测试中,为了对设计进行压力测试,有多少这样的破坏发生时,可以进行更动态和更细粒度的控制。由于回调允许轻松创建微妙和复杂的刺激创建,它们是断言验证的工具。

本文描述了在验证IP中实现的回调如何在使用PCIe和其他基于包的协议的设计中用于断言验证。

断言验证通常是验证IP开发周期的一个组成部分(图1).第一步涉及到对断言编码。第二步通过创建场景来验证断言,该场景将充分执行断言,以确保它们不会在预期的设计行为下触发,而是在错误的场景下触发。


回调在场景生成步骤中非常有用,因为验证工程师不需要编写额外的测试。相反,它们使回调能够修改原始刺激以创建有趣的场景。这可以通过简单地扩展回调类来覆盖虚方法来实现:

do_callback(…)
当一个序列项被总线函数模型(BFM)执行时调用。这在基于包的协议中特别有用,比如PCIe,其中包字段需要被破坏,回调提供了细粒度的控制来做到这一点。

验证工程师的工作是确保断言在每个相关场景中都得到验证。当通过操作序列项的字段或以不允许的状态初始化序列项来执行断言验证时,回调可能非常重要。回调通过在UVM测试台中为此类操作提供整个结构,从而加快了断言验证的速度,并且只需要最少的更新,并且不需要与负责生成序列项的现有序列进行交互。

对于像PCIe这样的分层协议,发送器和接收器元素之间的通信是通过称为包的结构进行的,使用回调进行断言验证可以显著提高有效性。使用验证IP,包信息可以通过回调修改,所有基于包的断言都可以通过使用这个机制轻松地验证。现在,让我们从每个事务、数据链路和物理层数据包来看一个场景。

案例1:基于事务层的回调

发生在设备核心的高级事务称为事务层数据包(TLPs)。验证IP,例如Questa验证IP,允许修改TLP的所有字段(包括请求和完成TLP)。如果用户想验证与TLP字段相关的断言,他们可以通过回调破坏TLP字段来实现。

例如,PCIe协议声明,对于“长度= 1 DW”的请求,最后字节Enable字段的值应该为0;其中Last Byte Enable是请求的最后一个DWORD的Byte Enable值。在模拟中,如果用户想要将这个错误注入到每个长度为1 DW的内存写包中,那么他们可以这样做,如图所示图2


案例2:基于数据链路层的回调

DLLPs (Data link layer packet)用于各种目的,如确保TLPs的完整性、流量控制和电源管理。就像tlp一样,回调可以用来在dllp中注入错误。例如,lcrc用于检查tlp和dllp的数据完整性。lcrc在TLP中被附加到DLL (data link layer)。如果包的lcrc值与计算值不一致,则违反了协议。可以验证这种不正确的行为或断言触发(图3)


案例3:基于物理层的回调

也许最有效的回调使用来自于修改有序的set字段。在dllp和tlp的情况下,一旦实现连接,一个包仍然可以通过序列执行。但是,在连接之前使用序列将错误注入到一个有序集可能更复杂,也更容易出错,因为有序集规则会随着每个LTSSM(链接训练和状态机)状态而改变。

另一方面,回调允许用户以一种更可控的方式注入错误。例如,如果一个控制SKP命令集要代替TS2操作系统发送,可以很容易地使用回调。因此,这个无效的协议场景可以很容易地通过回调进行验证(图4)


可以看到,当需要验证大量断言时,回调可以确保工程师不必为每个场景编写新的序列,从而节省时间。回调允许轻松地创建微妙和复杂的刺激,因此是断言验证的工具。

Akshay Sarup是CXL和PCI的产品工程师,Mark Olen是公司ICVS部门的产品营销组经理导师,西门子企业

从我们的合作伙伴

PMP40681

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

定制您的PMIC秒

我们的pmic易于使用,并减少了功耗设计的尺寸,我们现在为任何处理器或应用提供它们。我们的“DIY”pmic,…

欢迎来到边缘

随着嵌入式网络设备成本的下降——以树莓派为例——它们变得无处不在。但是,这一激增的隐藏成本……

协同处理器体系结构:一种用于快速成型的嵌入式系统体系结构

2021年7月6日
编者注:尽管它以数字处理性能和吞吐量而闻名,但协处理器体系结构提供了嵌入式系统…

你的科技指数是多少?

稍微看一下人工智能的技术图景——我们已经在哪里,我们在哪里,我们将走向哪里。然后与我们的合作伙伴Micr…

声音你的意见!

本网站要求您注册或登录后发表评论。
目前还没有任何评论。想开始对话吗?

从我们的合作伙伴

PMP40681

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

定制您的PMIC秒

我们的pmic易于使用,并减少了功耗设计的尺寸,我们现在为任何处理器或应用提供它们。我们的“DIY”pmic,…

欢迎来到边缘

随着嵌入式网络设备成本的下降——以树莓派为例——它们变得无处不在。但是,这一激增的隐藏成本……

协同处理器体系结构:一种用于快速成型的嵌入式系统体系结构

编者注:尽管它以数字处理性能和吞吐量而闻名,但协处理器体系结构提供了嵌入式系统…
系统

超宽带SoC高集成度,低功耗

2022年1月7日
MKSemi的旗舰产品将为超宽带在消费和工业物联网应用中的广泛部署铺平道路。与英飞凌和ThinkSeed Systems的合作关系服务于……
alt.embedded

CES 2022虚拟和面对面

2022年1月7日
今年的消费电子展规模较小,但也有很多虚拟组件。
Baidu