Kevin Cameron wrote:
> What's the rationale for this stuff? - it looks unnecessary to me.
>
> See SV "program blocks".
The text for program blocks indicates it is intended for testbenches.
The constants module was a thought about how to recognize certain
things as constants, even though they are accessed through OOMRs.
It looks like we're not going to do this after all, though.
> I still think you would be better reconsidering the paramset syntax, and
> just doing it as a module definition with inheritance: if you keep
> adding more stuff to it, it will end up looking like a module anyway.
There's still no behavior in a paramset. Also, paramsets are
intended to go in libraries and designers may or may not instantiate
a particular device (maybe no NMOS_LVT in a design); recall that
the LRM specifies that a module that is not instantiated is a
top-level module, so we'd end up with a bunch of top-level but
floating devices.
> SV supports pass-by-reference which allows multiple returns.
Yes, and we're adding that to functions; the point was that
AD=hdif*weff is simple, but if you have a complicated function
that computes a lot of intermediate values to arrive at
AD,AS,PD,PS, then it's hard to write that efficiently as
a single constant_expression for a parameter initialization.
-Geoffrey
Received on Thu Jul 29 05:10:19 2004
This archive was generated by hypermail 2.1.8 : Thu Jul 29 2004 - 05:10:30 PDT