Re: enhancement/287: `compatibility - backward compatibility compiler directives

From: Stefen Boyd (stefen@boyd.com)
Date: Tue Feb 25 2003 - 09:40:01 PST

  • Next message: Brad Pierce: "Re: enhancement/287: `compatibility - backward compatibility compiler directives"

    Precedence: bulk

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

    From: Stefen Boyd <stefen@boyd.com>
    To: Stephen Williams <steve@icarus.com>
    Cc: etf-bugs@boyd.com
    Subject: Re: enhancement/287: `compatibility - backward compatibility
      compiler directives
    Date: Tue, 25 Feb 2003 09:35:39 -0800

     Steve,
     
     That's why I liked the idea but wanted to see it work as
     an attribute used on modules or in a config... That would
     give it scope that wouldn't have the same file order issues
     of a compiler directive
     
     Stefen
     
     At 09:30 AM 2/25/2003 -0800, Stephen Williams wrote:
    >Precedence: bulk
    >
    >The following reply was made to PR enhancement/287; it has been noted by
    >GNATS.
    >
    >From: Stephen Williams <steve@icarus.com>
    >To: Stuart Sutherland <stuart@sutherland-hdl.com>
    >Cc: etf-bugs@boyd.com
    >Subject: Re: enhancement/287: `compatibility - backward compatibility
    >compiler directives
    >Date: Tue, 25 Feb 2003 09:28:39 -0800
    >
    > `compatibility 1364-1995
    > `compatibility 1364-2001
    > `compatibility default
    > `endcompatibility
    >
    > The problem with the somewhat similar `timescale directive is that
    > it's file scope is not bound. This compiler directive changes the
    > language being used, so its scope needs to be carefully controlled.
    >
    > In particular, it would be highly bad if a `compatibility directive
    > in a library module leaks out into subsequent files. For example,
    > I write a main program in 2001 Verilog, but import some modules
    > from a vendor library that includes `compatibility directives. At
    > the point after the library module is brought in, 2001 constructs
    > stop working.
    >
    > Or just as bad, the inverse case where the vendor library uses
    > 2001 constructs and the user code uses the `compatibility 1995
    > directive to get his/her legacy (er, stable) design to compile.
    >
    > At the very least, I suggest that a `compatibility section require
    > a matching `endcompatibility. I also suggest they nest, and come
    > in the same source file.
    >
    > Might I also suggest that the operand be a constant string? It
    > would be counterproductive to add a new keyword to selectively
    > disable the use of new keywords:-)
    >
    >
    > --
    > Steve Williams "The woods are lovely, dark and deep.
    > steve at icarus.com But I have promises to keep,
    > steve at picturel.com and lines to code before I sleep,
    > http://www.picturel.com And lines to code before I sleep."
    >
    >
     
     --------------------
     Stefen Boyd Boyd Technology, Inc.
     stefen@BoydTechInc.com (408)739-BOYD
     www.BoydTechInc.com (408)739-1402 (fax)
     



    This archive was generated by hypermail 2.1.4 : Tue Feb 25 2003 - 09:40:38 PST and
    sponsored by Boyd Technology, Inc.