Date of last Revision :05/12/98
Index:
Introduction
Preparation
Analysis
This is shown in figure 1(a). After running Raphael RC2 we will be able
to extract the parameters as shown in figure 1(b), which shows the graphical
representation to illustrate the automatic node assignment by RC2 when
SPICE subcircuit is created.
figure1(a)
figure 1(b)
. /usr/local/scripts/setup.tma.sh
Remember to execute
$bash . .profile
. /usr/local/scripts/setup.tma.csh
Remember to execute. cshrc
The input file containing information about the geometries for two metal lines above ground plane.
In general the input file statements consists of comments and/or commands.
Comments:
All statements beginning with "*" and " $" are considered as comments and are ignored.
Commands
There are sixteen available commands: param, box, circ1, circ2, poly,
copy,
window, potential, capacitance, inductance, Z0, current, merge, spice,
extract, and options.
A command may follow by assignments and/or lists defined below and may
occupy more than one line.
Some important commands, which are used in our example and their usage,
are explained below.
Note : Please refer
to the user manual for detailed information on other commands.
PARAM
usage :
Param parameter1=<value>; parameter2=<value>;?..;
Example: param a=2.0; b=4; y=exp (a+b);
This command defines a value of 2.0 for parameter a, parameter b is
assigned a value of 4, and y is defined as the exponential value of the
addition of a and b.
BOX
usage : Box name=<name>;cx=<value>;cy<value>;w=<value>;
H=<value>;
{ang=<value>;]
{volt=<value>;or(diel=<value>;[chrg=<value>;])
or rho=<value>;}
[color=<value>;]
This command defines a rectangular electrode (volt=<value>;) or dielectric (diel=<value>;[chrg=<value>;]) element or conductor(rho=<value>;).
In the declaration:
name is a character type specifying the name of the element(it can be alpha numeric).
cx and cy specify the x-, and y- coordinates of the center of the electrode (in default units microns ).
w,h : w is the width (dimension along the local x? axis),h is the height (in the local y?-axis).
ang is the optional rotation angle of the local coordinate system about the center.
Volt : It is the potential of the electrode
Diel: Relative dielectric constant of the dielectric element.
chrg: Optional fixed charge density in dielectric element. (in couloumb/unit3) where the unit is
specified in the options command.
Rho: resistivity of the material used (for current calculations).
Color: Optional color index to be used when plotting.
Example : Box name =square; w=5;h= (a+b); cx=1; cy=1; ang=45; volt=2.5;
This command defines an electrode named square, with a width of 5 and a height defined as the addition of a and b, centered at coordinates (1,1) in a global coordinate system. Rotated at an angle of 45 degrees with respect to the positive X axis, and biased at with 2.5 volts.
POLY
USAGE : poly name=<name>;coord=<x1,y1;x2,y2;x3,y3;[x4,y4;]....[xn,yn;] {volt=<value>;or(diel=<value>;[chrg=<value]) or rho=<value>;}[color=<value>;]
This command defines a polygon region with n vertices.
Name : Name of element. Names may begin with an alphabetic character, but may include upto 20 alphanumeric characters.
coord : x1,y1;.... x,y coordinates of vertices, a minimum of three vertices has to be specified.
volt : Potential of electrode element.
diel : Relative dielectric constant of dielectric element.
chrg : Optional fixed charge density in dielectric element.
rho : Resistivity of material.
color : Optional color index to be used when plotting.
CAPACITANCE
usage :
Capacitance <name>; <name>;
This command calculates the capacitance matrix
for the listed electrodes.
Note: When no name is given then the capacitance command calculates the full capacitance matrix.
Example : Capacitance elec1; elec2;
calculated for the electrodes as shown in figure 2
The following matrix is generated in the output, when the capacitance
command is used.
Elec1 Elec2 Where Cii =Csii +S Csij and Cij = -Csij
C11=Cs11+Cs12
Elec1 Cs11 Cs12 C 22=Cs22+Cs21
C21= -Cs21
C12=-Cs12
Elec 2 Cs21 Cs22
INDUCTANCE
usage : Inductance <name>; <name>;??;
This command calculates the inductance matrix for the listed electrodes.
SPICE
usage : Spice gnd=<name>; file<name>;[rho=<value>];length=<value>;
This is an important command that causes a SPICE model to b generated.
Resistance, Capacitance, and inductance are automatically calculated.
Note: Since the inductance calculation requires
a reference node be specified, you must specify the gnd node. The generated
model is written
to
the file specified by the file. Where
Gnd is the name of the reference node or electrode.
File specifies the name of the file to which the SPICE model is to be written.
Length: The length of in the "z-axis" of the structure. The Capacitance, Resistance and Inductance are
respectively multiplied by this dimension.
Rho: The resistivity of the conductors.
default used by Raphael RC2 is that of aluminum(Al) ,which is about 3 *10-8 .
default unit is ohm-meter.
Note: For the Design center -" Berkeley SPICE3" use "*.cir " extension in the file name.
Note: Using the options command can change the defaults in any command.
Example : Spice gnd=ground; file=spice.cir;
rho=3.0e-8;length=20.0.
This command requests a SPICE model to be generated; the model will be written to the file
Spice.cir.
The reference nodes the electrode ground; all electrodes are
assigned a resistivity and length normal to the
Plane of 20.0mm.
WINDOW
USAGE : window x1=<value>;y1=<value>;x2=<value>;y2=<value>;{(diel=<value>;[chrg=<value>;] or rho=<value>;}
x1 : x-coordinate of lower left corner of window.
y1 : y-coordinate of lower left corner of window.
x2 : x-coordinate of upper right corner of window.
y2 : y-coordinate of upper right corner of window.
diel : Relative dielectric constant of dielectric element.
chrg : Optional fixed charge in dielectric element.
rho : Resistivity of window
EXAMPLE : window x1=0.0; y1=0.0; x2=15.0; y2=10.0; diel=3.5;
This command defines the simulation domain, any object outside the rectangle
defined by the coordinate limits x1,y1; x2,y2; is ignored. All the spaced
not filled with other objects is considered dielectric with a relative
dielectric constant of 3.5.
To generate the SPICE netlist for the structure as shown in fig 1(a) we do the following steps:
Write an input file defining the structure under consideration and save
it as *.rc2 file
The input file is written using the commands and comments.
The structures to be analyzed are built up using param, box, circ1, circ2, poly, copy, and merge.
The analyses on these structures are done by specifying potential, capacitance, inductance, current, Z0 for impedance or spice for generation of SPICE model.
The extract command allows you to get the value of current or
the electric field and the potential at a given location. It can only be
used with potential or current command.
![]()
The example Structure in figure 1(a) has an input file as listed below.
In the example :
The structure represents two parrallel rectangular wires immersed in a dielectric.
In the simulatuons :
Note: Lines beginning with "+" are
considered a continuation line from the last entered command. Line sending
with a "+" indicate that the following line is a continuation.
Execute the input file using the following command from the Unix prompt.
raphael rc2 [options] [input file]
If no options are specified then RC2 reads the input file does calculations
according to the input..
The RC2 generates two output files:
1. file>.out - results are written into this file
2. <file>.pot - This file contains the geometry information and the potential and electric field data after the potential or calculation has been completed.
Note: The DPLOT program reads the <file>. pot and plots the potential and electric field.
The following options can be specified:
Raphael Interconnect Library (RIL) for easy parsing of RC2 output for post-processing.
*RC2 -BEM is an alternative field solver for RC2 based on the boundary element method. The syntax of the RC2-BEM command line is
raphael rc2 -b "" [BEM OPTIONS]" [RC2 OPTIONS][FILE]
where -b flag in the RC2 is used to invoke the BEM solver.
Observe the output files.
The output file for the input file mentioned earlier looks something like this:
********************************************************
*** RAPHAEL RC2 ***
*** Version 4.1.1 ***
*** Copyright (C) 1991 - 1997 ***
*** Technology Modeling Associates, Inc. ***
*** All Rights Reserved ***
********************************************************
1 $TWO METAL LINES ABOVE GROUND PLANE
2 PARAM h1=1;h2=1;t1=0.5;w1=2;s0=1;s1=2;windx=2*s0+2*w1+s1;
3 $DIELECTRIC LAYER
4 POLY NAME=dielect; COORD = 0,0.5;0,2.5;windx,2.5;windx,0.5;DIEL=4;
5 $GROUND PLANE
6 POLY NAME=grnd; COORD=0,0; 0,0.5; windx,0.5;windx,0; VOLT=0;
7 $METAL LINE 1
8 BOX NAME=m1; CX=2;cy=1.75;W=w1;H=t1;VOLT=1;
9 $METAL LINE 2
10 BOX NAME=m2; CX=6;CY=1.75;W=w1;H=t1;VOLT=1;
11 $DEFINE THE SIMULATION WINDOW
12 WINDOW X1=0;Y1=0;X2=windx;Y2=2.5;DIEL=1;
13 OPTIONS SET_GRID=2000;
14 $ASSUME THE METAL LINES AREE MADE OF AL AND OF LENGTH=20
15 $The following statement produces the SPICE SUB SCRIPT
16 SPICE GND=grnd; FILE=inter1.250.cir;RHO=3e-8;LENGTH=20;
*** CAPACITANCE [Farad / (1e-06*m)] CALCULATION: (C)(V)=(Q)
m1 m2
m1 1.348419e-16 -1.394424e-17
m2 -1.394410e-17 1.348421e-16
regrid nx ny total iter lin_tol. rgd_tol
0 60 31 1860 19 3.344e-05 N.A.
1 59 33 1947 25 6.559e-05 2.872e-01 %
regrid tolerance : 2.87e-01 %
regrid nx ny total iter lin_tol. rgd_tol
0 60 31 1860 18 5.473e-05 N.A.
1 59 33 1947 25 7.228e-05 2.870e-01 %
regrid tolerance : 2.87e-01 %
==> SPICE Models for Total Capacitance [Farad / (1e-06*m)]
C_1_1 m1 OTHERS 1.348419e-16
C_2_2 m2 OTHERS 1.348421e-16
==> SPICE Models for Entire Capacitance Matrix [Farad / (1e-06*m)]
C_1_2 m1 m2 1.394417e-17
C_1_0 m1 GROUND_RC2 1.208977e-16
C_2_0 m2 GROUND_RC2 1.208979e-16
*** INDUCTANCE CALCULATION [Henry / (1e-06*m)]
m1 m2
m1 3.336525e-13 3.450227e-14
m2 3.450203e-14 3.336509e-13
==> SPICE Models for Inductance Matrix [Henry / (1e-06*m)]
L_1 m1 m1_y 3.336525e-13
K_1_2 L_1 L_2 1.034077e-01
L_2 m2 m2_y 3.336509e-13
regrid nx ny total iter lin_tol. rgd_tol
0 60 31 1860 16 8.820e-05 N.A.
1 59 33 1947 22 9.321e-05 2.931e-01 %
regrid tolerance : 2.93e-01 %
regrid nx ny total iter lin_tol. rgd_tol
0 60 31 1860 16 8.142e-05 N.A.
1 59 33 1947 22 5.849e-05 2.946e-01 %
regrid tolerance : 2.95e-01 %
The SPICE circuit generated is named inter1.250.cir as specified in
the input file for the figure 1(a), and this is how it looks
This spice file indicates the capacitance, inductance and the resistance
values for length of the metal lines = 20 microns as
specified in the input file :
.SUBCKT intercon m1_x m1_y m2_x m2_y GROUND_RC2
C_1_2 m1 m2 2.788834e-16
C_1_0 m1 GROUND_RC2 2.417954e-15
C_2_0 m2 GROUND_RC2 2.417959e-15
L_1 m1 m1_y 6.673050e-12
K_1_2 L_1 L_2 1.034077e-01
L_2 m2 m2_y 6.673017e-12
R_1 m1_x m1 7.500000e-01
R_2 m2_x m2 7.500000e-01
.ENDS intercon
The above shows the spice sub-ckt..
Line#1 indicates the ports to the MODE, namely m1_x, m1_y, m2_x, m2_y,
GROUND_RC2.
Line#2 indicates the calculated mutual capacitance between L1 and L2.
Line #3 gives the capacitance of line 1 w.r.t ground - C_1_0
Line #4 gives the capacitance of line 2 w.r.t ground - C_2_0
Line #5 gives the inductance of line 1
Line #6 gives the mutual inductance between Line 1 and Line 2
Line #7 gives the indctance of line 2
Line #8 and Line #9 indicate the Resistances of the two lines
Line #10 indicates the end of the Subckt.
The node numbers are assigned as per the following rules:
First_node = 2 x n -1 Last_node = 2 x n Middle_node = 2 x N + n
The (reference) node is assigned number 99, corresponding to the maximum number of conductors equal to 33.