Re: analog generate-conditional

From: Geoffrey.Coram <Geoffrey.Coram_at_.....>
Date: Wed Apr 05 2006 - 14:07:59 PDT
Marq -
I understand the interest in this.

In principle, the simulator can detect the "switch branch"
   if (rth > 0) begin
      I(tnode) <+ -pdiss;
      I(tnode) <+ V(tnode)/rth + cth*ddt(V(tnode));
   end else begin
      V(tnode) <+ 0;
   end
and properly "collapse" the node.

However, the compiler will have set up derivatives for the
tnode, and it is not easy to bypass them.

I wonder, though, if the generate is the right solution.
In your test case, your module "mex504" would need to declare
*all* of parameters of the underlying mextram504sh model
and pass them through (further, they need to have the 
defaults set in your module, because these values will
override the values in the underlying module).

It seems to me that you should be able to use paramsets
to set this up, using the selection rules such that only
one paramset has rth as a parameter (if rth is not
overridden, then "the paramset with the fewest number of
un-overridden parameters shall be selected" means that
the non-self-heating one would be picked.

The paramsets would specify the values for the process,
perhaps having (emitter) L and W as the "instance"
parameters.

-Geoffrey
Received on Wed Apr 5 14:08:03 2006

This archive was generated by hypermail 2.1.8 : Wed Apr 05 2006 - 14:08:05 PDT