next up previous contents index
Next: System Tasks Up: Support for AMDS/Verilog-A Previous: Read-Only Parameters   Contents   Index

Initialization Blocks and Global Events

ADMS will handle the two standard global events, but only in the forms containing no arguments.

@(initial_step) begin ... end
The block is executed while computing the initial analysis point, in accord with the Verilog-AMS standard. The block will be called for the operating point analysis (if any), all iterations. Thus, it will be called multiple times, which makes it unattractive for use as an initializer.

@(final_step) begin ... end
The block is executed while computing the final analysis point, in accord with the Verilog-AMS standard. The block will be called for all iterations. It will be called after initial_step if both are called.

@(initial_model) begin ... end
This block is run once-only before any analysis. It can be used to initialize per-model parameters, such as temperature dependence. This is not in the Verilog-AMS standard and may be particular to ADMS.

@(initial_instance) begin ... end
This block is run once-only before any analysis. It can be used to initialize per-instance parameters, such as geometrical dependence. This is not in the Verilog-AMS standard and may be particular to ADMS.

In ADMS, the "global events" are equivalent to named blocks, for example:

begin : initial_model   @(initial_model) begin
...   ...
end   end

Either form can be used for initial_step, final_step, initial_model, and initial_instance.


next up previous contents index
Next: System Tasks Up: Support for AMDS/Verilog-A Previous: Read-Only Parameters   Contents   Index
Stephen R. Whiteley 2022-09-18