Re: initial_step and final_step in DC sweep

From: Geoffrey.Coram <Geoffrey.Coram_at_.....>
Date: Fri Aug 25 2006 - 05:57:48 PDT
Marq Kole wrote:
>
> 
> The general application of the initial_step event as I have seen
> in nearly all models is as an initialization block.

What models have you seen this in?  I've been trying to stamp out
the practice.  I see that PSP does not use it (it uses the 
initialModel block name).

Mextram does use it, for the following (in mextram_504.6_TUD.va):

 `ifdef insideADMS
   @(initial_model) begin
`else
   @(initial_step or initial_step("static")) begin
`endif

     // Impact ionization constants (NPN - PNP)

     if (TYPE == 1) begin

        An = 7.03e7;
        Bn = 1.23e8;

     end else begin

        An = 1.58e8;
        Bn = 2.04e8;

     end

  end

What should be used is
  localparam An = (TYPE == 1) ? 7.03e7 : 1.58e8;
  localparam Bn = (TYPE == 1) ? 1.23e8 : 2.04e8;
though localparam is not widely accepted by current
Verilog-A simulators.


Of course, Mextram (and Hicum) are somewhat strange models,
in that almost all the parameters are updated based on the
self-heating temperature, which does depend on a circuit
unknown, and thus their initialization block does not
contain much code in any case.

-Geoffrey
Received on Fri Aug 25 05:57:51 2006

This archive was generated by hypermail 2.1.8 : Fri Aug 25 2006 - 05:57:54 PDT