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 />

Extended Simulation Functions<br />

set v2 = 0<br />

set param1 = 0<br />

set res_load = 0<br />

set res_run = 0<br />

set irun = 0<br />

set w = 0<br />

res_load = _simu_load(tb_netlist(), out_vars="@w2")<br />

if (res_load.simu_status == 0)<br />

param1 = _simu_get("pval(param1)")<br />

/* First run. */<br />

irun++<br />

res_run = _simu_run(mode="until 10n")<br />

if (res_run.simu_status == 0)<br />

/* Get voltage. */<br />

v2 = _simu_get("v(2)")<br />

while (v2 < 1.5)<br />

/* Skip end of simulation. */<br />

_simu_run(mode="skip")<br />

/* Set new value of 'param1'. */<br />

param1 += 0.1<br />

_simu_set("p", "param1", param1)<br />

/* Run again. */<br />

irun++<br />

res_run = _simu_run(mode="until 10n")<br />

if (res_run.simu_status != 0)<br />

fprint(stdout, "Simulation failed (run %d).\n", irun)<br />

break<br />

endif<br />

/* Get new voltage. */<br />

v2 = _simu_get("v(2)")<br />

endwhile<br />

fprint(stdout, "Param1 must be set to: %.4e.\n", param1)<br />

/* Complete the simulation. */<br />

_simu_run()<br />

else<br />

fprint(stdout, "Simulation failed (run %d).\n", irun)<br />

endif<br />

else<br />

fprint(stdout, "Simulation failed (load).\n")<br />

endif<br />

_simu_end(w=@w2) /* Save the wave in the wdb file. */<br />

Related Topics<br />

Simulation Dynamic Control<br />

Extended Simulation Functions<br />

Variables<br />

Flow Control Statements<br />

1034<br />

Eldo® User's Manual, 15.3

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

Saved successfully!

Ooh no, something went wrong!