RE: [sv-ac] Mantis 1898 feedback needed

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Tue Dec 04 2007 - 18:53:10 PST
Also foreach loop indices


________________________________

	From: owner-sv-ac@server.eda.org
[mailto:owner-sv-ac@server.eda.org] On Behalf Of Lisa Piper
	Sent: Wednesday, December 05, 2007 12:42 AM
	To: sv-ac@server.eda.org
	Subject: [sv-ac] Mantis 1898 feedback needed
	
	

	Mantis 1898 says a clarification is needed where concurrent
assertions may appear and what kind of variables they may use. The
Mantis item states that the following restrictions should apply:

			* concurrent assertions shall not use automatic
variables

			* concurrent assertions may not appear in a
fork-join block

	

	I have created the following text to insert. I just want
agreement on the concept at this point. I would like to also address the
issue for immediate assertions which I think is more vague. Note that I
have allowed for the for loop index variable which is an automatic
variable since 1995 assertions in loops would require this.

	================================================

	

	All data referenced in an assertion, with the exception of local
variables(see 16.9)  and for loop indices (see 12.7.1), must have a
static lifetime (exist for the whole elaboration and simulation time).
Similarly, concurrent assertions may only exist in blocks whose lifetime
is also static.  So for example, 

	*	automatic variables and members or elements of dynamic
variables cannot be referenced in an assertion.   This includes class
properties, dynamically sized variables, data in automatic tasks,
functions, or blocks, and for loop variables (see 12.7.1) 
	*	Class methods (see Clause 8) are only active for the
lifetime of the call.  Similarly, the lifetime of a fork...join,
fork...join_any, or fork...join_none block is limited to the execution
of all processes spawned by the block, and the lifetime of a scope
enclosing any fork block includes the lifetime of the fork block.  Class
methods and fork...join, fork...join_any, or fork...join_none blocks
therefore may not contain concurrent assertions or have its elements
referenced by a concurrent assertion.

	

	All variables in an assertion use the sampled value with the
exception that local variables and for loop variables use the current
value.

	Because immediate assertions are procedural, they may exist in
automatic tasks, functions, and blocks, however because they are not
static, assertion control tasks(see 19.10)and assertion action control
tasks(see 19.11) and VPI do not apply.  Only assertion system controls
in VPI apply to immediate assertions that are not static.


	-- 
	This message has been scanned for viruses and 
	dangerous content by MailScanner <http://www.mailscanner.info/>
, and is 
	believed to be clean. 

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Dec 4 18:54:07 2007

This archive was generated by hypermail 2.1.8 : Tue Dec 04 2007 - 18:54:49 PST