Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!super.upenn.edu!dsl.cis.upenn.edu!bradley From: bradley@dsl.cis.upenn.edu (John Bradley) Newsgroups: comp.windows.x Subject: xsplot - a SPICE plotting program for X V10.4 (part 4 of 4) Message-ID: <1844@super.upenn.edu> Date: Mon, 24-Aug-87 19:10:11 EDT Article-I.D.: super.1844 Posted: Mon Aug 24 19:10:11 1987 Date-Received: Tue, 25-Aug-87 06:51:35 EDT References: <1841@super.upenn.edu> Sender: news@super.upenn.edu Reply-To: bradley@dsl.cis.upenn.edu.UUCP (John Bradley) Distribution: na Organization: University of Pennsylvania Lines: 1566 xsplot is an X program (10.4) for viewing, plotting, and analyzing SPICE output. It will drive an HP-GL plotter for hardcopy. It can be used to look at non-SPICE data, also. Why, it could be the Neatest Thing Ever. Probably not, though. Runs just dandy on Berkeley 4.2 Unix variants (on the IBM RT under 4.2 and 4.3, and on random Vaxen under Ultrix 1.2 and 2.0) --John Bradley - University of Pennsylvania - bradley@cis.upenn.edu Part 4 of 4 ------------------------cut here---------------------- #!/bin/sh # to extract, remove the header and type "sh filename" if `test ! -d ./xsplot` then mkdir ./xsplot echo "mkdir ./xsplot" fi if `test ! -s ./xsplot/Makefile` then echo "writing ./xsplot/Makefile" cat > ./xsplot/Makefile << '\Rogue\Monster\' INCLUDES = ./include XLIB = -lX CFLAGS = -I$(INCLUDES) CLIBS = -lm OBJS = xsplot.o xsplotctl.o xsplotmac.o xsplotgr.o xsplotio.o xsplotdlg.o \ xsplotdiv.o all: xsplot xsplot: $(OBJS) $(INCLUDES)/xsplot.h cc $(CFLAGS) -o xsplot $(OBJS) $(XLIB) $(CLIBS) $(OBJS): $(INCLUDES)/xsplot.h clean: rm -f $(OBJS) \Rogue\Monster\ else echo "will not over write ./xsplot/Makefile" fi if `test ! -s ./xsplot/README` then echo "writing ./xsplot/README" cat > ./xsplot/README << '\Rogue\Monster\' Installation notes: It should. Without problems. If you intend to do any plotting, you should define SPLOTTER in xsplotgr.c to reflect where splotter is installed. Or maybe you should just install splotter in /usr/local, like any NORMAL person. See the splotter for further hard-copy related information. Another thing you may want to change is the function 'crash()' in xsplot.c. This function is called whenever an XError happens, and dumps core. This is helpful to me (to aid in debugging) but isn't necessarily something you'd want it doing in production. You can easily modify it NOT to crash. I've personally tested this on a (monochrome) IBM RT PC running 4.2, and a (colorful) MicroVax II GPX running Ultrix 2.0. It compiles on both with no changes, and since I don't do any sort of hairy FP or bizarre OS calls, it should work on virtually anything. At the start of the program, it attempts to grab 8 r/w color cells. If it succeeds, it'll run in color, if not, it stipples things in b/w. Needless to say, the color version is much more entertaining. It may also interest you to know that this program points out a couple of bugs in the 10.4 RT implementation of X. In particular, XDrawDashed doesn't. Also, XDraw has this annoying misfeature that causes it to reset the line pattern for each line segment that it draws. The practical upshot of which is, if your line segments are short, you only ever see the first couple bits of the line pattern. This prevented me from making the monochrome line patterns vastly different, as I can only count on the first two or three pixels being drawn. (Can't even count on that, actually, but that's the way it is.) If you're running on a monochrome display that keeps the draws the lines properly no matter how close the points are, you may (or may not) want to make the patterns different-er. Or maybe you ought to just run it on a color display, like a Real Man. About the colors: I don't care if you don't like the colors. After all, what do YOU know? (Actually, I'm not too crazy about them myself, but I limited myself to 8 colors (so it'll run on lame 4-plane displays, such as these HP bobcats we've got lying around), so there wasn't too much choice involved.) If you think you can do better, go for it. You're also welcome to modify it to use 16 or 32 colors, which should be more than sufficient. Limitations of xsplot: xsplot will deal with a maximum of 1000 data points, in any single analysis. There's no fundamental reason WHY, and you could certainly change MAXPTS (in include/xsplot.h) to something larger, if this is a problem. 1000 seems like a fine number to me, though. Besides, there's historical reasons. Be sure to change the appropriate number in splotter, also, if you plan to be running it. Also, there's a limit of 20 analyses per file (more than enough, I should think). These analyses may have up to 8 dependent variables, of which any 4 can be seen at once. A somewhat more realistic limitation of xsplot is that it only currently supports the DC, AC, and Transient analyses of SPICE. Noise, Fourier, and whatever other simulations SPICE can handle AREN'T dealt with. This hasn't proved to be a limitation in our lab (digital stuff, mostly), but I could see it being a problem for some of you RF-types out there, or whatever, so if someone sends me examples of these analyses, I'll probably throw them into xsplot, also. ("Dammit Mister, I'm a Scientist, not an Engineer!") Likewise, if you have some SPICE file that xsplot doesn't parse correctly, and you think it should, send it to me, and I'll see what I can do about it. Rumor has it that that there's a gratuitous bit of entertainment in the code. Find it. John Bradley - University of Pennsylvania - bradley@cis.upenn.edu \Rogue\Monster\ else echo "will not over write ./xsplot/README" fi if `test ! -s ./xsplot/diff.out` then echo "writing ./xsplot/diff.out" cat > ./xsplot/diff.out << '\Rogue\Monster\' 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** INPUT LISTING TEMPERATURE = 27.000 DEG C 0*********************************************************************** .WIDTH IN=72 OUT=80 .OPT ACCT LIST NODE LVLCOD=2 .TF V(5) VIN .DC VIN -0.25 0.25 0.005 .AC DEC 10 1 10GHZ .TRAN 5NS 500NS VIN 1 0 SIN(0 0.1 5MEG) AC 1 VCC 8 0 12 VEE 9 0 -12 Q1 4 2 6 QNL Q2 5 3 6 QNL RS1 1 2 1K RS2 3 0 1K RC1 4 8 10K RC2 5 8 10K Q3 6 7 9 QNL Q4 7 7 9 QNL RBIAS 7 8 20K .MODEL QNL NPN(BF=80 RB=100 CCS=2PF TF=0.3NS TR=6NS CJE=3PF CJC=2PF + VA=50) .PRINT DC V(4) V(5) .PRINT AC VM(5) VP(5) .PRINT TRAN V(4) V(5) .END 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** CIRCUIT ELEMENT SUMMARY TEMPERATURE = 27.000 DEG C 0*********************************************************************** 0**** RESISTORS 0 NAME NODES VALUE TC1 TC2 RS1 1 2 1.00D+03 0.00D+00 0.00D+00 RS2 3 0 1.00D+03 0.00D+00 0.00D+00 RC1 4 8 1.00D+04 0.00D+00 0.00D+00 RC2 5 8 1.00D+04 0.00D+00 0.00D+00 RBIAS 7 8 2.00D+04 0.00D+00 0.00D+00 0**** INDEPENDENT SOURCES 0 NAME NODES DC VALUE AC VALUE AC PHASE TRANSIENT VIN 1 0 0.00D+00 1.00D+00 0.00D+00 SIN 0 OFFSET....... 0.00D+00 AMPLITUDE.... 1.00D-01 FREQUENCY.... 5.00D+06 DELAY........ 0.00D+00 THETA........ 0.00D+00 VCC 8 0 1.20D+01 0.00D+00 0.00D+00 VEE 9 0 -1.20D+01 0.00D+00 0.00D+00 0**** BIPOLAR JUNCTION TRANSISTORS 0 NAME C B E S MODEL AREA Q1 4 2 6 0 QNL 1.000 Q2 5 3 6 0 QNL 1.000 Q3 6 7 9 0 QNL 1.000 Q4 7 7 9 0 QNL 1.000 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** ELEMENT NODE TABLE TEMPERATURE = 27.000 DEG C 0*********************************************************************** 0 0 RS2 VIN VCC VEE Q1 Q2 Q3 Q4 0 1 RS1 VIN 0 2 RS1 Q1 0 3 RS2 Q2 0 4 RC1 Q1 0 5 RC2 Q2 0 6 Q1 Q2 Q3 0 7 RBIAS Q3 Q4 Q4 0 8 RC1 RC2 RBIAS VCC 0 9 VEE Q3 Q4 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** BJT MODEL PARAMETERS TEMPERATURE = 27.000 DEG C 0*********************************************************************** QNL 0TYPE NPN 0IS 1.00D-16 0BF 80.000 0NF 1.000 0VAF 5.00D+01 0BR 1.000 0NR 1.000 0RB 100.000 0CJE 3.00D-12 0TF 3.00D-10 0CJC 2.00D-12 0TR 6.00D-09 0CJS 2.00D-12 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** DC TRANSFER CURVES TEMPERATURE = 27.000 DEG C 0*********************************************************************** VIN V(4) V(5) X -2.500E-01 1.196E+01 -7.957E-01 -2.450E-01 1.195E+01 -7.948E-01 -2.400E-01 1.195E+01 -7.938E-01 -2.350E-01 1.194E+01 -7.926E-01 -2.300E-01 1.193E+01 -7.912E-01 -2.250E-01 1.191E+01 -7.897E-01 -2.200E-01 1.190E+01 -7.880E-01 -2.150E-01 1.189E+01 -7.860E-01 -2.100E-01 1.187E+01 -7.839E-01 -2.050E-01 1.185E+01 -7.816E-01 -2.000E-01 1.183E+01 -7.791E-01 -1.950E-01 1.181E+01 -7.764E-01 -1.900E-01 1.179E+01 -7.735E-01 -1.850E-01 1.177E+01 -7.703E-01 -1.800E-01 1.174E+01 -7.669E-01 -1.750E-01 1.172E+01 -7.634E-01 -1.700E-01 1.169E+01 -7.596E-01 -1.650E-01 1.166E+01 -7.555E-01 -1.600E-01 1.163E+01 -7.513E-01 -1.550E-01 1.160E+01 -7.468E-01 -1.500E-01 1.157E+01 -7.420E-01 -1.450E-01 1.154E+01 -7.369E-01 -1.400E-01 1.151E+01 -7.316E-01 -1.350E-01 1.147E+01 -7.258E-01 -1.300E-01 1.144E+01 -7.197E-01 -1.250E-01 1.140E+01 -7.130E-01 -1.200E-01 1.136E+01 -7.058E-01 -1.150E-01 1.133E+01 -6.976E-01 -1.100E-01 1.129E+01 -6.883E-01 -1.050E-01 1.124E+01 -6.772E-01 -1.000E-01 1.120E+01 -6.627E-01 -9.500E-02 1.115E+01 -6.407E-01 -9.000E-02 1.108E+01 -5.907E-01 -8.500E-02 1.093E+01 -4.536E-01 -8.000E-02 1.076E+01 -2.784E-01 -7.500E-02 1.056E+01 -8.128E-02 -7.000E-02 1.034E+01 1.382E-01 -6.500E-02 1.009E+01 3.807E-01 -6.000E-02 9.827E+00 6.462E-01 -5.500E-02 9.537E+00 9.346E-01 -5.000E-02 9.225E+00 1.245E+00 -4.500E-02 8.891E+00 1.577E+00 -4.000E-02 8.538E+00 1.929E+00 -3.500E-02 8.167E+00 2.299E+00 -3.000E-02 7.779E+00 2.685E+00 -2.500E-02 7.376E+00 3.086E+00 -2.000E-02 6.962E+00 3.500E+00 -1.500E-02 6.537E+00 3.923E+00 -1.000E-02 6.105E+00 4.354E+00 -5.000E-03 5.669E+00 4.790E+00 0.000E+00 5.229E+00 5.229E+00 5.000E-03 4.790E+00 5.668E+00 1.000E-02 4.353E+00 6.104E+00 1.500E-02 3.921E+00 6.536E+00 2.000E-02 3.497E+00 6.960E+00 2.500E-02 3.083E+00 7.374E+00 3.000E-02 2.682E+00 7.776E+00 3.500E-02 2.294E+00 8.163E+00 4.000E-02 1.924E+00 8.535E+00 4.500E-02 1.571E+00 8.887E+00 5.000E-02 1.238E+00 9.221E+00 5.500E-02 9.268E-01 9.532E+00 6.000E-02 6.375E-01 9.822E+00 6.500E-02 3.708E-01 1.009E+01 7.000E-02 1.272E-01 1.033E+01 7.500E-02 -9.349E-02 1.055E+01 8.000E-02 -2.918E-01 1.075E+01 8.500E-02 -4.644E-01 1.093E+01 9.000E-02 -5.416E-01 1.102E+01 9.500E-02 -5.641E-01 1.107E+01 1.000E-01 -5.757E-01 1.112E+01 1.050E-01 -5.829E-01 1.116E+01 1.100E-01 -5.881E-01 1.119E+01 1.150E-01 -5.920E-01 1.123E+01 1.200E-01 -5.949E-01 1.126E+01 1.250E-01 -5.972E-01 1.130E+01 1.300E-01 -5.989E-01 1.133E+01 1.350E-01 -6.003E-01 1.136E+01 1.400E-01 -6.013E-01 1.140E+01 1.450E-01 -6.020E-01 1.143E+01 1.500E-01 -6.025E-01 1.146E+01 1.550E-01 -6.027E-01 1.149E+01 1.600E-01 -6.027E-01 1.152E+01 1.650E-01 -6.026E-01 1.155E+01 1.700E-01 -6.023E-01 1.158E+01 1.750E-01 -6.018E-01 1.160E+01 1.800E-01 -6.011E-01 1.163E+01 1.850E-01 -6.003E-01 1.165E+01 1.900E-01 -5.994E-01 1.168E+01 1.950E-01 -5.982E-01 1.170E+01 2.000E-01 -5.970E-01 1.173E+01 2.050E-01 -5.956E-01 1.175E+01 2.100E-01 -5.940E-01 1.177E+01 2.150E-01 -5.923E-01 1.179E+01 2.200E-01 -5.904E-01 1.181E+01 2.250E-01 -5.884E-01 1.183E+01 2.300E-01 -5.863E-01 1.185E+01 2.350E-01 -5.840E-01 1.186E+01 2.400E-01 -5.815E-01 1.188E+01 2.450E-01 -5.789E-01 1.189E+01 2.500E-01 -5.762E-01 1.190E+01 Y 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** SMALL SIGNAL BIAS SOLUTION TEMPERATURE = 27.000 DEG C 0*********************************************************************** NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE ( 1) 0.0000 ( 2) -0.0077 ( 3) -0.0077 ( 4) 5.2291 ( 5) 5.2291 ( 6) -0.7700 ( 7) -11.2212 ( 8) 12.0000 ( 9) -12.0000 VOLTAGE SOURCE CURRENTS NAME CURRENT VIN -7.661D-06 VCC -2.515D-03 VEE 2.531D-03 TOTAL POWER DISSIPATION 6.05D-02 WATTS 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** OPERATING POINT INFORMATION TEMPERATURE = 27.000 DEG C 0*********************************************************************** 0 0**** BIPOLAR JUNCTION TRANSISTORS 0 Q1 Q2 Q3 Q4 0MODEL QNL QNL QNL QNL IB 7.67E-06 7.67E-06 1.42E-05 1.42E-05 IC 6.78E-04 6.78E-04 1.37E-03 1.13E-03 VBE 0.762 0.762 0.779 0.779 VBC -5.237 -5.237 -10.451 0.000 VCE 5.999 5.999 11.230 0.779 BETADC 88.380 88.380 96.724 80.002 GM 2.62E-02 2.62E-02 5.29E-02 4.38E-02 RPI 3.37E+03 3.37E+03 1.83E+03 1.83E+03 RX 1.00E+02 1.00E+02 1.00E+02 1.00E+02 RO 8.15E+04 8.15E+04 4.41E+04 4.41E+04 CPI 1.29E-11 1.29E-11 2.10E-11 1.82E-11 CMU 1.01E-12 1.01E-12 8.19E-13 2.00E-12 CBX 0.00E+00 0.00E+00 0.00E+00 0.00E+00 CCS 2.00E-12 2.00E-12 2.00E-12 2.00E-12 BETAAC 88.339 88.339 96.683 79.961 FT 2.99E+08 2.99E+08 3.86E+08 3.44E+08 0**** SMALL-SIGNAL CHARACTERISTICS 0 V(5)/VIN = 8.790D+01 0 INPUT RESISTANCE AT VIN = 8.935D+03 0 OUTPUT RESISTANCE AT V(5) = 9.446D+03 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** AC ANALYSIS TEMPERATURE = 27.000 DEG C 0*********************************************************************** FREQ VM(5) VP(5) X 1.000E+00 8.790E+01 -8.385E-05 1.259E+00 8.790E+01 -1.056E-04 1.585E+00 8.790E+01 -1.329E-04 1.995E+00 8.790E+01 -1.673E-04 2.512E+00 8.790E+01 -2.106E-04 3.162E+00 8.790E+01 -2.652E-04 3.981E+00 8.790E+01 -3.338E-04 5.012E+00 8.790E+01 -4.203E-04 6.310E+00 8.790E+01 -5.291E-04 7.943E+00 8.790E+01 -6.661E-04 1.000E+01 8.790E+01 -8.385E-04 1.259E+01 8.790E+01 -1.056E-03 1.585E+01 8.790E+01 -1.329E-03 1.995E+01 8.790E+01 -1.673E-03 2.512E+01 8.790E+01 -2.106E-03 3.162E+01 8.790E+01 -2.652E-03 3.981E+01 8.790E+01 -3.338E-03 5.012E+01 8.790E+01 -4.203E-03 6.310E+01 8.790E+01 -5.291E-03 7.943E+01 8.790E+01 -6.661E-03 1.000E+02 8.790E+01 -8.385E-03 1.259E+02 8.790E+01 -1.056E-02 1.585E+02 8.790E+01 -1.329E-02 1.995E+02 8.790E+01 -1.673E-02 2.512E+02 8.790E+01 -2.106E-02 3.162E+02 8.790E+01 -2.652E-02 3.981E+02 8.790E+01 -3.338E-02 5.012E+02 8.790E+01 -4.203E-02 6.310E+02 8.790E+01 -5.291E-02 7.943E+02 8.790E+01 -6.661E-02 1.000E+03 8.790E+01 -8.385E-02 1.259E+03 8.790E+01 -1.056E-01 1.585E+03 8.790E+01 -1.329E-01 1.995E+03 8.790E+01 -1.673E-01 2.512E+03 8.790E+01 -2.106E-01 3.162E+03 8.790E+01 -2.652E-01 3.981E+03 8.790E+01 -3.338E-01 5.012E+03 8.790E+01 -4.203E-01 6.310E+03 8.790E+01 -5.291E-01 7.943E+03 8.789E+01 -6.660E-01 1.000E+04 8.789E+01 -8.385E-01 1.259E+04 8.788E+01 -1.056E+00 1.585E+04 8.788E+01 -1.329E+00 1.995E+04 8.786E+01 -1.673E+00 2.512E+04 8.784E+01 -2.105E+00 3.162E+04 8.781E+01 -2.650E+00 3.981E+04 8.775E+01 -3.335E+00 5.012E+04 8.767E+01 -4.195E+00 6.310E+04 8.753E+01 -5.276E+00 7.943E+04 8.732E+01 -6.632E+00 1.000E+05 8.699E+01 -8.328E+00 1.259E+05 8.647E+01 -1.044E+01 1.585E+05 8.566E+01 -1.306E+01 1.995E+05 8.443E+01 -1.629E+01 2.512E+05 8.258E+01 -2.020E+01 3.162E+05 7.988E+01 -2.487E+01 3.981E+05 7.610E+01 -3.029E+01 5.012E+05 7.107E+01 -3.636E+01 6.310E+05 6.481E+01 -4.289E+01 7.943E+05 5.759E+01 -4.957E+01 1.000E+06 4.988E+01 -5.607E+01 1.259E+06 4.223E+01 -6.210E+01 1.585E+06 3.509E+01 -6.751E+01 1.995E+06 2.876E+01 -7.224E+01 2.512E+06 2.335E+01 -7.633E+01 3.162E+06 1.883E+01 -7.990E+01 3.981E+06 1.512E+01 -8.308E+01 5.012E+06 1.210E+01 -8.603E+01 6.310E+06 9.658E+00 -8.889E+01 7.943E+06 7.683E+00 -9.179E+01 1.000E+07 6.087E+00 -9.484E+01 1.259E+07 4.797E+00 -9.815E+01 1.585E+07 3.753E+00 -1.018E+02 1.995E+07 2.909E+00 -1.059E+02 2.512E+07 2.226E+00 -1.103E+02 3.162E+07 1.677E+00 -1.152E+02 3.981E+07 1.238E+00 -1.202E+02 5.012E+07 8.944E-01 -1.252E+02 6.310E+07 6.313E-01 -1.299E+02 7.943E+07 4.351E-01 -1.340E+02 1.000E+08 2.928E-01 -1.370E+02 1.259E+08 1.933E-01 -1.383E+02 1.585E+08 1.266E-01 -1.372E+02 1.995E+08 8.414E-02 -1.334E+02 2.512E+08 5.800E-02 -1.279E+02 3.162E+08 4.170E-02 -1.219E+02 3.981E+08 3.099E-02 -1.164E+02 5.012E+08 2.353E-02 -1.116E+02 6.310E+08 1.813E-02 -1.075E+02 7.943E+08 1.410E-02 -1.041E+02 1.000E+09 1.105E-02 -1.014E+02 1.259E+09 8.698E-03 -9.907E+01 1.585E+09 6.870E-03 -9.723E+01 1.995E+09 5.437E-03 -9.576E+01 2.512E+09 4.309E-03 -9.458E+01 3.162E+09 3.418E-03 -9.364E+01 3.981E+09 2.713E-03 -9.289E+01 5.012E+09 2.154E-03 -9.230E+01 6.310E+09 1.710E-03 -9.182E+01 7.943E+09 1.358E-03 -9.145E+01 1.000E+10 1.079E-03 -9.115E+01 Y 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** INITIAL TRANSIENT SOLUTION TEMPERATURE = 27.000 DEG C 0*********************************************************************** NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE ( 1) 0.0000 ( 2) -0.0077 ( 3) -0.0077 ( 4) 5.2291 ( 5) 5.2291 ( 6) -0.7700 ( 7) -11.2212 ( 8) 12.0000 ( 9) -12.0000 VOLTAGE SOURCE CURRENTS NAME CURRENT VIN -7.661D-06 VCC -2.515D-03 VEE 2.531D-03 TOTAL POWER DISSIPATION 6.05D-02 WATTS 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** OPERATING POINT INFORMATION TEMPERATURE = 27.000 DEG C 0*********************************************************************** 0 0**** BIPOLAR JUNCTION TRANSISTORS 0 Q1 Q2 Q3 Q4 0MODEL QNL QNL QNL QNL IB 7.67E-06 7.67E-06 1.42E-05 1.42E-05 IC 6.78E-04 6.78E-04 1.37E-03 1.13E-03 VBE 0.762 0.762 0.779 0.779 VBC -5.237 -5.237 -10.451 0.000 VCE 5.999 5.999 11.230 0.779 BETADC 88.380 88.380 96.724 80.002 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** TRANSIENT ANALYSIS TEMPERATURE = 27.000 DEG C 0*********************************************************************** TIME V(4) V(5) X 0.000E+00 5.229E+00 5.229E+00 5.000E-09 5.217E+00 5.237E+00 1.000E-08 5.172E+00 5.272E+00 1.500E-08 5.101E+00 5.333E+00 2.000E-08 5.007E+00 5.417E+00 2.500E-08 4.897E+00 5.520E+00 3.000E-08 4.765E+00 5.648E+00 3.500E-08 4.624E+00 5.787E+00 4.000E-08 4.470E+00 5.943E+00 4.500E-08 4.313E+00 6.103E+00 5.000E-08 4.154E+00 6.270E+00 5.500E-08 4.000E+00 6.432E+00 6.000E-08 3.853E+00 6.590E+00 6.500E-08 3.717E+00 6.736E+00 7.000E-08 3.597E+00 6.868E+00 7.500E-08 3.495E+00 6.982E+00 8.000E-08 3.415E+00 7.073E+00 8.500E-08 3.356E+00 7.141E+00 9.000E-08 3.325E+00 7.180E+00 9.500E-08 3.317E+00 7.194E+00 1.000E-07 3.339E+00 7.176E+00 1.050E-07 3.385E+00 7.132E+00 1.100E-07 3.461E+00 7.057E+00 1.150E-07 3.558E+00 6.958E+00 1.200E-07 3.683E+00 6.831E+00 1.250E-07 3.825E+00 6.686E+00 1.300E-07 3.988E+00 6.517E+00 1.350E-07 4.163E+00 6.338E+00 1.400E-07 4.353E+00 6.144E+00 1.450E-07 4.545E+00 5.947E+00 1.500E-07 4.742E+00 5.745E+00 1.550E-07 4.935E+00 5.549E+00 1.600E-07 5.121E+00 5.358E+00 1.650E-07 5.295E+00 5.179E+00 1.700E-07 5.452E+00 5.016E+00 1.750E-07 5.591E+00 4.872E+00 1.800E-07 5.705E+00 4.752E+00 1.850E-07 5.795E+00 4.654E+00 1.900E-07 5.855E+00 4.586E+00 1.950E-07 5.889E+00 4.544E+00 2.000E-07 5.891E+00 4.533E+00 2.050E-07 5.867E+00 4.548E+00 2.100E-07 5.811E+00 4.596E+00 2.150E-07 5.733E+00 4.666E+00 2.200E-07 5.627E+00 4.766E+00 2.250E-07 5.504E+00 4.884E+00 2.300E-07 5.360E+00 5.026E+00 2.350E-07 5.206E+00 5.180E+00 2.400E-07 5.039E+00 5.350E+00 2.450E-07 4.870E+00 5.524E+00 2.500E-07 4.698E+00 5.703E+00 2.550E-07 4.531E+00 5.879E+00 2.600E-07 4.371E+00 6.051E+00 2.650E-07 4.223E+00 6.210E+00 2.700E-07 4.092E+00 6.355E+00 2.750E-07 3.978E+00 6.481E+00 2.800E-07 3.887E+00 6.585E+00 2.850E-07 3.818E+00 6.665E+00 2.900E-07 3.777E+00 6.715E+00 2.950E-07 3.760E+00 6.741E+00 3.000E-07 3.774E+00 6.733E+00 3.050E-07 3.812E+00 6.700E+00 3.100E-07 3.880E+00 6.634E+00 3.150E-07 3.970E+00 6.545E+00 3.200E-07 4.088E+00 6.427E+00 3.250E-07 4.223E+00 6.290E+00 3.300E-07 4.381E+00 6.131E+00 3.350E-07 4.549E+00 5.960E+00 3.400E-07 4.731E+00 5.774E+00 3.450E-07 4.917E+00 5.585E+00 3.500E-07 5.107E+00 5.391E+00 3.550E-07 5.292E+00 5.202E+00 3.600E-07 5.471E+00 5.019E+00 3.650E-07 5.637E+00 4.849E+00 3.700E-07 5.787E+00 4.693E+00 3.750E-07 5.918E+00 4.556E+00 3.800E-07 6.024E+00 4.443E+00 3.850E-07 6.107E+00 4.352E+00 3.900E-07 6.159E+00 4.291E+00 3.950E-07 6.186E+00 4.254E+00 4.000E-07 6.181E+00 4.250E+00 4.050E-07 6.150E+00 4.270E+00 4.100E-07 6.087E+00 4.323E+00 4.150E-07 6.003E+00 4.398E+00 4.200E-07 5.890E+00 4.503E+00 4.250E-07 5.761E+00 4.626E+00 4.300E-07 5.611E+00 4.773E+00 4.350E-07 5.451E+00 4.932E+00 4.400E-07 5.278E+00 5.107E+00 4.450E-07 5.103E+00 5.286E+00 4.500E-07 4.926E+00 5.470E+00 4.550E-07 4.753E+00 5.651E+00 4.600E-07 4.588E+00 5.827E+00 4.650E-07 4.436E+00 5.992E+00 4.700E-07 4.299E+00 6.142E+00 4.750E-07 4.180E+00 6.273E+00 4.800E-07 4.085E+00 6.381E+00 4.850E-07 4.012E+00 6.466E+00 4.900E-07 3.967E+00 6.522E+00 4.950E-07 3.943E+00 6.555E+00 5.000E-07 3.945E+00 6.560E+00 Y 0 JOB CONCLUDED 1*******02/04/86 ******** SPICE 2G.6 3/15/83 ********19:57:46***** 0DIFPAIR CKT - SIMPLE DIFFERENTIAL PAIR 0**** JOB STATISTICS SUMMARY TEMPERATURE = 27.000 DEG C 0*********************************************************************** NUNODS NCNODS NUMNOD NUMEL DIODES BJTS JFETS MFETS 10 10 14 12 0 4 0 0 0 NUMTEM ICVFLG JTRFLG JACFLG INOISE IDIST NOGO 0 1 101 101 101 0 0 0 0 NSTOP NTTBR NTTAR IFILL IOPS PERSPA 17. 57. 57. 0. 94. 80.277 0 NUMTTP NUMRTP NUMNIT MAXMEM MEMUSE COPYKNT 57. 0. 158. 400000 2736 22172. 0 READIN 1.22 0 SETUP 0.30 0 TRCURV 4.95 230. 0 DCAN 1.02 16. 0 DCDCMP 1.533 4. 0 DCSOL 1.000 0 ACAN 2.90 101. 0 TRANAN 5.05 158. 0 OUTPUT 3.25 0 LOAD 5.250 0 CODGEN 0.000 0. 0 CODEXC 0.000 0 MACINS 0.000 0 OVERHEAD 0.13 0 TOTAL JOB TIME 18.82 FORTRAN STOP \Rogue\Monster\ else echo "will not over write ./xsplot/diff.out" fi if `test ! -d ./xsplot/include` then mkdir ./xsplot/include echo "mkdir ./xsplot/include" fi if `test ! -s ./xsplot/include/cursor` then echo "writing ./xsplot/include/cursor" cat > ./xsplot/include/cursor << '\Rogue\Monster\' #define cursor_width 16 #define cursor_height 16 #define cursor_x_hot 3 #define cursor_y_hot 1 static short cursor_bits[] = { 0x0000, 0x0008, 0x0018, 0x0038, 0x0078, 0x00f8, 0x01f8, 0x03f8, 0x07f8, 0x00f8, 0x00d8, 0x0188, 0x0180, 0x0300, 0x0300, 0x0000}; \Rogue\Monster\ else echo "will not over write ./xsplot/include/cursor" fi if `test ! -s ./xsplot/include/cursor.mask` then echo "writing ./xsplot/include/cursor.mask" cat > ./xsplot/include/cursor.mask << '\Rogue\Monster\' #define cursor_mask_width 16 #define cursor_mask_height 16 static short cursor_mask_bits[] = { 0x000c, 0x001c, 0x003c, 0x007c, 0x00fc, 0x01fc, 0x03fc, 0x07fc, 0x0ffc, 0x0ffc, 0x01fc, 0x03dc, 0x03cc, 0x0780, 0x0780, 0x0300}; \Rogue\Monster\ else echo "will not over write ./xsplot/include/cursor.mask" fi if `test ! -s ./xsplot/include/icon` then echo "writing ./xsplot/include/icon" cat > ./xsplot/include/icon << '\Rogue\Monster\' #define icon_width 64 #define icon_height 48 static short icon_bits[] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x49ff, 0xfc92, 0xffff, 0xffff, 0x49ff, 0xfc92, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xaaab, 0xaaaa, 0xaaaa, 0xaaaa, 0xfffd, 0xffff, 0xffff, 0xffff, 0x4447, 0x4444, 0xaa44, 0xa2aa, 0x0005, 0x0040, 0xae00, 0xe2aa, 0x4447, 0x4444, 0xfa44, 0xbfff, 0xaaad, 0xaaea, 0x56aa, 0xd555, 0x4447, 0x4444, 0xfa44, 0xbfef, 0x0005, 0x0040, 0x0e00, 0xe038, 0x4447, 0x4444, 0xea44, 0xadab, 0xaaad, 0xaaea, 0x0eaa, 0xe038, 0x4447, 0x4444, 0xea44, 0xadab, 0x0005, 0x0040, 0x0e00, 0xe038, 0x4447, 0x4444, 0xfa44, 0xbfef, 0xaaad, 0xaaea, 0x56aa, 0xd555, 0x4447, 0x4444, 0xfa44, 0xbfff, 0x0005, 0x0040, 0x0e00, 0xe000, 0x4447, 0x4444, 0x8a44, 0xafdf, 0xaaad, 0xaaea, 0xaeaa, 0xefdf, 0x4447, 0x4444, 0x0a44, 0xa000, 0x0005, 0x0040, 0x8e00, 0xefdf, 0x4447, 0x4444, 0xaa44, 0xafdf, 0xfffd, 0xffff, 0x0fff, 0xe000, 0x4447, 0x4444, 0x8a44, 0xafdf, 0x0005, 0x0040, 0xae00, 0xefdf, 0x4447, 0x4444, 0x0a44, 0xa000, 0xaaad, 0xaaea, 0x8eaa, 0xefdf, 0x4447, 0x4444, 0xaa44, 0xafdf, 0x0005, 0x0040, 0x0e00, 0xe000, 0x4447, 0x4444, 0xfa44, 0xbfff, 0xaaad, 0xaaea, 0x56aa, 0xd555, 0x4447, 0x4444, 0xfa44, 0xbfef, 0x0005, 0x0040, 0x0e00, 0xe038, 0x4447, 0x4444, 0xea44, 0xafab, 0xaaad, 0xaaea, 0x0eaa, 0xe038, 0x4447, 0x4444, 0x6a44, 0xafab, 0x0005, 0x0040, 0x0e00, 0xe038, 0x4447, 0x4444, 0x6a44, 0xafab, 0xaaad, 0xaaea, 0x0eaa, 0xe038, 0x4447, 0x4444, 0x6a44, 0xafab, 0x0005, 0x0040, 0x0e00, 0xe038, 0x4447, 0x4444, 0xfa44, 0xbfef, 0xfffd, 0xffff, 0x57ff, 0xd555, 0xaaab, 0xaaaa, 0xaaaa, 0xaaaa, 0xffff, 0xffff, 0xffff, 0xffff}; \Rogue\Monster\ else echo "will not over write ./xsplot/include/icon" fi if `test ! -s ./xsplot/include/arrows.h` then echo "writing ./xsplot/include/arrows.h" cat > ./xsplot/include/arrows.h << '\Rogue\Monster\' #define arr_width 19 #define arr_height 19 static short arrl_bits[] = { /* left arrow */ 0x0000, 0x0000, 0x0200, 0x0000, 0x0300, 0x0000, 0x0380, 0x0000, 0x03c0, 0x0000, 0x03e0, 0x0000, 0xfff0, 0x0003, 0xfff8, 0x0003, 0xfffc, 0x0003, 0xfffe, 0x0003, 0xfffc, 0x0003, 0xfff8, 0x0003, 0xfff0, 0x0003, 0x03e0, 0x0000, 0x03c0, 0x0000, 0x0380, 0x0000, 0x0300, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000}; static short arrl_mask_bits[] = { /* left arrow mask */ 0x0600, 0x0000, 0x0700, 0x0000, 0x0780, 0x0000, 0x07c0, 0x0000, 0x07e0, 0x0000, 0xfff0, 0x0007, 0xfff8, 0x0007, 0xfffc, 0x0007, 0xfffe, 0x0007, 0xffff, 0x0007, 0xfffe, 0x0007, 0xfffc, 0x0007, 0xfff8, 0x0007, 0xfff0, 0x0007, 0x07e0, 0x0000, 0x07c0, 0x0000, 0x0780, 0x0000, 0x0700, 0x0000, 0x0600, 0x0000}; static short arrr_bits[] = { /* right arrow */ 0x0000, 0x0000, 0x0200, 0x0000, 0x0600, 0x0000, 0x0e00, 0x0000, 0x1e00, 0x0000, 0x3e00, 0x0000, 0x7ffe, 0x0000, 0xfffe, 0x0000, 0xfffe, 0x0001, 0xfffe, 0x0003, 0xfffe, 0x0001, 0xfffe, 0x0000, 0x7ffe, 0x0000, 0x3e00, 0x0000, 0x1e00, 0x0000, 0x0e00, 0x0000, 0x0600, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000}; static short arrr_mask_bits[] = { /* right arrow mask */ 0x0300, 0x0000, 0x0700, 0x0000, 0x0f00, 0x0000, 0x1f00, 0x0000, 0x3f00, 0x0000, 0x7fff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0001, 0xffff, 0x0003, 0xffff, 0x0007, 0xffff, 0x0003, 0xffff, 0x0001, 0xffff, 0x0000, 0x7fff, 0x0000, 0x3f00, 0x0000, 0x1f00, 0x0000, 0x0f00, 0x0000, 0x0700, 0x0000, 0x0300, 0x0000}; static short arru_bits[] = { /* up arrow */ 0x0000, 0x0000, 0x0200, 0x0000, 0x0700, 0x0000, 0x0f80, 0x0000, 0x1fc0, 0x0000, 0x3fe0, 0x0000, 0x7ff0, 0x0000, 0xfff8, 0x0000, 0xfffc, 0x0001, 0xfffe, 0x0003, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x0000, 0x0000}; static short arru_mask_bits[] = { /* up arrow mask */ 0x0200, 0x0000, 0x0700, 0x0000, 0x0f80, 0x0000, 0x1fc0, 0x0000, 0x3fe0, 0x0000, 0x7ff0, 0x0000, 0xfff8, 0x0000, 0xfffc, 0x0001, 0xfffe, 0x0003, 0xffff, 0x0007, 0xffff, 0x0007, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000}; static short arrd_bits[] = { /* down arrow */ 0x0000, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0x1fc0, 0x0000, 0xfffe, 0x0003, 0xfffc, 0x0001, 0xfff8, 0x0000, 0x7ff0, 0x0000, 0x3fe0, 0x0000, 0x1fc0, 0x0000, 0x0f80, 0x0000, 0x0700, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000}; static short arrd_mask_bits[] = { /* down arrow mask */ 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0x3fe0, 0x0000, 0xffff, 0x0007, 0xffff, 0x0007, 0xfffe, 0x0003, 0xfffc, 0x0001, 0xfff8, 0x0000, 0x7ff0, 0x0000, 0x3fe0, 0x0000, 0x1fc0, 0x0000, 0x0f80, 0x0000, 0x0700, 0x0000, 0x0200, 0x0000}; \Rogue\Monster\ else echo "will not over write ./xsplot/include/arrows.h" fi if `test ! -s ./xsplot/include/titlebar.bm` then echo "writing ./xsplot/include/titlebar.bm" cat > ./xsplot/include/titlebar.bm << '\Rogue\Monster\' #define titlebar_width 80 #define titlebar_height 20 static short titlebar_bits[] = { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fff, 0xffff, 0xffff, 0xffff, 0x07ff, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xf3ff, 0xe7fe, 0xfbff, 0xffff, 0xffff, 0x63ff, 0xe7ff, 0xf9ff, 0xffff, 0xffff, 0xc779, 0xe627, 0xe0c1, 0xffff, 0xffff, 0x8fb2, 0xe4c3, 0xf99c, 0xffff, 0xffff, 0x1fc7, 0xe4e7, 0xf99c, 0xffff, 0xffff, 0x37cf, 0xe4e6, 0xf99c, 0xffff, 0xffff, 0x7b97, 0x64e6, 0xd99c, 0xffff, 0xffff, 0x713b, 0xa666, 0xe9cc, 0xffff, 0xffff, 0x067d, 0xc707, 0xf1e1, 0xffff, 0xffff, 0xffff, 0xffe7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}; \Rogue\Monster\ else echo "will not over write ./xsplot/include/titlebar.bm" fi if `test ! -s ./xsplot/include/cursx` then echo "writing ./xsplot/include/cursx" cat > ./xsplot/include/cursx << '\Rogue\Monster\' #define cursx_width 9 #define cursx_height 9 #define cursx_x_hot 4 #define cursx_y_hot 4 static short cursx_bits[] = { 0x0000, 0x0082, 0x0044, 0x0028, 0x0000, 0x0028, 0x0044, 0x0082, 0x0000}; \Rogue\Monster\ else echo "will not over write ./xsplot/include/cursx" fi if `test ! -s ./xsplot/include/cursx.mask` then echo "writing ./xsplot/include/cursx.mask" cat > ./xsplot/include/cursx.mask << '\Rogue\Monster\' static short cursx_mask_bits[] = { 0x0183, 0x01c7, 0x00ee, 0x007c, 0x0038, 0x007c, 0x00ee, 0x01c7, 0x0183}; \Rogue\Monster\ else echo "will not over write ./xsplot/include/cursx.mask" fi if `test ! -s ./xsplot/include/xsplot.h` then echo "writing ./xsplot/include/xsplot.h" cat > ./xsplot/include/xsplot.h << '\Rogue\Monster\' /* * xsplot.h - #defines, global variables, data structures for xsplot * */ #define REVDATE "Rev: 6/2/87" /* other include files */ #include #include #include #include #include /* constants (array sizes, mostly) */ #define MAXBUT 40 /* number of buttons in controls array */ #define MAXANAL 20 /* maximum number of analyses */ #define MAXPTS 1001 /* maximum number of points in an analysis */ #define MYPERANAL 8 /* maximum number of curves per analysis */ /* Scale Types */ #define LINEAR 0 #define LOG10 1 #define OCTAVE 2 /* Analysis Types */ #define DC 0 #define AC 1 #define TRANS 2 /* bizarrities */ #define DEGSTR "\007" /* a string containing the degree symbol (6x10 fnt)*/ #define MAXDSTR 58 /* max len of string in LoadDlog box */ /* grid size/position info */ #define GTop 1 /* grid size/position info */ #define GBottom 401 #define GLeft 1 #define GRight 401 #define GLRmid 201 #define GTBmid 201 #define GLeftFP 1.0 /* grid size/position info floats, */ #define GRightFP 401.0 /* used in scaling calculations */ #define GTopFP 1.0 #define GBottomFP 401.0 #define GTBmidFP 201.0 #define GLRmidFP 201.0 /* handy-dandy functions */ #define max(a, b) ((a) > (b) ? (a) : (b)) #define min(a, b) ((a) < (b) ? (a) : (b)) #define abs(a) ((a) < 0 ? -(a) : (a)) #define swap(a, b, t) {t=a; a=b; b=t;} /* patterns used for lines in MONO mode. Also used for grid */ #define PATSOLID 0xffff /* solid line */ #define PAT2 0xaaaa /* every other pixel on */ #define PAT4 0x8888 /* every fourth pixel on */ #define PATDASH 0xcccc /* two on, two off */ #define PATDASH4 0xf0f0 /* four on, four off */ #define PATDDASH 0xf6f6 /* four on, one off, two on, one off */ /* size constants used all over the place */ #define WIDTH 640 /* size of main window */ #define HEIGHT 480 #define GSIZE 400 /* size of grid window */ /* defines for setting up the control panels */ #define CBH 19 /* size of color buttons */ #define CBW 41 #define PANELH 15 /* minimum size of a panel */ #define BUTH (19+5) /* size of buttons + space between */ #define CTLX 430 #define CTLY 45 #define CTLW 200 #define CTLW2 97 #define PREX CTLX #define PREY CTLY #define PREW CTLW #define PREH (PANELH+BUTH) #define TRAX CTLX #define TRAY (PREY+PREH+5) #define TRAW CTLW #define TRAH (PANELH+BUTH) #define SCAX CTLX #define SCAY (TRAY+TRAH+5) #define SCAW CTLW2 #define SCAH (PANELH+2*BUTH) #define MSRX (CTLX+CTLW2+6) #define MSRY SCAY #define MSRW CTLW2 #define MSRH (PANELH+2*BUTH) #define OFFX CTLX #define OFFY (SCAY+SCAH+5) #define OFFW CTLW #define OFFH (PANELH+5*BUTH) #define MODX CTLX #define MODY (OFFY+OFFH+5) #define MODW CTLW2 #define MODH (PANELH+4*BUTH) #define MISX (CTLX+CTLW2+6) #define MISY MODY #define MISW CTLW2 #define MISH (PANELH+4*BUTH) /* structure definitions */ struct _button { Window win; short x,y; short w,h; char *st; int invert; FontInfo *finfo; }; typedef struct _button Button; struct _cbutton { Window win; }; typedef struct _cbutton CButton; struct _range { int power, multiplier; double val; char str[20]; }; typedef struct _range Range; struct _offset { double val; char str[20]; }; typedef struct _offset Offset; struct _anal { char title[80]; char labels[MYPERANAL+1][32]; int numys, numpts, type; }; typedef struct _anal Anal; struct _dlist { float dat[MAXPTS]; char label[32]; }; typedef struct _dlist Dlist; /* nasty ol' global variables */ #ifndef MAIN #define WHERE extern #else #define WHERE #endif /* X stuff */ WHERE Window mainW, iconW, titleW, gridW, presetW, traceW, scaleW; WHERE Window measureW, offsetW, modifyW, miscW, commandW, errW; WHERE Window dlogW, LoadDlog, SwitchDlog, CurvDlog, PlotDlog, HelpDlog; WHERE Window PlotNDlog, AboutDlog, diversW; WHERE Cursor arrow,noncurs,cursx; WHERE Pixmap titlePix,titlePixInv; WHERE Bitmap leftmask,rightmask,upmask,downmask; WHERE Font butfont,dlogfont; WHERE FontInfo *butfinfo,*dlogfinfo; WHERE int ForeColor, BackColor; WHERE Pattern linepats[4], GridPat2, GridPat4, RBoxPat[4]; WHERE Vertex curve[MAXPTS]; /* used for plotting data */ /* colors for color display */ WHERE int gridFcol, gridBcol, panFcol, panBcol, butFcol, butBcol; WHERE int mainFcol, mainBcol, dlgFcol, dlgBcol, errFcol, errBcol; WHERE int trcol[4]; WHERE Pixmap gridFpix, gridBpix, panFpix, panBpix, butFpix, butBpix; WHERE Pixmap mainFpix, mainBpix, dlgFpix, dlgBpix, errFpix, errBpix; WHERE Pixmap trpix[4]; /* Splot stuff */ WHERE Anal anals[MAXANAL]; WHERE Dlist xlist,ylist[4]; WHERE Range ranges[5]; WHERE Offset offsets[5]; WHERE Button butts[MAXBUT], dbutts[3], curvbutts[8]; WHERE CButton CButts[4]; WHERE int ind[4]; /* points from curve#(0-3) to dlist#(0-MYPERANAL) */ WHERE Anal *theAnal; /* points to anal[curanal] (current analysis) */ WHERE int LeftArr, RightArr, UpArr[4], DownArr[4]; WHERE int selCB, tbInvert, comUp, Vis159, R159[4]; WHERE int mono; WHERE long pid; WHERE char label[5][16], *units[5]; WHERE int L10Offset, L10Range, OctOffset, OctRange; WHERE int numy, xscal, yscal, ylock, NOPARSE, numpts, numanals, curanal; WHERE int dlscnt; WHERE char basfname[128], errstr[128], dlogstr[64]; /* global variables that need to be initialized */ #ifdef MAIN int mult [9]={1,2,5,10,20,50,100,200,500}; char *multstr[9]={"1","2","5","10","20","50","100","200","500"}; char *prefix [9]={" p"," n"," u"," m"," "," K"," M"," G"," T"}; char *scals [3]={"linear","log 10","log 2"}; char *SpTitle[3]={"DC TRANSFER","AC ANALYSIS","TRANSIENT ANALYSIS"}; #else extern int mult[9]; extern char *multstr[9], *prefix[9], *scals[3], *SpTitle[3]; #endif \Rogue\Monster\ else echo "will not over write ./xsplot/include/xsplot.h" fi if `test ! -s ./xsplot/sreg.out` then echo "writing ./xsplot/sreg.out" cat > ./xsplot/sreg.out << '\Rogue\Monster\' 1*******01/24/86 ******** SPICE 2G.6 3/15/83 ********06:25:07***** 0SHIFT 0**** INPUT LISTING TEMPERATURE = 27.000 DEG C 0*********************************************************************** .SUBCKT FLIP 1 2 9 11 10 13 14 XNAND1 4 8 7 GNAND XNAND2 6 4 5 NAND XGATE1 7 9 13 GATE XGATE2 7 6 14 GATE XINVR1 1 3 GINVR XINVR2 2 1 INVR XGATE3 3 4 14 GATE XGATE4 3 2 13 GATE XINVR3 12 11 INVR XNAND4 5 10 11 NAND XNAND5 8 12 10 NAND .ENDS FLIP .SUBCKT GINVR 2 3 MDRIVE 2 3 0 0 NMOSE L=4U W=16U VDD 1 0 5 MLOAD 1 2 2 0 NMOSD L=10U W=4U .ENDS GINVR .SUBCKT NAND 1 2 3 MDRIVE1 1 2 4 0 NMOSE L=4U W=16U MDRIVE2 4 3 0 0 NMOSE L=4U W=16U MLOAD 5 1 1 0 NMOSD L=10U W=4U VDD 5 0 5 .ENDS NAND .SUBCKT GNAND 1 2 3 MDRIVE1 1 2 4 0 NMOSE L=4U W=16U MDRIVE2 4 3 0 0 NMOSE L=4U W=32U MLOAD 5 1 1 0 NMOSD L=10U W=4U VDD 5 0 5 .ENDS GNAND .SUBCKT INVR 2 3 MDRIVE 2 3 0 0 NMOSE L=4U W=8U VDD 1 0 5 MLOAD 1 2 2 0 NMOSD L=10U W=4U .ENDS INVR .SUBCKT GATE 2 3 4 MPASS 2 4 3 0 NMOSE L=4U W=4U .ENDS GATE VCLK1 1 0 PULSE(0.2 5.0 0N 5N 5N 45N 100N) VCLK2 2 0 PULSE(5.0 0.2 0N 5N 5N 45N 100N) VSIN 3 0 PULSE(0.2 5.0 100N 5N 5N 95N 400N) VLD 4 0 0 VDIN 5 0 0 X1 6 7 3 5 4 1 2 FLIP X2 8 9 6 5 4 1 2 FLIP X3 10 11 8 5 4 1 2 FLIP .IC V(6)=0.2 V(7)=5 V(8)=0.2 V(9)=5 V(10)=0.2 V(11)=5 .TRAN 10N 500N .PRINT TRAN V(1) V(2) V(3) V(6) V(8) V(10) V(1) V(2) V(3) V(6) V(8) V(10) .OPTIONS NOMOD NOPAGE .MODEL NMOSE NMOS LEVEL=2.00000 LD=0.826296U TOX=544.000E-10 +NSUB=2.090161E+15 VTO=1.14181 KP=3.730740E-05 GAMMA=0.628861 +PHI=0.600000 UO=300.000 UEXP=1.001000E-03 UCRIT=1.000000E+06 +DELTA=1.15554 VMAX=100000. XJ=1.31233U LAMBDA=3.101167E-02 +NFS=1.902288E+12 NEFF=1.001000E-02 NSS=0.000000E+00 TPG=1.00000 +RSH=25.4 CGSO=1.6E-10 CGDO=1.6E-10 CGBO=1.7E-10 CJ=1.1E-4 +MJ=0.5 CJSW=5E-10 MJSW=0.33 .MODEL NMOSD NMOS LEVEL=2.00000 LD=1.01616U TOX=544.000E-10 +NSUB=1.000000E+16 VTO=-3.78687 KP=3.281897E-05 GAMMA=0.371508 +PHI=0.600000 UO=900.000 UEXP=1.001000E-03 UCRIT=804753. +DELTA=2.79525 VMAX=674713. XJ=0.600132U LAMBDA=1.000000E-06 +NFS=4.310000E+12 NEFF=1.001000E-02 NSS=0.000000E+00 TPG=1.00000 +RSH=25.4 CGSO=1.6E-10 CGDO=1.6E-10 CGBO=1.7E-10 CJ=1.1E-4 +MJ=0.5 CJSW=5E-10 MJSW=0.33 .END 0**** INITIAL TRANSIENT SOLUTION TEMPERATURE = 27.000 DEG C NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE ( 1) 0.2000 ( 2) 5.0000 ( 3) 0.2000 ( 4) 0. ( 5) 0. ( 6) 0.2001 ( 7) 5.0000 ( 8) 0.1999 ( 9) 5.0000 ( 10) 0.1999 ( 11) 5.0000 ( 12) 0.1558 ( 13) 5.0000 ( 14) 4.4777 ( 15) 4.9999 ( 16) 5.0000 ( 17) 0.1558 ( 18) 5.0000 ( 19) 4.9997 ( 20) 5.0000 ( 21) 0.1954 ( 22) 0.1954 ( 23) 5.0000 ( 24) 4.9127 ( 25) 5.0000 ( 26) 4.9997 ( 27) 5.0000 ( 28) 0.1954 ( 29) 0.1954 ( 30) 5.0000 ( 31) 4.9127 ( 32) 5.0000 ( 33) 0.0574 ( 34) 5.0000 ( 35) 0.0000 ( 36) 5.0000 ( 37) 5.0000 ( 38) 5.0000 ( 39) 5.0000 ( 40) 0.0885 ( 41) 5.0000 ( 42) 4.5516 ( 43) 5.0000 ( 44) 4.2754 ( 45) 5.0000 ( 46) 0.0962 ( 47) 5.0000 ( 48) 5.0000 ( 49) 5.0000 ( 50) 5.0000 ( 51) 0.0885 ( 52) 5.0000 ( 53) 4.5516 ( 54) 5.0000 ( 55) 4.2754 ( 56) 5.0000 ( 57) 0.0962 ( 58) 5.0000 ( 59) 5.0000 ( 60) 5.0000 ( 61) 5.0000 ( 62) 0.0885 ( 63) 5.0000 ( 64) 4.5516 ( 65) 5.0000 VOLTAGE SOURCE CURRENTS NAME CURRENT VCLK1 0. d+00 VCLK2 0. d+00 VSIN 3.393d-10 VLD 0. d+00 VDIN 0. d+00 VDD.XNA* -9.148d-05 VDD.XNA* -6.321d-09 VDD.XIN* -9.102d-05 VDD.XIN* -6.934d-12 VDD.XIN* -1.080d-09 VDD.XNA* -1.096d-09 VDD.XNA* -2.130d-09 VDD.XNA* -1.461d-08 VDD.XNA* -9.107d-05 VDD.XIN* -9.102d-05 VDD.XIN* -6.934d-12 VDD.XIN* -1.080d-09 VDD.XNA* -1.096d-09 VDD.XNA* -2.130d-09 VDD.XNA* -1.461d-08 VDD.XNA* -9.107d-05 VDD.XIN* -9.102d-05 VDD.XIN* -6.934d-12 VDD.XIN* -1.080d-09 VDD.XNA* -1.096d-09 VDD.XNA* -2.130d-09 TOTAL POWER DISSIPATION 2.73d-03 WATTS 0**** OPERATING POINT INFORMATION TEMPERATURE = 27.000 DEG C 0 0**** MOSFETS 0 MDRIVE1* MDRIVE2* MLOAD.X* MDRIVE1* MDRIVE2* MLOAD.X* MPASS.X* MPASS.X* MDRIVE.* MLOAD.X* MDRIVE.* MLOAD.X* 0MODEL NMOSE NMOSE NMOSD NMOSE NMOSE NMOSD NMOSE NMOSE NMOSE NMOSD NMOSE NMOSD ID 9.15e-05 9.15e-05 9.15e-05 5.95e-09 5.94e-09 6.32e-09 3.41e-10 -3.50e-10 3.21e-09 9.10e-05 3.82e-09 1.93e-12 VGS 4.943 4.478 0. 0.156 5.000 0. 0. 0.000 0.156 0. 0.200 0. VDS 0.098 0.057 4.844 5.000 0.000 0.000 4.278 -0.522 0.200 4.800 5.000 0.000 VBS -0.057 0. -0.156 -0.000 0. -5.000 -0.200 -5.000 0. -0.200 0. -5.000 0 MPASS.X* MPASS.X* MDRIVE.* MLOAD.X* MDRIVE1* MDRIVE2* MLOAD.X* MDRIVE1* MDRIVE2* MLOAD.X* MDRIVE1* MDRIVE2* 0MODEL NMOSE NMOSE NMOSE NMOSD NMOSE NMOSE NMOSD NMOSE NMOSE NMOSD NMOSE NMOSE ID 5.08e-10 -5.09e-10 1.06e-09 1.07e-09 1.08e-09 1.07e-09 1.09e-09 2.11e-09 2.10e-09 2.12e-09 1.46e-08 1.45e-08 VGS 4.844 -4.800 0. 0. -0.089 0. 0. 0.448 0. 0. 0.725 0.195 VDS 0.000 -4.844 5.000 0.000 4.911 0.089 0.000 0.448 4.552 0.000 0.724 4.275 VBS -0.156 -5.000 0. -5.000 -0.089 0. -5.000 -4.552 0. -5.000 -4.275 0. 0 MLOAD.X* MDRIVE1* MDRIVE2* MLOAD.X* MPASS.X* MPASS.X* MDRIVE.* MLOAD.X* MDRIVE.* MLOAD.X* MPASS.X* MPASS.X* 0MODEL NMOSD NMOSE NMOSE NMOSD NMOSE NMOSE NMOSE NMOSD NMOSE NMOSD NMOSE NMOSE ID 1.46e-08 9.11e-05 9.11e-05 9.11e-05 -1.43e-11 1.39e-11 1.83e-04 9.10e-05 3.82e-09 1.93e-12 -1.17e-11 1.90e-12 VGS 0. 4.903 5.000 0. -0.000 4.805 4.913 0. 0.200 0. 0.000 -4.800 VDS 0.000 0.099 0.096 4.805 -0.005 0.000 0.200 4.800 5.000 0.000 -0.087 -0.087 VBS -5.000 -0.096 0. -0.195 -0.200 -0.195 0. -0.200 0. -5.000 -5.000 -5.000 0 MDRIVE.* MLOAD.X* MDRIVE1* MDRIVE2* MLOAD.X* MDRIVE1* MDRIVE2* MLOAD.X* MDRIVE1* MDRIVE2* MLOAD.X* MDRIVE1* 0MODEL NMOSE NMOSD NMOSE NMOSE NMOSD NMOSE NMOSE NMOSD NMOSE NMOSE NMOSD NMOSE ID 1.06e-09 1.07e-09 1.08e-09 1.07e-09 1.09e-09 2.11e-09 2.10e-09 2.12e-09 1.46e-08 1.45e-08 1.46e-08 9.11e-05 VGS 0. 0. -0.089 0. 0. 0.448 0. 0. 0.725 0.195 0. 4.903 VDS 5.000 0.000 4.911 0.089 0.000 0.448 4.552 0.000 0.724 4.275 0.000 0.099 VBS 0. -5.000 -0.089 0. -5.000 -4.552 0. -5.000 -4.275 0. -5.000 -0.096 0 MDRIVE2* MLOAD.X* MPASS.X* MPASS.X* MDRIVE.* MLOAD.X* MDRIVE.* MLOAD.X* MPASS.X* MPASS.X* MDRIVE.* MLOAD.X* 0MODEL NMOSE NMOSD NMOSE NMOSE NMOSE NMOSD NMOSE NMOSD NMOSE NMOSE NMOSE NMOSD ID 9.10e-05 9.11e-05 -1.38e-11 1.31e-11 1.83e-04 9.10e-05 3.82e-09 1.93e-12 -1.17e-11 1.90e-12 1.06e-09 1.07e-09 VGS 5.000 0. 0.000 4.805 4.913 0. 0.200 0. 0.000 -4.800 0. 0. VDS 0.096 4.805 -0.005 0.000 0.200 4.800 5.000 0.000 -0.087 -0.087 5.000 0.000 VBS 0. -0.195 -0.200 -0.195 0. -0.200 0. -5.000 -5.000 -5.000 0. -5.000 0 MDRIVE1* MDRIVE2* MLOAD.X* MDRIVE1* MDRIVE2* MLOAD.X* 0MODEL NMOSE NMOSE NMOSD NMOSE NMOSE NMOSD ID 1.08e-09 1.07e-09 1.09e-09 2.11e-09 2.10e-09 2.12e-09 VGS -0.089 0. 0. 0.448 0. 0. VDS 4.911 0.089 0.000 0.448 4.552 0.000 VBS -0.089 0. -5.000 -4.552 0. -5.000 0**** TRANSIENT ANALYSIS TEMPERATURE = 27.000 DEG C TIME V(1) V(2) V(3) V(6) V(8) V(10) V(1) V(2) X 0. e+00 2.000e-01 5.000e+00 2.000e-01 2.001e-01 1.999e-01 1.999e-01 2.000e-01 5.000e+00 1.000e-08 5.000e+00 2.000e-01 2.000e-01 4.903e+00 1.006e-01 1.006e-01 5.000e+00 2.000e-01 2.000e-08 5.000e+00 2.000e-01 2.000e-01 4.987e+00 1.006e-01 1.006e-01 5.000e+00 2.000e-01 3.000e-08 5.000e+00 2.000e-01 2.000e-01 4.992e+00 1.006e-01 1.006e-01 5.000e+00 2.000e-01 4.000e-08 5.000e+00 2.000e-01 2.000e-01 4.995e+00 1.006e-01 1.006e-01 5.000e+00 2.000e-01 5.000e-08 5.000e+00 2.000e-01 2.000e-01 4.995e+00 1.006e-01 1.006e-01 5.000e+00 2.000e-01 6.000e-08 2.000e-01 5.000e+00 2.000e-01 1.651e-01 4.999e+00 1.006e-01 2.000e-01 5.000e+00 7.000e-08 2.000e-01 5.000e+00 2.000e-01 1.545e-01 5.000e+00 1.006e-01 2.000e-01 5.000e+00 8.000e-08 2.000e-01 5.000e+00 2.000e-01 1.502e-01 4.999e+00 1.006e-01 2.000e-01 5.000e+00 9.000e-08 2.000e-01 5.000e+00 2.000e-01 1.474e-01 5.000e+00 1.006e-01 2.000e-01 5.000e+00 1.000e-07 2.000e-01 5.000e+00 2.000e-01 1.455e-01 5.000e+00 1.006e-01 2.000e-01 5.000e+00 1.100e-07 5.000e+00 2.000e-01 5.000e+00 1.449e-01 4.900e+00 1.006e-01 5.000e+00 2.000e-01 1.200e-07 5.000e+00 2.000e-01 5.000e+00 1.431e-01 4.988e+00 1.006e-01 5.000e+00 2.000e-01 1.300e-07 5.000e+00 2.000e-01 5.000e+00 1.419e-01 4.992e+00 1.006e-01 5.000e+00 2.000e-01 1.400e-07 5.000e+00 2.000e-01 5.000e+00 1.407e-01 4.994e+00 1.006e-01 5.000e+00 2.000e-01 1.500e-07 5.000e+00 2.000e-01 5.000e+00 1.396e-01 4.996e+00 1.006e-01 5.000e+00 2.000e-01 1.600e-07 2.000e-01 5.000e+00 5.000e+00 5.001e+00 1.651e-01 5.001e+00 2.000e-01 5.000e+00 1.700e-07 2.000e-01 5.000e+00 5.000e+00 5.000e+00 1.545e-01 5.000e+00 2.000e-01 5.000e+00 1.800e-07 2.000e-01 5.000e+00 5.000e+00 5.000e+00 1.502e-01 5.000e+00 2.000e-01 5.000e+00 1.900e-07 2.000e-01 5.000e+00 5.000e+00 5.000e+00 1.474e-01 5.000e+00 2.000e-01 5.000e+00 2.000e-07 2.000e-01 5.000e+00 5.000e+00 5.000e+00 1.454e-01 5.000e+00 2.000e-01 5.000e+00 2.100e-07 5.000e+00 2.000e-01 2.000e-01 4.900e+00 1.448e-01 5.000e+00 5.000e+00 2.000e-01 2.200e-07 5.000e+00 2.000e-01 2.000e-01 4.987e+00 1.431e-01 5.000e+00 5.000e+00 2.000e-01 2.300e-07 5.000e+00 2.000e-01 2.000e-01 4.992e+00 1.416e-01 5.000e+00 5.000e+00 2.000e-01 2.400e-07 5.000e+00 2.000e-01 2.000e-01 4.994e+00 1.407e-01 5.000e+00 5.000e+00 2.000e-01 2.500e-07 5.000e+00 2.000e-01 2.000e-01 4.996e+00 1.396e-01 5.000e+00 5.000e+00 2.000e-01 2.600e-07 2.000e-01 5.000e+00 2.000e-01 1.655e-01 5.001e+00 1.655e-01 2.000e-01 5.000e+00 2.700e-07 2.000e-01 5.000e+00 2.000e-01 1.545e-01 5.000e+00 1.545e-01 2.000e-01 5.000e+00 2.800e-07 2.000e-01 5.000e+00 2.000e-01 1.501e-01 5.000e+00 1.501e-01 2.000e-01 5.000e+00 2.900e-07 2.000e-01 5.000e+00 2.000e-01 1.475e-01 5.000e+00 1.475e-01 2.000e-01 5.000e+00 3.000e-07 2.000e-01 5.000e+00 2.000e-01 1.455e-01 5.000e+00 1.455e-01 2.000e-01 5.000e+00 3.100e-07 5.000e+00 2.000e-01 2.000e-01 1.449e-01 4.902e+00 1.446e-01 5.000e+00 2.000e-01 3.200e-07 5.000e+00 2.000e-01 2.000e-01 1.431e-01 4.987e+00 1.430e-01 5.000e+00 2.000e-01 3.300e-07 5.000e+00 2.000e-01 2.000e-01 1.418e-01 4.992e+00 1.417e-01 5.000e+00 2.000e-01 3.400e-07 5.000e+00 2.000e-01 2.000e-01 1.408e-01 4.994e+00 1.406e-01 5.000e+00 2.000e-01 3.500e-07 5.000e+00 2.000e-01 2.000e-01 1.398e-01 4.996e+00 1.397e-01 5.000e+00 2.000e-01 3.600e-07 2.000e-01 5.000e+00 2.000e-01 1.394e-01 1.655e-01 5.000e+00 2.000e-01 5.000e+00 3.700e-07 2.000e-01 5.000e+00 2.000e-01 1.387e-01 1.544e-01 5.000e+00 2.000e-01 5.000e+00 3.800e-07 2.000e-01 5.000e+00 2.000e-01 1.380e-01 1.502e-01 5.000e+00 2.000e-01 5.000e+00 3.900e-07 2.000e-01 5.000e+00 2.000e-01 1.374e-01 1.474e-01 5.000e+00 2.000e-01 5.000e+00 4.000e-07 2.000e-01 5.000e+00 2.000e-01 1.369e-01 1.454e-01 5.000e+00 2.000e-01 5.000e+00 4.100e-07 5.000e+00 2.000e-01 2.000e-01 1.366e-01 1.444e-01 5.000e+00 5.000e+00 2.000e-01 4.200e-07 5.000e+00 2.000e-01 2.000e-01 1.361e-01 1.431e-01 5.000e+00 5.000e+00 2.000e-01 4.300e-07 5.000e+00 2.000e-01 2.000e-01 1.357e-01 1.418e-01 5.000e+00 5.000e+00 2.000e-01 4.400e-07 5.000e+00 2.000e-01 2.000e-01 1.352e-01 1.408e-01 5.000e+00 5.000e+00 2.000e-01 4.500e-07 5.000e+00 2.000e-01 2.000e-01 1.348e-01 1.397e-01 5.000e+00 5.000e+00 2.000e-01 4.600e-07 2.000e-01 5.000e+00 2.000e-01 1.346e-01 1.392e-01 1.649e-01 2.000e-01 5.000e+00 4.700e-07 2.000e-01 5.000e+00 2.000e-01 1.343e-01 1.384e-01 1.545e-01 2.000e-01 5.000e+00 4.800e-07 2.000e-01 5.000e+00 2.000e-01 1.339e-01 1.378e-01 1.502e-01 2.000e-01 5.000e+00 4.900e-07 2.000e-01 5.000e+00 2.000e-01 1.336e-01 1.372e-01 1.474e-01 2.000e-01 5.000e+00 5.000e-07 2.000e-01 5.000e+00 2.000e-01 1.332e-01 1.365e-01 1.453e-01 2.000e-01 5.000e+00 Y 0 JOB CONCLUDED 0 TOTAL JOB TIME 3309.52 \Rogue\Monster\ else echo "will not over write ./xsplot/sreg.out" fi echo "Finished archive 4 of 4" exit