INFORMATION TO USERS This reproduction was made from a copy of a document sent to us for microfilming. While the most advanced technology has been used to photograph and reproduce this document, the quality of the reproduction is heavily dependent upon the quality of the material submitted. The following explanation of techniques is provided to help clarify markings or notations which may appear on this reproduction. 1. The sign or "target" for pages apparently lacking from the document photographed is "Missing Page(s)". If it was possible to obtain the missing page(s) or section, they are spliced into the film along with adjacent pages. This may have necessitated cutting through an image and duplicating adjacent pages to assure complete continuity. 2. When an image on the film is obliterated with a round black mark, it is an indication of either blurred copy because of movement during exposure, duplicate copy, or copyrighted materials that should not have been filmed. For blurred pages, a good image of the page can be found in the adjacent frame. If copyrighted materials were deleted, a target note will appear listing the pages in the adjacent frame. 3. When a map, drawing or chart, etc., is part of the material being photographed, a definite method of "sectioning" the material has been followed. It is customary to begin filming at the upper left hand corner of a large sheet and to continue from left to right in equal sections with small overlaps. If necessary, sectioning is continued again—beginning below the first row and continuing on until complete. 4. For illustrations that cannot be satisfactorily reproduced by xerographic means, photographic prints can be purchased at additional cost and inserted into your xerographic copy. These prints are available upon request from the Dissertations Customer Services Department. 5. Some pages in any document may have indistinct print. In all cases the best available copy has been filmed. University Miaofilms International 300 N. Zeeb Road Ann Arbor, Ml 48106 Order Number 1330539 APTMC: An interface program for use with ANSYS for thermal and thermally induced stress modeling/simulation of Level 1 and Level 2 VLSI packaging Shiang, Jyue-Jon, M.S. The University of Arizona, 1987 UM-I 300 N. Zeeb Rd. Ann Arbor, MI 48106 PLEASE NOTE: In all cases this material has been filmed in the best possible way from the available copy. Problems encountered with this document have been identified here with a check mark V . 1. Glossy photographs or pages 2. Colored illustrations, paper or print 3. Photographs with dark background 4. Illustrations are poor copy 5. Pages with black marks, not original copy. 6. Print shows through as there is text on both sides of page 7. Indistinct, broken or small print on several pages. 8. Print exceeds margin requirements 9. Tightly bound copy with print lost in spine ' 10. Computer printout pages with indistinct print 11. Page(s) author. 12. Pagefs) fin, Q 1 ,l ? r > seem to be missing in numbering only as text follows. 13. Two pages numbered 14. Curling and wrinkled pages 15. Dissertation contains pages with print at a slant, filmed as received 16. Other lacking when material received, and not available from school or . Text follows. University Microfilms International APTMC :AN INTERFACE PROGRAM FOR USE WITH ANSYS FOR THERMAL AND THERMALLY INDUCED STRESS MODELING/SIMULATION OF LEVEL 1 AND LEVEL 2 VLSI PACKAGING by Jyue-Jon Shiang A Thesis Submitted to the Faculty of the DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING In Partial Fulfillment of the Requirements For the Degree of MASTER OF SCIENCE WITH A MAJOR IN ELECTRICAL ENGINEERING In the Graduate College THE UNIVERSITY OF ARIZONA 19 8 7 STATEMENT BY AUTHOR This fulfillment of University of Library to be the library. thesis has been submitted in partial requirements for an advanced degree at the Arizona and is deposited in the Universitymade available to borrowers under .rules of Brief quotations from this thesis are allowable without special permission, provided that accurate acknowledge of source is made. Requests for permission for extended quotation form or reproduction of this manuscript in whole or in part may be granted by the head of the major department of the Dean of Graduate College when in his or her judgement the proposed use of the material is in the interests of scholarship. In all other instances, however, permission must be obtained from the author. SIGNED: APPROVAL BY THESIS DIRECTOR This thesis has been approved on the data shown below: JOHN L. PRINCE Professor of Electrical & Computer Engineering DATE ACKNOWLEDGEMENTS The author wishes to express his appreciation for the guidance, encouragement, enthusiasm, and support of his advisor, thesis director, Electronic this Dr. Z. J. Staszak, Visiting Professor, and his Dr. Packaging investigation expressed to J. L. Prince Laboratory, possible. Semiconductor III, whose Also, Research Director assistance appreciation Corporation funding the project upon which this report is based. iii of made is for TABLE OP CONTENTS Page LIST OF ILLUSTRATIONS vii LIST OF TABLES viii ABSTRACT IX CHAPTER 1. INTRODUCTION 1.1 1.2 1 Importance of Thermal/Mechanical Problems in VLSI Packaging Scope of the Work for Thermal and Thermally Induced Stress Simulation of VLSI Packaging 2. USE OF ANSYS FOR THERMAL/MECHANICAL MODELING/SIMULATION 2.1 2.2 2.3 2.4 Introduction Element Library, Material Characteriz­ ation 2.2.1 Element Library 2.2.2 Material Characterization Thermal and Thermally Induced stress Analysis Procedures 2.3.1 Thermal Analysis Procedure 2.3.2 Thermally Induced Stress Procedure Conclusions 3. ANSYS PACKAGING THERMAL/MECHANICAL CALCULATOR (APTMC) 3.1 3.2 3.3 3.4 Introduction Techniques Used in Developing APTMC... Program Structure Conclusions 4. THERMAL MODELING/SIMULATION OF LEVEL 1 AND LEVEL 2 VLSI USING APTMC 4.1 Defining the Problem : Model Genera­ tion and Preparation of Input Data, iv 1 5 8 8 9 9 13 17 17 21 23 24 24 25 32 36 37 V TABLE OF CONTENTS—continued Page 4.2 4.3 4.4 4.5 I/O Formats 4.1.1 Model Generation arid Preparat­ ion of Input Data 4.1.2 I/O Formats Implementation of APTMC Examples of Thermal Simulation of Selected Structures of VLSI Packages 4.3.1 Thermal Simulation of Forty Pin Plastic Package 4.3.2 Thermally Induced Displacements in Forty Pin Plastic Package. 4.3.3 Thermal Simulation of ThirtyEight Lead Multisource Hybrid Package 4.3.4 Thermal Simulation of Thermal Test Chip ... Program Evaluation 4.4.1 Readability 4.4.2 Flexibility 4.4.3 Simplicity 4.4.4 Portability 4.4.5 Efficiency 4.4.6 Improvements to Limitations Imposed by ANSYS Conclusion 5. SUMMARY AND CONCLUSIONS 37 37 42 43 43 43 46 46 49 59 59 60 60 60 61 61 64 67 APPENDIX A: I/O FORMATS OF APTMC 70 APPENDIX B: EXAMPLE OF PROCESS OF THERMAL AND THERMAL-MECHANICAL MODELING OF VLSI PACKAGES AS COMPARED TO THE SAME PROCESS USING APTMC 78 APPENDIX C: LISTING OF APTMC PROGRAM 90 APPENDIX D: TABLE OF PHYSICAL AND THERMAL PARAMETERS OF SELECTED MATERIALS USED IN VLSI PACKAGING APPLICATIONS (MEAN VALUES 0-100°C OR AT ROOM TEMPERATURE) 121 vi TABLE OF CONTENTS—continued Page APPENDIX E: USE OF A FINITE ELEMENT METHOD FOR THERMAL ANALYSIS 123 LIST OF ILLUSTRATIONS Figure Page 3.1 Linked List 29 3.2 APTMC Program Structure 33 4.1 Example of Node Numbering in 4.2 Example of Element Numbering in 4.3 Schematic Diagram of Packages APTMC APTMC.... 38 40 40-Pin Plastic 44 4.4 Forty Pin DIP Model used in APTMC 45 4.5 Two Dimensional Structure of APTMC for 40-Pin Plastic Package..., 47 Schematic Diagram of a 38 Lead Hybrid Package 50 4.7 Hybrid Package 51 4.8 Thermal Test Chip Layout 54 4.9 Forty Lead Ceramic Package for Thermal Test Chip 55 4.6 Model Used in APTMC 4.10 Thermal Model for 40-Pin Thermal Test Chip 56 B.l Example of Analyzed Structure... 79 E.l Local Coordinate System for One Element... •» Vll 125 LIST OF TABLES Table Page 1.1 Typical Phases of ANSYS Analysis..... 10 2.2 Main Routines and Analysis Types 11 2.3 Element Summary Table 14 2.4 Thermal Elements of ANSYS 15 2.5 Material Properties 16 4.1 Selected Node Displacements for 40-Pin Plastic Package 48 Selected Temperatures for Multisource Hybrid Problems 52 Selected Node Temperatures On Silicon Chip Surface for Steady-State Analysis of Thermal Test Chip 57 Maximum Temperature Results for Thermal Test Chip 58 4.2 4.3 4.4 viii ABSTRACT ANSYS Packaging Thermal/Mechanical Calculator (APTMC)is an interface program developed for use with ANSYS (a general purpose non-linear systems program) and specially designed to handle thermal and thermally induced stress modeling/simulation of Level 1 (chip, carrier) and Level 2 (board/modules) assemblies. VLSI packaging structures and APTMC is written in PASCAL and operates in an interactive I/O format mode. This user-friendly tool, leads an analyst/designer through the process of creating appropriate thermal and .thermally induced necessary to stress run models ANSYS. It and other includes such operations steps as the following: o construction of ANSYS commands through the string process o creation of a dynamic data structure which expands and contracts during program execution based on the data storage requirements of the program o sets input of control data which provides shared data to control model generation o access of material « »x data and model parameters from the developed INTERNAL DATABANK which contains: 1) material data list, 2) heat transfer modes 3) library of structures o forming ANSYS PREP7 and POSTn command files. This thesis describes the program structure and implementation on VAX 11/780 mainframe computers. Examples of thermal and thermally induced stress analysis of VLSI packages using the developed program are also presented. CHAPTER 1 INTRODUCTION 1.1 Importance of Thermal/Mechanical Problems in VLSI Packaging Electronic packaging has a very important role in providing mechanical electrical support, interconnection integrated circuit chip. environmental and heat protection, transfer for the Technology that packs many chips into a small volume is useless if the heat generated by the chips cannot be effectively carried off. If sufficient heat is not removed, a chip either does not function at all, or its lifespan components of system affected is an is shortened. integrated when Since chips are system, the operation of a chips malfunction. In many high-speed and high-density integrated circuit chips, the thermal limits problem is the performance, electronic systems main cost, are factor that and determines reliability. In rapidly shrinking in or addition, size while their complexity and capability continue to grow. As the power has been increasing, the volume has been decreasing, resulting in a dramatic increase in the heat density. The consequence of this enhanced heating dilemma is a large increase in the number of failures of electronic systems. Also, voids and cracks developed at the solder joints during die attach are expected 1 to increase the chip 2 junction temperature because the voids reduce the available for heat flow path [1]. semiconductor devices strongly area Since reliability of depends on the operating junction temperatures, all packaging levels must.have the ability to remove the heat adequately. Failure in the packaging performance causes a higher device temperature which leads to a degradation in system performance. The packaging of microelectronic chips in a high-speed digital computer chip might seem only minor to the machine's design. One could argue that the actual processing of information is done entirely by the circuitry on the chips themselves. Every computer needs packaging, but the nature of the packaging would not appear to have much influence on the functioning of the machine. The facts are otherwise. Given the large number of different materials that comprise a piece of electronic equipment, and their differing thermal coefficients of expansion, it is easy to see that heat dissipation within the electronic equipment will lead to the creation of thermal stresses which may lead to eventual fatigue failures. Such fatigue failures have been observed in the solder joints of high pin count leadless chip carriers surface mounted to circuit boards. Proper thermal management can aid materially in alleviating such fatigue failures [2]. Let integrated us These chip examine microelectronics technology. encapsulated now First, one within a carriers the special imposes or more sealed in turn on heat chips package may demands or which transfer is usually chip .carrier. be surface mounted to printed circuit boards which may be mounted parallel to the surface of boards. These stuffed printed circuit boards are inserted parallel to a second one level another of larger into the printed card edge circuit guides of electronic chassis or racks and electrically connected via edge connectors to a backplane or mother board. Finally these resulting assemblies may be installed in electronic cabinets of fixed mobile plants. task then consists of providing The thermal management efficient heat transport paths to an ultimate heat sink outside the equipment while maintaining levels. boards internal device temperatures at acceptable As soon as the heat flux density on the circuit increases significantly, the temperature rise resulting from the fortuitous flow of heat to the boundary surfaces of the equipment becomes intolerable [3,4]. Thermal-electrical interactions are regarded as an undesirable factors on circuit performance particularly in power operational amplifiers, D/A multipliers and voltage regulators. converters, analog For example, in an 4 operational amplifier power dissipation in the output stage results in temperature gradient which is fed back to the input stage. This causes a temperature difference between the input pairs. This small signal in the input.stage is then amplified and appears at the output stage [5]. Thermal-mechanical interactions become critical in composite structures consisting of different materials in a temperature fluctuating environment. thermal expansion coefficient The difference in the induces thermal stresses. For example, a plastic encapsulated IC package consists of a silicon chip, the metallic leadframe and the molding compound. Large temperature variations will cause thermal stress to develop in the molding compound and silicon chip. These effects can be large enough to cause fracturing in the structure or change the electrical properties of the device [6]. The drive toward high functional density, extremely high speed devices, and highly circuits and reliable system is operation today in electronic constrained by available thermal design and heat removal techniques. A clear understanding of thermal control technologies as well as the thermal potential and limits of advanced concepts is very important to the design and development of electronic equipment. Consequently, the choice of thermal control 5 technology and the particular decisions made in the course of evolving the thermal packaging design often have far-reaching effects on both the reliability and cost of the electronic system or assembly. 1.2 Scope of The Work for Thermal and Thermally Induced Stress Modeling/Simulation of VLSI Packaging It system is obvious that performance. thermal In problems will addition, interactions will be critical [7]. limit thermal-mechanical Thus a methodology to optimize the thermal and thermal-mechanical performance of a package system optimized for Existing design is required to provide designs performance, analytical [8,9,10,11,12,13,14] optimized for yield, and in reliability. numerical their addressing and present thermal and programs form are not thermal-mechanical problems of VLSI packaging or are proprietory, and thus unavailable [19]. Only recently, a special program for thermal analysis of Level l(chip) and Level 2 (boards and modules) VLSI packaging structures and assemblies, called Packaging Thermal implemented in Calculator the [15,16] Electronic was developed Packaging and Laboratory, University of Arizona. An extended version of that program, Packaging development Thermal-Mechanical [17]. The Calculator, present work is shows under an 6 alternative/parallel effort to develop and implement a thermal/mechanical modeling/simulation tool for Level 1 and Level 2 VLSI packaging. It is based on a general nonlinear code ANSYS [11] that coupled with a specially developed interface program will provide a tool optimized for thermal and thermal-mechanical (thermally induced stress) modeling of VLSI packaging. This user friendly tool, called ANSYS Packaging Thermal-Mechanical Calculator (APTMC), leads an analyst/designer through the process of creating appropriate thermal and thermally induced models and other operations necessary to run ANSYS. capabilities: 1) ease in It has .the following communicating with the user through a menu-driven interface I/O, 2) includes typical features of packages like leads, pins, contacts, etc, 3) an internal databank of thermal and mechanical parameters such as density, thermal conductivity, specific heat, Young's modules, Poisson's ratio, coefficient of thermal expansion, heat exchange modes applicable to packaging problems, and a library of analyzed structures, and results from thermal analysis used as input data 4) for structure analysis to obtain thermal and thermally induced displacement, stress and strain fields. The thesis will proceed as follows: first, the use of ANSYS for thermal modeling/simulation will be discussed 7 and procedures to perform thermal and thermally induced stress modeling/simulation of VLSI packaging will be identified (chapter 2). Chapter 3 will focus on the program structure of APTMC and techniques used in the. program development. In chapter 4, implementation of APTMC on DEC VAX 11/780 mainframe computers will be discussed, and examples of thermal and thermally induced stress analysis of VLSI packages will be given. the program evaluation. That will be followed by Summary conclude the main part of the thesis. and conclusions will CHAPTER 2 USE OF ANSYS FOR THERMAL MODELING/SIMULATION 2.1. Introduction The ANSYS computer program is a large-scale, general purpose numerical code for the solution of several classes of engineering problems. The matrix displacement method of analysis based upon finite element method (FEM) [Appendix library E] of is employed available throughout finite the elements program. numbers The more than twenty for heat transfer analyses, and forty for structural analysis. the This variety of elements gives the ANSYS program capability of analyzing two- and three-dimensional thermal and structural systems. Both linear and nonlinear heat transfer modes are used for the thermal systems. Loads for heat transfer generation, convection temperatures. the analyses and include radiation, internal and stresses, strains and structures under the action of applied loads. analysis structural specified The structure analysis is used to solve for displacements, thermal heat can analysis. plastic conditions. be used as Capabilities input forces in Results from data include for the elastic and Free or fixed boundary conditions can be specified as well as initial displacements. An engineering problem is usually solved in three 8 9 phases: 1) preprocessing, 2) solution, and 3) postprocessing. Table 2.1 shows these phases pictorially along with some of the operations in each phase. The solution phase refers to FEM. The ANSYS main routines and analyses types associated with these phases as applied to thermal/mechanical problems are shown in Table 2.2. PREP7 is used for the majority of all Pile preprocessing operations. This file prepares all data necessary for the solution. In capability, addition to the extensive material definitions, mesh generation and loading conditions can also be prepared. POST27 is used for the majority of all postprocessing operations. Once the solution phase has j been completed, the user may progress through various postprocessing steps. 2.2 Element Library. Material Characterization. The utilizing approach the to implement existing element the PREP7 library. depends on Successful selection of a proper element from the library and thorough understanding of the material characterization will result in adoption of realistic thermal and thermal mechanical models. 2.2.1 Element Library Table 2.1 Typical Phases of Analysis. PREPROCESSING PHASE MESH GENERATION, GEOMETRY DEFINITIONS, MATERIAL DEFINITIONS, CONSTRAINT DEFINITIONS, LOAD DEFINITIONS SOLUTION PHASE ELEMENT MATRIX FORMULATION, OVERALL MATRIX TRIANGULARIZATION, TEMPERATURE CALCULATIONS, DISPLACEMENT CALCULATIONS, STRESS CALCULATIONS, ETC., POSTPROCESSING PHASE POST POST (FOR POST POST SOLUTION OPERATIONS, DATA PRINTOUT, REPORTS) DATA SCANNING, DATA PLOTS 11 Table 2.2 Main Routines and Analysis Types as Applied to Thermal/Mechanical Problems. PREPROCESSOR ANALYSIS TYPES PREP7 ANALYSES TYPES (KAN) (General Mesh Generation 0 -Linear and Nonlinear and Model Definition) Static PREP6 (Additional Transient Boundary Condition PREP4 (Piping Mesh Generation and Related Model Definition Printout) POSTPROCESSOR P0ST1,29,3<1 (Tabular Printout, Spatial Plots) -1 -Heat Transfer 4 -Nonlinear Transient Dynamic 5 -Linear Transient Dynamic P0ST26,28 Tabular Graphic Plots) POST27 (Solution Combinations) 12 Table 2.3 gives a summary of the available elements used for thermal/mechanical modeling. The table lists the element identification number (STIF NO.), the name (NAME), the number of dimensions (DIM), the number of degrees of freedom per node (DOF), and the number of nodes (NODES). Elements are referred to as STIFn, where n is the library identification dimensional number. or ANSYS models three-dimensional, may be either two- depending upon the element types used. Table 2.4 classifies the elements into various categories to aid the user in appropriate element for a given analysis. selecting an The most useful elements for thermal and thermal/mechanical models will be mentioned below. The isoparametric thermal solid (STIF70) used to create the conduction model, has three-dimensional thermal conduction capabilities. The element has eight nodal points with a single degree of freedom, temperature, at each node. The dimensional, analysis. should be (STIF45). element is applicable to a three- steady-state or transient, thermal (KAN=-1) For the thermal-stress replaced by an procedure, the element equivalent structural element Element surfaces have convection capabilities. The convection link (STIF34) is a uniaxial element with convection abilities. This element is applicable to 13 steady-state or transient thermal (KAN=-1) analysis. The radiation link (STIF31) is a uniaxial element which defines the radiation heat flow rate between two points in space. Each nodal point temperature. has a single degree of . freedom, The radiation element is applicable to a two- dimensional or three-dimensional steady-state or transient thermal (KAN = -1) analysis. The emissivity may be temperature dependent. The radiation element can be omitted for the thermally dimensional induced conducting stress procedure. bar (STIF33) used The three- to create the leads/pins model is a uniaxial element with the ability to conduct heat between its nodal points. The element has a single degree of freedom, temperature, at each nodal point. The conducting bar is applicable to a steady-state or each of transient thermal (KAN= -1) analysis. 2.2.2 Material Characteristics The material properties ANSYS are given in Table 2.5. used by element Default options may be used to reduce the amount of material property data input. If the following material labels are not defined, or if the labels are defined with a zero property value, the defaults are as follows: EY and EZ (Young's modules) default to EX; ALPY and ALPZ (coefficients of thermal expansion) Table 2.3 Element summary table used for thermal and thermal/mechanical analysis. STIF NODES DOF DIM. NAME NO. 3 1 TO 6 4 SURFACE EFFECT ELEMENT 6 2 2 OR 3 1 RADIATION LINK 31 2 2 1 32 2-D THERMAL BAR 2 3 1 33 3-D THERMAL BAR 2 2 OR 3 1 34 CONVECTION LINK 3 OR 4 2 OR 3 1 37 CONTROL ELEMENT 2 2 OR 3 1 39 NONLIN. FORCE-DEFL. ELEM. 1 2 2 OR 3 COMBINATION ELEMENT 40 5 1 2 OR 3 TRANSV. THERMAL SHELL 47 1 4 2 55 2-D ISOPAR. THERMAL SOLID 1 4 57 ISOPAR. QUAD. THERMAL SHELL 3 2 67 2 4 2-D THERMAL-ELEC. SOLID 3 2 2 68 THERMAL-ELECTRIC LINE 8 3 2 THERMAL-ELECTRIC SOLID 69 8 3 1 70 ISOPAR. THERMAL SOLID OR 2 3 71 LUMPED THERMAL MASS 1 1 4 TO 8 77 2-D MULT-NODE THERMAL SOLID 2 1 8 TO 16 89 16-ND ISOPAR. THERMAL SHELL 3 3 20 90 2 0-ND ISOPAR. THERMAL SOLID 1 Table 2.4 Thermal and thermal/mechanical element types used for 2- and 3-dimensional systems. Two-Dimensional Line Elements STIF31 STIF32 STIF34 STIF40 Area Elements STIF55 STIF67 (E) STIF77 Volume Elements Point Elements STIF37 . STIF39 Three-Dimensional STIF31 STIF33 STIF34 STIF40 STIF68 (E) STIF6 STIF47 STIF57 STIF69 (E) STIF70 STIF89 STIF90 STIF71 STIF71 NOTE: (E) stands for the electrical capabilities. 16 Table 2.5 Material properties Property Units EX EY EZ ALPX Force/Area Force/Area Force/Area Strain/Temp ALPY Strain/Temp ALPZ Strain/Temp NUXY NUYZ NUXZ DENS Mass/Vol Heat C Description Young's modules in x direction Young's modules in y direction Young's modules in z direction Coefficient of thermal expansion in x direction Coefficient of thermal expansion in y direction Coefficient of thermal expansion in z direction Poisson's ratio (relates x strain to y strain) Poisson's ratio (relates y strain to z strain) Poisson1 s ratio (relates x strain to z strain) Mass density Specific heat Mass*Degree Heat*Length KXX Time*Area*Degree Heat*Length KYY Time*Area*Degree Heat*Length KZZ Time*Area*Degree Heat HF Thermal conductivity in x direction Thermal conductivity in y direction Thermal conductivity in z direction Film coefficient Time*Area*Degree 17 default to ALPX; KYY and KZZ (thermal conductivity) default to KXX; NUYZ and NUXZ (Poisson's ratio) default to NUXY. EX or KXX must be input with non-zero values. NUXY defaults to 0.3 if the label is not defined. If the temperature dependent condition is involved, we can define all material properties in terms of a fourth order polynomial as a function of temperature, Property(T) « C0 + CX(T) + C2(T)2 + C3(T)3 + C4(T)4 For this case, only the coefficients need to be defined. 2.3 Thermal and Thermally Induced Stress Analysis Procedure. The PREP7 preprocessor routine of ANSYS is used to prepare the data thermal/mechanical for the analysis. ANSYS It thermal consists of and several modules. The following procedure is a guide for defining data for a basic analysis. in any logical suitable. function available. order, Since commands may be inputted other procedures may be equally There now follows a short description of each concentrating on the features that will be The square brackets [] represent commands that are used for that step. 2.3.1 Thermal Analysis Procedure 18 The following preprocessor for steps thermal assume analysis that the is selected PREP7 with the /PREP7 command. 1. Define initial analysis data. 1. Select analysis type [KAN,—] (see Table 2.2). 2. Select element type [ET,—] (input appropriate STIF number; see Table 2.3). 2. Select analysis options [TREF,--] (absolute temperature values; 460° for Fahrenheit system and 273° for centigrade system). 3. Define real constant value [R,—] (defines the cross section area parameter of pins/leads/contacts and the radiation parameter such as effective radiation area, shape factor, emissivity, and Stefan-Boltzmann constant). 4. Define linear material property values [KXX,—], [C,-], and [DEN,—] retrieved from internal databank (see Table 2.5). 5. Generate model geometry. 1. Define coordinate system [CSYS,—] (coordinate system type: 0: Cartesian, 1: cylindrical, and 2: spherical). 2. Define nodes [N,—] (generate a node by defining a previous node and subdivision length), [NGEN,—] (generate additional lines, areas or volumes of nodes from a given node pattern by defining subdivision length, beginning 19 node, ending node, node numbering increment and total number of node repetitions). 3. Assign type reference number [TYPE,—] (has the same reference number as the element type in step 1*2), real constant set reference number [REAL,--] (has reference number as in step 3), and the same material reference number [MAT, — ] (has the same reference number as in step 4) to the elements that are to be generated. 4. Generate elements [E,—] (define element connection by defining each node numbering which depends on the element type: refer to Table 2.3), [EGEN,—] (generates additional elements from a given pattern which consists of any number of previously defined elements), and [EDELET,—] (delete the elements from the model; deleted elements are replaced by blank elements). 6. Repeat step 3 to step 5 to create the geometry. 7. Begin load step data. 1. Set number of iterations and print post data controls [ITER,—] (define number of iterations within load step; assign a negative sign for time procedures if it is to be necessary; frequency (lrprint every step optimization define the printout iteration, 2:every second iteration) ). 2. Set time value in seconds [TIME,time] if time 20 dependent analysis (transient) is used (time represents the end of load step). 3. If more than one iteration is defined, select ramp or step boundary condition change [KBC,—] (0:loads are linearly interpolated for each iteration from the previous load step to present load step, 1: loads are step changed at the first iteration of the load step). 4. Set reaction force output key [KRF,—] if reaction forces are to be printed or postprocessed (0: no heat flux calculation). 8. Define thermal constraints and loads. 1. Define temperature constraints [NT,—] (define the beginning node and ending node at which temperature will be assigned, and constant temperature value). 2. Define nodal convections [CV,—] (define the first, second, third and fourth node on convection surface; additional convection surface can be specified by defining the increment number ), if convection face is not unique, use alternate element convection loads [EC,—] (defines specified convections on element faces). 9. Define temperature of internal heat generation loads. If internal heat generation is to be used, set key [KTEMP,-] ( 0: use internal heat nodal internal heat generation to zero). generation, -1: set Define internal heat 21 generation rates [Q,—] (define power : watts). heat generations are generations [QE,—]. defined, issue to be used, define If element element heat (If more than one load step is to be LWRITE including the last. command after each load step, The LWRITE command can be omitted if there is only one load step.) 10. Write analysis file [AFWRIT,—]. 27 default. Data written to FILE Exit PREP7 by issuing FINISH command. Reenter PREP7 to continue the thermally induced stress analysis by issuing the /PREP7 command followed by the RESUME command. 2.3.2 Thermally Induced Stress Procedure. Structural solutions based temperature distributions may be analyses in series. The first upon calculated solved with two ANSYS analysis solves for the temperature distribution within the model from the given thermal boundary conditions. Temperature data sets are consecutively written on FILE4 (temporary file) for each iteration of the thermal analysis. thermal analysis may The between the from the be directly inputted to any ANSYS structural analysis (see [KTEMP]). used File4 thermal analysis The same model may be and the structural analysis, but thermal element types should be converted to structural element types in the structural analysis. The 22 following steps assume that the PREP7 preprocessor for structure analysis is selected with the /PREP7 command. 1. Define the RESUME command to reset the core data as it was. 2. Define initial analysis data. 1. Select analysis type [KAN,—] (see Table 2.2). 2. Select element type [ET,—] (define 45 for structure analysis). 3. Select the source of the temperature load [KTEMP,—] (define where the temperature loads are to be found: 0: set all temperature loads to uniform temperature, -3: use previous temperatures as load step). 4. Begin load step data. 1. Set number of iterations and print and post data controls [ITER,—] (section 2.3.1). 2. Set period of time value in seconds [TIME,—] if time dependent analysis (transient) is used (section 2.3.1). 5. Define which displacement displacement is loads [D,—] (beginning to be specified, node at direction of displacement (UX-x coordinate, UY-y coordinate, and UZ-z coordinate), displacement value, end of node at which displacement is to be specified, increment of node numbering). 6. Write analysis file [AFWRIT,—]. Data written to 23 FILE27, default. Exit PREP7 by issuing FINISH command. The /PREP7 command followed by the RESUME command is issued to reenter PREP7 to continue with the thermally induced stress analysis. 2.4 Conclusion Thermal, and thermally induced procedures as applied to VLSI-based identified. As can be stress analysis packaging have been concluded from the previous discussion, it is obviously tedious for the user to create or modify the ANSYS preprocessing file. friendly interface modeling/simulation THERMAL/MECHANICAL is necessary efforts. CALCULATOR in Therefore, a user order to The ANSYS (APTMC) guide the PACKAGING following the described thermal and thermally induced stress procedures will construct the various commands of the preprocessor (PREP 7) through the following techniques: 1) construction of ANSYS command using string process, and 2) creation of dynamic data structure, and structure 3) application 4) data type conversion. of A recursive menu-driven interactive I/O mode and an internal EDITOR will assist the user in creating/modifying appropriate thermal thermally induced models of VLSI packaging structures. and CHAPTER 3 ANSYS PACKAGING THERMAL/MECHANICAL CALCULATOR (APTMC) 3.1. Introduction ANSYS Packaging Thermal/Mechanical Calculator (APTMC)is an interface program developed for constructing the preprocessor of ANSYS and specially designed to handle thermal and thermally induced stress modeling/simulation of VLSI packaging friendly tool structures leads a and assemblies. designer through the This userprocess of creating appropriate thermal and thermally induced stress models and other operations necessary to run ANSYS. APTMC has been written mainly in PASCAL. PASCAL programs tend to be more suitable than the other program languages primarily because of following advantages: 1) strongly typed characteristic, 2) capability of structured programming, 3) point variable capability, 4) application of recursive procedure, and 5) richer set of data type. For strongly typed language, type conversion occurs by converting a value from one type to another and conversion does not occur by viewing the representation of a value as a different type. through Any required type conversion occurs only predefined incompatible types functions. can be Errors avoided. caused by Therefore the development of strongly typed language makes it difficult 24 25 to write a bad program. Experiments also have shown that strongly typed language reliability [18]. increases Moreover, program clarity PASCAL facilitates writing structured programs that are easy to maintain and contain few initial errors. and that Futhermore, the dynamic data structure can be implemented by using point variables. Finally, the recursive technique makes it easy and simple to develop error trapping and complicated loop control. Under the VAX/VMS system, the PASCAL and FORTRAN languages can communicate easily with each other through the external internal subroutine call. databank that Two subroutines were implemented of the in UAPTC [15] written in FORTRAN were used in the present version of APTMC. 3.2 Techniques Used in Developing APTMC APTMC provides an interactive interface between user and ANSYS. Successful implementation is conditional upon using the proper algorithm. To achieve this, the approach to developing the APTMC tool depends on utilizing four basic techniques: 1) construction of ANSYS commands through the string process, 2) creation of dynamic data structure, 3) recursive structure application, and 4) data type conversion. 26 3.2.1 Construction of ANSYS Commands Through The String Focess Complex structures of data show that command strings used for running ANSYS are often described by a number of attributes with a variety of data types such as real, string integer, and string. It is convenient to use a process to delete, insert, or update the attributes of a command string for running ANSYS. the string process for the APTMC The basic part of is composed of eight procedures ( note: any command names and files used in APTMC are given in bold ): A. initialize a string (str_new). B. combine two strings into one string (str_cat). C. find the character specified by an index of string (str_cha). D. tell whether two strings are identical (str_same). E. copy one string to another (str_copy). F. put a string to the dynamic data structure (str_in). G. get a string from a dynamic data structure (str_out). H. return the length of the string (str_len). 3.2.2 Creation of Dynamic Data Structure A dynamic data structure is a collection of elements (called nodes) that are normally referred to as 27 records. Unlike an array that always contains fixed storage space, a dynamic data execution based on the data storage requirements of a program allows for expansion or contraction, if necessary. Because some input parameters from user will affect the command creation of ANSYS, it is necessary to update command strings that are constantly changing. If these elements (nodes) were maintained in an array, it would be necessary to move all records that follow a new input command in order to make room for the new input record in the array. This would require using a loop to copy the data for record dynamic data command record each structure (not a command to the next is used command) instead, can array. If the simply new be a input inserted between two existing commands with a minimum of effort. Dynamic data structure is extremely flexible. described above, it is relatively easy to add As new information by creating a new node and inserting it between two existing nodes. It is also relatively easy to modify dynamic data structures by removing or deleting an existing node. This is more convenient than modifying an array of records, where each record is in a fixed position. There are four dynamic data structures: stacks, queues, and trees. lists, The linked list of a simple 28 list chosen, as the data structure to implement the APTMC, is a sequence of nodes in which each node is linked or connected to the node following it. A list with three nodes is shown in Figure 3.1. Each node in the figure has two fields: the first field contains data ( KAN,-1 , KAN, , and 1 along the first item) and the second field is a pointer (represented element. by an arrow) directing to the next list The ordering of the data (a record) in the list representation is identified by the point. represents successor of the current data. The point In addition, we must declare a pointer variable directing to the first list element or list HEAD. Notice that the last field (TAIL) has no successor (point) to next field. Using this way, a sequence of data (record) can be identified. In general terms, we also can think of dynamic data structure as a mathematical model with a collection of operations defined on that model. In order to implement a linked list using pointer variables, we must declare a record with at least one field that is a pointer. The record type INFORMATION declared below describes a node in the list of input command file. TYPE STRING = INFOPOINT « INFORMATION = VARYING [80] OF CHAR; AINFORMATION; RECORD; COMMAND : STRING; TITLE : STRING; 29 HEAD TAIL KAN,-1 ET,1,70,,,,,,1 KAN, 1 Figure 3.1 TOFFST, 5 Linked list TOFFST,273 3 30 REFERENCE : INTEGER; LINK INFOPOINT : END; {INFORMATION} A point type, INFOPOINT, that points to elements (RECORD) of type, INFORMATION, is declared. the Each element of type INFORMATION contains a field named LINK that is also type INFOPOINT which can be used to connect two records. The above declaration is circular in that the record INFORMATION type INFORMATION. Each RECORD appears in the in the list declaration contains of data as follows: 1. COMMAND: A string linking many parameters together i through string processing (refer to KAN,-1 , ET,1,70,,,, , and TOFFST,273 in Figure 3.1). 2. TITLE: A string which is used as a key to data search (refer to KAN, , ET,,,,,,, , and TOFFST, in Figure 3.1). 3. REFERENCE: An integer which is used as the second key to data search (refer to 1, 5, and 3 in Figure 3.1). The dynamic data structure can be implemented by applying the basic techniques to the program. A CREATELIST procedure is created using operations on a dynamic data structure INFORMATION. The operations performed INFORMATION follows: 1. Create the head of the list (CREATEHEAD) on the 31 2. Create a new node for the List (CREATENODE) 3. Link the node to the list (CREATELIST) 4. Store the list to the file (FILELIST) 3.2.3 Recursive structure Application The recursive structure is the process of solving problems which include the error trapping and complicated loops for APTMC. flexibility. It takes advantages of simplicity and In the error trapping case , the original problems loop can decompose into simple recursive procedure which usually procedure, is which implemented enables by the loop. error This trapping trailing the loop, makes the program simple. recursive to avoid To modify the old data, the program has to trace each input from the user to change the parameters from parameters as dynamic data the data structure, structure, I/O formats. and to to retrieve the displace Recursive the structure procedure makes it easy to analyze and to maintain such complicated loops. 3.2.4 Data Type Conversion When operands of different types, such as real, integer, character or string, appear in expressions, they should be converted to a common type according to the 32 requirement strongly of typed automatically the expression. language, transformed Because the to PASCAL conversion the type that is cannot is a be needed. Simple conversions, such as converting a character to a integer, have been constructed in the main program. In addition, the batch command file is created by strings. Some operands of strings need to be converted into numeric type, integer and real number, to proceed specific numeric operations. These two procedures which convert a string into a real or an integer are implemented in one module (TERM.PAS) [APPENDIX C]. 3.3 Program Structure The APTMC interface supports a number of functions (as mentioned above) at each level of command creation in the design sequence. hierarchy. A functions of design APTMC is Design flow shown proceeds diagram in in a top-down summarizing Figure 3.2. major Interface system design using APTMC can be divided into two sections : build a NEW MODEL, or READ/EDIT the OLD MODEL from the library. The first decision to be made is whether a NEW or OLD MODEL will be constructed. If the NEW MODEL is chosen, the specifications will be obtained from the input to create a new model. 33" APTMC PROGRAM 1 MAIN MENU NEW MODEL OLD MODEL T INITIALIZATION -ANSYS COMMAND COPY -DYNAMIC DATA STRUCTURE READ =x= DATA TYPE CONVERSION EDIT INITIALIZATION CREATE THERl-IAL MODEL -ELEMENT GENERATION -MATERIALS -INITIAL CONDITIONS -BOUNDARY CONDITIONS -VERIFICATION OF PARAMETER DATABANK HEAT TRAHSFER MODE VERIFICATION OF MODEL OPTION STRING PROCESSING INITIALIZATION - TERMINAL THERMALLY IHDUCED STRESS MODEL -ANALYSIS TYPE CHANGE -BOUNDARY CONDITIONS VERIFICATION OF PARAMETER RUN ANSYS OUTFUT Figure 3.2 APTMC program structure 34 INITIALIZATION includes COPY OP from the prepared following CONDITIONS, input. and OF ANSYS file, and creation of the heading of DYNAMIC DATA STRUCTURE. model BASIC COMMANDS The next step is to create a new ELEMENT GENERATION, BOUNDARY CONDITIONS MATERIALS,. INITIAL based on the user If the input from the user does not conform to the restrictions of the APTMC, the command can be modified and the user input must be repeated through the VERIFICATION OFPARAMETERS. At the same time, the DYNAMIC DATA STRUCTURE is developed and STRING PROCESSING is performed. Finally, the THERMALLY INDUCED STRESS MODEL will be followed depending on the user's choice. The program will automatically is necessary to create the command continue the structure analysis. which The BOUNDARY CONDITIONS, such as fixed or free load, will be accessed from the user. From this data, the APTMC interface establishes the input file PREP7 for the ANSYS. If an OLD MODEL is chosen from the library, the edit will access and display the geometry descriptions, material definition and heat transfer mode from the dynamic data structure of library through the VERIFICATION OF MODEL which will take advantage of the data type conversion to change the string data type to an appropriate data type (real or integer). Then the user should choose an OPTION 35 to change the parameter. INITIALIZATION and The change will be done by the VERIFICATION OF PARAMATER and resulting model will be redisplayed on the screen. the The user can continue changing any parameters until exit OPTION is selected. The last step is to run ANSYS. The program has a built-in EDITOR that allows the user to make changes in the library file. EDITOR ,which communicates with process a text using screen. user The screen effectively, can All of main parameters such as dimensional definition, material definition, boundary condition and initial condition will be displayed on screen by fifteen identification numbers[APPENDIX A]. can choose The user one identification number to proceed second level editor which will clear the screen and display the details of the parameters. changed, deleted, or added. The parameters then can be After the second level editor, the main parameters of the new model will be displayed. Such a screen-based implementation allows the user to save engineering time and to handle the editor easily. The APTMC interface contains: a) a main program (INTERFACE.PAS) to define the problem and to create the model, b) two modules which make up the heat exchange mode (CONV.FOR and FCONVE.FOR), material data (DATABANK.PAS) c) one module to access the and two modules (REFRESH.PAS 36 AND CHANGE.PAS) to edit/read library models. 3.4. Conclusion ANSYS Package Thermal/Mechanical Calculator (APTMC) is a thermal and thermally induced stress analysis program specially optimized packaging. general for Level 1 and Level 2 VLSI-based It serves as interface program for ANSYS, a purpose non-linear analysis program. APTMC includes three basic blocks: 1) construction of new model, 2) editor, parameters and and application to 3) an internal thermal/mechanical packaging databank models problems. A of for user physical ease in friendly » interface has been developed to meet the needs of thermal and thermally induced stress analysis of Level 1 and Level 2 VLSI packaging. APTMC creates various commands of the preprocessor (PREP7) through following four techniques: 1) construction of ANSYS commands through string process, 2) creation of dynamic data structure, 3) application recursive structure, 4) conversion of data type. of CHAPTER 4 THERMAL MODELING/SIMULATION OF LEVEL 1 AND LEVEL 2 VLSI USING APTMC 4.1 Defining The Problem: Model Generation and Preparation of Input Data.and I/O Formats 4.1.1 Model Generation and Preparation of Input Data All the data is inputted through an interactive mode. A desired model created by the APTMC is performed by providing initial dimensions and and boundary materials conditions, of the structure, specifying power dissipating and generating conditions. Some guidelines for data input descriptions are provided below: 4.1.1.1 Mesh Generation (A). Each dimension X, Y, Z has to be divided into a number of subdivisions NX/ NY, NZ , respectively. Later the user will be asked to input values of all these increments in an interactive dimensions way. are The procedure specified. After will the continue until last increment all is accessed from the standard input, the node structure will be as for example in Figure 4.1. Nodes are numbered in a uniquely predetermined way. The first nodal point (node number 1) is always at the left top front position. The node counting along X-direction proceeds from the left to right by adding 1 to the left node number. The maximum number of nodes, which can be defined along the X-direction 37 38 204 LoT 2104 2001 4002 Figure 4.1 Sample of node numbering in the APTI1C 39 is up to 100. The node counting along Y-direction proceeds from front node to backward node by adding 100 to the front node numbering. defined The maximum number of nodes, which can be along the Y-direction, is up to 20. The node counting along Z-direction proceeds from up node to the bottom node by adding 2000 to the upper node numbering. The maximum number of nodes, which can be defined along the Z-direction, is up to 25. Using this rule, X-direction adjacent node can be found by adding 1 to any random node. Y-direction adjacent node can be found by adding 100 to any random node. adding 2000 Z-direction adjacent node can be found by to any random node. Each represented by a combination of eight nodes. structure will be created as in Figure element is The element 4.2; then the procedure will automatically move to the next step. (B). The user must then the elements (thermal are specify the element material. filled-in conductivity, with zero thermal material expansion If constant coefficient, specific heat), the program will automatically delete the element from the structure. Therefore, any shape of the structure can be constructed using this procedure. The user only needs to define the beginning and ending element with a given material. Groups of elements must be entered Figure 4.2 Sample of element numbering in the APTMC 41 in an increasing order. This procedure will proceed until the last element is specified. 4.1.1.2 Unit System In order to use the data from the material databank, SI system with unit length in micrometers can only be used. If databank is not used, then any unit sysytem can be used. 4.1.1.3 Materials Each material has an assigned identification number and is characterized in terms of thermal parameters such as density, thermal conductivity, specific heat, coefficient of thermal expansion and physical parameters such as Young's moduli of elasticity and Poisson's ratio. If the free material is chosen, the user has to define all the parameters? otherwise, the element will be deleted from the structure. 4.1.1.4 Boundary Conditions Boundary connections (like conditions include leads/pins/contacts all external and constant temperature connections) and heat exchange/transfer modes (natural convection, forced convection and radiation). For structure analysis, free or fixed boundary conditions can be specified as well as initial displacements. 42 After specifying the number of leads/pins/contacts, if any, the user should define the connections between any two nodes and the cross section area of the leads/pins/contacts. For the convection case, the user has three choices in creating the convection surface: two by constructing the top and bottom convection surface automatically and one by user specification. entered Convection coefficients can either be by the user or calculated through heat exchange subroutine. The heat exchange mode for convection includes both free convection over horizontal or vertical plates and forced air cooling over plates. For the radiation case, the radiation link is a uniaxial element which defines the radiation heat flow rate between two points in space. The user has to define node number and input all parameters (shape factor, emissivity, radiation surface area). Power rate (W/um3) can be entered repeatedly for each element. 4.1.2 I/O Formats APTMC leads the commands. is user a menu-driven through the interactive complete program. sequence of It I/O The program does not allow the user to input values that are not on the menu. The entire menu of APTMC 43 r is shown in appendix A. It is not necessary to use the entire menu in the actual input procedure. 4.2 Implementation of APTMC The APTMC system meeting the criteria of ANSYS is being implemented laboratory, ECE in phases at the Electronic Packaging Department, University of Arizona, to provide VLSI packaging design simulation capability for any rectangular shapes. 11/780 The hardware is supported on a VAX computer system memory, and containing 10 Meg bytes of main 500 K bytes of virtual memory. A VT100 video display terminals are connected to the VAX 11/780 system. Translation from descriptions of user input to required formatted command for simulation of ANSYS is performed by the design procedure discussed in Chapter 3. Modification for simulation of ANSYS is executed by the EDIT procedure. 4.3. Examples of thermal simulation of selected structures of VLSI packages Test examples, problems utilize a variety the results of thermal of packages. As analysis of three different packaging configurations are given below. 4.3.1 Thermal simulation of A Forty Pin Plastic Package The first example shown in Figures 4.3 and 4.4 **- HEAT SPREADER LEADFRAME Figure 4.3 Schematic diagram of 40-pin DIP plastic package. | hc (TOP PLATE) MOLDING COMPOUND LEADFRAME. .CHIP HEATSPREADER AIR GAP TEFLON COPPER RUNS PC F i g u r e 4.4 BOARD F o r t y p i n D I P m o d e l u s e d i n APTMC 46 refers to 40-pin plastic package plugged into a single teflon DIP socket soldered to a horizontal printed circuit board. Use of symmetry was utilized to minimize the total number of node count. Comparisons were made with UAPTC [15] in free convection cooling conditions. The maximum junction temperature for power dissipation of 0.5 watts was 61 *c for the simulation of UAPTC. The result of APTMC is in excellent agreement with the value of 59.5 'C. 4.3.2 Thermally Induced Displacements of A Forty Pin Plastic Package Results from thermal analysis are used as input data for structural analysis (elastic deformation). The model adapted for a package as in section 4.3.1, but with a different chip-to-silicon area ratio, is chosen in Figure 4.5. The bottom surface of the structure is kept with fixed boundary conditions in x, y, and z coordinates. The left side surface is kept with fixed boundary conditions in x and y coordinates. The presented results refer to a cross-section (x-z) possible comparison for of the structure, with the thus Packaging making it Mechanical Calculator (PMC) based on two-dimensional finite element method. The displacement of critical nodes are displayed in Table 4.1. 4.3.3 Thermal Simulation of A Thirty-eight Lead Multisource Hybrid Package 47 SILICON COPPER MOLDING COMPOUND Fiaure 4 . 5 Two dimensional structure of P M C for 40-pin plastic package. 48 Table 4.1 Selected node displacements for a 40-pin plastic package NODE X-DISPLACEMENT(mm)' Z-DISPACEMENT(mm) APTMC PMC APTMC PMC . 1 0 0 0.0049 0.0048 2 0.0007 0.0007 0.0048 0.0047 3 0.0029 0.0029 0.0038 0.0037 4 0.0031 0.0032 0.0037 0.0036 5 0.0033 0.0034 0.0036 0.0035 6 0.0037 0.0038 0.0032 0.0032 7 0.0042 0.0042 0.0025 0.0025 The next example deals with a thirty eight lead, 49 The next example deals with a thirty eight lead, multi-source hybrid in a form of a ceramic-epoxy-ceramic sandwich[15] reported under forced-air cooling conditions. The geometry associated with the hybrid package, and the adapted model are shown schematically in Figures 4.6 and 4.7, respectively. The package contains layers of ceramic, epoxy, eight heat source on the top, and 19 leads to each side of the lower ceramic layer. A few selected temperatures from the computer runs are listed in Table 4.2. The results from APTMC and UAPTC shows maximum 6.4% temperature difference. 252 elements are needed to construct the actual structure. It would take 15 perform the analysis. CPU time, elements. the As minutes of CPU time to To simplify the structure and save number result, of elements the was distances reduced between to the 162 heat sources of the structure in APTMC model will be larger than that in the model adopted in [15]. The rearrangement of heat sources results in the temperature differences. 4.3.4 Thermal simulation of thermal test chip Finally, a specially designed thermal test chip is available for obtaining experimental results response of VLSI chips [16]. of thermal A thermal test chip was 51 TOP PLATE |bc«0.62 * IO"'2 W/pm2-t)eq 237* —7L_ ^27 ^27,/i/ZS^ 1 BOTTOM PLATE hcs7.75 x tO-tz W/pm^-deq (CONVECTION SURFACE TO AIR PLUS PCB CONDUCTION PLUS PCB CONVECTION) Figure 4.7- Hybrid package model used in APTMC. 52 Table 4.2. Selected temperatures for multisource hybrid problems. SOURCE APTMC TEMP (C) PTC TEMP (C) 1 108.38 115.4 2 145.58 154.1 3 116.98 124.1 4 107.16 114.8 5 119.22 126.8 6 124.29 132.6 7 123.88 130.5 8 118.13 127.0 53 designed and fabricated at the University of Arizona as a part of research project Research Corporation. supported by Semiconductor Layout of the test chip is shown in Figure 4.8. It contains an array of 16 heaters and source cells (9 mils*ll mils each). shown in Figure 4.9. A 40 lead ceramic package is Silver epoxy die attach was used along with two thin layers of gold in bonding of silicon chip. The thermal model is shown in Figure 4.10. Thermal conductivities used in the modeling were 1.4E-4, 0.315E-4, and 9E-6 W/0C*jum for silicon, ceramic and silver epoxy materials, respectively. Thickness of 280 and 60 um were used the in the respectively. model for chip Simulations and were the die performed attach for a configurations with 4 heaters dissipating 0.45 W per heater and the bottom surface kept at 19.6 °C. The selected node temperatures on the silicon chip surface are given in Table 4.3. Comparison^ with experimental results, performed at the Electronic Packaging Laboratory at the University of Arizona, UAPTC results and APTMC modeling results are shown in Table 4.4. The maximum steady-state temperature calculated using APTMC was found to be 56.129°C which is in excellent agreement with the experimental value of 57*C. The differences between APTMC and UAPTC result can be attribuated to slightly 54 yen VCB @1] Figure 4.8 Thermal test chip layout. 410 SQ f- tlOTC. PATENTED BREAKAWAY NOTCH |W.«I .400 SQ. »0*,01© lM.it z aai HO.\ LEAD IDENTIFIER .040* ,0tS 1 11.01 ,w» i .oot ~|p(1.WS.0J) ilo.il .31) n n n.n n n n n^nHiimmuiliiiM M Oil Figure 4.9 Forty lead ccramlc package 56 HEAT SOURCE CONSTANT TEMPERATURE «• 19.6 *C SILICON SILIVEE EPOX¥ CERAMIC Figure 4.10 The thermal model for 40-pin thermal test chip. 57 Table 4.3. Selected node temperatures on the silicon chip surface for the steady state thermal test chip. NODE NUMBER OF CHIP SURFACE APTMC TEMP (C) 1 56.129 2 52.969 3 44.863 4 52.779 5 51.581 6 45.307 7 44.972 8 45.362 9 45.783 Table 4.4 Maximum temperature (#C) results for thermal test chip model. HEATING UAPTC MODEL 4 CENTER HEATERS 60.2 APTMC MODEL 56.129 EXPERIMENTAL 57 ~tr 59 different^ models used in both programs. 4.4 Program Evaluation 4.4.1 Readability The because it APTMC is organization composed operational procedures, of a is easy number to of understand self-contained each of which can be understood without reference to another procedures. Main concepts of a particular procedural operation can be read easily by referring to the text and procedure only, without resorting to subsidiary flowcharts and written description. Finally, it should be accepted that an inevitable cost incurred as a result of requiring high readability is that programs will be lengthier. Some increase in structure procedure is a small price to pay for all the other benefits gained, especially when a program is written only once but may be read and modified many times. 4.4.2 Flexibility The design of APTMC gives the programmer sufficient flexibility to be able to change or add some procedures. Through the data type conversion procedures and dynamic data structure, there are no .limit in a number of data type which can be used in the program. Any required operation 60 can be solved through such high flexibility of abstract data type [18]. Generally, the design will provide enough flexibility to be useful in the complicated application domain of VLSI packaging simulation. The implementation of APTMC includes a problem of how an object of the new data type is represented by objectives of previously existing data type and a problem of how such an object is manipulated in operations that have been defined for it. conform with By using the data type conversion procedures and dynamic data structure, a number of data type allow to be used in the program. 4.4.3 Simplicity The implementation of APTMC has only one record type which creates the dynamic data structure. Therefore, simplicity is achieved by avoiding complex mechanisms to implement complicated problems. Simplicity also reduces the possibilities for making programming errors resulting from misinterpretation of language features. 4.4.4 Portability The APTMC design which depends on the video display terminal defaulting to VT 100 enables the software of a terminal procedure to be modified from machine to machine. 61 But this will not cause much software modification to be distributed over a number of installations. been implemented by Moreover, all procedures have standard PASCAL language. Therefore, portability is easy to achieve in different systems. 4.4.5 Efficiency APTMC allows the user to save the simulated package in a library of analyzed structures, any of which can be later recalled to be simulated under different conditions by the use of a built-in editor. In addition, APTMC provides design engineers with an economic and rapid method for a model of level 1 and level 2 VLSI packaging[APPENDIX B]. The use of APTMC can significantly reduce the time required to construct complex models of any rectangular shape and leads/pins/contacts. 4.4.6 Improvements of limitation imposed by ANSYS This section presents the improvements of limitations for the APTMC. Both the integration time step, which depends on the geometry and material characteristic , and ANSYS storage allocations, which can be added by user , will be considered. 4.4.6.1 Limitation of integration time step. 62 In the transient thermal analysis, the integration time-step size is related to the "conducting length" of the element. The larger the thermal gradient to be resolved, the smaller both the integration time step (ITS) and the element "length" should be. The following guideline is intended to help the user select an initial ITS for a given model: (ITS)£ > D/(4h) where (ITS)j[ is the initial integration time-step size. In this relationship, D is the material thermal diffusivity (D=K/pc K-thermal conductivity, p- density, and c- specific heat) and h is the conducting length of an element in the region over which the largest gradient occurs (usually the length parallel to the heat flow direction of the element adjacent to the surface). cause temperature Small ITS sizes (ITS < D/4h) may oscillations because of the high temperature of the adjacent node. 4.4.6.2 Limitation of ANSYS Storage Allocations The efficiently ANSYS program is designed to operate on machines having both central and auxiliary memory capability. The total memory required for an ANSYS run depends upon the analysis data which is overlayed in central memory. Every ANSYS run prints the memory sizes required during various stages of the run. The printout is 63 under the title STORAGE REQUIREMENTS and lists the amount of central total memory memory used, the auxiliary memory used, the used (central plus auxiliary), and the auxiliary memory available. During an ANSYS run the central memory is initially loaded with the required portion of the ANSYS program. Data is predefined to be allocated to either the central or the auxiliary memory. The central memory data is first loaded and then the auxiliary memory data is loaded. If either the auxiliary memory or central memory cannot allocate enough space for the ANSYS running program and data, the amount of core storage is requested with a system control command. This information is inputted through the /CORE, SCM, LCM, VM commands. The values of input for SCM, LCM, and VM will be the maximum small core memory, the maximum large core memory, virtual memory, respectively. only the SCM parameter is used. and the maximum On single memory machines The maximum VM value for VMS system is 5000 bytes. If the result of ANSYS running prints: "PROBLEM TOO LARGE, MATRIX EXCEEDS NWF ROWS AT ELEMENT ", either more core should be added or the wave front should be lowered by remodeling or reordering. If the wave front of the problem cannot be lowered and the maximum amount of core is already 64 requested, the out-of-core equation solver which uses the auxiliary may be used. Automatic diagnosis checking intrinsically exists in ANSYS fully utilized by APTMC. the errors which has been implemented and This diagnosis procedure is to find the error resulting from the integration time and the storage allocation. When the integration time error is trapped, an interactive mode command will be displayed to allow the user change the conducting diffusivity, and transient time period. checked and solved before the length, thermal The error will be actual execution. The another diagnosis to check the storage allocation will be done before the ANSYS file is written. When an error , "PROBLEM TOO LARGE, MATRIX EXCEEDS NWF ROWS AT ELEMENT ", occurs, the program will insert enough space for ANSYS run. for the limitation of a command to allocate Therefore, both improvements integration time and storage allocation will highly promote the performance of APTMC. 4.5 Conclusions All the data is inputted through an interactive mode. A desired model created by the APTMC is performed by providing initial dimensions and and boundary materials conditions, of the structure, specifying power 65 dissipating and generating conditions. Using the present version of APTMC, it is possible to analyze any structure of composed combinations materials of which arbitrary can be rectangular approximated shapes, by • Typical features of packages like leads, pins, contacts, etc. are included in the description of geometry of the model. node-numbering convention is used, which fixes A the relative location (but not the actual spatial location or size) of each node/element. The program has been tested for a variety of packages and agreement results obtained were in with experimental and other thermal/mechanical analysis programs. The program design of APTMC is easy to understand because it is operational without composed procedures reference to of each a number of another of which can procedures. self-contained be understood Any required operation of abstract data type can be solved due to high flexibility of data type conversion. All procedures of APTMC have been implemented by standard PASCAL language, thus making systems. portability The easy built-in to editor achieve also in different achieves high performance and efficiency in communication with the user. Automatic diagnosis for checking the errors, which exists in ANSYS intrincally, has been implemented and fully 66 utilized. The improvements of limitations of integration time storage and allocation performance of APTMC. will highly promote the CHAPTER 5 Summary and Conclusion ANSYS Package Thermal/Mechanical Calculator (APTMC) is a thermal and thermally induced stress analysis program specially optimized to adress the needs of Level 1 and Level 2 VLSI-based packaging. It serves as interface program for ANSYS, a general purpose non-linear analysis program. APTMC includes three basic blocks: 1) construction of new model, 2) editor, and 3) an internal databank of physical parameters and thermal/mechanical models for ease in application to packaging problems. The thermal and thermally induced stress analysis procedures have been interface induced identified has stress been in Chapter developed analysis packaging (Chapter 3). of 2. An for thermal Level l and user friendly and thermally Level 2 VLSI APTMC creates various commands of the preprocessor (PREP7) through following four techniques: 1) construction of ANSYS commands through string process, 2) creation of dynamic data structure, 3) application of recursive structure, interactive modes 4) conversion of data type. APTMC include creation of a new model, and editing an old model. The thermal model includes material parameters, heat transfer coefficient for convection mode, necessary parameters for radiation, boundary conditions and 67 68 internal heat generation. Structural modeling can give maps of mechanical stress for given thermal and material conditions. Results from thermal analysis are used as input data for elasticity analysis. conditions can displacements. be specified Free or fixed- boundary as well as initial Using the present version of APTMC, it is possible to analyze any structure of composed materials which can be rectangular approximated shapes. by combinations Typical features of arbitrary of packages like leads, pins, contacts, etc. are included in the description of geometry of the model. used, which fixes the A node-numbering convention is relative location (but not the actual spatial location or size) of each node/element. The program and has been tested for a variety of results obtained and results obtained were with experimental and packages in agreement other thermal/mechanical analysis programs. The program design of APTMC is easy to understand because it operational without is composed procedures reference to of each a number of another of which can procedures. self-contained be understood Any required, operation of abstract data type can be solved due to high flexibility of data type conversion. All procedures of APTMC have been implemented by standard PASCAL language, 69 thus making systems. portability The easy built-in to editor achieve also in different achieves high performance and efficiency in communication with the user. Automatic diagnosis for checking the errors, which exists in ANSYS utilized. intrincally, The has been improvements implemented responding and fully limitations of integration time and storage allocation will highly promote the performance of APTMC. APTMC could be subjected to new modification such as including non-rectangular shape elements, changing the numbering of nodes to fit some special case and expanding the material databank. APPENDIX A I/O FORMATS APTMC 1.0 is a menu-driven interactive ' program. The sequence of I/O commands can be completed through the interactive program. The program does not allow the user to input values that are not on the menu. In such a case, due to "error-trapping" capabilities, the program will respond with an error message. The user is able to restart input data. The entire menu of a APTMC 1.0 is shown below. *********************************************************** * ANSYS PACKAGE THERMAL & THERMAL-MECHANICAL CALCULATOR * * (APTMC), PASCAL INTERFACE PROGRAM FOR USE WITH ANSYS, * * VERSION 1.0, OCTOBER 1986 WRITTEN BY JYUE-JON SHIANG * * UNDER DIRECTION OF DR. Z.J. STASZAK, UNIVERSITY OF * * ARIZONA, ECE DEPT., ELECTRONIC PACKAGING LABORATORY, * * TUCSON, AZ 85721 * *********************************************************** ***** MAIN MENU **** 1) ENTER NEW MODEL 2) READ OLD MODEL FROM FILE 3) EDIT FILE ENTER CHOICE: ? PACKAGE FILE NAME: ? ** NOTE: IF NEW MODEL IS BEING ENTERED, THEN THE FOLLOWING WILL APPEAR. I. PREPROCESSOR FOR THERMAL ANALYSIS TYPE OF TEMPERATURE DEPENDENCE OF MATERIAL PARAMETERS: 1) TEMP INDEPENDENT ANALYSIS 2) TEMP DEPENDENT ANALYSIS ENTER CHOICE: ? TYPE OF HEAT TRANSFER ANALYSIS: 1) CONDUCTION 2) NATURAL/FORCED CONVECTION 3) RADIATION NOTE: EACH ANALYSIS INCLUDES ALSO PREVIOUS SELECTIONS ENTER CHOICE: ? 70 71 CREATE MODEL NEW MODEL MESH-GENERATION (REGULAR): # OF SUBDIVISIONS IN X DIRECTION NX: ? # OF SUBDIVISIONS IN Y DIRECTION NY: ? # OF SUBDIVISIONS IN Z DIRECTION NZ: ? ENTER VALUE OF X INCREMENT XI: ? ENTER VALUE OF Y INCREMENT Yl: ? ENTER VALUE OF Z INCREMENT Zl: ? MATERIALS AVAILABLE IN DATABANK: 1) FREE MAT 16) GOLD 31) RES INK 32) SILICON 2) AIR 17) GLASS 33) SILVER 3) ALUMINUM 18) IRON 34) sio2 4) ALUMINA 19) KOVAR 35) SOLDER 5) Ausi 20) LEAD 6) BERYLLIA 21) MOLD COM 36) STEATITE 7) BERYLLIUM 22) MOLYBDEN 37) TANTALUM 8) CADMIUM 23) NICHROME 38) TEFLON 39) TIN 9) CERAMIC 24) NICKEL 10) CHROMIUM 25) NITROGEN 40) TITANIUM 41) TITANIUM 11) Cu (pure) 26) OXYGEN 42) WATER 12) Cu (194) 27) PALLAD 13) EPOXY 28) PLASTIC 43) ZINC 14) EUTECTIC 29) PLATINUM 15) GaAs 30) PHENOLIC ENTER ELEMENT TO ELEMENT MAT : ? ** NOTE: IF FREE MAT. IS CHOSEN, THEN THE USER CAN DEFINE IT BY ANY VALUE, OTHERWISE ,THE ELEMENT WILL BE DELETED FROM THE STRUCTURE. BOUNDARY CONDITIONS LEADS/PINS/CONTACTS DEFINITION : ENTER TOTAL # LEADS/PINS/CONTACTS : ? MATERIALS AVAILABLE IN DATABANK: 31) RES INK 1) FREE MAT 16) GOLD 17) GLASS 32) SILICON 2) AIR 33) SILVER 3) ALUMINUM 18) IRON 34) sio2 19) KOVAR 4) ALUMINA 35) AuSi 20) SOLDER 5) LEAD MOLD COM 36) STEATITE 6) BERYLLIA 21) 37) BERYLLIUM 22) MOLYBDEN TANTALUM 7) 8) CADMIUM 23) NICHROME 38) TEFLON 9) CERAMIC 39) TIN 24) NICKEL 10) CHROMIUM 25) NITROGEN 40) TITANIUM 41) TITANIUM 11) Cu (pure) 26) OXYGEN 12) Cu (194) 27) PALLAD 42) WATER 13) EPOXY 28) PLASTIC 43) ZINC 14) EUTECTIC 29) PLATINUM 30) PHENOLIC 15) GaAs ENTER LEADS/PINS/CONTACTS MATERIAL _ .* ? ENTER CROSS SECTION AREA OF LEADS/PINS/CONTACTS :(um2) ENTER THE LEADS/PINS/CONTACTS BETWEEN NODE _ AND NODE CONSTANT TEMPERATURE : 1) BOTTOM SURFACE 2) USER DEFINE 3) NO CONSTANT TEMPERATURE ENTER CHOICE : ? NOTE: IF 2 IS CHOOSEN THEN THE FOLLOWING WILL APPEAR. ENTER NODE _ TO NODE _ VALUE OF TEMPERATURE _ [oC] : ? HEAT EXCHANGE/TRANSFER MODE ! CONVECTION 1) DEFINE THE BOTTOM SURFACE 2) DEFINE THE TOP SURFACE : 3) DEFINE BY USER : ENTER THE CHOICE : 73 ** NOTE: IF THE NUMBER 3 IS CHOSEN ** THEN THE FOLLOWING WILL APPEAR ENTER THE NODE NODE NODE_, AND NODE_OF CONVECTIVE SURFACE : ? DO YOU WISH TO ENTER VALUE OF HEAT TRANSFER COEFFICIENT hc • 1) YES 2) NO NOTE: IF VALUE OF HEAT TRANSFER COEFFICIENT ENTERED, THEN THE FOLLOWING WILL APPEAR. IS TO BE ENTER THE hc ( Watts/°c*(um2) ) : ? ENTER THE AMBIENT/ENVIROMENT TEMPERATURE [oC] : ? DO YOU WISH TO CONTINUE FOR ANOTHER SURFACE : 1) YES 2) NO HEAT EXCHANGE/TRANSFER MODE : RADIATION ENTER NODE _ OF RADIATION SURFACE : ? ENTER THE EFFECTIVE AREA OF RADIATIVE SURFACE : ? ENTER THE SHAPE FACTOR : ? ENTER THE EMISSIVITY : ? ENTER THE TARGET TEMPERATURE : ? DO YOU WISH TO CONTINUE FOR ANOTHER SURFACE : ? 1) YES 2) NO ENTER THE ELEMENT # PRODUCING THE POWER : ? ENTER VALUE OF POWER DISSIPATION PER VOLUMN ( Watts/um2 ) : 74 DO YOU WISH TO CONTINUE FOR ANOTHER ELEMENT : ? 1) YES 2) NO TYPE OF ANALYSIS: 1) STATIC (STEADY-STATE) 2) TRANSIENT ENTER CHOICE: ? INITIAL TEMTERATURE : ? DO YOU WISH TO ANALYSIS (Y/N) ? II. CONTINUE WITH THERMALLY STRESS PREPROCESSOR FOR THERMAL-MECHANICAL STRESS ANALYSIS LOAD OPTIONS: 1) EXTERNAL LOADS 2) THERMAL LOADS 3) BOTH ENTER CHOICE: ? EXTERNAL LOADS: ENTER # OF NODES WITH EXTERNAL LOADS: ENTER NODE TO NODE LOAD: ? BOUNDARY CONDITIONS: 1) FREE 2) FIXED ENTER CHOICE: ? ENTER NUMBER OF FIXED NODES: ? ENTER FIXED NODE TO NODE : ? END. INDUCED 75 ****************************************************** * ANSYS PACKAGING THERMAL/MECHANICAL ANALYSIS(APTMC) * * VERSION 1.0, SUMMARY OP INPUT DATA * ****************************************************** NOTE: IF EDIT A OLD FOLLOWING WILL APPEAR. MODEL WHICH IS CHOSEN, 1 )HEAT TRANSFER ANALYSIS : 2 )VALUE OF X INCREMENT : 3 )NUMBER OF SUBDIVIION IN X DIRECTION : 4 )VALUE OF Y INCREMENT : 5 )NUMBER OF SUBDIVIION IN Y DIRECTION : 6 )VALUE OF Z INCREMENT : 7 )NUMBER OF SUBDIVIION IN Z DIRECTION : 8 )ELEMENT # TO ELEMENT # IS MATERIAL 9 )CROSS SECTION OF LEAD FRAME : 10)LEAD FRAME MATERIAL : 11)LEAD FRAME NUMBER : 12)DC ANALYSIS 13)UNIFORM TEMPERATURE : 14)THE ELEMENT # : DISSIPATING POWER(Watts/um*3) : 15)CONVECTION COEFFICIENT : PRESS CRTL C TO ABORT THE EDIT ENTER THE CHOICE ? ARE YOU SURE TO CHANGE THE PARAMETERS ? ( 1. YES 2. NO )? THEN THE 1 )HEAT TRANSFER ANALYSIS : CONDUCTION CONVCTION PRESS —> 1 ) ADD PRESS —> 2 ) DELETE ENTER THE CHOICE : 1) CONDUCTION 2) CONVECTION 3) RADIATION ENTER THE CHOICE : HEAT TRANSFER ANALYSIS : VALUE OF X INCREMENT : NUMBER OF SUBDIVIION IN X DIRECTION : VALUE OF Y INCREMENT : NUMBER OF SUBDIVIION IN Y DIRECTION : VALUE OF Z INCREMENT : NUMBER OF SUBDIVIION IN Z DIRECTION : ELEMENT # TO ELEMENT # IS MATERIAL CROSS SECTION OF LEAD FRAME : LEAD FRAME MATERIAL : LEAD FRAME NUMBER : DC ANALYSIS UNIFORM TEMPERATURE : iTHE ELEMENT # : DISSIPATING POWER(Watts/urn*3) : 15)CONVECTION COEFFICIENT : PRESS CRTL C TO ABORT THE EDIT ENTER THE CHOICE ? ARE YOU SURE TO CHANGE THE PARAMETERS ? ( 1. YES 2. NO )? EXIT. END OF EDIT. APPENDIX B EXAMPLE OF PROCESS OP THERMAL/MECHANICAL MODELING OF VLSI PACKAGES COMPARED TO THE SAME PROCESS USING ANSYS The packages. program has been tested on a verity of The example that is described below deals with a simple package model, uses only 80 nodes, 36 elments, and some of the features and capabilities of the program. model is schematically depicted in Figure B.l. uses conduction, natural convection, and The The example steady-state conditions. The bottom of the structure is placed on a constant temperature kept at 47 °C. Only one quater of the structure has to be analyzed due to symmetry. Summary of the input data and screen editor are listed. (NOTE: This example serves only the purpose of illustrating some of the capabilities of the program.) ****************************************************** * ANSYS PACKAGING THERMAL/MECHANICAL ANALYSIS(APTMC) * * VERSION 1.0, SUMMARY OF INPUT DATA * ****************************************************** PACKAGE FILE NAME TEST.DAT; MAIN CONTROL PARAMETER : TYPE OF HEAT TRANSFER ANALYSIS : 1) CONDUCTION 2) CONDUCTION AND CONVECTION 3) CONDUCTION, CONVECTION ,AND RADIATION ENTER CHIOCE: 78 79 MOLDING COMPOUND Figure B.l Example of analyzed structure. NEW MODEL MESH-GENERATION ENTER NUMBER OF SUBDIVISION IN X DIRECTION 3 ENTER VALUE OF X INCREMENT X[ 1 ]:(ultl) ? 1.50000E+03 ENTER VALUE OF X INCREMENT X[ 2 ]:(um) ? 2.68000E+03 ENTER VALUE OF X INCREMENT X[ 3 J:(urn) ? 2.68000E+03 ENTER NUMBER OF SUBDIVISION IN Y DIRECTION 3 ENTER VALUE OF Y INCREMENT Y[ 1]:(um) ? 1.00000E+03 ENTER VALUE OF Y INCREMENT Y[ 2]:(um) ? 6.00000E+03 ENTER VALUE OF Y INCREMENT Y[ 3]:(um) ? 1.85000E+04 ENTER NUMBER OF SUBDIVISION IN Z DIRECTION 4 ENTER I.83000E+03 ENTER 2.00000E+02 ENTER 2.50000E+02 ENTER 1.83000E+03 VALUE OF Z INCREMENT Z[ 1 ]: ? VALUE OF Z INCREMENT Z[ 2 ]: ? VALUE OF Z INCREMENT Z[ 3 ]•• "? • VALUE OF Z INCREMENT Z[ 4 ]: ? ENTER ELEMENT # _ TO ELEMENT # _ MATERIAL ENTER ELEMENT # _ TO ELEMENT # _ MATERIAL ENTER ELEMENT # __ TO ELEMENT # _ MATERIAL ENTER ELEMENT # _ TO ELEMENT # _ MATERIAL ENTER ELEMENT # _ TO ELEMENT # _ MATERIAL 1 9 38 10 10 32 11 13 38 19 27 12 28 36 38 81 LEADS/PINS DEFINITION : ENTER TOTAL # LEADS/PINS 1) TRANSIANT ANALYSIS 2) STEADY-STATE ENTER CHOICE INITIAL TEMPERATURE : 27 CONSTANT TEMPERATURE 1) BOTTOM SURFACE 2) ENTER BY USER 3) NO CONSTANT TEMPERATURE ENTER CHOICE? 2 ENTER VALUE OF TEMPERATURE _ [oC] 47 HEAT EXCHANGE/TRANSFER MODE : CONVECTION : 1)DEFINE THE BOTTOM SURFACE : 2)DEFINE THE TOP SURFACE : 3)DEFINE BY THE USER : ENTER THE CHOICE : 2 DO YOU WISH TO ENTER HEAT TRANSFER COEFFICIENT he 1) YES 2) NO 1 ENTER THE hc( Watts/°C*(urn2} ) : ? 1.1E-11 DO YOU WISH TO CONTINUE FOR OTHER SURFACE : 1) YES 2) NO 82 ENTER THE ELEMENT # PRODUCING THE POWER 10 ENTER VALUE OF POWER DISSIPATION PER VOLUMN(watts/uia3) 4.2E-10 DO YOU WISH TO CONTINUE FOR OTHER POWER ELEMENT : •p 1) YES 2) NO 2 DO YOU WANT TO CONTINUE ANALYSIS 1) YES 2) NO ENTER CHOICE? ANALYSIS TYPE : 1) TRANSIANT ANALYSIS 2) DC ANALYSIS ENTER CHOICE BOUNDARY CONDITION : 1) FREE 2) FIXED ENTER CHOICE ENTER FIXED NODE _ TO NODE 8001 8304 .END THE THERMAL STRESS 83 ****************************************************** * ANSYS PACKAGING THERMAL/MECHANICAL ANALYSIS(APTMC) * * VERSION 1.0, SUMMARY OF INPUT DATA * ****************************************************** NOTE: IF EDIT A OLD FOLLOWING WILL APPEAR. MODEL WHICH IS CHOSEN, .THEN 1 )HEAT TRANSFER ANALYSIS : CONDUCTION CONVECTION 2 )VALUE OF X INCREMENT : X[l] = 1.500E+03 X[2] = 2.680E+03 X[3] = 2.680E+03 3 )NUMBER OF SUBDIVIION IN X DIRECTION : 3 4 )VALUE OF Y INCREMENT : Y[l] = 1.000E+03 Y[2] = 6.000E+03 Y[3] = 1.850E+04 5 )NUMBER OF SUBDIVIION IN Y DIRECTION : 3 6 )VALUE OF Z INCREMENT : Z[l] = 1.830E+03 Z[2] = 2.000E+02 Z[3] = 2.500E+2 Z[4] = 1.830E+3 7 )NUMBER OF SUBDIVIION IN Z DIRECTION : 4 8 )ELEMENT # 1 TO ELEMENT # 9 IS MATERIAL 38 ELEMENT # 10 TO ELEMENT # 10 IS MATERIAL 32 ELEMENT # 11 TO ELEMENT # 18 IS MATERIAL 38 ELEMENT # 19 TO ELEMENT # 27 IS MATERIAL 12 ELEMENT # 28 TO ELEMENT # 36 IS MATERIAL 38 9 )CROSS SECTION OF LEAD FRAME : 0 10)LEAD FRAME.MATERIAL : 0 11)LEAD FRAME NUMBER : 0 12)DC ANALYSIS 13)UNIFORM TEMPERATURE : 27 14)THE ELEMENT # : 10 DISSIPATING POWER(Watts/um*3) : 4.20000E-10 15)CONVECTION COEFFICIENT : 1.1000E-11 PRESS CRTL C TO ABORT THE EDIT ENTER THE CHOICE ? 1 ARE YOU SURE TO CHANGE THE PARAMETERS ? ( 1. YES 2. NO )? 1 THE 1 )HEAT TRANSFER ANALYSIS : CONDUCTION CONVCTION PRESS —> 1 ) ADD PRESS —> 2 ) DELETE ENTER THE CHOICE : 2 1) CONDUCTION 2) CONVECTION 3) RADIATION ENTER THE CHOICE : 2 CONDUCTION 1 )HEAT TRANSFER ANALYSIS 2 )VALUE OF X INCREMENT : X[l] = 1.500E+03 X[2] - 2.680E+03 X[3] = 2.680E+03 3 )NUMBER OF SUBDIVIION IN X DIRECTION : 4 )VALUE OF Y INCREMENT : Y[l] = 1.000E+03 Y[2] = 6.000E+03 Y[3] » 1.850E+04 : 5 )NUMBER OF SUBDIVIION IN Y DIRECTION : 6 )VALUE OF Z INCREMENT : Z[l] = 1.830E+03 Z[2] = 2.000E+02 Z[3] - 2.500E+2 Z[4] = 1.830E+3 DIRECTION : 7 )NUMBER OF SUBDIVIION IN 9 IS MATERIAL 38 8 )ELEMENT # 1 TO ELEMENT 10 IS MATERIAL 32 ELEMENT # 10 TO ELEMENT 18 IS MATERIAL 38 ELEMENT # 11 TO ELEMENT 27 IS MATERIAL 12 ELEMENT # 19 TO ELEMENT 36 IS MATERIAL 38 ELEMENT # 28 TO ELEMENT 9 )CROSS SECTION OF LEAD FRAME : 0 0 10)LEAD FRAME MATERIAL : 11)LEAD FRAME NUMBER : 0 12)DC ANALYSIS 27 13)UNIFORM TEMPERATURE : 14)THE ELEMENT # : 10 4.20000E-10 DISSIPATING POWER(Watts/um*3) 15)CONVECTION COEFFICIENT : PRESS CRTL C TO ABORT THE EDIT ENTER THE CHOICE ? 2 ARE YOU SURE TO CHANGE THE PARAMETERS ? ( 1. YES 2. NO )? 1 2 )VALUE OF X INCREMENT : X[l] « 1.500E+03 X[2] = 2.680E+03 X[3] = 2.680E+03 VALUE OF 1) X[l] 2) X[2] 3) X[3] X = » = INCREMENT : 1.500E+03 2.680E+03 2.680E+03 ENTER THE CHOICE TO CHANGE VALUE OF X INCREMENT? I ENTER THE VALUE OF X[1]J 2000 DO YOU WANT TO CHANGE VALUE OF ANOTHER X INCREMENT? 1) YES 2) NO ? 2 1 )HEAT TRANSFER ANALYSIS : CONDUCTION 2 )VALUE OF X INCREMENT : X[l] • 2.OOOE+03 X[2] = 2.680E+03 X[3] = 2.680E+03 3 )NUMBER OF SUBDIVIION IN X DIRECTION : Y[l] = 1.000E+03 4 )VALUE OF Y INCREMENT Y[2] = 6.000E+03 Y[3] 1.850E+04 5 )NUMBER OF SUBDIVIION IN Y DIRECTION 6 )VALUE OF Z INCREMENT : Z[l] a 1.830E+03 Z[2] - 2.000E+02 Z[3] = 2.500E+2 Z[4] = 1.830E+3 7 )NUMBER OF SUBDIVIION IN Z DIRECTION : 8 )ELEMENT # 1 TO ELEMENT # 9 IS MATERIAL 38 ELEMENT # 10 TO ELEMENT # 10 IS MATERIAL 32 ELEMENT # 11 TO ELEMENT # 18 IS MATERIAL 38 ELEMENT # 19 TO ELEMENT # 27 IS MATERIAL 12 ELEMENT # 28 TO ELEMENT # 36 IS MATERIAL 38 9 )CROSS SECTION OF LEAD FRAME : 0 10)LEAD FRAME MATERIAL : 0 11)LEAD FRAME NUMBER : 0 12)DC ANALYSIS 13)UNIFORM TEMPERATURE : 27 14)THE ELEMENT # : 10 DISSIPATING POWER(Watts/um*3) 4.20000E-10 15)CONVECTION COEFFICIENT : PRESS CRTL C TO ABORT THE EDIT ENTER THE CHOICE ? CRTL C ARE YOU SURE TO CHANGE THE PARAMETERS ? ( 1. YES 2. NO )? 1 EXIT. END OF EDIT. 87 The process of thermal and thermal-mechanical modeling of VLSI packages improved as compared to the same process done using ANSYS is shown above. The same process using ANSYS to create the PREP7 file is shown below. It is obviously tedious for the user to create or modify the ANSYS processing file. /PREP7 KAN,-1 ET fl,70,,,,,,1 TOFFST,273 N, 1, NGEN 1,1,,, 1.500E+03,, NGEN 1,2,,, 2.680E+03,, 1,3,,, 2.680E+03,, NGEN 100, 1, 4,,, 1.000E+03, NGEN NGEN 100,101,104,,, 6.000E+03, NGEN 100,201,204,,, 1.850E+04, 2000, 1, 304,,,, 1.830E+03 NGEN 2000, 2001, 2304,,,, 2.000E+02 NGEN 2000, 4001, 4304,,,, 2.500E+02 NGEN NGEN 2000, 6001, 6304,,,, 1.830E+03 E,l,: ,102,101, 2001, 2002, 2102,2101 EGEN 3,1,-1, EGEN 3,100,1,3 EGEN 4, 2000,1,304 KXX, 1, 1.730E-07 DENS 1, 2.100E-12 C, 1 1.260E+00 EX, , 0.000E+00 ALPX 1, 0.000E+00 NUXY 1, 0 * 000E+00 NUYZ 1, 0.000E+00 NUXZ 1, 0.000E+00 MAT, EMOD 1 EMOD 2 EMOD 3 EMOD 4 EMOD 5 EMOD 6 EMOD 7 EMOD 8 EMOD( 9 KXX, 2, 1.400E-04 DENS 2 , 2.330E-12 C, 2 7.300E-01 EX, / 1.130E-01 ALPX 2, 7.600E-06 NUXY 2 , 4.200E-01 NUYZ 2 , 4.200E-01 NUXZ 2 , 4.200E-01 MAT, 2 EMOD 10 KXX, 3, 1.730E-07 DENS 3, 2.100E-12 C, 3 1. 260E+00 EX, 5, 0.000E+00 ALPX 3, 0.000E+00 NUXY 3 / 0.000E+00 NUYZ 3, 0.OOOE+OO NUXZ 3, 0.OOOE+OO MAT, 3 EMOD 11 EMOD 12 EMOD 13 KXX, 4, 2.600E-04 DENS 4, 8.940E-12 C, 4 3.900E-01 EX, , 1.298E-01 ALPX 4 9 1.700E-05 NUXY 4, 3.430E-01 NUYZ 4, 3.430E-01 NUXZ 4, 3.430E-01 MAT, 4 EMOD 19 EMOD 20 EMOD 21 EMOD 22 EMOD 23 EMOD 24 EMOD 25 EMOD 26 EMOD 27 KXX, 5, 1.730E-07 DENS 5, 2.100E-12 C, 5 1. 260E+00 EX, , o.OOOE+OO ALPX 5/ 0.000E+00 NUXY 5, 0.OOOE+OO NUYZ 5, 0.OOOE+OO NUXZ, 5, O.OOOE+OO MAT, 5 EMOD,28 EMOD,29 EMOD,30 EMOD,31 EMOD,32 EMOD,33 EMOD,34 EMOD,35 EMOD,36 ITER,1,1 KTEMP,-1, KBC,1 TUNIF,27 NT, 8001,TEMP,47,, 8304,1 cv, 1, 2, 1.100E-11, 0/ ,,102,101 cv, 2, 3, 1.100E-11, 0,,,103,102 cv, 3 / 4, 1.100E-11, 0/ ,,104,103 cv,101,102, 1.100E-11, 0,,,202,201 cv,102,103, 1.100E-11, 0,,,203, 202 cv,103,104, 1.100E-11, 0,,,204, 203 cv, 201, 202, 1.100E-11, 0,,,302, 301 cv, 202, 203, 1.100E-11, 0 , ,,303,302 cv, 203, 204, 1.100E-11, 0 , ,,304,303 QE,10, 4.200E-10 AFWRIT FINISH /INPUT,27 FINISH /AUX3 DUMP, FINISH /PREP7 RESUME KAN, 0 ET,1,45,,,,,,1 KTEMP,1,1 ITER,1,1 D,8001,ALL,0,,83 04,1 AFWRIT FINISH /INPUT,27 FINISH APPENDIX C LISTING OF APTMC OF MAIN PROCEDURES { ANSYS PACKAGING THERMAL CALCULATOR: APTMC, VERSION 1.0 OCTOBER 1986 DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING, ELECTRONIC PACKAGING LABORATORY, UNIVERSITY OF ARIZONA, TUCSON, AZ, 85721 COPYRIGHT (C) 1986 ARIZONA BOARD OF REGENTS PROGRAM FOR LEVEL 1 ( CHIP AND CARRIER ) AND LEVEL 2 ( CONNECTIONS SUBSTRATE, ) VLSI BOARDS PACKAGING OR SUBMODULES STRUCTURES AND AN INTER­ ASSEMBLIES WRITTEN AND TESTED BY J.J. SHIANG UNDER DIRECTION OF DR. Z.J. STASZAK } NOTE: EXTERN means the procedure must be called from the other procedure. { MAIN PROGRAM (INTERFACE.PAS) INCLUDES SIX EXTERNAL PASCAL MODULE CALL : 1) STRU1.PAS 4) NUMBER.PAS 5) TERM.PAS FORTRN SUBROUTINE CALL : 2) REFRESH.PAS 6) BANK.PAS 1) CONV.FOR 3) CHANGE.PAS AND TWO EXTERNAL 2) FCOV.FOR > MAIN PROGRAM: INTERFACE.PAS PROCEDURE INTERFACE (select model to be run} PROCEDURE INDATA; {define thermal model} CREATEHEAD; {define the first head: /PREP7} CREATEICMD; {define the KAN command with integer command} ETCREATE; {define the ET command} 90 92 PROCEDURE FILELIST; {store the list to the update file and running file; the update file is specified by the package; the running file is defaulted by WRUN.DAT;} PROCEDURE PRINTLIST; {print list} PROCEDURE COMDCOPY; {copy the command from the COMMAND.DAT file to the global string } FUNCTION COMLEN ; {return the string length between the starting string and the common specified by the COMCOUNT } PROCEDURE REPLACE; {replace the original SOURCE string with new string which links a real VALUE , the position is specified by COMCOUNT} PROCEDURE REPLACEI; {replace the original SOURCE string with new string which links a COMCOUNT} integer VALUE, the position is specified by 93 PROCEDURE CREATEICMD; {define the command,which include an insertion of integer and put it in the link list} PROCEDURE CREATEICMDM; {define the command string which will go through multiple concation? the input value which need to be changed should be a integer; the last connand should use this command to define the link list.} PROCEDURE CREATERCMD? {define the command which includes an insertion of real and put it in the link list} PROCEDURE CREATERCMDM; {define the command string which will go through multiple concation; the input value which needs to be changed should be a real; the last connand should use this command to define the link list.} PROCEDURE ETCREATE; {define the ET transfer type} command depending on the input of heat 94 PROCEDURE BACK; {start over the present input step again} PROCEDURE MANU? {print the program title} PROCEDURE NAMEINPUT? {input the library name} PROCEDURE MODEINPUT; {chose the analysis type} PROCEDURE XINPUT; {input the number of subdivisions along the x-direction} PROCEDURE XIN; {input the value of subdivisions along the x-direction} PROCEDURE XNCREATE? {define node command along x-direction} PROCEDURE YINPUT? {input the number of subdivisions along the y-direction} 95 PROCEDURE YIN; {input the value of subdivisions along the y-direction} PROCEDURE YNCREATE? {define node command along z-direction} PROCEDURE ZINPUT? {input the number of subdivisions along the z-direction} PROCEDURE ZIN? {input the value of subdivisions along the z-direction} PROCEDURE ELCREATE? {define the element command} PROCEDURE MATINPUT? {input the element material} PROCEDURE DFMATER? {define the element material? if the element is defined by free element, the element will be defined by user} PROCEDURE LDMATINPUT? {input the leads/pins/contacts material} 96 PROCEDURE LDARINPUT? {input the leads/pins/contacts cross section area} PROCEDURE R2CREATE? {define the command of the leads/pins/contacts cross section area} PROCEDURE LENUINPUT? {input the number of leads/pins/contacts} PROCEDURE LDNDINPUT; {input the leads/pins/contacts nodes} PROCEDURE DFLEAD? {define conduction link command between two nodes defined by the user} PROCEDURE TMTYINPUT; {input the initial condition choice} PROCEDURE PERIOD? 97 {input the time period in seconds for the transient condition} PROCEDURE TIMESTEP; {define the initial condition command} PROCEDURE UNTPINPUT? {input the uniform temperature} PROCEDURE UNIFTEMP; {define the uniform temperature command} PROCEDURE NTOPTION; • {input the choice for constant temperature capability} PROCEDURE NTNODEINPUT? {input the nodes which is kept with constant temperature} PROCEDURE NTTEMPINPUT {input the constant temperature} PROCEDURE NTCREATE; {define the constant temperature command} 98 PROCEDURE CONVNODE; {input the nodes of convection surface} PROCEDURE HCOPTION? {get the he from the user or heat exchange mode) PROCEDURE INPUTHC; (input the he value) PROCEDURE AMTEMP; {input the ambient temperature) PROCEDURE CONTINUE? {repeat the input) PROCEDURE COVCHOINPUT; {chose the way to define the convection surface) PROCEDURE TOPCREATE; {define the convection command according to the top surface) PROCEDURE BOTCREATE; {define the convection command according to the bottom 99 surface} PROCEDURE CONVCREATE; {define the convection command defined by the user) PROCEDURE MULCONVCREATE; {define the convection command) PROCEDURE FOWERINPUT; {input the element which produce the power) PROCEDURE CONTPWD? {input the power dissipating per volum) PROCEDURE PWCREATE ? {define the command defining the element dissipating} PROCEDURE RADINPUT? {input the data for the radiation) PROCEDURE RADCREATE? {define the radiation element} and the power PROCEDURE CONV? FORTRAN? PROCEDURE STRUCTURE EXTERN; PROCEDURE HEADING? EXTERN; PROCEDURE DATABANK; EXTERN; PROCEDURE BANKLIST; EXTERN; PROCEDURE RUNCOPY? EXTERN? PROCEDURE EDIT; EXTERN; PROCEDURE CLEAR; EXTERN; 101 PROCEDURE CURSOR; EXTERN? FUNCTION INTRA? EXTERN? CREATE STRUCTURE MODEL:STRU.PAS MODULE STRUCTURE; PROCEDURE TMTPINPUT; {input the initial conditions :transient or steady state} PROCEDURE TIMESTEP1; {define the initial condition command} PROCEDURE BOUNDINPUT? {input the choice for boundary condition : fixed or free boundary} PROCEDURE STNODEINPUT? {input the node sequence which define the fixed boundary} PROCEDURE BOOUNDARY; {define the boundary command) PROCEDURE STRUCTURE? {main procedure to define the structure analysis model) PROCEDURE CLEAR; EXTERN; PROCEDURE CURSOR; EXTERN; f PROCEDURE TERMINIT; EXTERN; PROCEDURE CREATELIST; EXTERN; PROCEDURE REPLACER; EXTERN; PROCEDURE REPLACEI; EXTERN; 103 PROCEDURE CREATEICMD; EXTERN; PROCEDURE CREATERCMD; EXTERN; PROCEDURE CREATERCMDM; EXTERN; PROCEDURE PERIOD; EXTERN; PROCEDURE BACK; EXTERN; EDIT/READ AN OLD MODEL: REFRESH.PAS MODULE EDTPROCESSOR; PROCEDURE EDITLIST; {copy the file to the link list) FUNCTION SEARCHSUB; {search the string between the position defined by COMCOUNT 104 and the position defined by COMCOUNT+1 ; the string could originally be integer or real variable? this procedure is only used for parameter display } FUNCTION SEARCHLAST? {search the string between the position defined by COMCOUNT which is last character of the string? The string could originally be integer or real variable? This procedure is only used for parameter display } * FUNCTION SEARCHLIST? {Searchs a list for a specified TARGET string. Returns a pointer if found. Returns NIL if TARGET is not in the list. } PROCEDURE CONRADCHECK? {check the conduction or radiation analysis} PROCEDURE COVCHECK? {check the conduction or convetion analysis} PROCEDURE HEATANALYSIS; {check the analysis type} 105 PROCEDURE HEATANALYSISPRINT; {display the analysis type) PROCEDURE XCHECK; {check the length of each subdivisions along x-direction} PROCEDURE XCHECKPRINT; {display the length of each subdivision along x-direction} PROCEDURE XSUBCHECKPRINT; {display total number of subdivisions along x-direction} PROCEDURE YCHECK; {check the length of each subdivision along y-direction} PROCEDURE YCHECKPRINT; {display the length of each subdivision along y-direction} PROCEDURE YSUBCHECKPRINT; {display total number of subdivisions along y-direction} PROCEDURE ZCHECK; {check the length of each subdivision along z-direction} 106 PROCEDURE ZCHECKPRINT; (display the length of each subdivision along z-direction} PROCEDURE ZSUBCHECKPRINT? (display total number of subdivisions along z-direction} PROCEDURE MATCHECK2; PROCEDURE MATCHECK; (check material definition) PROCEDURE MATCHECKPRINT? (display material definition} FUNCTION SEARCHREFER; (search a list title for a specified TARGET string and reference for a specified REFER string; return a pointer if found; return NIL if TARGET is not in the list. } PROCEDURE. CROSSCHECK? (check the cross section area of pins/leads/contacts} PROCEDURE CROSSCHECKPRINT; (display the cross section area of pins/leads/contacts} 107 PROCEDURE LEADMATCHECK; {check material of the cross section area of section area of section area of area of pins/leads/contacts} PROCEDURE LEADMATCHECKPRINT; {dispaly material of the cross pins/leads/contacts} PROCEDURE LEADNUCHECK? {check the number of the cross pins/leads/contacts} PROCEDURE LEADNUCHECKPRINT? {display the number of the pins/leads/contacts} PROCEDURE TIMECHECK? {check the initial conditions} PROCEDURE TIMECHECKPRINT? {check the initial conditions} cross section PROCEDURE TEMFCHECK? {check the uniform temperature) PROCEDURE TEMPCHECKPRINT? {display the uniform temperature) PROCEDURE POWERCHECK? {check the power element and the dissipating power) PROCEDURE POWERCHECKPRINT; {display the power element and the dissipating power) PROCEDURE HCCHECK? {check the convection coefficient) PROCEDURE HCCHECKPRINT; {display the convection coefficient) PROCEDURE OPTION; {chose the item to change the parameter) FUNCTION MAKESURE; {second check for the option) PROCEDURE REFRESHCHECK HEATANALYSIS ? XCHECK; YCHECK; ZCHECK7 MATCHECK; CROSSCHECK? LEADMATCHECK? LEADNUCHECK? TIMECHECK? TEMPCHECK; POWERCHECK? HCCHECK; PROCEDURE REFRESH; HEATANALYSISPRINT; XCHECKPRINT; XSUBCHECKPRINT; YCHECKPRINT; YSUBCHECKPRINT? ZCHECKPRINT; ZSUBCKECKPRINT; MATCHECKPRINT; CROSSCHECKPRINT; LEADMATCHECKPRINT} LEADNUCHECKPRINT; TIMECHECKPRINT; TEMPCHECKPRINT ? PROWERCHECKPRINT; HCCHECKPRINT; PROCEDURE VIDEOCHANGE HEATANALYSISPRINT ? XCHECKPRINT; XSUBCHECKPRINT; YCHECKPRINT? YSUBCHECKPRINT? ZCHECKPRINT; ZSUBCKECKPRINT; MATCHECKPRINT; CROSSCHECKPRINT; LEADMATCHECKPRINT; EADNUCHECKPRINT? TIMECHECKPRINT; TEMPCHECKPRINT; PROWERCHECKPRINT; HCCHECKPRINT; PROCEDURE RUNCOPY? PROCEDURE EDIT; PROCEDURE COMDCOPY ? EXTERN; FUNCTION COMLEN; EXTERN; PROCEDURE REPLACER; EXTERN; PROCEDURE REPLACEI; EXTERN; PROCEDURE STEP2; EXTERN; PROCEDURE CREATEICMD; EXTERN; PROCEDURE CREATEICMDM EXTERN; PROCEDURE CLEAR; EXTERN; PROCEDURE REVERSE; EXTERN; PROCEDURE REGULAR? EXTERN; PROCEDURE CURSOR; EXTERN; PROCEDURE PARACHANGE; EXTERN; FUNCTION INTRA? EXTERN? FUNCTION REALTRA; EXTERN; CHANGE THE MODEL:CHANGE.PAS; MODULE CHANGE; PROCEDURE ANAPRINT? {display the title of analysis type} 113 PROCEDURE ANAOPT; {delete or insert any analysis} PROCEDURE ANACHOICE; {display all kinds of analysis type} PROCEDURE ANAPROCESS; {change the status of analysis type} PROCEDURE ANALYSISCHANGE; {change the analysis type} > PROCEDURE XPRINT; {dispaly all subdivision s along x-direction} PROCEDURE XPROCESS? {input the subdivision which need to be changed} FUNCTION MORE; {start over procedure} PROCEDURE XCHANGE? {all process to change x-subdivision along x-direction} PROCEDURE XSUBCHOICE; {input the new number of subdivision and values} PROCEDURE XSUBCHANGE; {finish changing the number of subdivision} PROCEDURE YPRINT; {dispaly all subdivision along y-direction} PROCEDURE YPROCESS; {input the subdivision which need to be changed} FUNCTION YMORE; {start over procedure} PROCEDURE YCHANGE; {all process to change y-subdivision along y-direction} PROCEDURE YSUBCHOICE ? {input the new number of subdivision and values} PROCEDURE YSUBCHANGE? {finish changing the number of subdivision} PROCEDURE ZPRINT ? {dispaly all subdivision s along y-direction} PROCEDURE ZPROCESS; {input the subdivision which need to be changed) FUNCTION ZMORE; {start over procedure) PROCEDURE ZCHANGE? {all process to change z-subduvision along z-direction) PROCEDURE ZSUBCHOICE? {input the new number of subdivision and values) PROCEDURE ZSUBCHANGE? {finish changing the number of subdivision) PROCEDURE MATCHANGE? {change the material definition) PROCEDURE CROSSPRINT; {display the cross section area of leads/pins/contacts} PROCEDURE CROSSCHANGE? {display the cross section area of leads/pins/contacts} PROCEDURE LEADMATPRINT? {display the leads/pins/contacts material} PROCEDURE LEADMATCHANGE? (change the material of leads/pins/contacts} PROCEDURE LEADNUPRINT? {display the leads/pins/contacts number} PROCEDURE LEADNUCHANGE; {change the leads/pins/contacts number} PROCEDURE TIMEPRINT; {display the initial conditions} PROCEDURE TIMECHANGE; {change the initial conditions} PROCEDURE TEMPPRINT? {display the uniform temperature} PROCEDURE TEMPCHANGE; {change the uniform temperature) PROCEDURE POWERPRINT; {display the element producing power) PROCEDURE POWERCHANGE; {change the element producing power) PROCEDURE HCPRINT; {display convection coefficient) PROCEDURE HCCHANGEJ {change convection coefficient) PROCEDURE PARACHANGE; {main procedure to change parameters) FUNCTION INTRA; EXTERN; PROCEDURE CLEAR; EXTERN; PROCEDURE CURSOR? EXTERN? PROCEDURE BANKLIST? EXTERN? DATA TYPE CONVERSION:NUMBER.PAS MODULE NUMBER? FUNCTION INTRA? {transfer the source string to an integer? make sure no space exist before the string} FUNCTION REALTRA? {transfer the source string to a real number? the source string cannot be a double precision make sure no space exists before the string} TERMINAL PROCEDURE: TERM.PAS 119 MODULE THERMINAL? PROCEDURE CLEAR? (clear the screen; set the cursor to the position in row 1 and column 1} PROCEDURE CURSOU 7 {set the cursor position} PROCEDURE REVERSE? {change the screen to the reverse video} PROCEDURE REGULAR? {change the screen back to original video} APPENDIX D TABLE PHYSICAL AND THERMAL PARAMETERS OP SELECTED MATERIALS USED IN VLSI PACKAGING APPLICATIONS (MEAN VALUES 0-100 °C OR AT ROOM TEMPERATURE) MATERIAL TYPE ASSIGNED NUMBER DENSITY THERMAL CONDUCTIVITY W/cm deg g/cm3 FREE AIR ALUMINUM ALUMINA AuSi (Die-Attach) BERYLLIA (BeO) BERYLLIUM BRASS CADMIUM CERAMIC CHROMIUM COPPER (PURE) COPPER (194) EPOXY EUTECTIC BOND (Ag/Cu) GaAs GOLD GLASS IRON KOVAR LEAD MOLDING COMP MOLYBDENUM NICHROME NICKEL NITROGEN OXYGEN PALLADIUM PLASTIC PLATINUM PHENOLIC POLIAMID QUARTZ RESISTOR INK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 SPECIFIC HEAT W sec/g deg 0.0012 2.7 3.68 0.0003 2.38 0.35 1.0 0.917 1.0 8.94 2.9 1.85 2.97 2.5 1.94 1.31 1.03 0.315 0.913 3.97 2.6 0.0163 0.28 1.0 2.05 8.64 0.342 7.1 8.96 8.94 2.0 10.0 5.32 19.3 2.5 7.87 7.7 11.7 1.9 10.2 8.25 8.9 0.00125 0.001332 12.0 1.5 21.45 1.62 2.7 2.534 0.5 3.15 0.014 0.782 0.173 0.35 0.0063 1.37 0.13 0.075 0.000286 0.00025 0.075 0.002 0.0734 0.0016 0.00427 0.0197 0.01 121 0.233 0.08 0.416 0.39 0.39 0.6 0.255 0.322 0.13 0.75 0.456 0.52 0.13 1.7 0.25 0.45 0.45 1.04 0.912 0.25 0.134 1.03 0.93 122 Table.-"Continued MATERIAL TYPE ASSIGNED NUMBER DENSITY g/cm3 SILICON SILVER sio2 SOLDER (6C1-40) STEATITE STEEL TANTALUM TEFLON TIN TITANIUM TUNGSTEN WATER ZINC 35 36 37 38 39 40 41 42 43 44 45 46 47 2.33 10.5 2.27 8.7 2.7 16.6 2.1 7.3 4.5 19.3 1.0 7.14 THERMAL CONDUCTIVITY W/cm deg 1.4 4.45 0.014 0.38 0.059 0.173 0.575 0.00173 0.0732 0.0216 1.74 0.00613 1.195 SPECIFIC HEAT W sec/g deg 0.73 0.234 1.0 0.17 0.84 0.142 0.226 0.528 0.138 4.18 0.394 APPENDIX E USE OF A FINITE ELEMENT METHOD FOR THERMAL ANALYSIS OF ELECTRONIC COMPONENT A) STEADY-STATE PROBLEMS Finite element method (FEM) is one of the numerical methods being used widely for the analysis of various engineering problems. the finite element discretization which manageable elements. are The basic concept underlying method divides is a the principle structure into of smaller The primary interests of this study evaluating temperature and thermally induced stress caused by forces such as applied thermal loads and internal heat generation in a body. the application of the The basic concepts involved in FEM to thermal problems are described in the following sections considering a simple one dimension case. Let us consider case of a metal rod for thermal analysis. STEP 1. Choose element configuration We element. number idealize The rod of small intersections are the metal rod as a one dimension is then discretized into an arbitary units called called nodes finite or elements. node points. The The coordinate system defined to describe the entire structure is called the global coordinate system. To derive the element equations a local coordinate system is used. The 123 124 purpose of its use is to make the required derivatives and integrations simple to handle. the global coordinate. In the Fugure E.l, 'X' is Let us have the origin of the local system at the mid point (3) of an element. Here the local coordinate is written as L = (x - X3) / (1/2) = [X - (X! + X2 /2)] / (1/2) (2.0) The values of L range from -1 to 1. of these coordinates is that An important property they are in a nondimensionalized form and their values are expressed as numbers and lie between -1 and 1. It is this property that imparts simplicity to the subsequent derivations. STEP 2. Choose Approximation Function An approximation function which is continuous within an element is chosen to describe the temperature variation. A linear approximation for temperature can be expressed as T = aj + a2x ( 2.1 ) T = NXT! + N2T2 = [N] {Tn> ( 2.2 ) L=1 x 3 x2 L=-l X1 ////// Figure E.l local coordinate system for one element. 126 NX = 1/2 ( 1 - L ) ( 2.3 ) N2 = 1/2 ( 1 + L ) ( 2.4 ) where and N2 are the interpolation functions, L is the local coordinate , {T}^ = [T^ T2] is the vector of element nodal temperature. An interpolation function has the property that it has a value of unity for the degree of freedom, it pertains to and zero value corresponding to all other degrees of freedom. STEP 3. Define the general equation for heat conduction. It was J.B.J Fourier who proposed [22] that the rate of heat flow by conduction through a material is proportional to the area of the material normal to the heat flow path and to the temperature gradient along the heat flow path. These facts may be written mathematically as g = -kA(dT/dn) = heat flux in direction "n" ( 2.5) where K = thermal conductivity (material property) T - temperature the negative sign inidcates that heat flow is opposite to 127 the direction in which the temperatures increase. The value of temperature gradient can be obtained by differentiating T in Eq.(2.2 ) with respect to X as dT/dX = d [(1/2)(l-L)T! + (1/2)(1+L)T2] / dX ( 2.6 ) use of the chain rule of differentiation leads to dT/dX - (dT/dL) (dL/dX) = (dT/dL) (2/1) = (1/1) [-1 1] [Tx T2]t = [B] {Tn} ( 2.7 ) [B] is the transformation matrix, substitution of Eq. (2.7) into t Eq. (2.5) gives q = -K A [B] {Tn} STEP 4. Derive element equations Derivation principle ( 2.8 ) of of element Minimum equations potential is energy. based The on the potential energy D of the element is composed of two parts,, internal energy U and potential Wp of the external load D = U + WP x2 / *1 /*x2 (1/2)K (dT/dX)2 dX -/ qT dX ( 2.9 ) J *1 substitution of dT/dX and T into Eq. (2.9) leads to 128 fX2(1/2) I x1 ' D = A/ + + C x2qTdX {Tnjt [B]* K [B] {Tn} dx - J / ^ Using the variational potential energy, approach we of minimize X1 ( 2.10 ) principle of the (2.10) Eq minimum by differentiating £) with respect to Tn which yields dD / d{Tn} = 0 ( 2.11 ) or Ak/ or / x2 f x2 r[B]dX{T J « / [BjttBldXtTn} [B] J n X1 J q[N]tr dX q[N] X1 [K] (Tn) = (Q) ( 2.12 ) ( 2.13 ) where [K] = element stiffness matrix [K] = (Ak) /X2[B]t [B]dX />* J'1 = (Akl/2) J [B]c [B]dL ( 2.14 ) and {Q} = element nodal forcing parameter vector fc dX {Q> =1 q [N] [N]fc =J^2q t = d/2) q [N] ) J+\ [Nit dL ( 2.15 ) 129 Substituting [B] and [N] into Eqs. (2.14) and (2.15) and integrating lead to CB]fc [B]a: [K] = (Akl/2) / = (Ak/1) (Q) = (ql/2) I u:i { (1/2)(1-L) (1/2)(1+L) )t dL = (ql/2) { 1 STEP 5. ( 2.16 ) 1 J1 ( 2.17 ) Assembly global equations. We use the direct stiffness approach [23] to obtain the assemblage equations. [K*] {r} = (R] where Eqs. ( 2.18 ) [K*] = assemblage stiffness matrix {r} = assemblage vector of nodal temperature {R} = assemblage vector of nodal (2.18) equations. is a set of linear simulataneous algebric Solution of these equations yields the nodal 130 temperatures r^, r21 rn. Transient problem When the rate of heat flow changes within an electronic system, it will normally produce a temperature change somewhere in that system. rate will system. be associated with A change in the heat flow temperature change in a Changes of these types are defined as transient heat transfer conditons. If no heat source or sinks are present and, if the thermal properties of thermal conductivity, specific heat and the material density are independent of temperature, the transfer of heat by conduction can be represented by the governing equation: a (d2T/dx2) = (dT/dt) - q ( 2.19 ) where a = thermal diffusivity - (k/gc), where k - thermal conductivity, g - density, c = specific heat, t = time and q = heat formulation flux. of The finite different elements steps involved in for the solution to the governing equation (2.19) are as follows: STEP 1. the Discretize and choose element configuration 131 The one-dimensional element, which is same as that for steady-state condition, is chosen for the purpose of simplicity for the finite element. STEP 2. A Choose approximation model linear model is chosen to express temperature within an element as T = (1/2)(l-LJTift) + (1/2)(l+L)T2(t) = [ N ] { Tn(t) } ( 2.20 ) where {Tn(t)>, is the vector of unknown temperatures at nodes 1 and 2, respectively. Here, T^ and T2 are time dependent, and [N] is dependent on the spatial coordinate. STEP 3. Derive element equations. Use the following variational functional at a given time level for obtaining the element equation [24,25]: /*x2 , r*2 D = A/ [(l/2)a(dT/dX)2 + (dT/dt)T] d x - I qT dx J xi J ( 2.21 ) where D denotes the variational functional. By using Eq. (2.20), we have dT / dx = (dT/dL) (dL/dx) = (dT/dL) (2/1) 132 = (1/1)[-1 1] {Ti T 2 ) t ( 2.22 ) = CB) {Tn) and dT/dt - T« = [N] {dTx/dt = [NHT!1 T2M* - dT2/dt}t ( 2.23 ) [ N ] {T n »> where {Tn'} denotes derivative with respect to time. Note that [N] is a constant for function of space coordinates, and hence the time derivative. Substitution of Eqs. (2.22) and (2.23) into Eg. (2.21) yields D = (Aal/4) + (Al/2) ( 2.24 ) We now take differentiation of D with respect to T. Here, the functional involves time derivatives, T'n. During the variations with respect to Tn, we make an assumption that Tn remain constant. This assumption makes the variational approach mathematically less rigorous. This differentiation yields dD/d{Tn) = (aAl/d) 133 + (Al/2 / J"1 [N]t[N] dL) { T ' N } - 1/ 2 / 1 [ N ]t J"1 q dL = [KS](Tn)t + [KtHT'N>t " (Q) - 0 ( 2.25 ) where P [Ka] = (aAl/2) I « (Aa/1) [Kt] = (Al/2) / = (Al/6) {Q> [B]T[B] dL [ ] ( 2.26 ) [N]™[N] dL [::] - (ql/2) / [ N ]t =(ql/2) [:] ( 2.27 ) q dL ( 2.28 ) In the case of time dependent problems, additional derivations are required to obtain solutions in time. This can be done by using the finite difference [22] type of discretization for the derivatives with respect to time. The first derivative dT/dt can be written approximately as 134 ( dT/dt )t = T(t) - T(t- t) / ( 2.29 ) t where At = time increment. Eq. (2.29) essentially, give the slope of the joining points as an approximation to the continuous derivative dT/dt. By using Eq. (2.29), we can now write approximations to the time derivative at two nodes of an element. dTx/dt = T^t) -^(t - t) / t ( 2.30 ) dT2/dt = T2(t) - T2(t - t) / t ( 2.31 ) {T'n} = (1/ t) { [Ti T2]Tt " [Ti T2]Tt- = (1/ t) {Tn}t - 1/ t{Tn}t_ t t > ( 2.32 ) Substitution of Eq (2.32) into (2.25) leads to [Ka]{Tn}t = 1/ t [Kt] {Tn)t - 1/ t [Kt]{Tn}t„ t ( 2.33 ) = (Q)t or ( {K^3 + 1/ t [Kt] ) {Tn}t = (Q>t + 1/ t [kt] {Tn}t. t ( 2.34 ) 135 At any time t- t, the terms on the right- hand side in Eq. (2.34) are usually known. Hence we can solve Eg. (2.34) for T at t, since the T at previous time level is known. The solution process for the time-dependent problem thus involves two steps: (1) discretization in space and then (2) propagation or marching in time at various time levels. STEP 5. Assembly for global equations Direct stiffness aproach [23] is used to obtain the global stiffness matrix individual element matrices. by appropriately adding the REFERENCE 1. Oettinger, F. F., and R. L. Gladhill, "Thermal Response Mesurement of Semiconductor Device Die Attachment Evaluation," IEDM Technical Digest.1973. pp, 47-50. 2. Albert J. Blodgeet, Jr, "Microelectronic Packaging" Scientific American, vol. 249. no.l, pp 86-96, July 1983. 3. Kennedy K. J. and Kanehl J., " Free Convection in Tilted Encloures, " Heat Transfer Division. Vol.28, 1983, PP. 43-47. 4. Sloan, Joel 1., " Design and Packaging of Electronic Equipment," Van Nostrand Reinhold, New York, 1983. 5. Hamilton, D.J., and W.J. Kerwin, "Electrothermal Effects in Integrated Circuits," Microelectronics Journal. Vol. 11, No.2, 1980, pp. 5-12. 6. Lewis, T.E., and D.L. Adams, "VLSI Thermal Management in Cost Driven Systems," IEEE Transactions on Components. Hybrids, and Manufacturing Technology. Vol. CHMT-5, No.4, December 1982, pp. 166-173. 7. Waller, D., Fox, L. and R. Hannemann "Analysis of Surface Mount Thermal and Thermal stress performance," IEEE Trans. Components. Hybrids. and Manufacturing Technology. Vol. CHMT-6, no.3, pp. 257266, Sep. 1983. 8. TEMDIS, TRATEM, Staszak, Z.J., and M. Jafar, University of Arizona, ECE Dept. 9. TXYZ , Albers, J., NBS Special Publication 400-76, April 1984 10. TAMS, TNETFA, Ellison, 6.N., "Thermal Conputations for Electronic Eguipment." Van Nostrand Reinhold Company, New York, N.Y., 1984 11. ANSYS, Swanson Analysis Systems, Inc., Houston, PA 12. ADINAT, Adina Engineering, Inc., Watertown, MA 136 137 13. NASTRAN: NASA Structural Analysis Program, COSMIC Program Abstracts, Athens, GA 14. NISA: Numerically Integrated Elements for Systems Analysis, COSMIC Program Abstracts, Athens, GA 15. Jafar, M.M. "Thermal Modeling/Simulation of Level 1 and Level 2 VLSI Packaging" M.Sc. Thesis, ECE. Dept, University of Arizona, 1986. 16. Staszak, Z.J., Jafar, M. and Prince, J.L.•"Packaging Thermal Calculator ; UAPTC 1.0, Users Manual.11 University of Arizona , Department of Electrical and Computer Engineering, Electronic Packaging Laboratory. 17. Staszak, Z.J., Jafar, M., Chidambaram, N. and Prince, J. L. "Packaging Thermal Mechanical Calcula tor ; UAPTMC 1.0 Users Manual." University of Arizona, in preparation. 18 Koffman, E. B., "Problem Solving and Structured Programming in PASCAL," Adison Wesley, 1980. 19 Andrews, J.A., Mahalingam, L.M. and H.M. Berg, "Thermal Characteristics of 16- and 40-pin Plastic Dip's," IEEE Trans Components. Hybrids. and Manufacturing Technology. Vol. CHMT-4, pp.455-461, Dec. 1981. 20. Ellison, G.E.,"Thermal Analysis with Affordable Programs" Proceedings of the Fifth Annual International Electronics Packaging Conference. Orlando, FL, Oct. 21-23, 1985. 21 Staszak, Z.J. "Thermal Modeling/Simulation and Characterization in Level 1 and Level 2 VLSI Packaging : An Approach," ECE. Dept, University of Arizona, 1986. 22. Fourier, J.B.J. "The Analytical Theory of Heat." Translated by Alexander Freeman, Cambridge University Press, London, 1878. 23 Desai, C,S., "Elementary Finite Element." PrenticeHall, New Jersey, 1979. 138 24. Courant, R., and Hilbert, D., "Methods of Mathematical Physics." Wiley-Nostrand Reinhold, New York, 1972. 25. Desai, C.S., and Abel, J.F., "Introduction to the Finite Element Method." Van Nostrand Reinhold, New York, 1972. 26. Crandall, S.H., "Engineering Analysis," McGraw Hill, New york, 1956. 27. Turner, M.J., Clough, R. W., Matrin, H.C., and Topp, L. C., " Stiffness and Deflection Analysis of Complex structures," J. Aeronaut. Sci.. Vol 23, no9, Sept. 1956, pp. 196-200. 28. Fried, E. and kelleg, M. J., " Thermal Conductance_of Matallie Contacts in a Vaccum, " Thermophysics Specialist Conference. Mouterey, CA, Sep. 1965, pp. 44-48. 29. Ashiwake, N. and Nakayama, T. "Forced Convection Heat Transfer From LSI Packages in an Air-cooled Wiring Card Array ASME HTD. Vol. 28, 1983, pp. 961-973.