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

Testbench Instantiation<br />

This measure_tprop example testbench is only partially parameterized. To be usable, the node<br />

gnd must exist, and the circuit must have a D input and a VDD power supply. Otherwise all of<br />

these elements would be dangling, or creating an error at simulation time. It is up to the designer<br />

to parameterize any piece of the testbench that may potentially vary; nothing is imposed.<br />

Here is another example, which is self-explanatory:<br />

.define_testbench transient (vpulse=1)<br />

.connect out inn ! follower connection<br />

vinp inp 0 DC 0 PULSE 0 vpulse 0n 1n 1n 10n 20n<br />

.tran 1n 50n<br />

.extract tran label=overshoot max(V(out))-vpulse<br />

.end_define_testbench<br />

Related Topics<br />

Testbench Instantiation<br />

Rules for Testbench Location Resolution<br />

Testbench Instantiation<br />

A testbench definition will have no impact on the simulation of the netlist if the testbench is not<br />

instantiated. It only creates a <strong>user</strong>-defined macro that can be reused elsewhere.<br />

The testbench name must be prefixed with a “.” if it is instantiated directly in the netlist (but not<br />

if it is used for a simulation inside a task). Testbench parameters may be given specific values<br />

during instantiation; if not, their default value will be used.<br />

Examples of instantiations of the testbenches defined above:<br />

.tran_options<br />

.measure_tprop trise=1n cload_val=2p<br />

.transient<br />

Note<br />

The Eldo Control Language is case-sensitive; in the example above, trying to instantiate<br />

.measure_tprop Trise=1n Cload_Val=2p will generate an error.<br />

Give special consideration when choosing the names of testbench parameters. The substitution<br />

of the occurrences of a testbench parameter name with its instantiation value is really text<br />

replacement, everywhere a token matches the parameter name in the testbench definition. For<br />

example, in the measure_tprop example above, it would have been wrong to call the cload_val<br />

parameter cload because the name of the capacitor on the second line is also cload. If cload_val<br />

had been called cload, instantiating the testbench would have included the line 1p out gnd 1p<br />

but not cload out gnd 1p.<br />

Eldo® User's Manual, 15.3 811

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

Saved successfully!

Ooh no, something went wrong!