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

属性说明语言

基于行为形式化规范的验证语言
受欢迎程度

描述

属性规范语言(PSL)是电子系统行为的形式化规范语言。这些行为被作为属性捕获,并可以在逻辑模拟器中作为断言执行。PSL是一种声明性语言,用于表达设计的时间属性,这意味着它定义了随时间变化的行为。

PSL是一种方法论
使用PSL有两种主要方式。第一种是在模拟环境中,通常称为基于断言的验证(ABV)。断言被用作内置的检查器,一旦识别出不符合PSL属性中封装的规范的行为,断言就会立即触发。这使得调试可以从发现分歧的点开始,而不是等待在正在验证的模块或系统的外部接口上看到问题的表现。

第二种方法是使用静态或正式的验证工具。在正式的属性检查器中,该工具将尝试查找可能违反属性的任何方式。这提供了比ABV更高程度的验证,因为它是详尽的。然而,如果属性太复杂或跨度太长,一些工具可能无法提供确定的答案。

PSL的变体
PSL语言被设计成某种程度上独立于语言,这意味着独立于用于描述硬件的语言。这种变化只是句法上的,因为PSL采用了硬件语言的风格,如Verilog、VHDL或SystemC,但没有改变PSL的语义。

语言结构
PSL的定义分为4层:布尔层、时态层、建模层和验证层。布尔层用于描述设计的当前状态,并使用上面提到的hdl之一进行描述。时间层由时间操作符组成,用于描述跨越时间的场景(可能跨越无限数量的时间单位)。建模层可用于以过程的方式描述辅助状态机。验证层由验证工具的指令组成(例如,断言给定的属性是正确的,或者在验证另一组属性时假设某一组属性是正确的)。

一个简单的例子是:
断言(always req -> next (ack until grant)) @clk

这个语句表示在req信号激活后,下一个clk边上,ack必须激活并保持激活状态,直到授予信号激活。

历史
PSL属于一组称为时间逻辑的语言。这些定义了基于时间或时间的系统行为。它们在数学领域已经存在了很长时间,但都是复杂的语言,不适合电子学的发展。其中一种语言叫做计算树逻辑(CTL)。IBM海法研究实验室在这个语言之上开发了一层他们称之为糖的东西。这种语言随着时间的推移而发展,当1998年Accellera呼吁捐赠属性语言时,IBM提供了糖。Accellera收到了其他一些捐赠,当他们无法决定PSL的基础语言时,IBM对sugar (sugar 2.0)做了一些更改,并被工作组接受。PSL 1.0发布于2003年1月,1.01发布于2003年4月。

在接下来的一年里,委员会努力使PSL与已被纳入SystemVerilog的断言语言保持一致。这使得两种语言在句法和语义上更加一致,并在2004年6月发布了PSL 1.1。在这一点上,它被移交给IEEE继续工作,并批准为IEEE 1850。2005年9月发行。第二个IEEE版本于2010年发布,IEC在IEEE版本发布两年后发布了他们的标准IEC 62431版本。

《集成电路与系统实用导论》辛迪·艾斯纳,达纳·菲斯曼,2006

使用PSL/Sugar与Verilog和VHDL, ABV属性规范语言指南,Ben Cohen, 2003


相关的实体


相关技术

Baidu