Method and sampling system for sampling training data for training a graph neural network for electronic design automation
By employing graph clustering and cluster-based sampling algorithms, the method addresses the inefficiencies in training graph neural networks for PCB design, achieving faster and more efficient component recommendation for PCBs.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SIEMENS INDUSTRY SOFTWARE INC
- Filing Date
- 2024-12-18
- Publication Date
- 2026-06-25
Smart Images

Figure US2024060636_25062026_PF_FP_ABST
Abstract
Description
[0001] Description
[0002] METHOD AND SAMPLING SYSTEM FOR SAMPLING TRAINING DATA FOR TRAINING A
[0003] GRAPH NEURAL NETWORK FOR ELECTRONIC DESIGN AUTOMATION
[0004] Technical Field
[0005] The present disclosure is directed, in general, to sampling training data for training a graph neural network for electronic design automation (EDA) and, more specifically, to training the graph neural netw ork for recommending electrical components for a printed circuit board (PCB). Such electronic design automation systems and PCB layout systems are collectively referred to herein as product systems.
[0006] Background Art
[0007] Engineers in various industrial domains are often tasked with designing complex engineering systems that consist of a multitude of inter-connected components, whose interplay fulfills functional requirements that arise from the intended application. This process is typically iterative and is performed using software specifically designed for this purpose. Due to the sheer number of available components and the number of criteria to be considered, this process is not only time-consuming, but also quite error-prone, requiring vast amounts of technical expertise and domain knowledge to be completed.
[0008] This is especially true in the area of printed circuit board (PCB) design, where the number of candidate components can be in the billions, with each component choice having significant consequences to the overall system. Thus, it becomes worthwhile to develop recommendation systems which are integrated into the configuration software (e.g.. xDX Designer in the case of PCB design) for supporting engineers in identifying suitable components at every step of the design process.
[0009] The most natural data representation for PCBs is a graph, in which components (e.g., ICs, memory modules, capacitors, resistors) are represented as nodes, and connections between components are represented as edges. Due to an otherwise exploding number of edges, component nodes are not connected directly to one another; instead, all components which are meant to be connected to one another as means of realizing a certain board-level feature (e.g., power delivery) are all connected to a net node that represents said feature.
[0010] The recommendation task in this case would translate into identifying a ty pe (i.e., the identifier of a particular component) of a component node that is likely missing from the graph (PCB) and needs to be connected to a chosen source component node (existing component).
[0011] Summary of Invention
[0012] It is an object of the present invention to identify a problem in the prior art and to find a corresponding technical solution. The invention is defined in the independent claims. Further advantageous arrangements and embodiments of the invention are set forth in the respective dependent claims.
[0013] According to the method for sampling training data for training a graph neural network for electronic design automation, the following operations arc performed by modules, wherein the modules arc hardware modules and / or software modules executed by one or more processors: storing, by a graph database, a plurality of graphs each representing a finished electronic design, with each graph containing components nodes with component features, and edges, wherein each component node represents a physical component and wherein the component features include a set of feature values characterizing the respective physical component, and wherein the edges represent connections of the physical components, initializing a training set, for collection of link prediction samples for training a graph neural network for electronic design automation, as an empty set, assigning, by a graph clustering algorithm processing all component nodes in all graphs, a cluster from a set of clusters to each component node, wherein each cluster represents component nodes with common characteristics in topology and / or with common component features, and iteratively selecting each graph and for the selected graph. sampling, by a cluster-based link sampling algorithm, an edge from a sample space, wherein the sample space consists of all edges connecting clusters of component nodes in the selected graph, and wherein a component node connected to the sampled edge is taken as a source component node, and wherein a subgraph is taken from the selected graph based on a receptive field around the source component node, and performing, by a cluster-based receptive field sampling algorithm processing the subgraph, the operations of picking a cluster of component nodes that is connected to the source component node w ithin the subgraph, reducing the subgraph by dropping the picked cluster of component nodes, and creating a corresponding reduced subgraph, and adding the reduced subgraph along with the source component node and a target to the training set, wherein the target is a label of the picked cluster, and in particular, iteratively repeating the picking, reducing and adding operations until every cluster has been picked, and in particular, recursively repeating the picking, reducing and adding operations within at least one of the reduced subgraphs or within each of the reduced subgraphs, until only one cluster remains, and in particular, iteratively repeating the sampling operation and the operations of the clusterbased receptive field sampling algorithm. The sampling system for sampling training data for training a graph neural network for electronic design automation comprises the following modules, wherein the modules are hardware modules and / or software modules executed by one or more processors: a graph database, configured for storing a plurality of graphs each representing a finished electronic design, with each graph containing components nodes with component features, and edges, wherein each component node represents a physical component and wherein the component features include a set of feature values characterizing the respective physical component, and wherein the edges represent connections of the physical components, and configured for initializing a training set for collection of link prediction samples for training a graph neural network for electronic design automation as an empty set, a graph clustering module, configured for processing all component nodes in all graphs and for assigning a cluster from a set of clusters to each component node, wherein each cluster represents component nodes with common characteristics in topology and / or common component features. a cluster-based link sampling module, configmed for sampling an edge from a sample space, wherein the sample space consists of all edges connecting clusters of component nodes in a selected graph currently selected among the graphs, and wherein a component node comiected to the sampled edge is taken as a source component node, and wherein a subgraph is taken from the selected graph based on a receptive field around the source component node, and a cluster-based receptive field sampling module, configured for processing the subgraph and for performing the operations of picking a cluster of component nodes that is connected to the source component node within the subgraph. reducing the subgraph by dropping the picked cluster of component nodes, and creating a corresponding reduced subgraph, and adding the reduced subgraph along with the source component node and a target to the training set, wherein the target is a label of the picked cluster, and in particular, iteratively repeating the picking, reducing and adding operations until every cluster has been picked, and in particular, recursively repeating the picking, reducing and adding operations within at least one of the reduced subgraphs or within each of the reduced subgraphs, until only one cluster remains.
[0014] The following advantages and explanations are not necessarily the result of the object of the independent claims. Rather, they may be advantages and explanations that only apply to certain embodiments or variants. The term "computer" should be interpreted as broadly as possible, in particular to cover all electronic devices with data processing properties. Computers can thus, for example, be personal computers, servers, clients, programmable logic controllers (PLCs), handheld computer systems, pocket PC devices, mobile radio devices, smartphones, or any other communication devices that can process data with computer support, for example processors or other electronic devices for data processing. Computers can in particular comprise one or more processors and memory units.
[0015] In connection with the invention, a "memory", "memory unit" or "memory module" and the like can mean, for example, a volatile memory in the form of random-access memory (RAM) or a permanent memory such as a hard disk, a solid-state drive, a flash memory card, or a disk.
[0016] The intuition behind using clustering is to group individual nodes into latent classes which share common characteristics in topology and node features. Then the subsequent sampling procedures can be reduced to class / cluster-level instead of individual nodes without harmful loss of information. Note that this clustering needs to be executed only once as a preprocessing of the graph for the subsequent iterative training.
[0017] The method and system, or at least some of their embodiments, provide a novel end-to-end training procedure for GNN-based recommender systems, based on a novel training link sampling procedure and a novel receptive field sampling procedure.
[0018] The method and system, or at least some of their embodiments, provide a more efficient link sampling algorithm, which results in faster convergence during training, thus saving both compute resource costs and expert’s time while waiting for new models. As a consequence, this enables the possibility to explore a wider range of models (e.g.. a larger hyperparameter range) within given constraints.
[0019] Description of Embodiments
[0020] An embodiment of the method and system comprises the additional operation of training a graph neural network model with the training set and a loss function.
[0021] In an embodiment of die method and sy stem, the graph neural netw ork model is a graph convolutional netw ork or a graph attention network.
[0022] Another embodiment of the method and system comprises the additional operations of receiving, by the trained graph neural network model, a selected component node representing a first physical component and a graph representing a current stage of an electronic design, and recommending, by the trained graph neural network model, a second physical component that should be connected to the first physical component in the electronic design. In another embodiment of the method and system, each graph is a bipartite graph containing also net nodes, wherein the edges are exclusive between tire net nodes and the component nodes, wherein the physical components are placed on a printed circuit board, and wherein the edges represent electrical connections of the physical components, the sampling operation samples the edge by finding a two-hop path from a first component node passing over an in-path net node to a second component node, wherein the first component node and tire second component node belong to the same or to different clusters, wherein the first component node is taken as die source component node, and wherein an edge between the source component node and the in-path net node is taken as the sampled edge, and the picking operation picks a cluster of component nodes that is connected to the source component node via the in-path net node.
[0023] In another embodiment of the method and system, the feature values describe a component type, in particular including integrated circuit, capacitor, resistor, and / or at least one value with electrical specifications, and / or a shape, and / or a placement.
[0024] The device for training a graph neural network for electronic design automation comprises a training module, configured for training a graph neural network model with the training set generated by the sampling system and a loss function.
[0025] The recommender system for electronic design automation comprises a user interface configured for receiving a selected component node representing a first physical component, and a graph neural network model, trained with the training set generated by the sampling system, and in particular trained by the device of claim 8, and configured for receiving the selected component node and a graph representing a current stage of an electronic design as input, and configured for recommending a second physical component that should be connected to the first physical component in the electronic design.
[0026] The computer program product comprises instructions which, when the program is executed by a computer, cause the computer to carry out the method.
[0027] The provisioning device stores and / or provides the computer program product. Brief Description of the Drawing
[0028] The foregoing and other aspects of the present invention are best understood from the following detailed description when read in connection with the accompanying drawings. For the purpose of illustrating the invention, the drawings show embodiments that are presently preferred. However, the invention is not limited to the specific instrumentalities disclosed. The embodiments may be combined with each other. Furthermore, the embodiments may be combined with any of the features described above. Unless stated otherw ise, identical reference signs denote the same features or functionally identical elements between drawings. Included in the drawings are the following Figures:
[0029] Fig. 1 shows a first embodiment,
[0030] Fig. 2 shows another embodiment,
[0031] Fig. 3 shows a training example generation.
[0032] Fig. 4 shows a training procedure,
[0033] Fig. 5 shows a receptive field reduction, and
[0034] Fig. 6 shows a flowchart of a possible exemplary embodiment.
[0035] In the following description, various aspects of the present invention and embodiments thereof will be described. However, it will be understood by those skilled in the art that embodiments may be practiced with only some or all aspects thereof. For purposes of explanation, specific numbers and configurations are set forth in order to provide a thorough understanding. However, it will also be apparent to those skilled in the art that the embodiments may be practiced without these specific details.
[0036] The described modules can each be hardware modules or software modules. For example, a software module can be a software library; an individual procedure, subroutine, or function; or, depending on the programming paradigm, any other portion of softw are code that implements the function of the softw are module. A combination of hardware modules and software modules can occur, in particular, if some of the effects according to the invention are preferably exclusively implemented by special hardware (e.g., a processor in the form of an ASIC or FPGA) and some other part by software.
[0037] Description of Examples
[0038] Fig. 1 shows a sample structure for computer-implementation of the invention which comprises:
[0039] (101) computer sy stem
[0040] (102) processor (103) memory
[0041] (104) computer program (product)
[0042] (105) user interface
[0043] In this embodiment of the invention the computer program 104 comprises program instructions for carrying out the invention. The computer program 104 is stored in the memory 103 of the computer sy stem 101. The computer sy stem 101 may carry' out tire invention by executing the program instructions of the computer program 104 by the processor 102. Results of the invention may be presented on the user interface 105. Alternatively, they may be stored in the memory 103 or on another suitable means for storing data.
[0044] Fig. 2 shows another sample structure for computer-implementation of the invention which comprises:
[0045] (201) provisioning device
[0046] (202) computer program (product)
[0047] (203) computer network / Intemet
[0048] (204) computer system
[0049] (205) mobile device / smartphone
[0050] In this embodiment the provisioning device 201 stores a computer program 202 which comprises program instructions for carrying out the invention. The provisioning device 201 provides the computer program 202 via a computer network / Internet 203. By way of example, a computer system 204 or a mobile device / smartphone 205 may load the computer program 202 and carry out the invention by executing the program instructions of the computer program 202.
[0051] In a variation of this embodiment, the provisioning device 201 is a computer-readable storage medium, for example a SD card, that stores the computer program 202 and is connected directly to the computer system 204 or the mobile device / smartphone 205 in order for it to load the computer program 202 and carry' out the invention by executing the program instructions of the computer program 202.
[0052] Preferably, the embodiments shown in Figs. 3 to 6 can be implemented with a structure as shown in Fig. 1 or Fig. 2.
[0053] Kipf, Thomas N., and Welling, Max: "Semi-supervised classification with graph convolutional networks", ICLR 2017, arXiv: 1609.02907v4 [cs.LG], available on the internet at https: / / doi.org / 10.48550 / arXiv.1609.02907 on 21.11.2024, disclose a graph convolutional network (GCN), which is a subform of a graph neural network (GNN). The entire contents of that document are incorporated herein by reference. Velickovic, Petar, et al.: "Graph Atention Networks". ICLR 2018, arXiv:1710.10903v3 [stat.ML], available on the internet at https: / / doi.org / 10.48550 / arXiv.1710.10903 on 21.11.2024, disclose a graph atention network (GAT), which is a subfonn of a graph neural network (GNN). The entire contents of that document are incorporated herein by reference.
[0054] Given a dataset D = {G1 T, G2 T, ... , Gn T] of n finished PCBs - each represented as a bipartite graph Gi T= (Vi T, Et T~) with node set V edge set E, where T is the final time step of the design process. The node set can be divided into two classes of nodes Net and Component, and edges are exclusive between these two classes, resulting in a bipartite graph. The recommendation task is to predict the next time step of an unfinished board, i.e.. to model P(Gl t 9) with trainable parameters 9. Assuming single actions in the design process, the edge set E of a board from one time step to the next is to add a single edge: Fi t \{(u, v)} = Ei t-1, where u is a Net node, and v is a Component node.
[0055] With this assumption, the recommendation task can be re-formulated as a link prediction problem, i.e. suggest connections (links, edges) from Net nodes (in-graph nodes) to potentially not-yet installed components (scaffold component nodes) or already installed components (in-graph component nodes). One way to address this task is to compute a context-aware embedding of each node in the graph via a graph neural network (GNN), for example a graph convolutional network (GCN) or a graph atention network (GAT), that assembles information from the graph’s immediate neighborhood. When multiple layers of GNNs are stacked on top of each other, the range over which signals are propagated across the graph increases. Concretely, the so-called receptive field for a GNN with n layers corresponds to the n - th order neighborhood.
[0056] Since the dataset only contains finished boards, it is impossible to recover the actual design process trajectories (G;Gi 2, ... Gi r). As a remedy, unfinished boards can be created by removing edges, thus simulating one possible backward trajectory.
[0057] It is non-trivial to efficiently simulate such trajectories. Ideally these trajectories, which sen e as supervised training examples, cover all variations in the data distribution.
[0058] A trivial solution would be to consider any connection removal at time t as training example. This results in |E | number of candidates in every time step and |£| ! candidates overall. Even for small datasets this quickly reaches millions of candidates.
[0059] Previously known solutions are based on simple link sampling, i.e., randomly sample links for training without considering informativeness. Gasteiger, Johannes, et al.: “Influence-Based Mini-Batching for Graph Neural Networks”, LoG 2022, arXiv:2212.09083vl [cs.LG]. available on the internet at https: / / doi.org / 10.48550 / arXiv.2212.09083 on 21.11.2024, disclose simple link sampling for semi- supervised node classification problems. The entire contents of that document are incorporated herein by reference.
[0060] At least some of the embodiments described in the following select pairs of Net and Component nodes (source and target) in mini-batches which yield more informative gradients to the GNN model compared to random sampling. Further, at least some of the embodiments described in the following reduce a number of receptive field permutations that need to be considered during training.
[0061] Some of the technical features of the embodiments described below are the following: a) a link sampling procedure for collecting training data, and b) a receptive field sampling procedure for collecting training data.
[0062] Each of these features is described in more detail below.
[0063] End-to-end Training Procedure
[0064] The overall training procedure shown in Fig. 3 and Fig. 4 works as follows:
[0065] 1. Apply graph clustering GC to all component nodes in all graphs in D
[0066] 2. Apply cluster-based link sampling CBLS to all graphs in D
[0067] 3. Train a GNN model GNN-M by predicting the sampled links and a suitable loss function LF (e.g. binary cross-entropy)
[0068] Fig. 3 shows a training example generation. An original graph OG containing net nodes N and component nodes is processed by a graph clustering algorithm GC, resulting in a graph with clustered nodes CN. In the simplified example shown in Fig. 3, the component nodes of the original graph OG are clustered into a first cluster C 1 and a second cluster C2. Net nodes N are not clustered.
[0069] It is important to note that the original graph OG will usually be much larger than the very small section depicted in Fig. 3.
[0070] Any suitable graph clustering algorithm GC may be used that produces cluster assignments for the component nodes, e.g. spectral clustering, autoencoder models, K-means on node features, etc.
[0071] We can formulate clustering as a function fciustV -> C , where C is the set of cluster labels, and |C| is the number of clusters, which is a hyperparameter that a user can choose.
[0072] The intuition behind using clustering is to group individual component nodes into latent classes which share common characteristics in topology and node features. Then the subsequent sampling procedures can be reduced to class / cluster-level instead of individual component nodes without harmful loss of information.
[0073] Note that this clustering needs to be executed only once as a preprocessing of the graph for the subsequent sampling of training data and iterative training.
[0074] As shown in Fig. 3, a cluster-based link sampling algorithm CBLS processes the graph with clustered nodes CN and provides sampled cluster-level links SCL, including two edges betw een nodes that can serve as a first training example TE1 and as a second training example TE2. A source component node SN and its edge to the left net node N has been selected beforehand or has been identified as part of the operation of the cluster-based link sampling algorithm CBLS. Starting from the source component node SN and its edge to the left net node N, the first training example TE 1 and the second training example TE2 identify alternative two-hop paths starting from the source component node SN. Since the edge connecting the source component node SN with the left net node N has already been selected, the first training example TE1 and the second training example TE2 can also be regarded as training examples for one-hop connections (edges, links) with the left net node N acting as source node. The first training example TE1 and the second training example TE2 each represent connections (edges, links) between the left net node N and all component nodes of the respective cluster shown in Fig. 3. For the same reason, only two training examples have been identified, as only two clusters are connected to the left net node N. In other words, the first training example TE1 teaches that any component node of the first cluster Cl could be connected to the source component node SN (with regard to the bipartite graph structure, via a two-hop path passing the left net node N) and the second training example TE2 teaches that any component node of the second cluster C2 could be connected to the source component node SN (with regard to the bipartite graph structure, via a tw o-hop path passing the left net node N).
[0075] Later, when the GNN model GNN-M (shown in Fig. 4) has been trained to predict edges between the left net node N and the respective clusters, the source component node SN could be a physical component that a user of a recommender system (equipped with the trained GNN model GNN-M) has just placed on a printed circuit board design in the net represented by the left net node N. That physical component could be, for example, a capacitor. Since the GNN model GNN-M has been trained with die first training example TE1, the recommender system can then recommend connecting a type of component to the capacitor that is identified by the first cluster Cl, for example, a resistor. This recommendation could be output to the user for confinnation or further configuration, or automatically added to the design, for example if its predicted probability exceeds a given threshold. These steps can be repeated until the design of the product system is finished. Given cluster assignments of nodes fciust, the cluster-based link sampling algorithm CBLS samples links from the set of unique clusters in each graph. For every graph Gi t, the sampling distribution is defined as uniform across the set of edges that connect tw o clusters:
[0076] This reduces the number of candidates from which is strictly less than or equal (worst case) in size.
[0077] Once a cluster-to-cluster edge is sampled, any of the edges in Ei twhich fall in this cluster-to-cluster assignment can be taken as a link prediction sample for training.
[0078] Fig. 4 shows a parameter update U for a GNN model GNN-M that is trained to predict a missing link in a one link sample OLS. The second training example TE2 indicates that missing link; that edge is removed for the purpose of training. Starting from the left net node N. the GNN model GNN-M outputs predicted probabilities PP for all potential links between the left net node N and component nodes that are not connected to the left net node N in the one link sample OLS, including the component node disconnected by the second training example TE2 and scaffold component nodes SCFN. These potential links are drawn in Fig. 4 with dashed lines. The parameter update U is computed based on a loss function LF and trains the GNN model GNN-M to predict a high probability for all links between the left net node N and the component nodes belonging to the second cluster C2.
[0079] Receptive field reduction procedure
[0080] With the link sampling, the number of possible candidates in each time step is reduced. However, there is still the combinatorial explosion to consider every’ edge combination for multiple time steps. This backward trajectory’ may also be reduced in complexity’ by assuming that the engineering process is clustcr-bascd, i.c. the engineer adds all nodes of a cluster simultaneously in one step. Instead of having \E | ! combinations, a cluster-based receptive field reduction has | C x C| ! possibilities.
[0081] The invention recognizes that in order to simulate possible backward trajectories (mimicking actual design process trajectories G;Gi 2, ... Gl T) by removing edges, reducing the receptive field of any given one link sample OLS can substitute for reducing the entire graph. In other words, instead of taking the entire graph of a finished PCB and forming backward trajectories by iteratively sampling and removing edges from that graph as a whole, a preferred embodiment only looks at the receptive field of each one link sample OLS and reduces it step by step further towards a design starting point, thus simulating a backward trajectory and generating a multitude of highly informative training examples. As a result, the cluster-based link sampling algorithm CBLS covers the entire graph of the finished product, while the cluster-based receptive field sampling algorithm CBRFS as shown in Fig. 5 and described below covers the entire design timeline / backward trajectory’. This synergistic approach is advantageous as the scope of a subgraph that can be fed into the GNN model GNN-M for training is limited to the depth of the receptive field anyway.
[0082] By simulating backward trajectories for the receptive field of each one link sample OLS, the cluster-based receptive field sampling algorithm CBRFS aims at exploiting the information contained in the one link sample OLS by incrementally unfolding every stage of the design process and saving corresponding training examples.
[0083] Fig. 5 shows an embodiment for the above-described receptive field reduction. A one link sample OLS similar to the one shown in Fig. 4 is processed by a cluster-based receptive field sampling algorithm CBRFS. which outputs a first subgraph CID wherein the first cluster Cl has been dropped, and a second subgraph C2D wherein the second cluster C2 has been dropped.
[0084] The source component node SN that was picked by the previously executed cluster-based link sampling algorithm CBLS lies at the center of the receptive field and defines each corresponding subgraph based on the given depth of the receptive field. As apparent from Fig. 5, the edge sampled by the previously executed cluster-based link sampling algorithm CBLS lies between the source component node SN and the left net node N. That edge itself is not deleted and not used for link prediction training, but it implicates and encompasses the first training example TE1 as well as the second training example TE2 shown in Fig. 4, as the cluster-based receptive field sampling algorithm CBRFS exploits dropping each cluster that is connected to the source component node SN via the left net node N as shown in Fig. 5.
[0085] The cluster-based receptive field sampling algorithm CBRFS picks a cluster of component nodes that is connected to the source component node SN (via a two-hop connection including the sampled edge and the left net node N) within the one link sample OLS and creates a reduced subgraph (in Fig. 5, the first subgraph CID or the second subgraph C2D) by dropping the picked cluster of component nodes from the one link sample OLS. If the one link sample OLS has not been reduced to the depth of the receptive field already, then the cluster-based receptive field sampling algorithm CBRFS can perform this step as well.
[0086] Each reduced subgraph is added along with tire source component node SN and a target to the training set, wherein the target is a label of the picked cluster that was dropped.
[0087] This can be performed for at least one cluster connected to the source component node SN (via a two-hop connection including the sampled edge and the left net node N) or for each of those clusters. If clusters A, B, C, D are connected to the source component node SN, then a first reduced subgraph containing B, C, D. a second reduced subgraph containing A, C, D, a third reduced subgraph containing A, B, D and a fourth reduced subgraph containing A, B, C will be added to the training set with target labels A, B, C, D respectively.
[0088] In order to simulate a backward trajectory reaching further back in time, a recursion within at least one or within each reduced subgraph can be performed. Let it suffice to explain that with regards to die second reduced subgraph, any of the remaining clusters A, C, D, can be picked and dropped, thus adding to the training set a fifth reduced subgraph containing C, D, a sixth reduced subgraph containing A, D, a seventh reduced subgraph containing A, C, and one recursion further, reduced subgraphs each containing only one of A, C, and D, each with a target label indicating the cluster that was picked and dropped in the corresponding recursion step.
[0089] The cluster-based link sampling algorithm CBLS can generate multiple samples from each graph stored in a graph database, with each graph representing a finished PCB, for example. Each of these one link samples OLS can then pe processed by the cluster-based receptive field sampling algorithm to further enrich the training set.
[0090] Fig. 6 shows a flowchart of a possible exemplary embodiment executing the following operations:
[0091] In a storing operation 1. a graph database stores a plurality of graphs each representing a finished electronic design, with each graph containing components nodes with component features, and edges, wherein each component node represents a physical component and wherein the component features include a set of feature values characterizing the respective physical component, and wherein the edges represent connections of the physical components.
[0092] In an initializing operation 2, a training set for collection of link prediction samples for training a graph neural network for electronic design automation is initialized as an empty set.
[0093] In an assigning operation 3, a graph clustering algorithm processing all component nodes in all graphs assigns a cluster from a set of clusters to each component node, wherein each cluster represents component nodes with common characteristics in topology and / or common component features.
[0094] The following operations are performed for a currently selected graph in the graph database:
[0095] In a sampling operation 4, a cluster-based link sampling algorithm samples an edge from a sample space, wherein the sample space consists of all edges connecting clusters of component nodes in the selected graph, and wherein a component node connected to the sampled edge is taken as a source component node, and wherein a subgraph is taken from the selected graph based on a receptive field around the source component node.
[0096] The following operations are performed by a cluster-based receptive field sampling algorithm processing the subgraph:
[0097] In a picking operation 5, a cluster of component nodes that is connected to the source component node within the subgraph is picked.
[0098] In a reducing operation 6, the subgraph is reduced by dropping the picked cluster of component nodes, and a corresponding reduced subgraph is created.
[0099] In an adding operation 7, the reduced subgraph is added along with the source component node and a target to the training set, wherein the target is a label of the picked cluster.
[0100] In an optional but preferred iteration operation 8, the picking operation 5, the reducing operation 6. and the adding operation 7 are iteratively repeated until even’ cluster has been picked.
[0101] In an optional but preferred recursion operation 9, the picking operation 5, the reducing operation 6, and the adding operation 7 are recursively repeated within at least one of the reduced subgraphs or within each of the reduced subgraphs, until only one cluster remains.
[0102] The following operations are performed for a currently selected graph in the graph database:
[0103] In an optional but preferred second iteration operation 10, the sampling operation 4 is repeated for the currently selected graph, and the operations of the cluster-based receptive field sampling algorithm are executed again. The second iteration operation 10 also includes repeating the sampling operation 4 for all other graph, in particular multiple times for each graph, and to execute the operations of the cluster-based receptive field sampling algorithm after each sampling operation 4.
[0104] In a training operation 11, a graph neural netw ork model is trained with the training set using a loss function. The graph neural network model can be a graph convolutional network or a graph attention netw ork, for example.
[0105] In a receiving operation, the trained graph neural network model receives a selected component node representing a first physical component and a graph representing a current stage of an electronic design.
[0106] In a recommending operation 12, the trained graph neural network model recommends a second physical component that should be connected to the first physical component in the electronic design. For example, the method can be executed by one or more processors. Examples of processors include a microcontroller or a microprocessor, an Application Specific Integrated Circuit (ASIC), or a neuromorphic microchip, in particular a neuromorphic processor unit. The processor can be part of any kind of computer, including mobile computing devices such as tablet computers, smartphones or laptops, or part of a server in a control room or cloud.
[0107] The above-described method may be implemented via a computer program product including one or more computer-readable storage media having stored thereon instructions executable by one or more processors of a computing system. Execution of the instructions causes the computing system to perform acts corresponding to the operations of the method described above.
[0108] The instructions for implementing processes or methods described herein may be provided on computer- readable storage media or memories, such as a cache, buffer, RAM, FLASH, removable media, hard drive, or other computer readable storage media. Computer readable storage media include various types of volatile and non-volatile storage media. The functions, acts, or tasks illustrated in the figures or described herein may be executed in response to one or more sets of instructions stored in or on computer readable storage media. The functions, acts or tasks may be independent of the particular type of instruction set, storage media, processor or processing strategy and may be performed by softw are, hardw are, integrated circuits, firmw are, micro code, and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing, and the like.
[0109] The invention has been described in detail with reference to embodiments thereof and examples. Variations and modifications may, however, be effected within the spirit and scope of the invention covered by the claims. The phrase “A. B, and / or C” as an alternative expression may provide that one or more of A, B, and C may be used.
[0110] Independent of the grammatical term usage, individuals with male, female, or other gender identities are included within the term.
Claims
Patent claims1. A computer implemented method for sampling training data for training a graph neural network for electronic design automation, wherein the following operations are performed by modules, and wherein the modules are hardware modules and / or software modules executed by one or more processors: storing (1), by a graph database, a plurality of graphs each representing a finished electronic design, with each graph containing components nodes with component features, and edges, wherein each component node represents a physical component and wherein the component features include a set of feature values characterizing the respective physical component, and wherein the edges represent connections of the physical components, initializing (2) a training set, for collection of link prediction samples for training a graph neural network for electronic design automation, as an empty set. assigning (3), by a graph clustering algorithm (GC) processing all component nodes in all graphs, a cluster from a set of clusters to each component node, wherein each cluster represents component nodes with common characteristics in topology and / or with common component features, and iteratively selecting each graph and for the selected graph. sampling (4). by a cluster-based link sampling algorithm (CBLS). an edge from a sample space, wherein the sample space consists of all edges connecting clusters of component nodes in the selected graph, and wherein a component node connected to the sampled edge is taken as a source component node (SN), and wherein a subgraph (OLS) is taken from the selected graph based on a receptive field around the source component node (SN). and performing, by a cluster-based receptive field sampling algorithm (CBRFS) processing the subgraph (OLS), the operations of picking (5) a cluster (Cl, C2) of component nodes that is connected to the source component node (SN) within the subgraph (OLS), reducing (6) the subgraph (OLS) by dropping the picked cluster of component nodes, and creating a corresponding reduced subgraph (CID, C2D), and adding (7) the reduced subgraph (CID, C2D) along with the source component node (SN) and a target to the training set, wherein the target is a label of the picked cluster, and in particular, iteratively repeating (8) the picking (5), reducing (6) and adding (7) operations until every cluster has been picked, and in particular, recursively repeating (9) the picking (5), reducing (6) and adding (7) operations within at least one of the reduced subgraphs or within each of the reduced subgraphs, until only one cluster remains, and in particular, iteratively repeating (10) the sampling (4) operation and the operations (5, 6, 7, 8, 9) of the cluster-based receptive field sampling algorithm (CBRFS).
2. The method of claim 1, with the additional operation oftraining (11) a graph neural network model (GNN-M) with the training set and a loss function (LF).
3. The method of claim 2, wherein the graph neural network model (GNN-M) is a graph convolutional network or a graph attention network.
4. The method of claim 2 or 3, with the additional operations of receiving, by the trained graph neural network model (GNN-M), a selected component node representing a first physical component and a graph representing a current stage of an electronic design, and recommending (12). by the trained graph neural network model (GNN-M), a second physical component that should be connected to the first physical component in the electronic design.
5. The method according to any of the preceding claims, wherein each graph is a bipartite graph containing also net nodes (N), wherein the edges are exclusive between the net nodes (N) and the component nodes, wherein the physical components are placed on a printed circuit board, and wherein the edges represent electrical connections of the physical components, wherein the sampling operation (4) samples the edge by finding a two-hop path from a first component node passing over an in-path net node (N) to a second component node, wherein the first component node and the second component node belong to the same or to different clusters, wherein the first component node is taken as the source component node (SN), and wherein an edge between the source component node (SN) and the in-path net node (N) is taken as the sampled edge, and wherein the picking operation (5) picks a cluster of component nodes that is coimected to the source component node (SN) via the in-path net node (N).
6. The method according to any of the preceding claims, wherein the feature values describe a component type, in particular including integrated circuit, capacitor, resistor, and / or at least one value w ith electrical specifications, and / or a shape, and / or a placement.
7. A sampling system for sampling training data for training a graph neural netw ork for electronic design automation, comprising the following modules, wherein the modules are hardware modules and / or software modules executed by one or more processors: a graph database, configured for storing a plurality of graphs each representing a finished electronic design, with each graph containing components nodes with component features, and edges, wherein each component node represents a physical component and wherein the component features includea set of feature values characterizing the respective physical component, and wherein the edges represent connections of the physical components, and configured for initializing a training set for collection of link prediction samples for training a graph neural network for electronic design automation as an empty set, a graph clustering module (GC), configured for processing all component nodes in all graphs and for assigning a cluster from a set of clusters to each component node, wherein each cluster represents component nodes with common characteristics in topology and / or common component Features. a cluster-based link sampling module (CBLS), configmed for sampling (4) an edge from a sample space, wherein the sample space consists of all edges connecting clusters of component nodes in a selected graph currently selected among the graphs, and wherein a component node connected to the sampled edge is taken as a source component node (SN), and wherein a subgraph (OLS) is taken from the selected graph based on a receptive field around the source component node (SN), and a cluster-based receptive field sampling module (CBRFS). configured for processing the subgraph (OLS) and for performing the operations of picking (5) a cluster (Cl, C2) of component nodes that is connected to the source component node (SN) within the subgraph (OLS). reducing (6) the subgraph (OLS) by dropping the picked cluster of component nodes, and creating a corresponding reduced subgraph (CID, C2D), and adding (7) the reduced subgraph (CID, C2D) along with the source component node (SN) and a target to the training set. wherein the target is a label of the picked cluster, and in particular, iteratively repeating (8) the picking (5), reducing (6) and adding (7) operations until every cluster has been picked, and in particular, recursively repeating (9) the picking (5). reducing (6) and adding (7) operations within at least one of the reduced subgraphs or within each of the reduced subgraphs, until only one cluster remains.
8. A device for training a graph neural network for electronic design automation, comprising a training module, configmed for training (11) a graph neural network model (GNN-M) with the training set generated by the sampling system of claim 7 and a loss function (LF).
9. A recommender system for electronic design automation, comprising a user interface configured for receiving a selected component node representing a first phy sical component, and comprising a graph neural network model (GNN-M), trained with the training set generated by the sampling system of claim 7, and in particular trained by the device of claim 8, and configured for receiving the selected component node and a graph representing a cmrent stage of an electronic design as input, and configured for recommending (12) a second physical component that should be connected to the first physical component in the electronic design.
10. A computer program product comprising instructions which, when the program is executed by a computer, cause the computer to carry out a method according to one of the method claims.
11. A provisioning device for the computer program product according to the preceding claim, wherein the provisioning device stores and / or provides the computer program product.