160 likes | 307 Views
EE141 Fall 2003 Discussion 1. Tips for Using SPICE. Discussion Operation. Discussion talks about technical details that could help understanding the class material Tips in using the circuit design tools Advices on preparing for the projects and homeworks
E N D
EE141 Fall 2003Discussion 1 Tips for Using SPICE
Discussion Operation • Discussion talks about technical details that could help understanding the class material • Tips in using the circuit design tools • Advices on preparing for the projects and homeworks • Discussing common mistakes / misunderstandings in the graded homeworks • Review on some typical old exam problems • Open to questions and discussions
Get Your Self Ready Computer Accounts for Students If you already have Instructional UNIX accounts, using your existing account on the Instructinal systems, including cory.eecs and the Sun xterminals in 199 Cory If you do not have UNIX account, you can request them using the on-line request process: go to a UNIX computer in 199 Cory and login as 'newacct' (password: 'newacct'). "newacct" asks for your SID number and you can select a login name. The account form is available in 391 Cory after 1pm the next day. If you enrolled via TeleBears, you are on the list for "newacct". If "newacct" rejects you, it tells you what to do. For more information, http://www-inst.eecs.berkeley.edu/~iesg/new-users.htmlCardkey Access for Students Go to 391 Cory or 387 Soda to get a cardkey or to request that access be added to it. If you are enrolled via TeleBears, you are pre-approved for the cardkey access that is needed for the class. Otherwise, you may need to get an approval from the instructor. 199 Cory (UNIX) is always unlocked. 111 and 117 Cory (Win2K) are unlocked when Cory Hall is unlocked. You need cardkey access to get into the building and Win2K labs after hours.
SPICE — • The main computer-aided analysis program used in circuit design for the last 30 years • Originated from the work of a number of talented grad. Students in EECS Dept. of UC, Berkeley, under the guidance of D. Pederson and R. Rohrer. • The universal acceptance is due not only to its robustness and ease of use but also to its original free distribution by UCB. • In nowadays research is still going on to make SPICE faster, more reliable and extending the area of its application.
Where to Use • HSPICE is available for instructional use on: • the SunRays in 199 Cory • c199.eecs.berkeley.edu • cory.eecs.berkeley.edu • mingus.eecs.berkeley.edu • (there is no AWaves on mingus).
Getting Started • Run the simulator on your input file: hspice filename.sp >! filename.lis • Use the waveform viewer to see the output: awaves Musts: • Input files must have the extension .sp for the waveform viewer to work. • The input file must have “.OPTION POST=2” specified. Documental helps: • View the online documentation at http://www-inst.eecs.berkeley.edu/usr/pub/HSPICE.docs/1999.2/hspice/hspice.pdf http://bwrc.eecs.berkeley.edu/classes/ee140/notes/manuals/AvanWavesUG.pdf • Do not print it out! (hspice manual is 10MB, over 1900 pages) • “The SPICE Book” by Andrei Vladimirescu
Netlist Format • The input files are case insensitive. • The first line is always a comment. Other lines are commented with a leading * or $ • All nonlinear devices must have a .MODEL statement. • Modeling of nonlinear elements • Circuit netlist • Control statements • Analysis
Names • Can contain letters, numbers, and the characters ! # $ % * + - / < > [ ] _ • Can be 1024 characters long • Node names can begin with letters, numbers, or the characters # _ ! % • Trailing alphabetic characters are ignored in net names. For example a node named 1A is considered to be equivalent to node 1 • Nodes named 0, GND, GND!, and GROUND all refer to the global ground node.
Output Variables • Voltage between two nodes: v(n1,n2) • Voltage of a node relative to ground: v(n1) • Current through an independent source: i(vin) Values • Scientific notation: e.g. 1.1e-17 • Use a suffix: e.g. 2.3u (x=mega, k=kilo, m=mili, u=micro, n=nano, p=pico, f=femto) • Use a parameter: e.g. Kratio (parameters must be declared with a .PARAM statement) • Evaluated expressions: e.g. ‘500m*Kratio’
Control • .INCLUDE – includes a file, usually a model file, or a subcircuit file • .OPTION – sets simulation options, e.g .OPTION POST=2 • .ALTER – but allows another simulation to be performed with the same setup except the changes that follow the .ALTER statement • .END – marks the end of an input file
Analysis • OP Operating point, DC circuit solution • .DC Sweep of DC operating points (capacitances are ignored) • .DC var startval stopval incr - performs a DC sweep on the independent source or parameter var, varying its value from startval to stopval using the increment incr. • .TRAN Perform a transient analysis (differential equation solver) • .TRAN tincr tstop – finds the operating point (.OP) and then performs a transient analysis of duration tstop seconds with a maximum time step of tincr. • .AC Frequency sweep – used in analog design to find the frequency responds of a circuit
Measurement • .MEASURE TRAN t_delay TRIG v(in) VAL=2.5 CROSS=1 TARG v(out) VAL=2.5 CROSS=1 • Measures the propagation delay between the nodes in and out, where the signals first cross 2.5 volts. • .MEAS t_rise TRIG v(out) VAL=0.5 RISE=1 TARG v(out) VAL=4.5 RISE=1 • Measures the first 10%-90% rise time of a 5V signal • .MEAS TRAN max_current MAX I(Vdd) • Measures the maximum current through the independent source Vdd • .MEAS peak_power PARAM=’max_current*5’ • Calculates the peak power, assuming that max_current has been measured
Trouble Shooting — Failure to Converge • Non-convergence happens in OP, DC and TRAN analysis – when SPICE can’t find solution to the circuit calculation with the input control and circuit setup • Typical error messages: – *ERROR* : NO CONVERGENCE IN DC ANALYSIS – *ERROR* : INTERNAL TIME STEP TOO SMALL IN TRANSIENT ANALYSIS • To deal with it… – In digital circuit simulation, CHECK THE CIRCUIT CONNECTIONS. – In analog circuit simulation, do hand analysis / change control options / simplify models …
Trouble Shooting — No DC Path to Ground • (OP and DC) – This often happens with floating MOSFET gates. Just add a resistor between the node and ground, or use the .IC or .NODESET commands to create an initial condition. Be warned, however, that .NODESET and .IC can cause convergence problems.
Trouble Shooting — Stability Problems • (TRAN) – Sometimes a transient analysis shows a “ringing” or oscillation that shouldn’t be there. This can often be solved by reducing the maximum time step or using slower rise and fall times for independent sources.
Next — The Hand Analysis • A good designer must be equipped with two weapons: • The ability to get the most help from tools • The intuition into the design • System definition / integration • Architecture management • Circuit optimization • Device modeling • Simplified models of device operation with only first-order effect suffices to help us develop intuitions into the circuit functions / performances design.