Version 4 SHEET 1 5864 2120 WIRE 1264 -1328 1232 -1328 WIRE 1376 -1328 1344 -1328 WIRE 1264 -1296 1232 -1296 WIRE 1376 -1296 1344 -1296 WIRE 1264 -1264 1232 -1264 WIRE 1376 -1264 1344 -1264 WIRE 1264 -1232 1232 -1232 WIRE 1376 -1232 1344 -1232 WIRE 1264 -1200 1232 -1200 WIRE 1376 -1200 1344 -1200 WIRE -288 -1184 -336 -1184 WIRE 208 -1184 160 -1184 WIRE 736 -1184 672 -1184 WIRE 1264 -1168 1232 -1168 WIRE 1376 -1168 1344 -1168 WIRE -336 -1152 -336 -1184 WIRE 160 -1152 160 -1184 WIRE 672 -1152 672 -1184 WIRE 1264 -1136 1232 -1136 WIRE 1376 -1136 1344 -1136 WIRE 1264 -1104 1232 -1104 WIRE 1376 -1104 1344 -1104 WIRE 1264 -1072 1232 -1072 WIRE 1376 -1072 1344 -1072 WIRE 1264 -1040 1232 -1040 WIRE 1376 -1040 1344 -1040 WIRE -336 -1024 -336 -1072 WIRE 160 -1024 160 -1072 WIRE 672 -1024 672 -1072 WIRE 1264 -1008 1232 -1008 WIRE 1376 -1008 1344 -1008 WIRE 1264 -976 1232 -976 WIRE 1376 -976 1344 -976 WIRE 368 -752 304 -752 WIRE 624 -752 560 -752 WIRE 640 -752 624 -752 WIRE -208 -720 -576 -720 WIRE 304 -720 304 -752 WIRE 560 -720 560 -752 WIRE 16 -672 -32 -672 WIRE -208 -656 -256 -656 WIRE 304 -608 304 -640 WIRE 560 -608 560 -640 WIRE -448 -464 -624 -464 WIRE -48 -464 -96 -464 WIRE -448 -432 -528 -432 WIRE -48 -432 -96 -432 WIRE -448 -400 -496 -400 WIRE -48 -400 -96 -400 WIRE 224 -400 160 -400 WIRE 240 -400 224 -400 WIRE -448 -368 -496 -368 WIRE -48 -368 -96 -368 WIRE 160 -368 160 -400 WIRE -448 -336 -592 -336 WIRE -48 -336 -96 -336 WIRE -448 -304 -560 -304 WIRE -48 -304 -96 -304 WIRE -448 -272 -544 -272 WIRE -48 -272 -96 -272 WIRE 160 -256 160 -288 WIRE -448 -240 -560 -240 WIRE -48 -240 -96 -240 FLAG -336 -1024 0 FLAG 160 -1024 0 FLAG -288 -1184 clk IOPIN -288 -1184 Out FLAG 208 -1184 start_adc IOPIN 208 -1184 Out FLAG -256 -656 start_adc FLAG 16 -672 signal_sh FLAG -576 -720 signal IOPIN -576 -720 In FLAG 672 -1024 0 FLAG 736 -1184 signal IOPIN 736 -1184 Out FLAG 304 -608 0 FLAG 368 -752 vref IOPIN 368 -752 Out FLAG 160 -256 0 FLAG 224 -400 dac_sar FLAG 560 -608 0 FLAG 624 -752 comp FLAG -624 -464 clk IOPIN -624 -464 In FLAG -528 -432 start_adc IOPIN -528 -432 In FLAG -496 -400 comp FLAG -48 -464 s7 IOPIN -48 -464 Out FLAG -48 -432 s6 IOPIN -48 -432 Out FLAG -48 -400 s5 IOPIN -48 -400 Out FLAG -48 -368 s4 IOPIN -48 -368 Out FLAG -48 -336 s3 IOPIN -48 -336 Out FLAG -48 -304 s2 IOPIN -48 -304 Out FLAG -48 -272 s1 IOPIN -48 -272 Out FLAG -48 -240 s0 IOPIN -48 -240 Out FLAG -496 -368 starts FLAG -592 -336 serdat IOPIN -592 -336 Out FLAG -560 -304 serframe IOPIN -560 -304 Out FLAG -544 -272 convdone IOPIN -544 -272 Out FLAG -560 -240 qdatvalid IOPIN -560 -240 Out FLAG 1232 -1264 convdone FLAG 1376 -1264 convdone_ FLAG 1232 -1232 qdatvalid FLAG 1376 -1232 qdatvalid_ FLAG 1232 -1200 s7 FLAG 1376 -1200 s7_ FLAG 1232 -1168 s6 FLAG 1376 -1168 s6_ FLAG 1232 -1136 s5 FLAG 1376 -1136 s5_ FLAG 1232 -1104 s4 FLAG 1376 -1104 s4_ FLAG 1232 -1072 s3 FLAG 1376 -1072 s3_ FLAG 1232 -1040 s2 FLAG 1376 -1040 s2_ FLAG 1232 -1008 s1 FLAG 1376 -1008 s1_ FLAG 1232 -976 s0 FLAG 1376 -976 s0_ FLAG 1232 -1328 serdat FLAG 1376 -1328 serdat_ FLAG 1232 -1296 serframe FLAG 1376 -1296 serframe_ SYMBOL voltage -336 -1168 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 WINDOW 3 -229 224 Left 0 SYMATTR InstName V1 SYMATTR Value PULSE(0 {VLOGIC} 0 1n 1n 49n 100n) SYMBOL voltage 160 -1168 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 WINDOW 3 -229 223 Left 0 SYMATTR InstName V2 SYMATTR Value PULSE(0 {VLOGIC} 30n 1n 1n 300n 2u) SYMBOL SpecialFunctions\\sample -128 -688 R0 SYMATTR InstName A38 SYMATTR SpiceLine REF={VLOGIC*0.5} SYMBOL voltage 672 -1168 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 WINDOW 3 -258 225 Left 0 SYMATTR InstName V3 SYMATTR Value PWL(0 0.5 1.5u 0.5 1.6u 1 3.5u 1 3.6u 1.5 5.5u 1.5 5.6u 2 7.5u 2 7.6u 2.5) SYMBOL voltage 304 -736 R0 SYMATTR InstName V4 SYMATTR Value 2.56 SYMBOL bv 160 -384 R0 SYMATTR InstName B1 SYMATTR Value V=int(V(s7)*128+V(s6)*64+V(s5)*32+V(s4)*16+V(s3)*8+V(s2)*4+V(s1)*2+V(s0)+0.5)/256*V(vref)/{VLOGIC} SYMBOL bv 560 -736 R0 SYMATTR InstName B2 SYMATTR Value V={VLOGIC}*0.5*(1+tanh(10000*(V(signal_sh)-V(dac_sar)+V(vref)/512))) SYMBOL SAR8bit -288 -400 R0 SYMATTR InstName X1 SYMATTR SpiceLine VLOGIC={VLOGIC} SYMBOL dview12 1280 -1184 R0 SYMATTR InstName U1 TEXT -728 -1128 Left 0 !.tran 0 10u 0 10n TEXT -728 -1088 Left 0 !.options plotwinsize=0 TEXT -728 -1032 Left 0 !.options reltol=0.001 TEXT -728 -1176 Left 0 !.param VLOGIC=3 TEXT 408 -432 Left 0 ;DAC TEXT 776 -768 Left 0 ;COMPARATOR TEXT -416 -776 Left 0 ;SAMPLE/HOLD TEXT -280 -520 Left 0 ;SAR-LOGIC TEXT -672 -864 Left 0 ;8Bit ADC TEXT 288 -784 Left 0 ;REFERENCE TEXT -728 -992 Left 0 !.options method=gear TEXT 816 -680 Left 0 ;Watch the small extra half LSB offset Vref/512 TEXT -40 -1368 Left 0 ;Enable saving the subcircuit node values if you want probe the lower level SAR circuit.\nControl Panel -> Save Defaults -> x Save Subcircuits ...\n \nDVIEW12 is only used to get a nice plot. The same could be done with "Plot Defs"\nor simply by plotting with equations (offsets), e.g. V(s5)+5. TEXT -720 -1368 Left 0 ;8Bit - ADC With Successive Approximation (SAR)\n \nV 1.0 05/06/2007 TEXT 1056 -1368 Left 0 !.include dview.lib TEXT 1256 -1392 Left 0 ;Display Help RECTANGLE Normal 1488 -144 -736 -896 RECTANGLE Normal 160 -560 -448 -800 2 RECTANGLE Normal 1424 -560 496 -800 2 RECTANGLE Normal 1424 -208 80 -464 2