10.06.2016 Views

eldo_user

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Eldo Control Language<br />

Statement Overview<br />

Flow Control Statements<br />

One of the main objectives of the Eldo Control Language is to offer a level of flow control<br />

within the simulation plan, instead of letting the simulator do everything automatically.<br />

To achieve this goal some simple constructs are available:<br />

• if/else/endif Construct<br />

• Step Loops<br />

• While Loops<br />

• For Loops<br />

These constructs are similar to those available in any language for flow control (except for<br />

SPICE, if SPICE can be considered a language). However, the step loop proposed here has<br />

some specificities originating from its similarity with the .STEP command in a simulation<br />

context (see .STEP in the Eldo Reference Manual). The linear, logarithmic, and list-driven<br />

loops are heavily used in existing netlists, and the step loop enables the implementation of these<br />

special kinds of loops easily, in addition to classical for i=1 to n loops.<br />

if/else/endif Construct<br />

The if construct enables the testing of a boolean condition, the triggering a sequence of<br />

statements if the condition is true and, optionally, another sequence if the condition is false.<br />

For example:<br />

if (passfail != 1)<br />

endif<br />

fprint (stdout, "Cannot complete measure_tprop() task for\<br />

cload=%.5g\n", cload[i])<br />

The binary logical operator to test equality or inequality inside a condition are the ones used in<br />

C: == and !=.<br />

The else clause enables the specification of an alternate command sequence:<br />

if (passfail != 1)<br />

fprint (stdout, "Cannot complete measure_tprop() task for\<br />

cload=%.5g\n", cload[i])<br />

else<br />

fprint (stdout, "measure_tprop() task successfully completed.\n")<br />

endif<br />

Eldo® User's Manual, 15.3 835

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!