From 914736f7b970a9b08ebfc5d8f7b9085998d98a77 Mon Sep 17 00:00:00 2001 From: h_vogt Date: Sun, 30 Aug 2009 11:04:53 +0000 Subject: [PATCH] *** empty log message *** --- examples/func_cap.sp | 15 ------- examples/inverter.sp | 99 ------------------------------------------ examples/inverter2.sp | 97 ----------------------------------------- examples/rc-meas-ac.sp | 46 -------------------- 4 files changed, 257 deletions(-) delete mode 100644 examples/func_cap.sp delete mode 100644 examples/inverter.sp delete mode 100644 examples/inverter2.sp delete mode 100644 examples/rc-meas-ac.sp diff --git a/examples/func_cap.sp b/examples/func_cap.sp deleted file mode 100644 index eca14a864..000000000 --- a/examples/func_cap.sp +++ /dev/null @@ -1,15 +0,0 @@ -* func_cap.sp - - -.func icap_calc(A,B,C,D) '2*A*sqrt(B*C*D)' - -.param cap_val = 'max(icap_calc(1,2,3,4))' -VDD 1 0 DC 1 -C1 1 0 'cap_val' - -.measure tran capacitance param='cap_val' -.measure tran capac2 param='max(icap_calc(1,2,3,4))' - -.tran 1ps 100ps - -.end diff --git a/examples/inverter.sp b/examples/inverter.sp deleted file mode 100644 index 3f5b74d81..000000000 --- a/examples/inverter.sp +++ /dev/null @@ -1,99 +0,0 @@ -Inverter example circuit -* This netlist demonstrates the following: -* global nodes (vdd, gnd) -* autostop (.tran defines simulation end as 4ns but simulation stops at -* 142.5ps when .measure statements are evaluated) -* scale (all device units are in microns) -* model binning (look in device.values file for which bin chosen) -* -* m.x1.mn: -* model = nch.2 -* -* m.x1.mp: -* model = pch.2 -* -* parameters -* parameterized subckt -* vsrc with repeat -* .measure statements for delay and an example ternary operator -* device listing and parameter listing -* You can run the example circuit with this command: -* -* ngspice inverter.sp - - -* global nodes -.global vdd gnd - -* autostop -- stop simulation early if .measure statements done -* scale -- define scale factor for mosfet device parameters (l,w,area,perimeter) -.option autostop -.option scale = 1e-6 - -* model binning -.model nch.1 nmos ( version=4.4 level=54 lmin=0.1u lmax=20u wmin=0.1u wmax=10u ) -.model nch.2 nmos ( version=4.4 level=54 lmin=0.1u lmax=20u wmin=10u wmax=100u ) -.model pch.1 pmos ( version=4.4 level=54 lmin=0.1u lmax=20u wmin=0.1u wmax=10u ) -.model pch.2 pmos ( version=4.4 level=54 lmin=0.1u lmax=20u wmin=10u wmax=100u ) - -* parameters -.param vp = 1.0v -.param lmin = 0.10 -.param wmin = 0.12 -.param plmin = 'lmin' -.param nlmin = 'lmin' -.param wpmin = 'wmin' -.param wnmin = 'wmin' -.param drise = 400ps -.param dfall = 100ps -.param trise = 100ps -.param tfall = 100ps -.param period = 1ns -.param skew_meas = 'vp/2' - -* parameterized subckt -.subckt inv in out pw='wpmin' pl='plmin' nw='wnmin' nl='nlmin' -mp out in vdd vdd pch w='pw' l='pl' -mn out in gnd gnd nch w='nw' l='nl' -.ends - -v0 vdd gnd 'vp' - -* vsrc with repeat -v1 in gnd pwl -+ 0ns 'vp' -+ 'dfall-0.8*tfall' 'vp' -+ 'dfall-0.4*tfall' '0.9*vp' -+ 'dfall+0.4*tfall' '0.1*vp' -+ 'dfall+0.8*tfall' 0v -+ 'drise-0.8*trise' 0v -+ 'drise-0.4*trise' '0.1*vp' -+ 'drise+0.4*trise' '0.9*vp' -+ 'drise+0.8*trise' 'vp' -+ 'period+dfall-0.8*tfall' 'vp' -+ r='dfall-0.8*tfall' - -x1 in out inv pw=60 nw=20 -c1 out gnd 220fF - -.tran 1ps 4ns - -.meas tran inv_delay trig v(in) val='vp/2' fall=1 targ v(out) val='vp/2' rise=1 -*.meas tran test_data1 trig AT = 1n targ v(out) val='vp/2' rise=3 -*not yet implemented -*.meas tran test_data2 trig v(in) val='vp/2' fall=1 targ AT = 2n -.meas tran out_slew trig v(out) val='0.2*vp' rise=2 targ v(out) val='0.8*vp' rise=2 -.meas tran delay_chk param='(inv_delay < 100ps) ? 1 : 0' -.meas tran skew when v(out)=0.6 -.meas tran skew2 when v(out)=skew_meas -*.meas tran skew3 when v(out)=skew_meas fall=2 -*.meas tran skew4 FIND v(out) AT=2n - -.control -run -show * > device.values -listing param > param.values -.endc - -.end - diff --git a/examples/inverter2.sp b/examples/inverter2.sp deleted file mode 100644 index 4daf5a12b..000000000 --- a/examples/inverter2.sp +++ /dev/null @@ -1,97 +0,0 @@ -Inverter example circuit -* This netlist demonstrates the following: -* global nodes (vdd, gnd) -* autostop (.tran defines simulation end as 4ns but simulation stops at -* 142.5ps when .measure statements are evaluated) -* scale (all device units are in microns) -* model binning (look in device.values file for which bin chosen) -* -* m.x1.mn: -* model = nch.2 -* -* m.x1.mp: -* model = pch.2 -* -* parameters -* parameterized subckt -* vsrc with repeat -* .measure statements for delay and an example ternary operator -* Additional .measure statements to the previous example -* to measure the min, avg, rms and integ values for the VDD voltage -* source. These .measure statements disable 'autostop'. -* device listing and parameter listing -* You can run the example circuit with this command: -* -* ngspice inverter2.sp - - -* global nodes -.global vdd gnd - -* autostop -- stop simulation early if .measure statements done -* scale -- define scale factor for mosfet device parameters (l,w,area,perimeter) -.option autostop -.option scale = 1e-6 - -* model binning -.model nch.1 nmos ( version=4.4 level=54 lmin=0.1u lmax=20u wmin=0.1u wmax=10u ) -.model nch.2 nmos ( version=4.4 level=54 lmin=0.1u lmax=20u wmin=10u wmax=100u ) -.model pch.1 pmos ( version=4.4 level=54 lmin=0.1u lmax=20u wmin=0.1u wmax=10u ) -.model pch.2 pmos ( version=4.4 level=54 lmin=0.1u lmax=20u wmin=10u wmax=100u ) - -* parameters -.param vp = 1.0v -.param lmin = 0.10 -.param wmin = 0.12 -.param plmin = 'lmin' -.param nlmin = 'lmin' -.param wpmin = 'wmin' -.param wnmin = 'wmin' -.param drise = 400ps -.param dfall = 100ps -.param trise = 100ps -.param tfall = 100ps -.param period = 1ns - -* parameterized subckt -.subckt inv in out pw='wpmin' pl='plmin' nw='wnmin' nl='nlmin' -mp out in vdd vdd pch w='pw' l='pl' -mn out in gnd gnd nch w='nw' l='nl' -.ends - -v0 vdd gnd 'vp' - -* vsrc with repeat -v1 in gnd pwl -+ 0ns 'vp' -+ 'dfall-0.8*tfall' 'vp' -+ 'dfall-0.4*tfall' '0.9*vp' -+ 'dfall+0.4*tfall' '0.1*vp' -+ 'dfall+0.8*tfall' 0v -+ 'drise-0.8*trise' 0v -+ 'drise-0.4*trise' '0.1*vp' -+ 'drise+0.4*trise' '0.9*vp' -+ 'drise+0.8*trise' 'vp' -+ 'period+dfall-0.8*tfall' 'vp' -+ r='dfall-0.8*tfall' - -x1 in out inv pw=60 nw=20 -c1 out gnd 220fF - -.tran 1ps 4ns - -.measure tran inv_delay trig v(in) val='vp/2' fall=1 targ v(out) val='vp/2' rise=1 -.measure tran out_slew trig v(out) val='0.2*vp' rise=1 targ v(out) val='0.8*vp' rise=1 -.measure tran delay_chk param='(inv_delay < 100ps) ? 1 : 0' -.measure tran v0_min min i(v0) from='dfall' to='dfall+period' -.measure tran v0_avg avg i(v0) from='dfall' to='dfall+period' -.measure tran v0_integ integ i(v0) from='dfall' to='dfall+period' -.measure tran v0_rms rms i(v0) from='dfall' to='dfall+period' - -.control -run -show * > device.values -listing param > param.values -.endc - -.end diff --git a/examples/rc-meas-ac.sp b/examples/rc-meas-ac.sp deleted file mode 100644 index 975e60539..000000000 --- a/examples/rc-meas-ac.sp +++ /dev/null @@ -1,46 +0,0 @@ -RC band pass example circuit -* This netlist demonstrates the following: -* global nodes (vdd, gnd) - -* .measure statements for delay and an example ternary operator - -* You can run the example circuit with this command: -* -* ngspice rc-meas-ac.sp - - -* global nodes -.global vdd gnd - -* autostop -- stop simulation early if .measure statements done -*.option autostop - -vin in gnd dc 0 ac 1 - -R1 in mid1 1k -c1 mid1 gnd 1n -C2 mid1 out 500p -R2 out gnd 1k - -.ac DEC 10 1k 10MEG - -.meas ac vout_at FIND v(out) AT=1MEG -.meas ac vout_max max v(out) from=1k to=10MEG -.meas ac freq_at when v(out)=0.1 -.meas ac vout_diff trig v(out) val=0.1 rise=1 targ v(out) val=0.1 fall=1 -.meas ac fixed_diff trig AT = 10k targ v(out) val=0.1 rise=1 -.meas ac vout_avg avg v(out) from=10k to=1MEG -.meas ac vout_integ integ v(out) from=20k to=500k -.meas ac freq_at2 when v(out)=0.1 fall=LAST -.meas ac bw_chk param='(vout_diff < 100k) ? 1 : 0' -.meas ac bw_chk2 param='(vout_diff > 500k) ? 1 : 0' -.meas ac vout_rms rms v(out) from=10 to=1G - -.control -run -*rusage all -plot v(out) -.endc - -.end -