WO2012063284A1 - 半導体パッケージの端子の割り付け方法、半導体パッケージの端子の割り付け支援装置、半導体パッケージ、および、半導体パッケージの端子の割り付け方法を実行するプログラム - Google Patents
半導体パッケージの端子の割り付け方法、半導体パッケージの端子の割り付け支援装置、半導体パッケージ、および、半導体パッケージの端子の割り付け方法を実行するプログラム Download PDFInfo
- Publication number
- WO2012063284A1 WO2012063284A1 PCT/JP2010/006596 JP2010006596W WO2012063284A1 WO 2012063284 A1 WO2012063284 A1 WO 2012063284A1 JP 2010006596 W JP2010006596 W JP 2010006596W WO 2012063284 A1 WO2012063284 A1 WO 2012063284A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- terminal
- allocation
- pad
- pads
- distance
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/48—Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor
- H01L23/50—Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor for integrated circuit devices, e.g. power bus, number of leads
-
- 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
-
- 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/392—Floor-planning or layout, e.g. partitioning or placement
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/48—Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor
- H01L23/488—Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor consisting of soldered or bonded constructions
- H01L23/498—Leads, i.e. metallisations or lead-frames on insulating substrates, e.g. chip carriers
- H01L23/49811—Additional leads joined to the metallisation on the insulating substrate, e.g. pins, bumps, wires, flat leads
- H01L23/49816—Spherical bumps on the substrate for external connection, e.g. ball grid arrays [BGA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/18—Chip packaging
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/0001—Technical content checked by a classifier
- H01L2924/0002—Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
Definitions
- the present invention relates to a method for assigning terminals of a semiconductor package for assigning each of a plurality of terminals of a package substrate to which the semiconductor chip is bonded to each of a plurality of pads of the semiconductor chip, a program for executing this determination method,
- the present invention relates to a terminal allocation support device and a semiconductor package.
- a semiconductor chip including a semiconductor element or the like is bonded to a package substrate and mounted on a printed wiring board or the like as a semiconductor package.
- a semiconductor package a plurality of pads of a semiconductor chip and a plurality of terminals provided at predetermined positions on the package substrate are electrically connected by bonding wires, and via a wiring provided on the package substrate. Are electrically connected.
- terminal refers to the bonding of a package substrate to which a semiconductor chip is bonded, which is connected to bumps (balls), lands, or pins of the package substrate used when the package substrate is bonded to a printed wiring board via vias or the like.
- a terminal provided on the surface. Since the bump (ball), land, or pin is provided at a predetermined position on the package substrate, the terminal is also provided at a predetermined position on the package substrate, similarly to the bump (ball), land, or pin.
- Allocation for wiring between a plurality of pads of such a semiconductor chip and a plurality of terminals provided at predetermined positions of the package substrate that is, the allocation of the terminals to the pads is in accordance with the design guidelines of the semiconductor manufacturer. Has been done. Since there are many combinations in this allocation according to the number of pads and the number of terminals, the allocation results differ depending on the design guidelines.
- the pins of the package with the shortest distance from each input / output pad included in the rank are selected in order from the rank having the highest importance of the electrical characteristics. Then, according to the electrical characteristics of the wiring pattern on the semiconductor chip side and the electrical characteristics of the wiring pattern on the package side, optimum bumps are formed on or near the straight line passing over each input / output pad and the selected package pin. Each land is arranged and selected. As a result, a wiring pattern for connecting the bump land and the input / output pad, which are arranged and selected for each input / output pad, is designed.
- the pads of semiconductor chips also have high electrical characteristics, that is, important in the assignment.
- the number of pads is increasing. At present, for example, about 10% of the number of pads of a semiconductor chip may be an important pad for performing the above-mentioned allocation with sufficient consideration of electrical characteristics. For example, when the number of pads is 1000, the number of important pads is about 100.
- an important pad having a high importance of electrical characteristics is, for example, a pad for inputting / outputting a signal or analog signal having a smaller amplitude than the power supply voltage, a pad for supplying a power supply voltage, or a pad connected to the ground. Etc.
- the terminals of the package substrate are often allocated near the pads of the semiconductor chip in order to satisfy the constraints of the electrical characteristics.
- the terminals of the package substrate are concentrated in the vicinity of the pads of the semiconductor chip.
- the package board terminals are concentrated and allocated near the pads of the semiconductor chip, the constraints of the electrical characteristics are loose and the constraints are satisfied for other pads with low allocation priority. Assignment may not be possible.
- the package substrate is redesigned manually by changing the interval between the terminals of the package substrate to be allocated, and the terminals of the semiconductor package cannot be allocated efficiently.
- the present invention efficiently performs a process of assigning each of a plurality of terminals provided at a predetermined position of the package substrate to each of a plurality of pads of a semiconductor chip.
- An object of the present invention is to provide a semiconductor package terminal assignment method, a program for executing the assignment method, a semiconductor package terminal assignment support apparatus, and a semiconductor package manufactured by this method. To do.
- One aspect of the present invention is a method performed by an allocation support apparatus that allocates one of a plurality of terminals provided at a predetermined position of a package substrate to which the semiconductor chip is bonded to each of a plurality of pads of the semiconductor chip. It is.
- the data processing unit of the allocation support apparatus determines a longest allowable distance that is a constraint on a relative distance between each of the pads and a terminal to be allocated to the pad,
- the data processing unit is configured to provide one or each of the pads such that a relative distance between each of the pads and a terminal selected for the pad is within the range of the longest allowable distance.
- the data processing unit performs a process of determining one of the terminals as an allocation terminal based on the allocation terminal candidate and allocating it to one of the pads.
- the processing preferentially selects one of the terminals based on the assigned terminal candidate with respect to a pad that has one or more candidate assigned terminal candidates that are in an unassigned state among the pads. It is an allocation process.
- wiring is performed by allocating any of a plurality of terminals provided at a predetermined position of a package substrate to which the semiconductor chip is bonded to each of a plurality of pads of the semiconductor chip.
- This is a semiconductor package.
- the semiconductor package is Determining the longest allowable distance that is a constraint on the relative distance between each of the pads and the terminal to be assigned to the pad; One or more candidate assignment terminals for each of the pads such that the relative distance between each of the pads and the terminal selected for the pad is within the range of the longest allowable distance.
- Do the extraction Determining one of the terminals as an assigned terminal based on the assigned terminal candidate and assigning it to one of the pads; In the processing, the number of candidates for unassigned terminal candidates in the unassigned state is preferentially assigned to one of the terminals based on the assigned terminal candidates with respect to a pad that is 1 or more and the smallest. It is done.
- a semiconductor package in which one of a plurality of terminals provided at a predetermined position of a package substrate to which the semiconductor chip is bonded is assigned to each of a plurality of pads of the semiconductor chip.
- This is a terminal assignment support device.
- the allocation support device is A criterion generation unit that determines a maximum allowable distance that is a constraint on a relative distance between each of the pads and a terminal to be assigned to the pad; One or more candidate assignment terminals for each of the pads such that the relative distance between each of the pads and the terminal selected for the pad is within the range of the longest allowable distance.
- a candidate extraction unit for performing extraction An allocation determining unit that performs a process of determining one of the terminals as an allocated terminal based on the allocated terminal candidate and allocating to one of the pads.
- the process of the allocation determination unit is configured to preferentially assign one of the terminals to the pad having the minimum number of allocation terminal candidates in an unallocated state and being one or more based on the allocation terminal candidates. It is an allocation process.
- a computer that assigns one of a plurality of terminals provided at a predetermined position of a package substrate to which the semiconductor chip is bonded to each of a plurality of pads of the semiconductor chip.
- This is a program that can be executed by a computer.
- the program is The processing unit of the computer is set with the longest allowable distance that is a constraint on the relative distance between each of the pads and the terminal to be assigned to the pad, One or more allocation terminal candidates are assigned to each of the pads such that a relative distance between each of the pads and a terminal selected for the pad is within the range of the longest allowable distance.
- the computer's processing unit calculate, Determining one of the terminals as an allocation terminal based on the allocation terminal candidate and causing a processing unit of a computer to perform a process of allocating to one of the pads; A result of outputting the result of the processing to a storage unit of the computer or an output unit connected to the computer;
- the process is a process of preferentially allocating one of the terminals based on the allocated terminal candidates to a pad having the minimum number of allocated terminal candidates in an unallocated state and one or more.
- the above-described method for allocating terminals of a semiconductor package, a program for executing the method, and a device for allocating terminals for a semiconductor package allocate a plurality of terminals of a package substrate to a plurality of pads of a semiconductor chip. Can be performed efficiently.
- (A) is the schematic of the semiconductor package of this embodiment
- (b) is a figure which shows the joining position of the semiconductor chip on a package board
- It is a schematic block diagram of the terminal allocation support apparatus of the semiconductor package of this embodiment.
- It is a flowchart of the first half part of the terminal allocation method of the semiconductor package of this embodiment.
- It is a flowchart of the latter half part of the allocation method of the terminal of the semiconductor package of this embodiment.
- FIG. 1A is a schematic diagram of the semiconductor package of the present embodiment.
- the semiconductor package 1 of the present embodiment has balls (bumps) 3 b of a ball grid array, and the semiconductor chip 2 is flip-chip bonded to the package substrate 3.
- the semiconductor chip 2 includes a semiconductor element such as a microprocessor.
- a plurality of protruding pads 2 a are formed on the bonding side of the semiconductor chip 2, and each of the pads 2 a is connected to a land (not shown) formed on the bonding surface of the package substrate 3.
- Each land is connected to one of the terminals 3a provided on the package substrate 3 by wiring (not shown) provided on the package substrate.
- the terminal 3a is connected to the ball 3b on the opposite surface through a via (not shown).
- the pad 2a of the semiconductor chip 2 is electrically connected to the terminal 3a of the package substrate 3 via the wiring by flip chip bonding, but the pad 2a and the terminal 3a are electrically connected by wire bonding. It may be connected.
- the semiconductor package 1 is mounted on a printed wiring board by a ball grid array, a land grid array or a pin grid array can be used instead of the ball grid array.
- the ball 3b is described as a terminal to be allocated to each of the pads 2a.
- the position of the terminal 3a connected to the pad 2a via the wiring provided on the bonding surface of the package substrate 3 is at a predetermined position substantially the same as the position of the ball 3b of the ball grid array with the package substrate 3 interposed therebetween.
- the relative distance between the pad 2a and the ball 3b which will be described later, is substantially the same as the relative distance between the pad 2a and the terminal 3a, the relative distance between the pad 2a and the ball 3b is determined between the pad 2a and the terminal 3a.
- a relative distance can be used instead.
- the relative distance between the pad 2a and the ball 3b is used as the relative distance between the pad 2a and the terminal 3a.
- the ball 3b is assigned to each pad 2a, but the terminal 3a provided on the bonding surface of the package substrate 3 is assigned to each pad 2a.
- FIG. 1B shows the bonding position of the semiconductor chip 2 when the semiconductor chip 2 is mounted on the package substrate 3 and bonded thereto (substantially square-shaped region in the frame), and the arrangement position of the pad 2a (the elongated minute rectangular shape). It is a figure which shows the arrangement
- the pads 2a are provided in a row at regular intervals along each of the four sides of the semiconductor chip 2. Each of the pads 2 a protrudes and extends toward the outside of the semiconductor chip 2.
- the balls 3b are provided in the vertical direction and the horizontal direction at regular intervals so as to surround the pads 2a of the semiconductor chip 2. The adjacent interval between the pads 2a is narrower than the adjacent interval between the balls 3b. In the present embodiment, one of the balls 3b is allocated to each of the pads 2a according to a method described below.
- FIG. 2 is a schematic configuration diagram of a terminal allocation support device (hereinafter referred to as a support device) 10 of the semiconductor package of the present embodiment.
- the support device 10 is a device that assigns each of the balls 3b of the package substrate 3 to each of the pads 2a of the semiconductor chip 2 and determines the wiring, and is connected to the printer 14, the display 15, and the mouse / keyboard 16.
- Computer executes a program to be described later, and assigns each of the balls 3b of the package substrate 3 to each of the pads 2a of the semiconductor chip 2 bonded to the package substrate 3 to determine the wiring.
- the support device 10 includes a CPU 11, a storage unit 12, and a data processing unit 13.
- the storage unit 12 includes a pad information storage unit 12a, a ball information storage unit 12b, a pad electrical characteristic storage unit 12c, a determination criterion storage unit 12d, and a ball arrangement information storage unit 12e.
- the pad information storage unit 12a stores data on the arrangement positions of the pads 2a.
- the ball information storage unit 12b stores data on the arrangement positions of the balls 3b.
- the arrangement positions of the pads 2a and the balls 3b are represented by coordinates with the center position of the semiconductor chip 2 bonded to the package substrate 3 as the origin.
- the pad electrical characteristic storage unit 12c stores values by dividing the electrical characteristics of each pad 2a into inductance components (L), capacitance components (C), and resistance components (R).
- the criterion storage unit 12d stores a geometric reference distance.
- the geometric reference distance is a determination reference distance determined from the arrangement of the pads 2a and the arrangement of the balls 3b.
- a geometric reference distance is used for pads for which no conditions are imposed by the electrical property information. That is, as will be described later, the geometric reference distance is used as a geometric constraint condition when an allocation ball candidate to be allocated is extracted.
- the ball arrangement information storage unit 12e stores information on the combination of the pad 2a and the ball 3b for which allocation has been determined.
- the data processing unit 13 is a processing unit formed by executing a program, and includes a determination reference generation unit 13a, a pad relative distance calculation unit 13b, a target ball candidate extraction unit 13c, a ball allocation determination unit 13d, And a ball arrangement output unit 13e. Processing operations performed in each of these parts are substantially performed by the CPU 11.
- the determination reference generation unit 13a determines an allowable electric characteristic distance from the geometric reference distance and the electric characteristic of the pad, and based on the geometric reference distance and the electric characteristic distance, each of the pads 2a and the pad 2a. The longest allowable distance between the balls 3b to be assigned to each is determined.
- the pad relative distance calculation unit 13b calculates a relative distance (separation distance) ⁇ p between each pad 2a and the ball 3b selected for each pad 2a.
- the relative distance ⁇ p is defined by a commonly used distance, that is, ((pad X coordinate ⁇ ball X coordinate) 2 + (pad Y coordinate ⁇ ball Y coordinate) 2 ) (1/2) . Note that the distance values specifically described in this specification are in units of ⁇ m.
- One target ball candidate extraction unit 13c is provided for each pad 2a such that the relative distance ⁇ p calculated by the pad relative distance calculation unit 13b is within the range of the longest allowable distance determined by the determination reference generation unit 13a. A plurality of assigned ball candidates are extracted.
- the ball allocation determining unit 13d repeatedly performs a process of determining one of the balls 3b as an allocated ball based on the allocated ball candidates and allocating it to one of the pads 3b. At this time, in the processing described above, one of the balls 3b is preferentially assigned to the pad having the smallest number of candidates that are not assigned among the assigned ball candidates. Thereby, the ball allocation determining unit 13d determines the wiring between the pad 2a and the ball 3b.
- the ball arrangement output unit 13e causes the ball arrangement information storage unit 12e to store information on a set of balls 3b assigned to the pad 2a and the pad 2a, or causes the printer 14 or the display 15 to output the information. The function of each part of the data processing unit 13 will be described in detail in the method of assigning terminals of the semiconductor package below.
- FIG. 3 and FIG. 4 are flowcharts of the method of assigning terminals of the semiconductor package of this embodiment, and FIG. 5 is a diagram for explaining the assignment of pads and balls.
- the criterion generation unit 13a generates a geometric reference distance (step S10).
- the geometric reference distance is generated in order to extract the allocation ball candidate by providing a geometric constraint condition for the pad that is not constrained by the information on the electrical characteristics. For example, among the pads 2a shown in FIG. 5, nine pads 2a (pads with pad numbers 1 to 9) located on the upper left side in the figure are replaced with nine balls 3b (ball numbers A1) located on the upper left side in the figure.
- the ball is assigned to 9 balls described as .about.D3.
- the position of the pad 2a and the ball 3b is expressed in the XY coordinate system with the center position of the semiconductor chip 2 as the coordinate origin, they are included in the same quadrant of the XY coordinates.
- the pad and the ball farthest from the coordinate origin are obtained from the pads 2a and the ball 3b, the distance between the pad and the ball is obtained, and a value obtained by multiplying the distance by a certain magnification is calculated as the geometric reference distance. .
- the determination reference generation unit 13a calls the coordinate data of the arrangement positions of the pad 2a and the ball 3b from the pad information storage unit 12a and the ball information storage unit 12b, and obtains the distance between the pad 2a and the ball 3b farthest from the coordinate origin. be able to.
- the constant magnification is represented by, for example, 1 + ⁇ ( ⁇ is a constant), and ⁇ is, for example, (interval between pads 2a) / (interval between balls 3b).
- the constant magnification is used in the form of 1 + ⁇ .
- the determination reference generation unit 13a generates the geometric reference distance by obtaining the distance between the pad 2a and the ball 3b farthest from the coordinate origin, but is not limited to this.
- the determination reference generation unit 13a can also use the geometric reference distance that was used when the assignment process was performed previously.
- the criterion generation unit 13a can also use the distance input by the operator from the mouse / keyboard 16 as the geometric reference distance.
- FIGS. 6 and 7 are diagrams showing examples of coordinate data of the arrangement positions of the pads 2a and the balls 3b. Coordinate data as shown in FIGS. 6 and 7 is stored in the pad information storage unit 12a and the ball information storage unit 12b.
- pad numbers 1, 2, 3,..., 9 are determined in order from the pad located on the upper side in the figure for nine balls 3b.
- A1, A2 and A3 are defined in the order in which the balls located in the uppermost row on the left end in the figure are arranged in the right direction
- B1, B2 in the order in which the balls located in the second row are arranged in the right direction
- B3, and further, C2 and C3 are determined in the order in which the balls positioned in the third row are arranged in the right direction
- D3 is determined for the balls positioned in the fourth row.
- the criterion generation unit 13a reads the information on the electrical characteristics of each pad 2a (step S20).
- the pad 2a has electrical characteristics
- the electrical characteristics are determined for each of the inductance component (L), the capacitance component (C), and the resistance component (R), and include at least one of the three components.
- the determination criterion generation unit 13a calls information on these components from the pad electrical characteristic storage unit 12c.
- FIG. 8 is a diagram illustrating an example of information on electrical characteristics of each pad 2a.
- the pads 1 and 2 have restrictions on the electrical characteristics of the inductance component of 2.5 (nH) and 3.00 (nH), and the pad 3 has an electrical resistance of 100 (m ⁇ ) as the resistance component.
- the pad 5 has a limitation of electrical characteristics of 220 (m ⁇ ) in the resistance component, and the pad 9 has an electrical characteristic of 2.75 (nH) in terms of the inductance component and 275 (m ⁇ ) in the resistance component. Indicates that there are constraints.
- the pads 4 and 6 to 8 are not limited in electrical characteristics. Such electrical characteristics are determined by the specifications of the semiconductor chip 2, and information can be obtained in advance.
- the criterion generation unit 13a checks the information on the electrical characteristics and determines whether each of the pads 2a has a value of an inductance component (L), a capacitance component (C), or a resistance component (R).
- One for each inductance component (L), capacitance component (C), and resistance component (R) of 2a is examined (step S30).
- the pad 2a does not have a value of an inductance component (L), a capacitance component (C), or a resistance component (R) (in the case of Yes in step S30), that is, the pad is not restricted by any electrical characteristic.
- the previously obtained geometric reference distance value is substituted into the electrical characteristic distance (step S40).
- a value is given to the electrical characteristic distance for all the pads 2a that are not restricted by the electrical characteristic.
- the electrical characteristic distance is determined based on the information on the electrical characteristics. Calculated (step S50). More specifically, for example, when the value of the electrical characteristic of the inductance component (L) is L, the determination reference generation unit 13a uses the inductance component per unit length of the wiring provided on the package substrate 2 as L. By dividing by the value Lb, the inductance characteristic distance ⁇ L of the inductance component (L) is calculated.
- the determination reference generation unit 13a divides this C by the value Cb of the capacitance component per unit length of the wiring provided on the package substrate 2.
- the capacitance characteristic distance ⁇ C of the capacitance component (C) is calculated.
- the determination reference generation unit 13a divides this R by the resistance component value Rb per unit length of the wiring provided on the package substrate 2.
- the resistance characteristic distance ⁇ R of the resistance component (R) is calculated.
- the inductance component value Lb per unit length, the capacitance component value Cb per unit length, and the resistance component value Rb per unit length can all be calculated from the material and dimensions of the wiring. .
- the electrical characteristic distance of the inductance component (L) is obtained for the pads 1 and 2
- the electrical characteristic distance of the resistance component (R) is obtained for the pads 3 and 5.
- the electrical characteristic distance of the inductance component (L) and the electrical characteristic distance of the resistance component (R) are obtained.
- the determination criterion generation unit 13a determines whether or not the processing of steps S30 to S50 has been performed on all the pads 2a and the value of the electrical characteristic distance has been obtained (step S60). When the values of the electrical characteristic distances are obtained for all the pads 2a, the criterion generation unit 13a sets the longest allowable distance ⁇ r for each of the pads 2a (Step S70). Specifically, the criterion generation unit 13a determines the smallest value among the obtained electrical characteristic distances as the longest allowable distance ⁇ r for each pad 2a. Since the geometric reference distance is substituted for the electrical characteristic distance in step S40, the longest allowable distance ⁇ r to be set is the geometric reference distance generated in step S10 and the electrical reference distance calculated in step S50.
- FIG. 9 is a diagram illustrating an example of values of the inductance characteristic distance ⁇ L, the capacitance characteristic distance ⁇ C, the resistance characteristic distance ⁇ R obtained from the electrical characteristics of the pads 1 to 9, and the set longest allowable distance ⁇ r. According to FIG. 9, it can be seen that the longest allowable distance ⁇ r differs between pads 1-9.
- the determination criterion generation unit 13a stores the set longest allowable distance ⁇ r in the determination criterion storage unit 12d.
- the pad relative distance calculation unit 13b calculates a relative distance ⁇ p between each of the pads 2a and each of the balls 3b.
- the pad relative distance calculation unit 13b calls the coordinate data of the arrangement positions of the pad 2a and the ball 3b from the pad information storage unit 12a and the ball information storage unit 12b, and calculates the linear separation distance from the pad to the ball as a relative distance ⁇ p.
- the target ball candidate extraction unit 13c determines whether or not the calculated relative distance ⁇ p falls within the longest allowable distance ⁇ r, and extracts a ball having the relative distance ⁇ p within the longest allowable distance ⁇ r as an assigned ball candidate.
- the ball number information for the pad number is entered and stored in the ball information list together with the relative distance ⁇ p.
- the target ball candidate extraction unit 13c determines whether or not the process of step S80 has been performed for all the balls 3b to be allocated (step S90). Further, the target ball candidate extraction unit 13c determines whether or not the process of step S80 has been performed for all the pads 2a (step S100). In this way, allocation ball candidates are extracted for all pads.
- FIG. 10 is a diagram showing an example of the ball information list obtained when the balls A1 to D3 are assigned to the pads 1 to 9 shown in FIG.
- the allocated ball candidates are indicated by ball numbers, and the relative distance ⁇ p is also indicated.
- “state”, “effective number”, and “candidate number” are shown.
- the “state” and “effective number” are used in a ball allocation process described later, and change according to the progress of the allocation process. Specifically, the “effective number” represents the number of candidates in an unallocated state among the allocated ball candidates during the allocation process.
- the “candidate number” is the initial number of allocated ball candidates before the allocation process is performed.
- the pad number 1 indicates that four balls B3, C2, C3, and D3 have been extracted as allocation ball candidates, and the pad number 3 indicates that only the ball D3 is an allocation ball candidate. Indicates that it has been extracted.
- the ball allocation determining unit 13d performs ball allocation. Ball allocation is performed based on the created ball information list.
- FIG. 4 shows the flow of the allocation process.
- the ball allocation determining unit 13d refers to a ball information list as shown in FIG. 10 to check whether or not there is a “valid number”, that is, a pad whose number of allocated ball candidates is 1. S110).
- the ball allocation determining unit 13d finds a pad whose “effective number” is 1 (in the case of Yes)
- the ball number of the allocated ball candidate described in the ball information list is associated with this pad number.
- the balls are allocated (step S120). That is, one allocated ball candidate is determined as the allocated ball.
- the ball assignment determining unit 13d By associating the number D3, the ball D3 is assigned to the pad of the pad number 3.
- the ball allocation determination unit 13d further determines the next largest number of “effective number”, that is, A pad having a minimum number of 1 or more is searched (step S130). At this time, the ball allocation determining unit 13d determines whether or not there are a plurality of pads having the same “effective number” (step S140). When there are not a plurality of pads having the same “effective number” (in the case of step S140 No), there is one pad having the next largest “effective number”.
- the ball allocation determining unit 13d extracts the ball number having the largest relative distance ⁇ p for the pad having the next largest “effective number”, and associates the ball number with the pad number of the pad ( Step S150). Thereby, one allocated ball candidate is allocated as an allocated ball to the pad having the next largest “effective number”. That is, the allocation ball candidate is determined as an allocation ball. As described above, in the allocation process, one of the balls 3b is preferentially allocated to the number of candidates of the allocated ball candidates that are not allocated, that is, the pad having the smallest “effective number”.
- the ball allocation determining unit 13d may allocate any of the allocation ball candidates. However, when there are a plurality of allocation ball candidates for one pad as described above, a ball having the largest relative distance ⁇ p is allocated, so that the freedom of allocation of the ball is left in the subsequent allocation process. Can do. That is, the ball allocation determining unit 13d selects an allocation ball candidate with a small margin of the relative distance ⁇ p with respect to the maximum allowable distance ⁇ r and determines an allocation ball. Therefore, when allocating a ball to the subsequent remaining pads, A margin of the relative distance ⁇ p with respect to the distance ⁇ r can be left.
- step S140 when there are a plurality of pads having the same number of “effective numbers” (in the case of Yes), the ball allocation determining unit 13d takes out allocated ball candidates for each of the pads having the same number of “effective numbers”, Among these, the ball number having the largest relative distance ⁇ p is associated with the pad number (step S160). Thereby, the allocated ball candidate having the largest relative distance ⁇ p with respect to each of the pads having the same “effective number” is determined as the allocated ball. In this way, when there are a plurality of pads having the same “effective number”, since the “effective number” is the same, the order of the allocation process cannot be superior or inferior.
- the ball allocation determination unit 13d selects an allocation ball candidate with a small margin of the relative distance ⁇ p with respect to the longest allowable distance ⁇ r and determines an allocation ball. Therefore, when allocating a ball to the subsequent remaining pads, It is possible to leave a margin of the relative distance ⁇ p with respect to the allowable distance ⁇ r.
- the ball allocation determining unit 13d determines that the associated ball number has been associated and decrements the “effective number” of all the pads having the associated ball number in the ball information list by one (step S170). Further, the ball allocation determining unit 13d changes the “status” column of the associated ball number from “0” to “1” in the pad number associated with the ball number. “1” is an identifier indicating that a ball number is associated with a pad number. Further, the “status” column of the associated ball number in the other pad numbers is changed from “0” to “ ⁇ ”. “-” Is an identifier indicating that the ball number is associated with another pad number and assigned. In this way, in the ball information list, the combination of the allocated ball candidate and the bad allocated as the allocated ball is excluded, and the allocation process is continued as will be described later.
- FIG. 11 is a diagram showing an example of the result of the allocation processing in which the pad number 3 and the ball number D3 are associated with each other in the ball information list shown in FIG.
- the “state” of the ball number D3 of the pad number 3 is changed from “0” to “1”, and the “effective number” is changed from “1” to “0”.
- the “effective number” of the pad numbers 1, 2, 4 to 9 other than the pad number 3 extracted as the assigned ball candidate by the ball number D3 is decreased by 1, and the ball number D3 of these pad numbers is further decreased.
- the “status” column corresponding to “0” is changed from “0” to “ ⁇ ”.
- the ball allocation determining unit 13d determines whether or not the “effective number” in all the pad numbers in the ball information list is 0 (step S180). If the “effective number” is not 0 (No in step S180), the ball allocation determining unit 13d returns to step S110 and continues the allocation process of steps S110 to S170. In this way, steps S110 to S170 are repeated until the “effective number” becomes 0 for all pad numbers.
- the ball allocation determination unit 13d excludes the combination of the allocation ball candidate and the bud already determined as the allocation ball in the previous allocation process step in the ball information list, and the remaining pads. The assigned balls are determined from the assigned ball candidates counted as “effective number”.
- FIG. 12 is a diagram showing an example of a result obtained by repeating steps S110 to S170 again from the ball information list shown in FIG.
- the ball number C3 corresponding to the pad number 9 is associated with the pad number 9, which means that the ball C3 is determined as the allocated ball for the pad 9.
- steps S110 to S170 are repeated five times from the ball information list shown in FIG. 12, and the ball numbers B2, B3, C2, C3, and D3 are assigned to the pad numbers 2, 1, 5, 9, and 3, respectively.
- the next “effective number” greater than 1 is 3, and the “effective number” of pad number 7 and pad number 8 is the same number of 3.
- the ball allocation determining unit 13d determines that the ball A2, A3, B1 that is the allocation ball candidate for the pad number 7 and the balls A2, A3, B1 that are the allocation ball candidates for the pad number 8
- the ball having the largest relative distance ⁇ p is determined as the assigned ball.
- the ball arrangement output unit 13e includes information on the allocated balls for the pads, that is, information on the association of the ball numbers with the pad numbers, along with information on the longest allowable distance ⁇ r and the relative distance ⁇ p, Alternatively, the data is output to at least one of the printer 14 and the display 15 (step S190).
- the support apparatus 10 determines the wiring using the result of allocating the balls 3 b of the package substrate 3 to the pads 2 a of the semiconductor chip 2.
- FIG. 14 is a diagram showing an example of the allocation result obtained from the ball information list shown in FIG.
- FIG. 14 shows information on the ball number of the ball 3b assigned to the pad 2a, the longest allowable distance ⁇ r, the relative distance ⁇ p, and information on the assigned ball number. It shows that one ball 3b is allocated to each pad 2a.
- the value of the relative distance ⁇ p represents a set in which a set of pad numbers and ball numbers in a portion surrounded by a thick frame is assigned.
- FIG. 15 is a diagram showing the results when the balls are assigned in the order of the longest allowable distance ⁇ r obtained from the conventional method, that is, the condition of the electrical characteristics.
- FIG. 16 is a bar graph showing the relative distance ⁇ p between the pad and the assigned ball for each pad number.
- the black bars show the results of this embodiment, and the white bars show the results of the conventional method described above.
- a black square in the graph indicates the longest allowable distance ⁇ r.
- FIG. 9 it can be seen that the relative distances ⁇ p of important pads whose electrical characteristic distances are determined by the conditions of the electrical characteristics are all close to the longest allowable distance ⁇ r and have a small margin. This satisfies the range of the longest allowable distance ⁇ r and does not have a large margin, while the pads 4, 7, and 8 for which conditions are not imposed due to electrical characteristics or the like have a relatively large margin. Assigned. As described above, this is the result of assigning the balls with the largest relative distance ⁇ p at the time of assigning in ascending order of candidate for the assigned balls.
- the allocation process is preferentially performed on the pad with the smallest number of candidates that are not allocated among the allocated ball candidates, so that all the pads 2a fail. Allocation can be performed efficiently.
- the longest allowable distance ⁇ r has the smallest distance length among the geometric reference distance determined by the arrangement of the pad 2a and the arrangement of the ball 3b and the electric characteristic distance allowed from the electric characteristic of the pad 2a. Is selected, it is possible to efficiently extract the assigned ball candidates in consideration of the conditions of the electrical characteristics.
- the electrical characteristic distance includes at least one of the inductance characteristic distance ⁇ L, the capacitance characteristic distance ⁇ C, and the resistance component distance ⁇ R, the electric characteristic can be appropriately converted into the distance.
- the allocation terminal candidate having the largest relative distance ⁇ p in each of the extracted plurality of allocation ball candidate groups is determined as the allocation ball. Therefore, it is possible to leave the degree of freedom of allocation of the allocated balls in the subsequent allocation process of other pads.
- the allocated balls candidates already determined as allocated balls are excluded, and the allocated balls are determined from the allocated ball candidates for each of the remaining pads. For this reason, the allocation process can be performed automatically and efficiently.
- the semiconductor package obtained in the present embodiment is performed by being read and executed by a computer that is the support apparatus 10. That is, the program The CPU 11 of the computer sets the longest allowable distance ⁇ r related to the relative distance between each of the pads 2a and the ball 3b to be assigned to each of the pads 2a; One or more allocations for each of the pads 2a such that the relative distance ⁇ p between each of the pads 2a and the ball selected for each of the pads 2a is within the maximum allowable distance ⁇ r.
- the CPU 11 of the computer calculates the ball candidate, The CPU 11 of the computer repeatedly performs the process of determining one of the balls 3b as an allocation terminal based on the extracted allocation ball candidates and allocating it to one of the pads 2a,
- the processing result is output to the storage unit 12 of the computer or the printer 14 or display 15 connected to the computer.
- the process is a process of allocating based on an allocated ball candidate in which one of the balls is preferentially extracted with respect to a pad whose number of candidates in the allocated ball candidate in an unallocated state is one or more and the minimum. It is.
- Such a program can be downloaded and obtained from a network by an electric signal by means of an electric signal, or can be entered / exited from a computer recording medium in which an executable program source is recorded.
- the semiconductor package obtained by the method of the present embodiment has a different form from the semiconductor package obtained by the conventional method in terms of allocation between the pads 2a and the balls 3b.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Power Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Electric Connection Of Electric Components To Printed Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
半導体チップの複数のパッドのそれぞれに対して、半導体チップを搭載するパッケージ基板の複数の端子のいずれかを割り付ける処理を効率よく行う。 半導体チップの複数のパッドのそれぞれに対して、パッケージ基板の複数の端子のいずれかを割り付ける際、各パッドと、各パッドに対して割り付けようとする端子との間の距離の最長許容距離を制約条件として定め、各パッドのそれぞれと、各パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、各パッドに対して1つまたは複数の割り付け端子候補を抽出する。抽出した割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行う。前記処理は、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを割り付ける処理である。
Description
本発明は、半導体チップの複数のパッドのそれぞれに対して、半導体チップを接合するパッケージ基板の複数の端子のそれぞれを割り付ける半導体パッケージの端子の割り付け方法、この決定方法を実行するプログラム、半導体パッケージの端子の割り付け支援装置、および、半導体パッケージに関する。
半導体素子等を含む半導体チップは、パッケージ基板に接合されて、半導体パッケージとしてプリント配線板等に実装される。
例えば、半導体パッケージでは、半導体チップの複数のパッドとパッケージ基板の所定の位置に設けられた複数の端子との間がボンディングワイヤで電気的に接続され、また、パッケージ基板に設けられた配線を介して電気的に接続される。なお、端子とは、パッケージ基板がプリント配線板と接合されるときに用いるパッケージ基板のバンプ(ボール)、ランドあるいはピンにビア等を介して接続された、半導体チップが接合されるパッケージ基板の接合面上に設けられる端子をいう。バンプ(ボール)、ランドあるいはピンは、パッケージ基板の所定の位置に設けられるので、上記端子も、バンプ(ボール)、ランドあるいはピンと同様にパッケージ基板の所定の位置に設けられる。
例えば、半導体パッケージでは、半導体チップの複数のパッドとパッケージ基板の所定の位置に設けられた複数の端子との間がボンディングワイヤで電気的に接続され、また、パッケージ基板に設けられた配線を介して電気的に接続される。なお、端子とは、パッケージ基板がプリント配線板と接合されるときに用いるパッケージ基板のバンプ(ボール)、ランドあるいはピンにビア等を介して接続された、半導体チップが接合されるパッケージ基板の接合面上に設けられる端子をいう。バンプ(ボール)、ランドあるいはピンは、パッケージ基板の所定の位置に設けられるので、上記端子も、バンプ(ボール)、ランドあるいはピンと同様にパッケージ基板の所定の位置に設けられる。
このような半導体チップの複数のパッドと、パッケージ基板の所定の位置に設けられた複数の端子との配線のための割り付け、すなわち、パッドに対する上記端子の割り付けは、半導体製造業者の設計指針に沿って行われている。この割り付けには、パッドの数と端子の数に応じて多数の組み合わせが存在するため、上記設計指針が異なると、割り付け結果も異なる。
例えば、半導体パッケージにフリップチップ接合される半導体チップの入出力パッドとバンプ用ランドとの間の接続を最適化する半導体チップの設計方法が知られている。
当該設計方法では、具体的には、電気特性の重要度の高いランクから順に、ランクに含まれる各々の入出力パッドから最短距離のパッケージのピンを各々選択する。そして、半導体チップ側の配線パターンの電気的特性およびパッケージ側の配線パターンの電気的特性に従って、各々の入出力パッドおよび選択されたパッケージのピンの上を通過する直線上またはその近傍から最適なバンプ用ランドを各々配置、選択する。これにより、各々の入出力パッドに対して配置、選択されたバンプ用ランドと入出力パッドとの間を各々接続する配線パターンを設計する。
ところで、近年、半導体チップの集積度はますます増大し、半導体チップの機能が向上するに伴って、半導体チップのパッドにおいても、上記割り付けの際に、電気特性の重要度の高いパッド、すなわち重要パッドの数が増えてきている。現在、例えば、半導体チップのパッド数の10%程度が電気特性を十分に考慮して上記割り付けを行う重要パッドである場合がある。例えば、パッドの数が1000の場合、重要パッドの数は100程度になる。ここで、電気特性の重要度が高い重要パッドとは、例えば、電源電圧に比べて振幅の小さい信号あるいはアナログ信号を入出力するパッド、電源電圧を供給するパッド、あるいは、グランドに接続されるパッド等である。
このような電気特性の重要度の高い重要パッドが多くなると、電気特性の制約条件を満足させるために、半導体チップのパッド近傍にパッケージ基板の端子を割り付けることが多い。上記公知の半導体チップの設計方法でも電気特性の重要度の高いランクのパッドから順に割り付けを行うので、半導体チップのパッド近傍にパッケージ基板の端子が集中して割り付けられる。
しかし、重要パッドの割り付けを考慮して半導体チップのパッド近傍にパッケージ基板の端子が集中して割り付けられる場合、電気特性の制約条件が緩く割り付けの優先度の低い他のパッドについて、制約条件を満足させるような割り付けを行うことができない場合がある。このような場合、例えば、割り付け対象となるパッケージ基板の端子の間隔を変更するなどしてパッケージ基板の再設計をマニュアルで行うことになり、効率よく半導体パッケージの端子を割り付けることができない。
そこで、本発明は、上記従来の問題を解決するために、半導体チップの複数のパッドのそれぞれに対して、パッケージ基板の所定の位置に設けられた複数の端子のそれぞれを割り付ける処理を効率よく行うことができる半導体パッケージの端子の割り付け方法、この割り付け方法を実行するプログラム、および、半導体パッケージの端子の割り付け支援装置を提供し、さらに、この方法により作製される半導体パッケージを提供することを目的とする。
本発明の一態様は、半導体チップの複数のパッドのそれぞれに対して、前記半導体チップを接合するパッケージ基板の所定の位置に設けられている複数の端子のいずれかを割り付ける割り付け支援装置が行う方法である。
当該方法では、
前記割り付け支援装置のデータ処理部が、前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離を定め、
前記データ処理部が、前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補の抽出を行い、
前記データ処理部が、前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行う。
前記処理は、前記パッドのうち、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける処理である。
当該方法では、
前記割り付け支援装置のデータ処理部が、前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離を定め、
前記データ処理部が、前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補の抽出を行い、
前記データ処理部が、前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行う。
前記処理は、前記パッドのうち、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける処理である。
さらに、本発明の他の一態様は、半導体チップの複数のパッドのそれぞれに対して、前記半導体チップを接合するパッケージ基板の所定の位置に設けられている複数の端子のいずれかを割り付けて配線された半導体パッケージである。
当該半導体パッケージは、
前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離を定め、
前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補の抽出を行い、
前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行い、
前記処理において、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける、ことにより得られる。
当該半導体パッケージは、
前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離を定め、
前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補の抽出を行い、
前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行い、
前記処理において、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける、ことにより得られる。
本発明のさらに他の一態様は、半導体チップの複数のパッドのそれぞれに対して、前記半導体チップを接合するパッケージ基板の所定の位置に設けられている複数の端子のいずれかを割り付ける半導体パッケージの端子の割り付け支援装置である。
当該割り付け支援装置は、
前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離を定める判断基準生成部と、
前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補の抽出を行う候補抽出部と、
前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行う割り付け決定部と、を有する。
前記割り付け決定部の前記処理は、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける処理である。
当該割り付け支援装置は、
前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離を定める判断基準生成部と、
前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補の抽出を行う候補抽出部と、
前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行う割り付け決定部と、を有する。
前記割り付け決定部の前記処理は、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける処理である。
本発明の更に他の一態様は、半導体チップの複数のパッドのそれぞれに対して、前記半導体チップを接合するパッケージ基板の所定の位置に設けられている複数の端子のいずれかを割り付ける方法をコンピュータに実行させるコンピュータが実行可能なプログラムである。
当該プログラムは、
前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離をコンピュータの処理ユニットに設定させ、
前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補をコンピュータの処理ユニットに算出させ、
前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理をコンピュータの処理ユニットに行わせ、
前記処理の結果を、コンピュータの記憶ユニットあるいはコンピュータに接続された出力ユニットに出力させる、手順を有する。
前記処理は、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける処理である。
当該プログラムは、
前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離をコンピュータの処理ユニットに設定させ、
前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補をコンピュータの処理ユニットに算出させ、
前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理をコンピュータの処理ユニットに行わせ、
前記処理の結果を、コンピュータの記憶ユニットあるいはコンピュータに接続された出力ユニットに出力させる、手順を有する。
前記処理は、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける処理である。
上述の半導体パッケージの端子の割り付け方法、この方法を実行するプログラム、半導体パッケージの端子の割り付け支援装置は、半導体チップの複数のパッドのそれぞれに対して、パッケージ基板の複数の端子のそれぞれを割り付ける処理を効率よく行うことができる。
以下、本発明の半導体パッケージの端子の割り付け方法、この決定方法を実行するプログラム、半導体パッケージの端子の割り付け支援装置、および半導体パッケージについて詳細に説明する。
(半導体パッケージ)
図1(a)は、本実施形態の半導体パッケージの概略図である。
本実施形態の半導体パッケージ1はボールグリッドアレイのボール(バンプ)3bを有し、半導体チップ2がパッケージ基板3にフリップチップ接合される。
半導体チップ2は、マイクロプロセサ等の半導体素子を含む。半導体チップ2の接合側には突出した複数のパッド2aが形成され、パッド2aのそれぞれが、パッケージ基板3の接合面上に形成されたランド(図示されない)に接続される。各ランドは、パッケージ基板に設けられた図示されない配線により、パッケージ基板3に設けられたいずれかの端子3aに接続されている。端子3aは、図示されないビアを介して反対側の面上のボール3bと接続されている。
図1(a)は、本実施形態の半導体パッケージの概略図である。
本実施形態の半導体パッケージ1はボールグリッドアレイのボール(バンプ)3bを有し、半導体チップ2がパッケージ基板3にフリップチップ接合される。
半導体チップ2は、マイクロプロセサ等の半導体素子を含む。半導体チップ2の接合側には突出した複数のパッド2aが形成され、パッド2aのそれぞれが、パッケージ基板3の接合面上に形成されたランド(図示されない)に接続される。各ランドは、パッケージ基板に設けられた図示されない配線により、パッケージ基板3に設けられたいずれかの端子3aに接続されている。端子3aは、図示されないビアを介して反対側の面上のボール3bと接続されている。
本実施形態では、フリップチップ接合により、半導体チップ2のパッド2aがパッケージ基板3の端子3aと配線を介して電気的に接続されるが、ワイヤボンディングにより、パッド2aと端子3aとが電気的に接続されてもよい。また、半導体パッケージ1は、ボールグリッドアレイでプリント配線板に実装されるが、ランドグリッドアレイやピングリッドアレイがボールグリッドアレイの代わりに用いられ得る。
なお、本実施形態では、ボール3bを、パッド2aのそれぞれに対する割り付け対象の端子として説明する。
パッケージ基板3の接合面に設けられた配線を介してパッド2aに接続される端子3aの位置は、パッケージ基板3を挟んでボールグリッドアレイのボール3bの位置とほぼ同じ所定の位置にある。このため、以降で説明するパッド2aとボール3bの相対距離は、パッド2aと端子3aとの相対距離とほぼ同じであるため、パッド2aとボール3bの相対距離を、パッド2aと端子3aとの相対距離で代用して用いることができる。以降の説明では、パッド2aとボール3bの相対距離を、パッド2aと端子3aとの相対距離として用いる。
本実施形態では、パッド2aのそれぞれに対してボール3bを割り付け対象の端子とするが、パッド2aのそれぞれに対して、パッケージ基板3の接合面上に設けられた端子3aを割り付け対象の端子とすることもできる。
パッケージ基板3の接合面に設けられた配線を介してパッド2aに接続される端子3aの位置は、パッケージ基板3を挟んでボールグリッドアレイのボール3bの位置とほぼ同じ所定の位置にある。このため、以降で説明するパッド2aとボール3bの相対距離は、パッド2aと端子3aとの相対距離とほぼ同じであるため、パッド2aとボール3bの相対距離を、パッド2aと端子3aとの相対距離で代用して用いることができる。以降の説明では、パッド2aとボール3bの相対距離を、パッド2aと端子3aとの相対距離として用いる。
本実施形態では、パッド2aのそれぞれに対してボール3bを割り付け対象の端子とするが、パッド2aのそれぞれに対して、パッケージ基板3の接合面上に設けられた端子3aを割り付け対象の端子とすることもできる。
図1(b)は、半導体チップ2がパッケージ基板3に載せられて接合されるときの半導体チップ2の接合位置(略正方形形状の枠内領域)、パッド2aの配置位置(細長い微小矩形形状の領域)、および、ボール3b(○印の領域)の配置位置を示す図である。
パッド2aは、半導体チップ2の四方の各辺に沿って一定の間隔で一列に設けられる。パッド2aのそれぞれは、半導体チップ2の外側に向かって突出して延びている。ボール3bは、半導体チップ2のパッド2aの周りを取り囲むように一定の間隔で縦方向及び横方向に設けられている。パッド2aの隣り合う間隔は、ボール3bの隣り合う間隔に比べて狭い。
本実施形態では、以降で説明する方法に従って、パッド2aのそれぞれに対して、ボール3bの1つが割り付けられる。
パッド2aは、半導体チップ2の四方の各辺に沿って一定の間隔で一列に設けられる。パッド2aのそれぞれは、半導体チップ2の外側に向かって突出して延びている。ボール3bは、半導体チップ2のパッド2aの周りを取り囲むように一定の間隔で縦方向及び横方向に設けられている。パッド2aの隣り合う間隔は、ボール3bの隣り合う間隔に比べて狭い。
本実施形態では、以降で説明する方法に従って、パッド2aのそれぞれに対して、ボール3bの1つが割り付けられる。
(半導体パッケージの端子の割り付け支援装置)
図2は、本実施形態の半導体パッケージの端子の割り付け支援装置(以降、支援装置という)10の概略構成図である。
支援装置10は、半導体チップ2のパッド2aのそれぞれに対して、パッケージ基板3のボール3bのそれぞれを割り付けて配線を決定する装置であり、プリンタ14、ディスプレイ15、およびマウス・キーボード16が接続されたコンピュータである。このコンピュータは、後述するプログラムを実行することによって、パッケージ基板3に接合される半導体チップ2のパッド2aのそれぞれに対して、パッケージ基板3のボール3bのそれぞれを割り付けて配線を決定する。
具体的には、支援装置10は、CPU11と、記憶部12と、データ処理部13と、を有する。
図2は、本実施形態の半導体パッケージの端子の割り付け支援装置(以降、支援装置という)10の概略構成図である。
支援装置10は、半導体チップ2のパッド2aのそれぞれに対して、パッケージ基板3のボール3bのそれぞれを割り付けて配線を決定する装置であり、プリンタ14、ディスプレイ15、およびマウス・キーボード16が接続されたコンピュータである。このコンピュータは、後述するプログラムを実行することによって、パッケージ基板3に接合される半導体チップ2のパッド2aのそれぞれに対して、パッケージ基板3のボール3bのそれぞれを割り付けて配線を決定する。
具体的には、支援装置10は、CPU11と、記憶部12と、データ処理部13と、を有する。
記憶部12は、パッド情報記憶部12aと、ボール情報記憶部12bと、パッド電気特性記憶部12cと、判断基準記憶部12dと、ボール配置情報記憶部12eと、を有する。
パッド情報記憶部12aは、パッド2aそれぞれの配置位置のデータを記憶する。ボール情報記憶部12bは、ボール3bそれぞれの配置位置のデータを記憶する。パッド2aおよびボール3bの配置位置は、パッケージ基板3に接合される半導体チップ2の中心位置を原点とした座標により表される。
パッド電気特性記憶部12cは、パッド2aそれぞれの有する電気特性をインダクタンス成分(L)、キャパシタンス成分(C)および抵抗成分(R)毎に分けて値を記憶する。勿論、パッド2aのうち、電気特性に条件が課せられるパッドのみが電気特性の情報を持ち、電気特性に条件が課せられないパッドは電気特性の情報を持たない。
判断基準記憶部12dは、幾何学的基準距離を記憶する。幾何学的基準距離とは、パッド2aの配置とボール3bの配置とから定まる判断基準距離である。上記電気特性の情報によって条件が課せられないパッドに対して、幾何学的基準距離が用いられる。すなわち、幾何学的基準距離は、後述するように、割り付け対象となる割り付けボール候補が抽出されるとき、幾何学的な制約条件として用いられる。幾何学的基準距離は、パッド2aおよびボール3bの配置位置の情報から算出された距離が用いられてもよいし、以前の割り付けの際に用いた距離が幾何学的基準距離として記憶され、この距離が用いられてもよい。
ボール配置情報記憶部12eは、割り付けが決定されたパッド2aとボール3bの組の情報を記憶する。
パッド情報記憶部12aは、パッド2aそれぞれの配置位置のデータを記憶する。ボール情報記憶部12bは、ボール3bそれぞれの配置位置のデータを記憶する。パッド2aおよびボール3bの配置位置は、パッケージ基板3に接合される半導体チップ2の中心位置を原点とした座標により表される。
パッド電気特性記憶部12cは、パッド2aそれぞれの有する電気特性をインダクタンス成分(L)、キャパシタンス成分(C)および抵抗成分(R)毎に分けて値を記憶する。勿論、パッド2aのうち、電気特性に条件が課せられるパッドのみが電気特性の情報を持ち、電気特性に条件が課せられないパッドは電気特性の情報を持たない。
判断基準記憶部12dは、幾何学的基準距離を記憶する。幾何学的基準距離とは、パッド2aの配置とボール3bの配置とから定まる判断基準距離である。上記電気特性の情報によって条件が課せられないパッドに対して、幾何学的基準距離が用いられる。すなわち、幾何学的基準距離は、後述するように、割り付け対象となる割り付けボール候補が抽出されるとき、幾何学的な制約条件として用いられる。幾何学的基準距離は、パッド2aおよびボール3bの配置位置の情報から算出された距離が用いられてもよいし、以前の割り付けの際に用いた距離が幾何学的基準距離として記憶され、この距離が用いられてもよい。
ボール配置情報記憶部12eは、割り付けが決定されたパッド2aとボール3bの組の情報を記憶する。
データ処理部13は、プログラムを実行することによって形成される処理ユニットであり、判断基準生成部13aと、パッド相対距離算出部13bと、対象ボール候補抽出部13cと、ボール割り付け決定部13dと、ボール配置出力部13eと、を有する。これらの各部分で行われる処理演算は、実質的にはCPU11によって行われる。
判断基準生成部13aは、幾何学的基準距離およびパッドの電気特性から許容される電気特性距離を定めるとともに、幾何学的基準距離および電気特性距離に基づいて、パッド2aのそれぞれと、パッド2aのそれぞれに対して割り付けようとするボール3bとの間の最長許容距離を定める。
パッド相対距離算出部13bは、パッド2aのそれぞれと、パッド2aそれぞれに対して選択されるボール3bとの間の相対距離(離間距離)Δpを算出する。相対距離Δpは、通常用いられる距離、すなわち、((パッドのX座標-ボールのX座標)2+(パッドのY座標-ボールのY座標)2)(1/2)で定義される。なお、本明細書において具体的に説明する距離の値は、いずれもμmを単位である。
対象ボール候補抽出部13cは、パッド相対距離算出部13bが算出した相対距離Δpが判断基準生成部13aで定めた最長許容距離の範囲内になるように、パッド2aのそれぞれに対して1つまたは複数の割り付けボール候補を抽出する。
ボール割り付け決定部13dは、割り付けボール候補に基づいてボール3bの1つを割り付けボールとして決定してパッド3bの1つに割り付ける処理を繰り返し行う。このとき、上記処理では、割り付けボール候補のうち、未割り付け状態にある候補の数が最小であるパッドに対して優先的にボール3bの1つを割り付ける。これにより、ボール割り付け決定部13dは、パッド2aとボール3b間の配線を決定する。
ボール配置出力部13eは、パッド2aとパッド2aのそれぞれに割り付けられたボール3bの組の情報をボール配置情報記憶部12eに記憶させ、あるいは、プリンタ14あるいはディスプレイ15に出力させる。
データ処理部13の各部分の機能は、以降の半導体パッケージの端子の割り付け方法において詳述される。
判断基準生成部13aは、幾何学的基準距離およびパッドの電気特性から許容される電気特性距離を定めるとともに、幾何学的基準距離および電気特性距離に基づいて、パッド2aのそれぞれと、パッド2aのそれぞれに対して割り付けようとするボール3bとの間の最長許容距離を定める。
パッド相対距離算出部13bは、パッド2aのそれぞれと、パッド2aそれぞれに対して選択されるボール3bとの間の相対距離(離間距離)Δpを算出する。相対距離Δpは、通常用いられる距離、すなわち、((パッドのX座標-ボールのX座標)2+(パッドのY座標-ボールのY座標)2)(1/2)で定義される。なお、本明細書において具体的に説明する距離の値は、いずれもμmを単位である。
対象ボール候補抽出部13cは、パッド相対距離算出部13bが算出した相対距離Δpが判断基準生成部13aで定めた最長許容距離の範囲内になるように、パッド2aのそれぞれに対して1つまたは複数の割り付けボール候補を抽出する。
ボール割り付け決定部13dは、割り付けボール候補に基づいてボール3bの1つを割り付けボールとして決定してパッド3bの1つに割り付ける処理を繰り返し行う。このとき、上記処理では、割り付けボール候補のうち、未割り付け状態にある候補の数が最小であるパッドに対して優先的にボール3bの1つを割り付ける。これにより、ボール割り付け決定部13dは、パッド2aとボール3b間の配線を決定する。
ボール配置出力部13eは、パッド2aとパッド2aのそれぞれに割り付けられたボール3bの組の情報をボール配置情報記憶部12eに記憶させ、あるいは、プリンタ14あるいはディスプレイ15に出力させる。
データ処理部13の各部分の機能は、以降の半導体パッケージの端子の割り付け方法において詳述される。
(半導体パッケージの端子の割り付け方法)
図3、図4は、本実施形態の半導体パッケージの端子の割り付け方法のフローチャートであり、図5は、パッドとボールの割り付けを説明する図である。
まず、判断基準生成部13aは、幾何学的基準距離を生成する(ステップS10)。幾何学的基準距離は、電気特性の情報によって制約を受けないパッドに対して、幾何学的な制約条件を設けて割り付けボール候補を抽出するために生成される。例えば、図5に示すパッド2aのうち、図中左側の上部に位置する9つのパッド2a(パッド番号1~9のパッド)を、図中左側の上部に位置する9つのボール3b(ボール番号A1~D3と記載されている9つのボール)に割り付ける場合を想定する。この場合、図5に示すように、半導体チップ2の中心位置を座標原点として、パッド2aおよびボール3bの位置をX-Y座標系で表したとき、X-Y座標の同じ象限内に含まれるパッド2aおよびボール3bの中で、座標原点から最も遠いパッドおよびボールを求め、このパッドとボール間の距離を求め、この距離に一定の倍率を乗算した値が幾何学的基準距離として算出される。判断基準生成部13aは、パッド情報記憶部12aおよびボール情報記憶部12bから、パッド2aおよびボール3bそれぞれの配置位置の座標データを呼び出して座標原点から最も遠いパッド2aおよびボール3b間の距離を求めることができる。また、一定の倍率とは、例えば、1+α(αは定数)で表され、αは、例えば(パッド2a間の間隔)/(ボール3b間の間隔)が用いられる。ボール3b間の間隔が狭い場合、ボール3bの個数が多く密集していることを表すので、割り付けボール候補を多く抽出できるようにするために、αは大きくなる。本実施形態では、1+αの形で一定倍率を用いるが、これ以外の方法、例えば、経験的に見出されたαの値を用いて一定倍率を規定してもよい。また、判断基準生成部13aは、幾何学的基準距離を、座標原点から最も遠いパッド2aおよびボール3b間の距離を求めることにより生成するが、これに限定されない。例えば、判断基準生成部13aは、以前に割り付け処理を行ったときに用いた幾何学的基準距離を用いることもできる。さらに、判断基準生成部13aは、幾何学的基準距離として、マウス・キーボード16からオペレータが入力した距離を用いることもできる。
図3、図4は、本実施形態の半導体パッケージの端子の割り付け方法のフローチャートであり、図5は、パッドとボールの割り付けを説明する図である。
まず、判断基準生成部13aは、幾何学的基準距離を生成する(ステップS10)。幾何学的基準距離は、電気特性の情報によって制約を受けないパッドに対して、幾何学的な制約条件を設けて割り付けボール候補を抽出するために生成される。例えば、図5に示すパッド2aのうち、図中左側の上部に位置する9つのパッド2a(パッド番号1~9のパッド)を、図中左側の上部に位置する9つのボール3b(ボール番号A1~D3と記載されている9つのボール)に割り付ける場合を想定する。この場合、図5に示すように、半導体チップ2の中心位置を座標原点として、パッド2aおよびボール3bの位置をX-Y座標系で表したとき、X-Y座標の同じ象限内に含まれるパッド2aおよびボール3bの中で、座標原点から最も遠いパッドおよびボールを求め、このパッドとボール間の距離を求め、この距離に一定の倍率を乗算した値が幾何学的基準距離として算出される。判断基準生成部13aは、パッド情報記憶部12aおよびボール情報記憶部12bから、パッド2aおよびボール3bそれぞれの配置位置の座標データを呼び出して座標原点から最も遠いパッド2aおよびボール3b間の距離を求めることができる。また、一定の倍率とは、例えば、1+α(αは定数)で表され、αは、例えば(パッド2a間の間隔)/(ボール3b間の間隔)が用いられる。ボール3b間の間隔が狭い場合、ボール3bの個数が多く密集していることを表すので、割り付けボール候補を多く抽出できるようにするために、αは大きくなる。本実施形態では、1+αの形で一定倍率を用いるが、これ以外の方法、例えば、経験的に見出されたαの値を用いて一定倍率を規定してもよい。また、判断基準生成部13aは、幾何学的基準距離を、座標原点から最も遠いパッド2aおよびボール3b間の距離を求めることにより生成するが、これに限定されない。例えば、判断基準生成部13aは、以前に割り付け処理を行ったときに用いた幾何学的基準距離を用いることもできる。さらに、判断基準生成部13aは、幾何学的基準距離として、マウス・キーボード16からオペレータが入力した距離を用いることもできる。
図6、図7は、パッド2aおよびボール3bそれぞれの配置位置の座標データの一例を示す図である。図6、図7に示すような座標データが、パッド情報記憶部12aおよびボール情報記憶部12bに記憶されている。ここで、パッド番号は、図5に示すように、9つのボール3bについて、図中の上方に位置するパッドから順にパッド1,2,3,・・・,9を定めている。一方、図中の左端最上段の行に位置するボールについて右方向に向かって並ぶ順にA1,A2,A3と定め、2段目の行に位置するボールについて右方向に向かって並ぶ順にB1,B2,B3と定め、さらに、3段目の行に位置するボールについて右方向に向かって並ぶ順にC2,C3と定め、さらに、4段目の行に位置するボールについてD3と定めている。
次に、判断基準生成部13aは、パッド2aそれぞれの電気特性の情報を読み込む(ステップS20)。パッド2aが電気特性を有する場合、電気特性はインダクタンス成分(L)、キャパシタンス成分(C)および抵抗成分(R)毎に定められ、3つの成分のうち少なくとも1つの成分を含む。判断基準生成部13aは、これらの成分の情報をパッド電気特性記憶部12cから呼び出す。図8は、パッド2aそれぞれの電気特性の情報の一例を示す図である。図8に示す例では、パッド1,2は、インダクタンス成分について2.5(nH)、3.00(nH)の電気特性の制約があり、パッド3は、抵抗成分に100(mΩ)の電気特性の制約があり、パッド5は、抵抗成分に220(mΩ)の電気特性の制約があり、パッド9は、インダクタンス成分について2.75(nH)、抵抗成分に275(mΩ)の電気特性の制約があることを示す。パッド4,6~8には、電気特性の制約はない。このような電気特性は、半導体チップ2の仕様によって定まるもので、予め情報を入手することができる。
次に、判断基準生成部13aは、電気特性の情報を調べ、パッド2aのそれぞれについて、インダクタンス成分(L)、キャパシタンス成分(C)、あるいは抵抗成分(R)の値を持つか否か、パッド2aのインダクタンス成分(L)、キャパシタンス成分(C)、および抵抗成分(R)毎に1つずつ調べる(ステップS30)。
パッド2aが、インダクタンス成分(L)、キャパシタンス成分(C)、あるいは抵抗成分(R)の値を持たない場合(ステップS30 Yesの場合)、すなわち、パッドがいずれかの電気特性の制約を受けない場合、先に求めた幾何学的基準距離の値が、電気特性距離に代入される(ステップS40)。これにより、電気特性の制約を受けないすべてのパッド2aに対して電気特性距離に値が与えられる。
パッド2aが、インダクタンス成分(L)、キャパシタンス成分(C)、あるいは抵抗成分(R)の値を持たない場合(ステップS30 Yesの場合)、すなわち、パッドがいずれかの電気特性の制約を受けない場合、先に求めた幾何学的基準距離の値が、電気特性距離に代入される(ステップS40)。これにより、電気特性の制約を受けないすべてのパッド2aに対して電気特性距離に値が与えられる。
一方、パッド2aが、インダクタンス成分(L)、キャパシタンス成分(C)、あるいは抵抗成分(R)の値を持つ場合(ステップS30 Noの場合)、この電気特性の情報に基づいて、電気特性距離が算出される(ステップS50)。詳細に説明すると、例えば、インダクタンス成分(L)の電気特性の値がLである場合、判断基準生成部13aは、このLをパッケージ基板2上に設けられる配線の単位長さ当たりのインダクタンス成分の値Lbで割ることにより、インダクタンス成分(L)のインダクタンス特性距離ΔLを算出する。同様に、キャパシタンス成分(C)の電気特性の値がCである場合、判断基準生成部13aは、このCをパッケージ基板2上に設けられる配線の単位長さ当たりのキャパシタンス成分の値Cbで割ることにより、キャパシタンス成分(C)のキャパシタンス特性距離ΔCを算出する。同様に、抵抗成分(R)の電気特性の値がRである場合、判断基準生成部13aは、このRをパッケージ基板2上に設けられる配線の単位長さ当たりの抵抗成分の値Rbで割ることにより、抵抗成分(R)の抵抗特性距離ΔRを算出する。これらの算出された距離は、インダクタンス成分(L)、キャパシタンス成分(C)、および抵抗成分(R)の許容される成分毎の最長距離を意味する。単位長さ当たりのインダクタンス成分の値Lb、単位長さ当たりのキャパシタンス成分の値Cb、および、単位長さ当たりの抵抗成分の値Rbは、いずれも配線の材料および寸法形状から算出することができる。
図8に示す電気特性の情報の場合、パッド1,2については、インダクタンス成分(L)の電気特性距離が得られ、パッド3,5については、抵抗成分(R)の電気特性距離が得られ、パッド9については、インダクタンス成分(L)の電気特性距離と抵抗成分(R)の電気特性距離が得られる。
図8に示す電気特性の情報の場合、パッド1,2については、インダクタンス成分(L)の電気特性距離が得られ、パッド3,5については、抵抗成分(R)の電気特性距離が得られ、パッド9については、インダクタンス成分(L)の電気特性距離と抵抗成分(R)の電気特性距離が得られる。
判断基準生成部13aは、ステップS30~S50の処理がすべてのパッド2aに対して行われて、電気特性距離の値が得られたか否かを判断する(ステップS60)。すべてのパッド2aに対して電気特性距離の値が得られると、判断基準生成部13aは、パッド2aのそれぞれに対して最長許容距離Δrを設定する(ステップS70)。具体的には、判断基準生成部13aは、パッド2aそれぞれに対して、得られた電気特性距離の中で最小の値を最長許容距離Δrとして定める。電気特性距離は、ステップS40において、幾何学的基準距離が代入されているので、設定される最長許容距離Δrは、ステップS10で生成された幾何学的基準距離と、ステップS50で算出された電気特性距離(インダクタンス特性距離ΔL、キャパシタンス特性距離ΔC、および抵抗特性距離ΔR)との中で最小の距離である。この最長許容距離Δrは、後述するように、パッド2aのそれぞれと、パッド2aのそれぞれに対して割り付けようとするボール3bとの間の距離の制約条件として用いられる。
図9は、パッド1~9の電気特性から得られたインダクタンス特性距離ΔL、キャパシタンス特性距離ΔC、および抵抗特性距離ΔRと、設定された最長許容距離Δrの値の一例を示す図である。図9によれば、パッド1~9で最長許容距離Δrが異なっていることがわかる。判断基準生成部13aは、設定された最長許容距離Δrを判断基準記憶部12dに記憶させる。
図9は、パッド1~9の電気特性から得られたインダクタンス特性距離ΔL、キャパシタンス特性距離ΔC、および抵抗特性距離ΔRと、設定された最長許容距離Δrの値の一例を示す図である。図9によれば、パッド1~9で最長許容距離Δrが異なっていることがわかる。判断基準生成部13aは、設定された最長許容距離Δrを判断基準記憶部12dに記憶させる。
次に、パッドに対するボールの相対距離Δpが算出され、この相対距離Δpが最長許容距離Δr内のボールのボール番号が、パッドに対する割り付けボール候補としてボール情報リストに記入されて格納される(ステップS80)。より詳細には、パッド相対距離算出部13bは、パッド2aのそれぞれとボール3bそれぞれとの間の相対距離Δpを算出する。パッド相対距離算出部13bは、パッド情報記憶部12aおよびボール情報記憶部12bから、パッド2aおよびボール3bそれぞれの配置位置の座標データを呼び出してパッドからボールに至る直線状の離間距離を相対距離Δpとして算出する。
さらに、対象ボール候補抽出部13cは、算出した相対距離Δpが最長許容距離Δr内に入るか否かを判断し、最長許容距離Δr内の相対距離Δpを有するボールを割り付けボール候補として抽出して、パッド番号に対するボール番号の情報を、相対距離Δpとともにボール情報リストに記入して格納する。
対象ボール候補抽出部13cは、割り付け対象となるボール3bすべてについてステップS80の処理が行われたか否かを判断する(ステップS90)。さらに、対象ボール候補抽出部13cは、すべてのパッド2aについてステップS80の処理が行われたか否かを判断する(ステップS100)。こうして、すべてのパッドに対して、割り付けボール候補を抽出する。
さらに、対象ボール候補抽出部13cは、算出した相対距離Δpが最長許容距離Δr内に入るか否かを判断し、最長許容距離Δr内の相対距離Δpを有するボールを割り付けボール候補として抽出して、パッド番号に対するボール番号の情報を、相対距離Δpとともにボール情報リストに記入して格納する。
対象ボール候補抽出部13cは、割り付け対象となるボール3bすべてについてステップS80の処理が行われたか否かを判断する(ステップS90)。さらに、対象ボール候補抽出部13cは、すべてのパッド2aについてステップS80の処理が行われたか否かを判断する(ステップS100)。こうして、すべてのパッドに対して、割り付けボール候補を抽出する。
図10は、図5に示すパッド1~9に対してボールA1~D3を割り付ける場合に得られるボール情報リストの一例を示す図である。図9に示すように、パッド番号1~9のそれぞれに対して、割り付けボール候補はボール番号で示され、相対距離Δpも示されている。また、ボール情報リストには、”状態“、”有効個数“、”候補個数“が示されている。”状態“および”有効個数“は、後述するボールの割り付け処理で用いられ、割り付け処理の進行によって変化する。”有効個数“は、具体的には、割り付け処理の途中において、割り付けボール候補のうち未割り付け状態にある候補数を表す。”候補個数“は、割り付け処理が行われる前の割り付けボール候補の初期における個数である。図10に示す例では、パッド番号1のパッドは、ボールB3,C2,C3,D3の4つが割り付けボール候補として抽出されたことを示し、パッド番号3のパッドは、ボールD3のみが割り付けボール候補として抽出されたことを示す。
次に、ボール割り付け決定部13dは、ボールの割り付けを行う。ボールの割り付けは、作成されたボール情報リストに基づいて行われる。
図4は、割り付け処理の流れを示す。
ボール割り付け決定部13dは、まず、図10に示すようなボール情報リストを参照して、“有効個数”、すなわち、割り付けボール候補の数が1であるパッドが存在するか否かを調べる(ステップS110)。ボール割り付け決定部13dは、“有効個数”が1であるパッドを見出した場合(Yesの場合)、このパッド番号に対して、ボール情報リストに記されている割り付けボール候補のボール番号を対応付けて、ボールの割り付けを行う(ステップS120)。すなわち、1つの割り付けボール候補が割り付けボールとして決定される。
図10に示されるボール情報リストの場合、パッド番号3の“有効個数”が1であり、そのときの割り付けボール候補はボール番号D3であるので、ボール割り付け決定部13dは、パッド番号3とボール番号D3を対応付けることにより、パッド番号3のパッドに対してボールD3を割り付ける。
図4は、割り付け処理の流れを示す。
ボール割り付け決定部13dは、まず、図10に示すようなボール情報リストを参照して、“有効個数”、すなわち、割り付けボール候補の数が1であるパッドが存在するか否かを調べる(ステップS110)。ボール割り付け決定部13dは、“有効個数”が1であるパッドを見出した場合(Yesの場合)、このパッド番号に対して、ボール情報リストに記されている割り付けボール候補のボール番号を対応付けて、ボールの割り付けを行う(ステップS120)。すなわち、1つの割り付けボール候補が割り付けボールとして決定される。
図10に示されるボール情報リストの場合、パッド番号3の“有効個数”が1であり、そのときの割り付けボール候補はボール番号D3であるので、ボール割り付け決定部13dは、パッド番号3とボール番号D3を対応付けることにより、パッド番号3のパッドに対してボールD3を割り付ける。
一方、ボール情報リストにおいて“有効個数”が1であるパッドが見出せない場合(ステップS110においてNoの場合)、ボール割り付け決定部13dは、さらに、”有効個数”が1の次に大きい数、すなわち、1以上であって最小の数を持つパッドを探す(ステップS130)。
このとき、ボール割り付け決定部13dは、”有効個数”が同数のパッドが複数存在するか、否かを判断する(ステップS140)。”有効個数”が同数のパッドが複数存在しない場合(ステップS140 Noの場合)、”有効個数”が1の次に大きいパッドは1つである。このため、ボール割り付け決定部13dは、”有効個数”が1の次に大きいパッドに対して、相対距離Δpが最も大きいボール番号を取り出し、上記パッドのパッド番号に対してこのボール番号を対応付ける(ステップS150)。これにより、”有効個数”が1の次に大きいパッドに対して1つの割り付けボール候補が割り付けボールとして割り付けられる。すなわち、上記割り付けボール候補が割り付けボールとして決定される。
このように、割り付け処理では、割り付けボール候補の未割り付け状態にある候補数、すなわち、“有効個数”が最小であるパッドに対して優先的にボール3bの1つが割り付けられる。
このとき、ボール割り付け決定部13dは、”有効個数”が同数のパッドが複数存在するか、否かを判断する(ステップS140)。”有効個数”が同数のパッドが複数存在しない場合(ステップS140 Noの場合)、”有効個数”が1の次に大きいパッドは1つである。このため、ボール割り付け決定部13dは、”有効個数”が1の次に大きいパッドに対して、相対距離Δpが最も大きいボール番号を取り出し、上記パッドのパッド番号に対してこのボール番号を対応付ける(ステップS150)。これにより、”有効個数”が1の次に大きいパッドに対して1つの割り付けボール候補が割り付けボールとして割り付けられる。すなわち、上記割り付けボール候補が割り付けボールとして決定される。
このように、割り付け処理では、割り付けボール候補の未割り付け状態にある候補数、すなわち、“有効個数”が最小であるパッドに対して優先的にボール3bの1つが割り付けられる。
割り付けボール候補は、いずれも最長許容距離Δrの条件を満たすので、幾何学的基準距離および電気特性距離の条件を満足する候補である。したがって、ボール割り付け決定部13dは、割り付けボール候補のどれを割り付けてもよい。しかし、上記のように1つのパッドに対して複数の割り付けボール候補が存在する場合、一番大きな相対距離Δpを持つボールを割り付けることにより、後続する割り付け処理においてボールの割り付けの自由度を残すことができる。すなわち、ボール割り付け決定部13dは、最長許容距離Δrに対する相対距離Δpのマージンの少ない割り付けボール候補を選択して、割り付けボールを決定するので、後続する残りパッドに対するボールの割り付けを行う際、最長許容距離Δrに対する相対距離Δpのマージンを残しておくことができる。
一方、ステップS140において、”有効個数”が同数のパッドが複数存在する場合(Yesの場合)、ボール割り付け決定部13dは、”有効個数”が同数のパッドそれぞれに対して割り付けボール候補を取り出し、この中で相対距離Δpが最も大きいボール番号とパッド番号とを対応付ける(ステップS160)。これにより、”有効個数”が同数のパッドそれぞれに対する相対距離Δpが最も大きい割り付けボール候補が割り付けボールとして決定される。
このように”有効個数”が同数のパッドが複数存在する場合、”有効個数”が同数であるので割り付け処理の順番に優劣がつけられない。このため、”有効個数”が同数のパッドそれぞれに対する割り付けボール候補をすべて取り出して、この中で最も大きな相対距離Δpを有するボール番号とパッド番号の組を抽出し、抽出した組におけるパッド番号とボール番号とを対応付ける。すなわち、相対距離Δpが最も大きくなるボール番号とパッド番号の組に係るボール番号を持つ割り付けボール候補を割り付けボールとして、前記組に係るパッド番号を持つパッドに割り付ける。パッドとの間の相対距離Δpが最も大きくなる割り付けボール候補を割り付けボールとするのは、後続する割り付け処理においてボールの割り付けの自由度を残すためである。すなわち、ボール割り付け決定部13dは、最長許容距離Δrに対する相対距離Δpのマージンの少ない割り付けボール候補を選択して、割り付けボールを決定するので、後続する残りのパッドに対するボールの割り付けを行う際、最長許容距離Δrに対する相対距離Δpのマージンを残しておくことができる。
このように”有効個数”が同数のパッドが複数存在する場合、”有効個数”が同数であるので割り付け処理の順番に優劣がつけられない。このため、”有効個数”が同数のパッドそれぞれに対する割り付けボール候補をすべて取り出して、この中で最も大きな相対距離Δpを有するボール番号とパッド番号の組を抽出し、抽出した組におけるパッド番号とボール番号とを対応付ける。すなわち、相対距離Δpが最も大きくなるボール番号とパッド番号の組に係るボール番号を持つ割り付けボール候補を割り付けボールとして、前記組に係るパッド番号を持つパッドに割り付ける。パッドとの間の相対距離Δpが最も大きくなる割り付けボール候補を割り付けボールとするのは、後続する割り付け処理においてボールの割り付けの自由度を残すためである。すなわち、ボール割り付け決定部13dは、最長許容距離Δrに対する相対距離Δpのマージンの少ない割り付けボール候補を選択して、割り付けボールを決定するので、後続する残りのパッドに対するボールの割り付けを行う際、最長許容距離Δrに対する相対距離Δpのマージンを残しておくことができる。
次に、ボール割り付け決定部13dは、対応付けたボール番号を対応済みとして、ボール情報リスト中の対応付けたボール番号を有するすべてのパッドの”有効個数”を1つ減らす(ステップS170)。さらに、ボール割り付け決定部13dは、ボール番号の対応付けがなされたパッド番号の、対応付けされたボール番号の“状態”の欄を“0”から“1”に変更する。“1”は、パッド番号に対してボール番号が対応付けられたことを示す識別子である。また、その他のパッド番号における、対応付けされたボール番号の“状態”の欄を“0”から“-”に変更する。“-”は、別のパッド番号に対してこのボール番号が対応付けされ、割り付けられた状態であることを表す識別子である。
このように、ボール情報リストにおいて、割り付けボールとして割り付けた割り付けボール候補とバッドの組が除外されて、後述するように割り付け処理が続行される。
このように、ボール情報リストにおいて、割り付けボールとして割り付けた割り付けボール候補とバッドの組が除外されて、後述するように割り付け処理が続行される。
図11は、図10に示すボール情報リストにおいて、パッド番号3とボール番号D3とが対応付けられて、割り付け処理された結果の一例を示す図である。図11に示すように、パッド番号3のボール番号D3における“状態”は“0”から“1”に変更され、“有効個数”は“1”から“0”に変更されている。さらに、ボール番号D3を割り付けボール候補として抽出されているパッド番号3以外のパッド番号1,2,4~9の“有効個数”が1つ減少し、更に、これらのパッド番号の、ボール番号D3に対応する“状態”の欄は、“0”から“-”に変更されている。
次に、ボール割り付け決定部13dは、ボール情報リストにおいて、すべてのパッド番号における“有効個数”が0になっているか否かを判断する(ステップS180)。
“有効個数”が0になっていない場合(ステップS180 Noの場合)、ボール割り付け決定部13dは、ステップS110に戻って、ステップS110~S170の割り付け処理を続行する。
このようにして、“有効個数”がすべてのパッド番号において0になるまで、繰り返しステップS110~ステップS170が繰り返される。
このように、ボール割り付け決定部13dは、割り付け処理を行うとき、先の割り付け処理のステップにおいて割り付けボールとしてすでに決定された割り付けボール候補とバッドの組をボール情報リストにおいて除外して、残りのパッドのそれぞれについて、“有効個数”にカウントされる割り付けボール候補から割り付けボールを決定する。
“有効個数”が0になっていない場合(ステップS180 Noの場合)、ボール割り付け決定部13dは、ステップS110に戻って、ステップS110~S170の割り付け処理を続行する。
このようにして、“有効個数”がすべてのパッド番号において0になるまで、繰り返しステップS110~ステップS170が繰り返される。
このように、ボール割り付け決定部13dは、割り付け処理を行うとき、先の割り付け処理のステップにおいて割り付けボールとしてすでに決定された割り付けボール候補とバッドの組をボール情報リストにおいて除外して、残りのパッドのそれぞれについて、“有効個数”にカウントされる割り付けボール候補から割り付けボールを決定する。
図12は、図11に示すボール情報リストから再度ステップS110~ステップS170を繰り返した結果の一例を示す図である。図12に示すように、パッド番号9に対するボール番号C3が対応付けされて、パッド9に対してボールC3が割り付けボールとして決定されたことを意味する。
図13は、図12に示すボール情報リストから再度ステップS110~ステップS170が5回繰り返され、ボール番号B2,B3,C2,C3,D3がそれぞれパッド番号2,1,5,9,3に対して対応付けられた後の処理結果の一例を示す図である。図13に示す場合、1より大きな次の”有効個数”は3であり、パッド番号7とパッド番号8の”有効個数”が同数の3である。このため、割り付けを更に行うとき、ボール割り付け決定部13dは、パッド番号7に対する割り付けボール候補であるボールA2,A3,B1とパッド番号8に対する割り付けボール候補であるボールA2,A3,B1との中で、相対距離Δpが一番大きなものを割り付けボールとして決定する。この場合、相対距離Δpが最も大きい(相対距離Δp=4294)ボール番号A2がパッド番号8に対して対応付けられる。
図13は、図12に示すボール情報リストから再度ステップS110~ステップS170が5回繰り返され、ボール番号B2,B3,C2,C3,D3がそれぞれパッド番号2,1,5,9,3に対して対応付けられた後の処理結果の一例を示す図である。図13に示す場合、1より大きな次の”有効個数”は3であり、パッド番号7とパッド番号8の”有効個数”が同数の3である。このため、割り付けを更に行うとき、ボール割り付け決定部13dは、パッド番号7に対する割り付けボール候補であるボールA2,A3,B1とパッド番号8に対する割り付けボール候補であるボールA2,A3,B1との中で、相対距離Δpが一番大きなものを割り付けボールとして決定する。この場合、相対距離Δpが最も大きい(相対距離Δp=4294)ボール番号A2がパッド番号8に対して対応付けられる。
最後に、ボール配置出力部13eは、パッドに対する割り付けボールの情報、すなわち、パッド番号に対するボール番号の対応付けの情報を、最長許容距離Δrおよび相対距離Δpの情報とともに、ボール配置情報記憶部12e、あるいは、プリンタ14およびディスプレイ15の少なくとも一方に、出力する(ステップS190)。
本実施形態の方法では、支援装置10において、半導体チップ2のパッド2aに対してパッケージ基板3のボール3bを割り付けた結果を用いて配線が決定される。
本実施形態の方法では、支援装置10において、半導体チップ2のパッド2aに対してパッケージ基板3のボール3bを割り付けた結果を用いて配線が決定される。
図14は、図10に示すボール情報リストから得られる割り付け結果の一例を示す図である。図14は、パッド2aに対して割り付けされたボール3bのボール番号の情報と、最長許容距離Δrと、相対距離Δpと、割り付けられたボール番号の情報と、を示している。パッド2aのそれぞれに対してボール3bが一つずつ割り付けられていることを示す。図中、相対距離Δpの値が太枠で囲まれた部分のパッド番号とボール番号の組が割り付けられた一組を表す。
一方、図15は、従来の方法、すなわち、電気特性の条件から得られる最長許容距離Δrの小さい順にボールの割り付けを行った場合の結果を示す図である。
この場合、パッド番号9において、最長許容距離Δr内のボールを抽出することができない。すなわち、パッド番号9のパッドはボールを割り付けることができない。これは、上述したように、半導体チップのパッド近傍にパッケージ基板の端子が集中して割り付けられるので、優先順位の低いパッド番号9のパッドは、ボールの割り付けができなくなったことを示している。本実施形態では、図14に示すように、割り付けができない問題は発生しない。
一方、図15は、従来の方法、すなわち、電気特性の条件から得られる最長許容距離Δrの小さい順にボールの割り付けを行った場合の結果を示す図である。
この場合、パッド番号9において、最長許容距離Δr内のボールを抽出することができない。すなわち、パッド番号9のパッドはボールを割り付けることができない。これは、上述したように、半導体チップのパッド近傍にパッケージ基板の端子が集中して割り付けられるので、優先順位の低いパッド番号9のパッドは、ボールの割り付けができなくなったことを示している。本実施形態では、図14に示すように、割り付けができない問題は発生しない。
図16は、パッドと割り付けボールとの相対距離Δpをパッド番号毎に示した棒グラフの図である。黒い棒は本実施形態の結果を、白い棒は上述の従来の方法で行われた結果を示す。グラフ中の黒四角形は、最長許容距離Δrを示す。図9に示すように電気特性の条件によって電気特性距離が定められた重要なパッドの相対距離Δpは、いずれも最長許容距離Δrに近く、マージンが少ないことがわかる。これは、最長許容距離Δrの範囲内を満たし、かつ、大きなマージンを持たないようにする一方、電気特性等で条件が課せられないパッド4,7,8は、比較的大きなマージンを持つように割り付けられている。これは、上述したように、割り付けボール候補の少ない順に割り付けを行い、そのとき、一番大きな相対距離Δpを持つボールを割り付けた結果である。
以上のように、本実施形態は、割り付けボール候補のうち、未割り付け状態にある候補の数が最小のパッドに対して優先的に割り付け処理を行うので、すべのパッド2aに対して失敗することなく効率よく割り付けを行うことができる。
最長許容距離Δrは、パッド2aの配置とボール3bの配置とから定まる幾何学的基準距離と、パッド2aの電気特性から許容される電気特性距離との中で、距離の長さが最小のものが選択されるので、電気特性の条件を考慮した割り付けボール候補を効率よく抽出することができる。
また、電気特性距離は、インダクタンス特性距離ΔL、キャパシタンス特性距離ΔC、および、抵抗成分距離ΔRの少なくともいずれか1つを含むので、電気特性を適切に距離に換算することができる。
さらに、割り付けボール候補を抽出するとき、複数の割り付けボール候補の群が抽出された場合、抽出された複数の割り付けボール候補の群のそれぞれにおける相対距離Δpが最も大きい割り付け端子候補を割り付けボールとして決定するので、後続するほかのパッドの割り付け処理において割り付けボールの割り付けの自由度を残すことができる。
割り付けボール候補を抽出するとき、複数のパッドに対して、候補数が最小で同数の割り付け端子候補の群が抽出された場合、複数のパッドのそれぞれと、割り付けボール候補の群のそれぞれとの間の相対距離Δpが最も大きい遠隔パッドと遠隔端子の組を抽出し、遠隔端子を遠隔パッドに対する前記割り付け端子として決定する。このため、後続する他のパッドの割り付け処理においてボールの割り付けの自由度を残すことができる。
さらに、割り付けボールを割り付けボール候補から決定するとき、割り付けボールとしてすでに決定された割り付けボール候補を除外して、残りのパッドのそれぞれについて、割り付けボールを割り付けボール候補から決定する。このため、割り付け処理を効率よく自動的に行うことができる。
本実施形態で得られた半導体パッケージは、支援装置10であるコンピュータに読み出されて実行されることにより行われる。
すなわちプログラムは、
パッド2aのそれぞれと、パッド2aのそれぞれに対して割り付けようとするボール3bとの間の相対距離に関する最長許容距離ΔrをコンピュータのCPU11に設定させ、
パッド2aのそれぞれと、パッド2aのそれぞれに対して選択されるボールとの間の相対距離Δpが最長許容距離Δrの範囲内になるように、パッド2aのそれぞれに対して1つまたは複数の割り付けボール候補をコンピュータのCPU11に算出させ、
抽出した割り付けボール候補に基づいてボール3bの1つを割り付け端子として決定してパッド2aの1つに割り付ける処理をコンピュータのCPU11に繰り返し行わせ、
処理の結果を、コンピュータの記憶部12あるいはコンピュータに接続されたプリンタ14あるいはディスプレイ15に出力させる、手順を有する。
その際、前記処理は、割り付けボール候補の未割り付け状態にある候補数が1以上であってかつ最小であるパッドに対して優先的にボールの1つを抽出した割り付けボール候補に基づいて割り付ける処理である。
このようなプログラムは、電気信号によって、ネットワークからコンピュータによってダウンロードされて入手することができる他、実行可能なプログラムソースが記録されているコンピュータ記録媒体から入出することもできる。
すなわちプログラムは、
パッド2aのそれぞれと、パッド2aのそれぞれに対して割り付けようとするボール3bとの間の相対距離に関する最長許容距離ΔrをコンピュータのCPU11に設定させ、
パッド2aのそれぞれと、パッド2aのそれぞれに対して選択されるボールとの間の相対距離Δpが最長許容距離Δrの範囲内になるように、パッド2aのそれぞれに対して1つまたは複数の割り付けボール候補をコンピュータのCPU11に算出させ、
抽出した割り付けボール候補に基づいてボール3bの1つを割り付け端子として決定してパッド2aの1つに割り付ける処理をコンピュータのCPU11に繰り返し行わせ、
処理の結果を、コンピュータの記憶部12あるいはコンピュータに接続されたプリンタ14あるいはディスプレイ15に出力させる、手順を有する。
その際、前記処理は、割り付けボール候補の未割り付け状態にある候補数が1以上であってかつ最小であるパッドに対して優先的にボールの1つを抽出した割り付けボール候補に基づいて割り付ける処理である。
このようなプログラムは、電気信号によって、ネットワークからコンピュータによってダウンロードされて入手することができる他、実行可能なプログラムソースが記録されているコンピュータ記録媒体から入出することもできる。
また、本実施形態の方法で得られる半導体パッケージは、従来の方法で得られた半導体パッケージに対して、パッド2aとボール3bとの間の割り付けの点で異なる形態を有する。
以上、本発明の半導体パッケージの端子の割り付け方法、半導体パッケージの端子の割り付け支援装置、半導体パッケージ、および、プログラムについて詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
1 半導体パッケージ
2 半導体チップ
2a パッド
3 パッケージ基板
3a 端子
3b ボール
10 割り付け支援装置
11 CPU
12 記憶部
12a パッド情報記憶部
12b ボール情報記憶部
12c パッド電気特性記憶部
12d 判断基準記憶部
12e ボール配置情報記憶部
13 データ処理部
13a 判断基準生成部
13b パッド相対距離算出部
13c 対象ボール候補抽出部
13d ボール割り付け決定部
13e ボール配置出力部
2 半導体チップ
2a パッド
3 パッケージ基板
3a 端子
3b ボール
10 割り付け支援装置
11 CPU
12 記憶部
12a パッド情報記憶部
12b ボール情報記憶部
12c パッド電気特性記憶部
12d 判断基準記憶部
12e ボール配置情報記憶部
13 データ処理部
13a 判断基準生成部
13b パッド相対距離算出部
13c 対象ボール候補抽出部
13d ボール割り付け決定部
13e ボール配置出力部
Claims (14)
- 半導体チップの複数のパッドのそれぞれに対して、前記半導体チップを接合するパッケージ基板の所定の位置に設けられている複数の端子のいずれかを割り付ける割り付け支援装置が行う方法であって、
前記割り付け支援装置のデータ処理部が、前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離を定め、前記データ処理部が、前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補の抽出を行い、
前記データ処理部が、前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行い、
前記処理は、前記パッドのうち、未割り付け状態にある割り付け端子候補の候補数が最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける処理である、ことを特徴とする半導体パッケージの端子の割り付け方法。 - 前記パッドの配置と前記端子の配置とから定まる幾何学的基準距離と、前記パッドの電気特性から許容される電気特性距離との中で、距離が最小のものが前記最長許容距離として選択される、請求項1に記載の半導体パッケージの端子の割り付け方法。
- 前記電気特性は、インダクタンス、キャパシタンスおよび抵抗の少なくとも1つの特性を含み、
前記電気特性距離は、インダクタンスの特性が許容されるインダクタンス特性距離、キャパシタンスの特性が許容されるキャパシタンス特性距離、および、抵抗の特性が許容される抵抗特性距離の少なくともいずれか1つを含む、請求項2に記載の半導体パッケージの端子の割り付け方法。 - 割り付け端子候補の抽出において、割り付け端子候補群が抽出された場合、抽出された前記割り付け端子候補群のうちで、前記割り付け端子候補群に対応するパッドとの相対距離が最も大きい割り付け端子候補を前記割り付け端子として決定する、請求項1~3のいずれか1項に記載の半導体パッケージの端子の割り付け方法。
- 前記抽出において、前記割り付け端子候補が同数となる複数のパッドが存在する場合、前記複数のパッドそれぞれと、対応する割り付け端子候補との相対距離の中で最も大きな相対距離を有する割り付け端子候補とパッドの組を抽出し、抽出した組に係る割り付け端子候補を前記割り付け端子として、前記組に係るパッドに割り付ける、請求項1~3のいずれか1項に記載の半導体パッケージの端子の割り付け方法。
- 前記割り付け端子を前記割り付け端子候補に基づいて決定するとき、割り付け端子としてすでにいずれかのパッドに割り付けた割り付け端子候補とバッドの組を除外して前記処理を繰り返す、請求項1~5のいずれか1項に記載の半導体パッケージの端子の割り付け方法。
- 半導体チップの複数のパッドのそれぞれに対して、前記半導体チップを接合するパッケージ基板の所定の位置に設けられている複数の端子のいずれかを割り付けて配線された半導体パッケージであって、
前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離を定め、
前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補の抽出を行い、
前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行い、
前記処理において、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける、ことにより得られたこを特徴とする半導体パッケージ。 - 半導体チップの複数のパッドのそれぞれに対して、前記半導体チップを接合するパッケージ基板の所定の位置に設けられている複数の端子のいずれかを割り付ける割り付け支援装置であって、
前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離を定める判断基準生成部と、
前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補の抽出を行う候補抽出部と、
前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理を行う割り付け決定部と、を有し、
前記割り付け決定部の前記処理は、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける処理である、ことを特徴とする半導体パッケージの端子の割り付け支援装置。 - 前記判断基準生成部は、前記パッドの配置と前記端子の配置とから定まる幾何学的基準距離と、前記パッドの電気特性から許容される電気特性距離との中で、距離が最小のものを前記最長許容距離として選択する、請求項8に記載の半導体パッケージの端子の割り付け支援装置。
- 前記電気特性は、インダクタンス、キャパシタンスおよび抵抗の少なくとも1つの特性を含み、
前記電気特性距離は、インダクタンスの特性が許容されるインダクタンス特性距離、キャパシタンスの特性が許容されるキャパシタンス特性距離、および、抵抗の特性が許容される抵抗特性距離の少なくともいずれか1つを含む、請求項9に記載の半導体パッケージの端子の割り付け支援装置。 - 前記候補抽出部が割り付け端子候補群を抽出した場合、前記割り付け決定部は、抽出した前記割り付け端子候補群のうち、前記割り付け端子候補群に対応するパッドとの相対距離が最も大きい割り付け端子候補を前記割り付け端子として決定する、請求項8~10のいずれか1項に記載の半導体パッケージの端子の割り付け支援装置。
- 前記候補抽出部は、前記割り付け端子候補が同数となる複数のパッドが存在する場合、前記複数のパッドそれぞれと、対応する割り付け端子候補との相対距離の中で最も大きな相対距離を有する割り付け端子候補とパッドの組を抽出し、抽出した組に係る割り付け端子候補を前記割り付け端子として、前記組に係るパッドに割り付ける、請求項8~10のいずれか1項に記載の半導体パッケージの端子の割り付け支援装置。
- 前記割り付け決定部は、前記割り付け端子を前記割り付け端子候補に基づいて決定するとき、前記割り付け端子としてすでにいずれかのパッドに割り付けた割り付け端子候補とバッドの組を除外して前記処理を繰り返す、請求項8~12のいずれか1項に記載の半導体パッケージの端子の割り付け支援装置。
- 半導体チップの複数のパッドのそれぞれに対して、前記半導体チップを接合するパッケージ基板の所定の位置に設けられている複数の端子のいずれかを割り付ける方法をコンピュータに実行させるコンピュータが実行可能なプログラムであって、
前記パッドのそれぞれと、前記パッドに対して割り付けようとする端子との間の相対距離に関する制約条件となる最長許容距離をコンピュータの処理ユニットに設定させ、
前記パッドのそれぞれと、前記パッドに対して選択される端子との間の相対距離が前記最長許容距離の範囲内になるように、前記パッドのそれぞれに対して1つまたは複数の割り付け端子候補をコンピュータの処理ユニットに算出させ、
前記割り付け端子候補に基づいて前記端子の1つを割り付け端子として決定して前記パッドの1つに割り付ける処理をコンピュータの処理ユニットに行わせ、
前記処理の結果を、コンピュータの記憶ユニットあるいはコンピュータに接続された出力ユニットに出力させる、手順を有し、
前記処理は、未割り付け状態にある割り付け端子候補の候補数が1以上であってかつ最小であるパッドに対して優先的に前記端子の1つを前記割り付け端子候補に基づいて割り付ける処理である、ことを特徴とするプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012542696A JP5534025B2 (ja) | 2010-11-10 | 2010-11-10 | 半導体パッケージの端子の割り付け方法、半導体パッケージの端子の割り付け支援装置、半導体パッケージ、および、半導体パッケージの端子の割り付け方法を実行するプログラム |
PCT/JP2010/006596 WO2012063284A1 (ja) | 2010-11-10 | 2010-11-10 | 半導体パッケージの端子の割り付け方法、半導体パッケージの端子の割り付け支援装置、半導体パッケージ、および、半導体パッケージの端子の割り付け方法を実行するプログラム |
US13/889,746 US8843868B2 (en) | 2010-11-10 | 2013-05-08 | Method for assigning terminal of semiconductor package, apparatus, and semiconductor package |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/006596 WO2012063284A1 (ja) | 2010-11-10 | 2010-11-10 | 半導体パッケージの端子の割り付け方法、半導体パッケージの端子の割り付け支援装置、半導体パッケージ、および、半導体パッケージの端子の割り付け方法を実行するプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/889,746 Continuation US8843868B2 (en) | 2010-11-10 | 2013-05-08 | Method for assigning terminal of semiconductor package, apparatus, and semiconductor package |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012063284A1 true WO2012063284A1 (ja) | 2012-05-18 |
Family
ID=46050469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/006596 WO2012063284A1 (ja) | 2010-11-10 | 2010-11-10 | 半導体パッケージの端子の割り付け方法、半導体パッケージの端子の割り付け支援装置、半導体パッケージ、および、半導体パッケージの端子の割り付け方法を実行するプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8843868B2 (ja) |
JP (1) | JP5534025B2 (ja) |
WO (1) | WO2012063284A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002289636A (ja) * | 2001-03-27 | 2002-10-04 | Kawasaki Microelectronics Kk | 半導体チップの設計方法及び半導体装置 |
JP2003282603A (ja) * | 2002-03-11 | 2003-10-03 | Samsung Electronics Co Ltd | 統合管理システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5856927A (en) * | 1995-05-01 | 1999-01-05 | Vlsi Technology, Inc. | Method for automatically routing circuits of very large scale integration (VLSI) |
JP4248761B2 (ja) * | 2001-04-27 | 2009-04-02 | 新光電気工業株式会社 | 半導体パッケージ及びその製造方法並びに半導体装置 |
JP4006447B2 (ja) * | 2004-04-16 | 2007-11-14 | キヤノン株式会社 | 半導体装置およびプリント回路板 |
JP2006268365A (ja) * | 2005-03-23 | 2006-10-05 | Ricoh Co Ltd | 半導体ピンアサイン支援装置 |
JP2008040801A (ja) * | 2006-08-07 | 2008-02-21 | Kawasaki Microelectronics Kk | パッケージピンの割り付け方法 |
US8482114B2 (en) * | 2009-09-10 | 2013-07-09 | Nxp B.V. | Impedance optimized chip system |
-
2010
- 2010-11-10 JP JP2012542696A patent/JP5534025B2/ja not_active Expired - Fee Related
- 2010-11-10 WO PCT/JP2010/006596 patent/WO2012063284A1/ja active Application Filing
-
2013
- 2013-05-08 US US13/889,746 patent/US8843868B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002289636A (ja) * | 2001-03-27 | 2002-10-04 | Kawasaki Microelectronics Kk | 半導体チップの設計方法及び半導体装置 |
JP2003282603A (ja) * | 2002-03-11 | 2003-10-03 | Samsung Electronics Co Ltd | 統合管理システム |
Also Published As
Publication number | Publication date |
---|---|
JP5534025B2 (ja) | 2014-06-25 |
JPWO2012063284A1 (ja) | 2014-05-12 |
US8843868B2 (en) | 2014-09-23 |
US20130246993A1 (en) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016110205A (ja) | 半導体装置の設計方法及びプログラム | |
US20170092622A1 (en) | Chip Packaging Module | |
WO2011093956A3 (en) | Protruding tsv tips for enhanced heat dissipation for ic devices | |
CN110622306B (zh) | 低串扰垂直连接接口 | |
US20090108446A1 (en) | Electrode structure for semiconductor chip | |
JP5534025B2 (ja) | 半導体パッケージの端子の割り付け方法、半導体パッケージの端子の割り付け支援装置、半導体パッケージ、および、半導体パッケージの端子の割り付け方法を実行するプログラム | |
US20170345796A1 (en) | Electronic device with stacked electronic chips | |
KR20120096754A (ko) | 인터포저를 이용한 웨이퍼 칩의 3차원 스택 구조 | |
CN106128964A (zh) | 一种叠层集成电路封装结构的封装方法 | |
JP2014116371A (ja) | 半導体装置 | |
JP6541991B2 (ja) | 半導体素子および半導体装置 | |
JP6761180B2 (ja) | 半導体装置 | |
US9609750B2 (en) | Package substrate and electronic device | |
US20100013109A1 (en) | Fine pitch bond pad structure | |
US8650512B1 (en) | Elastic modulus mapping of an integrated circuit chip in a chip/device package | |
CN103441107A (zh) | 半导体封装件及其制造方法 | |
US8441134B2 (en) | Chip stacking structure | |
JP2016063002A (ja) | 半導体装置およびその製造方法 | |
JP4907257B2 (ja) | 回路基板の配線方法及び配線支援装置 | |
US8957529B2 (en) | Power voltage supply apparatus for three dimensional semiconductor | |
CN112838075B (zh) | 具有弯曲间隔件的堆叠管芯封装 | |
JP2010102401A (ja) | 配線設計方法と配線設計装置及び配線設計プログラム | |
JP4943918B2 (ja) | 実形状検証装置 | |
JP2010045311A (ja) | 配線基板及び半導体装置 | |
CN106611754A (zh) | 电子元件模块、集成电路封装元件及其导线架 |
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: 10859560 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2012542696 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10859560 Country of ref document: EP Kind code of ref document: A1 |