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

.PRINTFILE Alternative #2<br />

* Generate a .csv file.<br />

.define_testbench netlist (pvdd=1.5)<br />

* op amp<br />

m16 vdd bias m17d vdd p w=4.8u l=1.2u<br />

m17 m17d m17d vss vss n w=3.2u l=1.2u<br />

m15 m15d m17d vss vss n w=3.2u l=1.2u<br />

m13 m13d m17d vss vss n w=3.2u l=1.2u<br />

m14 vdd m15d m15d vdd p w=1u l=1.2u<br />

m12 vdd m13d m13d vdd p w=4.8u l=1.2u<br />

m3 vdd m13d m1d vdd p w=4.8u l=1.2u<br />

m4 vdd m13d m2d vdd p w=4.8u l=1.2u<br />

m11 vdd m13d out vdd p w=16u l=1.2u<br />

m1 m1d inp com com n w=0.8u l=0.6u<br />

m2 m2d inn com com n w=0.8u l=0.6u<br />

m9 com m17d vss vss n w=3.2u l=1.2u<br />

m5 m2d m15d m7d vdd p w=2.4u l=1.2u<br />

m6 m1d m15d m8d vdd p w=2.4u l=1.2u<br />

m7 m7d m7d vss vss n w=1.6u l=1.2u<br />

m8 m8d m7d vss vss n w=1.6u l=1.2u<br />

cx m8d out 0.2p ! lousy compensation cap.<br />

cl out 0 1p ! load cap.<br />

m10 out m8d vss vss n w=13u l=1.2u<br />

vb bias 0 0.95V<br />

**************************<br />

.option tuning=vhigh<br />

**************************<br />

* powersupply<br />

vdd vdd 0 pvdd<br />

vss vss 0 -pvdd<br />

.connect out inn ! follower connection<br />

vinp inp 0 DC 0<br />

.dc<br />

.extract dc label=vout_follower V(out)<br />

.extract dc label=dc_offset V(inp)-V(out)<br />

.end_define_testbench<br />

*========================================================================<br />

.define_task print_dc_offset (n=40)<br />

set loop_param=0<br />

set vdd[]=1.65<br />

set dc_offset[]=0<br />

// create the .csv file<br />

set csv_file = fopen("results.csv", "w")<br />

// for each value of VDD from 1.5V to 1.8V, find out the DC offset<br />

step (type=step, param=loop_param, start=1, stop=n, step=1)<br />

vdd[loop_param] = 1.5 + (loop_param-1) * (1.8-1.5) / (n-1)<br />

simulation(<br />

+ name = "simu_dc_offset/simu.cir",<br />

+ netlist(pvdd = vdd[loop_param]),<br />

+ dc_offset[loop_param] = @vout_follower)<br />

1130<br />

Eldo® User's Manual, 15.3

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

Saved successfully!

Ooh no, something went wrong!