返回介绍

H.2.1 Abstract grammars

发布于 2020-09-09 22:56:16 字数 2423 浏览 837 评论 0 收藏 0

In the following abstract grammars, b denotes a boolean expression, v denotes a local variable name, and e denotes an expression.

The abstract grammar for unclocked sequences is R

R ::= b // "boolean expression" form
| ( 1, v = e ) // "local variable sampling" form
| ( R ) // "parenthesis" form
| ( R ##1 R ) // "concatenation" form
| ( R ##0 R ) // "fusion" form
| ( R or R ) // "or" form
| ( R intersect R ) // "intersect" form
| first_match ( R ) // "first match" form
| R [ *0 ] // "null repetition" form
| R [ *1:$ ] // "unbounded repetition" form

The abstract grammar for clocked sequences is

S ::= @(b) R // "clock" form
| ( S ) // "parenthesized" form
| ( S ## S ) // "concatenation" form

The abstract grammar for unclocked properties is

P ::= R // "sequence" form
| ( P ) // "parenthesis" form
| not P // "negation" form
| ( P or P ) // "or" form
| ( P and P ) // "and" form
| ( R |-> P ) // "implication" form
| disable iff ( b ) P // "reset" form

Each instance of R in this production must be a non-degenerate unclocked sequence. In the “sequence” form, R must not be tightly satisfied by the empty word. See H.3.2 and H.3.5 for the definitions of non-degeneracy and tight satisfaction.

The abstract grammar for clocked properties is

Q ::= @( b ) P // "clock" form
| S // "sequence" form
| ( Q ) // "parenthesis" form
| not Q // "negation" form
| ( Q or Q ) // "or" form
| ( Q and Q ) // "and" form
| ( S |-> Q ) // "implication" form
| disable iff ( b ) Q // "reset" form

Each instance of S in this production must be a non-degenerate clocked sequence. In the “sequence” form, S must not be tightly satisfied by the empty word. See H.3.2 and H.3.5 for the definitions of non-degeneracy and tight satisfaction.

The abstract grammar for assertions is

A ::= always assert property Q // "always" form
| always @( b ) assert property P // "always with clock" form
| initial assert property Q // "initial" form
| initial @( b ) assert property P // "initial with clock" form

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文