Re: errata/84: Should @* include delay controls?

From: Michael McNamara (mac@verisity.com)
Date: Wed Aug 14 2002 - 14:40:11 PDT


Precedence: bulk

The following reply was made to PR errata/84; it has been noted by GNATS.

From: Michael McNamara <mac@verisity.com>
To: Shalom.Bresticker@motorola.com
Cc: etf-bugs@boyd.com
Subject: Re: errata/84: Should @* include delay controls?
Date: Wed, 14 Aug 2002 14:36:24 -0700

 Shalom.Bresticker@motorola.com writes:
> Precedence: bulk
>
> The following reply was made to PR errata/84; it has been noted by GNATS.
>
> From: Shalom.Bresticker@motorola.com
> To: Steven Sharp <sharp@cadence.com>
> Cc: etf-bugs@boyd.com
> Subject: Re: errata/84: Should @* include delay controls?
> Date: Wed, 14 Aug 2002 22:43:36 +0300 (IDT)
>
> On Mon, 12 Aug 2002, Steven Sharp wrote:
>
> > > But, regarding the "iterative vector indexing implicit
> > > sensitivity," at least in the example you give, isn't that a
> > > case where i is a temporary variable assigned before its use,
> > > where we say that it will not be included in the sensitivity
> > > list?
> >
> > There is no such exception in the standard.
>
> Really? Are you sure?
> I was sure I had read it.
> I don't have it with me to check.
>
>
> > I don't know whether there was an attempt to put in such an
> > exception at some point. I don't see a good way to add such an
> > exception. In the general case, I believe that the question of
> > whether a variable is guaranteed to be assigned before being
> > used can be reduced to the halting problem, and is therefore
> > uncomputable.
 
  Come now, this is absolutely not true.
 
  Education on Def Use chaining has been an integral part of every
  compiler class at a university for the past 25 years and the basic
  depth first search iterative algorithms were described in a survey
  paper, sumerizing past work, by Jeffery Ullman and and John Kam in
  the Journal of the ACM in 1976.
 
  Over the the last 25 years these techniques have been refined (I like
  the papers by Jeanne Ferrante in 1991, "Automatic constructions of
  sparse data flow evaluation graphs."
 
  Fundamentally if what you said was true, synthesis tools would not
  work, and optimizing compilers would not work.
 
>
> Not in the general case.
> But there are cases where it is trivial.
> E.g.,
> always @*
> begin
> a = b ;
> c = a ;
> end
>
> It is trivial to see that a is always assigned before being used.
>
 
 An algorithm that inmplements this is available in source form in my
 Emacs mode, which you can get at http://www.verilog.com
 
 --
          _
         // Michael McNamara, Sr VP Technology <mac@verisity.com>
   _ // 650-934-6888, 408-930-6875 Cell <http://www.verisity.com>
   \\ // ___ ____ _ ___ _ ___ _ _ ___ ___ __ _ _ _ _
    \\// |_ |___)|(___ |' | ` \ / | \ |_ (__ | / _ |\ |
     \/ |__ | \ | ___)| | | |__/ |__ __)| \_/ | \|
 
 
 
 



This archive was generated by hypermail 2.1.4 : Thu Oct 10 2002 - 09:24:27 PDT and
sponsored by Boyd Technology, Inc.