Patent Publication Number: US-2016246293-A1

Title: Computer-readable recording medium having recorded therein component arrangement program, method of arranging components, and information processing apparatus

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is based upon and claims the benefit of priority of the prior Japanese Patent application No. 2015-31858, filed on Feb. 20, 2015, the entire contents of which are incorporated herein by reference. 
     FIELD 
     The present invention relates to a computer-readable recording medium having recorded therein a component arrangement program, a method of arranging components, and an information processing apparatus. 
     BACKGROUND 
     Various electronic devices contain a board (hereinafter, may be called a printed board) such as a printed wiring board. When various electronic devices are designed, the arrangement of a plurality of components to be mounted on a printed board is designed. To support the determination of arrangement position of each component while designing the arrangement, interactive CAD (Computer Aided Design) technologies have been proposed (see, for example, JP H5-314217 A and JP H8-227428 A). 
     In the CAD technologies, for example, one component is selected from a plurality of components as a component to be arranged and a step of arranging the selected component to be arranged is repeatedly executed until all components are arranged on the board. Then, the arrangement position of each component is determined based on network connection information between the plurality of components. Information about the arrangement positions of components whose arrangement positions on the board have been determined is stored in an obstacle management table. 
     Hereinafter, when the arrangement position of a component to be arranged is determined, the obstacle management table is referred to each time a user (a designer or the like) arranges a component to be arranged in a desired position. Then, an interference check whether an occupation region of a component whose arrangement position has been determined and an occupation region of the component to be arranged interfere is done. If interference occurs, it is determined that the component to be arranged cannot be arranged in the desired position and the user is notified of an error. On the other hand, if no error occurs, it is determined that the component to be arranged can be arranged in the desired position and the desired position can be determined as the arrangement position of the component to be arranged. 
     In the above interference check, whether the component to be arranged and a component whose arrangement position has been determined and positioned near the component to be arranged interfere physically is checked. Instead of such an interference check, a check whether a gap of a predetermined interval can be secured between an occupation region of the component to be arranged and an occupation region of a component whose arrangement position has been determined and positioned near the component to be arranged may be done. 
     When an interference check as described above is done, as will be described below, there are some cases when it is desirable to consider, in addition to a one-to-one relationship between the component to be arranged and a component nearby, a plurality of components near the component to be arranged together. 
     When, for example, components with large heat capacities or heavy components are arranged nearby in a one-to-one relationship, even if a problem of heating of components or a problem of deformation of the board due to the weight of components should not arise as long as a certain interval is secured between the two components, the influence of the above problems may increase with an increasing number of components arranged nearby. In such a case, for example, a required minimum interval b (see  FIG. 31B ) between components when three components are arranged nearby is preferably set larger than a required minimum interval a (see  FIG. 31A ) between components when two components are arranged nearby. 
     Therefore, to mount components in a high density on a board without causing problems of heating and weights, it is preferable to determine the arrangement position of the component to be arranged while comprehensively considering a plurality of arranged components present near the component to be arranged. In the current technology, however, only an interference check based on occupation regions of the component to be arranged and each arranged component nearby is done in a one-to-one relationship and it is difficult to determine the arrangement position of the component to be arranged by comprehensively considering a plurality of arranged components present near the component to be arranged. 
     SUMMARY 
     A component arrangement program in the present case is a program that causes a computer to perform processing to arrange a plurality of components on a board and causes the computer to perform processes (1) to (3) below: 
     (1) checking, when arranging one component of the plurality of components, an interference state between a first check region set to the one component and a second check region set to an arranged component near the one component; 
     (2) determining, when the interference state checked satisfies predetermined conditions, a position where the one component is arranged, while permitting the interference state; and 
     (3) combining the first check region and the second check region to use a combined check region as one check region set for the one component and the arranged component. 
     The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram showing an example of a function configuration of an information processing apparatus having a component arrangement function as an embodiment of the present invention; 
         FIG. 2  is a block diagram showing an example of a hardware configuration of the information processing apparatus having the component arrangement function as an embodiment of the present invention; 
         FIG. 3  is a diagram showing an example of a component attribute library in the present embodiment; 
         FIG. 4  is a diagram showing an example of a component shape library in the present embodiment; 
         FIG. 5  is a diagram illustrating a plurality of interference check regions set to each component in the present embodiment; 
         FIG. 6  is a diagram showing an example of permitted values set to each interference check regions when a predetermined attribute is a heating value; 
         FIG. 7  is a diagram showing an example of permitted values set to each interference check regions when a predetermined attribute is a weight; 
         FIG. 8  is a diagram showing an example of permitted values set to each interference check regions when a predetermined attribute is an electromagnetic field; 
         FIG. 9  is a flow chart illustrating an example of an operation (determination procedure of an arrangement position of a component to be arranged) of the information processing apparatus having the component arrangement function shown in  FIGS. 1 and 2 ; 
         FIGS. 10 to 12  are diagrams illustrating a first example of a concrete arrangement position determination procedure of the component to be arranged according to the present embodiment; 
         FIGS. 13 to 15  are diagrams illustrating a second example of the concrete arrangement position determination procedure of the component to be arranged according to the present embodiment; 
         FIGS. 16 to 18  are diagrams illustrating a third example of the concrete arrangement position determination procedure of the component to be arranged according to the present embodiment; 
         FIGS. 19 to 21  are diagrams illustrating a fourth example of the concrete arrangement position determination procedure of the component to be arranged according to the present embodiment; 
         FIG. 22  is a diagram illustrating a fifth example of the concrete arrangement position determination procedure of the component to be arranged according to the present embodiment; 
         FIGS. 23 to 28  are diagrams illustrating an example of an arrangement operation and a rats nest display when a user determines the arrangement position of the component to be arranged; 
         FIG. 29  is a flow chart illustrating an example of the arrangement position determination procedure of the component to be arranged performed by using a rats nest display technology shown in  FIGS. 23 to 28 ; 
         FIG. 30  is a diagram providing an overview of the present embodiment; and 
         FIG. 31A  is a diagram showing a required minimum interval between components when two components are arranged nearby and  FIG. 31B  is a diagram showing a required minimum interval between components when three components are arranged nearby. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Hereinafter, an embodiment of a computer-readable recording medium having recorded therein a component arrangement program, a method of arranging components, and an information processing apparatus disclosed by the present application will be described in detail with reference to the drawings. However, the embodiment shown below is by way of example and there is no intention to exclude various modifications and application of technology that are not explicitly shown in the embodiment. That is, the present embodiment can be carried out by making various modifications without deviating from the spirit thereof. Each diagram is not intended to include only elements shown in the diagram and may include other functions. Then, each embodiment can appropriately be combined within a range in which no contradiction of processing content is incurred. 
     [1] Related Technology of the Present Embodiment 
     [1-1] Rats Nest Display 
     The user (designer or the like) determines the arrangement position of a component to be arranged on a board (ex. substrate) based on network connection information. In this case, a network connection (rats nest) of pins of the component to be arranged and pins of other components connected to the pins is displayed in a display unit based on the network connection information. The user arranges the component to be arranged in an appropriate position by, for example, a drag &amp; drop operation of the mouse while grasping a connecting relationship of pins of the component to be arranged and pins of other components by referring to rats nest displayed in the display unit. 
     Here, an example of an arrangement operation and a rats nest display when a user determines the arrangement position of the component to be arranged will be described with reference to  FIGS. 23 to 28 . 
     In  FIG. 23 , a display state when the arrangement of components is started is displayed. In  FIG. 23 , a wiring board (wiring substrate) C and components C 1  to C 9  to be arranged on the wiring board C are displayed. At this point, only a connector C 0  is arranged on the wiring board C and the components C 1  to C 9  are arranged in a display region of unarranged components outside the wiring board C. In addition, the connecting relationship of each terminal of the connector C 0  and each pin of the component C 1  and the connecting relationships between pins of the components C 1  to C 9  are displayed, as illustrated by a dotted line, as rats nest. 
     Here, each of the components C 1  to C 4  is an active component and the component C 1  is, for example, a QFP (Quad Flat Package) or a QFJ (Quad Flat J-leaded) package and each of the components C 2  to C 4  is, for example, an SOP (Small Outline Package) or an SOJ (Small Outline J-leaded) package. Each of the components C 5  to C 9  is a passive components and is, for example, a connector of a mechanism component, a 2-terminal chip capacitor, or a resistor. Each of the components C 1  to C 9  may be a BGA (Ball Grid Array) package or an IMD (Insertion Mount Device) or SMD (Surface Mount Device). 
     First, in the display shown in  FIG. 23 , the user selects the component C 1  as the component to be arranged and moves the component in the direction of an arrow A 1  by a mouse operation to arrange, as shown in  FIG. 24 , the component C 1  on the wiring board C. The connection relationships of the connector C 0  and the components C 1  to C 9  are displayed as rats nest during movement and after arrangement of the component C 1  (see dotted lines in  FIG. 24 ). 
     Next, in the display shown in  FIG. 24 , the user selects the component C 2  as the component to be arranged and moves the component in the direction of an arrow A 2  by a mouse operation to arrange, as shown in  FIG. 25 , the component C 2  on the wiring board C. The connection relationships of the connector C 0  and the components C 1  to C 9  are displayed as rats nest during movement and after arrangement of the component C 2  (see dotted lines in  FIG. 25 ). 
     Also, in the display shown in  FIG. 25 , the user selects the component C 3  as the component to be arranged and moves the component in the direction of an arrow A 3  by a mouse operation to arrange, as shown in  FIG. 26 , the component C 3  on the wiring board C. The connection relationships of the connector C 0  and the components C 1  to C 9  are displayed as rats nest during movement and after arrangement of the component C 3  (see dotted lines in  FIG. 26 ). 
     Further, in the display shown in  FIG. 26 , the user selects the component C 4  as the component to be arranged and moves the component in the direction of an arrow A 4  by a mouse operation to arrange, as shown in  FIG. 27 , the component C 4  on the wiring board C. The connection relationships of the connector C 0  and the components C 1  to C 9  are displayed as rats nest during movement and after arrangement of the component C 4  (see dotted lines in  FIG. 27 ). 
     Similarly, in the display shown in  FIG. 27 , the user selects one component of each of the components C 5  to C 9  and moves the components by a mouse operation to arrange, as shown in  FIG. 28 , the components C 5  to C 9  on the wiring board C. The connection relationships of the connector C 0  and the components C 1  to C 9  are displayed as rats nest during movement and after arrangement of the components C 5  to C 9  (see dotted lines in  FIG. 28 ). 
     In this manner, the user can appropriately arrange the components C 1  to C 9  on the wiring board C by grasping the connection relationships of the connector C 0  and the components C 1  to C 9  with reference to the rats nest display. 
     [1-2] Related Technology Contrasted with the Present Embodiment 
     Next, an example of the determination procedure of the arrangement position of a component to be arranged performed using the rats nest display technology described above with reference to  FIGS. 23 to 28  will be described following the flow chart (steps S 101  to S 118 ) shown in  FIG. 29 . Here, the determination procedure of the arrangement position of the component to be arranged following the flow chart shown in  FIG. 29  is performed using an information processing apparatus such as a PC (Personal Computer). 
     First, the information processing apparatus determines whether there is any unarranged component (step S 101 ) and if there is no unarranged component (NO route in step S 101 ), the process is terminated. On the other hand, if there is an unarranged component (YES route in step S 101 ), the component to be arranged is selected and moved in accordance with a mouse operation by the user (step S 102 ). 
     At this point, as shown in  FIGS. 23 to 28 , a network connection (rats nest) of pins of the component to be arranged and pins of other components connected to the pins is displayed in a display unit based on network connection information (step S 103 ). Then, the information processing apparatus moves the component to be arranged following a mouse pointer and also updates the display state of the rats nest following the movement of the component to be arranged (step S 104 ). 
     Then, the user moves the component to be arranged to a desired position on the board by a mouse operation and instructs the arrangement position (step S 105 ). When an instruction of the arrangement position is received, the information processing apparatus acquires the arrangement position (such as the reference pin position, arrangement surface, and component rotation angle) of the component to be arranged based on the position of the mouse pointer (step S 106 ). Then, the information processing apparatus acquires an occupation region of the component to be arranged in the acquired arrangement position (step S 107 ) and also acquires all neighboring components (gap check target components) near the component to be arranged from the obstacle arrangement table (step S 108 ). 
     Next, the information processing apparatus determines whether there is any neighboring component (step S 109 ) and if there is an unprocessed neighboring component (YES route in step S 109 ), selects one neighboring component. Then, the information processing apparatus acquires the occupation region of the component to be arranged and the occupation region of the selected one neighboring component (step S 110 ) and checks whether interference occurs between these occupation regions (steps S 111 , S 112 ). In the interference check, whether the component to be arranged and an arranged neighboring component interfere physically may be checked or whether a gap of a predetermined interval can be secured between the occupation region of the component to be arranged and the occupation region of an arranged neighboring component may be checked. 
     If, as a result of the interference check, the component to be arranged and the one neighboring component do not interfere (NO route in step S 112 ), the information processing apparatus returns to the process of step S 109 . On the other hand, if the component to be arranged and the one neighboring component interfere (YES route in step S 112 ), the information processing apparatus displays an error of the component to be arranged or the one neighboring component (step S 113 ). The display of an error is made by, for example, highlighting the component to be arranged or the one neighboring component. Then, the information processing apparatus sets an error flag (interference) indicating that the component to be arranged and the one neighboring component interfere (step S 114 ) before returning to the process of step S 109 . 
     If it is determined in step S 109  that there is no unprocessed neighboring component (NO route in step S 109 ), the information processing apparatus determines whether at least one error flag (interference) is set (step S 115 ). If at least one error flag (interference) is set (YES route in step S 115 ), the information processing apparatus determines that an interference state arises with a neighboring component in the position where the component to be arranged is arranged this time and leaves the component arrangement position undetermined (step S 116 ). Then, the information processing apparatus returns to the process of step S 104  to continue the movement of the component to be arranged through a mouse operation of the user. 
     On the other hand, if no error flag (interference) is set (NO route in step S 115 ), the information processing apparatus determines that an interference state does not arise with a neighboring component in the position where the component to be arranged is arranged this time and determines whether to confirm the arrangement position this time as the arrangement position of the component to be arranged (step S 117 ). If a determination instruction is received from a mouse operation of the user or the like, the information processing apparatus determines that the arrangement position this time is confirmed as the arrangement position of the component to be arranged (YES route in step S 117 ) and enters information about the component to be arranged this time in the obstacle management table (step S 118 ). Then, the information processing apparatus returns to the process of step S 101 . 
     If no determination instruction is received from the user or an instruction not to determine is received from a mouse operation of the user or the like, the information processing apparatus determines that the arrangement position this time is not determined as the arrangement position of the component to be arranged (NO route in step S 117 ). Then, the information processing apparatus leaves the component arrangement position undetermined (step S 116 ) and returns to the process of step S 104  to continue the movement of the component to be arranged through a mouse operation of the user. 
     [2] Overview of the Present Embodiment 
     Incidentally, for example, LSIs (Large Scale Integration) in a BGA package shape of a large heat capacity may not be arranged nearby due to a problem of heat generation (heat capacity) as an apparatus (see X on the right side of  FIG. 30 ). However, if the component to be arranged near the LSI in a BGA package shape is a component (chip component) in a chip component package shape such as a resistor or a capacitor, the component may be arranged directly close to the LSI in a BGA package shape (see O on the left side of  FIG. 30 ). The arrangement of components taking a problem of heat generation into consideration cannot be realized based on an interference check simply done based on the occupation region of each component. Thus, it is preferable to determine whether to arrange the component to be arranged by taking the type of the package shape of the component to be arranged and arranged components nearby into consideration. 
     However, whether another component can be arranged near an arranged component is preferably determined by considering not only the aforementioned problem of heat generation, but also various problems described below. Various problems include, for example, a problem of insufficient solder melting by reflow soldering in a board assembly and manufacturing process, a problem of deformation of the board due to a heavy component, and a problem of influence by an electromagnetic field of a component. 
     Particularly when various problems described above are considered, as described above, there are some cases when it is preferable to consider, in addition to a one-to-one relationship between the component to be arranged and a component nearby, a plurality of components near the component to be arranged together. 
     When, for example, components with large heat capacities or heavy components are arranged nearby in a one-to-one relationship, even if the above problems should not arise as long as a certain interval is secured between the two components, the influence of the above problems may increase with an increasing number of components arranged nearby. In such a case, as described above with reference to  FIGS. 31A and 31B , for example, the required minimum interval “b” between components when three components are arranged nearby is preferably set larger than the required minimum interval “a” between components when two components are arranged nearby. 
     Thus, even if whether to arrange the component to be arranged is determined by simply taking information such as the type of the package shape of each component into consideration, it is difficult to do interference checks to solve various problems described above. Therefore, to mount components in a high density on a board without causing various problems described above, it is preferable to determine the arrangement position of the component to be arranged while comprehensively considering a plurality of arranged components present near the component to be arranged and managing the interval between the component to be arranged and the plurality of arranged components present nearby. 
     In the current state of technology, however, only the interference check between the component to be arranged and each arranged component nearby based on occupation regions is done in a one-to-one relationship. Thus, as described above, it is difficult to determine the arrangement position of the component to be arranged by comprehensively considering a plurality of arranged components present near the component to be arranged. 
     In the present embodiment, when one component (component to be arranged) among a plurality of components is arranged on a board, an interference state between a first check region set to the one component and a second check region set to an arranged component near the one component is checked. More specifically, whether the interference state satisfies predetermined conditions described below is determined. If the interference state satisfies predetermined conditions, the interference state is permitted, the arrangement position of the one component is determined, and the first check region and the second check region are combined. Then, the combined check region is used as one check region set to one component and an arranged component. 
     In this case, for example, the following three points (a1) to (a3) may be to be satisfied: 
     (a1) a same permitted value, which permits the interference state, being set to a predetermined attribute (a heating value, a weight, an electromagnetic field and the like) for each of the first check region and the second check region; 
     (a2) the first check region and the second check region interfering with each other; and 
     (a3) a total value of a first attribute value related to the predetermined attribute of the one component and a second attribute value related to the predetermined attribute of the arranged component being equal to or less than the same permitted value. 
     Also, the following three points (b1) to (b3) may be to be satisfied: 
     (b1) a same permitted value, which permits the interference state, being set to a predetermined attribute for each of the first check region and the second check region; 
     (b2) the first check region or the second check region and a first occupation region occupied by the one component or a second occupation region occupied by the arranged component interfering with each other; and 
     (b3) a total value of a first attribute value related to the predetermined attribute of the one component and a second attribute value related to the predetermined attribute of the arranged component being equal to or less than the same permitted value. 
     In the present embodiment, for example, libraries (reference numerals  34 ,  35  in  FIGS. 1, 3, and 4 ) in which an attribute value is set for each element (attribute: heating value, weight, electromagnetic field) of each component and a permitted value of the element is set for each check region set to each component are prepared. Then, an interference check between the check region of the component to be arranged and the check region of a component near the component to be arranged is done. 
     In the interference check, if, for example, the same permitted value is set to the same element for two check regions interfering with each other, whether the total value of attribute values concerning the relevant element of two components is equal to or less than the same permitted value. If the total value exceeds the permitted value, the predetermined conditions are not satisfied and an interference error is determined to have occurred. On the other hand, if the total value is equal to or less than the permitted value, the predetermined conditions are determined to be satisfied and the arrangement position of the component to be arranged is determined. 
     Then, the two check regions are combined and the new combined check region is used as one check region (combined check region) set for two components. Hereinafter, if a combined check region is present near a new component to be arranged, an interference check between the check region of the new component to be arranged and the combined check region combined as described above is done in the same manner as described above. Then, information about the result of the interference check done as described above is displayed in the display unit. 
     [3] Hardware Configuration of the Information Processing Apparatus Realizing the Component Arrangement Function in the Present Embodiment 
     First, the hardware configuration of an information processing apparatus (computer)  10  realizing the component arrangement function in the present embodiment will be described with reference to  FIG. 2 .  FIG. 2  is a block diagram showing an example of the hardware configuration. 
     The computer  10  includes a processor  11 , a RAM (Random Access Memory)  12 , an HDD (Hard Disk Drive)  13 , a graphic processing apparatus  14 , an input interface  15 , an optical drive apparatus  16 , a device connection interface  17 , and a network interface  18  as structural elements. These structural elements  11  to  18  are configured to be mutually communicable via a bus  19 . 
     The processor (processing unit)  11  controls the computer  10  as a whole. The processor  11  may be a multi-processor. The processor  11  may be, for example, any one of CPU (Central Processing Unit), MPU (Micro Processing Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), and FPGA (Field Programmable Gate Array). The processor  11  may also be any combination of two elements of more of CPU, MPU, DSP, ASIC, PLD, and FPGA. 
     The RAM (storage unit)  12  is used as a main storage device of the computer  10 . In the RAM  12 , at least a portion of the OS (Operating System) program and application programs the processor  11  is caused to execute is temporarily stored. Also, various kinds of data needed for processing by the processor  11  is stored in the RAM  12 . Application programs may include a component arrangement program executed by the processor  11  to realize a model creation function in the present embodiment by the computer  10 . 
     The HDD (storage unit)  13  magnetically writes data to or read data from disks contained. The HDD  13  is used as an auxiliary storage device of the computer  10 . In the HDD  13 , the OS program, application programs, and various kinds of data are stored. As an auxiliary storage device, a semiconductor storage device (SSD: Solid State Drive) such as a flash memory may also be used. 
     A monitor  14   a  is connected to the graphic processing apparatus  14 . The graphic processing apparatus  14  causes the monitor  14   a  to display an image on the screen according to instructions from the processor  11 . As the monitor  14   a , a display apparatus using CRT (Cathode Ray Tube) and a liquid crystal display apparatus can be cited. 
     A keyboard  15   a  and a mouse  15   b  are connected to the input interface  15 . The input interface  15  sends a signal sent from the keyboard  15   a  or the mouse  15   b  to the processor  11 . The mouse  15   b  is an example of the pointing device and other pointing devices may also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a track ball. 
     The optical drive apparatus  16  reads data recorded on an optical disk  16   a  using laser light or the like. The optical disk  16   a  is a portable non-transitory recording medium on which data is recorded readably by reflection of light. Examples of the optical disk  16   a  include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), and CD-R (Recordable)/RW (ReWritable). 
     The device connection interface  17  is a communication interface to connect peripheral devices to the computer  10 . For example, a memory device  17   a  or a memory reader writer  17   b  can be connected to the device connection interface  17 . The memory device  17   a  is a non-transitory recording medium mounted with a communication function with the device connection interface  17 , for example, a USB (Universal Serial Bus) memory. The memory reader writer  17   b  writes data into a memory card  17   c  or reads data from the memory card  17   c . The memory card  17   c  is a card non-transitory recording medium. 
     The network interface  18  is connected to a network  18   a . The network interface  18  sends/receives data to/from other computers or communication devices via the network  18   a.    
     Using the computer  10  having the above hardware configuration, the component arrangement function in the present embodiment described below with reference to  FIGS. 3 to 22  can be realized. 
     The computer  10  realizes the component arrangement function in the present embodiment by executing a program (such as a component arrangement program) recorded in, for example, a computer-readable non-transitory recording medium. A program describing processing content the computer  10  is caused to perform can be recorded in various recording media. For example, a program the computer  10  is caused to execute can be stored in the HDD  13 . The processor  11  loads at least a portion of programs in the HDD  13  into the RAM  12  and executes the loaded programs. 
     Also, programs the computer  10  (the processor  11 ) is caused to execute can be recorded in a non-transitory portable recording medium such as the optical disk  16   a , the memory device  17   a , the memory card  17   c  or the like. A program stored in a portable recording medium becomes executable after being installed on the HDD  13  under the control of, for example, the processor  11 . The processor  11  can also read a program directly from the portable recording medium and execute the program. 
     [4] Function Configuration of the Information Processing Apparatus Having the Component Arrangement Function 
     Next, the function configuration of the information processing apparatus (computer)  10  having the component arrangement function in the present embodiment will be described with reference to  FIG. 1 .  FIG. 1  is a block diagram showing an example of the function configuration. 
     The computer  10  includes, as shown in  FIG. 1 , the functions of a processing unit  20 , a storage unit  30 , an input unit  40 , and a display unit  50  to arrange a plurality of components on a board such as a printed wiring board while doing an interference check. 
     The processing unit  20  is, for example, as shown in  FIG. 2 , the processor  11  and performs the functions of an interference check determination unit  21 , an arrangement position determination unit  22 , and a check region combination unit  23  described below by executing the above component arrangement program. 
     The storage unit (database unit)  30  is, for example, as shown in  FIG. 2 , the RAM  12  or the HDD  13  and stores various kinds of information to realize the component arrangement function. The various kinds of information include a network connection table  31 , a component arrangement table  32 , a board shape library  33 , a component attribute library  34 , a component shape library  35 , an occupation region control table  36 , an obstacle management table  37 , an error flag, and a region combination flag. 
     The input unit  40  is, for example, as shown in  FIG. 2 , the keyboard  15   a  or the mouse  15   b  and gives arrangement instructions (for example, a drag &amp; drop operation of a component) of each component operated by the user on the board. Instead of the mouse  15   b , a touch panel, a tablet, a touch pad, a track ball or the like may be used. 
     The display unit  50  is, for example, as shown in  FIG. 2 , the monitor  14   a  and displays, when the user performs a determination operation of the arrangement position of the component to be arranged using the computer  10  in the present embodiment, images as shown in, for example,  FIGS. 10 to 28 , that is, images displaying the arrangement progress of components. When the wiring board C and the various components C 1  to C 9  to be arranged are displayed in the display unit  50  in the present embodiment, the rats nest display described above with reference to  FIGS. 23 to 28  is also made simultaneously. 
     The network connection table  31  holds connecting relationships between pins of the components C 1  to C 9  and the connector C 0  arranged on the board C as shown in, for example,  FIGS. 23 to 28  as network connection information. Based on network connection information held in the network connection table  31 , the rats nest display (see dotted lines) described above with reference to  FIGS. 23 to 28  is made in the display unit  50 . 
     The component arrangement table  32  holds information about the arrangement position of each component arranged on the board C. 
     The board shape library  33  holds information about the outside shape of the board C on which components are arranged and information about arrangement enabled regions of components on the board C. 
     The component attribute library  34  associates and holds, for example, as shown in  FIG. 3 , the component model, heating value (element name), weight (element name), and component shape name for each component arranged on the board C.  FIG. 3  is a diagram showing an example of the component attribute library  34  in the present embodiment. 
     The component model is information (such as the component name or the product name) that identifies a component. The heating value is one predetermined element (attribute) of the component identified by the component model and, as the heating value, the value (W value, wattage) of the heating value generated by the component is held as attribute values (first attribute value, second attribute value) of the predetermined element (heating value). Similarly, the weight is one predetermined element (attribute) of the component identified by the component model and, as the weight, the value (g value) of the weight possessed by the component is held as attribute values (first attribute value, second attribute value) of the predetermined element (weight). The component shape name is information identifying the physical shape of a component identified by the component model. 
     In the component attribute library  34 , in addition to the heating value and weight, information about the electromagnetic field (element name) may be held as one predetermined element (attribute) for each component model. 
     In this case, the value (dBm value) of the electromagnetic field generated by a component identified by the component model is held as attribute values (first attribute value, second attribute value) of the predetermined element (electromagnetic field). 
       FIG. 3  shows an example in which information about components of three component models is entered in the component attribute library  34 . In the top row, the component of a component model ABC is entered as a component that generates heat of 10 W, has a weight of 15 g, and has a physical shape of a component shape name  123 . In the middle row, the component of a component model DEF is entered as a component that generates no heat, has a weight of 3 g, and has a physical shape of a component shape name  456 . In the bottom row, the component of a component model GHI is entered as a component that generates heat of 2 W, has no weight causing deformation of the board C, and has a physical shape of a component shape name  789 . 
     The component shape library  35  associates and holds, for example, as shown in  FIG. 4 , the element name, the permitted value for the element (attribute) identified by the element name, and information to identify interference check regions for the physical shape (occupation region) identified by the component shape name for each component shape name.  FIG. 4  is a diagram showing an example of the component shape library (interference check region definition unit)  35  in the present embodiment. 
     The permitted value is set for each interference check region and corresponds to the maximum value of the attribute value of the predetermined element that can be permitted in the relevant interference check region. As an interference check region, a region wider than the physical shape (occupation region) of the corresponding component is set. In the field of “Shape (Half-tone portion)” of the component shape library  35  shown in  FIG. 4 , the half-tone portion (diagonally shaded portion) indicates an interference check region and the rectangle in each interference check region corresponds to the physical shape (occupation region) identified by the component shape name. 
       FIG. 4  shows an example in which three interference check regions of a component having a physical shape identified by the component shape name  123  are entered in the component shape library  35 . In the top row, a first interference check region to which the permitted value 15 W of the heating value is set is entered. In the middle row, a second interference check region, which is wider than the first interference check region, to which the permitted value 30 W of the heating value is set is entered. In the bottom row, a first interference check region to which the permitted value 20 g of the weight is set is entered. 
     In an example described below with reference to  FIGS. 10 to 22 , as shown in  FIG. 5 , the type of the component is the BGA package and a case in which three interference check regions are set for each component will be described. Also, a case in which the predetermined element (attribute) of each component is the heating value will be described. In this case, as shown in  FIG. 6 , mutually different permitted values of the heating value are set for each of the three interference check regions. The absolute value of the permitted value increases with an increasing interference check region. 
       FIG. 5  is a diagram illustrating a plurality of interference check regions set for each component in the present embodiment. In the example shown in  FIG. 5 , for the occupation region of the component (BGA), a first interference check region wider than the occupation region is set, a second interference check region wider than the first interference check region is set, and a third interference check region wider than the second interference check region is set. The occupation region is a range physically occupied by the component body and may also be referred to as a mounting limiting region. The first to third interference check regions may be denoted as #1, #2, #3 in the diagrams respectively. 
       FIG. 6  is a diagram showing an example of the permitted value set to each interference check region when the predetermined element is the heating value. In the example shown in  FIG. 6 , 15 W, 30 W, and 40 W are set to the first to third interference check regions as the permitted value of the heating value respectively. In the present embodiment, a case in which the predetermined element is a heating value will be described, but the present embodiment is not limited to such an example and when the attribute value (physical property value) is the weight or an electromagnetic field of a component other than the heating value, the present embodiment is similarly applied like the case of the heating value. For example,  FIG. 7  is a diagram showing an example of the permitted value set to each interference check region when the predetermined element is the weight. In the example shown in  FIG. 7 , 20 g, 30 g, and 50 g are set to the first to third interference check regions as the permitted value of the weight respectively.  FIG. 8  is a diagram showing an example of the permitted value set to each interference check region when the predetermined element is the electromagnetic field. In the example shown in  FIG. 8 , −70 dBm, −100 dBm, and −150 dBm are set to the first to third interference check regions as the permitted value of the electromagnetic field respectively. 
     The number of interference check regions set for each component is not limited to three and the number thereof may be one, two, four or more. In such a case, different permitted values of the predetermined element are set for each of a plurality of interference check regions. Information about the interference check regions and permitted values described above with reference to  FIGS. 5 to 8  is entered in the component shape library  35  described above with reference to  FIG. 4 . Further, the type of component is not limited to the BGA package and may be the QFP, QFJ package, SOP, SOJ package, IMD, or SMD. 
     The occupation region control table  36  holds information about the occupation region (see  FIGS. 4 and 5 ) of each component arranged on the board C. 
     The obstacle management table  37  has information about the arrangement position of the component whose arrangement position is determined and confirmed by the arrangement position determination unit  22  described below entered as information about obstacles. 
     The network connection table  31 , the component arrangement table  32 , the board shape library  33 , the component attribute library  34 , the component shape library  35 , the occupation region control table  36 , and the obstacle management table  37  described above are stored in the storage unit  30  in advance or created, entered, and updated by the processing unit  20  when necessary. The table or library indicated by reference numerals  31  to  37  may also be input from the input unit  40  or from the optical disk  16   a , the memory card  17   c , or the network  18   a  shown in  FIG. 2 . 
     Then, the interference check determination unit  21 , the arrangement position determination unit  22 , and the check region combination unit  23  operate according to the flow chart in  FIG. 9  shown below while referring to the network connection table  31 , the component arrangement table  32 , the board shape library  33 , the component attribute library  34 , the component shape library  35 , the occupation region control table  36 , or the obstacle management table  37  when necessary. 
     The interference check determination unit  21  checks an interference state between an interference check region (first check region) set to the component to be arranged selected by the user and an interference check region (second check region) set to an arranged component (neighboring component, nearby component) near the component to be arranged. More specifically, the interference check determination unit  21  determines whether the interference state satisfies predetermined conditions described below. Here, interference check regions of the component to be arranged and interference check regions of an arranged component are acquired by referring to and searching the component shape library  35 . Information about arranged components near the component to be arranged is acquired from the obstacle management table  37 . 
     If the checked interference state satisfies predetermined conditions, the arrangement position determination unit  22  determines the arrangement position of the component to be arranged by permitting the interference state. If no region combination flag (combination needed) described below with reference to  FIG. 9  is set, the arrangement position determination unit  22  enters information about the component to be arranged (including information about the arrangement position) in the obstacle management table  37  in accordance with a determination instruction described below with reference to  FIG. 9 . 
     The predetermined conditions may be satisfying, for example, three points (a1′) to (a3′) below similar to the aforementioned three points (a1) to (a3). The predetermined conditions will be used for Example 1 to Example 3 described below with reference to  FIGS. 10 to 18 : 
     (a1′) The same permitted value of the heating value permitting the interference state is set to the interference check region of the component to be arranged and the interference check region of an arranged component; 
     (a2′) The interference check region of the component to be arranged and the interference check region of the arranged component interfere; and 
     (a3′) The total value of an attribute value (first attribute value) related to the heating value of the component to be arranged and an attribute value (second attribute value) related to the heating value of the arranged component is equal to or less than the permitted value. 
     The permitted value in (a1′) and (a3′) described above can be obtained by referring to and searching the component shape library  35 . The first attribute value and the second attribute value in (a3′) described above can be obtained by referring to and searching the component attribute library  34 . 
     The predetermined conditions may also be satisfying, for example, three points (b1′) to (b3′) below similar to the aforementioned three points (b1) to (b3). The predetermined conditions will be used for Example 4 described below with reference to  FIGS. 19 to 21 : 
     (b1′) The same permitted value of the heating value (heat capacity) permitting the interference state is set to the interference check region of the component to be arranged and the interference check region of an arranged component; 
     (b2′) The interference check region of the component to be arranged or the interference check region of the arranged component and the occupation region (first occupation region) of the component to be arranged or the occupation region (second occupation region) of the arranged component interfere; and 
     (b3′) The total value of an attribute value (first attribute value) related to the heating value of the component to be arranged and an attribute value (second attribute value) related to the heating value of the arranged component is equal to or less than the same permitted value. 
     The permitted value in (b1′) and (b3′) described above can be obtained by referring to and searching the component shape library  35 . The first occupation region and the second occupation region in (b2′) described above can be obtained by referring to and searching the occupation region control table  36 . The first attribute value and the second attribute value in (b3′) described above can be obtained by referring to and searching the component attribute library  34 . 
     If the checked interference state satisfies predetermined conditions and the arrangement position of the component to be arranged is determined, the check region combination unit  23  combines the interference check region (first check region) of the component to be arranged and the interference check region (second check region) of the arranged component. That is, if the region combination flag (combination needed) described below with reference to  FIG. 9  is set, the check region combination unit  23  combines the interference check regions in accordance with the determination instruction described below with reference to  FIG. 9 . Then, the check region combination unit  23  enters information about the component to be arranged and the arranged component (including information about the arrangement positions) combined as one arranged component to which one interference check region (one check region) is set in the obstacle management table  37 . 
     In the information processing apparatus  10  in the present embodiment configured as described above, an interference check region with a nearby component is set to each component and elements (the heating value, weight, electromagnetic field and the like) permitting interference of component with the interference check region are set. The attribute value of the element is set to each component and also the permitted value is set to the interference check region of each component. When the interference check region of the component to be arranged and the interference check region of a nearby component interfere, if the total of attribute values of the predetermined element is equal to or less than the permitted value set to the interference check region, the interference of the interference check regions is permitted. Then, the interference check regions having the same permitted value are combined and in the subsequent processes, the component to be arranged and the nearby component are handled as one arranged component having the combined interference check region. 
     That is, if the interference check region of another component to be arranged interferes with the interference check region combined as described above, the attribute value of the predetermined element set to the other component to be arranged is added to the total value of attribute values of the predetermined element set to each of a plurality of components present in the combined interference check region. If the added value is equal to or less than the permitted value set to the interference check region, the interference of the relevant interference check regions is permitted and the interference check regions having the same permitted value are further combined. 
     [5] Operation of the Information Processing Apparatus in the Present Embodiment 
     Next, following the flow chart (steps S 11  to S 34 ) shown in  FIG. 9 , an example of the operation (determination procedure of the arrangement position of the component to be arranged) of the information processing apparatus  10  having the aforementioned component arrangement function will be described with reference to  FIGS. 1 and 2 . Incidentally, steps S 13  to S 24 , S 27  to S 31 , and S 34  shown in  FIG. 9  perform processes corresponding to respective steps S 101  to S 118  shown in  FIG. 29 . Also, steps S 25 , S 26 , S 32 , and S 33  shown in  FIG. 9  perform processes added in the present embodiment. 
     First, the processing unit  20  acquires the occupation region control table  36  from the storage unit  30  (step S 11 ) and sets occupation regions (mounting limiting regions) of all the components C 1  to C 9  to be arranged on the board C (step S 12 ). 
     Then, the processing unit  20  determines whether there is any unarranged component (step S 13 ) and if there is no unarranged component (NO route in step S 13 ), the process terminates. On the other hand, if there is an unarranged component (YES route in step S 13 ), the component to be arranged is selected and moved in accordance with a mouse operation of the user (step S 14 ). 
     At this point, as shown in  FIGS. 23 to 28 , a network connection (rats nest) of pins of the component to be arranged and pins of other components connected to the pins is displayed in a display unit based on network connection information (step S 15 ). Then, the processing unit  20  moves the component to be arranged following a mouse pointer and also updates the display state of the rats nest following the movement of the component to be arranged (step S 16 ). 
     Then, the user moves the component to be arranged to a desired position on the board by a mouse operation and instructs the arrangement position (step S 17 ). When an instruction of the arrangement position is received, the processing unit  20  acquires the arrangement position (such as the reference pin position, arrangement surface, and component rotation angle) of the component to be arranged based on the position of the mouse pointer (step S 18 ). Then, the processing unit  20  acquires an occupation region of the component to be arranged in the acquired arrangement position (step S 19 ) and also acquires all neighboring components (nearby components, gap check target components) near the component to be arranged from the obstacle management table  37  (step S 20 ). 
     Next, the processing unit  20  determines whether there is any neighboring component (step S 21 ) and if there is an unprocessed neighboring component (YES route in step S 21 ), selects one neighboring component (arranged component). Then, the processing unit  20  (interference check determination unit  21 ) acquires the occupation region of the component to be arranged and the occupation region of the selected one neighboring component (step S 22 ) and checks whether interference occurs between these occupation regions (steps S 23 , S 24 ). In the occupation region interference check, whether the component to be arranged and an arranged neighboring component interfere physically may be checked or whether a gap of a predetermined interval can be secured between the occupation region of the component to be arranged and the occupation region of an arranged neighboring component may be checked. 
     In steps S 23 , S 24 , the processing unit  20  (interference check determination unit  21 ) checks an interference state between the interference check region of the component to be arranged and the interference check region of the arranged component. In the interference check of the interference check regions, the processing unit  20  (interference check determination unit  21 ) determines whether the aforementioned predetermined conditions [(a1′) to (a3′) described above or (b1′) to (b3′) described above] are satisfied. 
     If the occupation region of the component to be arranged and the occupation region of one arranged component interfere or (a3′) described above is not satisfied even if (a1′) and (a2′) described above are satisfied, the interference check determination unit  21  determines that interference occurs. A state that does not satisfy (a3′) described above is a state in which the total value of the heating value (first attribute value) of the component to be arranged and the heating value (second attribute value) of the arranged component exceeds the permitted value. This also applies when, instead of (a1′) to (a3′) described above, (b1′) to (b3′) described above are used as predetermined conditions. 
     If it is determined that interference occurs (YES route in step S 24 ), the processing unit  20  makes an error display of the component to be arranged or one arranged component in the display unit  50  (step S 27 ). The error display is made by, for example, highlighting the component to be arranged or one arranged component in the display unit  50 . Then, the processing unit  20  sets an error flag (interference) indicating that the component to be arranged and the one arranged component interfere in the storage unit  30  (step S 28 ) before returning to the process of step S 21 . 
     If the occupation region of the component to be arranged and the occupation region of one arranged component does not interfere and (a3′) or (b3′) described above is satisfied, the interference check determination unit  21  determines that interference does not occur. Here, a state in which (a3′) or (b3′) described above is satisfied is a state in which the total value of the heating value (first attribute value) of the component to be arranged and the heating value (second attribute value) of an arranged component is equal to or less than the permitted value. 
     If it is determined that interference does not occur (NO route in step S 24 ), the processing unit  20  (interference check determination unit  21 ) determines whether it is necessary to combine the interference check regions based on the result of interference check of the interference check regions in step S 23  (step S 25 ). If it is not necessary to combine the interference check regions (NO route in step S 25 ), the processing unit  20  returns to the process of step S 21 . 
     On the other hand, if it is necessary to combine the interference check regions (YES route in step S 25 ), the processing unit  20  sets a region combination flag (combination needed) indicating that it is necessary to combine the interference check region of the component to be arranged and the interference check region of the one arranged component in the storage unit  30  (step S 26 ) before returning to the process of step S 21 . 
     If it is determined in step S 21  that there is no unprocessed neighboring component (NO route in step S 21 ), the processing unit  20  determines whether at least one error flag (interference) is set (step S 29 ). If at least one error flag (interference) is set (YES route in step S 29 ), the processing unit  20  determines that an interference state arises with a neighboring component (arranged component) in the position where the component to be arranged is arranged this time and leaves the component arrangement position undetermined (step S 30 ). Then, the processing unit  20  returns to the process of step S 16  to continue the movement of the component to be arranged through a mouse operation of the user. 
     On the other hand, if no error flag (interference) is set (NO route in step S 29 ), the processing unit  20  determines that an interference state does not arise with a neighboring component in the position where the component to be arranged is arranged this time and determines whether to confirm the arrangement position this time as the arrangement position of the component to be arranged (step S 31 ). If a determination instruction is received from a mouse operation of the user or the like, the processing unit  20  determines that the arrangement position this time is confirmed as the arrangement position of the component to be arranged (YES route in step S 31 ) and further determines whether a region combination flag (combination needed) is set (step S 32 ). 
     If no region combination flag (combination needed) is not set (NO route in step S 32 ), the processing unit  20  (arrangement position determination unit  22 ) determines/confirms the current position as the arrangement position of the component to be arranged and enters information about the component to be arranged (including information about the arrangement position) in the obstacle management table  37  (step S 34 ). Then, the processing unit  20  returns to the process of step S 13 . 
     If the region combination flag (combination needed) is set (YES route in step S 32 ), the processing unit  20  (check region combination unit  23 ) combines the interference check regions corresponding to the region combination flag (step S 33 ). Then, the check region combination unit  23  enters information about the component to be arranged and the arranged component (including information about the arrangement positions) combined as one arranged component to which one interference check region (one check region) is set in the obstacle management table  37  (step S 34 ). Then, the processing unit  20  returns to the process of step S 13 . 
     If no determination instruction is received from the user or an instruction not to determine is received from a mouse operation of the user, the processing unit  20  determines that the arrangement position this time is not determined as the arrangement position of the component to be arranged (NO route in step S 31 ). Then, the processing unit  20  leaves the component arrangement position undetermined (step S 30 ) and returns to the process of step S 16  to continue the movement of the component to be arranged through a mouse operation of the user. 
     [6] Concrete Examples of the Present Embodiment 
     Next, concrete examples (manipulation examples, operation examples) of the present embodiment by the information processing apparatus  10  according to the present embodiment configured to operate as described above will be described with reference to  FIGS. 10 to 22 . In the examples described below, however, a case in which the predetermined element is the heating value and each component is a BGA package will be described. Further, in the examples described below, a case in which first to third interference check regions as shown in  FIG. 5  are set to each component and, as shown in  FIG. 6 , the permitted values (MAX) 15 W, 30 W, and 40 W of the heating value are set to the first to third interference check regions respectively will be described. 
     [6-1] Example 1 
       FIGS. 10 to 12  are diagrams illustrating Example 1 of a concrete arrangement position determination procedure of the component to be arranged according to the present embodiment. 
     In Example 1, as shown in  FIG. 10 , a case in which a BGA package component of the heating value 5 W is newly arranged as a component to be arranged while a BGA package component of the heating value is 10 W is arranged on a board as an arranged component will be described. In  FIGS. 10 and 11 , however, the description focuses on the first interference regions of the component to be arranged and the arranged component. 
     In Example 1, as shown in  FIG. 10 , the component to be arranged is moved in an arrow A 11  direction by a mouse operation of the user or the like. Then, as shown in  FIG. 11 , the component to be arranged is brought closer to the arranged component until a position where the first interference check region of the component to be arranged and the first interference check region of the arranged component overlap (interfere) with each other. 
     At this point, the same permitted value (MAX) 15 W is set for the same element (heating value) to the first interference check region of the arranged component and the first interference check region of the component to be arranged. Further, the arranged component and the component to be arranged become a component group having the heating value of 15 W as a total value of the heating value 10 W of the arranged component and the heating value 5 W of the component to be arranged. Then, the total value of 15 W is equal to or less than the permitted value 15 W of the first interference check regions interfering with each other. 
     Thus, in the arrangement state shown in  FIG. 11 , the predetermined conditions (a1′) to (a3′) described above are satisfied and an interference check error does not occur and therefore, the arrangement position of the component to be arranged can be determined in the arrangement state shown in  FIG. 11  and the arrangement can be confirmed. If the arrangement position is confirmed in the arrangement state shown in  FIG. 11 , the first interference check region of the arranged component and the first interference check region of the component to be arranged can be combined. Then, a component group of the arranged component and the component to be arranged can be entered as one arranged component to which one combined first interference check region (see  FIG. 12 ) is set. 
     At this point, as shown in  FIG. 12 , the second interference check regions and the third interference check regions set to the arranged component and the component to be arranged are similarly combined like the first interference check regions. That is, the second interference check region and the third interference check region can permit up to 30 W and 40 W respectively. The total value of 15 W of the heating values of the arranged component and the component to be arranged is equal to or less than the permitted values of 30 W and 40 W of the second interference check region and the third interference check region respectively. 
     Therefore, for both of the second interference check region and the third interference check region, the predetermined conditions (a1′) to (a3′) described above are satisfied and an interference check error due to overlapping regions does not occur. Thus, like the first interference check regions, regions are combined by regions having the same permitted value of the same element being overlapped. Then, a component group of the arranged component and the component to be arranged is entered as one arranged component to which one combined second interference check region and one combined third interference check region are set. 
     [6-2] Example 2 
       FIGS. 13 to 15  are diagrams illustrating Example 2 of the concrete arrangement position determination procedure of the component to be arranged according to the present embodiment. 
     In Example 2, a case in which in the arrangement state shown in  FIG. 12 , that is, in a state in which a component group of the total heating value of 15 W containing two components is arranged on a board as arranged components, as shown in  FIG. 13 , another BGA package component of the heating value 10 W is newly arranged as a component to be arranged will be described. 
     In Example 2, as shown in  FIG. 13 , the component to be arranged is moved in an arrow A 12  direction by a mouse operation of the user or the like. Then, when the component to be arranged is brought closer to the component group of the total heating value of 15 W, the third interference check region of the component to be arranged and the third interference check region of the component group first interfere. At this point, the total value of the heating values of a component group contained in the third interference check region is 25 W, which is equal to or less than the permitted value 40 W of the third interference check region, and thus, an interference check error does not occur and the arrangement position of the component to be arranged can be determined and the arrangement can be confirmed. 
     When the component to be arranged is further brought closer to the component group of the total heating value of 15 W, as shown in  FIG. 14 , the second interference check regions of the permitted value 30 W of the heating value interfere with each other. At this point, the total value of the heating values of a component group contained in the second interference check region is 25 W, which is equal to or less than the permitted value 30 W of the second interference check region, and thus, an interference check error does not occur and the arrangement position of the component to be arranged can be determined and the arrangement can be confirmed. 
     When the component to be arranged is further brought closer to the component group, the first interference check regions of the permitted value 15 W of the heating value interfere with each other. At this point, the total value of the heating values of a component group contained in the first interference check region is 25 W, which exceeds the permitted value 15 W of the first interference check region, and thus, an interference check error occurs and the arrangement of the component to be arranged cannot be confirmed. 
     Therefore, if the arrangement of components is confirmed in the arrangement state shown in  FIG. 14 , as shown in  FIG. 15 , the third interference check regions are combined and further, the second interference check regions are combined. 
     [6-3] Example 3 
       FIGS. 16 to 18  are diagrams illustrating Example 3 of the concrete arrangement position determination procedure of the component to be arranged according to the present embodiment. 
     In Example 3, a case in which in the arrangement state shown in  FIG. 12 , that is, in a state in which a component group of the total heating value of 15 W containing two components is arranged on a board as arranged components, as shown in  FIG. 16 , another BGA package component of the heating value 20 W is newly arranged as a component to be arranged will be described. 
     In Example 3, as shown in  FIG. 16 , the component to be arranged is moved in an arrow A 13  direction by a mouse operation of the user or the like. Then, when the component to be arranged is brought closer to the component group of the total heating value of 15 W, as shown in  FIG. 17 , the third interference check region of the component to be arranged and the third interference check region of the component group interfere. At this point, the total value of the heating values of a component group contained in the third interference check region is 35 W, which is equal to or less than the permitted value 40 W of the third interference check region, and thus, an interference check error does not occur and the arrangement position of the component to be arranged can be determined and the arrangement can be confirmed. 
     When the component to be arranged is further brought closer to the component group of the total heating value of 15 W, the second interference check regions of the permitted value 30 W of the heating value interfere with each other. At this point, the total value of the heating values of a component group contained in the second interference check region is 35 W, which exceeds the permitted value 30 W of the second interference check region, and thus, an interference check error occurs and the arrangement of the component to be arranged cannot be confirmed. 
     Therefore, if the arrangement of components is confirmed in the arrangement state shown in  FIG. 14 , as shown in  FIG. 18 , the third interference check regions are combined. 
     [6-4] Example 4 
       FIGS. 19 to 21  are diagrams illustrating Example 4 of the concrete arrangement position determination procedure of the component to be arranged according to the present embodiment. 
     In Examples 1 to 3, a case in which an interference check is done based on the aforementioned predetermined conditions (a1′) to (a3′), that is, an interference check of interference check regions to which the same permitted value of the same element (attribute) is done has been described. In Example 4, by contrast, a case in which an interference check is done based on the aforementioned predetermined conditions (b1′) to (b3′), that is, an interference check between the interference check region of one component and the mounting limiting region (occupation region) of the other component is done will be described. 
     In Example 4, like Example 1 shown in  FIG. 10 , a case in which a BGA package component of the heating value 5 W is newly arranged as a component to be arranged while a BGA package component of the heating value is 10 W is arranged on a board as an arranged component will be described. 
     When the component of 5 W is brought closer to the arranged component of 10 W by a mouse operation of the user or the like and moved from the position shown in  FIG. 10  to the position shown in  FIG. 19 , the third and second interference check regions of the arranged component and the mounting limiting region of the moved component to be arranged of 5 W interfere with each other. At this point, the total value of the heating values is 15 W, which is equal to or less than the permitted value 40 W of the heating value of the third and second interference check regions, and thus, the third interference check region of the arranged component and the third interference check region of the component to be arranged can be combined. Similarly, the total value 15 W of the heating values is equal to or less than the permitted value 30 W of the heating value of the second interference check regions and thus, the second interference check region of the arranged component and the second interference check region of the component to be arranged can also be combined. 
     In the position of the component to be arranged of 5 W shown in  FIG. 19 , however, the mounting limiting region of the component to be arranged and the first interference check region of the arranged component of 10 W do not interfere and similarly, the first interference check region of the component to be arranged and the mounting limiting region of the arranged component of 10 W do not interfere. Thus, the first interference check region of the component to be arranged and the first interference check region of the arranged component are not combined, each of the component to be arranged and the arranged component has the first interference check region of the permitted value 15 W, and the components are not entered as one component group for the first interference check region. 
     When the component of 5 W is further brought closer to the arranged component of 10 W by a mouse operation of the user or the like and moved from the position shown in  FIG. 19  to the position shown in  FIG. 20 , the mounting limiting region of the component to be arranged and the first interference check region of the arranged component of 10 W interfere. At this point, the total value of the heating values is 15 W, which is equal to or less than the permitted value 15 W of the heating value of the first interference check region, and thus, the first interference check region of the arranged component and the first interference check region of the component to be arranged can now be combined. 
     When an interference check between an interference check region and a mounting limiting region of another component is done, it is assumed that in the arrangement state shown in  FIG. 19 , a component of the heating value 5 W is further arranged as shown in  FIG. 21  on the left side of the arranged component of 10 W. In the arrangement state shown in  FIG. 21 , like the component of 5 W on the right side, the component of 5 W on the left side does not interfere with the first interference check region and the mounting limiting region. Thus, the first interference check regions of the three components are not combined. Each of the three components has the first interference check region of the permitted value 15 W, and the three components are not entered as one component group of the total value 20 W for the first interference check region. 
     [6-5] Example 5 
       FIG. 22  is a diagram illustrating Example 5 of the concrete arrangement position determination procedure of the component to be arranged according to the present embodiment. 
     Heretofore, a case in which components having the heating value as an attribute value are arranged has been described, but in Example 5, a case in which like a component of the component model DEF in the component attribute library  34  shown in  FIG. 3 , a component that generates no heat or almost no heat is arranged will be described. Examples of such a component include, for example, a 2-terminal chip capacitor and a connector of a mechanism component. 
     In an arrangement state shown in, for example,  FIG. 18 , a 2-terminal chip capacitor (CHIP) as a component to be arranged to which no heating value is set is brought closer to an arranged component of 10 W. At this point, no attribute value to be checked for each of the first to third interference check regions of the component of 10 W is set to the 2-terminal chip component. Thus, the 2-terminal chip component is excluded from the check for the interference check regions. Therefore, as shown in  FIG. 22 , the 2-terminal chip component can be brought closer to a position where no error occurs in the interference check of mounting limiting regions near the BGA of 10 W to determine the arrangement position. 
     [7] Effect of the Present Embodiment 
     According to the information processing apparatus  10  having the component arrangement function in the present embodiment described above, like the component shape library  35  shown in  FIG. 4 , interference check regions are associated for each component using the component shape name and the element name as keys. Then, when a component is arranged, if interference check regions having the same permitted value for the same element interfere, the interference is permitted and the interference check regions are combined if the total value of the attribute value of the component and the attribute value of a nearby component is equal to or less than the permitted value of the interference check regions of the component. 
     By providing interference check regions to which permitted values for a predetermined element (attribute) are set as described above for each component, not only an interference check between the component to be arranged and a nearby component (neighboring component), but also an interference check in consideration of the arrangement of nearby components therearound can be done. Accordingly, the arrangement position of the component to be arranged can be determined by considering the arrangement of a plurality of components therearound on a board and the check of the component to be newly arranged for the interference check regions is appropriately done in accordance with conditions of nearby components so that a high-density component arrangement can be designed. 
     Particularly in conventional technology, the interference check between the component to be arranged and a nearby component is done in a one-to-one relationship. In the present embodiment, by contrast, when the arrangement position of the component to be arranged is determined, the interference check can be done not only with an directly close component (neighboring component), but also by including a plurality of components therearound while being conscious of permitted values of elements (attributes) such as the heat, stress, and electromagnetic field. Therefore, arrangement work of the component to be arranged can be done efficiently. 
     [8] Others 
     In the foregoing, a preferred embodiment of the present invention has been described, but the present invention is not limited to a specific embodiment and various modifications and alterations can be made without deviating from the spirit of the present invention. 
     In the embodiment described above, a case in which the predetermined element is the heating value is described, but the predetermined element is not limited to the above example and may be the weight, electromagnetic field or the like. Two elements or more may be combined. If, for example, two elements are combined, an interference check between the component to be arranged and a nearby component is done based on interference check regions having permitted value of the first element and an interference check is done based on interference check regions having permitted value of the second element. Then, if no interference check error occurs in both interference checks, the interference between the component to be arranged and the nearby component is permitted and the interference check regions are combined. 
     In the information processing apparatus  10  in the present embodiment, a component arrangement state on a board as shown in  FIGS. 10 to 28  can be displayed in the display unit  50 . In this case, whether to display interference check regions of each component in the display unit  50  can be switched. Also by switching whether to display combined check regions that have been combined in the display unit  50 , a state in which combined check regions are displayed and a state in which interference check regions of each component are displayed without displaying combined check regions can be switched. Further, by switching the reverse video display in the display unit  50 , regions without interference check regions can explicitly be displayed and the state of regions where a component can be arranged on the board can thereby be recognized visually. 
     Further, in the embodiment described above, a case in which the component to be arranged is arranged near another component and interference check regions interfere and are combined has been described. In contrast, by moving one component belonging to an arranged component group whose interference check region has been combined away from other components of the component group in a reverse procedure of the procedure used to combine interference check regions, an arrangement state in which the interference check regions do not interfere with each other can be restored. 
     According to an embodiment, the arrangement position of a component to be arranged can be determined by considering the arrangement of a plurality of components therearound on a board. 
     All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.