A PROGRAM TO PREDICT THE RESISTANCE OF TRIMMED FILM RESISTORS

A program that numerically models laser trimmed film resistors is described. From this model it is possible to predict the resistance, sensitivity of resistance to trim cuts and the magnitude of local “hot spots”. An example of the use of the program is given.


INTRODUCTION
One of the significant advantages of thin or thick film resistors is the ease with which they may be adjusted or 'trimmed' either to a specified value or to achieve a predetermined circuit function.There are many methods by which the actual or apparent sheet resistivity may be altered, popular methods being anodisation and spark erosion 2 for thin films and sand abrasion a and laser scribing 4 for thick films.
In order to predict the resistance of a film resistor whose geometry does not allow for an analytical solution, it is necessary to resort to the use of numerical techniques.In general any film resistor that has been trimmed will fall into this category and whilst numerical solutions are only approximations to the exact solution, the error in this estimation can be made arbitrarily small.
The following paper describes a program that has been written to predict the resistance of laser trimmed resistors and is divided into four sections; (i) Description of the method used (ii) Description of the program (iii) Use of the program (iv) An example 2 DESCRIPTION OF NUMERICAL ANALYSIS METHOD USED For any conducting medium in which there is zero space charge distribution the current continuity equation div.J 0 applies.The current density, J, of a linear resistor is related to the electric field, E, by Ohm's law J= aE where o is the conductivity.This equation is known as LaPlace's equation and a unique solution exists when the boundary conditions of the region are given.In this situation one type of boundary condition is the fixed potentials at the conductor resistor interface and the other is the resistor outline.LaPlace's equation may be expressed in terms of small differences rather than exact differentials as, 2Vx, Vx, Vx, + +.
' '--1 ',l =0 lw 2 where the terms used are defined in Figure 1.In order to calculate Vx,y this may be rewritten as Vx_l,y + Vx+1,y + -y (Vx, y -I + Vx,y+1) 2 1+ y (1) Expressing the partial differential equations as small differences may be shown to be equivalent to dividing the resistor into small, equal sized rectangles where the voltage Vx,y is the voltage at the centre of the rectangle at position (x, y); and the smaller the size of the rectangle the more accurate the model.In turn this may be shown to be equivalent to representing the resistor as a two dimensional mesh of resistors, those resistors in the x direction being the value hx hy and those in the y direction hy hx where p, is the sheet resistivity.The voltage Vx,y is then the voltage at the node (x, y).Given the boundary conditions (i.e. the physical outline, position and potential of the conductors) it is possible to calculate an exact value for Vx,y by matrix inversion.
In practice however it is preferable to use iterative techniques to obtain an approximate solution; the magnitude of this error being set by the condition used to terminate the iteration.
In order to reduce the computing time required, the iteration formula given in Eq. ( 1) may be modified to Vx_ + Vx+l,y + -fly (Vx,y-1 + Vx,y+l) co + (I c) Vx,y where w is known as the over-relaxation factor, and the superscript is used to denote the number of iterations so far carried out.
As previously stated, there are two distinct types of boundary; those that define the outline of the resistor adjacent to the insulating material and those that interface with the conducting material.The voltage at the nodes adjacent to the outline boundary is calculated by modifying the iteration formula to take into account the zero current flow normal to the resistor boundary.The voltages at the nodes on the conductor boundaries are set to fixed values, say 1.0 and 0.0; the particular value depending on which of the two conductor boundaries the node is situated.It should be mentioned that the rectangles along the conductor boundaries are of only half length in the direction normal to the conductor and it is necessary to observe this fact when specifying a particular resistor.
The resistance is calculated by summing the currents flowing into one of the conductor bound- aries.If the equivalent mesh resistor in the y-direction is Ry and that in the x direction is Rx, then the current flowing out of node x, y on the boundary is &, =v,yv,+,>, + v,y-v_,,

