RE: [sv-ac] example in expect statement

From: Rich, Dave <Dave_Rich_at_.....>
Date: Sat Oct 21 2006 - 17:33:07 PDT
Where does it say that the action block of an immediate assertion is
executed in the reactive region? In fact, it says it is interpreted like
a procedural 'if' statement.

 

________________________________

From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com] 
Sent: Saturday, October 21, 2006 4:58 PM
To: Rich, Dave; Arturo Salz; Eduard Cerny; Surya Pratik Saha
Cc: Soumya Jyoti Wadader; sv-ac@eda.org
Subject: RE: [sv-ac] example in expect statement

 

But in immediate assert, the action block should not block the main code
either, no? I think that both create threads executed in the reactive
region.

 

ed

	 

	
________________________________


	From: Rich, Dave [mailto:Dave_Rich@mentor.com] 
	Sent: Saturday, October 21, 2006 12:14 AM
	To: Arturo Salz; Eduard Cerny; Surya Pratik Saha
	Cc: Soumya Jyoti Wadader; sv-ac@eda.org
	Subject: RE: [sv-ac] example in expect statement

	I'm not saying it should be disallowed either, but there is a
difference between the two. An immediate assertion does not create any
threads. The action block of a concurrent assertion must spawn a
procedural thread in order to allow for blocking statements.

	 

	Dave

	 

	 

	
________________________________


	From: Arturo Salz [mailto:Arturo.Salz@synopsys.com] 
	Sent: Friday, October 20, 2006 7:18 PM
	To: Eduard Cerny; Rich, Dave; Surya Pratik Saha
	Cc: Soumya Jyoti Wadader; sv-ac@eda.org
	Subject: RE: [sv-ac] example in expect statement

	 

	I agree. I don't see why it should be disallowed.

	 

	            Arturo

	 

	
________________________________


	From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf
Of Eduard Cerny
	Sent: Friday, October 20, 2006 6:51 PM
	To: Rich, Dave; Surya Pratik Saha; Eduard Cerny
	Cc: Soumya Jyoti Wadader; sv-ac@eda.org
	Subject: RE: [sv-ac] example in expect statement

	 

	I do not see  a diff between the two. Scheduled in reactive, as
a task. 

	ed

		 

		
________________________________


		From: Rich, Dave [mailto:Dave_Rich@mentor.com] 
		Sent: Friday, October 20, 2006 6:41 PM
		To: Surya Pratik Saha; Eduard Cerny
		Cc: Soumya Jyoti Wadader; sv-ac@eda.org
		Subject: RE: [sv-ac] example in expect statement

		This raises a more general question; can an action block
of a concurrent assertion contain any blocking statement? It is
explicitly allowed for immediate assertions, but no mention on
concurrent assertions.

		 

		Dave

		 

		 

		
________________________________


		From: owner-sv-ac@server.eda.org
[mailto:owner-sv-ac@server.eda.org] On Behalf Of Surya Pratik Saha
		Sent: Wednesday, October 18, 2006 11:08 PM
		To: Eduard Cerny
		Cc: Soumya Jyoti Wadader; sv-ac@server.eda.org
		Subject: Re: [sv-ac] example in expect statement

		 

		Hi Ed,
		So can an immediate assert or concurrent assert have
expect assert in their action block? I did not see any restriction in
LRM though Synopsys VCS is giving error, considering expect assert as
concurrent assertion statement.
		Consider the e.g.
		assert (i) expect (prop) $display(...);
		Is the above statement wrong? I did not see any problem
there, though VCS is failing.
		Same for:
		assert property (prop) expect (prop)
		
		Though other restriction of concurrent assert is not
applied on expect, as you mentioned the delay can be there before expect
assert.

		Regards
		Surya.

		
		
		Eduard Cerny wrote: 

		Concurrent assertion (assert cover assume) cannot, but
expect is a
		different animal. :-)
		ed
		 
		 
		  

			-----Original Message-----
			From: owner-sv-ac@eda.org
[mailto:owner-sv-ac@eda.org] On 
			Behalf Of Soumya Jyoti Wadader
			Sent: Tuesday, October 17, 2006 8:34 AM
			To: sv-ac@eda.org
			Subject: [sv-ac] example in expect statement
			 
			Hallo,
			  In 1800 LRM sec: 17.16 one example is given as
:
			 
			program tst;
			initial
			begin
			 # 200ms;
			 expect( @(posedge clk) a ##1 b ##1 c ) else
$error( "expect 
			failed" );
			ABC: ...
			end
			endprogram
			 
			Is this example is correct? My doubt is
"concurrent assertion 
			can not be 
			specified after a timing control statement." so
expect 
			statement can not 
			be declare after '#200 ms", am I correct?
			Thanks & Regards
			Soumya
			 
			    

		 
		 
		  
Received on Sat Oct 21 17:33:18 2006

This archive was generated by hypermail 2.1.8 : Sat Oct 21 2006 - 17:33:28 PDT