WO2017001890A1 - Method for converting gerber data to finite element model for predicting printed circuit board warpage - Google Patents
Method for converting gerber data to finite element model for predicting printed circuit board warpage Download PDFInfo
- Publication number
- WO2017001890A1 WO2017001890A1 PCT/IB2015/054882 IB2015054882W WO2017001890A1 WO 2017001890 A1 WO2017001890 A1 WO 2017001890A1 IB 2015054882 W IB2015054882 W IB 2015054882W WO 2017001890 A1 WO2017001890 A1 WO 2017001890A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pcb
- finite element
- cell
- node
- shape
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000000463 material Substances 0.000 claims abstract description 25
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical group [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 claims description 65
- 229910052802 copper Inorganic materials 0.000 claims description 65
- 239000010949 copper Substances 0.000 claims description 65
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 4
- 238000009413 insulation Methods 0.000 claims description 2
- 239000010410 layer Substances 0.000 description 93
- 238000005520 cutting process Methods 0.000 description 17
- 239000011800 void material Substances 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000011068 loading method Methods 0.000 description 5
- 230000000704 physical effect Effects 0.000 description 5
- 230000000930 thermomechanical effect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000005553 drilling Methods 0.000 description 4
- 238000003801 milling Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000003822 epoxy resin Substances 0.000 description 3
- 239000012528 membrane Substances 0.000 description 3
- 229920000647 polyepoxide Polymers 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 238000005476 soldering Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- MPTQRFCYZCXJFQ-UHFFFAOYSA-L copper(II) chloride dihydrate Chemical compound O.O.[Cl-].[Cl-].[Cu+2] MPTQRFCYZCXJFQ-UHFFFAOYSA-L 0.000 description 2
- 239000011152 fibreglass Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000004593 Epoxy Substances 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000000265 homogenisation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K1/00—Printed circuits
- H05K1/02—Details
- H05K1/0271—Arrangements for reducing stress or warp in rigid printed circuit boards, e.g. caused by loads, vibrations or differences in thermal expansion
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K3/00—Apparatus or processes for manufacturing printed circuits
- H05K3/0005—Apparatus or processes for manufacturing printed circuits for designing circuits by computer
Definitions
- the present disclosure relates to a method to convert a Printed Circuit Board, PCB, image description, in particular a PCB vector image file (e.g. Gerber file), to a finite element model (e.g. a computer-aided engineering, CAE, file), in particular a finite element model of thermo-mechanical loading.
- the finite element model data can be used for predicting deformation (e.g. warpage), thus being useful for preventing warpage in a PCB.
- FR4 (or FR-4) is an example of a non-conductive layer providing stiffness to the PCB and separating the layers of copper.
- FR4 usually refers to a grade designation assigned to glass-reinforced epoxy laminate sheets used in printed circuit boards (PCB).
- PCB printed circuit boards
- FR4 is an example of a composite material layer composed of woven fibreglass cloth with an epoxy resin binder.
- FR4 is a preferred material for embodying a support dielectric layer of a PCB.
- a FR4 layer is mentioned interchangeably as a dielectric PCB layer.
- Warpage causes a piece or PCB to bend or twist, changing its size, contours and, mainly, local curvatures.
- Some of these deformation patterns have their origin on the thermos-mechanical material properties: some polymers and resins are more prone to this type of events, particularly the semicrystalline ones, as they display an anisotropic behaviour.
- the problem can only be minimized by modifying the copper distribution throughout the layers of the multi-layered PCB design.
- Document US 7139678 B2 describes predicting a deformation of a board by dividing the board into a plurality of areas based on wiring information on the board; and predicting by grasping a wiring pattern of an area macroscopically, calculating an equivalent physical property value equivalent to a modulus of longitudinal elasticity and a coefficient of thermal expansion by a finite element method, and predicting the deformation of the board based on the equivalent physical property value calculated for each of the areas divided by the board dividing unit.
- Document US 7139678 B2 describes calculating equivalent physical properties for each PCB layer determined by whether the layer has directionality or not, or a layer which is "unrelated" to warpage - for the layers with directionality, it calculates an equivalent physical property value in each wiring direction for calculating the equivalent physical property values. It is a complex procedure as it is necessary to execute simulations for all combinations of: wiring pattern densities, moduli of longitudinal elasticity and coefficients of thermal expansion. It is stressed that all wiring directions are calculated. The speed and output precision of the overall method has shortcomings. Finally, document US 7139678 B2 does not seem to disclose examples for the "unrelated" layer, just that it is a layer not directly contributing to warp of an entire board.
- the present disclosure relates to a method to prevent the warpage phenomenon in Printed Circuit Boards, by connecting automatically (and user-free) the gerber standard file data (which defines the PCB electric artworks) to a CAE model (a finite element model). More particularly, relates to a method to evaluate and estimate the PCB design in a quality and quantity manner, predicting a 3D representation of the PCB under any thermo-mechanical loading.
- the present disclosure comprises in a straightforward method to predict the warpage on an arbitrarily complex PCB. With this disclosure, it is possible to predict, and thus minimize/optimize, the problems appearing during the components soldering due to the warpage phenomenon. This method fills the existing gap in the development of PCBs.
- the warpage measurement is made by producing prototypes and running experimental tests, which replicate the manufacturing process.
- the methods of the disclosure have as input the gerber files, i.e. the standard files generated by any commercial PCB development software (the same files that are sent to the PCB manufacturer and contain all the detailed information about the copper electric artworks, together with all dimensions and specifications). These files preferably comply with the RS-274X standard. Apart from the gerber files, this method/disclosure does not require any other specific information and it will not require any special expertise or skills from the user to work with a finite element solver.
- the resultant output is a finite element model which can then be used to carry out the numerical simulations with a finite elements solver such as Ansys(tm), Abaqus(tn) or any other adequate FEM solver.
- Gerber files are lines of code that follows preferably the RS- 274X standard containing the coordinates describing the geometry of all the elements of a PCB (macro geometry, number of layers of copper and specificities and specifications of each layer of copper).
- the necessary information regarding the PCBs exists in the gerber files that are generated by any commercial software for development/designing of PCBs, and allows the manufacturer to have access to all the information required for the manufacture, such as: dimensions, holes, copper circuits, number of layers, among other important information.
- the methods of the disclosure will access the information enclosed in the gerber files and, after that, it will convert the gerber commands contained in those files into graphic binary structures (bitmaps). Through these bitmaps it will be generated a finite element mesh enhanced with the geometric properties of each finite element of copper such as: area fraction of copper, inertia tensor and centre of mass. The resulting and necessary data will be exported to a text file in order to run the finite elements simulation.
- bitmaps graphic binary structures
- Information output From the previous processing step all the necessary information for the numerical simulation will be provided in the form of: a finite element mesh (nodes, and connectivity), material properties, boundary conditions, element properties and simulation conditions, along with specific data (area fraction of copper, inertia tensor describing the layers of copper).
- This information is exported in a format compatible with the CAE tools such as Abaqus, Ansys or any other adequate FEM solver. Starting from these data, the CAE tools will be able to determine the displacement fields of PCB under analysis, and thus estimate the amount of warpage associated with the prescribed thermo-mechanical loadings.
- the first one (1st step) is reading and processing the information of the gerber files. These information is discretized and temporarily stored in high-resolution bitmaps, i.e. bitmaps are generated based on the information defining the geometric features on each layer of copper existent on the PCB. A bitmap representing the layers of FR4 (a non-conductive layer providing stiffness to the PCB and separating the layers of copper) will also be created.
- the second step is the finite element mesh generation, which will be a 3D representation of the real macroscopic geometry of the PCB defined by the gerber file, i.e. overall dimensions, channels and holes, and the geometric specificities associated with the copper distribution inside each finite element describing the layers of copper.
- the finite element mesh created by this method consists of the Cartesian nodal coordinates of all nodes defining the PCB geometry, the connectivity between these nodes, as well the geometric and material features associated to each finite element.
- the mesh information will be preferably exported in a format compatible with a selected external CAE software.
- the FE mesh refinement can be adjusted by the user, between a more refined or coarser FE mesh. By default, an in-plane FE size of substantially 50% of the PCB thickness is proposed, but normally this can be 10 - 200% of the PCT thickness, in particular 25% - 100% of PCB thickness.
- the algorithm is prepared to write out finite element meshes based on the following FE types: (i) full 3D finite elements, using 3D tri-linear 8-node hexahedra elements to model both FR4 and copper layers; (ii) hybrid 3D+2D finite elements, using 3D tri-linear 8-node hexahedra elements to model the FR4 layers and 2D bi-linear 4- node quadrilateral membrane elements to model the copper layers; (iii) thick-shell 2.5D finite elements, i.e.
- finite elements using only one layer of finite elements through-thickness to describe, in a single finite element (3D tri-linear 8-node hexahedron) all layers of both FR4 and copper; and (iV) 2D shell finite elements, using 2D bi-linear 4-node quadrilateral shell elements to model with a single shell element all layers of both FR4 and copper.
- the specific data associated to each finite element describing the copper layers aims to characterize the distribution of copper inside of each finite element. These information will be used latter on a homogenization technique in order to take into account the specificities of copper distribution inside each finite element.
- the following data will be computed and outputted for each finite element describing the layers of copper: (i) area fraction of copper; (ii) number of independent islands of copper inside of the finite element; (iii) inertia tensor of the largest domain of copper inside of the finite element; (iv) centre of mass of the islands of copper; (v) thickness of the layer of copper.
- the inertia tensor is computed in a local frame centred on the centre of mass, with axes parallel to the axes of the global Cartesian frame.
- the inertia tensor their eigenvectors and eigenvalues are computed: the eigenvectors determine the orientation of the copper area fraction within the finite element, and the eigenvalues (the ratio of) allow to estimate the level of anisotropy of the copper distribution within the finite element.
- Both eigenvectors and eigenvalues of the inertia tensor play a key role in the identification of the homogenized thermo-mechanical properties of each finite element.
- the inertia tensor is computed taking into account only for the largest island of copper inside a given finite element. This is a relevant preferred embodiment for the disclosed method, because it allows to capture more accurately the real orientation of the copper inside of a given finite element.
- PCB printed circuit board
- image description to a finite element model
- said PCB comprising one or more conductive layers and one or more dielectric layers for insulation and support of the conductive layers, comprising the steps of:
- the 2D mesh of cells is delimited by the PCB shape from the PCB image description;
- said PCB shape comprises the border of the PCB and the hole or holes of the PCB, if present;
- a PCB hole can be a full hole (e.g. drilled) or a partial hole (e.g. a slot).
- each finite element is calculated having an inertia tensor defined by the largest conductive independent area of each corresponding conductive layer or layers delimited by the outline of the respective 2D mesh cell.
- the generated in- plane 2D mesh of cells is a node grid of squares or rectangles, which have been deformed or cut until the 2D mesh of cells is delimited by the PCB shape, such that all finite element nodes will be within the PCB shape.
- An embodiment comprises, for deforming or splitting the square or rectangle grid cells, the step of:
- An embodiment comprises, for deleting finite element nodes located outside the PCB shape, the following steps, for each node located outside the PCB shape:
- the node located outside the PCB shape is moved to the position of the nearest new node that was to be created and takes its place;
- the node located outside the PCB shape is deleted and a new node is created for said splitting of the cell.
- the predefined threshold distance is a percentage of the grid spacing, in particular substantially 20% of the grid spacing.
- the stack is a stack of one finite element and said finite element is a bi-linear 4-node quadrilateral element calculated for all layers of the PCB delimited by the respective 2D mesh cell.
- the stack is a stack of one finite element and said finite element is a tri-linear 8-node hexahedron element calculated for all layers of the PCB delimited by the respective 2D mesh cell.
- the stack is a stack of:
- the stack is a stack of:
- the 2D mesh cells have a dimension of 10 - 200% of the PCT thickness, in particular 25% - 100% of PCB thickness, further in particular substantially 50% of the PCB thickness.
- the dimension of a cell can be defined as being the size of the largest line joining two periphery points of the cell. For example, in a rectangle it is the size of the larger side.
- the inputs of the calculation of each finite element, from the PCB image description, for the corresponding conductive layer or layers delimited by the outline of the respective 2D mesh cell comprise:
- the inputs of the calculation of each finite element comprise the eigenvector and eigenvalues of the respective inertia tensor.
- An embodiment comprises the previous step of discretising the PCB image description into image bitmaps of each conductive layer and of each dielectric layer.
- a hole of the PCB is a PCB slot, a PCB cut-out, a PCB drilled hole, a PCB channel, a PCB recess, a PCB notch or a PCB rip.
- the PCB image description is a structured data record.
- the PCB image description is a gerber file.
- each conductive layer is a copper PCB layer.
- each dielectric layer is a FR4 PCB layer.
- non-transitory storage media including program instructions for implementing a converter of a printed circuit board, PCB, image description to a finite element model, the program instructions including instructions executable to carry out any of the above methods.
- Figure 1 Schematic representation of an embodiment of the main data pipeline of the disclosed algorithm.
- Figure 2 Schematic representation of an embodiment of one copper layer of a PCB.
- Figure 3 Schematic representation of an embodiment of the zoom of a copper Layer in order to show the accuracy of shape replication.
- Figure 4 Schematic representation of an embodiment of the FR4 Layer before applying the flooding algorithm.
- Figure 5 Schematic representation of an embodiment of the FR4 Layer after applying the flooding algorithm.
- Figure 6 Schematic representation of an embodiment of the Implemented flood fill four-way stack-based recursive algorithm.
- Figure 7 Schematic representation of an embodiment of the four-nodes stencil: All original nodes are in the same material.
- Figure 8 Schematic representation of an embodiment of the one-node stencil: Three original nodes in FR4, one in void.
- Figure 9 Schematic representation of an embodiment of the two-nodes stencil: Two original nodes for each material.
- Figure 10 Schematic representation of an embodiment of the three-nodes stencil: One original node in FR4, three in void.
- Figure 11 Schematic representation of an embodiment of the nodes and cutting points initial placement.
- Figure 12 Schematic representation of an embodiment of the final position of nodes and cutting points.
- Figure 13 Schematic representation of an embodiment of the final mesh with nodes connected.
- Figure 14 Schematic representation of an embodiment of the checking nodes algorithm.
- Figure 15 Schematic representation of an embodiment of the 3D model using solely 3D Solid elements.
- Figure 16 Schematic representation of an embodiment of the 3D model using 3D Thick-Shell elements (multi-layer).
- Figure 17 Schematic representation of an embodiment of the 3D model using 2D Shell Element (multi-layer).
- Figure 18 Schematic representation of an embodiment of the 3D model using 3D Solid elements for FR4 layers and 2D membrane elements for copper layers.
- Figure 19 Schematic representation of an embodiment of the isometric view of a 3D model of a PCB.
- Figure 20 Schematic representation of an embodiment of the mesh applied to copper layers.
- Figure 21 Schematic representation of an example of a finite element with one copper trace.
- Figure 22 Schematic representation of an embodiment of an example of a finite element with one copper trace with centre of mass and eigenvectors.
- the disclosed methods can be divided in four main processes as shown in Fig. 1.
- the first process is reading gerber files, sort and store the information in different type of classes (or data structures).
- the second process is converting the acquired information from millimetres/inches into graphic structures of pixels (Bitmaps).
- the third process uses the base layer of the PCB (FR4 Layer) to create a 2D mesh.
- the final process consists in creating the 3D model of the PCB from the 2D mesh along with copper element properties, such as: area fraction of copper, centre of mass and the inertia tensor.
- the processing stage can be divided into two steps, data acquisition and image creation.
- data acquisition the information in gerber files is read, organized and stored into different types of structures (or classes) depending on the aperture shape. If aperture is a standard aperture (line or pad) can be stored in a Linear Interpolation structure, Pad structure or Circular Interpolation structure according to the type of element read from Gerber file.
- bitmap creation is divided primarily by layer (or gerber file) and then divided by shape. This approach allows the creation of simple cycles of same function and also prioritizing the access to the same class instead of jumping between classes, and therefore saving processing time.
- the processing order of drawing the bitmaps are: Linear Interpolation, Circular Interpolation, Pad and Irregular Shapes.
- the results are illustrated in Fig. 2 and Fig. 3.
- the first image shows the entire copper layer of a real PCB.
- the Fig. 3 shows with more detail the geometry of a printed circuit and the accuracy of shape replication given by the disclosed methods.
- the FR4 layer is also created. This second process is entirely independent from the first (creation of copper layers).
- the FR4 layer is the dielectric layer made by fibre glass and epoxy resin inserted between the copper layers, isolating electrically the layers of copper.
- the FR4 also represents the main physical format of the PCB.
- For the process of creating the FR4 layer it is needed the milling and drilling files. These files define the drilling holes and milling slots that cross the entire PCB throughout all layers.
- three types of instructions are used: Linear interpolation, Circular interpolation for milling slots and XY coordinates for drilling holes.
- the drawing function of this layer is similar to the function of the drawing function of copper layers.
- FR4 Layer creation process has one more step: after milling and drilling tools, several small islands of material remains on bitmap as shown in Fig. 4 where the dark colour represents FR material and the black colour represents the drilled or cut areas.
- a flooding technique is used, more specifically, the four-way stack-based recursive algorithm (Fig. 6).
- the Fig. 5 presents an example of a FR4 Layer after application of flooding technique.
- the lighter colour represents saved FR4 material and the black colour represents void area (or without material).
- Flooding technique successfully eliminates the material islands thus remaining the true geometry of the real PCB.
- the first step of mesh creation consists in collecting the PCB dimensions: width, height and thickness. From these values the algorithm will determine the default size and number of elements and nodes across the board. Equation 1 and Equation 2 shows how PCB dimensions can define the number of elements as typical example. The number of elements in one row (E x ) is given by two times the board width divided by its thickness (Equation 1). The number of elements in one column (E y ) is given by two times the board height divided by its thickness (Equation 2). The Equation 3 and Equation 4 retrieve the number of nodes in both axis. The total number of nodes and elements of the mesh is given by Equation 5 and Equation 6.
- width width
- height thickness
- Equation 2 shows how PCB dimensions can define the number of elements as typical example.
- E x The number of elements in one row (E x ) is given by two times the board width divided by its thickness (Equation 1).
- the number of elements in one column (E y ) is given by two times the board height
- a regular square lattice is then superposed to the bitmap representing the layer of FR4, in order to generate the 2D mesh. Initially, all nodes are placed at same distance from neighbour ones in the XY plane. After placing all nodes, subsequent step is to compute all material transitions between nodes (or cutting points), since it is not possible to have nodes/elements in the void area according to the present disclosure. To correct the nodes/elements in void area four pre-defined stencils are applied to the mesh.
- the stencil of Fig. 7 is used when all nodes are in the same material : if all four nodes are located in FR4, the element stays unchanged; if all four nodes are located in the void area both the nodes and the element are deleted.
- An element with three nodes in FR4 and one node in void is modified by applying the stencil of Fig. 8, this stencil delete the old element and create three new degenerated elements (as shown in Fig. 8), two elements are composed by two nodes and a cutting point (dark point) and the third element has one node and two cutting points.
- the third stencil is applied in elements that have two nodes in FR4 and two in void, the result is still a quadrilateral element but slightly distorted (Fig. 9), defined by two nodes and two cutting points.
- Fig. 10 presents a stencil applied to elements with three nodes in void, the result is a degenerated element defined by one node and two cutting points.
- Another aspect is to how to eliminate lonely nodes located in void in order to have a mesh that respects the geometry of the PCB.
- An algorithm to solve this problem was developed and presented in Fig. 11. If a node is located in void has to be removed or moved according to its distance to the closest cutting point. If the distance to the closest cutting point is superior to a certain percentage (user-adjustable) of the distance between nodes, then the node is deleted and a new one is created in the cutting point. If the distance smaller than the prescribed one, the node will be moved to the cutting point. For instance, the node six of Fig. 11 has two cutting points with a distance smaller than the prescribed value, so the node will be moved to the closest cutting point.
- the downward and upward cutting points will be removed because the node number six is no longer in the void.
- the node seven does not have any cutting point nearby, so the node will be eliminated and replaced by the two cutting points, the first one between node seven and three and the second one between node seven and eight. Since the node seven no longer exists, the node eleven will be moved to the nearest cutting point in order to get a better replication of the hole presented in the Fig. 11.
- Fig. 12 has the result of the implementation of the algorithm presented in the Fig. 14.
- the final mesh with nodes connected is displayed in Fig. 13.
- the disclosed methods will be able to create different 3D models as presented in Fig. 15, Fig. 16, Fig. 17, Fig. 18.
- the first possible model is achieved by using 3D solid elements for every layer of PCB as shown in Fig. 15.
- the model is constructed using a single layer of elements of thick-shell 3D elements, in which are layered and stacked the different materials defining the model along the Z axis.
- the Fig. 17 presents a similar approach to the previous model, the sole difference lies in using 2D shell elements instead of a 3D thick shell elements.
- the last representative model (Fig. 18) of a PCB is made by combining 3D solid elements for FR4 with 2D membrane elements for the copper layers.
- the percentage of copper contained in an element is calculated by dividing the number of pixels of copper (i.e. lighter colour in fig. 20 or 21) by the total number of pixels of the element.
- Equation 9 The angular moment of a given body is given by Equation 9.
- the angular moment is demonstrated in a matrix form.
- the l xx , l xy and I yy are the moments of inertia needed to identify the main direction of copper material.
- the moments of inertia are shown in Equation 10, Equation 11 and E uation 12.
- the disclosed method embodiments allows a simplified yet precise calculation, that enables higher precision over the prior art while providing the same or improved computer running times.
- precision is improved and execution time is reduced.
- any element or node located outside the PCB shape even if only by a small margin, introduces large errors in to the finite element model. This is especially true for holes or slots (partial holes) of the PCB.
- only the largest conductive independent area needs to be taken into account when calculating the direction connected with the inertia tensor for obtaining a precise finite element model.
- the code can be arranged as firmware or software, and can be organized as a set of modules, including the various modules and algorithms described herein, such as discrete code modules, function calls, procedure calls or objects in an object-oriented programming environment. If implemented using modules, the code can comprise a single module or a plurality of modules that operate in cooperation with one another to configure the machine in which it is executed to perform the associated functions, as described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Method for converting a printed circuit board, PCB, gerber data to a finite element model, comprising: generating in-plane with the PCB a 2D mesh of cells; generating a stack of one or more finite elements from each 2D mesh cell, each said finite element corresponding to one or more PCB layers; calculating the geometric and material features of each finite element of each said stack from the PCB image description of the PCB layers delimited by the outline of the respective 2D mesh cell; outputting a finite element model comprising the nodes and connections of the calculated finite elements; wherein the 2D mesh of cells is delimited by the PCB shape from the PCB image description; wherein said PCB shape comprises the border of the PCB and the hole or holes of the PCB, if present; such that all finite element nodes are within the PCB shape.
Description
D E S C R I P T I O N
METHOD FOR CONVERTING GERBER DATA TO FINITE ELEMENT MODEL FOR PREDICTING PRINTED CIRCUIT BOARD WARPAGE
Technical field
[0001] The present disclosure relates to a method to convert a Printed Circuit Board, PCB, image description, in particular a PCB vector image file (e.g. Gerber file), to a finite element model (e.g. a computer-aided engineering, CAE, file), in particular a finite element model of thermo-mechanical loading. The finite element model data can be used for predicting deformation (e.g. warpage), thus being useful for preventing warpage in a PCB.
Background Art
[0002] The complex copper distribution and multi-layer structure of any real PCB (Printed Circuit Boards) leads to the occurrence of warpage. This situation occurs mainly due to the different thermomechanical behaviour of the two materials of a PCB (copper and FR4 - i.e. conductive and non-conductive layer materials of a PCB), and particularly due to their unbalanced elastic properties and CTEs (coefficient of thermal expansion), as well asymmetric behaviour resulting from the copper distribution within each layer of copper when subjected to arbitrary heating thermal loadings. Such thermal loadings can occur either on the PCB manufacturing process itself or during the assembling and soldering of the components. These conditions enhance the appearance of malfunctions and manufacturing defects.
[0003] Copper is the preferred material for embodying a conductive layer of a PCB. A copper PCB layer is mentioned interchangeably as a conductive PCB layer.
[0004] FR4 (or FR-4) is an example of a non-conductive layer providing stiffness to the PCB and separating the layers of copper. FR4 usually refers to a grade designation assigned to glass-reinforced epoxy laminate sheets used in printed circuit boards (PCB). FR4 is an example of a composite material layer composed of woven fibreglass cloth with an epoxy resin binder.
[0005] FR4 is a preferred material for embodying a support dielectric layer of a PCB. A FR4 layer is mentioned interchangeably as a dielectric PCB layer.
[0006] Warpage causes a piece or PCB to bend or twist, changing its size, contours and, mainly, local curvatures. Some of these deformation patterns have their origin on the thermos-mechanical material properties: some polymers and resins are more prone to this type of events, particularly the semicrystalline ones, as they display an anisotropic behaviour. However, since these properties are inherent to each material, the problem can only be minimized by modifying the copper distribution throughout the layers of the multi-layered PCB design.
[0007] Currently, during the designing process, PCB designers do not have a direct and precise method to predict and/or quantify the warpage phenomenon on the PCBs during and afterwards the soldering and manufacturing processes. The PCB designers do not have the required knowledge and expertise on finite elements to build a finite element model as input to the CAE (Computer Aided Engineering) software. Similarly, there is no tool capable of automatically translating/converting the information generated from the design software, usually in the gerber standard file, into a finite element model that can be used by numerical simulation tools, or it may be required a too long pre-processing step and special expertise on finite elements. Thus, warpage can only usually be known/measured once the manufacturing process is over, what clearly shows that a validation step is missing during the development of the PCBs, and can lead to higher costs and development delays.
[0008] Document US 7139678 B2 describes predicting a deformation of a board by dividing the board into a plurality of areas based on wiring information on the board; and predicting by grasping a wiring pattern of an area macroscopically, calculating an
equivalent physical property value equivalent to a modulus of longitudinal elasticity and a coefficient of thermal expansion by a finite element method, and predicting the deformation of the board based on the equivalent physical property value calculated for each of the areas divided by the board dividing unit.
[0009] Document US 7139678 B2 describes calculating equivalent physical properties for each PCB layer determined by whether the layer has directionality or not, or a layer which is "unrelated" to warpage - for the layers with directionality, it calculates an equivalent physical property value in each wiring direction for calculating the equivalent physical property values. It is a complex procedure as it is necessary to execute simulations for all combinations of: wiring pattern densities, moduli of longitudinal elasticity and coefficients of thermal expansion. It is stressed that all wiring directions are calculated. The speed and output precision of the overall method has shortcomings. Finally, document US 7139678 B2 does not seem to disclose examples for the "unrelated" layer, just that it is a layer not directly contributing to warp of an entire board.
[0010] In conclusion, there are several methods already known aiming to improve the PCB design, but none of them is suited to be integrated in the designing pipeline and to be used directly by the PCB designer.
[0011] These facts are disclosed in order to illustrate the technical problem addressed by the present disclosure.
General Description
[0012] The present disclosure relates to a method to prevent the warpage phenomenon in Printed Circuit Boards, by connecting automatically (and user-free) the gerber standard file data (which defines the PCB electric artworks) to a CAE model (a finite element model). More particularly, relates to a method to evaluate and estimate the PCB design in a quality and quantity manner, predicting a 3D representation of the PCB under any thermo-mechanical loading.
[0013] The present disclosure comprises in a straightforward method to predict the warpage on an arbitrarily complex PCB. With this disclosure, it is possible to predict, and thus minimize/optimize, the problems appearing during the components soldering due to the warpage phenomenon. This method fills the existing gap in the development of PCBs. Presently, the warpage measurement is made by producing prototypes and running experimental tests, which replicate the manufacturing process. The methods of the disclosure have as input the gerber files, i.e. the standard files generated by any commercial PCB development software (the same files that are sent to the PCB manufacturer and contain all the detailed information about the copper electric artworks, together with all dimensions and specifications). These files preferably comply with the RS-274X standard. Apart from the gerber files, this method/disclosure does not require any other specific information and it will not require any special expertise or skills from the user to work with a finite element solver. The resultant output is a finite element model which can then be used to carry out the numerical simulations with a finite elements solver such as Ansys(tm), Abaqus(tn) or any other adequate FEM solver.
[0014] The process according to embodiments of the disclosure can be divided into three parts:
[0015] Input Information: Gerber files are lines of code that follows preferably the RS- 274X standard containing the coordinates describing the geometry of all the elements of a PCB (macro geometry, number of layers of copper and specificities and specifications of each layer of copper). The necessary information regarding the PCBs (Printed Circuit Boards) exists in the gerber files that are generated by any commercial software for development/designing of PCBs, and allows the manufacturer to have access to all the information required for the manufacture, such as: dimensions, holes, copper circuits, number of layers, among other important information.
[0016] Processing: at this stage, the methods of the disclosure will access the information enclosed in the gerber files and, after that, it will convert the gerber commands contained in those files into graphic binary structures (bitmaps). Through these bitmaps it will be generated a finite element mesh enhanced with the geometric
properties of each finite element of copper such as: area fraction of copper, inertia tensor and centre of mass. The resulting and necessary data will be exported to a text file in order to run the finite elements simulation.
[0017] Information output: From the previous processing step all the necessary information for the numerical simulation will be provided in the form of: a finite element mesh (nodes, and connectivity), material properties, boundary conditions, element properties and simulation conditions, along with specific data (area fraction of copper, inertia tensor describing the layers of copper). This information is exported in a format compatible with the CAE tools such as Abaqus, Ansys or any other adequate FEM solver. Starting from these data, the CAE tools will be able to determine the displacement fields of PCB under analysis, and thus estimate the amount of warpage associated with the prescribed thermo-mechanical loadings.
[0018] The above described procedure has two main processing focus.
[0019] The first one (1st step) is reading and processing the information of the gerber files. These information is discretized and temporarily stored in high-resolution bitmaps, i.e. bitmaps are generated based on the information defining the geometric features on each layer of copper existent on the PCB. A bitmap representing the layers of FR4 (a non-conductive layer providing stiffness to the PCB and separating the layers of copper) will also be created.
[0020] The second step is the finite element mesh generation, which will be a 3D representation of the real macroscopic geometry of the PCB defined by the gerber file, i.e. overall dimensions, channels and holes, and the geometric specificities associated with the copper distribution inside each finite element describing the layers of copper. So, the finite element mesh created by this method consists of the Cartesian nodal coordinates of all nodes defining the PCB geometry, the connectivity between these nodes, as well the geometric and material features associated to each finite element. The mesh information will be preferably exported in a format compatible with a selected external CAE software.
[0021] The FE mesh refinement can be adjusted by the user, between a more refined or coarser FE mesh. By default, an in-plane FE size of substantially 50% of the PCB thickness is proposed, but normally this can be 10 - 200% of the PCT thickness, in particular 25% - 100% of PCB thickness.
[0022] The algorithm is prepared to write out finite element meshes based on the following FE types: (i) full 3D finite elements, using 3D tri-linear 8-node hexahedra elements to model both FR4 and copper layers; (ii) hybrid 3D+2D finite elements, using 3D tri-linear 8-node hexahedra elements to model the FR4 layers and 2D bi-linear 4- node quadrilateral membrane elements to model the copper layers; (iii) thick-shell 2.5D finite elements, i.e. using only one layer of finite elements through-thickness to describe, in a single finite element (3D tri-linear 8-node hexahedron) all layers of both FR4 and copper; and (iV) 2D shell finite elements, using 2D bi-linear 4-node quadrilateral shell elements to model with a single shell element all layers of both FR4 and copper.
[0023] The specific data associated to each finite element describing the copper layers aims to characterize the distribution of copper inside of each finite element. These information will be used latter on a homogenization technique in order to take into account the specificities of copper distribution inside each finite element. At the element level, the following data will be computed and outputted for each finite element describing the layers of copper: (i) area fraction of copper; (ii) number of independent islands of copper inside of the finite element; (iii) inertia tensor of the largest domain of copper inside of the finite element; (iv) centre of mass of the islands of copper; (v) thickness of the layer of copper.
[0024] The inertia tensor is computed in a local frame centred on the centre of mass, with axes parallel to the axes of the global Cartesian frame. Known the inertia tensor, their eigenvectors and eigenvalues are computed: the eigenvectors determine the orientation of the copper area fraction within the finite element, and the eigenvalues (the ratio of) allow to estimate the level of anisotropy of the copper distribution within the finite element. Both eigenvectors and eigenvalues of the inertia tensor play a key
role in the identification of the homogenized thermo-mechanical properties of each finite element.
[0025] The inertia tensor is computed taking into account only for the largest island of copper inside a given finite element. This is a relevant preferred embodiment for the disclosed method, because it allows to capture more accurately the real orientation of the copper inside of a given finite element.
[0026] It is disclosed a method for converting a printed circuit board, PCB, image description to a finite element model, said PCB comprising one or more conductive layers and one or more dielectric layers for insulation and support of the conductive layers, comprising the steps of:
generating in-plane with the PCB a 2D mesh of cells;
generating a stack of one or more finite elements from each 2D mesh cell, each said finite element corresponding to one or more PCB layers;
calculating the geometric and material features of each finite element of each said stack from the PCB image description of the PCB layers delimited by the outline of the respective 2D mesh cell;
outputting a finite element model comprising the nodes and connections of the calculated finite elements;
characterized in that
the 2D mesh of cells is delimited by the PCB shape from the PCB image description;
wherein said PCB shape comprises the border of the PCB and the hole or holes of the PCB, if present;
such that all finite element nodes are within the PCB shape.
[0027] A PCB hole can be a full hole (e.g. drilled) or a partial hole (e.g. a slot).
[0028] In an embodiment, each finite element is calculated having an inertia tensor defined by the largest conductive independent area of each corresponding conductive layer or layers delimited by the outline of the respective 2D mesh cell.
[0029] Method according to any of the previous claims wherein the generated in- plane 2D mesh of cells is a node grid of squares or rectangles, which have been deformed or cut until the 2D mesh of cells is delimited by the PCB shape, such that all finite element nodes will be within the PCB shape.
[0030] An embodiment comprises, for deforming or splitting the square or rectangle grid cells, the step of:
if all four nodes of the grid cell are located outside the PCB shape, deleting the cell and all four nodes;
if one node of the grid cell is located outside the PCB shape, deleting the outside node and splitting the cell into three contiguous rectangular cells within the PCB shape and discarding the part of the original cell located outside the PCB shape; if two nodes of the grid cell are located outside the PCB shape, deleting the outside nodes and splitting the cell into a non-rectangular quadrilateral cell within the PCB shape and discarding the part of the original cell located outside the PCB shape;
if three nodes of the grid cell are located outside the PCB shape, deleting the outside nodes and splitting the cell into a triangular cell within the PCB shape and discarding the part of the original cell located outside the PCB shape.
[0031] An embodiment comprises, for deleting finite element nodes located outside the PCB shape, the following steps, for each node located outside the PCB shape:
calculating the distance between the node located outside the PCB shape and the nearest new node to be created by the splitting of the cell;
if the distance is below a predefined threshold distance, then the node located outside the PCB shape is moved to the position of the nearest new node that was to be created and takes its place;
if the distance is above a predefined threshold distance, the node located outside the PCB shape is deleted and a new node is created for said splitting of the cell.
[0032] In an embodiment, the predefined threshold distance is a percentage of the grid spacing, in particular substantially 20% of the grid spacing.
[0033] In an embodiment, the stack is a stack of one finite element and said finite element is a bi-linear 4-node quadrilateral element calculated for all layers of the PCB delimited by the respective 2D mesh cell.
[0034] In an embodiment, the stack is a stack of one finite element and said finite element is a tri-linear 8-node hexahedron element calculated for all layers of the PCB delimited by the respective 2D mesh cell.
[0035] In an embodiment, the stack is a stack of:
a tri-linear 8-node hexahedron finite element calculated for each dielectric layer, and
a bi-linear 4-node quadrilateral element calculated for each conductive layer.
[0036] In an embodiment, the stack is a stack of:
a tri-linear 8-node hexahedron finite element calculated for each dielectric layer, and
a tri-linear 8-node hexahedron finite element calculated for each conductive layer.
[0037] In an embodiment, the 2D mesh cells have a dimension of 10 - 200% of the PCT thickness, in particular 25% - 100% of PCB thickness, further in particular substantially 50% of the PCB thickness.
[0038] The dimension of a cell can be defined as being the size of the largest line joining two periphery points of the cell. For example, in a rectangle it is the size of the larger side.
[0039] In an embodiment, the inputs of the calculation of each finite element, from the PCB image description, for the corresponding conductive layer or layers delimited by the outline of the respective 2D mesh cell, comprise:
the area fraction of conductive areas;
the number of independent conductive areas;
the centre of mass of the conductive areas; and/or
the thickness of the conductive layer or layers.
[0040] In an embodiment, the inputs of the calculation of each finite element, comprise the eigenvector and eigenvalues of the respective inertia tensor.
[0041] An embodiment comprises the previous step of discretising the PCB image description into image bitmaps of each conductive layer and of each dielectric layer.
[0042] In an embodiment, a hole of the PCB is a PCB slot, a PCB cut-out, a PCB drilled hole, a PCB channel, a PCB recess, a PCB notch or a PCB rip.
[0043] In an embodiment, the PCB image description is a structured data record.
[0044] In an embodiment, the PCB image description is a gerber file.
[0045] In an embodiment, each conductive layer is a copper PCB layer.
[0046] In an embodiment, each dielectric layer is a FR4 PCB layer.
[0047] It is also described a non-transitory storage media including program instructions for implementing a converter of a printed circuit board, PCB, image description to a finite element model, the program instructions including instructions executable to carry out any of the above methods.
[0048] It is also described a converter of a printed circuit board, PCB, image description to a finite element model, comprising a data processor having a non- transitory storage media including program instructions executable by the data processor to carry out any of the above methods.
Brief Description of the Drawings
[0049] The following figures provide preferred embodiments for illustrating the description and should not be seen as limiting the scope of invention.
[0050] Figure 1: Schematic representation of an embodiment of the main data pipeline of the disclosed algorithm.
[0051] Figure 2: Schematic representation of an embodiment of one copper layer of a PCB.
[0052] Figure 3: Schematic representation of an embodiment of the zoom of a copper Layer in order to show the accuracy of shape replication.
[0053] Figure 4: Schematic representation of an embodiment of the FR4 Layer before applying the flooding algorithm.
[0054] Figure 5: Schematic representation of an embodiment of the FR4 Layer after applying the flooding algorithm.
[0055] Figure 6: Schematic representation of an embodiment of the Implemented flood fill four-way stack-based recursive algorithm.
[0056] Figure 7: Schematic representation of an embodiment of the four-nodes stencil: All original nodes are in the same material.
[0057] Figure 8: Schematic representation of an embodiment of the one-node stencil: Three original nodes in FR4, one in void.
[0058] Figure 9: Schematic representation of an embodiment of the two-nodes stencil: Two original nodes for each material.
[0059] Figure 10: Schematic representation of an embodiment of the three-nodes stencil: One original node in FR4, three in void.
[0060] Figure 11: Schematic representation of an embodiment of the nodes and cutting points initial placement.
[0061] Figure 12: Schematic representation of an embodiment of the final position of nodes and cutting points.
[0062] Figure 13: Schematic representation of an embodiment of the final mesh with nodes connected.
[0063] Figure 14: Schematic representation of an embodiment of the checking nodes algorithm.
[0064] Figure 15: Schematic representation of an embodiment of the 3D model using solely 3D Solid elements.
[0065] Figure 16: Schematic representation of an embodiment of the 3D model using 3D Thick-Shell elements (multi-layer).
[0066] Figure 17: Schematic representation of an embodiment of the 3D model using 2D Shell Element (multi-layer).
[0067] Figure 18: Schematic representation of an embodiment of the 3D model using 3D Solid elements for FR4 layers and 2D membrane elements for copper layers.
[0068] Figure 19: Schematic representation of an embodiment of the isometric view of a 3D model of a PCB.
[0069] Figure 20: Schematic representation of an embodiment of the mesh applied to copper layers.
[0070] Figure 21: Schematic representation of an example of a finite element with one copper trace.
[0071] Figure 22: Schematic representation of an embodiment of an example of a finite element with one copper trace with centre of mass and eigenvectors.
Detailed Description
[0072] The disclosed methods can be divided in four main processes as shown in Fig. 1. The first process is reading gerber files, sort and store the information in different type of classes (or data structures). The second process is converting the acquired information from millimetres/inches into graphic structures of pixels (Bitmaps). The third process uses the base layer of the PCB (FR4 Layer) to create a 2D mesh. The final process consists in creating the 3D model of the PCB from the 2D mesh along with copper element properties, such as: area fraction of copper, centre of mass and the inertia tensor.
[0073] The processing stage can be divided into two steps, data acquisition and image creation. In data acquisition, the information in gerber files is read, organized and stored into different types of structures (or classes) depending on the aperture shape.
If aperture is a standard aperture (line or pad) can be stored in a Linear Interpolation structure, Pad structure or Circular Interpolation structure according to the type of element read from Gerber file.
[0074] After acquisition of each layer, the information is sorted, converted into pixels and printed. The bitmap creation is divided primarily by layer (or gerber file) and then divided by shape. This approach allows the creation of simple cycles of same function and also prioritizing the access to the same class instead of jumping between classes, and therefore saving processing time. The processing order of drawing the bitmaps are: Linear Interpolation, Circular Interpolation, Pad and Irregular Shapes. The results are illustrated in Fig. 2 and Fig. 3. The first image shows the entire copper layer of a real PCB. The Fig. 3 shows with more detail the geometry of a printed circuit and the accuracy of shape replication given by the disclosed methods.
[0075] Parallel to the creation of copper layers, the FR4 layer is also created. This second process is entirely independent from the first (creation of copper layers). The FR4 layer is the dielectric layer made by fibre glass and epoxy resin inserted between the copper layers, isolating electrically the layers of copper. The FR4 also represents the main physical format of the PCB. For the process of creating the FR4 layer, it is needed the milling and drilling files. These files define the drilling holes and milling slots that cross the entire PCB throughout all layers. For the creations of the FR4 layer, three types of instructions are used: Linear interpolation, Circular interpolation for milling slots and XY coordinates for drilling holes. The drawing function of this layer is similar to the function of the drawing function of copper layers. However FR4 Layer creation process has one more step: after milling and drilling tools, several small islands of material remains on bitmap as shown in Fig. 4 where the dark colour represents FR material and the black colour represents the drilled or cut areas. In order to remove the islands of (lost) material, a flooding technique is used, more specifically, the four-way stack-based recursive algorithm (Fig. 6). The Fig. 5 presents an example of a FR4 Layer after application of flooding technique. The lighter colour represents saved FR4 material and the black colour represents void area (or without
material). Flooding technique successfully eliminates the material islands thus remaining the true geometry of the real PCB.
[0076] The first step of mesh creation consists in collecting the PCB dimensions: width, height and thickness. From these values the algorithm will determine the default size and number of elements and nodes across the board. Equation 1 and Equation 2 shows how PCB dimensions can define the number of elements as typical example. The number of elements in one row (Ex) is given by two times the board width divided by its thickness (Equation 1). The number of elements in one column (Ey) is given by two times the board height divided by its thickness (Equation 2). The Equation 3 and Equation 4 retrieve the number of nodes in both axis. The total number of nodes and elements of the mesh is given by Equation 5 and Equation 6. width
EY = x 2 heiqht
Ev =—— x 2
ny = Ey + 1
E total— Ex X Ey
ntotal— nx x ny
[0077] A regular square lattice is then superposed to the bitmap representing the layer of FR4, in order to generate the 2D mesh. Initially, all nodes are placed at same distance from neighbour ones in the XY plane. After placing all nodes, subsequent step
is to compute all material transitions between nodes (or cutting points), since it is not possible to have nodes/elements in the void area according to the present disclosure. To correct the nodes/elements in void area four pre-defined stencils are applied to the mesh.
[0078] The stencil of Fig. 7 is used when all nodes are in the same material : if all four nodes are located in FR4, the element stays unchanged; if all four nodes are located in the void area both the nodes and the element are deleted. An element with three nodes in FR4 and one node in void is modified by applying the stencil of Fig. 8, this stencil delete the old element and create three new degenerated elements (as shown in Fig. 8), two elements are composed by two nodes and a cutting point (dark point) and the third element has one node and two cutting points. The third stencil is applied in elements that have two nodes in FR4 and two in void, the result is still a quadrilateral element but slightly distorted (Fig. 9), defined by two nodes and two cutting points. Fig. 10 presents a stencil applied to elements with three nodes in void, the result is a degenerated element defined by one node and two cutting points.
[0079] Another aspect is to how to eliminate lonely nodes located in void in order to have a mesh that respects the geometry of the PCB. An algorithm to solve this problem was developed and presented in Fig. 11. If a node is located in void has to be removed or moved according to its distance to the closest cutting point. If the distance to the closest cutting point is superior to a certain percentage (user-adjustable) of the distance between nodes, then the node is deleted and a new one is created in the cutting point. If the distance smaller than the prescribed one, the node will be moved to the cutting point. For instance, the node six of Fig. 11 has two cutting points with a distance smaller than the prescribed value, so the node will be moved to the closest cutting point. The downward and upward cutting points will be removed because the node number six is no longer in the void. The node seven does not have any cutting point nearby, so the node will be eliminated and replaced by the two cutting points, the first one between node seven and three and the second one between node seven and eight. Since the node seven no longer exists, the node eleven will be moved to the nearest cutting point in order to get a better replication of the hole presented in the
Fig. 11. In Fig. 12 has the result of the implementation of the algorithm presented in the Fig. 14. The final mesh with nodes connected is displayed in Fig. 13.
[0080] The disclosed methods will be able to create different 3D models as presented in Fig. 15, Fig. 16, Fig. 17, Fig. 18. The first possible model is achieved by using 3D solid elements for every layer of PCB as shown in Fig. 15. In Fig. 16 the model is constructed using a single layer of elements of thick-shell 3D elements, in which are layered and stacked the different materials defining the model along the Z axis. The Fig. 17 presents a similar approach to the previous model, the sole difference lies in using 2D shell elements instead of a 3D thick shell elements. The last representative model (Fig. 18) of a PCB is made by combining 3D solid elements for FR4 with 2D membrane elements for the copper layers.
[0081] By applying the mesh to copper layers (Fig. 20), it is possible to see that most of copper elements are not fully filled with copper, but with a mixture of copper (light colour) and epoxy resin (black colour). In order to have a more realistic simulation is preferably necessary to compute and export to the solver (e.g.Ansys(tm), Abaqus(tm) or any other suitable FEM solver) more information than just the main material or the area fraction. The information will involve:
- Percentage of area copper in each element;
- Coordinates of the centre of mass of copper islands/bodies;
- Number of copper bodies in element.
- Inertia tensor of the largest copper body (To calculate eigenvalues and eigenvectors);
[0082] The information only covers X and Y axes, because the problem resides in the XY plane. Once known how copper is distributed inside each element in the XY plane the distribution will be the same through-thickness of the copper layer under analysis.
[0083] The percentage of copper contained in an element is calculated by dividing the number of pixels of copper (i.e. lighter colour in fig. 20 or 21) by the total number of pixels of the element. The centre of mass coordinates are given by Equation 7 and Equation 8.
∑i=l mixi (7)
M
∑i=i m yi
Vcm ~ (8)
M
[0084] The angular moment of a given body is given by Equation 9. The angular moment is demonstrated in a matrix form. As stated before the problem resides in the XY plane, the lxx, lxy and Iyy are the moments of inertia needed to identify the main direction of copper material. The moments of inertia are shown in Equation 10, Equation 11 and E uation 12.
N
%i %cm) (10)
N
Ιχγ— lyx— ∑(χί - xcm) {yi - ycm) m,i (12)
1 =1
[0085] The moments of inertia per se do not give the direction of the material; it is necessary to calculate the direction of the vectors and the intensity of those vectors: it is necessary to calculate eigenvalues and eigenvectors of the inertia tensor. Solving the characteristic Equation 13 are retrieved two values, those values are the eigenvalues of the matrix. The eigenvectors are calculated by solving the system of Equation 14.
[0086] Using the example of Fig. 21 and applying all equations from Equation 7 to Equation 14 to that element the retrieved information is shown in Fig. 22.
xx - λ I xy
p(X) = det (13)
[0087] The disclosed method embodiments allows a simplified yet precise calculation, that enables higher precision over the prior art while providing the same or improved computer running times. In particular, by creating a mesh avoiding nodes located the PCB shape and by using only the inertia tensor defined by the largest conductive independent area within each finite element, precision is improved and execution time is reduced. It was surprisingly found that any element or node located outside the PCB shape, even if only by a small margin, introduces large errors in to the finite element model. This is especially true for holes or slots (partial holes) of the PCB. It was also surprisingly found that only the largest conductive independent area needs to be taken into account when calculating the direction connected with the inertia tensor for obtaining a precise finite element model.
[0088] The term "comprising" whenever used in this document is intended to indicate the presence of stated features, integers, steps, components, but not to preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
[0089] Flow diagrams of particular embodiments of the presently disclosed methods are depicted in figures. The flow diagrams do not depict any particular means, rather the flow diagrams illustrate the functional information one of ordinary skill in the art requires to perform said methods required in accordance with the present disclosure.
[0090] It will be appreciated by those of ordinary skill in the art that unless otherwise indicated herein, the particular sequence of steps described is illustrative only and can be varied without departing from the disclosure. Thus, unless otherwise stated the steps described are so unordered meaning that, when possible, the steps can be performed in any convenient or desirable order.
[0091] It is to be appreciated that certain embodiments of the disclosure as described herein may be incorporated as code (e.g., a software algorithm or program) residing in firmware and/or on computer useable medium having control logic for enabling execution on a computer system having a computer processor, such as any of the servers described herein. Such a computer system typically includes memory storage configured to provide output from execution of the code which configures a processor in accordance with the execution. The code can be arranged as firmware or software, and can be organized as a set of modules, including the various modules and algorithms described herein, such as discrete code modules, function calls, procedure calls or objects in an object-oriented programming environment. If implemented using modules, the code can comprise a single module or a plurality of modules that operate in cooperation with one another to configure the machine in which it is executed to perform the associated functions, as described herein.
[0092] The disclosure should not be seen in any way restricted to the embodiments described and a person with ordinary skill in the art will foresee many possibilities to modifications thereof.
[0093] The above described embodiments are combinable.
[0094] The following claims further set out particular embodiments of the disclosure.
Claims
1. Method for converting a printed circuit board, PCB, image description to a finite element model, said PCB comprising one or more conductive layers and one or more dielectric layers for insulation and support of the conductive layers, comprising the steps of:
generating in-plane with the PCB a 2D mesh of cells;
generating a stack of one or more finite elements from each 2D mesh cell, each said finite element corresponding to one or more PCB layers;
calculating the geometric and material features of each finite element of each said stack from the PCB image description of the PCB layers delimited by the outline of the respective 2D mesh cell;
outputting a finite element model comprising the nodes and connections of the calculated finite elements;
characterized in that
the 2D mesh of cells is delimited by the PCB shape from the PCB image description;
wherein said PCB shape comprises the border of the PCB and the hole or holes of the PCB, if present;
such that all finite element nodes are within the PCB shape.
2. Method according to claim 1 wherein each finite element is calculated having an inertia tensor defined by the largest conductive independent area of each corresponding conductive layer or layers delimited by the outline of the respective 2D mesh cell.
3. Method according to any of the previous claims wherein the generated in-plane 2D mesh of cells is a node grid of squares or rectangles, which have been
deformed or cut until the 2D mesh of cells is delimited by the PCB shape, such that all finite element nodes will be within the PCB shape.
Method according to the previous claim comprising, for deforming or splitting the square or rectangle grid cells, the step of:
if all four nodes of the grid cell are located outside the PCB shape, deleting the cell and all four nodes;
if one node of the grid cell is located outside the PCB shape, deleting the outside node and splitting the cell into three contiguous rectangular cells within the PCB shape and discarding the part of the original cell located outside the PCB shape; if two nodes of the grid cell are located outside the PCB shape, deleting the outside nodes and splitting the cell into a non-rectangular quadrilateral cell within the PCB shape and discarding the part of the original cell located outside the PCB shape;
if three nodes of the grid cell are located outside the PCB shape, deleting the outside nodes and splitting the cell into a triangular cell within the PCB shape and discarding the part of the original cell located outside the PCB shape.
Method according to the previous claim, further comprising for deleting finite element nodes located outside the PCB shape, the following steps, for each node located outside the PCB shape:
calculating the distance between the node located outside the PCB shape and the nearest new node to be created by the splitting of the cell;
if the distance is below a predefined threshold distance, then the node located outside the PCB shape is moved to the position of the nearest new node that was to be created and takes its place;
if the distance is above a predefined threshold distance, the node located outside the PCB shape is deleted and a new node is created for said splitting of the cell.
6. Method according to the previous claim, wherein the predefined threshold distance is a percentage of the grid spacing, in particular substantially 20% of the grid spacing.
7. Method according to any of the claims 1 - 6 wherein the stack is a stack of one finite element and said finite element is a bi-linear 4-node quadrilateral element calculated for all layers of the PCB delimited by the respective 2D mesh cell.
8. Method according to any of the claims 1 - 6 wherein the stack is a stack of one finite element and said finite element is a tri-linear 8-node hexahedron element calculated for all layers of the PCB delimited by the respective 2D mesh cell.
9. Method according to any of the claims 1 - 6 wherein the stack is a stack of:
a tri-linear 8-node hexahedron finite element calculated for each dielectric layer, and
a bi-linear 4-node quadrilateral element calculated for each conductive layer.
10. Method according to any of the claims 1 - 6 wherein the stack is a stack of:
a tri-linear 8-node hexahedron finite element calculated for each dielectric layer, and
a tri-linear 8-node hexahedron finite element calculated for each conductive layer.
11. Method according to any of the previous claims wherein the 2D mesh cells have a dimension of 10 - 200% of the PCT thickness, in particular 25% - 100% of PCB thickness, further in particular substantially 50% of the PCB thickness.
12. Method according to any of the previous claims wherein the inputs of the calculation of each finite element, from the PCB image description, for the corresponding conductive layer or layers delimited by the outline of the respective 2D mesh cell, comprise:
the area fraction of conductive areas;
the number of independent conductive areas;
the centre of mass of the conductive areas; and/or
the thickness of the conductive layer or layers.
13. Method according to claim 2 and any of the claims 2-12 wherein the inputs of the calculation of each finite element, comprise:
the eigenvector and eigenvalues of the respective inertia tensor.
14. Method according to any of the previous claims comprising the previous step of discretising the PCB image description into image bitmaps of each conductive layer and of each dielectric layer.
15. Method according to any of the previous claims wherein a hole of the PCB is a PCB slot, a PCB cut-out, a PCB drilled hole, a PCB channel, a PCB recess, a PCB notch or a PCB rip.
16. Method according to any of the previous claims wherein the PCB image description is a structured data record.
17. Method according to any of the previous claims wherein the PCB image description is a gerber file.
18. Method according to any of the previous claims wherein each conductive layer is a copper PCB layer.
19. Method according to any of the previous claims wherein each dielectric layer is a FR4 PCB layer.
20. Non-transitory storage media including program instructions for implementing a converter of a printed circuit board, PCB, image description to a finite element model, the program instructions including instructions executable to carry out the method of any of the claims 1-19.
21. Converter of a printed circuit board, PCB, image description to a finite element model, comprising a data processor having a non-transitory storage media including program instructions executable by the data processor to carry out the method of any of the claims 1-19.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PT10859415 | 2015-06-29 | ||
PT108594 | 2015-06-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017001890A1 true WO2017001890A1 (en) | 2017-01-05 |
Family
ID=57607957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2015/054882 WO2017001890A1 (en) | 2015-06-29 | 2015-06-29 | Method for converting gerber data to finite element model for predicting printed circuit board warpage |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2017001890A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446541A (en) * | 2018-08-31 | 2019-03-08 | 北京理工大学 | A kind of method of body diamond shape cutting finite element grid modeling |
CN109858161A (en) * | 2019-02-01 | 2019-06-07 | 东北大学 | A kind of Abaqus Meshing Method based on Midas modeling and Matlab conversion |
CN111539180A (en) * | 2019-01-21 | 2020-08-14 | 三星电子株式会社 | Computer-implemented method, system and storage medium for printed circuit board simulation |
CN112560385A (en) * | 2020-12-07 | 2021-03-26 | 芯和半导体科技(上海)有限公司 | Layered sweep grid dividing method applied to packaging |
CN113344931A (en) * | 2021-08-09 | 2021-09-03 | 深圳智检慧通科技有限公司 | Plug-in visual detection and identification method, readable storage medium and device |
CN114708210A (en) * | 2022-03-28 | 2022-07-05 | 苏州浪潮智能科技有限公司 | Cross-segmentation detection method for optical drawing file |
US11797731B2 (en) * | 2020-01-08 | 2023-10-24 | Ansys, Inc. | Systems and methods for simulating printed circuit board components |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139678B2 (en) | 2004-08-11 | 2006-11-21 | Fujitsu Limited | Method and apparatus for predicting board deformation, and computer product |
US20090030660A1 (en) * | 2007-07-24 | 2009-01-29 | Lsi Logic Corporation | Method and apparatus for generating fully detailed three-dimensional electronic package and pcb board models |
-
2015
- 2015-06-29 WO PCT/IB2015/054882 patent/WO2017001890A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139678B2 (en) | 2004-08-11 | 2006-11-21 | Fujitsu Limited | Method and apparatus for predicting board deformation, and computer product |
US20090030660A1 (en) * | 2007-07-24 | 2009-01-29 | Lsi Logic Corporation | Method and apparatus for generating fully detailed three-dimensional electronic package and pcb board models |
Non-Patent Citations (3)
Title |
---|
DOGRUOZ B AND NAGULAPALLY M K: "Effects of Trace Layers and Joule Heating on the Temperature Distribution of Printed Circuit Boards: A Computational Study", J. THERMAL SCI. ENG. APPL, vol. 1, no. 2, 12 November 2009 (2009-11-12), pages 22003-1 - 22003-10, XP009188697 * |
MCCASLIN L O ET AL: "Methodology for Modeling Substrate Warpage Using Copper Trace Pattern Implementation", IEEE TRANSACTIONS ON ADVANCED PACKAGING, vol. 32, no. 4, November 2009 (2009-11-01), pages 740 - 745, XP011346288, ISSN: 1521-3323, DOI: 10.1109/TADVP.2009.2023464 * |
ZWEMER D ET AL: "PWB warpage analysis and verification using an AP210 standards-based engineering framework and shadow moire", THERMAL AND MECHANICAL SIMULATION AND EXPERIMENTS IN MICROELECTRONICS AND MICROSYSTEMS, PROCEEDINGS OF EUROSIME 2004, BRUSSELS, BELGIUM 10-12 MAY 2004, 10 May 2004 (2004-05-10), pages 121 - 131, XP010726294, ISBN: 978-0-7803-8420-0, DOI: 10.1109/ESIME.2004.1304031 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446541A (en) * | 2018-08-31 | 2019-03-08 | 北京理工大学 | A kind of method of body diamond shape cutting finite element grid modeling |
CN109446541B (en) * | 2018-08-31 | 2022-08-23 | 北京理工大学 | Finite element mesh modeling method for projectile rhombus grooving |
CN111539180A (en) * | 2019-01-21 | 2020-08-14 | 三星电子株式会社 | Computer-implemented method, system and storage medium for printed circuit board simulation |
CN111539180B (en) * | 2019-01-21 | 2023-11-24 | 三星电子株式会社 | Computer-implemented method, system, and storage medium for printed circuit board simulation |
CN109858161A (en) * | 2019-02-01 | 2019-06-07 | 东北大学 | A kind of Abaqus Meshing Method based on Midas modeling and Matlab conversion |
US11797731B2 (en) * | 2020-01-08 | 2023-10-24 | Ansys, Inc. | Systems and methods for simulating printed circuit board components |
CN112560385A (en) * | 2020-12-07 | 2021-03-26 | 芯和半导体科技(上海)有限公司 | Layered sweep grid dividing method applied to packaging |
CN113344931A (en) * | 2021-08-09 | 2021-09-03 | 深圳智检慧通科技有限公司 | Plug-in visual detection and identification method, readable storage medium and device |
CN114708210A (en) * | 2022-03-28 | 2022-07-05 | 苏州浪潮智能科技有限公司 | Cross-segmentation detection method for optical drawing file |
CN114708210B (en) * | 2022-03-28 | 2024-01-09 | 苏州浪潮智能科技有限公司 | Cross-segmentation detection method for photo-drawn file |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017001890A1 (en) | Method for converting gerber data to finite element model for predicting printed circuit board warpage | |
JP3995926B2 (en) | Structure analysis program, structure analysis method, structure analysis apparatus, and semiconductor integrated circuit manufacturing method | |
KR101142881B1 (en) | Analyzer, analysis method, and computer-readable storage medium recording analysis program | |
CN116090316B (en) | PCB two-dimensional unstructured grid generation method and system | |
CN102439469A (en) | Unit-aware fault model creation and pattern generation | |
US20060173660A1 (en) | Structural analysis method employing finite element method | |
US20090030660A1 (en) | Method and apparatus for generating fully detailed three-dimensional electronic package and pcb board models | |
CN115544957A (en) | Board-level heat dissipation simulation method, system and medium | |
CN102177518B (en) | Method and device for producing a finite element model | |
CN114282413A (en) | Simulation method and system for press-fit molding process of printed circuit board | |
JP4450751B2 (en) | Mesh model creation method, simulation apparatus, and program | |
JP2010257164A (en) | Design method of semiconductor integrated circuit device, and program | |
US20080100619A1 (en) | Mesh generation method and computer-readable article for executing the method | |
CN109800496A (en) | A method of via hole is added along pcb board side | |
US20240086591A1 (en) | Systems and methods for simulating printed circuit board components | |
CN114912306B (en) | Modeling method of 2.5D woven composite material flat plate structure multi-scale model | |
US7310786B2 (en) | IC compaction system | |
CN115345121A (en) | Full life cycle numerical simulation method and system for printed circuit board | |
JP2008217251A (en) | Analysis apparatus, analysis method and analysis program | |
KR100806626B1 (en) | Method of modelling for numerical analysys of pcb heat transfer using gerber file | |
JP5625921B2 (en) | Circuit design support program, circuit design support method, and circuit design support apparatus | |
US8880386B2 (en) | Method for circuit simulation | |
CN112182798B (en) | Grid construction method and structure of connecting component embedded into plate structure | |
US12094059B1 (en) | Anisotropic polyhedra boundary layer adaptation method | |
US11741284B2 (en) | Systems and methods of automatic generation of integrated circuit IP blocks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15738753 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15738753 Country of ref document: EP Kind code of ref document: A1 |