100 REM **********MINIMOS**********R.W.ADAMSON.********** 110 REM 120 REM SIMPLE CIRCUIT ANALYSIS PROGRAM 130 REM MAIN SHORTCOMINGS: 140 REM A. NO INTERNODE (FEEDTHROUGH) CAPACITANCIES! 150 REM B. ALL PMOS BODIES AT VDD, ALL NMOS BODIES AT GND 160 REM 170 REM VERSION DATE MODIFICATION 180 REM 1A 29/JAN/78 INITIAL PROG. 190 REM 1B 02/FEB/78 EDITING FEATURES ADDED, 200 REM MULTIPLE RUNS POSSIBLE WITH MODIFIED DATA 210 REM 1C 06/FEB/78 TIME SERVO MODDED TO FIX BUG CAUSING CLOCK OVERSHOOT 230 REM 1D 08/FEB/80 ADDED LISTING OF COINCIDENT NODES 240 REM COMPRESSED VARIABLE NAMES TO MAKE MORE SPACE 250 REM REPEAT REQUEST IF NO PLOT NODES! 260 REM 270 REM ARRAYS D1,D2,D3,S1,S2.........L1,L2,L3 HOLD DRAIN,SOURCE AND 280 REM GATE NODES,WIDTH AND LENGTH OF PMOS,NMOS AND DMOS. 290 DIM D1(20),S1(10),G1(10),W1(10),L1(10) 300 DIM D2(10),S2(10),G2(10),W2(10),L2(10) 310 DIM D3(10),S3(10),G3(10),W3(10),L3(10) 320 REM ARRAYS X1,Y1,R1 HOLD RESISTOR NODES AND VALUE. 330 DIM X1(10),Y1(10),R1(10) 340 REM C1,C2 HOLD NODE DIFF CAP AND LIN CAP. 350 REM Z1 TO Z4 HOLD CLOCK BREAKPOINTS,Z5,Z6 ARE RISE AND FALL RATES. 360 DIM C1(20),C2(20),Z1(10),Z2(10),Z3(10),Z4(10),Z5(10),Z6(10) 370 REM V IS NODE/CLOCK VOLTAGES. 380 REM Z8 IS PLOT NODE #S,Z9 IS PLOT OP ARRAY. 390 DIM V(20),Z8(10),Z9(51) 400 REM I1 IS NODE CURRENTS,ALSO NODE/CLOCK RATES 410 REM C3 IS TOTAL NODE CAP, 420 DIM I1(20),C3(20) 430 REM Y1$ HOLDS PLOT SYMBOLS FOR COINCIDENT NODES 440 REM POINTERS TO COINCIDENT NODES IN OP ARRAY AND # OF 450 REM COINCIDENCES ARE COMPRESSED INTO D1(11-16) BECAUSE OF LACK 460 REM OF SYMBOL TABLE SPACE 470 DIM Y1$(5,10) 480 PRINT "------------- ----------" 490 PRINT "BASIC MINIMOS (VERSION 1D) 8/FEB/80." 500 PRINT "------------- ----------" 510 PRINT 520 PRINT "RUN ON "&DAT$(0)&"." 530 PRINT "----------------" 540 PRINT 550 PRINT 560 REM INPUT FUNDAMENTAL DATA,VARIABLES CAN BE DEDUCED. 570 PRINT "NODES CLOCKS PMOS NMOS DMOS RES PLOT FINISH" 580 INPUT N1,K,M,N,D,R,T1,T2 590 PRINT "VT0 NVT0 DVT0 B0 NB0 BE NBE" 600 REM INPUT THRESHOLDS,GAINS,BODY EFFECTS 610 INPUT V1,V2,V3,K1,K2,B1,B2 620 IF M<1 GOTO 680 630 PRINT "PMOS...D S G W L" 640 REM FOR EACH PMOS,GET TERMINAL NODES,WIDTH,LENGTH 650 FOR I=1 TO M 660 INPUT D1(I),S1(I),G1(I),W1(I),L1(I) 670 NEXT I 680 IF N<1 GOTO 740 690 PRINT "NMOS...D S G W L" 700 REM FOR EACH NMOS,GET TERMINAL NODES,WIDTH,LENGTH 710 FOR I=1 TO N 720 INPUT D2(I),S2(I),G2(I),W2(I),L2(I) 730 NEXT I 740 IF D<1 GOTO 800 750 PRINT "DMOS...D S G W L" 760 REM FOR EACH DMOS,GET TERMINAL NODES,WIDTH,LENGTH 770 FOR I=1 TO D 780 INPUT D3(I),S3(I),G3(I),W3(I),L3(I) 790 NEXT I 800 IF R<1 GOTO 860 810 PRINT "RES...FROM TO VAL(KOHM)" 820 REM FOR EACH RESISTOR,GET TERMINAL NODES AND VALUE 830 FOR I=1 TO R 840 INPUT X1(I),Y1(I),R1(I) 850 NEXT I 860 PRINT "DIFF CAP AT 0V(PF) LIN CAP" 870 FOR I=K+1 TO K+N1 880 REM FOR EACH NODE GET DIFFUSION CAPACITY AND LINEAR CAPACITY 890 PRINT I;" "; 900 INPUT C1(I),C2(I) 910 NEXT I 920 PRINT "CLOCK DETAILS" 930 PRINT " T1 T2 T3 T4 RISE FALL (VOLTS/NS)" 940 REM FOR EACH CLOCK,GET 4 BREAKPOINTS,RISE AND FALL RATES. 950 REM CLOCK RATE IS 'RISE' FROM T1 TO T2,'FALL' FROM T3 TO T4. 960 REM CLOCK HAS ZERO RATE AT T=T4 970 FOR I=1 TO K 980 PRINT I;" "; 990 INPUT Z1(I),Z2(I),Z3(I),Z4(I),Z5(I),Z6(I) 1000 NEXT I 1010 REM GIVE USER THE OPPORTUNITY TO FIX ANY BUGS BEFORE BEGINNING. 1020 PRINT "DO YOU WANT TO EDIT"; 1030 INPUT A$ 1040 REM BRANCH IF NEEDED TO EDIT LOOP 1050 IF A$="YES" GOTO 4540 1060 PRINT "INITIAL VOLTS" 1070 REM INPUT INITIAL CLOCK AND NODE VOLTAGES 1080 FOR I=1 TO K+N1 1090 PRINT "V(";I;") "; 1100 INPUT V(I) 1110 NEXT I 1120 REM GET # POINTS TO PLOT,THEN THEIR CLOCK/NODE #S 1130 REM THEY ARE ASSIGNED LETTERS A-J IN ORDER INPUT 1140 PRINT "# POINTS TO PLOT"; 1150 INPUT Z7 1160 IF Z7<1 GOTO 1140 1170 PRINT "ENTER THEM NOW..."; 1180 FOR I=1 TO Z7 1190 INPUT Z8(I) 1200 NEXT I 1210 PRINT "MAX VOLTS"; 1220 INPUT S1 1230 S2=2 1240 IF S1>10 GOTO 1260 1250 S2=5 1260 PRINT 1270 PRINT "STARTING." 1280 PRINT 1290 REM D4 IS ITERATION CONTROL,LIMITS MAX EXCURSION PER LOOP 1300 D4=0.5 1310 REM T IS MAIN TIMER 1320 T=0 1330 REM T3 IS NEXT REQD PLOT TIME,INITIALLY 0 TO SHOW INIT CONDITIONS 1340 T3=0 1350 REM NODE 0 IS REFERENCE NODE AT 0V. 1360 V(0)=0 1370 REM USE MAX VOLTS INFO TO PRINT CORRECT SCALE 1380 IF S1>10 GOTO 1420 1390 PRINT "TIME(NS)","0V 2V 4V 6V 8V"; 1400 PRINT " 10V COINCIDENT" 1410 GOTO 1440 1420 PRINT "TIME(NS)","0V 5V 10V 15V 20V"; 1430 PRINT " 25V COINCIDENT" 1440 PRINT " ","I---------I---------I---------I---------I---------I"; 1450 PRINT " NODES" 1460 REM MODIFY INPUT DATA TO KEEP UNNECESSARY WORK OUT OF LOOP 1470 FOR I=1 TO M 1480 REM L1 NOW BECOMES GAIN FACTOR OF PMOS(=K'*W/L) 1490 L1(I)=K1*1E-6*W1(I)/L1(I) 1500 NEXT I 1510 FOR I=1 TO N 1520 REM L2 DITTO FOR NMOS 1530 L2(I)=K2*1E-6*W2(I)/L2(I) 1540 NEXT I 1550 FOR I=1 TO D 1560 REM AND L3 DITTO FOR DMOS 1570 L3(I)=K1*1E-6*W3(I)/L3(I) 1580 NEXT I 1590 FOR I=1 TO R 1600 REM R IS INPUT IN K-OHMS 1610 R1(I)=R1(I)*1E3 1620 NEXT I 1630 FOR I=K+1 TO K+N1 1640 REM C IS INPUT IN PF,BUT AS TIME IS IN NS WE USE NF. 1650 C1(I)=C1(I)*1E-3 1660 C2(I)=C2(I)*1E-3 1670 NEXT I 1680 REM UPDATE T3 TO NEXT PLOT TIME 1690 T3=T3+T1 1700 REM PLOT SECTION 1710 REM ZERO THE COINCIDENCE MEMORIES 1720 D1(11)=0 1730 FOR I=1 TO 5 1740 Y1$(I)="" 1750 NEXT I 1760 FOR I=1 TO 51 1770 REM -1 IN ARRAY MEANS PRINT A SPACE 1780 REM 0 MEANS A '.' 1790 REM 1-10 MEAN 'A' TO 'J' 1800 Z9(I)=-1 1810 NEXT I 1820 REM DRAW LINES OF DOTS FOR VISUAL AID. 1830 REM THEY WILL BE OVERWRITTEN BY ANY CLASHING DATA 1840 Z9(1)=0 1850 Z9(21)=0 1860 Z9(41)=0 1870 FOR I=1 TO Z7 1880 REM FIND POSITION OF THIS NODE IN OP ARRAY 1890 Z0=INT(V(Z8(I))*S2+1.5) 1900 IF Z0>51 GOTO 2070 1910 IF Z0<1 GOTO 2070 1920 REM SET IT TO CURRENT # (CORRESPONDS TO A LETTER A-J) 1930 REM IF DATA CLASH,LATEST WILL WIN. 1940 REM CHECK FOR COINCIDENCE 1950 IF Z9(Z0)<.5 GOTO 2060 1960 REM THIS IS A COINCIDENCE,HAVE WE HAD IT BEFORE? 1970 FOR Z=1 TO D1(11) 1980 IF D1(11+Z)=Z0 GOTO 2050 1990 NEXT Z 2000 D1(11)=D1(11)+1 2010 D1(11+D1(11))=Z0 2020 Z=D1(11) 2030 REM INITIALISE THIS COINCIDENCE 2040 Y1$(Z)=CHR$(Z9(Z0)) 2050 Y1$(Z)=Y1$(Z)&CHR$(I) 2060 Z9(Z0)=I 2070 NEXT I 2080 REM PRINT CURRENT TIME (IN NS) 2090 PRINT T, 2100 REM NOW PRINT THE ARRAY 2110 REM EACH ELEMENT CORRESPONDS TO ' ','.',OR A LETTER A-J 2120 FOR I=1 TO 51 2130 Z0=Z9(I)+.5 2140 IF Z0>=0 GOTO 2170 2150 PRINT " "; 2160 GOTO 2480 2170 IF Z0>=1 GOTO 2200 2180 PRINT "."; 2190 GOTO 2480 2200 IF Z0>=2 GOTO 2230 2210 PRINT "A"; 2220 GOTO 2480 2230 IF Z0>=3 GOTO 2260 2240 PRINT "B"; 2250 GOTO 2480 2260 IF Z0>=4 GOTO 2290 2270 PRINT "C"; 2280 GOTO 2480 2290 IF Z0>=5 GOTO 2320 2300 PRINT "D"; 2310 GOTO 2480 2320 IF Z0>=6 GOTO 2350 2330 PRINT "E"; 2340 GOTO 2480 2350 IF Z0>=7 GOTO 2380 2360 PRINT "F"; 2370 GOTO 2480 2380 IF Z0>=8 GOTO 2410 2390 PRINT "G"; 2400 GOTO 2480 2410 IF Z0>=9 GOTO 2440 2420 PRINT "H"; 2430 GOTO 2480 2440 IF Z0>=10 GOTO 2470 2450 PRINT "I"; 2460 GOTO 2480 2470 PRINT "J"; 2480 NEXT I 2490 REM ANY COINCIDENCES? 2500 REM PRINT THEM IF SO 2510 FOR I=1 TO D1(11) 2520 PRINT " "&Y1$(I); 2530 NEXT I 2540 PRINT 2550 REM IS IT TIME TO STOP YET? 2560 IF T>=T2 GOTO 4170 2570 REM 2580 REM TOP OF MAIN ITERATIVE LOOP 2590 FOR I=K+1 TO K+N1 2600 REM ZERO THE NODE CURRENT ACCUMULATORS 2610 I1(I)=0 2620 REM EVALUATE NODE CAPACITY AS A POSSIBLE FUNCTION OF VOLTAGE 2630 C3(I)=C1(I)*.84/SQR(V(I)+.7)+C2(I) 2640 NEXT I 2650 REM PMOS LOOP,EACH TRANSISTOR IS CHECKED AND ITS IDD EVALUATED 2660 REM THIS CURRENT IS ADDED TO THAT OF ITS SOURCE NODE AND TAKEN 2670 REM FROM THAT OF ITS DRAIN NODE. 2680 FOR I=1 TO M 2690 Q1=V(D1(I)) 2700 Q2=V(S1(I)) 2710 Z=1 2720 REM IF TRANSISTOR IS IN 'INVERTED' MODE,SWAP VDD AND VSS 2730 IF Q1>Q2 GOTO 2790 2740 Z=Q1 2750 Q1=Q2 2760 Q2=Z 2770 Z=-1 2780 REM EFFECTIVE THRESHOLD IS VT0+BODY EFFECT 2790 Q4=V1+B1*SQR(Q2+.7) 2800 REM VDS=VDD-VSS 2810 Q5=Q1-Q2 2820 REM EFFECTIVE GATE VOLTS=VGG-VSS-EFFECTIVE THRESHOLD 2830 Q6=V(G1(I))-Q2-Q4 2840 REM IF <=0,NO IDD 2850 IF Q6<=0 GOTO 2960 2860 REM EFFECTIVE GAIN IS NOMINAL GAIN * VOLTAGE DEPENDANT FACTOR 2870 Q7=L1(I)/(1+.1*Q6) 2880 REM USE NORMAL MOS EQUNS FOR SATURATED OR UNSATURATED STATE 2890 IF Q6<=Q5 GOTO 2920 2900 I2=Z*Q7*(Q6+Q5/2)*Q5 2910 GOTO 2940 2920 I2=Z*Q7*Q6*Q6/2 2930 REM UPDATE NODE CURRENTS ACCORDING TO THIS TRANSISTOR 2940 I1(D1(I))=I1(D1(I))-I2 2950 I1(S1(I))=I1(S1(I))+I2 2960 NEXT I 2970 REM DITTO FOR NMOS 2980 REM NOTE THAT CLOCK #1 IS ASSIGNED AS VDD (=P-WELLS HERE) 2990 FOR I=1 TO N 3000 Q1=V(D2(I)) 3010 Q2=V(S2(I)) 3020 Z=1 3030 IF Q2>Q1 GOTO 3080 3040 Z=Q1 3050 Q1=Q2 3060 Q2=Z 3070 Z=-1 3080 Q4=V2+B2*SQR(V(1)-Q2+.7) 3090 Q5=Q2-Q1 3100 Q6=Q2-V(G2(I))-Q4 3110 Q7=L2(I)/(1+.1*Q6) 3120 IF Q6<=0 GOTO 3190 3130 IF Q6<=Q5 GOTO 3160 3140 I2=Z*Q7*(Q6+Q5/2)*Q5 3150 GOTO 3170 3160 I2=Z*Q7*Q6*Q6/2 3170 I1(D2(I))=I1(D2(I))+I2 3180 I1(S2(I))=I1(S2(I))-I2 3190 NEXT I 3200 REM DITTO FOR DMOS 3210 FOR I=1 TO D 3220 Q1=V(D3(I)) 3230 Q2=V(S3(I)) 3240 Z=1 3250 IF Q1>Q2 GOTO 3300 3260 Z=Q1 3270 Q1=Q2 3280 Q2=Z 3290 Z=-1 3300 Q4=V3+B1*SQR(Q2+.7) 3310 Q5=Q1-Q2 3320 Q6=V(G3(I))-Q2-Q4 3330 Q7=L3(I)/(1+.1*Q6) 3340 IF Q6<=0 GOTO 3410 3350 IF Q6<=Q5 GOTO 3380 3360 I2=Z*Q7*(Q6+Q5/2)*Q5 3370 GOTO 3390 3380 I2=Z*Q7*Q6*Q6/2 3390 I1(D3(I))=I1(D3(I))-I2 3400 I1(S3(I))=I1(S3(I))+I2 3410 NEXT I 3420 REM RESISTOR SECTION 3430 FOR I=1 TO R 3440 REM IR=(V1-V2)/R 3450 I2=(V(X1(I))-V(Y1(I)))/R1(I) 3460 I1(X1(I))=I1(X1(I))-I2 3470 I1(Y1(I))=I1(Y1(I))+I2 3480 NEXT I 3490 REM NODE CURRENTS ARE RESOLVED 3500 REM T4=LOOP TIME=TIME TO NEXT PLOT INITIALLY 3510 T4=T3-T 3520 REM L9 WILL REMEMBER FASTEST NODE RATE. 3530 L9=0 3540 FOR I=K+1 TO K+N1 3550 REM EVALUATE NODE RATES IN VOLTS/NANOSECOND 3560 REM RATE=CURRENT(MILLIAMPS)/CAPACITY(NANOFARADS) 3570 I1(I)=I1(I)/C3(I) 3580 IF L9>=ABS(I1(I)) GOTO 3600 3590 L9=ABS(I1(I)) 3600 NEXT I 3610 REM ADJUST THE LOOP TIME SO AS NOT TO CROSS A CLOCK BREAKPOINT 3620 FOR I=1 TO K 3630 IF T>=Z1(I) GOTO 3670 3640 IF T+T4<=Z1(I) GOTO 3670 3650 T4=Z1(I)-T 3660 GOTO 3780 3670 IF T>=Z2(I) GOTO 3710 3680 IF T+T4<=Z2(I) GOTO 3710 3690 T4=Z2(I)-T 3700 GOTO 3780 3710 IF T>=Z3(I) GOTO 3750 3720 IF T+T4<=Z3(I) GOTO 3750 3730 T4=Z3(I)-T 3740 GOTO 3780 3750 IF T>=Z4(I) GOTO 3780 3760 IF T+T4<=Z4(I) GOTO 3780 3770 T4=Z4(I)-T 3780 NEXT I 3790 REM NOW GET THE CLOCK RATES BY COMPARISON OF T AND BREAKPOINTS 3800 REM L9 STILL WATCHING FOR THE FASTEST RATE 3810 FOR I=1 TO K 3820 I1(I)=0 3830 IF T=Z2(I) GOTO 3870 3850 I1(I)=Z5(I) 3860 GOTO 3920 3870 IF T=Z4(I) GOTO 3900 3890 I1(I)=Z6(I) 3900 IF L9>=ABS(I1(I)) GOTO 3920 3910 L9=ABS(I1(I)) 3920 NEXT I 3930 REM ADJUST LOOP TIME SO THAT NO NODE EXCEEDS THE PRESET LIMIT 3940 IF L9*T4<=D4 GOTO 3970 3950 T4=D4/L9 3960 REM UPDATE CLOCK/NODE VOLTS (VOLTS=VOLTS+RATE*TIME) 3970 FOR I=1 TO K+N1 3980 V(I)=V(I)+I1(I)*T4 3990 NEXT I 4000 REM CLIP NODE VOLTS AT VSS-A DIODE OR VDD+A DIODE 4010 REM REMEMBER THAT CLOCK 1 IS ASSIGNED AS VDD 4020 REM ALLOW CLOCKS TO GO ANYWHERE,ITS UP TO HIM 4030 FOR I=K+1 TO K+N1 4040 IF V(I)>=-.6 GOTO 4070 4050 V(I)=-.6 4060 GOTO 4090 4070 IF V(I)<=V(1)+.6 GOTO 4090 4080 V(I)=V(1)+.6 4090 NEXT I 4100 REM UPDATE T NOW 4110 T=T+T4 4120 REM IF IT'S PLOT TIME,GO PLOT. IF NOT JUST ITERATE. 4130 IF T>=T3 GOTO 1690 4140 REM IT MIGHT BE TIME TO STOP (UNLIKELY THOUGH.) 4150 IF T10 GOTO 4220 4190 PRINT "TIME(NS)","0V 2V 4V 6V 8V"; 4200 PRINT " 10V" 4210 GOTO 4250 4220 PRINT "TIME(NS)","0V 5V 10V 15V 20V"; 4230 PRINT " 25V" 4240 FOR I=1 TO 10 4250 PRINT 4260 NEXT I 4270 REM RETURN VARIABLES TO VALUES AS ENTERED TO ALLOW EXAMINATION. 4280 FOR I=1 TO M 4290 L1(I)=K1*1E-6*W1(I)/L1(I) 4300 NEXT I 4310 FOR I=1 TO N 4320 L2(I)=K2*1E-6*W2(I)/L2(I) 4330 NEXT I 4340 FOR I=1 TO D 4350 L3(I)=K1*1E-6*W3(I)/L3(I) 4360 NEXT I 4370 FOR I=1 TO R 4380 R1(I)=R1(I)/1E3 4390 NEXT I 4400 FOR I=K+1 TO K+N1 4410 C1(I)=C1(I)*1E3 4420 C2(I)=C2(I)*1E3 4430 NEXT I 4440 REM ASK HIM IF HE WANTS TO EDIT...THIS ALLOWS MULTIPLE RUNS ON 4450 REM SIMILAR DATA WITHOUT ENDLESS TYPING. 4460 PRINT "DO YOU WANT TO EDIT"; 4470 INPUT A$ 4480 IF A$="YES" GOTO 4540 4490 REM HE DOESN'T WANT TO EDIT. JUST GO AWAY. 4500 PRINT 4510 PRINT "FINISHED." 4520 STOP 4530 REM FIND OUT WHAT HE WANTS TO FIX 4540 PRINT "HEADER,PARAM,PMOS,NMOS,DMOS,RES,CAP,CLOCK OR NULL"; 4550 INPUT A$ 4560 REM NOTHING MEANS HE'S READY TO ANALYSE AGAIN. 4570 IF A$="" GOTO 1060 4580 REM FOR ANY DATA PRINT WHAT WE'VE GOT,THEN GET NEW STUFF. 4590 IF A$<>"HEADER" GOTO 4640 4600 PRINT "NODES CLOCKS PMOS NMOS DMOS RES PLOT FINISH" 4610 PRINT N1;K;M;N;D;R;T1;T2 4620 INPUT N1,K,M,N,D,R,T1,T2 4630 GOTO 4540 4640 IF A$<>"PARAM" GOTO 4690 4650 PRINT "VT0 NVT0 DVT0 B0 NB0 BE NBE" 4660 PRINT V1;V2;V3;K1;K2;B1;B2 4670 INPUT V1,V2,V3,K1,K2,B1,B2 4680 GOTO 4540 4690 IF A$<>"PMOS" GOTO 4790 4700 PRINT "PMOS #"; 4710 INPUT I 4720 IF I<=M GOTO 4750 4730 PRINT "DOES NOT EXIST" 4740 GOTO 4540 4750 PRINT "PMOS...D S G W L" 4760 PRINT D1(I);S1(I);G1(I);W1(I);L1(I) 4770 INPUT D1(I),S1(I),G1(I),W1(I),L1(I) 4780 GOTO 4540 4790 IF A$<>"NMOS" GOTO 4870 4800 PRINT "NMOS #"; 4810 INPUT I 4820 IF I>N GOTO 4730 4830 PRINT "NMOS...D S G W L" 4840 PRINT D2(I);S2(I);G2(I);W2(I);L2(I) 4850 INPUT D2(I),S2(I),G2(I),W2(I),L2(I) 4860 GOTO 4540 4870 IF A$<>"DMOS" GOTO 4950 4880 PRINT "DMOS #"; 4890 INPUT I 4900 IF I>D GOTO 4730 4910 PRINT "DMOS...D S G W L" 4920 PRINT D3(I),S3(I),G3(I),W3(I),L3(I) 4930 INPUT D3(I),S3(I),G3(I),W3(I),L3(I) 4940 GOTO 4540 4950 IF A$<>"RES" GOTO 5030 4960 PRINT "RES #"; 4970 INPUT I 4980 IF I>R GOTO 4730 4990 PRINT "RES...FROM TO VAL(KOHM)" 5000 PRINT X1(I);Y1(I);R1(I) 5010 INPUT X1(I),Y1(I),R1(I) 5020 GOTO 4540 5030 IF A$<>"CAP" GOTO 5130 5040 PRINT "NODE #"; 5050 INPUT I 5060 IF I>K+N1 GOTO 4730 5070 IF I<=K GOTO 4730 5080 PRINT "DIFF CAP AT 0V(PF) LIN CAP" 5090 PRINT C1(I);C2(I) 5100 INPUT C1(I),C2(I) 5110 GOTO 4540 5120 REM IF HE'S MENTIONED A NON-RECOGNISABLE NAME JUST ASK HIM AGAIN. 5130 IF A$<>"CLOCK" GOTO 4540 5140 PRINT "CLOCK #"; 5150 INPUT I 5160 IF I>K GOTO 4730 5170 PRINT "CK T1 T2 T3 T4 RISE FALL (VOLTS/NS)" 5180 PRINT Z1(I);Z2(I);Z3(I);Z4(I);Z5(I);Z6(I) 5190 INPUT Z1(I),Z2(I),Z3(I),Z4(I),Z5(I),Z6(I) 5200 GOTO 4540 5210 END