I agree with Brian that this will be a nuisance for backwards
compatibility: everyone writing compact models, which use sqrt
and exp, will have to change their models.
I would like to see this postponed until SV-AMS (AMS 3.0?),
and I would like some thought put into how to address the
backwards compatibility.
Steve Sharp suggested one could write analog functions:
analog function real sqrt;
input x;
real x;
sqrt = $sqrt(x);
endfunction
but all analog functions have to be declared at module scope,
so you can't put them in a header file.
Macros also don't help, since you'd need to change sqrt(x)
to `sqrt(x), so you might as well change it to $sqrt(x).
SystemVerilog is considering a proposal for handling keywords
`keywords "1364-2001"
that would prevent new keywords from causing trouble with
existing modules; our problem is somewhat the reverse, but
I could imagine
`keywords "VerilogAMS-2.2"
Kevin Cameron suggested using packages or the DPI from SV,
but I don't have a clear understanding of how that would work;
it looks like you still need a module-scope
package_import_declaration.
-Geoffrey
"Brian Mulvaney " wrote:
>
> Hi Sri,
>
> Thanks for the update. One question:
>
> Chandrasekaran Srikanth-A12788 writes:
> > - The issue of reducing keywords in VerilogAMS is currently being
> > discussed. Changing all the math operators to have a "$" sign
> > in front of it so that they don't need to be identified as
> > keywords in the language. This will be consistent with
> > SystemVerilog which supports external functions and also in
> > line with 136-2005 ($trig functions is not part of 1995 or
> > 2001). This issue will be taken up as part of the LRM 2.3
> > syntax.
>
> Is there a compelling reason to do this? As a practical matter it
> won't make SV-AMS any simpler, because everyone would have to
> re-implement all these operators as $opertor. This change will make
> backward compatibility a mess.
>
> Brian M.
Received on Tue Dec 21 05:50:26 2004
This archive was generated by hypermail 2.1.8 : Tue Dec 21 2004 - 05:50:39 PST