From: Michael McNamara (mac@verisity.com)
Date: Tue Mar 16 2004 - 09:09:42 PST
Apologies for jumping into the middle of this, but using the 1364
attribute syntax as a way to introducing PSL code inline to Verilog
code is, in my opinion, a very bad idea.
1364 defines the syntax of what can appear in the attribute region,
and it is rather limited, basically consisting of assignment
statements.
Section A.9.1 of P1364-2005 Draft 3
attribute_instance ::= (* attr_spec { , attr_spec } *)
attr_spec ::= attr_name [ = constant_expression ]
attr_name ::= identifier
I suspect that embedded PSL might like to have richer semantics than
are allowed (branches, use of non-verilog operators, non-verilog
expression syntax, et cetera). The example in this email is illegal,
as the fragment 'property X = always A & b;' does not match the BNF
above.
In my mind the right next step is to have representative(s) of the VFV
attend a 1364 meeting and discuss ideas for syntax facilitating
embedding of PSL in Verilog which will address the needs of both
languages.
The next meeting of the IEEE 1364 Working Group is Monday, March 22nd,
at 8:30 am pacific time. The right time & forum to introduce this
topic would be at the Behavorial Task Force Meeting, which begins at
10:30 on that day.
In order to join the IEEE 1364 group, go to
http://www.verilog.com/IEEEVerilog.html, and click on the Join icon;
fill in the form; and you will get dialin information.
-- On Mar 15 2004 at 17:09, VhdlCohen@aol.com sent a message:
> To: cliffc@sunburst-design.com, vfv@eda.org
> Subject: "PSL: Attributes for Verilog and SystemVerilog "
> Cliff brought up an interesting comments that the LRM is not
> addressing: How inline PSL is defined as comments rather than
> attributes. Tool vendors seem to have universally adopted the
> "comment" approach to specify PSL statements. Verilog-2001 and
> SystemVerilog added attributes for the inclusion of information
> related to the design. Thus, using that approach. PSL should be
> implemented as something like:
>
> (* PSL, psl_assertion *)
> Example:
> (* PSL, property X = always a & b; *)
> (* PSL, assert X; *)
>
> The whole reason for adding attributes to Verilog-2001 (and
> SystemVerilog) was to get tools away from using comments. Now PSL
> assertion-compliant tools are again in the business of parsing
> comments - very annoying! and not compliant to goals of the
> language specifications. One could argue that how PSL is used in
> the HDL is tool dependent, and should not be specified in the LRM.
> However, IEEE spec (verilog 2001) and Accellera specs defined the
> means to add such attributes. Thus, should the PSL LRM add such a
> requirement? Ben
> -----------------------------------------------------------------------------
> Ben Cohen Trainer, Consultant, Publisher (310) 721-4830
This archive was generated by hypermail 2.1.4
: Tue Mar 16 2004 - 08:53:40 PST
and
sponsored by Boyd Technology, Inc.