Design support device, learning device, and trained model
Patent Information
- Application Number
- JP2024506065
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-03-08
- Filing Date
- 2023-02-24
- Publication Date
- 2025-03-03
- Estimated Expiration
- 2043-02-24
AI Technical Summary
【0010】 本開示によると、電子回路基板を構成する構成要素に応じたデザインルールチェックを実行することができる。
Smart Images

Figure 0007638438000001 
Figure 0007638438000002 
Figure 0007638438000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a design support device and a learning device. [Background technology]
[0002] In recent years, with the increasing sophistication of electronic devices, the circuit boards mounted on the electronic devices have become denser, and the number and types of integrated circuits (ICs) mounted on the circuit boards have increased. This has increased the design load, and there is a demand for more efficient board design, such as board design checks. As a way to improve the efficiency of board design, a board design rule check function is known that is provided in CAD (Computer Aided Design) devices used in circuit board design. This design rule check function checks whether the designed circuit board satisfies design rules such as EMC performance.
[0003] International Publication No. 2020 / 079810 (Patent Document 1) discloses a design support device. The design support device performs a design rule check on design data by geometric calculation, generates image data from the design data in which a portion determined to be an error is centered, performs a design rule check on the image data by artificial intelligence, and displays the results of the design rule check. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] International Publication No. 2020 / 079810 Summary of the Invention [Problem to be solved by the invention]
[0005] Since an electronic circuit board is composed of various types of components (e.g., IC packages, wiring patterns, etc.), it is necessary to execute a design rule check based on design constraints according to the type of each component. Therefore, if the design data of the electronic circuit board does not include information indicating the type of each component, it is not possible to execute an appropriate design rule check for each component. Patent Document 1 considers using the above-mentioned configuration to make it more efficient to check whether an error determined by a design rule check is a true error, but does not teach or suggest any means for solving the above problem.
[0006] An object of one aspect of the present disclosure is to provide a technique capable of performing an appropriate design rule check on components that make up an electronic circuit board. [Means for solving the problem]
[0007] A design support device according to one embodiment includes a database unit that stores reference information associating feature information, including shapes of components that constitute an electronic circuit board, with type information of the components; a data input unit that accepts input of design data for a target electronic circuit board that is to be subject to a design rule check; an extraction unit that extracts feature information, including shapes of the components that constitute the target electronic circuit board, by analyzing the design data; a determination unit that determines type information of the components that constitute the target electronic circuit board that corresponds to the extracted feature information, based on the extracted feature information and the reference information stored in the database unit; a generation unit that generates new design data by adding the type information determined by the determination unit to the design data; and a check execution unit that executes a design rule check on the new design data.
[0008] A learning device according to another embodiment includes a data acquisition unit that acquires learning data including feature information including the shapes of components that constitute an electronic circuit board and specification information of the electronic circuit board, and a model generation unit that uses the learning data to generate a trained model for estimating type information of the components that constitute the electronic circuit board from the feature information and the specification information.
[0009] A design support device according to still another embodiment includes a data input unit that accepts input of design data for a target electronic circuit board that is to be subject to a design rule check, an extraction unit that analyzes the design data to extract feature information including shape information of components that constitute the target electronic circuit board and specification information of the target electronic circuit board, and an estimation unit that estimates the type information by inputting the feature information and specification information extracted by the extraction unit to a trained model for estimating type information of the components from the feature information and specification information. Effect of the Invention
[0010] According to the present disclosure, it is possible to execute a design rule check according to the components that configure an electronic circuit board. [Brief description of the drawings]
[0011] [Figure 1] FIG. 2 illustrates an example of a hardware configuration of a design support apparatus. [Diagram 2] 1 is a block diagram showing an example of a functional configuration of a design support apparatus according to a first embodiment. [Diagram 3] FIG. 1 is a diagram showing an example of a symbolic diagram of an IC package. [Figure 4] FIG. 13 is a diagram showing an example of an information table for an IC package. [Diagram 5] FIG. 5 is an updated version of the IC package information table in FIG. 4. [Figure 6] FIG. 13 is a diagram for explaining a flow until an IC package name is identified. [Figure 7] FIG. 2 is a diagram showing an example of a wiring pattern connected to a terminal of an IC package. [Figure 8] FIG. 11 is a diagram showing an example of an information table of a wiring pattern. [Figure 9] FIG. 9 is a diagram in which the information table of the wiring pattern in FIG. 8 is updated. [Figure 10] FIG. 11 is a block diagram showing an example of a functional configuration of a design support apparatus according to a second embodiment. [Figure 11] 13 is a flowchart illustrating an example of a learning process of the design support apparatus. [Figure 12] 11 is a flowchart illustrating an example of a processing procedure of the design support apparatus. [Figure 13] FIG. 13 is a diagram showing an example of an information table of an IC package according to another embodiment. [Figure 14] FIG. 2 is a diagram for explaining the positional relationship between an IC package and peripheral circuit components. [Figure 15] FIG. 13 is a diagram for explaining a method of applying a threshold value when performing a design rule check; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, the present embodiment will be described with reference to the drawings. In the following description, the same components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.
[0013] Embodiment 1 The design support device according to this embodiment has a function of executing a design rule check on design data (e.g., CAD data) of an electronic circuit board (e.g., a printed circuit board) on which circuit elements are arranged. The configuration, processing, etc. of the design support device 100 will be specifically described below.
[0014] <Hardware configuration> 1 is a diagram showing an example of a hardware configuration of a design support device 100. The design support device 100 is mainly configured with a microcomputer. Specifically, the design support device 100 includes a processor 150, a main memory device 152, a secondary memory device 154, a communication interface 156, an input device 158, and a display 160. These components are connected to each other via an internal bus 162 so as to be able to communicate with each other.
[0015] The processor 150 is typically an arithmetic processing unit such as a CPU (Central Processing Unit) or an MPU (Multi Processing Unit), which reads out various programs including an OS (Operating System) installed in the secondary storage device 154, and executes them while expanding them into the main storage device 152.
[0016] The primary storage device 152 is typically a volatile storage medium such as a dynamic random access memory (DRAM), and stores various work data necessary for executing various programs, in addition to the codes of various programs including the OS executed by the processor 150. The secondary storage device 154 is a non-volatile storage medium such as a hard disk or a solid state drive (SSD), and stores various programs including the OS, as well as various setting values.
[0017] The communication interface 156 mediates data transmission between the processor 150 and external devices. Communication via the communication interface 156 may be performed using the Internet, a wide area network (WAN), a local area network (LAN), an Ethernet network, a wired or wireless network, or the like, or a combination thereof.
[0018] The input device 158 receives operation inputs for the design support device and is realized by, for example, a keyboard, a button, a mouse, a touch panel, or the like.
[0019] The display 160 is, for example, a liquid crystal display, an organic EL (Electro Luminescence) display, etc. The display 160 may be configured integrally with the design support device 100, or may be configured separately from the design support device 100.
[0020] Unlike the example of FIG. 1, at least a part of the design support device 100 can be configured using circuits such as a field programmable gate array (FPGA) and an application specific integrated circuit (ASIC).
[0021] <Functional configuration> Fig. 2 is a block diagram showing an example of a functional configuration of a design support device according to the first embodiment. With reference to Fig. 2, design support device 100 includes a data acquisition unit 102, a database unit 104, a design data input unit 106, an extraction unit 108, a determination unit 110, a generation unit 112, a check execution unit 114, and an output unit 116. Database unit 104 is realized by a main storage device 152 or a secondary storage device 154. Typically, each function other than database unit 104 is realized by a processor 150 executing a program, but may be realized by a dedicated hardware circuit.
[0022] The data acquiring unit 102 acquires element data 4 related to each component constituting the electronic circuit board (for example, accepts input of the element data 4). The element data 4 includes IC-related information related to ICs included in the electronic circuit board, pattern-related information related to wiring patterns in the electronic circuit board, and specification information of the electronic circuit board (for example, including product use, current amount, etc. of the electronic circuit board).
[0023] The IC-related information includes package characteristic information on the characteristics of an IC package and package type information indicating the type of the IC package. The package characteristic information includes the outline shape of the IC package (e.g., the number of sides of the outline), the terminal shape of the IC package (e.g., rectangular, circular, etc.), and terminal position information (e.g., information indicating the positional relationship between the package outline and the terminals). The package type information includes the name of the IC package, such as BGA (Ball Grid Array), QFN (Quad Flat Non-leaded package), SOP (Small Outline Package), QFP (Quad Flat Package), etc.
[0024] The pattern-related information includes pattern characteristic information indicating the characteristics of the wiring pattern and pattern type information indicating the type of the wiring pattern. The pattern characteristic information includes the material of the wiring pattern, the relative dielectric constant of the circuit board on which the wiring pattern is provided, the layer structure of the circuit board, the impedance value of the wiring pattern, the wiring pattern shape (e.g., length, width, shape), the ratio of the maximum width of the wiring pattern connected to the terminal of the IC package to the dimension of the terminal, etc. The pattern type information includes the name (or use) information of the wiring pattern, such as Signal (signal pattern), VCC (power supply pattern), GND, etc.
[0025] The database unit 104 accumulates various kinds of element data 4 input to the data acquisition unit 102. Specifically, the database unit 104 stores reference information that associates feature information including the shapes of components constituting the electronic circuit board (e.g., package feature information and pattern feature information) with type information of the components (e.g., package type information and pattern type information).
[0026] The database unit 104 stores, as reference information, a table R1 that associates package characteristic information (for example, the outline shape of an IC package, the terminal shape of an IC package, and terminal position information) with package type information. The table R1 is data referenced by the determination unit 110, which will be described later.
[0027] The database unit 104 stores a table R2 that associates pattern characteristic information with pattern type information. For example, the table R2 includes a ratio of the maximum width of a wiring pattern to a terminal dimension of an IC package in a signal pattern, and a list of impedance values of the wiring pattern and their numerical distribution. Similarly, the table R2 includes the ratio in a power supply pattern, and a list of the impedance values and their numerical distribution.
[0028] The design data input unit 106 receives input of design data 2 for a target electronic circuit board that is to be subjected to a design rule check. Typically, the design data 2 is CAD data for the target electronic circuit board.
[0029] The extraction unit 108 analyzes the design data 2 to extract feature information including the shapes of the components that make up the target electronic circuit board. First, the extraction unit 108 determines whether or not the design data 2 contains type information (e.g., package type information, pattern type information) of the components that make up the target electronic circuit board. The package type information and pattern type information are information required to perform a design rule check according to these types. In other words, the extraction unit 108 determines whether or not the design data 2 lacks information for appropriately performing a design rule check.
[0030] For example, if the package information input field of the IC library of design data 2 is blank, or if a specified package name (e.g., BGA, QFN) is not input in the package information input field (e.g., a simple list of numbers), extraction unit 108 determines that package type information is not included in design data 2. On the other hand, if a specified package name is input in the package information input field, extraction unit 108 determines that package type information is included in design data 2.
[0031] Furthermore, if the net attribute input field of the net data in the design data 2 is blank, or if a specified pattern name (e.g., VCC, GND, Signal) is not entered in the net attribute input field (e.g., a simple list of numbers), the extraction unit 108 determines that the pattern type information is not included in the design data 2. On the other hand, if a specified pattern name is entered in the net attribute input field, the extraction unit 108 determines that the pattern type information is included in the design data 2.
[0032] When the extraction unit 108 determines by the above method that the design data 2 does not include type information of the components constituting the target electronic circuit board, it extracts feature information of the components. In one aspect, the extraction unit 108 extracts, as the package feature information, the outer shape of the IC package, the terminal shape of the IC package, and information indicating the positional relationship between the outer shape of the IC package and the terminals of the IC package (i.e., terminal position information). In another aspect, the extraction unit 108 extracts, as the pattern feature information, the ratio of the maximum width (i.e., maximum pattern width) of the wiring pattern connected to the terminals of the IC package to the terminal dimensions of the IC package included in the target electronic circuit board, and the impedance value of the wiring pattern. Details of the method of extracting feature information by the extraction unit 108 will be described later.
[0033] The determination unit 110 determines type information of components constituting the target electronic circuit board, which corresponds to the extracted feature information, based on the feature information extracted by the extraction unit 108 and reference information (e.g., tables R1, R2) stored in the database unit 104. Specifically, the determination unit 110 compares the extracted package feature information with table R1 to determine package type information (e.g., BGA, QFN) corresponding to the package feature information. The determination unit 110 also compares the extracted pattern feature information with table R2 to determine pattern type information (e.g., signal pattern, power supply pattern) corresponding to the pattern feature information.
[0034] The generating unit 112 generates new design data by adding the type information determined by the determining unit 110 to the design data 2.
[0035] The check execution unit 114 executes a design rule check on the new design data generated by the generation unit 112. Specifically, the check execution unit 114 executes a design rule check on the new design data according to the added package type information and pattern type information.
[0036] If the extraction unit 108 determines that the design data 2 includes type information of the components that configure the target electronic circuit board, the design data 2 acquired by the design data input unit 106 is input to the check execution unit 114. In this case, the extraction process of the characteristic information by the extraction unit 108, the type information determination process by the determination unit 110, and the process of adding the type information to the design data 2 by the generation unit 112 are not executed. Therefore, the check execution unit 114 executes a design rule check on the design data 2 acquired by the design data input unit 106.
[0037] The output unit 116 outputs the design rule check result obtained by the check execution unit 114. For example, the output unit 116 displays the design rule check result on a display 160, or transmits the design rule check result to an external device.
[0038] <Package type determination method> FIG. 3 is a diagram showing an example of a symbolic graphic of an IC package. Referring to FIG. 3, the extraction unit 108 extracts a rectangular shape having the longest diagonal length from among the group of graphics constituting the symbolic graphic of the IC package 11 as the outline 12 of the IC package 11 (i.e., extracts the outline shape of the IC package). From among the group of graphics constituting the symbolic graphic of the IC package 11, the extraction unit 108 extracts a plurality of graphics other than the outline 12 as the terminals 13 of the IC package 11 (i.e., extracts the terminal shapes of the IC package). The extraction unit 108 extracts information indicating the positional relationship between the outline 12 and the terminals 13 of the IC package (i.e., terminal position information). The terminal position information includes information indicating whether the terminals 13 are present inside or outside the closed region formed by the outline 12. Based on the extracted information, package type information is determined.
[0039] Fig. 4 is a diagram showing an example of an information table for an IC package. Referring to Fig. 4, in information table 14, column 51 indicates the part number, column 52 indicates the terminal shape, column 53 indicates the position of the terminal with respect to the outline (hereinafter also simply referred to as "terminal position"), column 54 indicates the number of sides of the outline of the IC package on which the terminal exists (hereinafter also simply referred to as "number of sides"), and column 55 indicates the IC package name. Information table 14 is composed of these five items. Terminal position "inside closed area" indicates that the terminal exists inside the closed area formed by the outline, and terminal position "outside closed area" indicates that the terminal exists outside the closed area.
[0040] The terminal shapes in column 52, the terminal positions in column 53, and the number of sides in column 54 correspond to the characteristic information of the IC package extracted by extraction unit 108. The IC package names in column 55 correspond to package type information determined by determination unit 110 based on the characteristic information of the IC package. The part numbers in column 51 are extracted from design data 2 (for example, extracted by reading character information written on the CAD data).
[0041] Figure 5 is a diagram in which the information table of the IC package in Figure 4 has been updated. Information table 14 in Figure 5 is obtained by updating column 55 of information table 14 in Figure 4. Specifically, while column 55 was blank in information table 14 in Figure 4, it can be seen that in information table 14 in Figure 5, IC package names are written in column 55.
[0042] The determination unit 110 determines the IC package name in column 55 using table R1 that associates package characteristic information (e.g., the outer line shape of an IC package, the terminal shape of an IC package, and terminal position information) with package type information. Specifically, the determination unit 110 determines the IC package name in column 55 by comparing the information in columns 52, 53, and 54 of the information table 14 with table R1 stored in the database unit 104. Table R1 is searched for characteristic information identical to the characteristic information in columns 52, 53, and 54, and package type information associated with the searched characteristic information is extracted as package type information corresponding to the characteristic information in columns 52, 53, and 54.
[0043] The IC package name corresponding to the terminal shape "circle" is "BGA". The IC package name corresponding to the terminal shape "rectangle", the terminal position "inside closed area" and the number of sides "4" is "QFN". The IC package name corresponding to the terminal shape "rectangle", the terminal position "outside closed area" and the number of sides "4" is "QFP". The IC package name corresponding to the terminal shape "rectangle", the terminal position "outside closed area" and the number of sides "2" is "SOP".
[0044] The reason why IC package names are specified based on the terminal shapes, terminal positions, and number of sides will be described below.
[0045] Fig. 6 is a diagram for explaining a flow until an IC package name is specified. Referring to Fig. 6, in step S1, as explained in Fig. 3, for each of IC packages P1 to P4, a rectangular shape having the longest diagonal length is extracted as the outline of the IC package.
[0046] In step S2, the terminal shapes of the IC packages P1 to P4 are extracted. The terminal shape of the IC package P1 is "circular," and the terminal shapes of the IC packages P2 to P4 are "rectangular." Therefore, the type of the IC package P1 is identified as "BGA."
[0047] In step S3, the terminal positions of IC packages P2 to P4 are extracted. The terminal position of IC package P3 is "inside the closed area", and the terminal positions of IC packages P2 and P4 are "outside the closed area". Therefore, the type of IC package P3 is identified as "QFN".
[0048] In step S4, the number of sides of the package outline on which the terminals of IC packages P2 and P4 exist is extracted. The "number of sides" of IC package P2 is "2," and the "number of sides" of IC package P4 is "4." Therefore, the type of IC package P2 is identified as "SOP," and the type of IC package P4 is identified as "QFP."
[0049] <Pattern type determination method> The design constraints of the signal patterns and the power supply patterns included in the design data are different. Therefore, when performing a design rule check on the design data, it is necessary to identify the types of wiring patterns included in the design data in advance.
[0050] 7 is a diagram showing an example of a wiring pattern connected to a terminal of an IC package. Referring to FIG 7, a power supply pattern 19 and a signal pattern 21 connected to a terminal 17 of an IC package 16 are shown.
[0051] The power supply pattern 19 and the signal pattern 21 have significantly different rates of change in pattern width near the terminal 17 of the IC package 16. Specifically, when comparing the terminal dimension 18 with the maximum pattern width 20 of the power supply pattern 19, the maximum pattern width 20 of the power supply pattern 19 is larger than the terminal dimension 18. On the other hand, the maximum pattern width 22 of the signal pattern 21 is not significantly different from the terminal dimension 18 due to impedance matching of the signal pattern wiring. In other words, the signal pattern 21 has a smaller ratio of the maximum width of the wiring pattern connected to the terminal of the IC package to the terminal dimension of the IC package than the power supply pattern 19.
[0052] In order to suppress the influence of power supply noise, the impedance value of the power supply pattern 19 is much smaller than the impedance value of the signal pattern 21. That is, the impedance value of the signal pattern 21 is much larger than the impedance value of the power supply pattern 19.
[0053] Therefore, power supply patterns and signal patterns can be classified based on the ratio of the maximum pattern width to the terminal dimensions of the IC package and the impedance value of the wiring pattern, which is calculated by a known method based on the positional relationship between the wiring pattern shape and the GND and the layer structure of the circuit board.
[0054] Fig. 8 is a diagram showing an example of an information table of wiring patterns. Referring to Fig. 8, in information table 24, column 61 indicates a pattern number. Column 62 indicates a ratio of a maximum pattern width to a terminal dimension of an IC package included in an electronic circuit board. Column 63 indicates an impedance value of the wiring pattern, and column 64 indicates a pattern name.
[0055] The ratio in column 62 and the impedance value in column 63 correspond to characteristic information of the wiring pattern extracted by the extraction unit 108. The pattern name in column 64 corresponds to pattern type information determined by the determination unit 110 based on the characteristic information of the wiring pattern. The pattern number in column 61 is extracted from the design data 2 (for example, extracted by reading character information written on the CAD data).
[0056] Fig. 9 is a diagram in which the information table of the wiring pattern of Fig. 8 has been updated. Information table 24 of Fig. 9 is obtained by updating column 64 of information table 24 of Fig. 8. Specifically, while column 64 was blank in information table 24 of Fig. 8, it can be seen that in information table 24 of Fig. 9, pattern names are written in column 64.
[0057] The determination unit 110 determines the pattern name in column 64 using table R2 that associates pattern characteristic information (e.g., the ratio of the maximum width pattern to the terminal dimension of an IC package, the impedance value of a wiring pattern) with pattern type information. Specifically, the determination unit 110 determines the pattern name in column 64 by comparing the information in columns 62 and 63 of information table 24 with table R2. Table R2 is searched for characteristic information identical to the characteristic information in columns 62 and 63, and pattern type information associated with the characteristic information is extracted as pattern type information corresponding to the characteristic information in columns 62 and 63.
[0058] For example, the pattern name corresponding to a ratio X1 of the maximum pattern width to the terminal dimension and an impedance value Z1 is "VCC," and the pattern name corresponding to a ratio X2 and an impedance value Z2 is "Signal."
[0059] <Advantages> According to the first embodiment, even if the design data of the electronic circuit board input to the design support device does not include information indicating the type of IC package constituting the electronic circuit board (e.g., IC package name) and information indicating the type of wiring pattern (e.g., pattern name), the IC package name and the pattern name can be determined by analyzing the design data. Therefore, an appropriate design rule check can be performed based on design constraints corresponding to the type of IC package and the type of wiring pattern. In addition, the design load of the designer can be reduced by displaying the results of the appropriate design rule check on a display or the like.
[0060] Embodiment 2 In the second embodiment, a configuration for estimating IC package names and pattern names using machine learning will be described. The hardware configuration of the design support apparatus according to the second embodiment is similar to that of the first embodiment.
[0061] <Functional configuration> Fig. 10 is a block diagram showing an example of a functional configuration of a design support device according to the second embodiment. With reference to Fig. 10, design support device 100A includes design data input unit 106, extraction unit 108A, generation unit 112, check execution unit 114, output unit 116, learning unit 250, learned model storage unit 256, and estimation unit 260. Learned model storage unit 256 is realized by main storage unit 152 or secondary storage unit 154. Typically, each function other than learned model storage unit 256 is realized by processor 150 executing a program, but may be realized by a dedicated hardware circuit.
[0062] (Learning Phase) The functions and processes for storing the trained model generated by machine learning by the learning unit 250 in the trained model storage unit 256 will be described.
[0063] The learning unit 250 includes a data acquisition unit 252 and a model generation unit 254. The data acquisition unit 252 acquires (accepts input of) learning data 6. The learning data 6 includes learning data L1 and L2.
[0064] Specifically, the learning data L1 includes package characteristic information including the shapes of components constituting the electronic circuit board (e.g., the outline shape of the IC package, the terminal shape of the IC package, and terminal position information), and specification information of the electronic circuit board (e.g., the product use of the electronic circuit board, product specifications such as the amount of current, etc.) The learning data L1 is a data set in which the package characteristic information and the specification information are associated with each other.
[0065] The learning data L2 includes pattern characteristic information including the shape of the wiring pattern constituting the electronic circuit board (e.g., the material of the wiring pattern, the relative dielectric constant of the circuit board, the layer structure of the circuit board, the impedance value of the wiring pattern, the wiring pattern shape, and the ratio of the maximum pattern width to the terminal dimension) and specification information of the electronic circuit board. The learning data L2 is a data set in which the package characteristic information and the specification information are associated with each other.
[0066] The model generation unit 254 uses the training data L1 to generate a trained model M1 for estimating package type information of an IC package constituting an electronic circuit board from package characteristic information and specification information. The model generation unit 254 also uses the training data L2 to generate a trained model M2 for estimating pattern type information of a wiring pattern constituting an electronic circuit board from pattern characteristic information and specification information.
[0067] The learning algorithm used by the model generation unit 254 may be a known algorithm such as supervised learning, unsupervised learning, or reinforcement learning. In this embodiment, as an example, a case where K-means (clustering), which is unsupervised learning, is applied will be described. Unsupervised learning refers to a method of learning features in learning data by providing the learning unit with learning data that does not include results (labels).
[0068] The model generating unit 254 learns package type information by so-called unsupervised learning, for example, in accordance with a grouping technique using the K-means method.
[0069] K-means is a non-hierarchical clustering algorithm that uses the mean of the clusters to classify a given number of clusters into k.
[0070] Specifically, the K-means algorithm is processed as follows: First, a cluster is randomly assigned to each data xi. Next, the center Vj of each cluster is calculated based on the assigned data. Next, the distance between each xi and each Vj is calculated, and xi is reassigned to the closest central cluster. Then, if the cluster assignment for all xi remains unchanged through the above process, or if the amount of change falls below a certain threshold set in advance, it is determined that convergence has occurred and the process ends.
[0071] In this embodiment, the model generation unit 254 learns package type information (e.g., IC package name) by so-called unsupervised learning according to the learning data L1 created based on a combination of package characteristic information and electronic circuit board specification information acquired by the data acquisition unit 252, and generates a learned model M1. The learned model M1 classifies the learning data L1 into a plurality of groups according to the following criteria.
[0072] For example, the trained model M1 classifies group G1, which corresponds to the terminal shape "circle," as "BGA," and group G2, which corresponds to the terminal shape "rectangle" and the terminal position "inside a closed area," as "QFN." The trained model M1 classifies group G3, which corresponds to the terminal shape "rectangle," the terminal position "outside a closed area," and the number of sides of the IC package outline on which the terminal is located "2," as "SON," and classifies group G4, which corresponds to the terminal shape "rectangle," the terminal position "outside a closed area," and the number of sides "4," as "QFP."
[0073] Furthermore, the model generating unit 254 learns pattern type information (e.g., pattern name) by so-called unsupervised learning according to the learning data L2 created based on a combination of the pattern feature information acquired by the data acquiring unit 252 and the specification information of the electronic circuit board, and generates a learned model M2. For example, the learned model M2 classifies a group H1 corresponding to "the ratio of the maximum pattern width to the terminal dimension is less than the threshold value Th" and "the impedance value is equal to or greater than the threshold value Tz" into a "signal pattern," and classifies a group H2 corresponding to "the ratio is equal to or greater than the threshold value Th" and "the impedance value is less than the threshold value Tz" into a "power supply pattern."
[0074] By performing the above-mentioned learning, the model generation unit 254 generates trained models M1, M2 for estimating package type information and pattern type information from the learning data L1, L2, and outputs the trained models M1, M2 to the trained model storage unit 256. The trained model storage unit 256 stores the trained models M1, M2.
[0075] Fig. 11 is a flowchart showing an example of the learning process of design support device 100 A. The steps of Fig. 11 are typically executed by processor 150 (learning unit 250) of design support device 100 A.
[0076] 11, the design support device 100A acquires learning data L1 including package characteristic information and specification information, and learning data L2 including pattern characteristic information and specification information (step S10). Note that, although a configuration in which the learning data L1 and L2 are acquired simultaneously will be described, the configuration is not limited to this. The design support device 100A may acquire the package characteristic information, the pattern characteristic information, and the specification information separately, associate the package characteristic information and the specification information to generate learning data L1, and associate the pattern characteristic information and the specification information to generate learning data L2.
[0077] The design support device 100A generates a trained model M1 by learning package type information through unsupervised learning according to the acquired training data L1, and generates a trained model M2 by learning pattern type information through unsupervised learning according to the acquired training data L2 (step S12).
[0078] The design support device 100A stores the generated trained models M1 and M2 in an internal memory (for example, the secondary storage device 154) (step S14).
[0079] (Utilization phase) The flow of estimating an IC package name and a pattern name using a trained model generated by machine learning by the training unit 250 will be described.
[0080] 10, the design data input unit 106 acquires design data 2 of a target electronic circuit board which is to be subjected to a design rule check.
[0081] Similar to extraction unit 108 in the first embodiment, extraction unit 108A determines whether type information of components constituting the target electronic circuit board is included in design data 2. If the type information is not included in design data 2, extraction unit 108A extracts feature information of the components (e.g., package feature information and pattern feature information) and specification information of the target electronic circuit board.
[0082] The estimation unit 260 estimates package type information (e.g., IC package name) by using the learned model M1 stored in the learned model storage unit 256. Specifically, the estimation unit 260 estimates the package type information by inputting the package characteristic information and specification information extracted by the extraction unit 108A to the learned model M1.
[0083] Furthermore, the estimation unit 260 estimates pattern type information (e.g., pattern name) by using the trained model M2 stored in the trained model storage unit 256. Specifically, the estimation unit 260 estimates the pattern type information by inputting the pattern feature information and specification information extracted by the extraction unit 108A to the trained model M2.
[0084] Estimation unit 260 outputs the package type information and pattern type information estimated by the above method to generation unit 112. The functions and processes of generation unit 112, check execution unit 114 and output unit 116 are similar to those described in the first embodiment, and therefore detailed description thereof will not be repeated.
[0085] As in the first embodiment, when the extraction unit 108A determines that the design data 2 contains type information of the components that configure the target electronic circuit board, the design data 2 acquired by the design data input unit 106 is input to the check execution unit 114. In this case, the extraction process of the characteristic information and specification information by the extraction unit 108, the estimation process of the type information by the estimation unit 260, and the addition process of the type information to the design data 2 by the generation unit 112 are not executed. Therefore, the check execution unit 114 executes a design rule check on the design data 2 acquired by the design data input unit 106.
[0086] In this embodiment, a configuration has been described in which package type information and pattern type information are output using trained models M1, M2 trained by the model generation unit 254, but it may also be configured to obtain trained models M1, M2 from another device and output package type information and pattern type information using the trained models M1, M2.
[0087] Fig. 12 is a flowchart showing an example of a processing procedure of design support device 100 A. The steps of Fig. 12 are typically executed by processor 150 of design support device 100 A.
[0088] 12, the design support device 100A acquires (extracts) package characteristic information, pattern characteristic information, and specification information from the design data 2 (step S20). The design support device 100A estimates package type information by inputting the package characteristic information and specification information to the trained model M1, and estimates pattern type information by inputting the pattern characteristic information and specification information to the trained model M2 (step S22).
[0089] The design support device 100A outputs the estimated package type information and pattern type information (step S24). The design support device 100A generates new design data by adding the package type information and pattern type information to the design data 2 (step S26). The design support device 100A executes a design rule check on the new design data (step S28). The design support device 100A outputs the design rule check result (step S30).
[0090] <Advantages> The second embodiment has the same advantages as the first embodiment.
[0091] Other embodiments. (1) In the above embodiment, the design support device 100 is configured to extract feature information of a component that configures a target electronic circuit board when it is determined that the design data 2 does not contain type information (e.g., package type information and pattern type information) of the component, but is not limited to this configuration. For example, when the design support device 100 is set by a user to automatically determine the type information, the design support device 100 may be configured to extract feature information of the component without determining whether or not the type information is contained in the design data 2.
[0092] (2) In the second embodiment, a case where unsupervised learning is applied to the learning algorithm used by the estimation unit 260 has been described, but the present invention is not limited to this. As for the learning algorithm, reinforcement learning, supervised learning, semi-supervised learning, or the like can be applied in addition to unsupervised learning. In addition, as the learning algorithm used by the model generation unit 254, deep learning that learns to extract the feature amount itself can be used, and machine learning may be performed according to other known methods, such as a neural network, genetic programming, functional logic programming, or a support vector machine.
[0093] Furthermore, when implementing the unsupervised learning in the second embodiment, the clustering is not limited to the non-hierarchical clustering using the K-means method described above, and any other known method capable of clustering may be used. For example, hierarchical clustering such as a shortest distance method may be used.
[0094] (3) In the second embodiment, the learning unit 250 and the estimation unit 260 are described as being built into the design support device 100A, but the present invention is not limited to this configuration. The learning unit 250 and the estimation unit 260 may be, for example, connected to the design support device 100A via a network and may be a device separate from the design support device 100A. That is, a learning device including the learning unit 250 and an estimation device including the estimation unit 260 may be prepared separately from the design support device 100A. In this case, the learning device and the estimation device may exist on a cloud server.
[0095] (4) In the above-described embodiments, the external dimensions of the IC package may be used to change the threshold value of a design rule check item related to the positional relationship between the IC package and peripheral circuit components (e.g., bypass capacitors, resistors, inductors, etc.).
[0096] The package characteristic information on the characteristics of the IC package further includes the outer dimensions of the IC package (e.g., long side dimensions, short side dimensions, etc.) in addition to the above-mentioned information. Specifically, the extraction unit 108 or the extraction unit 108A analyzes the design data 2 to further extract the outer dimensions of the IC package as package characteristic information in addition to the outer line shape of the IC package and the terminal shape and terminal position information of the IC package. In the following, for ease of explanation, the case of the extraction unit 108 will be representatively explained.
[0097] 13 is a diagram showing an example of an information table of an IC package according to another embodiment. Referring to Fig. 13, an information table 14A is obtained by adding a column 56 to information table 14 of Fig. 4.
[0098] Column 56 indicates the short side dimensions of the IC packages. These short side dimensions are extracted as characteristic information of the IC packages by extraction unit 108. In the example of Fig. 13, the short side dimensions of the IC packages with part numbers 1 to 6 are K1a to K6a, respectively.
[0099] Fig. 14 is a diagram for explaining the positional relationship between an IC package and peripheral circuit components. Referring to Fig. 14, IC package 300 is an IC package (e.g., BGA) in which terminals are arranged in a grid pattern. IC package 300 is provided with, for example, a plurality of power supply terminals (power supply pins) 303, 304. Furthermore, IC package 300 has a short side dimension "K1a" and a long side dimension "K1b".
[0100] Assume that a power supply terminal of an IC package 300 is wired to a peripheral circuit component. In the example of Fig. 14, a power supply terminal 303 is connected to a peripheral circuit component 31 via a wiring pattern 45, and a power supply terminal 304 is connected to a peripheral circuit component 32 via a wiring pattern 46.
[0101] Here, the peripheral circuit components 31 and 32 are assumed to be filter circuits such as bypass capacitors. It is preferable to place the filter circuits close to the power supply terminals from the viewpoint of noise countermeasures. In IC packages in which terminals are arranged in a grid pattern, such as BGA, CGA (Column Grid Array), and LGA (Land Grid Array), the back surface of the IC package may not be usable due to wiring draw-out restrictions. In such cases, the filter circuits are placed on the same surface (same layer) as the IC package.
[0102] When the IC package and the filter circuit are arranged on the same layer, it is preferable to arrange them as close as possible from the viewpoint of noise countermeasures, but the shortest path length between the power supply terminal and the filter circuit depends on the external dimensions of the IC package. Specifically, the terminal with the longest shortest path length to the filter circuit is the terminal located in the center of the IC package (e.g., power supply terminals 303, 304). Therefore, the shortest path length between the filter circuit arranged near the external outline of the IC package and the terminal located in the center of the IC package is about 1 / 2 the short side dimension of the IC package.
[0103] For this reason, the short side dimension of the IC package can be used to change the threshold value TH1 of a check item (e.g., a check item related to the positional relationship between a peripheral circuit component and an IC package) in the design rule check executed by the check execution unit 114 to an appropriate value. The threshold value TH1 is set to, for example, 1 / 2 the short side dimension K1a of the IC package 300. If the shortest path length between the terminal of the IC package 300 and the peripheral circuit component is less than the threshold value TH1, the check execution unit 114 determines that the criterion is met (i.e., the distance between the power supply terminal and the peripheral circuit component is short and appropriate). On the other hand, if the shortest path length is equal to or greater than the threshold value TH1, the check execution unit 114 determines that the criterion is not met (i.e., the distance between the power supply terminal and the peripheral circuit component is far and inappropriate).
[0104] 14, the shortest path length between the peripheral circuit component 31 and the power supply terminal 303 is "D1". Because the shortest path length D1 is less than the threshold value TH1, the check execution unit 114 determines that the positional relationship between the peripheral circuit component 31 and the power supply terminal 303 is appropriate. The shortest path length between the peripheral circuit component 32 and the power supply terminal 304 is "D2". Because the shortest path length D2 is equal to or greater than the threshold value TH1, the check execution unit 114 determines that the positional relationship between the peripheral circuit component 32 and the power supply terminal 304 is inappropriate, and outputs an error.
[0105] Next, a series of steps from input of the design data 2 to execution of a design rule check by the check execution unit 114 using the new threshold value TH1 will be described.
[0106] The design data input unit 106 receives input of design data 2 for a target electronic circuit board. The extraction unit 108 analyzes the design data 2 to extract characteristic information including the shapes of components that configure the target electronic circuit board.
[0107] The extraction unit 108 extracts package characteristic information of the IC package, thereby creating the information table 14A shown in Fig. 13. If the design data 2 does not contain package type information, the above-mentioned processes of the determination unit 110 and the generation unit 112 are performed to create the information table 14A in which the IC package name is input into column 55 of the information table 14A in Fig. 13. That is, the column 55 of the information table 14A is updated as shown in Fig. 5. For example, "BGA" is input into the IC package name corresponding to the part number 1.
[0108] On the other hand, if package type information is included in the design data 2, an information table 14A is created in which the IC package name is entered in column 55 based on the package type information extracted by the extraction unit .
[0109] The extraction unit 108 also extracts information about the shape (eg, outer line shape, outer dimensions, etc.) and type of peripheral circuit components.
[0110] The check execution unit 114 calculates a threshold value TH1 for checking the positional relationship between the IC package and the peripheral circuit components based on the external dimensions. Specifically, the check execution unit 114 refers to the updated information table 14A and calculates the threshold value TH1 based on the short side dimension for an IC package whose terminals are arranged in a grid pattern. For example, since the IC package corresponding to component number 1 is a "BGA", the threshold value TH1 for checking the positional relationship between the IC package and the peripheral circuit components is calculated to be "K1a×1 / 2".
[0111] The check execution unit 114 changes the threshold value set as a default to the threshold value TH1, and executes a design rule check on the positional relationship between the IC package and the peripheral circuit components using the threshold value TH1.
[0112] In this way, the threshold value used in the design rule check is automatically changed to an appropriate value, which can assist the user in the setting work. Note that in the environment setting of the design support device 100, the user can also change the calculation formula for the threshold value TH1 or the value of the threshold value TH1 before executing the design rule check.
[0113] Fig. 15 is a diagram for explaining a method of applying a threshold value during a design rule check. With reference to Fig. 15, an IC package 300 (e.g., BGA) having terminals arranged in a grid pattern and peripheral circuit components 31A to 31E are mounted on an electronic circuit board 320. Here, it is assumed that the terminals of the IC package 300 and the peripheral circuit components 31A to 31E are connected via a wiring pattern.
[0114] The check execution unit 114 uses graphic calculation processing to determine which of the peripheral circuit components 31A-31E are located entirely within the internal region 310 of the outline and which are located on the outline of the IC package 300 or entirely within the external region of the outline. In the example of Fig. 15, the peripheral circuit components 31A and 31B are determined to be located entirely within the internal region 310. Also, the peripheral circuit component 31C is determined to be located on the outline, and the peripheral circuit components 31D and 31E are determined to be located entirely within the external region of the outline.
[0115] The check execution unit 114 applies a threshold value TH1 as a threshold value for checking the positional relationship between the peripheral circuit components 31C-31E and the IC package 300. Specifically, the check execution unit 114 judges whether the shortest path length between each of the peripheral circuit components 31C-31E and a terminal (e.g., a power terminal) of the IC package 300 is less than the threshold value TH1. Note that the shortest path length between a peripheral circuit component (e.g., peripheral circuit components 31C, 31D) arranged on a layer different from the surface (layer) on which the IC package 300 is mounted and the terminal of the IC package 300 is the total distance when connecting the VIA and the wiring pattern connecting both layers.
[0116] A specified value different from the threshold value TH1 is applied to the threshold value for checking the positional relationship between the peripheral circuit components 31A and 31B located in the internal region 310 and the IC package 300.
[0117] Here, when checking the positional relationship between the peripheral circuit components that must be arranged on the same layer as the IC package 300 and the terminals (hereinafter also referred to as "central terminals") located at the center of the IC package 300, another threshold value TH2 (e.g., K1a×1 / 3, K1a×1 / 4) smaller than the threshold value TH1 (e.g., K1a×1 / 2) is used. However, due to the constraints of the external dimensions of the IC package 300, it is impossible in manufacturing to make the shortest path length between the peripheral circuit components and the central terminal shorter than "K1a×1 / 2". Therefore, the threshold value TH2 is inappropriate as a threshold value for checking the above positional relationship.
[0118] According to the above configuration, a design rule check can be performed using a threshold value TH1 based on the short side dimension, thereby making it possible to prevent pseudo errors caused by performing a design rule check using an inappropriate threshold value (e.g., threshold value TH2).
[0119] (5) The configurations exemplified as the above-mentioned embodiments are examples of the configurations of the present disclosure, and may be combined with other known technologies, or may be modified, such as by omitting some parts, without departing from the scope of the present disclosure. In addition, the above-mentioned embodiments may be implemented by appropriately adopting the processes and configurations described in other embodiments.
[0120] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present disclosure is defined by the claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0121] 2 design data, 4 element data, 6 learning data, 12 outline, 13, 17 terminal, 14, 14A, 24 information table, 18 terminal dimensions, 19 power supply pattern, 20, 22 maximum pattern width, 21 signal pattern, 31, 32 peripheral circuit components, 45, 46 wiring pattern, 100, 100A design support device, 102, 252 data acquisition unit, 104 database unit, 106 design data input unit, 108, 108A extraction unit, 110 judgment unit, 112 generation unit, 114 check execution unit, 116 output unit, 150 processor, 152 main memory unit, 154 secondary memory unit, 156 communication interface, 158 input unit, 160 display, 162 internal bus, 250 learning unit, 254 model generation unit, 256 learned model storage unit, 260 Estimation section, 303,304 power terminal, 320 electronic circuit board.
Claims
1. a database unit that stores reference information that associates characteristic information, including the shapes of components that configure an electronic circuit board, with type information of the components; a data input unit that receives input of design data for a target electronic circuit board that is a target for design rule check; an extraction unit that analyzes the design data to extract feature information including shapes of components that configure the target electronic circuit board; a determination unit that determines type information of a component that constitutes the target electronic circuit board and that corresponds to the extracted characteristic information, based on the extracted characteristic information and the reference information stored in the database unit; a generation unit that generates new design data by adding the type information determined by the determination unit to the design data; an execution unit that executes a design rule check on the new design data in accordance with the type information included in the new design data.
2. 2. The design support device according to claim 1, wherein, when the design data does not include type information of the components that configure the target electronic circuit board, the extraction unit extracts feature information of the components that configure the target electronic circuit board.
3. the characteristic information of the component includes characteristic information of an integrated circuit package; 3. The design support device according to claim 1, wherein the extraction unit extracts, as the characteristic information of the integrated circuit package included in the target electronic circuit board, information indicating an outline shape of the integrated circuit package, a terminal shape of the integrated circuit package, and a positional relationship between the outline of the integrated circuit package and the terminals of the integrated circuit package.
4. 4. The design support device according to claim 3, wherein the type information corresponding to the extracted feature information of the integrated circuit package includes a type of the integrated circuit package.
5. A database unit that stores reference information that associates characteristic information including the shapes of components that configure an electronic circuit board with type information of the components; a data input unit that receives input of design data for a target electronic circuit board that is a target for design rule check; an extraction unit that analyzes the design data to extract feature information including shapes of components that configure the target electronic circuit board; a determination unit that determines type information of a component that constitutes the target electronic circuit board and that corresponds to the extracted characteristic information, based on the extracted characteristic information and the reference information stored in the database unit; a generation unit that generates new design data by adding the type information determined by the determination unit to the design data; an execution unit that executes a design rule check on the new design data; the characteristic information of the component includes characteristic information of a wiring pattern; The extraction unit extracts a ratio of a maximum width of a wiring pattern connected to a terminal of an integrated circuit package included in the target electronic circuit board to a terminal dimension of the integrated circuit package included in the target electronic circuit board, as characteristic information of the wiring pattern included in the target electronic circuit board.
6. 6. The design support device according to claim 5, wherein the type information corresponding to the extracted characteristic information of the wiring pattern includes a type of the wiring pattern.
7. A database unit that stores reference information that associates feature information including shapes of components that configure an electronic circuit board with type information of the components; a data input unit that receives input of design data for a target electronic circuit board that is a target for design rule check; an extraction unit that analyzes the design data to extract feature information including shapes of components that configure the target electronic circuit board; a determination unit that determines type information of a component that constitutes the target electronic circuit board and that corresponds to the extracted characteristic information, based on the extracted characteristic information and the reference information stored in the database unit; a generation unit that generates new design data by adding the type information determined by the determination unit to the design data; an execution unit that executes a design rule check on the new design data; the characteristic information of the component includes characteristic information of an integrated circuit package; the extraction unit extracts, as feature information of the integrated circuit package included in the target electronic circuit board, information indicating an outline shape of the integrated circuit package, a terminal shape of the integrated circuit package, and information indicating a positional relationship between the outline of the integrated circuit package and the terminals of the integrated circuit package; the type information corresponding to the extracted characteristic information of the integrated circuit package includes a type of the integrated circuit package; the extraction unit further extracts information indicating an outer dimension of the integrated circuit package as characteristic information of the integrated circuit package included in the target electronic circuit board; The execution unit is calculating a threshold value for checking a positional relationship between the integrated circuit package and a peripheral circuit component included in the target electronic circuit board based on the outer dimensions; The design support device executes a design rule check on the new design data using the threshold value.
8. 8. The design support device according to claim 7, wherein the threshold value is a threshold value for checking a positional relationship between the integrated circuit package and the peripheral circuit component located on an outline of the integrated circuit package or in an area outside the outline of the integrated circuit package.
9. 9. The design support device according to claim 7, wherein the integrated circuit package has terminals arranged in a grid pattern.
10. The threshold value is a first threshold value for checking a positional relationship between the peripheral circuit component located on the outline of the integrated circuit package or in an external region of the outline of the integrated circuit package and the integrated circuit package, or a second threshold value for checking a positional relationship between the peripheral circuit component located in an internal region of the outline of the integrated circuit package and the integrated circuit package, The design support system according to claim 7 , wherein the first threshold value is different from the second threshold value.
11. a data acquisition unit that acquires learning data including characteristic information including shapes of components that configure an electronic circuit board and specification information of the electronic circuit board; and a model generation unit that uses the learning data to generate a trained model for estimating type information of components that constitute the electronic circuit board from the feature information and the specification information.
12. the characteristic information of the component includes characteristic information of an integrated circuit package; The learning device according to claim 11 , wherein the type information corresponding to the feature information of the integrated circuit package includes a type of the integrated circuit package.
13. the characteristic information of the component includes characteristic information of a wiring pattern; The learning device according to claim 11 , wherein the type information corresponding to the feature information of the wiring pattern includes a type of the wiring pattern.
14. a data input unit that receives input of design data for a target electronic circuit board that is a target for design rule check; an extracting unit that analyzes the design data to extract feature information including shape information of components that configure the target electronic circuit board and specification information of the target electronic circuit board; an estimation unit that estimates type information by inputting the feature information and the specification information extracted by the extraction unit to a trained model for estimating type information of the component from the feature information and the specification information.
15. the characteristic information of the component includes characteristic information of an integrated circuit package; 15. The design support apparatus according to claim 14, wherein the type information corresponding to the characteristic information of the integrated circuit package includes a type of the integrated circuit package.
16. the characteristic information of the component includes characteristic information of a wiring pattern; 15. The design support device according to claim 14, wherein the type information corresponding to the characteristic information of the wiring pattern includes a type of the wiring pattern.
17. A trained model that causes a computer to function in response to input of feature information including shape information of components constituting an electronic circuit board and specification information of the electronic circuit board, so as to output type information of the components, The trained model is machine-learned using learning data including the feature information and the specification information.
Citation Information
Patent Citations
Automatic part kind-discriminating device
JP1998065389A
Method and apparatus for checking mounting quality of circuit board
JP2002171099A
Image processing system, image processing method, and image processing program
JP2021105802A
Apparatus for generating assembly sequence and method for generating assembly sequence
WO2015136987A1
Design assistance device, design assistance method, and program
WO2020079810A1