[sv-bc] function output arguments
Subject: [sv-bc] function output arguments
From: Dave Rich (David.Rich@synopsys.com)
Date: Fri Aug 08 2003 - 00:04:55 PDT
In SV3.1, we added this statement in section 7.3
"It shall be illegal to include an assignment operator in an event
expression, in an expression within a procedural
continuous assignment, or in an expression that is not within a
procedural statement."
This was done to limit side effects in continuous assignments (explicit
or implied), and so that there would be only one assignment per
statement in a non-procedural context.
SV3.0 added output and inout arguments to functions and I believe
that the above rule was meant cover these constructs as well. Other
sections (assertions, random generation) were expecting this as well. I
propose explicitly adding the following paragraph to clarify.
Add this paragraph before the last paragraph in section 10.3 Functions
It shall be illegal to call a function with output, inout orrefarguments
in an event expression, in an expression within a procedural continuous
assignment, or in an expression that is not within a procedural
statement. However, a const ref function argument shall be legal
in this context. (See section 10.5.2)
--
--
David.Rich@Synopsys.com
Technical Marketing Consultant
http://www.SystemVerilog.org
tele: 650-584-4026
cell: 510-589-2625
This archive was generated by hypermail 2b28
: Fri Aug 08 2003 - 00:06:24 PDT