I checked in the Verilog-AMS LRM, and found the following: "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." This means that there is no way to make the value of C change during simulations if it is passed as a parameter to the module. Based on this observation, I can't think of a need to write the charge conserving equations. A simple I = C*dV/dt should be sufficient. (Correct me if I am wrong). However, the next question is, do we need to find a way to make a capacitor model which can vary its value during simulations? And if so, should it be charge conserving? Or, perhaps should we have two versions of such a model, one that is charge conserving, and another that is not? I don't think it would be too hard to do this, but it would need a 3rd terminal which would bring the dynamic C value into the module as a signal. This is not too difficult, but I am trying to think about compatibility with other (SPICE) tools. I haven't seen a 3-terminal capacitor, so I wonder. On the other hand, HSPICE can do C='expression' where the expression can include any node voltages or branch currents. We may want to provide a similar capability. Please comment. Thanks, Arpad =============================================================