HAHAHAHA(HAx4)'s       




 SPICE Notes (1) 5/13/2007

When I was a kid, the stereotype I had in my mind for being an EE was a nerd sitting in a room full of dusty PCBs and gigantic oscilloscopes, with iron in one hand and plier in the other. The air smells like rosin, mixed with the odor of sweat. Thanks to the initiative by a pioneer in 1968, EE's dirty hands were washed clean (to some extent). We owe it to ourselves to remember his name: Ron Rohrer at UC Berkeley 1968 (Ref[1])

The following is what I have picked up on my SPICE journey:

*) Different Flavors of SPICE (For the detailed history of SPICE, please refer to Ref[1])
==== +) HSPICE, from Synopsys
==== +) LT SPICE (Sw CAD III), from Linear Technology (free download)
==== +) PSPICE, from ORCAD Inc (Now part of Cadence)


*) Save disk space
SPICE may devour large amount of disk space, especially if transit analysis is conducted. To save space, ".option post probe" can be used. And only use .probe to get the signal of interest.

To clear up the files left by SPICE, a shell script here called spice_cleanup.csh could be used. (Tested under C Shell on SunOS 5.9, Goto Ref[2] for download.)


*) UltraEdit wordfile for SPICE
A wordfile here is produced for syntax coloring SPICE file with UltraEdit. However, since SPICE is not like average programming language, a good many of its distinguished syntax can not be fully covered by UltraEdit. The wordfile.txt here only serves as a way to ease your eyes :-) (Goto Ref[2] for download.)

*) Setup Time Analysis

Use Bisection Optimization Model, see Ref[3] Chapter 2 for detail


*) Example to get equal rise and fall for a gate

...

.param P1=optrange(2.4u,1.2u,4.8u)

.model optmod opt itropt=30

.measure bestratio param='P1/1.2u'

.TRAN 1ps 16000ps SWEEP OPTIMIZE=optrange RESULTS=diff MODEL=optmod

.measure tpdr * rising propagation delay
+ TRIG V(COUT1) VAL='SUPPLY/2' FALL=1
+ TARG v(_COUT2) VAL='SUPPLY/2' RISE=1
.measure tpdf * falling propagation delay
+ TRIG V(COUT1) VAL='SUPPLY/2' RISE=1
+ TARG v(_COUT2) VAL='SUPPLY/2' FALL=1
.measure tpd param='(tpdr+tpdf)/2' goal=0 * average prop delay
.measure diff param='tpdr-tpdf' goal = 0
...

See also Ref[4], chapter 5

References:
[1] Inside SPICE, Ron M. Kielkowski, McGraw-Hill, Inc. 1998
[2] HAx4 down the Rabbit Hole
[3] HSPICE Applications Manual, Version Y-2006.09, Synopsys, Inc, 09/2006
[4] CMOS VLSI DESIGN, A Circuits and Systems Perspective (3rd Edition), NEIL H.E. WESTE and DAVID HARRIS, Pearson Education, Inc. 2005

    Posted by HAx4 at 1:11 AM

0 Comments:

Post a Comment

<< Home  

   

 

 

Features

*) Grand Opening
*) Why HAHAHAHA
*) Stay Foolish
*) Rabbit Hole
*) Blotter
*) Notebook

Links

*) Blotter
*) Notebook
*) Rabbit Hole


*) I Love Rei
*) TEXT2PNG
*) China Blog List


*) Bertrand
*) Bruin
*) Bulldog
*) Hua
*) Mas
*) Nimrod
*) Philewar
*) Rodent
*) Samuel
*) Tom