RE: [sv-ec] Re: [sv-bc] Can a function contain a fork/join/any/none?

From: Stuart Sutherland <stuart_at_.....>
Date: Fri Feb 17 2006 - 12:32:42 PST
Steven,

Are you sure old generations of Verilog tools permitted fork-join in
functions?  I'm old, and don't remember thinks as well as I used to, but I'm
almost certain it was not more than 5 years ago that I specifically tested
using fork-join in a function, and it was a syntax error on at least two
major simulators and one synthesis compiler at that time.  I think fork-join
in functions is a barn door that was inadvertently opened at some point, and
that no users know about it or are using it.

I have a question for EDA companies on these committees.  You have lots of
user-code in your regression suites.  I'd like to know if any of your user
code has fork-join in a function.

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

> -----Original Message-----
> From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On 
> Behalf Of Steven Sharp
> Sent: Friday, February 17, 2006 11:15 AM
> To: sv-ec@eda.org; stuart@sutherland-hdl.com
> Subject: RE: [sv-ec] Re: [sv-bc] Can a function contain a 
> fork/join/any/none?
> 
> 
> >From: "Stuart Sutherland" <stuart@sutherland-hdl.com>
> 
> >Just to add my $0.02, I do not think fork-join of any flavor 
> should be
> >allowed in functions/always_comb/final.  Perhaps from a the 
> theoretical
> >point of view, some forms of fork-join can be justified, but 
> are they useful
> >in a code block that must execute instantly?  I suggest that 
> fork-join or
> >all types be disallowed in functions.  It is fully backward 
> compatible with
> >Verilog, and I doubt there is any SV code that does it.  
> Let's close the
> >barn door before the animals get out.
> 
> I agree with your opinion about their questionable 
> usefulness.  But this
> particular barn door has been open for vanilla fork-join for 
> over 20 years.
> 
> Steven Sharp
> sharp@cadence.com
> 
> 
Received on Fri Feb 17 12:32:53 2006

This archive was generated by hypermail 2.1.8 : Fri Feb 17 2006 - 12:33:18 PST