home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 915.SPICEDEM.DOC < prev    next >
Text File  |  1987-12-05  |  10KB  |  260 lines

  1.  
  2.  
  3.  
  4. Introduction to Demo PSPICE
  5. by Chuck Dorcey, College Park, MD, 20740.
  6. 08/Sept/1987.
  7.  
  8.  
  9. This public-domain document attempts to introduce "educational" PSPICE to
  10. those who have downloaded (or consider downloading) the archived files
  11. PSPICE0, PSPICE1, and PSPICE2.  After reading the comments below, one should
  12. be able to decide whether this sort of CAD program will be useful, and hence
  13. determine whether to buy the complete $40 manual from MicroSim Corporation.
  14.  
  15. First, a brief orientation:
  16.  
  17. SPICE is a computer program which simulates electronic circuits.  This
  18. simulation is performed at the "resistor-transistor" level, making it good
  19. for analyzing logic gates, amplifiers, or active filters, for example, but
  20. not so good for analyzing microprocessors (or even MSI digital ICs).  As
  21. noted in the "readme" file in PSPICE0.ARC, this version of SPICE ("Demo
  22. PSPICE") is distributed by MicroSim Corporation for classroom use as an
  23. introduction to their commercial PSPICE product.  The complexity limit of
  24. this version should be useful for many hobbyist applications as well.
  25.  
  26. Circuits to be simulated are described to SPICE in a text input file.  Each
  27. "node" in the circuit's schematic diagram must be numbered (by the user),
  28. with components connecting the nodes.  The circuit description can then be of
  29. the form "<component name> <first node> <second node> [<other nodes>...]
  30. <value>".  The input file also contains simulation control commands, such as
  31. ".PRINT" and ".PLOT".  See the example
  32. below for details.  Component types (resistor, capacitor, etc.) are
  33. identified by the first character of their name; successive characters are
  34. arbitrary (alphanumeric).
  35.  
  36. Componenents:
  37.  
  38.   passive components:
  39. Rxxxxxxx N1 N2 value [temperature coefficients]; resistor
  40. Cxxxxxxx N1 N2 value [voltage coefficients]; capacitor
  41. Lxxxxxxx L1 N2 value [current coefficients]; inductor
  42. Kxxxxxxx Lxxxxxxx Lxxxxxxx value ; coupled inductors (transformer), both
  43. inductors must be current independent.
  44. Txxxxxxx N1 N2 N3 N4 Z0=value [Td=value]; transmission line
  45.  
  46.   linear dependent sources:
  47. Gxxxxxxx N+ N- NC+ NC- value; Voltage-Controlled Current Source (VCCS)
  48.   (value is transconductance, in mhos)
  49. Exxxxxxx N+ N- NC+ NC- value; VCVS (value is voltage gain)
  50. Fxxxxxxx N+ N- VNAM value; CCCS.  VNAM is a voltage source through which the
  51. controlling current flows. (value is current gain)
  52. Hxxxxxxx N+ N- VNAM value; CCVS.  (value is transresistance, in ohms)
  53.  
  54.   independent sources:
  55. Vxxxxxxx N+ N- [[DC] DC/TRAN VALUE] [AC [ACMAG [ACPHASE]]]
  56. Ixxxxxxx ... (as above)
  57.  
  58.  
  59.  
  60.  
  61.  
  62.   Time-dependent, independent sources are beyond the scope of this document.
  63.  
  64.   semiconductors:
  65. Dxxxxxxx N+ N- mname; junction diode
  66. Qxxxxxxx NC NB NE mname; bipolar junction transistor
  67. Jxxxxxxx ND NG NS mname; JFET transistor
  68. Mxxxxxxx ND NG NS NB mname [W=VAL][L=VAL][AD=VAL][AS=VAL]; MOSFET, W and L
  69. are channel width and length, in cm.  AD and AS are drain and source
  70. diffusion areas.
  71.  
  72.   Device models are beyond the scope of this document.
  73.  
  74.  
  75. The original EXAMPLE1.CIR file was entirely upper case; my comments are lower
  76. case.  These comments are based on a manual published in 1975 by the
  77. University of California, Berkeley for the mainframe version of SPICE:
  78. "SPICE2: A Computer Program to Simulate Semiconductor Circuits", by Laurence
  79. W. Nagel.  I assume all responsibility for erroneous or misleading
  80. information in these annotations.
  81.  
  82. --------------------------------------------------------------------
  83. EXAMPLE1 - AN ILLUSTRATION OF ALL COMMANDS
  84.      The first line of this (and all) input files is the title line (above).
  85. It can contain anything.
  86.  
  87. *
  88. *  THIS CIRCUIT USES ALL POSSIBLE COMMANDS TO CREATE THE MAXIMUM AMOUNT OF
  89. *  OUTPUT POSSIBLE FROM SUCH A SMALL CIRCUIT.  NORMALLY, ONLY A FEW KINDS OF
  90. *  OUTPUT (SUCH AS TRANSIENT ANALYSIS) WOULD BE RUN.
  91. *
  92.      Any line which starts with an "*" is a comment.
  93.  
  94. .OPT ACCT LIST NODE OPTS NOPAGE RELTOL=.001
  95.      Control command lines start with ".".  "OPT" specifies options, in this
  96. case as listed below:
  97. ACCT: display run-time accounting information.
  98. LIST: print the input file in the output.
  99. NODE: print the "node table" in the output.
  100. OPTS: print the options in the output.
  101. NOPAGE: suppress page-ejects in the output printout.
  102. RELTOL: relative error tolerance = 0.001.  (This is a relatively subtle
  103. parameter controlling the numerical solution algorithm.)
  104. (Additional options are described in the SPICE2 manual, but may not be
  105. implemented in PSPICE.)
  106.  
  107. .WIDTH OUT=80
  108.      "OUT=80" is not described in my manual.
  109.  
  110. .TEMP 35
  111.      Simulate the circuit at 35 degrees C.  My manual claims that
  112. temperatures below -223 deg. C. are ignored, so don't expect superconductive
  113. effects to be modeled!
  114.  
  115. .TF V(5) VIN
  116.  
  117.  
  118.  
  119.  
  120.  
  121.      Evaluate the DC small-signal transfer function from Vin to V(5).
  122.  
  123. .DC VIN -0.25 0.25 0.005
  124.      Evaluate the DC transfer function for input values from -0.25 to 0.25 V
  125. in 0.005 Volt steps.
  126.  
  127. .AC DEC 10 1 10GHZ
  128.      Evaluate the AC transfer function at 10 frequencies per decade, from 1
  129. Hz to 10 GHz.  (That is, at 10 frequencies between 1 Hz and 10 Hz, 10 more
  130. between 10 Hz and 100 Hz, and so on.)
  131.  
  132. .TRAN/OP 5NS 500NS
  133.      Perform transient analysis, plotting output every 5 nanoseconds, for 500
  134. ns.  The "/OP" control is not described in my manual.
  135.  
  136. .SENS V(5)
  137.      Evaluate the DC small-signal sensitivity of the voltage at node 5 with
  138. respect to every circuit parameter.  (That is, if R1 changes by 1 ohm, how
  139. much does V5 change?  This is done for every circuit parameter, which may
  140. produce large amounts of output.)
  141.  
  142. .NOISE V(5) VIN 20
  143.      Add noise to the input (Vin) and measure it at the output, for every
  144. 20th frequency point evaluated in AC analysis.
  145.  
  146. .FOUR 5MEG V(5)
  147.      Perform Fourier analysis.  Inject a 5 MHz tone at the input, and monitor
  148. V(5) for DC and the first 9 components.  (Distortion may create spurious
  149. output at 10 and 15 MHz, but not usually at, say, 7.5 MHz.)
  150.      Now we describe the circuit to be analyzed...
  151.  
  152. VIN 100 0 AC 1 SIN(0 0.1 5MEG)
  153.      Connect an independent voltage source named "VIN" between nodes 100 and
  154. 0 (Node 0 is reserved as "ground".  Other node numbering is arbitrary. ).
  155. The AC magnitude will be 1 Volt.  Generate a sinusoidal wave with 0 volts DC
  156. offset, 0.1 volt amplitude, and 5 MHz frequency.  ( Delay (secs.) and damping
  157. factor (1/secs.) are also described in my manual, in that order. )
  158.  
  159. VCC 101 0 DC 12
  160.      Connect an independent voltage source named "VCC" between nodes 101 and
  161. 0.  It has a time-independent (DC) value of 12 volts.
  162.  
  163. VEE 102 0 -12
  164.      VEE is connected to node 102, and supplies -12 volts.
  165.  
  166. Q1 4 2 6 QNL
  167.      Transistor Q1 has its collector connected to node 4, its base to node 2,
  168. and its emitter to node 6.  It is described (below) in transistor model
  169. "QNL".
  170.  
  171. Q2 5 3 6 QNL
  172.  
  173. RS1 100 2 1K
  174.      Resistor RS1 is connected between nodes 100 and 2, with a value of 1000
  175.  
  176.  
  177.  
  178.  
  179.  
  180. ohms.
  181.  
  182. RS2 3 0 1K
  183.  
  184. RC1 4 101 CRES 10K
  185.      Resistor RC1 is between nodes 4 and 101, has a value of 10 kohms, and is
  186. further described in model CRES, below.  ( My manual does not describe the
  187. use of resistor models. )
  188.  
  189. RC2 5 101 CRES 10K
  190.  
  191. Q3 6 7 102 QNL
  192.  
  193. Q4 7 7 102 QNL
  194.  
  195. RBIAS 7 101 20K
  196.      ( Note that the names of components are arbitrary, as long as the first
  197. character identifies what kind of component it is. )
  198.  
  199. CLOAD 4 5 5PF
  200.      Capacitor "CLOAD" is between nodes 4 and 5, and has value 5 picoFarads.
  201.  
  202. .MODEL CRES RES (R=1 TC1=.02 TC2=.0045)
  203.      Define the resistor model "CRES" used above.  Usage of "R=1" is not
  204. described in my manual.  TC1 and TC2 describe the variation in resistance
  205. with temperature according to:
  206.      R(T) = R(Tnom) * (1 + TC1 * (T-Tnom) + TC2 * (T-Tnom)^2 );
  207. where "^2" denotes "taken to the second power".
  208.  
  209. .MODEL QNL NPN (BF=80 RB=100 CCS=2PF TF=0.3NS TR=6NS CJE=3PF CJC=2PF
  210. +   VA=50)
  211.      Define the transistor model "QNL" used above.  Note the use of "+" in
  212. first column to continue a command line.
  213. QNL is an NPN transistor,
  214. BF  (forward current gain) = 80,
  215. RB  (base resistance) = 100 ohms,
  216. CCS (collector to substrate capacitance) = 2 pF,
  217. TF  (forward transit time) = 0.3 nSec,
  218. TR  (reverse transit time) = 6 nSec,
  219. CJE (zero-bias base-emitter junction ccapacitance) = 3 pF,
  220. CJC (zero-bias base-collector junction capacitance) = 2 pF, and
  221. VA  (forward Early voltage) = 50 volts.
  222.      (This uses the "Gummel-Poon" model, if enought information is provided.
  223. Otherwise, the "Ebers-Moll" model is used.  Other parameters are described in
  224. my manual.  All have reasonable default values.)
  225.  
  226. .PRINT DC V(4) V(5)
  227.      Print the voltages calculated at nodes 4 and 5 during DC analysis.  (Up
  228. to 8 nodes could be specified.  Use V(4,5) to print the difference between
  229. the two nodes.)
  230.  
  231. .PLOT DC IC(Q2)
  232.      Though this isn't described in my manual, it seems to mean "plot the
  233. collector current in Q2 during DC analysis".
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240. .PRINT AC VM(5) VP(5)
  241.      Print the Magnitude and Phase of the complex voltage calculated for node
  242. 5.
  243.  
  244. .PLOT AC VCM(Q2) VCP(Q2)
  245.      The "VCM" and "VCP" parameters aren't described in my manual.
  246.  
  247. .PRINT NOISE INOISE ONOISE
  248.      Print input and output noise levels.
  249.  
  250. .PLOT NOISE INOISE ONOISE
  251.      Plot input and output noise.
  252.  
  253. .PRINT TRAN V(4) V(5)
  254.      Print voltages calculated at nodes 4 and 5 during transient analysis.
  255.  
  256. .PLOT TRAN V(4) V(5) I(CLOAD)
  257.      Plot the current through Cload, as well as the voltages above.
  258.  
  259. .END
  260.      This is always the last line in a SPICE input file. @    k@    ÇP    ╟P    `    ``    Ü`    ¡`    ─`    ╫`    p    p    /p    îæÿÉÿÿ0    ÿp ÿ