wildgoat的个人空间 https://blog.eetop.cn/wildgoat [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

spice, spice2 and spice3

已有 4282 次阅读| 2012-1-5 20:13 |个人分类:SPICE


  1. The name SPICE is an acronym for “Simulation Program with Integrated Circuit Emphasis.” It was announced to the world in Waterloo, Canada at the Sixteenth Midwest Symposium on Circuit Theory on April 12, 1973.
  2. SPICE was simply the latest of circuit simulation programs to be developed at UC Berkeley and it followed in the steps of BIAS, SLIC, TIME, and CANCER, as well as numerous other lesser known programs. In fact, SPICE was largely a derivative of the CANCER program announced two years earlier in a paper presented by Professor Ronald A. Rohrer at the 1971 ISSCC back when ISSCC was held in Philadelphia.CANCER, an acronym for “Computer Analysis of Nonlinear Circuits, Excluding Radiation,” was developed in an era when many circuit simulation programs were developed by large corporations with government contracts and were required to have a simulation capability that could evaluate the radiation hardness of a circuit. The name CANCER was a brash statement that this program never would simulate radiation and was not funded by the defense industry. It was developed at Berkeley in the sixties.SPICE only had models for bipolar transistors in the begin, and That changed when Professor David A. Hodges left Bell Labs to join the faculty. He brought with him a paper on MOSFET circuit simulation, and the Shichman-Hodges model was put into SPICE in a
    weekend so that Dave could teach a course on MOSFET circuit design. The introduction of MOSFET models into SPICE introduced two phenomena that are still present in SPICE simulators today: DC convergence problems and too small timesteps in transient analysis. MOSFETs are difficult devices with outrageous conductance swings and tiny tiny capacitors. True, bipolar circuits sometimes have convergence problems, but MOSFETs really show up the problems. SPICE has limitations such as not very user friendly, limited error checking, DC nonconvergence, no transient timestep control, no dynamic memory allocation, after all, it was a class project!
  3. SPICE2 was developed by Laurence W. Nagel as a part of his doctoral research with Don Pederson. This work involved a total rewrite of SPICE ( actually the original CANCER code). The first SPICE2 released to the public domain in 1975, with about 8000 lines of FORTRAN. It contained all features of SPICE and totally revamped data structures to incorporate dynamic memory allocation. Other improvements include thorough upgrade of DC convergence and transient numerical integration algorithms. Nagel finished his doctoral research at the end of 1974, and Ellis  Cohen took the lead in improving the version of SPICE that Nagel developed (SPICE 2B). The work of Ellis and, later, Andrei Vladimirescu  to the industry standard SPICE 2G6, which was released in 1983.
  4. SPICE-2 consists of two parts, a calculation engine and a graphical interpreter called 'NUTMEG' to display results. (这句话好像不正确,SPICE2似乎只能输出ASCII形式的文本图形(参见第6条),并没有集成NUTMEG。NUTMEG应该是从SPICE3开始。) SPICE-2 can only be run in batch mode from a command prompt (windows) or a terminal (unix). It can only process one simulation and the input file needs to be altered to perform. a different analysis. Spice 2 is case sensitive and any commands must be in Upper Case. Results from the calculation engine are directed to an output file and then redirected as input to NUTMEG.
  5. The SPICE3 version is based directly on SPICE 2G.6. While SPICE3 is being developed to include new features, it continues to support those capabilities and models which remain in extensive use in the SPICE2 program. SPICE 3 incorporated additional transistor types (the MESFET, for example), and switch elements. SPICE 3 also allowed the use of alphabetical node labels rather than only numbers. Instructions written for SPICE 2 should still run in SPICE 3, though.
  6. SPICE2 took a text netlist as input and produced line-printer listings as output (its graphs are made on a line printer using ASCII symbols), which fit with the computing environment in 1975. These listings were either columns of numbers corresponding to calculated outputs (typically voltages or currents), or line-printer character "plots". SPICE3 retained the netlist for circuit description, but allowed analyses to be controlled from a command-line interface similar to the C shell. SPICE3 also added basic X-Window plotting, as UNIX and engineering workstations became common.
  7. SPICE2 is a batch program , is not interactive (you have to look at the output file to see the results of the analysis). it does not have the capability to reference a library of semiconductor components.
  8. By default, SPICE2 will insert ASCII page-break control codes in the output to separate
    different sections of the analysis. Specifying the ”NOPAGE” option (example 5) will prevent
    such pagination.
  9. Something about .PRINT and .PLOT control lines. Some control lines will cause an automatic printing of analysis results, which lines are .OP (operating point), .TF (transfer function) and .SENS (sensitivity). Other kinds of analysis, such as .DC (non-linear DC),.AC (small-signal AC), .TRAN (non-linear transient analysis),.DISTO (distortion) and .NOISE (noise) do require that an additional control line (using .PRINT and/or .PLOT) be used to send results to the output file..PRINT presents analysis results in ta bular form, while .PLOT creates rectangular graphs of results. The plotting control line (.PLOT) follows the identical format as the print control line (.PRINT) except that the low and high plot limits can be specified for one or a group of output variables. If the optional plot limits are not specified, SPICE will automatically determine the maximum and minimum values of each variable being plotted and will scale the output variable axis accordingly. The first output variable listed in a .PLOT control line will have its values printed in addition to being plotted. If you want the value of more than one output variable to be printed, a separate .PRINT control line can be used.Details about the format of these two control lines can be found in the textbook "Computer Aided Circuit Analysis using Spice".
  10. OPTIONS in SPICE2:
    ACCT      causes accounting and run time statistics to be printed
    LIST      causes the summary listing of the input data to be printed
    NOMOD      suppresses the printout of the model parameters
    NOPAGE      suppresses page ejects
    NODE      causes the printing of the node table.
    OPTS      causes the option values to be printed.
  11. Spice3 recognizes all the notations used in Spice2 .PLOT cards, and translates vp(1) into ph(v(1)), and so forth. However, if there are spaces in these names it won't work. Hence v(1, 2) and (-.5, .5) aren't recognized.
  12. SPICE-3 is interactive and is started with a single command and can process multiple simulations for the same input file. SPICE-3 also interacts with Nutmeg to display graphs of various types of simulations. Spice 3 is not case sensitive.
  13. Spice3 consists of a simulator and a front-end for data analysis and plotting. The front-end may be run as a separate "stand-alone" program under the name Nutmeg.
    Nutmeg
    will read in the "raw" data output file created by spice -r or with the write command in an interactive Spice3 session. Nutmeg or interactive Spice3 can plot data from a simulation on a graphics terminal or a workstation display. Most of the commands available in the interactive Spice3 front end are available in nutmeg; where this is not the case, Spice-only commands have been marked with an asterisk ("*"). Note that the raw output file is different from the data that Spice2 writes to the standard output, which may also be produced by spice3 with the "-b" command line option.
    Spice
    and Nutmeg use the X Window System for plotting if they find the environment variable DISPLAY. Otherwise, a graphics-terminal independent interface (MFB) is used. If you are using X on a workstation, the DISPLAY variable should already be set; if you want to display graphics on a system different from the one you are running Spice3 or Nutmeg on, DISPLAY should be of the form. "machine:0.0". See the appropriate documentation on the X Window Sytem for more details.
REFERENCE


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 122

    粉丝
  • 42

    好友
  • 275

    获赞
  • 118

    评论
  • 22107

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-21 18:58 , Processed in 0.010629 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部