Re: [sv-bc] Re: [sv-ac] RE: 3398 and 3625

From: Greg Jaxon <Greg.Jaxon@synopsys.com>
Date: Mon Jun 20 2011 - 12:01:04 PDT
On 6/17/2011 3:39 AM, Arturo Salz wrote:
 the function's output variable stores the last return value unless it is overwritten on each call.

Not good enough.
When the function is static, there is only one output variable and it is shared by all concurrent or recursive calls to that function.
You can code recursive cases carefully, but I don't believe there's any way to protect this variable from concurrent executions.
Indeed there shouldn't be any such protection!  How else can designers express the desire for race conditions in their simulation?

Of course any synthesis or simulation engine could adopt a second set of implementation rules which intentionally give the effect
of the function being automatic, but this is a deceptive practice and strictly non-conforming. If you order 1,000 ft of rope, you
don't wish it cut into 3 ft lengths to protect you from hanging yourself.




--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean. Received on Mon Jun 20 12:01:43 2011

This archive was generated by hypermail 2.1.8 : Mon Jun 20 2011 - 12:01:52 PDT