I have had similar problems with Hspice convergence. Here is a list of tips I got from an Avanti AE to workaround convergence problems: Hspice dc non-convergence ~~~~~~~~~~~~~~~~~~~~~~~~~ Convergence is defined as the ability to obtain a solution to a set of circuit equations within a given tolerance criteria (1). This short collection of suggestions is designed to trade runtime performance and loosen certain tolerance bounds in the hopes of overcoming dc non-convergence. For a more comprehensive discussion on non-convergence, please see the hspice manual. 1. Increase ilt1, which is the # of iterations hspice will attempt in dc analysis before rejecting the solution, from its default of 200. .option itl1 = 500 2. For circuits with feedback or multiple bias states (FF and latches), it is important to provide hspice with an initial guess that is close to the final solution. Use .nodeset to set initial voltage guesses. In particular, focus on those nodes that are listed as non convergent in the output .lis file. .nodeset v(in)=0 v(out)=3.3 3. Hspice will try various convergence algorithims as it struggles to achieve DC convergence. Read the .lis file to see where hspice was when the job aborted. Hspice first tries DCON = 1,2, then converge=1. If this isn't enough, try the other two converge choices, along with smaller gmindc values. Converge=3 is the source stepping method listed in "Inside Spice". .option converge=2 gmindc=1e-12 1e-11 1e-10 1e-9 .option converge=3 gmindc=1e-12 1e-11 1e-10 1e-9 4. If certain active element nodes seem to be nonconvergent, you may have hspice perform 2 dc bias point calculations. The first calculation is performed with the active elements turned off. Then, this solution is used as the first guess for the dc solution with the elements turned on. You may choose one or more elements to turn off, declared on element line. Diode n1 n2 diode_model off Qbjt n1 n2 n3 bjt_model off Mosfet n1 n2 n3 n4 mos_model off 5. While performing DC sweep, hspice now invokes the pseudo-tran analysis for difficult sweep points as well as DC bias calculation. To furthur help DC sweep analysis, you may increase itl2, the number of iterations hspice will take at each dc sweep point. .option itl2 = 200 6. If increasing itl2 doesn't help dc sweep analysis, the problem most likely lies in model discontinuities. (2) As a workaround, you may try to increase and offset the sweep size in an attempt to miss model problems. Original: .dc vin 0v 3.3v .1v Increase: .dc vin 0v 3.3v .2v Offset: .dc vin .01v 3.31v .1v Hope this helps! For more information on non convergence, please see Hspice users manual, specifically the chap. on DC initilization and Operating Point analysis, sections Autoconverge Process and Reducing DC errors, and also Ron Kielkowski's "Inside Spice" for furthur discussion on this topic. References: (1) - Hspice user's man., Vol. 1, 1996 Meta-Software, for Hspice v96.1 (2) - "Inside Spice", Ron Kielkowski, McGraw-Hill, Inc., 1998, p. 71. Hspice transient non-convergence, 'internal timestep too small' errors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Convergence is defined as the ability to obtain a solution to a set of circuit equations within a given tolerance criteria (1). This short collection of suggestions is designed to trade runtime performance and loosen certain tolerance bounds in the hopes of overcoming 'internal timestep too small' errors. 1. Increase itl4, which is the # of iterations hspice will try at one time point, before giving up and taking a smaller time step. Default = 8. This will likely affect runtime performance. .option itl4 = 50 itl4 = 100 2. Loosen tolerance limits from their defaults: .option reltol=1e-3 abstol=1e-8 reltol=5e-2 abstol=1e-7 reltol=1e-2 abstol=1e-6 3. Help the circuit by adding admittance and capacitance elements between each node and ground: .option gshunt=1e-12 cshunt=1e-12 gshunt=1e-11 cshunt=5e-11 gshunt=1e-10 cshunt=1e-11 gshunt=1e-9 cshunt=1e-10 (Note: this is the largest value I would recommend; increasing g,c shunt larger will reduce simulation accuracy.) 4. Increase tstep value, to step over possible model discontinuities: .tran tstep tstop -> .tran (2)*tstep tstop .tran (2.5)*tstep tstop .tran (3)*tstep tstop 5. A toggle type option that may help certain high gain, analog (op-amp) and/or oscillitory circuits (such as an inverter ring) during tran analysis is changing integration methods. Note the time of the tran error with default 'trap' method, then try 'gear'. If your simulation gets furthur into the tran run, then stick with 'gear'. Otherwise, disable the gear option. .option method=gear 6. If you're still having trouble with timestep too small after trying the above steps, you should investigate the device models used. For CMOS, make sure you have finite terminal capacitances and resistances. For level 49, be sure you have the model parameters below: (these are samples, not defaults) .model mname nmos level=49 version=3.2 + cj=5e-4 cjsw=1e-10 cgd0=1e-10 cgs0=1e-10 rs=1e-9 rd=1e-9 In the case of BJT device, be sure to have the following model param- eters set: (examples, not default) .model mname npn rb=50 rc=.4 re=1e-3 7. The last scenario I have encountered is the timestep too small error occuring at time = 0; there are typically two reasons for this. Either dc analysis wasn't performed, or unrealistic .ic voltages have been set, and hspice can't converge with the given node voltages. Look for the error differences between old and new iteration value, and try setting the node voltage with .nodeset statement somewhere closer to new guess. In general, .nodeset is more appropriate than .ic. -Shiva -----Original Message----- From: Khalid Ansari [mailto:khalida@xxxxxxxxxxx] Sent: Tuesday, September 25, 2001 5:12 PM To: Si-List Subject: [SI-LIST] Convergence problems with Hspice Hi, I am trying to run some spice simulations but running into problems. What I have is three blocks, basically, a driver, the package model for the IC and 30 inches of trace (created using the W transmission line model). When I run the driver by itself it looks like it is supposed to. Driver + package model looks good. Driver + transmission line model looks good, but when I put all three together I run into all kinds of convergence problems. The package models were created using Ansoft Spicelink, the version of hspice that I am using to run these simulations is 2001.2. Has anybody seen similar errors trying to run simulations which are similar to mine. Thanks in advance, Khalid ------------------------------------------------------------------ To unsubscribe from si-list: si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field or to administer your membership from a web page, go to: //www.freelists.org/webpage/si-list For help: si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field List archives are viewable at: //www.freelists.org/archives/si-list or at our remote archives: http://groups.yahoo.com/group/si-list/messages Old (prior to June 6, 2001) list archives are viewable at: http://www.qsl.net/wb6tpu ------------------------------------------------------------------ To unsubscribe from si-list: si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field or to administer your membership from a web page, go to: //www.freelists.org/webpage/si-list For help: si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field List archives are viewable at: //www.freelists.org/archives/si-list or at our remote archives: http://groups.yahoo.com/group/si-list/messages Old (prior to June 6, 2001) list archives are viewable at: http://www.qsl.net/wb6tpu