v {xschem version=3.4.6 file_version=1.2 * * This file is part of XSCHEM, * a schematic capture and Spice/Vhdl/Verilog netlisting tool for circuit * simulation. * Copyright (C) 1998-2024 Stefan Frederik Schippers * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA } G {} K {} V {} S {} E {} L 3 250 -270 250 -120 {} L 3 410 -270 410 -170 {} L 3 570 -270 570 -120 {} L 4 150 -100 250 -100 {} L 4 250 -120 250 -100 {} L 4 250 -120 570 -120 {} L 4 570 -120 570 -100 {} L 4 570 -100 690 -100 {} L 4 150 -170 410 -170 {} L 4 410 -170 410 -150 {} L 4 410 -150 570 -150 {} L 4 570 -170 570 -150 {} L 4 570 -170 690 -170 {} L 7 1090 -260 2520 -260 {} B 2 270 -1020 680 -860 {flags=graph,unlocked y1 = 0 y2 = 0.9 divy = 5 x1=1.9099218e-07 x2=3.4920522e-07 divx=5 subdivx=4 unitx=n node="cal%0 saout" color="8 6" linewidth_mult=1.0 hilight_wave=-1 dataset=188 rawfile=$netlist_dir/autozero_comp.raw sim_type=tran rainbow=0 hcursor1_y=0.13350312 hcursor2_y=0.58853305} B 2 270 -1160 680 -1030 {flags=graph,unlocked y1 = 0.647319 y2 = 0.652563 x1=1.9099218e-07 x2=3.4920522e-07 unitx=n divx=5 subdivx=2 node="plus%0 minus%0" color="4 5" dataset=-1 linewidth_mult=1.0 divy=3 subdivy=1 rawfile=$netlist_dir/autozero_comp.raw sim_type=tran} B 2 270 -1320 680 -1160 {flags=graph,unlocked y1 = 0.647319 y2 = 0.652563 x1=1.9099218e-07 x2=3.4920522e-07 unitx=n divx=5 subdivx=2 node="plus%0 minus%0" color="4 5" dataset=-1 linewidth_mult=1.0 divy=3 subdivy=1 rawfile=$netlist_dir/autozero_comp.raw sim_type=tran} B 2 270 -1450 680 -1330 {flags=graph,unlocked y1 = 0.647319 y2 = 0.652563 x1=1.9099218e-07 x2=3.4920522e-07 unitx=n divx=5 subdivx=2 node="plus%0 minus%0" color="4 5" dataset=-1 linewidth_mult=1.0 divy=3 subdivy=1 rawfile=$netlist_dir/autozero_comp.raw sim_type=tran} B 2 690 -1020 870 -860 {flags=graph,unlocked y1 = 0 y2 = 0.9 divy = 5 x1=0 x2=148 divx=5 subdivx=4 unitx=1 linewidth_mult=1.5 hilight_wave=-1 dataset=-1 rawfile=distrib sim_type=distrib color="4 7 8" node="saout saout 0.45" sweep="freq0 freq1 freq0" mode=HistoH xlabmag=2.0} B 2 270 -1610 680 -1450 {flags=graph,unlocked y1 = 0 y2 = 0.9 divy = 5 x1=1.9099218e-07 x2=3.4920522e-07 divx=5 subdivx=4 unitx=n node="zero0 zero1 zero2" color="12 4 7" linewidth_mult=0.1 hilight_wave=-1 rawfile=$netlist_dir/autozero_comp.raw sim_type=tran rainbow=0 dataset=235} T {CAL} 140 -180 0 1 0.4 0.4 {} T {EN} 140 -130 0 1 0.4 0.4 {} T {CALIBRATION 30ns} 400 -260 0 1 0.4 0.4 {} T {SENSING 30ns} 530 -260 0 1 0.4 0.4 {} T {OFF} 660 -260 0 1 0.4 0.4 {} T {OFF} 210 -260 0 1 0.4 0.4 {} T {NGSPICE MISMATCH SIMULATION} 1210 -310 0 0 0.8 0.8 {} T {Offset-compensated comparator. Detects +/- 2mv differential signal on PLUS, MINUS. Output on SAOUT Gaussian Threshold variation (via delvto parameter) is added to all MOS transistors.} 1110 -240 0 0 0.6 0.6 {} T {.param ABSVAR=0.05 delvto='agauss(0,ABSVAR,3)'} 1390 -120 0 0 0.6 0.6 {layer=8} T {tcleval(Dataset=[xschem getprop rect 2 0 dataset])} 340 -850 0 0 0.7 0.7 {floater=xxx} N 120 -470 120 -450 {lab=TEMPERAT} N 360 -530 390 -530 {lab=VSS} N 360 -500 360 -480 {lab=VSS} N 360 -580 360 -560 {lab=VSSI} N 1200 -1160 1230 -1160 {lab=VSS} N 1200 -1320 1230 -1320 {lab=VCC} N 1170 -1390 1200 -1390 {lab=VCC} N 1200 -1390 1200 -1350 {lab=VCC} N 1170 -1030 1200 -1030 {lab=VSSI} N 1200 -1070 1200 -1030 {lab=VSSI} N 1060 -1160 1160 -1160 {lab=ZERO0} N 1060 -1250 1060 -1160 {lab=ZERO0} N 980 -1250 1060 -1250 {lab=ZERO0} N 870 -1250 900 -1250 {lab=#net1} N 870 -1430 870 -1250 {lab=#net1} N 870 -1430 1300 -1430 {lab=#net1} N 1200 -1250 1300 -1250 {lab=#net1} N 1690 -1160 1720 -1160 {lab=VSS} N 1690 -1320 1720 -1320 {lab=VCC} N 1660 -1390 1690 -1390 {lab=VCC} N 1690 -1390 1690 -1350 {lab=VCC} N 1660 -1030 1690 -1030 {lab=VSSI} N 1690 -1070 1690 -1030 {lab=VSSI} N 1550 -1160 1650 -1160 {lab=ZERO1} N 1550 -1250 1550 -1160 {lab=ZERO1} N 1470 -1250 1550 -1250 {lab=ZERO1} N 1360 -1250 1390 -1250 {lab=#net2} N 1360 -1430 1360 -1250 {lab=#net2} N 1360 -1430 1790 -1430 {lab=#net2} N 1690 -1250 1790 -1250 {lab=#net2} N 1300 -1430 1300 -1250 {lab=#net1} N 1200 -1290 1200 -1250 {lab=#net1} N 1060 -1320 1060 -1250 {lab=ZERO0} N 1690 -1290 1690 -1250 {lab=#net2} N 1550 -1320 1550 -1250 {lab=ZERO1} N 1790 -1430 1790 -1250 {lab=#net2} N 970 -640 1000 -640 {lab=VSS} N 1140 -640 1170 -640 {lab=VSS} N 1170 -870 1200 -870 {lab=VCC} N 940 -870 970 -870 {lab=VCC} N 1030 -870 1130 -870 {lab=GN} N 1030 -870 1030 -820 {lab=GN} N 970 -820 1030 -820 {lab=GN} N 970 -740 970 -670 {lab=#net3} N 1170 -710 1170 -670 {lab=OUTDIFF} N 970 -930 970 -900 {lab=VCC} N 1070 -930 1170 -930 {lab=VCC} N 1170 -930 1170 -900 {lab=VCC} N 1170 -610 1170 -590 {lab=SN} N 1070 -590 1170 -590 {lab=SN} N 970 -610 970 -590 {lab=SN} N 1070 -510 1100 -510 {lab=VSS} N 1070 -590 1070 -540 {lab=SN} N 1070 -950 1070 -930 {lab=VCC} N 1040 -380 1070 -380 {lab=VSSI} N 1070 -420 1070 -380 {lab=VSSI} N 1550 -510 1580 -510 {lab=VSS} N 1550 -870 1580 -870 {lab=VCC} N 1520 -940 1550 -940 {lab=VCC} N 1550 -940 1550 -900 {lab=VCC} N 1520 -380 1550 -380 {lab=VSSI} N 1550 -420 1550 -380 {lab=VSSI} N 1550 -710 1550 -540 {lab=SAOUTF} N 1300 -710 1440 -710 {lab=OUTDIFF} N 970 -930 1070 -930 {lab=VCC} N 970 -590 1070 -590 {lab=SN} N 1200 -1250 1200 -1190 {lab=#net1} N 1690 -1250 1690 -1190 {lab=#net2} N 1440 -710 1440 -510 {lab=OUTDIFF} N 1300 -840 1300 -710 {lab=OUTDIFF} N 1790 -840 1790 -710 {lab=SAOUTF} N 1790 -710 1930 -710 {lab=SAOUTF} N 1170 -710 1300 -710 {lab=OUTDIFF} N 1170 -740 1170 -710 {lab=OUTDIFF} N 1440 -870 1440 -710 {lab=OUTDIFF} N 1550 -1320 1650 -1320 {lab=ZERO1} N 1060 -1320 1160 -1320 {lab=ZERO0} N 1440 -870 1510 -870 {lab=OUTDIFF} N 1440 -510 1510 -510 {lab=OUTDIFF} N 2040 -510 2070 -510 {lab=VSS} N 2040 -870 2070 -870 {lab=VCC} N 2010 -940 2040 -940 {lab=VCC} N 2040 -940 2040 -900 {lab=VCC} N 2010 -380 2040 -380 {lab=VSSI} N 2040 -420 2040 -380 {lab=VSSI} N 2040 -710 2040 -540 {lab=SAOUT} N 1930 -710 1930 -510 {lab=SAOUTF} N 2180 -1160 2210 -1160 {lab=VSS} N 2180 -1320 2210 -1320 {lab=VCC} N 2150 -1390 2180 -1390 {lab=VCC} N 2180 -1390 2180 -1350 {lab=VCC} N 2150 -1030 2180 -1030 {lab=VSSI} N 2180 -1070 2180 -1030 {lab=VSSI} N 2040 -1160 2140 -1160 {lab=ZERO2} N 2040 -1250 2040 -1160 {lab=ZERO2} N 1960 -1250 2040 -1250 {lab=ZERO2} N 1850 -1250 1880 -1250 {lab=#net4} N 1850 -1430 1850 -1250 {lab=#net4} N 1850 -1430 2370 -1430 {lab=#net4} N 2180 -1250 2370 -1250 {lab=#net4} N 2180 -1290 2180 -1250 {lab=#net4} N 2040 -1320 2040 -1250 {lab=ZERO2} N 2370 -1430 2370 -1250 {lab=#net4} N 2180 -1250 2180 -1190 {lab=#net4} N 2370 -840 2370 -710 {lab=SAOUT} N 2040 -1320 2140 -1320 {lab=ZERO2} N 1930 -870 2000 -870 {lab=SAOUTF} N 1930 -510 2000 -510 {lab=SAOUTF} N 1550 -710 1790 -710 {lab=SAOUTF} N 2260 -710 2370 -710 {lab=SAOUT} N 1930 -870 1930 -710 {lab=SAOUTF} N 2040 -840 2040 -710 {lab=SAOUT} N 1550 -840 1550 -710 {lab=SAOUTF} N 2260 -810 2290 -810 {lab=VCC} N 2230 -880 2260 -880 {lab=VCC} N 2260 -880 2260 -840 {lab=VCC} N 2260 -780 2260 -710 {lab=SAOUT} N 720 -590 750 -590 {lab=VCC} N 550 -650 550 -620 {lab=SP} N 660 -650 750 -650 {lab=SP} N 750 -650 750 -620 {lab=SP} N 550 -650 660 -650 {lab=SP} N 550 -590 580 -590 {lab=VCC} N 520 -410 550 -410 {lab=VSS} N 750 -410 780 -410 {lab=VSS} N 590 -410 710 -410 {lab=GP} N 590 -460 590 -410 {lab=GP} N 550 -460 590 -460 {lab=GP} N 550 -490 550 -460 {lab=GP} N 750 -470 750 -440 {lab=OUTDIFF} N 750 -380 750 -360 {lab=VSSI} N 650 -360 750 -360 {lab=VSSI} N 550 -380 550 -360 {lab=VSSI} N 620 -320 650 -320 {lab=VSSI} N 650 -360 650 -320 {lab=VSSI} N 660 -780 690 -780 {lab=VCC} N 660 -680 660 -650 {lab=SP} N 660 -830 660 -810 {lab=VCC} N 750 -470 810 -470 {lab=OUTDIFF} N 660 -750 660 -740 {lab=#net5} N 550 -460 550 -440 { lab=GP} N 490 -590 510 -590 { lab=MINUS} N 790 -590 810 -590 { lab=PLUS} N 910 -640 930 -640 { lab=MINUS} N 1210 -640 1230 -640 { lab=PLUS} N 1300 -1250 1300 -900 {lab=#net1} N 1790 -1250 1790 -900 {lab=#net2} N 2370 -1250 2370 -900 {lab=#net4} N 570 -780 620 -780 { lab=GP} N 990 -510 1030 -510 { lab=GN} N 2040 -710 2260 -710 {lab=SAOUT} N 550 -360 650 -360 {lab=VSSI} N 750 -490 750 -470 {lab=OUTDIFF} N 970 -820 970 -800 {lab=GN} N 1170 -840 1170 -800 {lab=#net6} N 550 -560 550 -550 {lab=#net7} N 750 -560 750 -550 {lab=#net8} N 1010 -870 1030 -870 { lab=GN} N 970 -840 970 -820 { lab=GN} C {title.sym} 160 -30 0 0 {name=l1 author="Stefan Schippers"} C {ipin.sym} 110 -850 0 0 { name=p92 lab=CAL } C {ipin.sym} 110 -910 0 0 { name=p93 lab=PLUS } C {ipin.sym} 110 -950 0 0 { name=p94 lab=MINUS } C {ipin.sym} 110 -990 0 0 { name=p95 lab=EN } C {ipin.sym} 110 -780 0 0 { name=p96 lab=VSS } C {ipin.sym} 110 -810 0 0 { name=p97 lab=VCC } C {vsource_arith.sym} 120 -420 0 0 {name=E5 VOL=temper MAX=200 MIN=-200} C {lab_pin.sym} 120 -470 0 1 {name=p113 lab=TEMPERAT} C {lab_pin.sym} 120 -390 0 0 {name=p114 lab=VSS} C {opin.sym} 180 -880 0 0 { name=p116 lab=SAOUT } C {lab_pin.sym} 200 -570 0 1 {name=p126 lab=CALB} C {lab_pin.sym} 120 -570 0 0 {name=l50 lab=CAL} C {code.sym} 840 -190 0 0 {name=STIMULI only_toplevel=true xxplace=end value="* .option SCALE=1e-6 .option method=gear .param VCC=0.9 .param VDL='VCC/2+0.2' .param ABSVAR=0.05 .temp 25 .param RNDVAL = 'agauss(0, 10, 1)' ** to generate following file: ** copy .../share/doc/xschem/ngspice/stimuli.autozero_comp to simulation directory ** then do 'Simulation->Utile Stimuli Editor (GUI)' and press 'Translate' .include \\"stimuli_autozero_comp.cir\\" ** download models from here: ** http://ptm.asu.edu/modelcard/2006/130nm_bulk.pm ** and save to 'models_autozero_comp.txt' in simulation directory .include \\"models_autozero_comp.txt\\" * .tran 0.1n 900n uic .control * setseed 17 * reset * echo Seed=$rndseed let run=1 dowhile run <= 300 if run > 1 set appendwrite reset end * save saout cal i(vvcc) en plus minus saoutf outdiff save all tran 0.5n 900n uic write autozero_comp.raw let run = run + 1 end quit 0 .endc "} C {inv-2.sym} 160 -570 0 0 {name=x14 m=1 + wn=0.6u ln=0.2u + wp=1u lp=0.2u + VCCPIN=VCC VCCBPIN=VCC VSSPIN=VSS VSSBPIN=VSS} C {inv-2.sym} 160 -700 0 0 {name=x5 m=1 + wn=0.6u ln=0.2u + wp=1u lp=0.2u + VCCPIN=VCC VCCBPIN=VCC VSSPIN=VSS VSSBPIN=VSS} C {lab_pin.sym} 120 -700 0 0 {name=p15 lab=CALB} C {lab_pin.sym} 200 -700 0 1 {name=l4 lab=CALBB} C {lab_pin.sym} 390 -530 0 1 {name=p283 lab=VSS} C {lab_pin.sym} 320 -530 0 0 {name=l56 lab=EN} C {lab_pin.sym} 360 -480 0 0 {name=p284 lab=VSS} C {lab_pin.sym} 360 -580 0 0 {name=p199 lab=VSSI} C {nmos4-v.sym} 340 -530 0 0 {name=M67 verilog_gate=nmos del=50,50,50 model=nmos w=5u l=0.13u extra="delvto='agauss(0,ABSVAR,3)'"} C {parax_cap.sym} 360 -470 0 0 {name=c38 value=2p} C {passgate.sym} 940 -1250 0 1 {name=x1 m=1 + wn=0.4u ln=0.13u + wp=0.4u lp=0.13u + VCCBPIN=VCC VSSBPIN=VSS extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 940 -1280 0 1 {name=l19 sig_type=std_logic lab=CALB} C {lab_pin.sym} 940 -1220 0 1 {name=l44 sig_type=std_logic lab=CALBB} C {nmos4-v.sym} 1180 -1160 0 0 {name=M3 verilog_gate=nmos del=50,50,50 model=nmos w=1.0u l=1.0u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1230 -1160 0 1 {name=p179 lab=VSS} C {pmos4-v.sym} 1180 -1320 0 0 {name=M4 verilog_gate=pmos del=50,50,50 model=pmos w=2.0u l=1.0u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1230 -1320 0 1 {name=p180 lab=VCC} C {lab_pin.sym} 1170 -1390 0 0 {name=p181 lab=VCC} C {lab_pin.sym} 1170 -1030 0 0 {name=p182 lab=VSSI} C {passgate.sym} 1430 -1250 0 1 {name=x2 m=1 + wn=0.4u ln=0.13u + wp=0.4u lp=0.13u + VCCBPIN=VCC VSSBPIN=VSS extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1430 -1280 0 1 {name=l45 sig_type=std_logic lab=CALB} C {lab_pin.sym} 1430 -1220 0 1 {name=l46 sig_type=std_logic lab=CALBB} C {nmos4-v.sym} 1670 -1160 0 0 {name=M7 verilog_gate=nmos del=50,50,50 model=nmos w=1.3u l=1.0u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1720 -1160 0 1 {name=p183 lab=VSS} C {pmos4-v.sym} 1670 -1320 0 0 {name=M9 verilog_gate=pmos del=50,50,50 model=pmos w=2.6u l=1.0u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1720 -1320 0 1 {name=p184 lab=VCC} C {lab_pin.sym} 1660 -1390 0 0 {name=p185 lab=VCC} C {lab_pin.sym} 1660 -1030 0 0 {name=p186 lab=VSSI} C {lab_pin.sym} 1550 -1310 0 0 {name=l47 lab=ZERO1} C {lab_pin.sym} 1060 -1310 0 0 {name=l48 lab=ZERO0} C {nmos4-v.sym} 950 -640 0 0 {name=M20 verilog_gate=nmos del=50,50,50 model=nmos w=2u l=0.4u extra="delvto='agauss(0,ABSVAR,3)'"} C {nmos4-v.sym} 1190 -640 0 1 {name=M8 verilog_gate=nmos del=50,50,50 model=nmos w=2u l=0.4u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1000 -640 0 1 {name=p187 lab=VSS} C {lab_pin.sym} 1140 -640 0 0 {name=p188 lab=VSS} C {pmos4-v.sym} 1150 -870 0 0 {name=M30 verilog_gate=pmos del=50,50,50 model=pmos w=2u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1200 -870 0 1 {name=p189 lab=VCC} C {pmos4-v.sym} 990 -870 0 1 {name=M12 verilog_gate=pmos del=50,50,50 model=pmos w=2u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 940 -870 0 0 {name=p190 lab=VCC} C {nmos4-v.sym} 1050 -510 0 0 {name=M32 verilog_gate=nmos del=50,50,50 model=nmos w=1u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1100 -510 0 1 {name=p191 lab=VSS} C {lab_pin.sym} 1070 -950 0 0 {name=p192 lab=VCC} C {lab_pin.sym} 1040 -380 0 0 {name=p193 lab=VSSI} C {nmos4-v.sym} 1530 -510 0 0 {name=M17 verilog_gate=nmos del=50,50,50 model=nmos w=1u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1580 -510 0 1 {name=p194 lab=VSS} C {pmos4-v.sym} 1530 -870 0 0 {name=M13 verilog_gate=pmos del=50,50,50 model=pmos w=2u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1580 -870 0 1 {name=p195 lab=VCC} C {lab_pin.sym} 1520 -940 0 0 {name=p196 lab=VCC} C {lab_pin.sym} 1520 -380 0 0 {name=p197 lab=VSSI} C {lab_pin.sym} 1790 -750 0 0 {name=l49 lab=SAOUTF} C {parax_cap.sym} 1620 -700 0 0 {name=c3 value=4f} C {lab_pin.sym} 1300 -750 0 0 {name=l51 lab=OUTDIFF} C {lab_pin.sym} 1070 -570 0 0 {name=l52 lab=SN} C {lab_pin.sym} 1030 -820 0 1 {name=l53 lab=GN} C {parax_cap.sym} 1060 -860 0 0 {name=c5 value=4f} C {parax_cap.sym} 990 -580 0 0 {name=c30 value=2f} C {parax_cap.sym} 1260 -700 0 0 {name=c31 value=4f} C {lab_pin.sym} 990 -510 0 0 {name=p198 lab=GN} C {lab_pin.sym} 1230 -640 0 1 {name=l54 lab=PLUS} C {lab_pin.sym} 910 -640 0 0 {name=l55 lab=MINUS} C {ammeter.sym} 1070 -450 0 0 {name=vdiffn} C {ammeter.sym} 1550 -450 0 0 {name=v3} C {ammeter.sym} 1690 -1100 0 0 {name=v4} C {ammeter.sym} 1200 -1100 0 0 {name=v6} C {nmos4-v.sym} 2020 -510 0 0 {name=M19 verilog_gate=nmos del=50,50,50 model=nmos w=1u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 2070 -510 0 1 {name=p9 lab=VSS} C {pmos4-v.sym} 2020 -870 0 0 {name=M21 verilog_gate=pmos del=50,50,50 model=pmos w=2u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 2070 -870 0 1 {name=p10 lab=VCC} C {lab_pin.sym} 2010 -940 0 0 {name=p11 lab=VCC} C {lab_pin.sym} 2010 -380 0 0 {name=p12 lab=VSSI} C {parax_cap.sym} 2110 -700 0 0 {name=c1 value=4f} C {ammeter.sym} 2040 -450 0 0 {name=v1} C {lab_pin.sym} 2370 -710 0 1 {name=l3 lab=SAOUT} C {passgate.sym} 1920 -1250 0 1 {name=x3 m=1 + wn=0.4u ln=0.13u + wp=0.4u lp=0.13u + VCCBPIN=VCC VSSBPIN=VSS extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 1920 -1280 0 1 {name=l5 sig_type=std_logic lab=CALB} C {lab_pin.sym} 1920 -1220 0 1 {name=l6 sig_type=std_logic lab=CALBB} C {nmos4-v.sym} 2160 -1160 0 0 {name=M23 verilog_gate=nmos del=50,50,50 model=nmos w=1.5u l=1.0u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 2210 -1160 0 1 {name=p13 lab=VSS} C {pmos4-v.sym} 2160 -1320 0 0 {name=M24 verilog_gate=pmos del=50,50,50 model=pmos w=3u l=1.0u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 2210 -1320 0 1 {name=p14 lab=VCC} C {lab_pin.sym} 2150 -1390 0 0 {name=p16 lab=VCC} C {lab_pin.sym} 2150 -1030 0 0 {name=p17 lab=VSSI} C {lab_pin.sym} 2040 -1310 0 0 {name=l8 lab=ZERO2} C {ammeter.sym} 2180 -1100 0 0 {name=v5} C {pmos4-v.sym} 2240 -810 0 0 {name=M6 verilog_gate=pmos del=50,50,50 model=pmos w=0.6u l=0.2u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 2290 -810 0 1 {name=p18 lab=VCC} C {lab_pin.sym} 2230 -880 0 0 {name=p19 lab=VCC} C {lab_pin.sym} 2220 -810 0 0 {name=l2 lab=EN} C {pmos4-v.sym} 770 -590 0 1 {name=M18 verilog_gate=pmos del=50,50,50 model=pmos w=4u l=0.4u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 720 -590 0 0 {name=p20 lab=VCC} C {pmos4-v.sym} 530 -590 0 0 {name=M25 verilog_gate=pmos del=50,50,50 model=pmos w=4u l=0.4u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 580 -590 0 1 {name=p21 lab=VCC} C {lab_pin.sym} 520 -410 0 0 {name=p22 lab=VSS} C {lab_pin.sym} 780 -410 0 1 {name=p23 lab=VSS} C {lab_pin.sym} 620 -320 0 0 {name=p24 lab=VSSI} C {pmos4-v.sym} 640 -780 0 0 {name=M28 verilog_gate=pmos del=50,50,50 model=pmos w=2u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {lab_pin.sym} 690 -780 0 1 {name=p25 lab=VCC} C {lab_pin.sym} 660 -830 0 0 {name=p26 lab=VCC} C {lab_pin.sym} 570 -780 0 0 {name=l7 lab=GP} C {lab_pin.sym} 550 -480 0 1 {name=l9 lab=GP} C {lab_pin.sym} 490 -590 0 0 {name=l10 lab=MINUS} C {lab_pin.sym} 810 -590 0 1 {name=l11 lab=PLUS} C {lab_pin.sym} 810 -470 0 1 {name=l12 lab=OUTDIFF} C {nmos4-v.sym} 730 -410 0 0 {name=M26 verilog_gate=nmos del=50,50,50 model=nmos w=1u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {nmos4-v.sym} 570 -410 0 1 {name=M1 verilog_gate=nmos del=50,50,50 model=nmos w=1u l=0.5u extra="delvto='agauss(0,ABSVAR,3)'"} C {parax_cap.sym} 630 -400 0 0 {name=c2 value=4f} C {lab_pin.sym} 660 -670 0 0 {name=l13 lab=SP} C {launcher.sym} 930 -260 0 0 {name=h2 descr="Simulate" tclcommand="xschem netlist; xschem simulate"} C {parax_cap.sym} 1060 -1150 0 0 {name=c4 value=5f} C {parax_cap.sym} 1550 -1150 0 0 {name=c6 value=5f} C {parax_cap.sym} 2040 -1150 0 0 {name=c7 value=5f} C {launcher.sym} 75 -1075 0 0 {name=h1 descr="Reload Waves" tclcommand=" xschem raw_read $netlist_dir/[file tail [file rootname [xschem get current_name]]].raw proc get_histo \{varname varlist mean min max step\} \{ xschem raw switch 0 proc xround \{a size\} \{ return [expr \{round($a/$size) * $size\}]\} #### get rounded data catch \{unset freq\} foreach v1 $varlist \{ set v1 [xround [expr \{$v1 - $mean\}] $step] if \{![info exists freq($v1)]\} \{ set freq($v1) 1\} else \{incr freq($v1)\} \} #### create histogram raw data in memory xschem raw new distrib distrib $varname $min $max $step xschem raw add freq0 set j 0 for \{set i $min\} \{$i <= $max\} \{set i [expr \{$i + $step\}] \} \{ set ii [xround $i $step] set v1 0 if \{[info exists freq($ii)]\} \{ set v1 $freq($ii) \} xschem raw set freq0 $j $v1 incr j \} \} proc add_histo \{varname varlist mean min max step\} \{ xschem raw switch 1 proc xround \{a size\} \{ return [expr \{round($a/$size) * $size\}]\} #### get rounded data catch \{unset freq\} foreach v1 $varlist \{ set v1 [xround [expr \{$v1 - $mean\}] $step] if \{![info exists freq($v1)]\} \{ set freq($v1) 1\} else \{incr freq($v1)\} \} #### create histogram raw data in memory xschem raw add freq1 set j 0 for \{set i $min\} \{$i <= $max\} \{set i [expr \{$i + $step\}] \} \{ set ii [xround $i $step] set v1 0 if \{[info exists freq($ii)]\} \{ set v1 $freq($ii) \} xschem raw set freq1 $j $v1 incr j \} \} proc get_values \{\} \{ set l0 \{\} set dset [xschem raw datasets] set p [xschem raw pos_at time 259n] for \{set i 0\} \{ $i < $dset\} \{ incr i\} \{ set v [xschem raw value saout $p $i] lappend l0 $v \} set l1 \{\} set p [xschem raw pos_at time 339n] for \{set i 0\} \{ $i < $dset\} \{ incr i\} \{ set v [xschem raw value saout $p $i] lappend l1 $v \} get_histo saout $l0 0 0 0.9 0.01 add_histo saout $l1 0 0 0.9 0.01 xschem raw switch 0 \} get_values xschem redraw " } C {ammeter.sym} 660 -710 0 0 {name=vdiffp} C {ammeter.sym} 1300 -870 0 0 {name=vcalib0} C {ammeter.sym} 1790 -870 0 0 {name=vcalib1} C {ammeter.sym} 2370 -870 0 0 {name=vcalib2} C {ammeter.sym} 970 -770 0 0 {name=vnleft} C {ammeter.sym} 1170 -770 0 1 {name=vnright} C {ammeter.sym} 550 -520 0 0 {name=vpleft} C {ammeter.sym} 750 -520 0 0 {name=vpright}