Shalom - There is perhaps a difference in understanding of what "compilation" means. In the Verilog-A compact modeling world, we have these very complicated modules that get "compiled" from Verilog-A to C and then to object code that is dynamically linked into the simulator. This is somewhat different from the "compilation" that I think digital Verilog simulators do when they set up a particular netlist to run (and run quickly). LRM 2.2 does, indeed, have that paragraph -- taken directly from 1364-1995 (section 3.10). All the analog simulators I've used take that with a nudge and a wink and allow the parameter value to be changed. Of course, since the 1364 LRM doesn't know what a "dc sweep" is, one could argue that a "dc sweep" is really a set of runs, in each of which the parameter value is constant. I believe there are open issues for Verilog-AMS about cleaning up the mixed-signal initialization and fully explaining what a "dc sweep" means. -Geoffrey "Bresticker, Shalom" wrote: > > On the contrary, the 2.2 LRM says, > > "Parameters represent constants, hence it is illegal to modify their > value at runtime. However, parameters can be modified at compilation > time to have values which are different from those specified in the > declaration assignment. This allows customization of module instances. A > parameter can be modified with the defparam statement or in the > module_instance statement." > > A -defparam on the command line is just a substitute for a defparam > statement in the code. It is still evaluated at compilation time. > > You should have some basic understanding of what compilers do. > Among others things, compilers translate the source code into a data > structure. Changing the data structure requires a recompilation. It may > be an incremental recompilation, but a recompilation nevertheless. > > There might be special cases of parameters which you could change > without requiring a recompilation, such as a transistor value, but that > is not changing the data structure. > > ShalomReceived on Wed Jan 4 04:46:05 2006
This archive was generated by hypermail 2.1.8 : Wed Jan 04 2006 - 04:46:12 PST