RE: [sv-ac] Mantis 1698

From: Eduard Cerny <Eduard.Cerny_at_.....>
Date: Tue Jan 29 2008 - 12:44:50 PST
If you mean $past itself then yes. the "always" procedure as such is
illegal in a program, this is why I suggested the text 
 
If $past is called from active, reactive or observed regions, replace

the call by $sampled(past_variable).

 

In synthesized code which executes in the active region, use the

past_variable directly. Provided that the model follows synthesis rules

and is not racy, the behavior should be equivalent to that in the

original model using $past.

 

best regards,

ed

 


________________________________

	From: Stuart Sutherland [mailto:stuart@sutherland-hdl.com] 
	Sent: Tuesday, January 29, 2008 3:28 PM
	To: 'Lisa Piper'; 'Eduard Cerny'; sv-ac@eda.org
	Subject: RE: [sv-ac] Mantis 1698
	
	

	It seems to me that if the equivalent statement:

	 

	    always @clk past_variable <= $sampled(x);

	 

	were called from a module, it would execute in the Active
region, as suggested.  If called from a program, though, wouldn't it
execute in the Re-active region?

	 

	Stu
	~~~~~~~~~~~~~~~~~~~~~~~~~
	Stuart Sutherland
	stuart@sutherland-hdl.com
	+1-503-692-0898

	From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf
Of Lisa Piper
	Sent: Tuesday, January 29, 2008 10:20 AM
	To: Eduard Cerny; sv-ac@eda.org
	Subject: RE: [sv-ac] Mantis 1698

	 

	That is what I started with but then had to get rid of all
references to synthesis. I thought I was combining the last sentence
into the first sentence, but I ended up losing it.  Does this work?

	 

	Regardless where $past(x,,,@clk) is called from, the RTL
equivalent is

	 

	     always @clk past_variable <= $sampled(x);

	 

	and executes in the active region.

	 

	If $past is called from active, reactive or observed regions,
replace

	the call by $sampled(past_variable).

	 

	-----Original Message-----
	From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf
Of Eduard Cerny
	Sent: Tuesday, January 29, 2008 12:32 PM
	To: sv-ac@eda.org
	Subject: [sv-ac] Mantis 1698

	 

	Hi to start the discussion, I copy here the note I put on mantis
1698

	quite a while ago. Could that be used?

	 

	---

	Regardless where $past(x,,,@clk) is called from, the RTL
equivalent is

	 

	always @clk past_variable <= $sampled(x);

	 

	and executes in the active region.

	 

	If $past is called from active, reactive or observed regions,
replace

	the call by $sampled(past_variable).

	 

	In synthesized code which executes in the active region, use the

	past_variable directly. Provided that the model follows
synthesis rules

	and is not racy, the behavior should be equivalent to that in
the

	original model using $past.

	 

	The other functions, $rose, $fell and $stable would follow. 

	 

	----

	 

	Best...

	ed

	 

	-- 

	This message has been scanned for viruses and

	dangerous content by MailScanner, and is

	believed to be clean.

	 

	 

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


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Jan 29 13:23:31 2008

This archive was generated by hypermail 2.1.8 : Tue Jan 29 2008 - 13:23:56 PST