home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / alt / sources / 3087 (.txt) < prev    next >
Encoding:
Texinfo Document  |  1993-01-25  |  58.4 KB  |  1,294 lines

  1. Path: sparky!uunet!wupost!darwin.sura.net!ukma!cs.widener.edu!dsinc!ub!galileo.cc.rochester.edu!ee.rochester.edu!rbc!al
  2. From: al@rbc.uucp (Al Davis)
  3. Newsgroups: alt.sources
  4. Subject: ACS  circuit simulator  part 03/20
  5. Message-ID: <1993Jan25.052034.4629@rbc.uucp>
  6. Date: 25 Jan 93 05:20:34 GMT
  7. Sender: al@rbc.uucp (Al Davis)
  8. Organization: Huh?
  9. Lines: 1623
  10. #! /bin/sh
  11. # This is a shell archive, meaning:
  12. # 1. Remove everything above the #! /bin/sh line.
  13. # 2. Save the resulting text in a file.
  14. # 3. Execute the file with /bin/sh (not csh) to create the files:
  15. #    man/behavior.tex
  16. #    man/circuit.tex
  17. #    man/commands.tex
  18. #    man/man.tex
  19. #    man/manl.tex
  20. #    man/start.tex
  21. #    man/tech.tex
  22. #    man/title.tex
  23. #    man/Circuit
  24. # This archive created: Mon Jan 25 00:17:42 1993
  25. export PATH; PATH=/bin:$PATH
  26. if test -f 'man/behavior.tex'
  27.     echo shar: will not over-write existing file "'man/behavior.tex'"
  28. cat << \SHAR_EOF > 'man/behavior.tex'
  29. % behavior  06/28/90
  30. % man behavior +
  31. % Copyright 1983-1992   Albert Davis
  32. %----------------------------------------------------------------------------
  33. \chapter{Behavioral modeling}
  34. \input{Behavior/language.tex}
  35. \input{Behavior/result.tex}
  36. %----------------------------------------------------------------------------
  37. %----------------------------------------------------------------------------
  38. SHAR_EOF
  39. fi # end of overwriting check
  40. if test -f 'man/circuit.tex'
  41.     echo shar: will not over-write existing file "'man/circuit.tex'"
  42. cat << \SHAR_EOF > 'man/circuit.tex'
  43. % circuit.tex  04/13/92
  44. % man circuit +
  45. % Copyright 1983-1992   Albert Davis
  46. %------------------------------------------------------------------------
  47. \chapter{Circuit description}
  48. \input{Circuit/0summary.tex}
  49. %\input{Circuit/a.tex}
  50. %\input{Circuit/b.tex}    % nonlinear dependent source (spice3)
  51. \input{Circuit/c.tex}    % capacitor
  52. \input{Circuit/d.tex}    % diode
  53. \input{Circuit/e.tex}    % vcvs
  54. \input{Circuit/f.tex}    % cccs
  55. \input{Circuit/g.tex}    % vccs
  56. \input{Circuit/h.tex}    % ccvs
  57. \input{Circuit/i.tex}    % cs
  58. \input{Circuit/j.tex}    % jfet (not yet)
  59. \input{Circuit/k.tex}    % mutual inductance (not yet)
  60. \input{Circuit/l.tex}    % inductance
  61. \input{Circuit/m.tex}    % mosfet
  62. %\input{Circuit/n.tex}
  63. %\input{Circuit/o.tex}
  64. %\input{Circuit/p.tex}
  65. \input{Circuit/q.tex}    % bjt (not yet)
  66. \input{Circuit/r.tex}    % resistor
  67. %\input{Circuit/s.tex}    % vc switch (spice3) (not yet)
  68. \input{Circuit/t.tex}    % transmission line
  69. \input{Circuit/u.tex}    % logic device
  70. %\input{Circuit/u.tex}    % uniform rc line (spice3) (not yet)
  71. \input{Circuit/v.tex}    % vs
  72. %\input{Circuit/w.tex}    % cc switch (spice3) (not yet)
  73. \input{Circuit/x.tex}    % subcircuit
  74. \input{Circuit/y.tex}    % admittance (extension)
  75. %\input{Circuit/z.tex}    % mesfet (spice3) (not yet)
  76. %------------------------------------------------------------------------
  77. %------------------------------------------------------------------------
  78. SHAR_EOF
  79. fi # end of overwriting check
  80. if test -f 'man/commands.tex'
  81.     echo shar: will not over-write existing file "'man/commands.tex'"
  82. cat << \SHAR_EOF > 'man/commands.tex'
  83. % commands.tex  01/20/93
  84. % man commands +
  85. % Copyright 1983-1992   Albert Davis
  86. %------------------------------------------------------------------------
  87. \chapter{Command descriptions}
  88. \input{Commands/0summary.tex}
  89. \input{Commands/1shell.tex}
  90. \input{Commands/2batch.tex}
  91. \input{Commands/3outfile.tex}    
  92. \input{Commands/ac.tex}    
  93. \input{Commands/alter.tex}    % stub
  94. \input{Commands/build.tex}    
  95. \input{Commands/chdir.tex}    
  96. \input{Commands/clear.tex}
  97. \input{Commands/dc.tex}
  98. \input{Commands/delete.tex}
  99. \input{Commands/disto.tex}    % stub
  100. \input{Commands/edit.tex}    
  101. \input{Commands/end.tex}    % stub
  102. \input{Commands/exit.tex}    
  103. \input{Commands/fault.tex}    
  104. %\input{Commands/fourier.tex}
  105. \input{Commands/generato.tex}    
  106. \input{Commands/get.tex}    
  107. \input{Commands/help.tex}    
  108. \input{Commands/ic.tex}        % stub
  109. \input{Commands/insert.tex}    
  110. \input{Commands/list.tex}    
  111. \input{Commands/log.tex}    
  112. \input{Commands/mark.tex}    
  113. \input{Commands/merge.tex}    
  114. \input{Commands/modify.tex}
  115. \input{Commands/network.tex}    
  116. \input{Commands/nodeset.tex}    % stub
  117. \input{Commands/noise.tex}    % stub
  118. \input{Commands/op.tex}    
  119. \input{Commands/options.tex}    
  120. \input{Commands/pause.tex}    
  121. \input{Commands/plot.tex}    
  122. \input{Commands/print.tex}
  123. \input{Commands/quit.tex}    
  124. \input{Commands/save.tex}    
  125. \input{Commands/sens.tex}    % stub
  126. \input{Commands/set.tex}    
  127. \input{Commands/status.tex}
  128. \input{Commands/sweep.tex}    
  129. \input{Commands/temp.tex}    % stub
  130. \input{Commands/tf.tex}        % stub
  131. \input{Commands/title.tex}    
  132. \input{Commands/transient.tex}    
  133. \input{Commands/unfault.tex}    
  134. \input{Commands/unmark.tex}
  135. \input{Commands/width.tex}    
  136. %------------------------------------------------------------------------
  137. %------------------------------------------------------------------------
  138. SHAR_EOF
  139. fi # end of overwriting check
  140. if test -f 'man/man.tex'
  141.     echo shar: will not over-write existing file "'man/man.tex'"
  142. cat << \SHAR_EOF > 'man/man.tex'
  143. % man.tex  12/31/92
  144. % man +
  145. % Copyright 1983-1992   Albert Davis
  146. \documentstyle[twocolumn,times]{book}
  147. \topmargin 0in
  148. \oddsidemargin 0in
  149. \evensidemargin 0in
  150. \textheight 8.0in
  151. \textwidth 6.5in
  152. \setcounter{tocdepth}{1}
  153. \makeindex
  154. \begin{document}
  155. \input{title.tex}
  156. \tableofcontents
  157. \input{start.tex}    % introduction
  158. \input{commands.tex}    % command description
  159. \input{circuit.tex}    % circuit elements
  160. %\input{analysis.tex}    % analysis modes
  161. %\input{errors.tex}    % error handling
  162. %\input{filefmt.tex}    % input and output formats
  163. %\input{examples.tex}    % examples
  164. %\input{install.tex}    % installation
  165. \input{tech.tex}    % technical manual
  166. \input{man.ind}
  167. \end{document}
  168. %--------------------------------------------------------------------------
  169. %--------------------------------------------------------------------------
  170. SHAR_EOF
  171. fi # end of overwriting check
  172. if test -f 'man/manl.tex'
  173.     echo shar: will not over-write existing file "'man/manl.tex'"
  174. cat << \SHAR_EOF > 'man/manl.tex'
  175. % manl.tex  01/20/93  large version
  176. % manl +
  177. % Copyright 1983-1992   Albert Davis
  178. \documentstyle[12pt,times]{book}
  179. \topmargin 0in
  180. \oddsidemargin 0in
  181. \evensidemargin 0in
  182. \textheight 8.0in
  183. \textwidth 6.5in
  184. \setcounter{tocdepth}{1}
  185. \makeindex
  186. \begin{document}
  187. \input{title.tex}
  188. \tableofcontents
  189. \input{start.tex}    % introduction
  190. \input{commands.tex}    % command description
  191. \input{circuit.tex}    % circuit elements
  192. %\input{analysis.tex}    % analysis modes
  193. %\input{errors.tex}    % error handling
  194. %\input{filefmt.tex}    % input and output formats
  195. %\input{examples.tex}    % examples
  196. %\input{install.tex}    % installation
  197. \input{tech.tex}    % technical manual
  198. \input{manl.ind}
  199. \end{document}
  200. %--------------------------------------------------------------------------
  201. %--------------------------------------------------------------------------
  202. SHAR_EOF
  203. fi # end of overwriting check
  204. if test -f 'man/start.tex'
  205.     echo shar: will not over-write existing file "'man/start.tex'"
  206. cat << \SHAR_EOF > 'man/start.tex'
  207. % start  01/24/93
  208. % man start .
  209. % Copyright 1983-1992   Albert Davis
  210. %------------------------------------------------------------------------
  211. \chapter{Introduction}
  212. %------------------------------------------------------------------------
  213. \section{What is it?}
  214. ACS is a general purpose mixed analog and digital circuit simulator.  It
  215. performs nonlinear dc and transient analyses, fourier analysis, and ac
  216. analysis linearized at an operating point.  It is fully interactive and
  217. command driven.  It can also be run in batch mode.  The output is produced
  218. as it simulates.  Spice compatible models for the MOSFET (level 2) and diode
  219. are included in this release.  Other models (MOSFET levels 1 and 3 and BJT)
  220. are in the testing phase.
  221. Since it is fully interactive, it is possible to make changes and re-simulate
  222. quickly.  The traditional batch approach of repeat(edit, simulate, wait) is
  223. a thing of the past.  This makes ACS ideal for experimenting with circuits as
  224. you might do in an iterative design or testing design principles as you might
  225. do in a course on circuits.
  226. In batch mode it is mostly Spice compatible, so it is often possible to use
  227. the same file for both ACS and Spice.
  228. The analog simulation is based on traditional nodal analysis with iteration
  229. by Newton's method and LU decomposition.  An event queue and incremental
  230. matrix update speed up the solution considerably for large circuits and
  231. provide most of the benefits of relaxation methods but without the drawbacks.
  232. It also has digital devices, so it is a gate level logic simulator.  The
  233. digital devices may be implemented as either analog subcircuits or as true
  234. digital models.  The simulator will automatically determine which to use.
  235. Networks of digital devices are simulated as digital, with no conversions to
  236. analog between gates.  This results in digital circuits being simulated
  237. faster than on a typical analog simulator, even with behavioral models.
  238. ACS also has a simple behavioral modeling language that allows simple
  239. behavioral descriptions of most components including capacitors and
  240. inductors.
  241. ACS is an ongoing research project.  It is being released in a preliminary
  242. phase in hopes that it will be useful and that others will use it as a
  243. thrust or base for their research.
  244. %------------------------------------------------------------------------
  245. \section{Starting}
  246. \index{starting}
  247. To run this program, type and enter the command: {\tt eca}, from the command
  248. shell.
  249. The prompt {\tt -->} shows that the program is in the command mode.  You
  250. should enter a command.  Normally, the first command will be to {\tt build} a
  251. circuit, or to {\tt get} one from the disk.  First time users should turn to
  252. the examples section for further assistance.  There is a {\tt help} command,
  253. in case you get lost.
  254. To run in batch mode, use {\tt eca {\em file}}.  This will run the {\em
  255. file} in batch mode.  If it ends with an {\tt .end} command, it will exit
  256. when done, otherwise it will revert to command mode.
  257. %------------------------------------------------------------------------
  258. \section{How to use this manual}
  259. The best approach is to read this chapter, then read the command summary at
  260. the beginning of chapter 2, then run the examples in the tutorial section.
  261. Later, when you want to use the advanced features, go back for more detail.
  262. This manual is designed as a reference for users who are familiar with
  263. circuit design, and therefore does not present information on circuit design
  264. but only on the use of this program to analyze such a design.  Likewise, it
  265. is not a text in modeling, although the models section does touch on it.
  266. \index{notation}
  267. \index{syntax}
  268. Throughout this manual, the following notation conventions are used:
  269. \begin{itemize}
  270. \index{typewriter font}
  271. \item {\tt Typewriter} font represents exactly what you type, or computer
  272. output.
  273. \item {\tt \underline{Underlined typewriter}} font is what you type, in a
  274. dialogue with the computer.
  275. \index{upper case}
  276. \index{lower case}
  277. \index{short commands}
  278. \item Command words are shown in mixed UPPER and lower case.  The upper case
  279. part must be entered exactly.  The lower case part is optional, but if
  280. included must be spelled correctly.
  281. \index{italics}
  282. \item {\it Italics} indicate that you should substitute the appropriate name
  283. or value.
  284. \index{braces}
  285. \item Braces  \{ \}  indicate optional parameters.
  286. \item Ellipses (...) indicate that an entry may be repeated as many times as
  287. needed or desired.
  288. \end{itemize}
  289. %------------------------------------------------------------------------
  290. \section{Command structure}
  291. \index{command structure}
  292. \index{short commands}
  293. \index{abbreviations}
  294. Commands are whole words, but usually you only have to type enough of the
  295. word to make it unique.  The first three letters will almost always work.
  296. In some cases less will do.  The whole word is significant, if used, and
  297. must be spelled correctly.
  298. In files, commands must be prefixed with a dot (.).  This is done for
  299. compatibility with other simulation programs, such as SPICE.
  300. Command options should be separated by commas or spaces.  In some cases, the
  301. commas or spaces are not necessary, but it is good practice to use them.
  302. \index{upper case}
  303. \index{lower case}
  304. \index{case}
  305. Upper and lower case are usually the same.
  306. \index{order: command}
  307. Usually options can be entered in any order.  The exceptions to this are
  308. numeric parameters, where the order determines their meaning, and
  309. command-like parameters, where they are executed in order.  If parameters
  310. conflict, the last takes precedence.
  311. In general, standard numeric parameters, such as sweep limits, must be
  312. entered first, before any options.
  313. \index{comment lines}
  314. Any line starting with {\tt *} is considered a comment line, and is
  315. ignored.  Anything on any line following a quote is ignored.  This is mainly
  316. intended for files.
  317. \index{abbreviated notation}
  318. This program supports abbreviated notation for floating point numeric
  319. entries.  `K' means kilo, or `e3', etc.  `M' and `m' mean milli, not mega
  320. (for Spice compatibility).  `Meg' means mega.  Of course, it will also take
  321. the standard scientific notation.  Letters following values, without spaces,
  322. are ignored.
  323. \begin{verse}
  324. T = Tera = e12\\
  325. G = Giga = e9\\
  326. Meg = Mega = e6\\
  327. K = Kilo = e3\\
  328. m = milli = e-3\\
  329. u = micro = e-6\\
  330. n = nano = e-9\\
  331. p = pico = e-12\\
  332. f = femto = e-15
  333. \end{verse}
  334. Files are written in this same format.  To write a file with standard
  335. scientific notation, append the word {\tt Basic} to the command.
  336. %------------------------------------------------------------------------
  337. \section{Standard options}
  338. \index{standard options}
  339. There are several options that are used in many commands that have a
  340. consistent meaning.
  341. \begin{description}
  342. \index{quiet option}
  343. \item[{\tt Quiet}] Suppress all unnecessary output, such as intermediate
  344. results, disk reads, activity indicators.
  345. \index{echo option}
  346. \item[{\tt Echo}] Echo all disk reads to the console, as read from the disk.
  347. \index{basic option}
  348. \index{scientific notation}
  349. \item[{\tt Basic}] Format the output for compatibility with other software
  350. with primitive input parsers, such as C's {\em scanf} and Basic's {\em input}
  351. statements.  It forces exponential notation, instead of our standard
  352. abbreviated notation.  Any numbers that would ordinarily be printed without
  353. an exponent are not changed.
  354. \index{pack option}
  355. \item[{\tt Pack}] Remove extra spaces from the output to save space.
  356. \index{input file}
  357. \index{< option}
  358. \item[{\tt <}] Take the input from a file.  The file name follows in the
  359. same line.
  360. \index{disk file}
  361. \index{output file}
  362. \index{file option}
  363. \index{> option}
  364. \item[{\tt >}] Direct the output to a file.  The file name follows.  If the
  365. file already exists, it will ask permission to delete the old one and
  366. replace it with a new one with the same name.
  367. \item[{\tt >>}] Direct the output to a file.  If the file already exists,
  368. the new data is appended to it.  
  369. \end{description}
  370. %------------------------------------------------------------------------
  371. \section{In case of difficulty}
  372. \index{problems}
  373. \index{bugs}
  374. This program is distributed in the hope that it will be useful,
  375. but WITHOUT ANY WARRANTY; without even the implied warranty of
  376. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  377. GNU General Public License for more details.
  378. I do not promise any
  379. kind of support or assistance to users.  However, I plan to continue to
  380. improve it and keep it reliable, so please send me any complaints and
  381. suggestions you have.  I will probably fix anything that is clearly (to me)
  382. a malfunction.  I may make an improvement if I consider it worth the effort,
  383. but you should not be surprised if I don't think I can spare time for it.  
  384. The direction for enhancements is primarily driven by research interests 
  385. and funding.  I may provide some assistance to academic users at no charge.
  386. The latest version of the program and libraries is available from the
  387. bulletin board at (716)272-1645.  Login as "guest".  
  388. As of now, the bulletin board has executables for NeXT, MSDOS and possibly 
  389. others.  The full source for the latest version is available along with 
  390. any new models or hints that anyone may have contributed.
  391. You should register by sending your email address to
  392. davis@ee.rochester.edu.  You will be notified by email of any updates to the
  393. program and possibly of what work is being done.
  394. If you have problems, questions or comments send email to
  395. davis@ee.rochester.edu.  You can send paper mail to: Albert Davis, 136 
  396. Doncaster Road, Rochester, NY 14623.
  397. %------------------------------------------------------------------------
  398. %------------------------------------------------------------------------
  399. SHAR_EOF
  400. fi # end of overwriting check
  401. if test -f 'man/tech.tex'
  402.     echo shar: will not over-write existing file "'man/tech.tex'"
  403. cat << \SHAR_EOF > 'man/tech.tex'
  404. % tech.tex  01/16/93
  405. % man tech +
  406. % Copyright 1983-1992   Albert Davis
  407. %------------------------------------------------------------------------
  408. \chapter{Technical Notes}
  409. %\input{Tech/preface.tex}    % qualifications
  410. %\input{Tech/methods.tex}    % simulation methods
  411. \input{Tech/datastruct.tex}    % data structures, etc.
  412. %\input{Tech/modeleqn.tex}    % model equations, etc.
  413. \input{Tech/addmodel.tex}    % model addition (coding)
  414. %------------------------------------------------------------------------
  415. %------------------------------------------------------------------------
  416. SHAR_EOF
  417. fi # end of overwriting check
  418. if test -f 'man/title.tex'
  419.     echo shar: will not over-write existing file "'man/title.tex'"
  420. cat << \SHAR_EOF > 'man/title.tex'
  421. % title  02/06/92
  422. % man title .
  423. % Copyright 1983-1992   Albert Davis
  424. \title{ACS \\ (Al's Circuit Simulator) \\ Users manual}
  425. \author{Albert Davis}
  426. \date{\today}
  427. \maketitle
  428. %------------------------------------------------------------------------
  429. %------------------------------------------------------------------------
  430. SHAR_EOF
  431. fi # end of overwriting check
  432. if test ! -d 'man/Circuit'
  433.     mkdir 'man/Circuit'
  434. cd 'man/Circuit'
  435. if test -f '0summary.tex'
  436.     echo shar: will not over-write existing file "'0summary.tex'"
  437. cat << \SHAR_EOF > '0summary.tex'
  438. % summary.tex  04/13/92 
  439. % man circuit summary .
  440. % Copyright 1983-1992   Albert Davis
  441. %------------------------------------------------------------------------
  442.  To describe a circuit, you must provide a `netlist'.  The netlist is simply
  443. a list of the components with their connections and values.  The format is
  444. essentially the same as the standard SPICE format.
  445. Before doing this, number the nodes on your schematic.  (A node is a place
  446. where parts connect together.)  Then, each part gets a line in the netlist
  447. (circuit description).  In its simplest form, which you will use most of the
  448. time, it is just the type, such as `R' for resistor, or a label, like `R47',
  449. followed by the two nodes it connects to, then its value.
  450. Example:  `{\tt R29 6 8 22k}' is a 22k resistor between nodes 6 and 8.
  451. \index{ground node}
  452. \index{common node}
  453. \index{voltage reference}
  454.  Node 0 is used as a reference for all calculations and is assumed to have a
  455. voltage of zero.  (This is the ground, earth or common node.)  Nodes must be
  456. nonnegative integers, but need not be numbered sequentially.
  457. \index{open circuit error}
  458.  There should be a DC path through the circuit to node 0 from every node
  459. that is actually used.  The circuit cannot contain a cutset of current
  460. sources and/or capacitors.  If either of these cases occurs, it will be
  461. discovered during analysis.  The program will attempt to correct the error,
  462. issue an `open circuit' error message and continue.  This is rarely a
  463. problem with real circuits.  Most circuits have such a path, however
  464. indirect.
  465. Semiconductor devices require both a device statement, and a {\tt .model}
  466. statement (or ``card'').  The device statement, described in the Circuit
  467. description chapter, defines individual devices as variations from a
  468. prototype, as is required for different devices on the same substrate.  The
  469. model statement, described in this chapter, defines process dependent
  470. parameters, which usually apply to all devices on a substrate.
  471. The {\tt .model} card syntax is:
  472. \begin{verse}
  473. {\tt .model} {\it mnape type} \{{\it args}\}
  474. \end{verse}
  475. {\it Mnane} is the model name, which elements will use to refer to this
  476. model.  {\it Type} is one of several types of built-in models.  {\it Args}
  477. is a list of the parameters, of the form {\it name}{\tt =}{\it value}.
  478. \begin{description}
  479. \item[{\tt D}] Diode model
  480. \item[{\tt NMOS}] N-channel MOSFET model
  481. \item[{\tt PMOS}] P-channel MOSFET model
  482. \item[{\tt LOGIC}] Logic family description
  483. \end{description}
  484. %------------------------------------------------------------------------
  485. %------------------------------------------------------------------------
  486. SHAR_EOF
  487. fi # end of overwriting check
  488. if test -f 'c.tex'
  489.     echo shar: will not over-write existing file "'c.tex'"
  490. cat << \SHAR_EOF > 'c.tex'
  491. % c.tex  04/13/92
  492. % man circuit c .
  493. % Copyright 1983-1992   Albert Davis
  494. %------------------------------------------------------------------------
  495. \section{{\tt C}: Capacitor}
  496. %------------------------------------------------------------------------
  497. \subsection{Syntax}
  498. \begin{verse}
  499. {\tt C}{\it xxxxxxx n+ n-- value}\\
  500. {\tt C}{\it xxxxxxx n+ n-- value} \{{\tt IC=}{\it incond}\}
  501. \end{verse}
  502. %------------------------------------------------------------------------
  503. \subsection{Purpose}
  504. Capacitor, or general charge storage element.
  505. %------------------------------------------------------------------------
  506. \subsection{Comments}
  507. {\it N+} and {\it n--} are the positive and negative element nodes,
  508. respectively.  {\it Value} is the capacitance in Farads.
  509. The (optional) initial condition is the initial (time = 0) value of the
  510. capacitor voltage (in Volts).  Note that the initial conditions (if any)
  511. apply only if the {\tt UIC} option is specified on the {\tt transient}
  512. command.
  513. %Spice-3 has model for semiconductor cap.  Syntax: ... val mname L=len
  514. %W=width.  Val overrides l and w.
  515. %------------------------------------------------------------------------
  516. %------------------------------------------------------------------------
  517. SHAR_EOF
  518. fi # end of overwriting check
  519. if test -f 'd.tex'
  520.     echo shar: will not over-write existing file "'d.tex'"
  521. cat << \SHAR_EOF > 'd.tex'
  522. % d.tex  01/23/93
  523. % man circuit d .
  524. % Copyright 1983-1992   Albert Davis
  525. %------------------------------------------------------------------------
  526. \section{{\tt D}: Diode}
  527. %------------------------------------------------------------------------
  528. \subsection{Syntax}
  529. \begin{verse}
  530. {\tt D}{\it xxxxxxx n+ n-- mname} \{{\it area}\} \{{\it args}\}
  531. \end{verse}
  532. %------------------------------------------------------------------------
  533. \subsection{Purpose}
  534. Junction diode.
  535. %------------------------------------------------------------------------
  536. \subsection{Comments}
  537. {\it N+} and {\it n--} are the positive and negative element nodes,
  538. respectively.  {\it Mname} is the model name.  {\it Area} is the area
  539. factor.  If the area factor is omitted, a value of 1.0 is assumed.  {\it
  540. Args} is a list of additional arguments.  The parameters available are a
  541. superset of those available in SPICE.
  542. When the element is printed out, by a {\tt list} or {\tt save} command, the
  543. the computed values of {\tt IS}, {\tt RS}, {\tt CJ}, and {\tt CJSW} are
  544. printed as a comment, if they were not explicitly entered.
  545. %------------------------------------------------------------------------
  546. \subsection{Element Parameters}
  547. \begin{description}
  548. \item[{\tt Area} = {\it x}] Area factor.  (Default = 1.0) If optional
  549. parameters {\tt IS}, {\tt RS}, and {\tt CJO} are not specified, the {\tt
  550. .model} value is multiplied by {\tt area} to get the actual value.
  551. \item[{\tt Perim} = {\it x}] Perimeter factor.  (Default = 1.0) If optional
  552. parameter {\tt CJSW} is not specified, the {\tt .model} value is multiplied
  553. by {\tt perim} to get the actual value.
  554. \item[{\tt IC} = {\it x}] Initial condition.  The initial voltage to use in
  555. transient analysis, if the {\tt UIC} option is specified.  Default: don't
  556. use initial condition.  This is presently ignored, but accepted for
  557. compatibility.
  558. \item[{\tt OFF}] Start iterating with this diode off, in DC analysis.  This
  559. is presently ignored, but accepted for compatibility.
  560. \item[{\tt IS} = {\it x}] Saturation current.  This overrides {\tt IS} in
  561. the {\tt .model}, and is not affected by {\tt area}.  Default: use {\tt IS}
  562. from {\tt .model} * {\tt area}.
  563. \item[{\tt RS} = {\it x}] Ohmic (series) resistance.  This overrides {\tt
  564. RS} in the {\tt .model}, and is not affected by {\tt area}.  Default: use
  565. {\tt RS} from {\tt .model} * {\tt area}.  This is presently ignored, but
  566. accepted for compatibility.
  567. \item[{\tt CJ} = {\it x}] Zero-bias junction capacitance.  This overrides
  568. {\tt CJ} in the {\tt .model}, and is not affected by {\tt area}.  Default:
  569. use {\tt CJ} from {\tt .model} * {\tt area}.
  570. \item[{\tt CJSW} = {\it x}] Zero-bias sidewall capacitance.  This overrides
  571. {\tt CJSW} in the {\tt .model}, and is not affected by {\tt perim}.  Default:
  572. use {\tt CJSW} from {\tt .model} * {\tt perim}.
  573. \end{description}
  574. %------------------------------------------------------------------------
  575. \subsection{Model Parameters}
  576. \begin{description}
  577. \item[{\tt IS} = {\it x}] Normalized saturation current. (Amperes).
  578. (Default = 1.0e-14) {\tt IS} is multiplied by the {\it area} in the element
  579. statement to get the actual saturation current.  It may be overridden by
  580. specifying {\tt IS} in the element statement.
  581. \item[{\tt RS} = {\it x}] Normalized ohmic resistance. (Ohms) (Default = 0.)
  582. {\tt RS} is multiplied by the {\it area} in the element statement to get the
  583. actual ohmic resistance.  It may be overridden by specifying {\tt RS} in the
  584. element statement.  {\tt RS} is accepted, and silently ignored, for
  585. compatibility, but not implemented.
  586. \item[{\tt N} = {\it x}] Emission coefficient. (Default = 1.0)
  587. In ECA-2 the default value was 2.
  588. \item[{\tt TT} = {\it x}] Transit time. (Default = 0.)  SPICE parameter
  589. accepted but not implemented.  A warning will be issued.  Specify
  590. capacitance instead.
  591. \item[{\tt VJ} = {\it x}] Junction potential.  (Default = 1.0) Used in
  592. computation of capacitance.  For compatibility with older versions of SPICE,
  593. {\tt PB} is accepted as an alias for {\tt VJ}.
  594. \item[{\tt CJo} = {\it x}] Normalized zero-bias junction capacitance.
  595. (Default = 0.)  {\tt CJo} is multiplied by the {\it area} in the element
  596. statement to get the actual zero-bias capacitance.  It may be overridden by
  597. specifying {\tt CJ} in the element statement.
  598. \item[{\tt Mj} = {\it x}] Grading coefficient.  (Default = 0.5)
  599. \item[{\tt CJSw} = {\it x}] Normalized zero-bias sidewall capacitance.
  600. (Default = 0.)  {\tt CJSw} is multiplied by the {\it perimeter} in the
  601. element statement to get the actual zero-bias capacitance.  It may be
  602. overridden by specifying {\tt CJSW} in the element statement.
  603. \item[{\tt MJSw} = {\it x}] Sidewall grading coefficient.  (Default = 0.33)
  604. \item[{\tt EG} = {\it x}] Activation energy. (electron Volts) (Default =
  605. 1.11, silicon.)  For other types of diodes, use:
  606. \begin{verse}
  607. 1.11 ev.  Silicon (default value)\\
  608. 0.69 ev.  Schottky barrier\\
  609. 0.67 ev.  Germanium\\
  610. 1.43 ev.  GaAs\\
  611. 2.26 ev.  GaP
  612. \end{verse}
  613. \item[{\tt XTI} = {\it x}] Saturation current temperature exponent.
  614. (Default = 3.0)  For Schottky barrier, use 2.0.
  615. \item[{\tt KF} = {\it x}] Flicker noise coefficient.  (Default = 0.)  SPICE
  616. parameter accepted but not implemented.
  617. \item[{\tt AF} = {\it x}] Flicker noise exponent.  (Default = 1.0)  SPICE
  618. parameter accepted but not implemented.
  619. \item[{\tt FC} = {\it x}] Coefficient for forward bias depletion capacitance
  620. formula. (Default = 0.5)
  621. \item[{\tt BV} = {\it x}] Reverse breakdown voltage.  (Default = $\infty$.)
  622. SPICE parameter accepted but not implemented.
  623. \item[{\tt IBV} = {\it x}] Current at breakdown voltage. (Default = 1 ma.)
  624. SPICE parameter accepted but not implemented.
  625. \end{description}
  626. %------------------------------------------------------------------------
  627. \subsection{Probes}
  628. \begin{description}
  629. \item[{\tt V}] Voltage.  The first node (anode) is assumed positive.
  630. \item[{\tt I}] Total current.  It flows into the first node (anode), out of
  631. the second.  (IJ + IC)
  632. \item[{\tt IJ}] Junction current.  The current through the junction.
  633. \item[{\tt IC}] Capacitor current.  The current through the parallel capacitor.
  634. \item[{\tt P}] Power dissipation.  (PJ + PC)
  635. \item[{\tt PJ}] Junction power dissipation.
  636. \item[{\tt PC}] Capacitor power dissipation.
  637. \item[{\tt R}] Effective resistance.
  638. \end{description}
  639. All parameters of the internal elements Yj and Cj are available.  To access
  640. them, concatenate the labels for the internal element with the diode,
  641. separated by a dot.  Yj.D6 is the admittance (Yj) element of the diode D6.
  642. In this release, there are no probes available in AC analysis except for the
  643. internal elements.
  644. %------------------------------------------------------------------------
  645. %------------------------------------------------------------------------
  646. SHAR_EOF
  647. fi # end of overwriting check
  648. if test -f 'e.tex'
  649.     echo shar: will not over-write existing file "'e.tex'"
  650. cat << \SHAR_EOF > 'e.tex'
  651. % e.tex  04/13/92
  652. % man circuit e .
  653. % Copyright 1983-1992   Albert Davis
  654. %------------------------------------------------------------------------
  655. \section{{\tt E}: Voltage Controlled Voltage Source}
  656. %------------------------------------------------------------------------
  657. \subsection{Syntax}
  658. \begin{verse}
  659. {\tt E}{\it xxxxxxx n+ n-- nc+ nc--} {\it value}
  660. \end{verse}
  661. %------------------------------------------------------------------------
  662. \subsection{Purpose}
  663. Voltage controlled voltage source, or voltage gain block.
  664. %------------------------------------------------------------------------
  665. \subsection{Comments}
  666. {\it N+} and {\it n--} are the positive and negative element (output) nodes,
  667. respectively.  {\it Nc+} and {\it nc--} are the positive and negative
  668. controlling nodes, respectively.  {\it Value} is the voltage gain.
  669. %------------------------------------------------------------------------
  670. %------------------------------------------------------------------------
  671. SHAR_EOF
  672. fi # end of overwriting check
  673. if test -f 'f.tex'
  674.     echo shar: will not over-write existing file "'f.tex'"
  675. cat << \SHAR_EOF > 'f.tex'
  676. % f.tex  04/13/92
  677. % man circuit f .
  678. % Copyright 1983-1992   Albert Davis
  679. %------------------------------------------------------------------------
  680. \section{{\tt F}: Current Controlled Current Source}
  681. %------------------------------------------------------------------------
  682. \subsection{Syntax}
  683. \begin{verse}
  684. {\tt F}{\it xxxxxxx n+ n-- ce} {\it value}
  685. \end{verse}
  686. %------------------------------------------------------------------------
  687. \subsection{Purpose}
  688. Current controlled current source, or current gain block.
  689. %------------------------------------------------------------------------
  690. \subsection{Comments}
  691. {\it N+} and {\it n--} are the positive and negative element (output) nodes,
  692. respectively.  Current flow is from the positive node, through the source,
  693. to the negative node.  {\it Ce} is the name of an element through which the
  694. controlling current flows.  The direction of positive controlling current is
  695. from the positive node, through the element, to the negative node of {\it
  696. ce}.  {\it Value} is the transconductance in mhos.
  697. The controlling element can be any two terminal element, or controlled
  698. source.
  699. This is not currently implemented.
  700. %------------------------------------------------------------------------
  701. %------------------------------------------------------------------------
  702. SHAR_EOF
  703. fi # end of overwriting check
  704. if test -f 'g.tex'
  705.     echo shar: will not over-write existing file "'g.tex'"
  706. cat << \SHAR_EOF > 'g.tex'
  707. % g.tex  04/13/92
  708. % man circuit g .
  709. % Copyright 1983-1992   Albert Davis
  710. %------------------------------------------------------------------------
  711. \section{{\tt G}: Voltage Controlled Current Source}
  712. %------------------------------------------------------------------------
  713. \subsection{Syntax}
  714. \begin{verse}
  715. {\tt G}{\it xxxxxxx n+ n-- nc+ nc--} {\it value}
  716. \end{verse}
  717. %------------------------------------------------------------------------
  718. \subsection{Purpose}
  719. Voltage controlled current source, or transconductance block.
  720. %------------------------------------------------------------------------
  721. \subsection{Comments}
  722. {\it N+} and {\it n--} are the positive and negative element (output) nodes,
  723. respectively.  Current flow is from the positive node, through the source,
  724. to the negative node.  {\it Nc+} and {\it nc--} are the positive and negative
  725. controlling nodes, respectively.  {\it Value} is the transconductance in
  726. mhos.
  727. %------------------------------------------------------------------------
  728. %------------------------------------------------------------------------
  729. SHAR_EOF
  730. fi # end of overwriting check
  731. if test -f 'h.tex'
  732.     echo shar: will not over-write existing file "'h.tex'"
  733. cat << \SHAR_EOF > 'h.tex'
  734. % h.tex  04/13/92
  735. % man circuit h .
  736. % Copyright 1983-1992   Albert Davis
  737. %------------------------------------------------------------------------
  738. \section{{\tt H}: Current Controlled Voltage Source}
  739. %------------------------------------------------------------------------
  740. \subsection{Syntax}
  741. \begin{verse}
  742. {\tt H}{\it xxxxxxx n+ n-- ce} {\it value}
  743. \end{verse}
  744. %------------------------------------------------------------------------
  745. \subsection{Purpose}
  746. Current controlled voltage source, or transresistance block.
  747. %------------------------------------------------------------------------
  748. \subsection{Comments}
  749. {\it N+} and {\it n--} are the positive and negative element (output) nodes,
  750. respectively.  {\it Ce} is the name of an element through which the
  751. controlling current flows.  The direction of positive controlling current is
  752. from the positive node, through the element, to the negative node of {\it
  753. ce}.  {\it Value} is the transresistance in Ohms.
  754. The controlling element can be any two terminal element, or controlled
  755. source.
  756. This is not currently implemented.
  757. %------------------------------------------------------------------------
  758. %------------------------------------------------------------------------
  759. SHAR_EOF
  760. fi # end of overwriting check
  761. if test -f 'i.tex'
  762.     echo shar: will not over-write existing file "'i.tex'"
  763. cat << \SHAR_EOF > 'i.tex'
  764. % i.tex  04/13/92
  765. % man circuit i .
  766. % Copyright 1983-1992   Albert Davis
  767. %------------------------------------------------------------------------
  768. \section{{\tt I}: Independent Current Source}
  769. %------------------------------------------------------------------------
  770. \subsection{Syntax}
  771. \begin{verse}
  772. {\tt I}{\it xxxxxxx n+ n--} {\it value}\\
  773. {\tt I}{\it xxxxxxx n+ n--} {\it expression}
  774. \end{verse}
  775. %------------------------------------------------------------------------
  776. \subsection{Purpose}
  777. Independent current source.
  778. %------------------------------------------------------------------------
  779. \subsection{Comments}
  780. {\it N+} and {\it n--} are the positive and negative element nodes,
  781. respectively.  Positive current flow is from the positive node, through the
  782. source, to the negative node.  {\it Value} is the current in Amperes.
  783. All of the SPICE time dependent functions ({\tt pulse}, {\tt sin}, {\tt
  784. exp}, {\tt pwl}, and {\tt sffm} are supported.  An additional
  785. function {\tt generator} emulates a laboratory type function generator, for
  786. a more convenient signal input to the circuit.
  787. %------------------------------------------------------------------------
  788. %------------------------------------------------------------------------
  789. SHAR_EOF
  790. fi # end of overwriting check
  791. if test -f 'j.tex'
  792.     echo shar: will not over-write existing file "'j.tex'"
  793. cat << \SHAR_EOF > 'j.tex'
  794. % j.tex  04/13/92
  795. % man circuit j .
  796. % Copyright 1983-1992   Albert Davis
  797. %------------------------------------------------------------------------
  798. \section{{\tt J}: Junction Field-Effect Transistor}
  799. %------------------------------------------------------------------------
  800. \subsection{Syntax}
  801. \begin{verse}
  802. {\tt J}{\it xxxxxxx nd ng ns mname} \{{\it area}\} \{{\it args}\}
  803. \end{verse}
  804. %------------------------------------------------------------------------
  805. \subsection{Purpose}
  806. Junction Field Effect Transistor.
  807. %------------------------------------------------------------------------
  808. \subsection{Comments}
  809. Not implemented.
  810. Plans are to implement it as in SPICE.
  811. %------------------------------------------------------------------------
  812. %------------------------------------------------------------------------
  813. SHAR_EOF
  814. fi # end of overwriting check
  815. if test -f 'k.tex'
  816.     echo shar: will not over-write existing file "'k.tex'"
  817. cat << \SHAR_EOF > 'k.tex'
  818. % k.tex  04/13/92
  819. % man circuit k .
  820. % Copyright 1983-1992   Albert Davis
  821. %------------------------------------------------------------------------
  822. \section{{\tt K}: Coupled (Mutual) Inductors}
  823. %------------------------------------------------------------------------
  824. \subsection{Syntax}
  825. \begin{verse}
  826. {\tt K}{\it xxxxxxx} {\tt L}{\it yyyyyyy} {\tt L}{\it zzzzzzz} {\it value}
  827. \end{verse}
  828. %------------------------------------------------------------------------
  829. \subsection{Purpose}
  830. Coupled mutual inductance.
  831. %------------------------------------------------------------------------
  832. \subsection{Comments}
  833. Not implemented.
  834. Plans are to implement it as in SPICE.
  835. %------------------------------------------------------------------------
  836. %------------------------------------------------------------------------
  837. SHAR_EOF
  838. fi # end of overwriting check
  839. if test -f 'l.tex'
  840.     echo shar: will not over-write existing file "'l.tex'"
  841. cat << \SHAR_EOF > 'l.tex'
  842. % l.tex  04/13/92
  843. % man circuit l .
  844. % Copyright 1983-1992   Albert Davis
  845. %------------------------------------------------------------------------
  846. \section{{\tt L}: Inductor}
  847. %------------------------------------------------------------------------
  848. \subsection{Syntax}
  849. \begin{verse}
  850. {\tt L}{\it xxxxxxx n+ n-- value}\\
  851. {\tt L}{\it xxxxxxx n+ n-- value} \{{\tt IC=}{\it incond}\}
  852. \end{verse}
  853. %------------------------------------------------------------------------
  854. \subsection{Purpose}
  855. Inductor, or general flux storage element.
  856. %------------------------------------------------------------------------
  857. \subsection{Comments}
  858. {\it N+} and {\it n--} are the positive and negative element nodes,
  859. respectively.  {\it Value} is the inductance in Henries.
  860. The (optional) initial condition is the initial (time = 0) value of the
  861. inductor current (in Amperes).  Note that the initial conditions (if any)
  862. apply only if the {\tt UIC} option is specified on the {\tt transient}
  863. command.
  864. %------------------------------------------------------------------------
  865. %------------------------------------------------------------------------
  866. SHAR_EOF
  867. fi # end of overwriting check
  868. if test -f 'm.tex'
  869.     echo shar: will not over-write existing file "'m.tex'"
  870. cat << \SHAR_EOF > 'm.tex'
  871. % m.tex  01/23/93
  872. % man circuit m .
  873. % Copyright 1983-1992   Albert Davis
  874. %------------------------------------------------------------------------
  875. \section{{\tt M}: MOSFET}
  876. %------------------------------------------------------------------------
  877. \subsection{Syntax}
  878. \begin{verse}
  879. {\tt M}{\it xxxxxxx nd ng ns nb mname} \{{\it args}\}\\
  880. {\tt M}{\it xxxxxxx nd ng ns nb mname}
  881.     \{{\it width}{\tt /}{\it length}\} \{{\it args}\}
  882. \end{verse}
  883. %------------------------------------------------------------------------
  884. \subsection{Purpose}
  885. MOSFET.
  886. %------------------------------------------------------------------------
  887. \subsection{Comments}
  888. {\it Nd}, {\it ng}, {\it ns}, and {\it nb} are the drain, gate, source, and
  889. bulk (substrate) nodes, respectively.  {\it Mname} is the model name.
  890. {\it Length} and {\it width} are the drawn channel length and width, in
  891. microns.  Note that the notation W/L has units of microns, but the same
  892. parameters, in the argument list ({\tt W} and {\tt L}) have units of meters.
  893. All other dimensions are in meters.
  894. Only the level 2 model is implemented.
  895. %------------------------------------------------------------------------
  896. \subsection{Element Parameters}
  897. \begin{description}
  898. \item[{\tt L} = {\it x}] Drawn channel length.  (Default = {\tt DEFL}
  899. parameter from {\tt options}. {\tt DEFL default = 100$\mu$})
  900. \item[{\tt W} = {\it x}] Drawn channel width.  (Default = {\tt DEFW}
  901. parameter from {\tt options}. {\tt DEFW default = 100$\mu$})
  902. \item[{\tt AD} = {\it x}] Area of drain diffusion.  (Default = {\tt DEFAD}
  903. parameter from {\tt options}. {\tt DEFAD default = 0})
  904. \item[{\tt AS} = {\it x}] Area of source diffusion.  (Default = {\tt DEFAS}
  905. parameter from {\tt options}. {\tt DEFAS default = 0})
  906. \item[{\tt PD} = {\it x}] Perimeter of drain junction.  (Default = 0.)
  907. \item[{\tt PS} = {\it x}] Perimeter of source junction.  (Default = 0.)
  908. \item[{\tt NRD} = {\it x}] Number of squares of drain diffusion.  (Default =
  909. \item[{\tt NRS} = {\it x}] Number of squares of source diffusion.  (Default =
  910. \end{description}
  911. %------------------------------------------------------------------------
  912. \subsection{Model Parameters}
  913. \begin{description}
  914. \item[{\tt LEVEL} = {\it x}] Model index. (Default = 2) Selects which of
  915. several models to use.  The only one presently implemented is ``Level 2''.
  916. \item[{\tt VTO} = {\it x}] Zero bias threshold voltage.  If not input, but
  917. {\tt NSUB} is, it is calculated, otherwise a default value of 0 is used.
  918. \item[{\tt KP} = {\it x}] Transconductance parameter.  If not input, it is
  919. calculated by {\tt UO} * {\tt COX}.
  920. \item[{\tt GAMMA} = {\it x}] Bulk threshold parameter.  If not input, but
  921. {\tt NSUB} is, it is calculated, otherwise a default value of 0 is used.
  922. \item[{\tt PHI} = {\it x}] Surface potential.  If not input, but {\tt NSUB}
  923. is, it is calculated, otherwise a default value of 0.6 is used.  A warning
  924. is issued if the calculated value is less than 0.1, in which case 0.1 is
  925. used.
  926. \item[{\tt LAMBDA} = {\it x}] Channel length modulation.  If not input, it
  927. is calculated dynamically during simulation.  If the value input is larger
  928. than 0.2, a warning is issued, but no correction is made.
  929. \item[{\tt RD} = {\it x}] Drain ohmic resistance.  If {\tt RS} is input, the
  930. default value of {\tt RD} is 0.  If {\tt RD} and {\tt RS} are both not
  931. input, and {\tt RSH} is input, they are calculated from {\tt RSH}.  If any
  932. conflict exists, a warning is issued, indicating the action taken, which is
  933. believed to be compatible with SPICE.
  934. \item[{\tt RS} = {\it x}] Source ohmic resistance.  If {\tt RD} is input, the
  935. default value of {\tt RS} is 0.  If {\tt RD} and {\tt RS} are both not
  936. input, and {\tt RSH} is input, they are calculated from {\tt RSH}.  If any
  937. conflict exists, a warning is issued, indicating the action taken, which is
  938. believed to be compatible with SPICE.
  939. \item[{\tt CBD} = {\it x}] Zero bias B-D junction capacitance.  SPICE
  940. parameter accepted but not implemented.
  941. \item[{\tt CBS} = {\it x}] Zero bias B-S junction capacitance.  SPICE
  942. parameter accepted but not implemented.
  943. \item[{\tt IS} = {\it x}] Bulk junction saturation current.  If not input,
  944. it is calculated from {\tt JS}.  If both are input, a warning is issued, and
  945. the calculated value (from {\tt JS}) is used, if {\tt AD} and {\tt AS} are
  946. also input.  If neither {\tt IS} or {\tt JS} is input, a default value of
  947. 1e-14 is used.
  948. \item[{\tt PB} = {\it x}] Bulk junction potential. (Default = 0.8)
  949. \item[{\tt CGSO} = {\it x}] Gate-source overlap capacitance, per channel
  950. width. (Default = 0.)
  951. \item[{\tt CGDO} = {\it x}] Gate-drain overlap capacitance, per channel
  952. width. (Default = 0.)
  953. \item[{\tt CGBO} = {\it x}] Gate-bulk overlap capacitance, per channel
  954. length. (Default = 0.)
  955. \item[{\tt RSH} = {\it x}] Drain and source diffusion sheet resistance.  If
  956. not input, use {\tt RS} and {\tt RD} directly.  If a conflict exists, a
  957. warning is issued.
  958. \item[{\tt CJ} = {\it x}] Zero bias bulk junction bottom capacitance per
  959. sq-meter of junction area.  If not input, but {\tt NSUB} is, it is
  960. calculated, otherwise a default value of 0 is used.
  961. \item[{\tt MJ} = {\it x}] Bulk junction bottom grading coefficient. (Default
  962. = 0.5)
  963. \item[{\tt CJSW} = {\it x}] Zero bias bulk junction sidewall capacitance per
  964. meter of junction perimeter. (Default = 0.)
  965. \item[{\tt MJSW} = {\it x}] Bulk junction sidewall grading coefficient.
  966. (Default = 0.33)
  967. \item[{\tt JS} = {\it x}] Bulk junction saturation current per sq-meter of
  968. junction area.  May be used to calculate {\tt IS}.  If a conflict exists, a
  969. warning is issued.
  970. \item[{\tt TOX} = {\it x}] Oxide thickness. (meters) (Default = 1e-7)
  971. \item[{\tt NSUB} = {\it x}] Substrate doping.  (atoms / cm$^3$) Used in
  972. calculation of {\tt VTO}, {\tt GAMMA}, {\tt PHI}, and {\tt CJ}.  If not
  973. input, default values are used.
  974. \item[{\tt NSS} = {\it x}] Surface state density.  (atoms / cm$^2$) (Default
  975. = 0.) Used, with {\tt NSUB} in calculation of {\tt VTO}.
  976. \item[{\tt NFS} = {\it x}] Fast surface state density.  (atoms / cm$^2$) Used
  977. in modeling subthreshold effects.  If not input, do not model subthreshold
  978. effects.
  979. \item[{\tt TPG} = {\it x}] Type of gate material. (Default = 1.)
  980. \begin{verse}
  981. +1 opposite to substrate\\
  982. --1 same as substrate\\
  983. 0 Aluminum
  984. \end{verse}
  985. \item[{\tt XJ} = {\it x}] Metallurgical junction depth. (meters) Used to
  986. calculate short channel effects.  If not input, do not model short channel
  987. effects, effectively defaults to 0.
  988. \item[{\tt LD} = {\it x}] Lateral diffusion. (Default = 0.)  Effective
  989. channel length is reduced by 2 * {\tt LD}.
  990. \item[{\tt UO} = {\it x}] Surface mobility. (cm$^2$/V-s) (Default = 600.)
  991. \item[{\tt UCRIT} = {\it x}] Critical field for mobility degradation. (V/cm)
  992. (Default = 1e4)
  993. \item[{\tt UEXP} = {\it x}] Critical field exponent in mobility
  994. degradation.  If not input, do not model mobility degradation, effectively
  995. defaulting to 0.
  996. \item[{\tt UTRA} = {\it x}] Transverse field coefficient.  SPICE parameter
  997. accepted but not implemented.  It is also not implemented in most versions
  998. of SPICE.
  999. \item[{\tt VMAX} = {\it x}] Maximum drift velocity of carriers. (m/s)
  1000. Used in calculating vdsat, and lambda.  If not input, use a different
  1001. method.  {\tt VMAX} does not always work, if the method fails, the alternate
  1002. method is used and the warning ``Baum's theory rejected'' is issued if the
  1003. error threshold is set to {\tt debug} or worse.
  1004. \item[{\tt NEFF} = {\it x}] Total channel charge (fixed and mobile)
  1005. coefficient. (Default = 1.)  Used in internal calculation of lambda.
  1006. \item[{\tt KF} = {\it x}] Flicker noise coefficient.  SPICE parameter
  1007. accepted but not implemented.
  1008. \item[{\tt AF} = {\it x}] Flicker noise exponent.  SPICE parameter accepted
  1009. but not implemented.
  1010. \item[{\tt FC} = {\it x}] Coefficient for forward bias depletion capacitance
  1011. formula. (Default = 0.5)
  1012. \item[{\tt DELTA} = {\it x}] Width effect on threshold voltage. (Default =
  1013. \item[{\tt THETA} = {\it x}] Mobility modulation.  SPICE parameter accepted
  1014. but not implemented.  SPICE uses it in the Level 3 model only.
  1015. \item[{\tt ETA} = {\it x}] Static feedback.  SPICE parameter accepted but
  1016. not implemented.  SPICE uses it in the Level 3 model only.
  1017. \item[{\tt KAPPA} = {\it x}] Saturation field vector.  SPICE parameter
  1018. accepted but not implemented.  SPICE uses it in the Level 3 model only.
  1019. \end{description}
  1020. %------------------------------------------------------------------------
  1021. \subsection{Probes}
  1022. \begin{description}
  1023. \item[{\tt Vds}] Drain - source voltage.
  1024. \item[{\tt VGS}] Gate - source voltage.
  1025. \item[{\tt VBS}] Body - source voltage.
  1026. \item[{\tt VDG}] Drain - gate voltage.
  1027. \item[{\tt Id}] Drain current.
  1028. \item[{\tt IS}] Source current.
  1029. \item[{\tt IG}] Gate current.
  1030. \item[{\tt IB}] Body current.
  1031. \item[{\tt P}] Power dissipation.
  1032. \item[{\tt REgion}] Region code.  A numeric code that represents the region
  1033. it is operating in.  The number is the sum of several factors.  A negative
  1034. code indicates the source and drain are reversed.
  1035. \begin{description}
  1036. \item{1} Active.  (Not cut off.)
  1037. \item{2} Not subthreshold.
  1038. \item{4} Saturated.
  1039. \item{10} Source to bulk is forward biased.
  1040. \item{20} Drain to bulk is forward biased.
  1041. \end{description}
  1042. \end{description}
  1043. All parameters of the internal elements (Ids, Gmr, Gmf, Yds, Gmbr, Gmbf,
  1044. Cgb, Cgd, Cgs, Dsb, Ddb, Rd, Rs) are available.  To access them, concatenate
  1045. the labels for the internal element with the diode, separated by a dot.
  1046. Cgd.M6 is the gate to drain capacitance of M6.
  1047. In this release, there are no probes available in AC analysis except for the
  1048. internal elements.
  1049. %------------------------------------------------------------------------
  1050. %------------------------------------------------------------------------
  1051. SHAR_EOF
  1052. fi # end of overwriting check
  1053. if test -f 'q.tex'
  1054.     echo shar: will not over-write existing file "'q.tex'"
  1055. cat << \SHAR_EOF > 'q.tex'
  1056. % q.tex  04/13/92
  1057. % man circuit q .
  1058. % Copyright 1983-1992   Albert Davis
  1059. %------------------------------------------------------------------------
  1060. \section{{\tt Q}: Bipolar Junction Transistor}
  1061. %------------------------------------------------------------------------
  1062. \subsection{Syntax}
  1063. \begin{verse}
  1064. {\tt Q}{\it xxxxxxx nc nb ne mname} \{{\it area}\} \{{\it args}\}
  1065. \end{verse}
  1066. %------------------------------------------------------------------------
  1067. \subsection{Purpose}
  1068. Bipolar junction transistor,
  1069. %------------------------------------------------------------------------
  1070. \subsection{Comments}
  1071. Not implemented.
  1072. Plans are to implement it as in SPICE.
  1073. %------------------------------------------------------------------------
  1074. %------------------------------------------------------------------------
  1075. SHAR_EOF
  1076. fi # end of overwriting check
  1077. if test -f 'r.tex'
  1078.     echo shar: will not over-write existing file "'r.tex'"
  1079. cat << \SHAR_EOF > 'r.tex'
  1080. % r.tex  04/13/92
  1081. % man circuit r .
  1082. % Copyright 1983-1992   Albert Davis
  1083. %------------------------------------------------------------------------
  1084. \section{{\tt R}: Resistor}
  1085. %------------------------------------------------------------------------
  1086. \subsection{Syntax}
  1087. \begin{verse}
  1088. {\tt R}{\it xxxxxxx n+ n-- value}\\
  1089. {\tt R}{\it xxxxxxx n+ n-- expression}
  1090. \end{verse}
  1091. %------------------------------------------------------------------------
  1092. \subsection{Purpose}
  1093. Resistor, or general current controlled dissipative element.
  1094. %------------------------------------------------------------------------
  1095. \subsection{Comments}
  1096. {\it N+} and {\it n--} are the positive and negative element nodes,
  1097. respectively.  {\it Value} is the resistance in Ohms.
  1098. The resistor (type {\tt R}) differs from the admittance (type {\tt Y}) in
  1099. that the resistor is a current controlled element, and the conductance is a
  1100. voltage controlled element, in addition to the obvious use of conductance
  1101. ($1/R$) instead of resistance.
  1102. %Spice-3 has model for semiconductor resistor.  Syntax: ... val mname L=len
  1103. %W=width.  Val overrides l and w.
  1104. %------------------------------------------------------------------------
  1105. %------------------------------------------------------------------------
  1106. SHAR_EOF
  1107. fi # end of overwriting check
  1108. if test -f 't.tex'
  1109.     echo shar: will not over-write existing file "'t.tex'"
  1110. cat << \SHAR_EOF > 't.tex'
  1111. SHAR_EOF
  1112. fi # end of overwriting check
  1113. if test -f 'v.tex'
  1114.     echo shar: will not over-write existing file "'v.tex'"
  1115. cat << \SHAR_EOF > 'v.tex'
  1116. % v.tex  04/13/92
  1117. % man circuit v .
  1118. % Copyright 1983-1992   Albert Davis
  1119. %------------------------------------------------------------------------
  1120. \section{{\tt V}: Independent Voltage Source}
  1121. %------------------------------------------------------------------------
  1122. \subsection{Syntax}
  1123. \begin{verse}
  1124. {\tt V}{\it xxxxxxx n+ n-- value}\\
  1125. {\tt V}{\it xxxxxxx n+ n-- expression}
  1126. \end{verse}
  1127. %------------------------------------------------------------------------
  1128. \subsection{Purpose}
  1129. Independent voltage source.
  1130. %------------------------------------------------------------------------
  1131. \subsection{Comments}
  1132. {\it N+} and {\it n--} are the positive and negative element nodes,
  1133. respectively.  {\it Value} is the voltage in Volts.
  1134. All of the SPICE time dependent functions ({\tt pulse}, {\tt sin}, {\tt
  1135. exp}, {\tt pwl}, and {\tt sffm} are supported.  An additional
  1136. function {\tt generator} emulates a laboratory type function generator, for
  1137. a more convenient signal input to the circuit.
  1138. %------------------------------------------------------------------------
  1139. %------------------------------------------------------------------------
  1140. SHAR_EOF
  1141. fi # end of overwriting check
  1142. if test -f 'x.tex'
  1143.     echo shar: will not over-write existing file "'x.tex'"
  1144. cat << \SHAR_EOF > 'x.tex'
  1145. % x.tex  01/23/93
  1146. % man circuit x .
  1147. % Copyright 1983-1992   Albert Davis
  1148. %------------------------------------------------------------------------
  1149. \section{{\tt X}: Subcircuit Call}
  1150. %------------------------------------------------------------------------
  1151. \subsection{Syntax}
  1152. \begin{verse}
  1153. {\tt X}{\it xxxxxxx n1} \{{\it n2 n3 ...}\} {\it subname}
  1154. \end{verse}
  1155. %------------------------------------------------------------------------
  1156. \subsection{Purpose}
  1157. Subcircuit call
  1158. %------------------------------------------------------------------------
  1159. \subsection{Comments}
  1160. Subcircuits are used by specifying pseudo-elements beginning with {\tt X},
  1161. followed by the connection nodes.
  1162. %------------------------------------------------------------------------
  1163. \subsection{Probes}
  1164. \begin{description}
  1165. \item[{\tt P}] Power.  The sum of the power probes for all the internal elements.
  1166. \end{description}
  1167. In this release, there are no probes available in AC analysis except for the
  1168. internal elements.  More parameters will be added.  Internal elements can be
  1169. probed by concatenating the internal part label with the subcircuit label.
  1170. R5.X7 is R5 inside X7.
  1171. %------------------------------------------------------------------------
  1172. %------------------------------------------------------------------------
  1173. SHAR_EOF
  1174. fi # end of overwriting check
  1175. if test -f 'y.tex'
  1176.     echo shar: will not over-write existing file "'y.tex'"
  1177. cat << \SHAR_EOF > 'y.tex'
  1178. % y.tex  04/13/92
  1179. % man circuit y .
  1180. % Copyright 1983-1992   Albert Davis
  1181. %------------------------------------------------------------------------
  1182. \section{{\tt Y}: Admittance}
  1183. %------------------------------------------------------------------------
  1184. \subsection{Syntax}
  1185. \begin{verse}
  1186. {\tt Y}{\it xxxxxxx n+ n-- value}\\
  1187. {\tt Y}{\it xxxxxxx n+ n-- expression}
  1188. \end{verse}
  1189. %------------------------------------------------------------------------
  1190. \subsection{Purpose}
  1191. Admittance, or general voltage controlled dissipative element.
  1192. %------------------------------------------------------------------------
  1193. \subsection{Comments}
  1194. {\it N+} and {\it n--} are the positive and negative element nodes,
  1195. respectively.  {\it Value} is the admittance in Mhos.
  1196. The resistor (type {\tt R}) differs from the admittance (type {\tt Y}) in
  1197. that the resistor is a current controlled element, and the conductance is a
  1198. voltage controlled element, in addition to the obvious use of conductance
  1199. ($1/R$) instead of resistance.
  1200. %------------------------------------------------------------------------
  1201. %------------------------------------------------------------------------
  1202. SHAR_EOF
  1203. fi # end of overwriting check
  1204. if test -f 'u.tex'
  1205.     echo shar: will not over-write existing file "'u.tex'"
  1206. cat << \SHAR_EOF > 'u.tex'
  1207. % u.tex  01/23/93
  1208. % man circuit u .
  1209. % Copyright 1983-1992   Albert Davis
  1210. %------------------------------------------------------------------------
  1211. \section{{\tt U}: Logic Device}
  1212. %------------------------------------------------------------------------
  1213. \subsection{Syntax}
  1214. \begin{verse}
  1215. {\tt U}{\it xxxxxxx} {\tt 0} {\it out in1 in2 ... family gatetype}
  1216. \end{verse}
  1217. %------------------------------------------------------------------------
  1218. \subsection{Purpose}
  1219. Logic element for mixed or logic mode simulation.
  1220. %------------------------------------------------------------------------
  1221. \subsection{Comments}
  1222. The logic element allows mixed mode simulation.  A {\tt .subckt} defines the
  1223. analog equivalent of a logic element.  The name of the subcircuit is made by
  1224. concatenating the {\em family}, {\em gatetype}, and the number of inputs.
  1225. For example, if the {\em family} is {\tt cmos} and the {\em gatetype} is
  1226. {\tt and} and it has two inputs, the name of the subcircuit is {\tt
  1227. cmosand2}.
  1228. (This section is unclear because I did it in a hurry.)
  1229. %------------------------------------------------------------------------
  1230. \subsection{Element Parameters}
  1231. {\em Family} refers to the logic family {\tt .model} statement.
  1232. {\em Gatetype} is the type of logic gate:
  1233. \begin{description}
  1234. \item[{\tt AND}]
  1235. \item[{\tt NAND}]
  1236. \item[{\tt OR}]
  1237. \item[{\tt NOR}]
  1238. \item[{\tt XOR}]
  1239. \item[{\tt INV}]
  1240. \end{description}
  1241. More will be added including counters, flip-flops and memory cells.
  1242. %------------------------------------------------------------------------
  1243. \subsection{Model Parameters}
  1244. \begin{description}
  1245. \item[{\tt DElay} = {\it x}] Propagation delay.  (Seconds) (Default = 1e-9)
  1246. The propagation delay of a simple gate when simulated in logic mode.
  1247. \item[{\tt RIse} = {\it x}] Rise time. (Seconds) (Default = delay / 2) The
  1248. nominal rise time of a logic signal.  This will be the rise time when a
  1249. logic signal is converted to analog.
  1250. \item[{\tt FAll} = {\it x}] Fall time. (Seconds) (Default = delay / 2) The
  1251. nominal fall time of a logic signal.  This will be the fall time when a
  1252. logic signal is converted to analog.
  1253. \item[{\tt RS} = {\it x}] Series resistance, strong. (Ohms) (Default =
  1254. 100.)  The resistance in series with the output when a logic gate drives
  1255. analog circuitry.
  1256. \item[{\tt RW} = {\it x}] Series resistance, weak. (Ohms) (Default = 1e9)
  1257. The output resistance in a high impedance state.
  1258. \item[{\tt THH} = {\it x}] Threshold high.  (Unitless) (Default = .75) The
  1259. threshold for the input to cross from transition to high expressed as a
  1260. fraction of the difference between high and low values.  (Low = 0.  High =
  1261. \item[{\tt THL} = {\it x}] Threshold low.  (Unitless) (Default = .25) The
  1262. threshold for the input to cross from transition to low expressed as a
  1263. fraction of the difference between high and low values.  (Low = 0.  High =
  1264. \item[{\tt MR} = {\it x}] Margin rising.  (Unitless) (Default = 5) How much
  1265. worse than nominal the analog input rise time can be and still be accepted
  1266. as clean enough for logic simulation.
  1267. \item[{\tt MF} = {\it x}] Margin falling.  (Unitless) (Default = 5) How much
  1268. worse than nominal the analog input fall time can be and still be accepted
  1269. as clean enough for logic simulation.
  1270. \item[{\tt OVer} = {\it x}] Overshoot limit.  (Unitless) (Default = .1) How
  1271. much overshoot can a signal have and still be accepted as clean enough for
  1272. logic simulation, expressed as a fraction of the difference between high and
  1273. low values.  (Low = 0.  High = 1.)
  1274. \item[{\tt VMAx} = {\it x}] Nominal logic 1.  (Volts) (Default = 5.) The
  1275. nominal value for a logic 1.
  1276. \item[{\tt VMIn} = {\it x}] Nominal logic 0.  (Volts) (Default = 0.) The
  1277. nominal value for a logic 0.
  1278. \end{description}
  1279. %------------------------------------------------------------------------
  1280. \subsection{Probes}
  1281. \begin{description}
  1282. \item[{\tt V}] Output voltage.
  1283. \end{description}
  1284. In this release, there are no probes available in AC analysis except for the
  1285. internal elements.  Internal elements in the analog model are available, but
  1286. they come and go so they may be unreliable.  More parameters will be added.
  1287. %------------------------------------------------------------------------
  1288. %------------------------------------------------------------------------
  1289. SHAR_EOF
  1290. fi # end of overwriting check
  1291. cd ..
  1292. #    End of shell archive
  1293. exit 0
  1294.