TMA Raphael RC2 Tutorial

Samiha mourad

Purisai R Rangarajan

Electrical Engineering Department


Date of last Revision :05/12/98
Index:
Introduction
Preparation
Analysis


Introduction


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)
 
 


Preparation


 

  1. Add the following lines to your .profile
  2. . /usr/local/scripts/setup.tma.sh

    Remember to execute

    $bash . .profile
     

  3. If you are using C-shell add the following lines in your .cshrc :

         . /usr/local/scripts/setup.tma.csh

         Remember to execute. cshrc    


Analysis



 

RC2 input file

 

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.

Example : poly name=vseven; coord = 12.7,6; 12.8,7.9; 16.2,8.5; 16.7,7.2; 16.6,6.7; 15.3,6.2;rho=1e-4;
This command defines a polygon as a conductor named vseven with seven vertices and a resistivity of 0.0001 ohm-meter.

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. 
 


Running RC2 File and Generating a SPICE file

 


To generate the SPICE netlist for the structure as shown in fig 1(a) we do the following steps:

 
 

Step 1

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 :

1. h1 and h2 are the heights of the two dielctrics :
h1=h2=1U
2. t1is the thickness of the metal :
t1=0.5U
3. w1 is the width of the metal :
w1=2U
4. s1 is the spacing between the two parallel metals:
s1=2U
5. s0 is the spacing between the metal and the boundary :
s0=1U
6. windx is the right top most point along the x-axis in the 2-D structure
and is calculated by :
windx = s0+w1+s1+w1+s0 = 2*s0+2*w1+s1
7. E1 & E2 have a dielectric constant of 4
$ TWO METAL LINES ABOVE GROUND PLANE
PARAM h1=1;h2=1;t1=0.5;w1=2;s0=1;s1=2;windx=2*s0+2*w1+s1;
$ DIELECTRIC LAYER
POLY NAME=dielect; COORD=0,0.5; 0,2.5; windx,2.5; windx,0.5; DIEL=4;
$ GROUND PLANE
POLY NAME=grnd; COORD=0,0; 0,0.5; windx,0.5; windx,0; VOLT=0;
$ METAL LINE 1;
BOX NAME=m1; CX=2; CY=1.75; W=w1;H=t1;VOLT=1;
$ METAL LINE 2
BOX NAME=m2; CX=6;CY=1.75;W=w1;H=t1;VOLT=1;
$ DEFINE THE SIMULATION WINDOW
WINDOW X1=0;Y1=0;X2=windx;Y2=2.5;DIEL=1;
OPTIONS SET_GRID=2000;
$ ASSUME THE METAL LINES ARE MADE OF AL AND OF LENGTH=20
$ The following statement: porduces the SPICE SUB CKT
SPICE GND=grnd;FILE=inter1.250.cir;RHO=3e-8;LENGTH=20;
 
 

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.
 
 

Step 2

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:

-b Invokes RC2 - BEM. *
-n The geometry information is not written in <file>.pot.
-I Checks the input file for errors ; no calculations are performed.
-x The potential information is not written in <file >.pot.
-s Sends the output to the standard output.
-o <file> Use <file> as the output file name.
-p <file> Use <file> as the potential file name.
-u Appends an output summary to the output file. This summary is used by

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.

Step 3

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 %

 

Step 4

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

 

 

 

 


Understanding the SPICE subckt

 


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.

  Click here to return to Index