Rx Rx Ry Ry
Notice however that (i) not all of the nodes adjacent to x,y may be defined and hence the program needs to recognise this and (ii) some of the adjacent nodes may be part of the conductor, in which case no current flows between them since they are at the same potential.
The resistance R then is given by VB1 VBO The summation being taken over all the nodes on one conductor boundary and where VBa and VBo are the fixed potentials of the two conductors.
The % sensitivity is defined as dR ST 100 R dL where L is the length of the trim.In terms of discrete values.
R n -Rn_ 100 ST Rn Ln  where the subscript refers to the calculation of R for a trim of length Ln.
Power derating is a measure of the extent of the current crowding.The power density at node x,y is Pxy and is calculated as Pxy E(x,y) J(x,y) ot E(x,y E(x,y o(Ex(X,y) + Ey(X,y)) by "! where A Vi(x,y) is the potential difference between the boundaries of the rectangle surrounding node x,y in the direction and oo is the sheet conductivity.

Ry
The total power dissipated in the resistor is P= ,Pxy The summation being taken over all nodes.The total power density is P p= N.hx hy' where N is the total number of nodes.The maximum power density is given as

Pxy max
Pxy max hx hy Thus P Pxy Pxy max NPxy max Thus if it is required to ensure that no part of the resistor dissipates more than a predetermined power density, it is necessary to derate the whole resistor by Z'Pxy NPxy max

PROGRAM DESCRIPTION
The flow of the program can be seen to fall into three distinct sections:- a) setting up the nodal matrix that represents the resistor and the trim paths b) calculating the resistance c) plotting the results.
Due to certain program size restrictions imposed by the plotting routines used, the program has been divided into two smaller programs that communicate via magnetic tape units.Sections a) and b) above are contained in the first program, whilst the results are plotted in the second.
Both subprograms require the use of large arrays and in order to allow the user, if desired, to request only the core store necessary, dummy array dimen- sions have been used.A listing of the master segments of each program is given in Appendix and the amount of core store requested is altered by changing three statements in these segments.The variable IMX specifies the maximum number of nodes in the x-direction and the variable JMX the maximum number of nodes in the y-direction.The x and y dimensions of the arrays U and IU must be specified as equal to IMX and JMX respectively.Provided the actual number of nodes used is less than the maximum requested, the program will select the required maximum for any particular calculation.The variable ICONT controls the amount of line printer output and if it is set to O only the essential information is printed, whereas if it is set to a considerable amount of extra information is printed.
The flow of the program is shown in Figure 2 and it can be seen that it is necessary to incorporate in the Program Description Segments definitions of the magnetic tape units and also the plotting libraries.A listing of the Program Description Segments is given in Appendix 2. Most calculations can be completed with a limit of 500 iterations.The acceleration factor (overrelaxation parameter) co has been defined already and suitable values are 1.8 for a 10 x 10 node resistor increasing to a maximum of 1.92 for resistors of 30 x 30 nodes or greater.The distance between nodes is assumed by the program to be in units of 0.001 in.

Resistor Definition Data
The purpose of this data is to define the initial shape of the resistor and the format for these data cards is IDENTIFIER IX1 IY1 IX2 1Y2 The identifier, which must start in column 1, may be one of the following three types CON1 CONO BOUN CON1 and CONO refer to the two conductor-resistor boundaries, whilst BOUN refers to the edge of the resistor.(IX1, IY1) and (IX2, IY2) are the start and finish respectively of the straight line, parallel to one of the cartesian axes, that defines the outline of the Once the system requirements of the program have been satisfied, the program may be used to calculate the resistance of any particular resistor by simply changing a few data cards.These cards can be divided into 3 groups which must appear in the sequence.The data may be supplied in free format and the type specified is given in brackets.The iteration limit is set within the program; however it is necessary to specify a maximum number of iterations that are Plan of resistor (dimensions in 0.001 in units) X increasing FIGURE 4 Plan of resistor divided into small rectangles resistor; the particular type of boundary being specified by the identifier.
The cards may appear in any order, however, should a node be specified twice, the later identifier will be assumed for that node.
To signify the end of the Resistor Definition Data the card END @ 0 g must be supplied (starting in Column 1).

Trim Definition Data
The purpose of these data cards is to define the path taken by the trim and the format is (Starting in Column 1) "TRIM" IX1 IY1 IX2 IY2 (IX1, IY1) and (IX2, IY2) are respectively the start and finish nodes of the straight line, parallel to one of the cartesian axes, that define the path of the trim.
The variables IX1, IY1, IX2 and IY2 are read in free format.The trims are assumed to occur in the order in which the data cards appear and the data is terminated by the card (starting in Column 1) END O 0 0 0 5 EXAMPLE It is required to calculate the effect of trimming the resistor whose plan and trimpaths are shown in Figure 3.The first step is to decide on the number of nodes in each direction bearing in mind that the nodes are effectively the centre points of the small rectangles into which the resistor is divided (the smaller the rectangles, the more accurate the solution).The nodes around the boundary and along the trimpath are then numbered as if they were a matrix.Thus the co-ordinates of the boundaries and trimpaths may be read from the diagram (see Figure 4).Notice that at the conductor boundary, the nodes are only half size.
The calculation data has been chosen as Iteration limit 1000 Acceleration factor 1.9 hx 2.0 hy 3.0 Stepsize on trimpath 3 nodes The complete set of data cards supplied to the program is given in Figure 5, whilst Figures 6 a to e show the resulting graphical outputs.The scale factor on the graphs is the amount by which the axis values FIGURE Physical interpretation of finite difference approximation to LaPlace's equation (a) Small rectangles (b) Resistor mesh

FIGURE 2
FIGURE 2 Flow diagram of program FIGURE 3