Information processing device and information processing method

The information processing device clarifies ground, input, and output terminals in electric circuit diagrams to prevent information loss during graph network conversion, ensuring accurate retrieval and restoration of circuit diagrams.

JP7612125B2Active Publication Date: 2025-01-10MITSUBISHI ELECTRIC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024551167
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-10-21
Publication Date
2025-01-10
Estimated Expiration
2042-10-21

AI Technical Summary

Technical Problem

Conventional methods for converting electric circuit diagrams into graph networks fail to accurately distinguish between ground, input, and output terminals, leading to information deterioration and inability to restore the original circuit diagram, especially when circuits have unique grounds or inputs/outputs.

Method used

An information processing device and method that extracts and updates component and wiring lists by adding ground, input, and output terminal names, and removes corresponding wiring names, creating a list information that maintains clarity in graph networks.

Benefits of technology

This approach prevents information deterioration during graph network conversion, allowing accurate retrieval of similar circuit diagrams by clearly defining ground, input, and output terminals, thereby enhancing the accuracy of circuit diagram restoration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007612125000001
    Figure 0007612125000001
  • Figure 0007612125000002
    Figure 0007612125000002
  • Figure 0007612125000003
    Figure 0007612125000003
Patent Text Reader

Abstract

An information processing device (1) comprises an acquisition unit (11) that acquires a netlist of an electric circuit and a processing unit (12) that: extracts a part name list and a connection name list from the netlist; creates a part name list updated by adding part names indicating a ground terminal, an input terminal, and an output terminal, a connection name list updated by removing connection names indicating a ground connection, an input connection, and an output connection, and a combined list that includes part names extracted from part names in the updated part name list and corresponding to connection names in the updated connection name list; and outputs the updated part name list and the combined list.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an information processing device and an information processing method. [Background technology]

[0002] Circuit diagram data showing an electric circuit designed using CAD (Computer-Aided Design) is data including component information on the components and connection information on the wiring between the components. For example, Patent Document 1 describes a technology that uses a circuit matrix that represents an electric circuit in a matrix to search for circuit diagram data of an electric circuit with a similar configuration from a database in which circuit diagram data is registered. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2007-128383 A Summary of the Invention [Problem to be solved by the invention]

[0004] A graph network that represents an electric circuit with nodes and edges is created using list information extracted from a netlist of the electric circuit. The list information is information about the components and wiring included in the electric circuit, and includes a component name list and a wiring name list. The component name list contains the names of the components included in the electric circuit. The wiring name list contains the names of the wiring that connects the components.

[0005] The wiring whose names are set in the wiring name list includes ground wiring, input wiring, and output wiring in an electric circuit. On the other hand, the component name list sets only the component names of circuit components having structural features, and does not include elements indicating ground, input, and output that do not have structural features. For this reason, conventional list information requires that various types of ground, multiple inputs, and multiple outputs be defined by wiring.

[0006] On the other hand, in conventional list information, if a circuit has a unique ground or unique inputs and outputs, it is not possible to distinguish the ground or the inputs and outputs as different circuit information unless a special mechanism is provided for each circuit. For example, the inputs of a circuit component include the power supply to the circuit component and also the input of an external signal. As such, the inputs of circuit components are diverse, and if they are defined only by the wiring name, the two will be confused. For this reason, after converting an electric circuit into a graph network, it is difficult to separate the two using only the graph network.

[0007] In order to separate the above two, it is necessary to decide on the number of components or the order of entries in the graph network, and this can only be used when the number of input terminals is predetermined. If the above decision is not made and a graph network is created using list information in which the ground, input, and output of the circuit components are not properly defined, information degradation may occur in the graph network. If information degradation occurs, it may not be possible to restore the original circuit diagram from the graph network.

[0008] However, in the conventional technology described in Patent Document 1, if a circuit matrix is ​​created using list information in which the definitions of ground, input, and output are not appropriate, the information in the circuit matrix is ​​likely to deteriorate as described above. In this case, even if the circuit matrix is ​​used, it may not be possible to accurately search for circuit diagram data of similar electric circuits.

[0009] The present disclosure is intended to solve the above-mentioned problem, and aims to provide an information processing device and an information processing method that can provide list information that can suppress information degradation that occurs when converting an electrical circuit into a graph network. [Means for solving the problem]

[0010] The information processing device according to the present disclosure includes an acquisition unit that acquires a netlist of an electric circuit, and a processing unit that extracts a component name list and a wiring name list from the netlist, updates the component name list by adding component names indicating ground terminals, input terminals, and output terminals, updates the wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring, extracts component names corresponding to wiring names in the updated wiring name list from the component names in the updated component name list, creates a combination list including the extracted component names, and outputs the updated component name list and combination list. Effect of the Invention

[0011] According to the present disclosure, a component name list and a wiring name list are extracted from a netlist of an electric circuit, and the component name list is updated by adding component names indicating ground terminals, input terminals, and output terminals, and the wiring name list is updated by removing wiring names indicating ground wiring, input wiring, and output wiring, and component names corresponding to wiring names in the updated wiring name list are extracted from the component names in the updated component name list, a combination list including the extracted component names is created, and the updated component name list and combination list are output. As a result, the information processing device according to the present disclosure outputs list information in which the ground, input, and output in an electric circuit are defined as circuit components, and therefore it is possible to provide list information capable of suppressing information degradation caused by converting an electric circuit into a graph network. [Brief description of the drawings]

[0012] [Figure 1] 1 is a block diagram showing a configuration example of an information processing device according to a first embodiment. [Diagram 2]FIG. 1 is a schematic diagram showing an example (1) of an electric circuit and a graph network in the first embodiment. [Diagram 3] FIG. 13 is a schematic diagram showing an example (2) of an electric circuit and a graph network in the first embodiment. [Figure 4] 4A and 4B are block diagrams showing a hardware configuration for implementing the functions of the information processing device according to the first embodiment. [Diagram 5] 4 is a flowchart showing an information processing method according to the first embodiment. [Figure 6] FIG. 1 is a circuit diagram showing an example (1) of an electric circuit. [Figure 7] FIG. 1 is a circuit diagram showing an example (2) of an electric circuit. [Figure 8] FIG. 1 is a circuit diagram showing an example (3) of an electric circuit. [Figure 9] FIG. 1 is a schematic diagram showing a graph network in which nodes are connected by edges. [Figure 10] FIG. 1 is a schematic diagram showing a graph network in which nodes are connected via wiring nodes. [Figure 11] 1 is a flowchart showing a data input process (1) into a graph network in the first embodiment. [Figure 12] 13 is a flowchart showing a data input process (2) into the graph network in the first embodiment. [Figure 13] 13 is a flowchart showing a data input process (3) into the graph network in the first embodiment. [Figure 14] 1 is a graph showing an example (1) of a calculation result of inference accuracy by the information processing device according to the first embodiment. [Figure 15] 13 is a graph showing an example (2) of the calculation result of the inference accuracy by the information processing device according to the first embodiment. [Figure 16] FIG. 11 is a block diagram showing a configuration example of an information processing device according to a second embodiment. [Figure 17] 11 is a flowchart showing an information processing method according to the second embodiment. [Figure 18]FIG. 11 is a circuit diagram showing an example (4) of an electric circuit. [Figure 19] FIG. 5 is a circuit diagram showing an example (5) of an electric circuit. [Figure 20] FIG. 11 is a schematic diagram showing an example (1) of an electric circuit and a graph network in the second embodiment. [Figure 21] FIG. 13 is a schematic diagram showing an example (2) of an electric circuit and a graph network in the second embodiment. [Figure 22] FIG. 13 is a schematic diagram showing an example (3) of an electric circuit and a graph network in the second embodiment. [Diagram 23] 13 is a graph showing an example of a calculation result of inference accuracy by an information processing device according to embodiment 2. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] Embodiment 1 Fig. 1 is a block diagram showing a configuration example of an information processing device 1 according to a first embodiment. In Fig. 1, the information processing device 1 acquires a netlist of an electric circuit, and uses the acquired netlist to provide list information capable of suppressing information degradation in a graph network of the electric circuit. The graph network of an electric circuit is information that represents the electric circuit using nodes representing components and edges representing wiring. The graph network also includes information indicating the feature amounts of the nodes and the feature amounts of the edges.

[0014] In creating an electric circuit, a circuit diagram of the electric circuit is designed using a circuit design CAD, information showing the circuit diagram is transferred to a board design CAD, and a board circuit pattern is designed using the board design CAD. The information showing the circuit diagram transferred from the circuit design CAD to the board design CAD is a netlist of the electric circuit. For example, the information processing device 1 acquires a netlist from the circuit design CAD, and outputs a netlist including list information created using the acquired netlist to a computer equipped with the board design CAD. In the computer, a board circuit pattern for the circuit diagram shown in the input netlist is designed using the board design CAD.

[0015] The circuit diagram indicated by the netlist includes information indicating the passive components, active components, I / O components, and wiring in the electric circuit. Passive components are, for example, coils, capacitors, resistors, or diodes. Active components are, for example, power supplies, processors, memories, or FPGAs (Field Programmable Gate Arrays). I / O components include, for example, board-to-board connectors, power connectors, and communication connectors. Wiring is used to connect the above components.

[0016] The circuit diagram shows an electric circuit that is powered from an external source, or that operates by receiving control signals such as Ethernet (registered trademark), or analog signals obtained from a sensor, so the power source itself is not included in the circuit diagram. The power source can be a battery or a commercial power source. In the following description, it is assumed that at least the ground wiring, input wiring, and output wiring are connected to one or more circuit components in the circuit diagram. Also, the circuit diagram shown in the netlist does not necessarily have to be operational, and may be a circuit in the process of being designed, or may be an extracted circuit portion that realizes part of the function of the entire circuit.

[0017] There are several dozen known ways to express a netlist, such as the TELESIS format, PADS format, or SCICARDS format, but all of these formats contain information indicating the components included in an electric circuit and the wiring connecting the components. Generally, a circuit diagram includes ground wiring, input wiring, and output wiring. However, a circuit diagram that handles electromagnetic waves or heat that are input or output without wiring may not have input or output wiring. In addition, when electromagnetic waves or heat are converted into electric signals and the electric signals are converted into electromagnetic waves or heat, the circuit diagram includes input wiring through which the electric signals converted from the electromagnetic waves or heat propagate, and includes output signals through which the electric signals converted into the electromagnetic waves or heat propagate. The netlist also includes information about such wiring.

[0018] The netlist also includes a component name list and a wiring name list. The component name list contains all the component names in the netlist. The wiring name list contains all the wiring names in the netlist. The wiring name list also contains wiring names indicating ground wiring, input wiring, and output wiring in an electric circuit, but the component name list does not contain information indicating ground, input, and output, and only circuit components having structural characteristics such as semiconductor elements (hereinafter simply referred to as semiconductors) or capacitors are set. Therefore, even if there are multiple types of grounds, inputs, and outputs in an electric circuit, these cannot be distinguished from the component name list.

[0019] In this case, the ground wiring, input wiring, and output wiring must be further classified and defined in the wiring name list according to the types of ground, input, and output. For example, if a certain component has multiple types of ground, input, and output, multiple types of wiring classified according to the types of ground, input, and output must also be defined between this component and the components connected to it, which complicates the wiring name list. If an electric circuit is converted into a graph network using list information including a complicated wiring name list, there is a high possibility that information degradation will occur in the graph network.

[0020] In response to this, the information processing device 1 adds part names indicating ground terminals, input terminals, and output terminals to the part name list, and removes wiring names indicating ground wiring, input wiring, and output wiring from the wiring name list. The information processing device 1 then extracts part names corresponding to wiring names in the wiring name list from the part names in the part name list, creates a combination list including the extracted part names, and outputs list information including the part name list and the combination list. As a result, even if there are multiple types of grounds, inputs, and outputs in an electric circuit, the information processing device 1 can define these as individual parts. Therefore, the list information does not become complicated as in the case of defining them as multiple types of wiring, and it is possible to provide list information that can suppress information degradation in the graph network of the electric circuit.

[0021] As shown in FIG. 1, the information processing device 1 includes an acquisition unit 11 and a processing unit 12. The acquisition unit 11 executes a first process of acquiring a netlist of an electric circuit. For example, the information processing device 1 is connected to a computer equipped with a circuit design CAD, and the acquisition unit 11 acquires a netlist created using the circuit design CAD from the computer. The acquiring unit 11 may also acquire a circuit diagram model of an electric circuit that operates in a circuit simulator, and convert the circuit diagram indicated by this circuit diagram model into a netlist. In other words, the acquisition of a netlist by the acquisition unit 11 also includes acquiring a netlist by converting a circuit diagram.

[0022] The processing unit 12 extracts a component name list and a wiring name list from the netlist, creates an updated component name list by adding component names indicating ground terminals, input terminals, and output terminals, an updated wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring, and extracts component names corresponding to wiring names in the updated wiring name list from the component names in the updated component name list, creates a combination list including the extracted component names, and outputs the updated component name list and combination list. The processing unit 12 also outputs the updated component name list and combination list in which the component names are replaced with unique identification numbers common to each feature of the components.

[0023] Specifically, the processing unit 12 executes the second process to the sixth process. The second process is a process of extracting a component name list and a wiring name list from the net list acquired by the acquisition unit 11. The third process is a process of adding part names indicating ground terminals, input terminals, and output terminals to the part name list. The fourth process is a process of removing wiring names indicating ground wiring, input wiring, and output wiring from the wiring name list. The fifth process is a process of extracting, from the part names in the part name list obtained by the third process, part names that correspond to the wiring names in the wiring name list obtained by the fourth process, and creating a combination list including the extracted part names. The sixth process is a process of replacing the part names in the part name list subjected to the third process with the part names in the combination list obtained in the fifth process by a unique identification number common to each feature of the parts, and outputting list information including the part name list and the combination list in which the part names have been replaced with the identification numbers.

[0024] Figure 2 is a schematic diagram showing an example (1) of an electric circuit and a graph network, where the left diagram in Figure 2 shows an example of an electric circuit, and the upper and lower diagrams on the right side show the graph network of the electric circuit on the left. The electric circuit shown in Figure 2 is a circuit having a power source V, a semiconductor X, an inductor L, a capacitor C, and a resistor R. In this electric circuit, the power source V, one terminal of the semiconductor X, the capacitor C, and the resistor R are connected to the ground GND.

[0025] A circuit diagram of an electric circuit that operates with power supplied (input) from a power source V does not include the power source V itself. For this reason, the netlist representing the circuit diagram does not include the input terminal to which power is supplied from the power source as a circuit component. Also, the component name list included in this netlist includes electric circuit components that have functional structures, such as a semiconductor X, an inductor L, a capacitor C, and a resistor R, but does not include power inputs or ground GND, which do not have functional structures.

[0026] If a component name list without power supply input and ground GND is used, the graph network shown in the lower right is created. The graph network in the lower right has a node for semiconductor X, a node for inductor L, a node for capacitor C, and a node for resistor R, but does not have a node for the power supply input from power supply V or a node for ground GND. In the graph network in the lower right, the power supply input from power supply V and ground GND are defined as wiring.

[0027] For example, in the electric circuit on the left, power is supplied (input) from the power source V to one terminal of the semiconductor X. Therefore, in the graph network on the lower right, the thick wire connected to the node of the semiconductor X is the input wire related to the power input from the power source V. In addition, in the electric circuit on the left, the semiconductor X, the capacitor C, and the resistor R are each connected to ground GND.

[0028] For example, as shown by the white lines, ground GND is defined as the ground wiring between semiconductor X and capacitor C, the ground wiring between semiconductor X and resistor R, and the ground wiring between capacitor C and resistor R. In other words, if the power supply input and ground GND are not set in the component name list, four types of wiring indicating the power supply input from power supply V and ground GND are defined in the netlist.

[0029] When a netlist of an electrical circuit is converted into a graph network, and the converted graph network is then converted back into a netlist, if the original electrical circuit can be identified using the converted netlist, it is determined that there is no information degradation in the graph network. In general, there is no reversibility between the conversion from a netlist to a graph network and the reverse conversion from the graph network to a netlist, and the netlist after the reverse conversion may not be a netlist that can be calculated by a circuit simulator.

[0030] For this reason, the information degradation of a graph network is judged by inputting the graph network into a graph neural network and learning the graph neural network to infer the original electric circuit, without performing a reverse conversion from the graph network to a netlist. The judgment of information degradation using a graph neural network has the advantage that the above problem does not occur because the process of reverse conversion from the graph network to a netlist is not performed. However, the graph neural network has a problem of variability in inference results. In this case, the effect of variability in inference results can be reduced by performing learning of a graph neural network with a common network structure multiple times and checking the variability in inference results by the learned graph neural network. In this way, determining information degradation using a graph neural network is an excellent determination method that produces more stable results than the case of performing a reverse conversion from a graph network to a netlist. Here, a graph neural network is a machine learning model (AI) that, when a graph network is input, infers an electrical circuit corresponding to the graph network. If the graph neural network can infer the original electrical circuit with high accuracy, it is determined that there will be less information degradation when the netlist of this electrical circuit is converted into a graph network.

[0031] When an electric circuit has multiple types of grounds GND, inputs, and outputs, the graph network converted from the netlist of this electric circuit has the wiring indicating the ground GND, inputs, and outputs classified and defined according to the type of ground GND, input, and output. These wirings are defined under complex conditions including the relationship with the connected components in addition to the information indicating the classified type. For this reason, the graph neural network needs to learn including the complex conditions for each wiring, and the inference accuracy of the graph neural network inferring the original electric circuit decreases.

[0032] In response to this, the information processing device 1 adds component names indicating the ground terminal, input terminal, and output terminal to the component name list included in the netlist of the electric circuit on the left side, and removes the wiring names indicating the ground wiring, input wiring, and output wiring from the wiring name list included in the netlist.The information processing device 1 then extracts component names corresponding to wiring names in the wiring name list from the component names in the component name list, creates a combination list including the extracted component names, and outputs the component name list and the combination list.

[0033] In the component name list and combination list, the power supply input of the power supply V and the ground GND in the electric circuit on the left are set as components. Therefore, the netlist including the component name list and combination list is converted into the graph network on the right. In the graph network on the right, in addition to a node for semiconductor X, a node for inductor L, a node for capacitor C, and a node for resistor R, a node for the power supply input from the power supply V and a node for ground GND are set.

[0034] Since the power supply input from the power supply V and the ground GND are defined as components, in the graph network on the upper right, the wiring related to the power supply input from the power supply V to the semiconductor X does not need to be classified into types of input wiring, and is defined as a connection between nodes. There is no need to classify the ground wiring type for GND either, and it is defined as a connection between nodes. In other words, in the graph network on the upper right, all wiring in the original electrical circuit is defined as one type of wiring that connects nodes.

[0035] For this reason, the multiple types of grounds GND, inputs, and outputs of an electric circuit are each distinguished as components. In other words, the graph neural network can learn the grounds GND, inputs, and outputs of an electric circuit as components, improving the accuracy with which the graph neural network infers the original electric circuit.

[0036] Figure 3 is a schematic diagram showing an example (2) of an electric circuit and a graph network, where the left diagram in Figure 3 shows an example of an electric circuit, and the top and bottom diagrams on the right side show the graph network of the electric circuit on the left. The electric circuit shown in Figure 3 is a circuit having a power supply V, a semiconductor X, an inductor L, a capacitor C, and a resistor R. When using a part name list in which the ground GND in the electric circuit on the left is not set, the electric circuit is converted into the graph network shown on the bottom right.

[0037] In the graph network on the lower right, the power supply input node from the power supply V, the node for the semiconductor X, the node for the inductor L, the node for the capacitor C, and the node for the resistor R are set, and the ground GND is defined as the ground wiring set between the nodes, as shown by the white lines. Generally, among the components included in an electric circuit, there are many components that are connected to the ground GND, so depending on the circuit size, it may be necessary to define a huge number of ground wirings for the ground GND. Also, the output node is the voltage across the resistor R. For ease of explanation, the circuit diagram in Figure 3 shows the power supply V, which serves as the input node, and the resistance R, which represents the load at the output node. However, in typical circuit diagrams used in electrical design, the power supply V or resistance R is not shown, and they are represented as open ends.

[0038] In addition, in the graph network on the lower right, six ground wires are set for the ground GND, but five more wires are set to connect nodes other than the ground GND, meaning that a total of 11 wires must be defined in the netlist.

[0039] In response to this, the information processing device 1 provides list information in which the ground GND is set as a component. This list information can be converted into the graph network on the upper right. In the graph network on the upper right, as shown in Fig. 3, a power supply input node from the power supply V, a node for the semiconductor X, a node for the inductor L, a node for the capacitor C, and a node for the resistor R are set, as well as a node for the ground GND. Semiconductors include not only single-function semiconductors such as transistors, diodes, MOS FETs (Metal-Oxide-Semiconductor Field-Effect Transistors), or IGBTs (Insulated Gate Bipolar Transistors), but also large-scale integrated circuits such as ICs or LSIs, for example, CPUs, GPUs, memories, or ASICs. In the first embodiment, since a large scale integrated circuit whose internal circuit elements are unknown (black box) can be defined as a node, all semiconductors can be treated in the same way. Even when the internal circuit elements are known, in a circuit that handles high frequency signals or signals in a band other than the frequency band that the semiconductor targets, the results of circuit calculations do not match the actual measurements due to the influence of parasitic capacitance, residual inductance, or residual resistance, in other words, it is often not an equivalent circuit. For this reason, even if the internal circuit elements can be identified, it is often useless, and this embodiment, which can be treated as a black box, has a special effect. However, even if the circuit elements inside the integrated circuit are unknown, the attribute information possessed by the integrated circuit itself, such as the CPU or memory, can often be grasped, and therefore it is desirable to input the attribute information possessed by the integrated circuit as the attribute information of the semiconductor node. The attribute information is a combination of various pieces of information contained in a specification (also called a spec sheet), such as the manufacturer, type of part, model number of the part, production lot, number of terminals of the part, frequency of the input signal to the part, voltage of the input signal, current of the input signal, power of the input signal, frequency of the output signal from the part, voltage of the output signal, current of the output signal, power of the output signal, or dimensions.

[0040] By defining ground GND as a component, in the graph network on the upper right, it is sufficient to set nine wires connecting each of the nine nodes. Therefore, only a total of nine wires need to be defined in the netlist, making it possible to reduce the number of wires to be defined in the netlist compared to when ground GND is not defined as a component. The reduction in the number of wires reduces the amount of calculation, making it possible to handle large-scale circuits even with computers with low computational performance or edge computing.

[0041] Next, a hardware configuration for realizing the functions of the information processing device 1 will be described. The information processing device 1 is, for example, a computer connected to an information network. The computer may be a server or a client that can be connected to a cloud or the like via an information network, or may be a standalone computer that is not connected to an information network.The computer may also be a computer used in a closed network environment within a factory, which is called edge computing. The information processing device 1 may be a smartphone, a tablet terminal, a PC (Personal Computer), or a microcomputer.

[0042] The information processing device 1 may be a device that uses an information processing service provided in the form of SaaS (Software as a Service). That is, a dedicated application for providing the information processing service in the first embodiment is executed by a server to which the information processing device 1 is connected via an information network, and the information processing device 1 can receive the information processing service on a Web browser without installing the dedicated application.

[0043] The functions of the acquisition unit 11 and the processing unit 12 included in the information processing device 1 are realized by a processing circuit. That is, the information processing device 1 includes a processing circuit for executing the processes of steps ST1 to ST9 shown in Fig. 5 described later. The processing circuit may be dedicated hardware, or may be a CPU (Central Processing Unit) that executes a program stored in a memory.

[0044] FIG. 4A is a block diagram showing a hardware configuration for implementing the functions of the information processing device 1. In FIG. 4A, the input interface 100, the output interface 101, and the processing circuit 102 are interconnected via a bus line. FIG. 4B is a block diagram showing a hardware configuration for executing software for implementing the functions of the information processing device 1. In FIG. 4B, the input interface 100, the output interface 101, the processor 103, and the memory 104 are interconnected via a bus line. In FIG. 4A and FIG. 4B, the input interface 100 is an interface that relays, for example, a netlist acquired by the information processing device 1. The output interface 101 is an interface that relays list information output from the information processing device 1 to an external device.

[0045] When the processing circuit is the dedicated hardware processing circuit 102 shown in FIG. 4A, the processing circuit 102 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof. The functions of the acquisition unit 11 and the processing unit 12 included in the information processing device 1 may be realized by separate processing circuits, or these functions may be realized together by a single processing circuit.

[0046] 4B, the functions of the acquisition unit 11 and the processing unit 12 included in the information processing device 1 are realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in the memory 104.

[0047] The processor 103 reads out and executes a program stored in the memory 104 to realize the functions of the acquisition unit 11 and the processing unit 12 included in the information processing device 1. For example, the information processing device 1 includes a memory 104 for storing a program that, when executed by the processor 103, results in the processing of steps ST1 to ST9 shown in Fig. 5 being executed. These programs cause a computer to execute the procedures or methods of the processing performed by the acquisition unit 11 and the processing unit 12. The memory 104 may be a computer-readable storage medium in which a program for causing a computer to function as the acquisition unit 11 and the processing unit 12 is stored.

[0048] Memory 104 may be, for example, a non-volatile or volatile semiconductor memory such as a Random Access Memory (RAM), a Read Only Memory (ROM), a flash memory, an Erasable Programmable Read Only Memory (EPROM), an Electrically-EPROM (EEPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD, etc.

[0049] A part of the functions of the acquisition unit 11 and the processing unit 12 included in the information processing device 1 may be realized by dedicated hardware, and a part may be realized by software or firmware. For example, the function of the acquisition unit 11 may be realized by a processing circuit 102 which is dedicated hardware, and the function of the processing unit 12 may be realized by a processor 103 reading and executing a program stored in a memory 104. In this way, the processing circuit can realize the above functions by hardware, software, firmware, or a combination of these.

[0050] The program executed by the processor 103 may be received from a system (Comport) such as the World Wide Web (WWW) that connects multiple pieces of hardware together via wired or wireless connections or both. Furthermore, when the information processing device 1 performs learning of a graph neural network, which will be described later, parameters obtained by the learning, particularly a weighting matrix in the case of a neural network, may be transmitted and received in the above system.

[0051] The information processing device 1 may function as a learning device that performs machine learning. The learning device may be a device having general-purpose hardware that excels in parallel operations, such as a GPU (Graphics Processing Unit) in addition to a CPU. The information processing device 1 may be composed of multiple computers connected via a communication port.

[0052] In the following description, the information processing device 1 performs both learning and inference, but learning and inference may be performed by separate devices that operate independently of each other. In this case, one of these devices may be the information processing device 1, or both may be the information processing device 1. Furthermore, the information processing device 1 may be a device that provides a plurality of virtual hardware environments within a single piece of hardware, and each virtual hardware is virtually treated as an individual piece of hardware.

[0053] Next, the operation of the information processing device 1 according to the first embodiment will be described. FIG. 5 is a flowchart showing the information processing method according to the first embodiment, and shows a series of operations performed by the information processing device 1. First, the acquisition unit 11 acquires a netlist (step ST1). For example, the acquisition unit 11 reads out a circuit diagram model from the memory 104 shown in FIG. 4B, and converts the circuit diagram indicated by the circuit diagram model into a netlist. Some netlist notation formats include those in which the component names are written first, followed by the wiring names. For example, there are formats such as Telesis, PADS, Allegro, Express PCB, Intergraph, and Scicards.

[0054] There are also netlist formats in which the wiring name is written followed by the component name, such as Calay, Mentor, or Vectron. Furthermore, there are netlist formats that list component names and wiring names simultaneously, such as ComputerVision, Algorex, and Multiwire.

[0055] In either notation, ground, input, and output are defined as wires. The netlist below is a representation in Telesis format of the netlist for the electrical circuit that operates the switching power supply. $PACKAGES lt3489! LT3489;U1 ind! 2.2u;L1 schottky! 1N5818;D1 cap! 20u;C1 res! 28.7K;R1 res! 5.23K;R2 cap! .001u;C2 $NETS N002; U1.1 U1.7 N003; U1.2 R1.2 R2.1 IN; U1.3 U1.6 L1.1 0; U1.4 C1.2 R2.2 C2.2 N001; U1.5 L1.2 D1.1 N004; U1.8 C2.1 OUT; D1.2 C1.1 R1.1 $END

[0056] The processing unit 12 extracts a component name list from the netlist (step ST2-1), and extracts a wiring name list from the netlist (step ST2-2). For example, the processing unit 12 stores all the component names included in the netlist in the component name list, and stores all the wiring names included in the netlist in the wiring name list. The process of step ST2-1 and the process of step ST2-2 may be executed either first or simultaneously.

[0057] The component name list stores components having structural characteristics such as semiconductors or capacitors, and does not include ground terminals, input terminals, or output terminals. On the other hand, the wiring name list includes ground wiring, input wiring, and output wiring, which are parts of wiring. The processing unit 12 adds the ground wiring, input wiring, and output wiring included in the netlist to the component name list as ground terminals, input terminals, and output terminals (step ST3-1). The processing unit 12 removes the ground wiring, input wiring, and output wiring from the wiring name list (step ST3-2). As a result, information indicating the ground terminals, input terminals, and output terminals remains as component information in the component name list, so that it is possible to suppress information degradation when converting an electric circuit into a graph network using list information including the component name list. The process of step ST3-1 and the process of step ST3-2 may be executed in any order, or may be executed simultaneously.

[0058] In the above netlist, the lines following "$PACKAGES" indicate the component names, and the lines following "$NETS" indicate the wiring names. The component names "U1, L1, D1, C1, R1, R2, C2" extracted from this netlist are the component name list. Additionally, the wiring names extracted from the netlist, "N002, N003, IN, 0, N001, N004, OUT," form the wiring name list. Input wiring is defined as "IN," and output wiring is defined as "OUT." Some netlists do not define names for inputs and outputs, but any netlist will include wiring that corresponds to the input and output of an electrical circuit. "0" is the name of the wiring that indicates ground wiring, and is always present, for example, on a board on which semiconductors are mounted. In this case, N001, N002, N003, and N004 are wiring names mechanically given by the CAD to wirings to which the designer did not intentionally give wiring names.

[0059] The processing unit 12 adds ground (GND), input (IN), and output (OUT) to the component name list. For example, the component name list to which ground (GND), input (IN), and output (OUT) have been added is "U1, L1, D1, C1, R1, R2, C2, GND, IN, OUT." Unlike circuit components, ground (GND), input (IN), and output (OUT) do not have structural characteristics, and therefore are not set in the component name list, but the processing unit 12 processes ground (GND), input (IN), and output (OUT) as circuit components.

[0060] In a netlist, there does not have to be one ground (GND), input (IN) and output (OUT) and there may be multiple. For example, the ground may be divided into a system ground and a frame ground, and depending on the electric circuit, the two may be connected by a capacitor, resistor, inductor, etc. These grounds may be defined as different grounds.

[0061] An electric circuit has multiple types of input terminals, such as power terminals for connecting to a commercial power source or a battery, as well as input terminals for inputting external signals. Furthermore, the electrical circuit has a plurality of output terminals, such as an output terminal for outputting a signal connected to a rotating machine such as a motor, and an output terminal for outputting a signal indicating the rotation speed of the rotating machine.

[0062] The processing unit 12 removes the ground wire (0), the input wire (IN), and the output wire (OUT) from the wire name list. The wire name list becomes "N002, N003, N001, N004". This defines the ground, input, and output as components, not wires, and as a result, it is possible to reduce information degradation when converting from an electric circuit to a graph network.

[0063] For example, if the same electrical circuit is represented using "PADS", another netlist notation format, it will look like this, and in this case too, a component name list and wiring name list can be created. Regardless of the netlist notation format, a component name list and a wiring name list can always be created because an electric circuit cannot be established without components and wiring. *PART* U1 LT3489 L1 2.2u D1 1N5818 C1 20u R1 28.7K R2 5.23K C2 .001u *NET* *SIGNAL*N002 U1.1 U1.7 *SIGNAL*N003 U1.2 R1.2 R2.1 *SIGNAL*IN U1.3 U1.6 L1.1 *SIGNAL*0 U1.4 C1.2 R2.2 C2.2 *SIGNAL*N001 U1.5 L1.2 D1.1 *SIGNAL*N004 U1.8 C2.1 *SIGNAL*OUT D1.2 C1.1 R1.1 *END*

[0064] Next, the processing unit 12 extracts the component names corresponding to the wiring names in the wiring name list from the component names in the component name list, and creates a combination list including the extracted component names (step ST4). For example, the processing unit 12 extracts the component names in the component name list corresponding to the wiring names in the wiring name list from the netlist in the order of the list, and creates a combination list including the extracted component names. Here, the processing unit 12 includes the ground terminal, input terminal, and output terminal added to the component name list in the combination list. It should be noted that the "part name corresponding to the wiring name" is the part name indicating the part to which the wiring indicated by the wiring name is connected.

[0065] By including a ground terminal in the combination list, the amount of information in the combination list can be reduced. Generally, many components in an electric circuit are connected to ground GND. For example, if N components are connected to ground GND, the combination list will include N combinations of ground GND and components. If the ground GND is not defined, it is necessary to create combinations of the ground GND and components in a number proportional to the square of N.

[0066] Since an electrical circuit cannot be completed unless the components are connected by wiring, it is always possible to create a combination list for any electrical circuit that functions normally. Figure 6 is a circuit diagram showing an example (1) of an electric circuit. The netlist of the electric circuit shown in Figure 6 is as follows. #parts A B C D #wiring (1);IN,A (2); A, B (3); B, C, D (4);D,OUT GND; A, B, C

[0067] The component name list extracted from the above netlist becomes "A,B,C,D,IN,OUT,GND" by adding "IN", "OUT" and "GND". By removing “IN”, “OUT”, and “GND”, the wiring name list becomes “(1),(2),(3),(4)”.

[0068] In a netlist in which no wiring connected to a ground terminal is defined, a wiring is provided between the ground and the component, and a name is assigned to the wiring. That is, for example, ground is represented by "G" from "GND; A, B, C" in the netlist of the electric circuit shown in Figure 6, and the wiring names "GA", "GB", and "GC" are given by connecting the component names. As a result, the wiring name list becomes "(1), (2), (3), (4), GA, GB, GC".

[0069] The following combination list is the result of extracting, in order from the netlist, the component names that correspond to the wiring names in the wiring name list "(1), (2), (3), (4), GA, GB, GC" from the component name list "A, B, C, D, IN, OUT, GND." (1);IN,A (2); A, B (3); B, C, D (4);D,OUT GA;GND,A GB;GND,B GC;GND,C

[0070] Next, the processing unit 12 judges whether or not there are three or more component names corresponding to one wiring name among the component names in the combination list (step ST5). If it is judged that there are less than three component names corresponding to one wiring name in the combination list (step ST5; NO), the processing unit 12 replaces the component names in the combination list with identification numbers (step ST6).

[0071] On the other hand, when it is determined that there are three or more component names corresponding to one wiring name in the combination list (step ST5; YES), the processing unit 12 breaks it down into combinations of two component names (step ST7). For example, when the component name held by a certain wiring name, that is, the component name corresponding to one wiring name, is [capacitor, coil, resistor], the processing unit 12 breaks it down into three combinations, namely, [capacitor, coil], [coil, resistor], and [resistor, capacitor]. Similarly, when the component name is [capacitor, coil, resistor, semiconductor], the processing unit 12 breaks it down into six combinations, namely, [capacitor, coil], [capacitor, resistor], [capacitor, semiconductor], [coil, resistor], [coil, semiconductor], and [resistor, semiconductor].

[0072] The processing unit 12 adds the combinations of two part names that have been decomposed to the combination list, and removes the combinations having three or more part names before decomposition from the combination list. However, this process is a process for creating an adjacency matrix in a graph network, and if an adjacency matrix can be created directly from the combination list, decomposition is not necessary.

[0073] For example, in the above netlist, since (3);B,C,D corresponds to a combination of three or more component names, the processing unit 12 breaks it down into (B,C), (C,D) and (D,B). As a result, the following combination list is obtained for the circuit diagram shown in FIG. (1);(IN,A) (2);(A,B) (3);(B,C),(C,D),(D,B) (4);(D,OUT) GA; (GND, A) GB; (GND, B) GC;(GND,C)

[0074] Figure 7 is a circuit diagram showing an example (2) of an electric circuit. The circuit diagram shown in Figure 7 has the following netlist. #parts A C D E F #wiring ' ;IN,A ' ;A,D ' ;C,D,E (4A);E,F (5A);F,OUT GND; A, C, E

[0075] The component name list included in the above netlist is "A, C, D, E, F, GND, IN, OUT," and the wiring name list is "(1A), (2A), (3A), (4A), (5A), GA, GC, GE." The processing unit 12 creates the following combination list by extracting from the netlist the component names corresponding to each wiring name in the wiring name list. (1A);IN,A (2A);A,D (3A);C,D,E (4A);E,F (5A);F,OUT GA;GND,A GC;GND,B GE;GND,E

[0076] Next, when each combination list has three or more part names, the processing unit 12 breaks it down. For example, the processing unit 12 breaks down the combination "(3A);C,D,E" into combinations of two part names each, to create the following combination list. (1A);(IN,A) (2A);(A,D) (3A);(C,D),(D,E),(E,C) (4A);(E,F) (5A);(F,OUT) GA; (GND, A) GC;(GND,B) GE;(GND,E)

[0077] Up to this point, it has been assumed that component names do not match for components other than the same component. However, if the same component name is used for circuit components having different functions, the processing unit 12 changes the component name. Conversely, if different part names are used for the same circuit parts, the processing unit 12 changes the part names. If there are many part names and it is difficult to unify them, it is easier to unify them by using the model numbers of each part manufacturer.

[0078] The processing unit 12 defines a unique identification number common to each type of part or each model number of the part indicated by each part name in the part name list (step ST8), and replaces each part number in the part name list with the identification number (step ST9). The processor 12 replaces each part name included in the part name list and combination list with an identification number, and the part name list and combination list obtained in this way are output as list information.

[0079] By using list information including a part name list in which part names are replaced with identification numbers and a combination list, circuit information can be expressed in numerical values, and as described above, information degradation in the graph network is reduced, so the original electrical circuit can be created by using this graph network.

[0080] Furthermore, the identification number may be defined for each type of part, which is a feature of the part. The type of a part can be expressed by information such as a capacitor, a coil, a power supply IC, or a diode. The number of types of parts is generally less than 100, depending on how they are classified. Thus, the number of types of parts is relatively small. For example, the processing unit 12 replaces the part name with a serial number set for each type of part as an identification number.

[0081] Furthermore, an identification number may be defined for each part model number. When the number of parts used in an electric circuit is limited, the number of identification numbers for each part model number is relatively small. In this case, by using identification numbers defined by the part model numbers, it is possible to prevent information degradation when converting list information into a graph network.

[0082] In step ST8, the processing unit 12 defines an identification number by the following method, and assigns the defined identification number to the part name. As described above, the component name list for the electrical circuit shown in Figure 6 is "A, B, C, D, IN, OUT, GND," and the component name list for the electrical circuit shown in Figure 7 is "A, C, D, E, F, GND, IN, OUT," as described above.

[0083] The processing unit 12 combines these part name lists to create a part name list such as "A, A, B, C, C, D, D, E, F, GND, GND, IN, IN, OUT, OUT." This part name list contains multiple parts with the same name. The processing unit 12 creates a part name list such as "A, B, C, D, E, F, GND, IN, OUT" by removing duplicate part names. Next, the processing unit 12 assigns identification numbers to each part in the part name list so that each part has a different identification number. If natural numbers are used as the identification numbers, the part name list in which the part names are replaced with the identification numbers will look like the following. Note that the identification numbers do not need to be consecutive numbers and may use letters or symbols. A→1 B → 2 C→3 D→4 E→5 F → 6 GND → 7 IN→8 OUT→9

[0084] The identification number for the part named "GND" can be "0", the identification number for the part named "IN" can be "1", and the identification number for the part named "OUT" can be "2", and the order can be reversed. The identification number may also be a number according to the circuit constant, model number, manufacturer, or voltage resistance of the component. For example, the same identification number is assigned to components with the same functions, such as a power supply, memory, and CPU.

[0085] For example, when a switching power supply is divided into an insulated power supply and a non-insulated power supply, the same identification number is assigned to the insulated power supplies and the same identification number is assigned to the non-insulated power supplies. Moreover, the same identification number may be given to the operation of stepping up, stepping down, or stepping up and down. Furthermore, an identification number may be given according to the circuit constant of the passive element. For example, a capacitor with a capacitance of 1.0 μF may be given the same identification number, and capacitors with capacitances ranging from 1.0 μF to 3.3 μF may be given the same identification number. Furthermore, the definition of the identification number may be changed to suit the needs of the user. Furthermore, an identification number may be assigned to each model number set by the parts manufacturer. The method of defining the identification number may be changed depending on the electric circuit being handled.

[0086] For example, if the component names are replaced with identification numbers for each type of component (capacitor, coil, resistor, semiconductor, etc.), the component name list for the electrical circuit shown in Figure 6 would be "1, 2, 3, 4, 7, 8, 9," and the combination list would be "(8,1),(1,2),(2,3),(3,4),(4,2),(4,9),(7,1),(7,2),(7,3)." Furthermore, the component name list for the electric circuit shown in FIG. 7 is “1, 3, 4, 5, 6, 7, 8, 9,” and the combination list is “(8,1), (1, 4), (3, 4), (4, 5), (5, 3), (5, 6), (6, 9), (7, 1), (7, 2), (7, 5).”

[0087] By repeating the above-mentioned series of processes, the processing unit 12 creates a component name list and a combination list for all circuit diagrams. Since the definition of the identification number is arbitrary, the usage of the circuit can be changed according to the purpose of use of the circuit by determining the identification number according to the characteristics of the component of interest. For example, in a problem of predicting the type of component, the model number is redundant information to be used as the identification number, while if the manufacturer of the component is used as the identification number, there is a risk that the information is insufficient and a correct prediction cannot be made. Therefore, it is necessary to select an identification number according to the purpose of use, and if the identification number is selected correctly, the amount of calculation required to predict the type of component can be reduced and the prediction accuracy can be improved.

[0088] Furthermore, multiple identification numbers may be assigned to one part name. For example, identification numbers may be assigned to the model numbers, types, and circuit constants of parts. In this case, for example, the list of part names for the electric circuit shown in Figure 7 would be "(1,3,0),(3,3,7),(4,5,3),(5,2,0),(6,8,1),(7,1,0),(8,1,0),(9,1,0)". The component types with the component names "IN", "OUT", and "GND" are all wiring, so the identification number is defined as "1". The identification number "1" given to a semiconductor, the identification number "5" given to another semiconductor, and the components indicated by the component names "IN", "OUT", and "GND" are input terminals, output terminals, and ground, and do not have circuit constants. In this case, for example, the identification number is defined as "0". For example, circuit constants may be set for the semiconductor in consideration of the internal characteristics of the semiconductor, and different identification numbers may be given to the types of components indicated by "IN", "OUT", and "GND". The method of assigning the identification numbers may be arbitrary as long as it is based on a common rule between circuits.

[0089] The identification number may be a real number and does not necessarily have to be a natural number. The circuit constant of the component may be directly input as the identification number. For example, the range of circuit constants used in general circuits is about 10 to the power of 20, from a maximum of f (femto) to several hundred G (giga). For this reason, if the circuit constants were used as identification numbers in their original form, the larger numbers would dominate. Also, small values ​​may be rounded or changed to a different value due to calculation errors. To avoid this, a function including logarithms may be used as the circuit constant. For example, the function is f(x)=log10(x)+15. In this case, +15 is -log10(f=1 femto). This allows f(x) to be converted as a real number equal to or greater than 0. Also, to avoid the fact that 1f becomes 0 when it is inserted and it becomes impossible to determine which components are inserted, it may be log10(x)+16 or log10(x)+15+(a very small amount greater than 0 and less than 1). Also, for simplicity of explanation, a case where the logarithm is base 10 has been explained, but it does not have to be 10.

[0090] There are many cases where component values ​​are accurate to one digit or less. In such cases, the values ​​may be rounded up to define the identification numbers by order, as shown below. 1f→1, 10f→2, 100f→3, 1n→4, 10n→5, 100n→6, 1u→7, 10u→8, 100u→9, 1m→10, 10m→11, 100m→12, 1→13, 10→14, 100→15, 1k→16, 10k→17, 100k→18, 1M→19, 10M→20, 100M→21, 1G→22, 10G→23, 100G→24.

[0091] By the above-mentioned series of processes, the circuit diagram can be converted into a netlist, and the netlist can be converted into a component name list and a combination list. Using the component name list and the combination list, a graph network in graph theory can be created. Graph networks can be used to search for similar circuits, which is difficult to do with netlists.

[0092] For example, the processing unit 12 can search for a loop path of a semiconductor, a capacitor, a coil, a ground, and a semiconductor by sequentially searching the adjacency matrix created using the combination list. In particular, in an electric circuit using a specific circuit component, the identification numbers of each component constituting the circuit are sequentially searched.

[0093] For example, the processing unit 12 refers to a database including semiconductors that are noise sources and the terminal numbers of the semiconductors, and performs a search process in which the electrical circuit starts from a terminal corresponding to the terminal number and continuously searches for adjacent components under the condition that the same component is not passed through more than twice, and extracts a current loop representing the semiconductor to complete the search process. Specifically, the terminal of the semiconductor being searched is set as the starting point of the search, and one or more components adjacent to the starting point are searched for, and one or more circuit components adjacent to those components are searched for in a continuous process. However, the search is performed under the condition that components other than the semiconductor that was the starting point of the search are not passed through more than twice. This makes it possible to avoid searches that go against physical phenomena, such as the current returning to its original state or stopping midway.

[0094] The processing unit 12 ends the search process when the termination is reached at any terminal of the semiconductor device that is the search start point, except for the terminal that is the search start point. The path created by this search process is called the above-mentioned “current loop.” In other words, the above-mentioned process is equivalent to the process of extracting a current loop path in Kirchhoff's current law (Kirchhoff's first law). The termination can be any terminal. For example, it is most often a ground terminal, but in the case of a differential line, one of the terminals of the differential signal is the starting point and the opposite terminal is the end point. This makes it possible, for example, to detect noise filters based on an algorithm, or to estimate the impedance of a propagation path through which current may flow and predict from the circuit which current loop is most likely to allow current to flow. As a result, the processing unit 12 can extract characteristics of the semiconductor being searched for and characteristics of a current loop indicating the semiconductor from one or more electric circuits including one or more semiconductors, and use the extracted semiconductor characteristics and current loop characteristics to search for semiconductors similar to the semiconductor being searched for.

[0095] The processing unit 12 may also determine whether or not a component indicating a noise filter is present in the current loop. As an example, a case will be described where a path is detected that returns from a power input terminal of a semiconductor to a ground terminal of the semiconductor via a ground capacitor (Y capacitor) and the ground. In this embodiment, the ground capacitor and the ground are defined as nodes of a graph network. For this reason, the path can be detected by determining whether or not there is a path that returns from a start node (semiconductor) to the same node as the start via two nodes. For this detection, all current loops that pass through two nodes are extracted, and by extracting current loops in which one node is a capacitor and the other node is ground, it is possible to extract current loops that have a noise filter. Furthermore, a database having model numbers of noise suppression parts is created in advance in the information processing device 1. The processing unit 12 checks whether the extracted capacitor is included in the database, and if included, can determine that a noise filter is present in the current loop. Furthermore, in order to limit nodes that may be noise sources and reduce the amount of calculation, a database having model numbers of circuit components that may be noise sources is created in advance in the information processing device 1. By setting only applicable nodes as the starting point of the search by the processing unit 12, it is possible to reduce the number of search targets. Although the above explanation has been given as an example of a capacitor to ground, extraction can be performed in the same manner even if a T-type filter or a π-type filter, etc., is used. Similarly, the presence or absence of a connection between any two components can be confirmed. Furthermore, by using attribute information of each node, it is possible to predict frequency characteristics or time waveforms such as impedance, current amount, or voltage drop between components. The processing unit 12 creates a current loop for each terminal of the semiconductor and analyzes the circuit components through which the current loop passes, thereby making it possible to extract similar circuits. The above search process enables the processing unit 12 to search for a noise filter circuit or a similar circuit, regardless of the number of components or wiring in the electric circuit, the number of grounds or input / output ports, etc. This makes it possible to reduce search errors by searching for paths adjacent to a semiconductor, input connector, or output connector that is a noise source in which a noise filter is provided.

[0096] For semiconductors that are noise sources, the part model numbers can be extracted as text data from the netlist. In circuit diagrams, inputs and outputs are often written as input and output symbols, but they may also be written as input connectors and output connectors to which the connector model numbers are assigned. For this reason, by preparing the above-mentioned database in which semiconductors that are noise sources, noise suppression parts, and input or output connectors are registered, and by referencing this database to extract only the text data, it is possible to prevent oversights in the search.

[0097] In addition to searching for noise sources or noise filters, by giving nodes and edges resistance components or delay components, the processing unit 12 can calculate the impedance between two components and estimate the path through which the most current will flow or the path through which the pulse signal will arrive earliest.

[0098] When an electric circuit has a plurality of components connected in parallel to one wiring, the number of combinations of components in the combination list increases in the conventional processing. FIG. 8 is a circuit diagram showing an example (3) of an electric circuit. The electric circuit shown in FIG. 8 is a circuit in which one wiring Line1 is connected between an input terminal IN and an output terminal OUT, and a capacitor C1, a capacitor C2, and a resistor R are connected in parallel to this wiring Line1. The information processing device 1, which treats the ground, the input, and the output as components, creates list information for converting the above electric circuit into a graph network shown in FIG. 9 below.

[0099] FIG. 9 is a schematic diagram showing a graph network in which nodes are connected by edges. In the graph network shown in FIG. 9, the components in the electric circuit shown in FIG. 8 are represented by nodes, and these components are connected by edges. The information processing device 1 creates list information that treats the ground, input, and output as components. For this reason, the list information created by the information processing device 1 is converted into a graph network in which, for example, the semiconductor X, the capacitor C1, the capacitor C2, the resistor R, and the output terminal OUT are each represented as a node, and all of these nodes are connected by edges. In FIG. 9, for the sake of simplicity, the node indicating the input terminal IN and the node indicating the ground are omitted. The graph network has a feature that the part names are nodes, and the node adjacent to any given node is a node of the part name.

[0100] When an electric circuit has multiple components connected in parallel to one wiring, the number of combinations of corresponding components in the combination list increases approximately in proportion to the square of the number of components connected in parallel to the wiring. In FIG. 9, three components (capacitor C1, capacitor C2, and resistor R) are connected in parallel to one wiring Line1, so nine combinations, which is the square of three, are generated. For example, some large-scale circuits have ten or more bypass capacitors connected in parallel to one wiring. In such circuits, the number of combinations increases significantly. As a result, the amount of calculation required to search for a current loop increases exponentially, and the search time also increases.

[0101] In the graph network shown in FIG. 9, when searching for all current loops with a specific part name node as the starting point, it is possible to comprehensively search for nodes so as to satisfy the condition that a node that has been passed once is not passed twice. However, when part name nodes are adjacent, as described above, it is necessary to include components whose number is approximately proportional to the square of the number of parts connected in parallel to one wiring. For example, as shown in FIG. 9, when the number of parts connected in parallel is three, it is difficult to calculate a path that returns to the node with the same part name as the starting point via the nodes corresponding to the part names of the three parts.

[0102] Therefore, the information processing device 1 may create a combination list including wiring names and component names so as to suppress an increase in the number of combinations of component names for a large-scale circuit in which multiple components are connected in parallel to one wiring as described above. For example, the processing unit 12 extracts a component name list and a wiring name list from the net list of the electric circuit, updates the component name list by adding component names indicating ground terminals, input terminals, and output terminals, updates the wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring, extracts component names corresponding to the wiring names in the updated wiring name list from the component names in the updated component name list, creates a combination list including the extracted component names and the corresponding wiring names, and outputs the updated component name list and combination list.

[0103] Fig. 10 is a schematic diagram showing a graph network in which nodes are connected via wiring nodes. As shown in Fig. 10, the processing unit 12 extracts, as a combination list, combinations of each wiring name and a part name corresponding to a part connected by a wiring indicated by each wiring name in the wiring name list. The graph network converted from this list information has a feature that part names and wiring names are represented by nodes, and a node adjacent to a node of any part name becomes a node of the wiring name. This makes it possible to make the number of combinations proportional to the first power of the number of parts.

[0104] In the graph network shown in FIG. 10 as well, when searching all current loops starting from a specific part name node, it is possible to comprehensively search for nodes so as to satisfy the condition that a node that has been passed through once is not passed through twice. On the other hand, in this graph network, the component name node and the wiring name node are adjacent to each other, and instead of the nodes that are three circuit components (capacitor C1, capacitor C2, and resistor R), a route is searched for that returns to the starting point via four wiring name nodes and three component name nodes. However, since the wiring connected to each node is linearly proportional, the amount of calculation required for the search does not increase exponentially.

[0105] As an example of an experiment, when a current loop was searched for in a large-scale circuit with over 1,000 components in the same computer environment, it took 10 minutes when the component name nodes were adjacent in the graph network, whereas the search was completed within 1 second when the component name node and the wiring name node were adjacent. Even from this example, it can be seen that a particularly large effect can be obtained in current loop search.

[0106] However, compared to when part name nodes are adjacent, when a part name node and a wiring name node are adjacent, this is advantageous when there are a large number of parts connected in parallel to a single wiring, but it is disadvantageous when there are only a few parts connected in parallel because the number of wiring name nodes increases. Therefore, it is desirable to use the two methods depending on the scale of the circuit or the number of components connected in parallel to one wire. For example, when searching for a current loop in a circuit that has about 100 components, it is often better to use a graph network in which the component name nodes are adjacent. Regardless of whether the wiring name node is included or not, the above-mentioned two methods obtain the same loop route but in the opposite direction. Therefore, in post-processing, it is possible to keep only one route and remove the other. However, if the direction of the current is known and it is a directed graph, only one route will be extracted, so the above-mentioned post-processing does not need to be performed.

[0107] The processing unit 12 may replace elements corresponding to the passive circuits in the feature matrix with function values ​​calculated by substituting the circuit constants of the components into a function including a logarithm. For components having circuit constants, the circuit constants can be converted into a graph network by changing the elements corresponding to the passive circuits in the feature matrix using function values ​​obtained by applying a function including a logarithm to the circuit constants. The components having a circuit constant are resistors, capacitors, or coils, but may also be small signal circuits such as operational amplifiers. Components other than resistors, capacitors, and coils may also be circuit components having a circuit constant if they can be converted into components consisting of resistors, capacitors, and coils under certain conditions.

[0108] Furthermore, components having physical dimensions have parasitic components such as stray capacitance, residual inductance, or residual resistance. For this reason, the processing unit 12 decomposes one component having parasitic components into components having only two or more resistors, capacitors, or coils. The decomposition can be realized by predicting an equivalent circuit from impedance measurements and determining the circuit constants of the equivalent circuit. This allows even circuits with complex component characteristics to be expressed by a graph network. The circuit constants of components that have only one characteristic are assigned to the component name in the component name list. Since circuit constants, except for special cases, often have a range of 20 or more digits from 1p to 1G, the circuit constants may be logarithmic. By applying a logarithm to the circuit constants, it is possible to prevent a capacitor with a value of 1pF, for example, from being buried in calculation errors.

[0109] The processing unit 12 may perform normalization and / or standardization on the function values. For example, the circuit constants are logarithmized and the results are normalized. When a graph network is input to a graph neural network, the activation function in the graph neural network responds to real numbers between 0 and 1. By normalizing the result of applying the logarithm to the circuit constants and bijecting it to real numbers between 0 and 1, or between 0 and 1, the result of applying the logarithm to the circuit constants can be associated with a real-valued activation function.

[0110] The results of applying a logarithm to the circuit constants may be standardized. For example, in the distribution of the results of applying a logarithm to the circuit constants of capacitors used in an electric circuit, if there are many capacitors below 100 μF, and there is even one capacitor of 100 F, the distribution of the results of applying a logarithm to the circuit constants will vary, and the differences in the results of applying a logarithm to the circuit constants for each capacitor will be estimated as small. Therefore, by standardizing the results of logarithmic calculation of the circuit constants, the variation in distribution can be reduced. Also, since the range of the circuit constants varies depending on the type of circuit component, different normalization or standardization may be performed for each type of circuit component. For example, a 100F capacitor is in the large category of capacitors, while a 100Ω resistor is in the small category of resistors, and therefore has a large range. For example, in the case of capacitors, the distribution is adjusted so that 1μF is the center, and in the case of resistors, the distribution is adjusted so that 100Ω is the center, thereby reducing rounding errors and improving the accuracy of the estimates resulting from applying logarithms to the circuit constants.

[0111] Furthermore, the processing unit 12 may perform standardization after normalization on the results of applying a logarithm to the circuit constants, or may perform normalization after standardization. In this way, the effects of both can be obtained by combining normalization and standardization.

[0112] Circuit components that do not have circuit constants are not included in the information by assigning the same numerical value such as "0" or "1" as an identification number. For this reason, the feature list created by the additional information can be expressed as a matrix. For example, a capacitor or a coil can be classified by its circuit constant and has two terminals, so there is no information degradation when converting from a graph network to an electrical circuit. On the other hand, when an electric circuit contains two or more semiconductors, and two or more semiconductors have the same model number, information degradation occurs when converting from the graph network to an electric circuit. For this reason, additional information indicating that the semiconductors are different parts can be added to the part name list for the semiconductors.

[0113] For example, a real number greater than 0 and less than or equal to 1 is divided by the number of semiconductors, and a different real number is assigned to each semiconductor as additional information. When there are two semiconductors with the same model number in an electrical circuit, one semiconductor is assigned a different real number, such as 0.3 and the other 0.6. Also, if it is known only that the components in an electric circuit are semiconductors and the electric circuit is a circuit composed of 10 semiconductors, then a value from 0.1 to 1.0 in increments of 0.1 may be assigned as additional information. Note that the additional information only needs to have different numerical values, and real numbers may be assigned in any order.

[0114] When the identification numbers are not used, the processing unit 12 may output the part name list and the combination list as list information without replacing the part names with the identification numbers.

[0115] Variation 1. In the information processing device 1 of variant example 1, the processing unit 12 performs learning of a graph neural network using the graph network, with the component name list as nodes in the graph network, the wiring name list as edges in the graph network, and the combination list as an adjacency matrix in the graph network. Training a graph neural network is unsupervised when the training data set consists only of nodes and edges. On the other hand, when correct answer data is obtained by circuit simulation or experiment, the processing unit 12 performs learning of the graph neural network using the nodes, edges and correct answer data as a data set of learning data. Furthermore, the processing unit 12 performs learning of the graph neural network using edge attribute information (edge ​​attribute) including frequency characteristics of edges. Furthermore, the processing unit 12 performs learning of the graph neural network using the characteristics of each circuit constant or each semiconductor component as node attribute information (node ​​attribute).

[0116] 11 is a flowchart showing an example (1) of data input processing to a graph network in the first embodiment. If the number of electric circuits is n, then n netlists, the same number as the number of electric circuits, can be created, and the processing unit 12 sets the n netlists as processing targets (step ST1A). The processing unit 12 sets "1" as a parameter i (step ST2A).

[0117] The processing unit 12 sets the value of the parameter i to the function g[i]=[[node],[edge]] (step ST3A). The processing unit 12 extracts a component name list and a wiring name list from the i-th netlist acquired by the acquisition unit 11.

[0118] The processing unit 12 reads the component name list extracted from the i-th netlist as nodes of the graph network, and reads the wiring name list as edges of the graph network (step ST4A). The processing unit 12 stores the nodes and edges related to the i-th netlist as one data set, associates it with the function g[i], and stores it in a storage area such as the memory 104 (step ST5A).

[0119] The processing unit 12 determines whether the parameter i is equal to or less than n (step ST6A). If the parameter i is equal to or less than n (step ST6A; YES), the processing unit 12 adds "1" to the parameter i (step ST7A) and returns to the processing of step ST4A. On the other hand, if it is determined that the parameter i is greater than n (step ST6A; NO), the processing unit 12 outputs the data sets associated with g[1] to g[n] respectively (step ST8A).

[0120] The nodes are in a matrix of (number of components in each circuit + ground terminal + input terminal + output terminal) × (number of features of the node). For example, in the electric circuit shown in Fig. 6, the nodes are in a 7 × 1 matrix. Note that up until now, electric circuits with one input terminal and one output terminal have been shown, but it is sufficient if there is one or more terminals, in which case the columns of the matrix will be larger.

[0121] Furthermore, the number of node features may be input as one-hot. In that case, if the number of node features is M (for example, M=4 when the component types are a capacitor, a coil, a first semiconductor, and a second semiconductor, as in the electric circuit shown in FIG. 6), the nodes will be a 7×M matrix. The edges will be a 2×(number of edges) matrix. Here, the "2" multiplied by (number of edges) refers to any two components in the component name list, and the edges will be a matrix indicating that these two components are connected by the number of edges. Note that a directed graph may also be used if the direction of the current is known. In a directed graph, when the order in which current flows through components in a combination list is expressed as (1,2), for example, this means, by definition, that the direction is from 1 to 2 or from 2 to 1. Bidirectional edges may exist as in an undirected graph, in which case (2,1) can be added to (1,2). Taking bidirectional edges into account, if an undirected graph is a 2 × (number of edges) matrix, then in a directed graph it will be a maximum of 4 × (number of edges) matrix.

[0122] In the case of the electric circuit shown in Figure 6, the combination list contains nine combinations: (8,1), (1,2), (2,3), (3,4), (4,2), (4,9), (7,1), (7,2), and (7,3), so the nodes are a 2x9 matrix. The elements of this matrix are the identification numbers contained in the component name list that becomes the node. This means that the components included in one circuit do not form edges with the components included in other circuits.

[0123] Graph neural networks can process individual circuits sequentially, but can also be parallelized using dedicated hardware such as GPUs. In particular, when the number of circuits becomes large, exceeding several thousand, it is more desirable in terms of calculation speed or efficiency to process the circuits collectively rather than calculating each circuit in order. Therefore, all or all combinations of nodes and edges that can be stored in memory at once are input together. In this example, since there is no correct answer data, learning is unsupervised.

[0124] 12 is a flowchart showing an example (2) of data input processing to a graph network in the first embodiment. If the number of electric circuits is n, then n netlists, the same number as the number of electric circuits, can be created, and the processing unit 12 sets the n netlists as processing targets (step ST1B). The processing unit 12 sets "1" as a parameter i (step ST2B).

[0125] The processing unit 12 sets the value of the parameter i to the function g[i]=[[node],[edge],[correct answer data]] (step ST3B). The processing unit 12 extracts a component name list and a wiring name list from the i-th netlist acquired by the acquisition unit 11, and acquires the correct answer data obtained in advance.

[0126] The processing unit 12 reads the component name list extracted from the i-th netlist as nodes of the graph network, reads the wiring name list as edges of the graph network, and further reads the correct answer data (step ST4B). The processing unit 12 stores the nodes, edges, and correct answer data related to the i-th netlist as one data set, associates it with the function g[i], and stores it in a storage area such as the memory 104 (step ST5B).

[0127] The processing unit 12 judges whether the parameter i is equal to or less than n (step ST6B). If the parameter i is equal to or less than n (step ST6B; YES), the processing unit 12 adds "1" to the parameter i (step ST7B) and returns to the processing of step ST4B. On the other hand, if it is determined that the parameter i is greater than n (step ST6B; NO), the processing unit 12 outputs the data sets associated with g[1] to g[n] respectively (step ST8B).

[0128] 13 is a flowchart showing an example (3) of data input processing to a graph network in the first embodiment. If the number of electric circuits is n, then n netlists, the same number as the number of electric circuits, can be created, and the processing unit 12 sets the n netlists as processing targets (step ST1C). The processing unit 12 sets "1" as a parameter i (step ST2C).

[0129] The processing unit 12 sets the value of the parameter i to the function g[i]=[[node],[edge],[edge attribute],[correct answer data]] (step ST3C). The processing unit 12 extracts a component name list and a wiring name list from the i-th netlist acquired by the acquisition unit 11, and acquires the edge attributes and correct answer data obtained in advance.

[0130] The processing unit 12 reads the component name list extracted from the i-th netlist as nodes of the graph network, reads the wiring name list as edges of the graph network, and further reads the edge attributes and correct answer data (step ST4C). The processing unit 12 stores the nodes, edges, edge attributes, and correct answer data related to the i-th netlist as one data set, associates it with the function g[i], and stores it in a storage area such as the memory 104 (step ST5C).

[0131] The processing unit 12 judges whether the parameter i is equal to or less than n (step ST6C). If the parameter i is equal to or less than n (step ST6C; YES), the processing unit 12 adds "1" to the parameter i (step ST7C) and returns to the processing of step ST4C. On the other hand, if it is determined that the parameter i is greater than n (step ST6C; NO), the processing unit 12 outputs the data sets associated with g[1] to g[n] respectively (step ST8C).

[0132] The dataset obtained as described above can be used for self-supervised learning, such as clustering, autoencoder, or contrastive learning. Clustering can be used to classify node types or edge types. An autoencoder is a learning method of a graph neural network that aims to obtain the same output data as the input data after passing it through a graph neural network. In an autoencoder, it is possible to abstract and hold multiple circuits. Self-supervised learning is similar to clustering, but for example, it can classify each input data and classify similar circuits into any number of sets. These are just a few examples, and it is also possible to combine multiple techniques to predict the presence or absence of an edge between nodes, or to predict the presence or absence of a node.

[0133] In addition, there are many known neural networks that handle data on electrical circuits in the form of graph networks, including graph convolutional neural networks, graph attention networks, and the like, in addition to graph neural networks. For example, any method may be used depending on the characteristics of the data or the characteristics of the ground truth data, such as a method suitable for large-scale models or a method that is good for cases where the adjacency matrix created using edges is sparse.

[0134] The processing unit 12 performs learning of the graph neural network by using the types of the circuit diagram as correct answer data, which is used as teaching data, and using, for example, 3,362 types of sample circuits handled by the circuit simulator as learning data. The sample circuits include nine types of circuits for operating semiconductors: switch circuits (89 circuits), reference circuits (59 circuits), ADC circuits (27 circuits), DAC circuits (29 circuits), comparator circuits (40 circuits), filter circuits (25 circuits), power supply circuits (2,272 circuits), and operational amplifier circuits (665 circuits).

[0135] The processing unit 12 uses a data set that combines the graph network and circuit classification data assigned to each of the multiple electric circuits as training data, and trains a graph neural network for classifying electric circuits, and classifies the electric circuits by inputting graph networks that have not been used in the training to the graph neural network. For example, a graph neural network is trained to solve a classification problem of classifying electric circuits into the above nine types. Here, 2,300 randomly acquired pieces of data are used as training data, and the remaining 897 pieces of data are used as test data that are not used for training. The graph neural network of the training result randomly classifies the data, and the distribution of the classification problem between the training data and the test data is similar. In addition, the same training data and test data are used in all the graph neural network calculations shown in the embodiment.

[0136] In the above conditions, no nodes for component constants or component model numbers were used, and each node only had an identification number for each type of component, such as a semiconductor, capacitor, or coil. This is to prevent the circuit classification problem from being predicted from information about the connections between circuit components, because if component model numbers are included in the data, it would be possible to classify circuits from the model numbers. In addition, for the edges, only the information connecting each identification number was input. At this time, since it was an undirected graph that does not take into account the direction of the current, the adjacency matrix is ​​a symmetric matrix.

[0137] Fig. 14 is a graph showing an example (1) of the calculation result of the inference accuracy by the information processing device 1 according to the embodiment 1. In Fig. 11, the horizontal axis indicates the number of iterations (epochs) when the graph neural network is trained using training data and the parameters of the graph neural network are updated. The vertical axis indicates the inference accuracy of the trained graph neural network for test data not used for training. As shown in Figure 11, as the number of iterations increases, the inference accuracy for the test data improves, with the maximum inference accuracy reaching 96.26% at 4,000 iterations.

[0138] The graph neural network used to calculate the inference results shown in Figure 14 has a combination of six hidden layers and Relu (Rectified Linear Unit), and the features obtained by the graph neural network and Relu are classified into one of nine types of outputs by two fully connected layers.

[0139] In addition, we used cross-entropy as the loss function and Adam (Adaptive Moment Estimation) as the optimization function. The batch size was set to 500, and the graph neural network was trained to bring the loss function closer to 0. In this way, by training the graph neural network only on the types of parts and the connections between each part, the inference accuracy of the trained graph neural network reached approximately 90%. Furthermore, when humans classified the circuits shown in the test data using a graph network without the preconceived notion that they were power supply circuits (77% of cases), the accuracy of human inference was around 50%. These results show that the inference accuracy based on this method is significantly higher than that of humans.

[0140] Fig. 15 is a graph showing an example (2) of the calculation result of the inference accuracy by the information processing device 1 according to the first embodiment, and shows the result of learning a graph neural network using, as learning data, passive elements that are nodes used when calculating the inference result in Fig. 14 and component constants are added. The passive elements are, for example, resistors, capacitors, or coils. Since the dynamic range that the values ​​of passive elements can take is large, the logarithm to the base 10 of the identification number according to the type of passive element is taken, normalized to be between 0 and 1, and input as a real number.

[0141] For example, if the node information is (C1, 0.33uF), (L2, 10uH), and the identification number of C1 is 1 and the identification number of L2 is 2, the processing unit 12 converts it to (1, -6.48), (2, -5.00). After all conversions are completed, the processing unit 12 performs normalization processing using the maximum and minimum values, and inputs it to the graph neural network as node information. Information on the type of active element (semiconductor) (for power supply circuit or op-amp circuit, etc.) is not input because it would be the same as the correct data, and the component information of the active element is set to 0. However, the component information of the active circuit does not have to be 0, and any appropriate information may be selected. In addition, GND, IN, and OUT are set to 0, just like the active elements. When the inference calculation was performed without changing any other conditions from when Figure 14 was calculated, it was confirmed that the inference accuracy for the test data was 98.90% with the same number of iterations.

[0142] By learning the graph neural network by the processing unit 12, it is possible to classify the type of circuit based only on the link information. A common identification number is assigned to the semiconductor elements. If the type of semiconductor element is used as an identification number, it will match the type of circuit, so inference accuracy is high even without learning link information. For this reason, information held by the semiconductor elements is discarded, and information other than semiconductor elements is not included. The processing unit 12 updates the part names in the part name list and combination list using the identification number assigned to each part name in this way.

[0143] Variation 2. The processing unit 12 may simultaneously train the generative network and the discriminative network in the generative adversarial network using a data set that combines the graph network and the ground truth data of the characteristics of the electric circuits that are assigned to each of the electric circuits as training data, and input data showing characteristics similar to the ground truth data to the generative network to generate a new graph network. By combining the generative adversarial network with the graph neural network, a circuit diagram can be generated from circuit specifications such as a desired output signal waveform.

[0144] The processing unit 12 simultaneously trains a generation network, which is a neural network on the side (Generator) that generates circuits in the generative adversarial network, and a discrimination network, which is a neural network on the side (Discriminator) that judges the circuits. The processing unit 12 then trains the graph neural network so as to improve the performance of the generation side and reduce the difference between the circuit or circuit output that serves as the teacher data and the circuit or circuit output on the generation side. This makes it possible to create input data from the supervised data. In other words, when the requested design requirements are taken as the supervised data, it is possible to generate input data that satisfies the supervised data, i.e., a combination of nodes and edges.

[0145] Furthermore, the generative adversarial network may be trained using multiple pieces of data, such as not only the output signal but also heat generation or component cost, as correct answer data. In this case, it is possible to generate a circuit that simultaneously optimizes the signal waveform flowing through each edge, the heat generation at each node, the power consumption at each node, the cost of the entire circuit, and the like. Furthermore, since the circuit can be designed in a short time, the required specifications or costs can be reviewed at an early stage of the design.

[0146] To create a particular waveform at a node that is a circuit component, a node with unknown characteristics or type may be given, and the characteristics or type of that component may be predicted to optimize the waveform. Prediction of part characteristics can be achieved by generating node attributes in a graph neural network using a generative adversarial network. Part type prediction can be achieved by a technique for classifying nodes in a graph neural network. In addition, some of the node types, which are the correct answer data of the learning data, are treated as black boxes, and the graph neural network is trained to predict the node types using self-supervised learning. This also makes it possible to predict the node types using the trained graph neural network. In addition, the information processing device 1 may train a graph neural network using data for which calculations have been completed for a large-scale circuit diagram, and predict the voltage or voltage frequency characteristics applied to a component using the trained graph neural network. This can be achieved by using existing technology that generates attribute information for nodes in a graph neural network using a generative adversarial network. However, since the physical constraints of Kirchhoff's law must not be violated, this can be achieved using a constrained generative adversarial network. Alternatively, a part of the voltage or the voltage frequency characteristic that is the correct answer data of the learning data is treated as a black box, and the graph neural network is trained to predict the voltage or the voltage frequency characteristic by self-supervised learning. This also makes it possible to predict the voltage or the voltage frequency characteristic using the trained graph neural network. Furthermore, the information processing device 1 can create a circuit according to a design purpose by predicting connections between existing nodes in order to create a specific waveform for edges that will become wiring within the circuit. This corresponds to edge prediction (Link prediction) in a graph neural network, and after creating a graph network based on this embodiment, prediction can be made using the graph neural network with existing technology. Alternatively, a portion of the training data, which is the correct data on the presence or absence of edges between nodes, is treated as a black box, and the graph neural network is trained to predict the presence or absence of edges between nodes through self-supervised learning. This also makes it possible to predict the presence or absence of edges between nodes in an unknown circuit (graph network) using a trained graph neural network.

[0147] For example, a graph neural network can be used to predict the current applied to a component and its frequency characteristics by using a graph neural network that has been trained using pre-calculated results for a large-scale circuit diagram that is difficult to simulate. Specifically, similarly to the case where the node attributes are generated by the generative adversarial network described above, the processing unit 12 assigns to the nodes as learning data a data set that combines a graph network with ground truth data that is a matrix in which the feature amount obtained by assigning the voltage or the voltage frequency characteristic to each node in the graph network is an element of the node attribute. Then, as a generative adversarial network for predicting the voltage or the voltage frequency characteristic, a graph neural network may be used to learn the relationship between the graph network generated from the circuit diagram and the voltage or the voltage frequency characteristic, and the graph neural network may be used to predict the voltage or the voltage frequency characteristic at some or all of the nodes in the graph network not used in the learning. A generative adversarial network is composed of a generative network that predicts voltage or voltage frequency characteristics while hiding the calculated results, which are training data, and a discriminative network that discriminates the accuracy of the generated prediction. In a generative adversarial network, the generative network and the discriminative network are trained simultaneously so that the difference between the discriminative results and the calculated results, which are training data, becomes small. Alternatively, a part of the current and the frequency characteristics of the current, which are the correct answer data of the learning data, is treated as a black box, and the graph neural network is trained to predict the current and the frequency characteristics of the current by self-supervised learning. This also makes it possible to predict the current and the frequency characteristics of the current of an unknown circuit (graph network) using the trained graph neural network.

[0148] The processing unit 12 may also train a graph neural network for predicting the type of parts using a data set that combines a graph network with data including the type of parts corresponding to each node in the graph network as training data, and use the graph neural network to predict the types of parts that are part of some or all of the nodes in the graph network that are not used for training. This involves creating a graph network in which input data for the graph neural network is created from a circuit diagram, and training data in which output data is the type of parts corresponding to the nodes, and performing supervised learning using the training data as training data. This makes it possible to predict the type of parts used in an arbitrary graph network using the trained graph neural network.

[0149] Furthermore, the processing unit 12 may use a data set that combines a graph network with ground truth data, which is a matrix whose elements are features indicating the current or frequency characteristics of the current at each edge of the graph network, as training data to train a graph neural network for predicting the current or frequency characteristics of the current at an edge, and use the graph neural network to predict the current or frequency characteristics of the current at some or all of the edges of the graph network that are not used for training. This method creates a graph network in which the input data of the graph neural network is created from a circuit, and learning data in which the output data is the current or frequency characteristic of the current corresponding to the edges is created, and performs supervised learning using this learning data as training data. This makes it possible to predict the current or frequency characteristic of the current in any graph network using the trained graph neural network. In addition, when there is sufficient learning data, it is possible to predict the current or the frequency characteristics of the current in any graph network using a generative adversarial network or self-supervised learning, as in the case where the node attributes described above are generated using a generative adversarial network. Prediction of the current or the frequency characteristics of the current in any graph network can be realized by a method such as supervised learning, a generative adversarial network, or self-supervised learning. Here, supervised learning is effective when the dataset has few label errors and the bias and variance of the entire dataset is small. Generative adversarial networks are effective when the dataset is large and a solution is required as a solution to an inverse problem, such as when optimizing the entire circuit. Self-supervised learning is effective when it is difficult to label because of the large amount of calculations, when there are many label errors, or when abundant computational resources are available. In addition, the results of the graph neural network obtained by self-supervised learning, i.e., the weight matrix obtained by learning, may be used in combination with transfer learning or fine tuning to perform supervised learning for problems in which the data set is insufficient. In this way, the information processing device 1 may change the structure or learning method of the graph neural network, the way in which supervised data is provided, etc., depending on the given conditions or the desired results.

[0150] Furthermore, the processing unit 12 may use, as training data, a data set combining a graph network and ground truth data which is a matrix whose elements are features indicating the power or the frequency characteristics of power in at least one of the nodes or edges of some or all of the nodes or edges of the graph network, to train a graph neural network for predicting the power or the frequency characteristics of power in at least one of the nodes or edges of some or all of the nodes or edges of the graph network that are not used for training, and use the graph neural network to predict the power or the frequency characteristics of power in at least one of the nodes or edges of some or all of the nodes or edges of the graph network that are not used for training. In this case, too, supervised learning of a graph neural network is performed with the input being a graph network and the output being power or the frequency characteristic of power. This makes it possible to infer power or the frequency characteristic of power from unknown inputs of the trained graph neural network obtained. In addition, the input is a graph network, power or the frequency characteristics of power is predicted from a generation network, and the graph neural network is trained so as to reduce the difference between the prediction result and the correct data in a discrimination network. This makes it possible to infer power or the frequency characteristics of power from unknown inputs of the trained graph neural network obtained in this way. Furthermore, the input is a graph network, and the output is a graph neural network that hides a part of the power or the frequency characteristics of the power, and the graph neural network is trained to predict the hidden value through self-supervised learning. This makes it possible to infer the power or the frequency characteristics of the power from the unknown input of the trained graph neural network obtained.

[0151] Conventionally, even prediction calculations that require a long time can be predicted in real time by using inference with a graph neural network, without going through a circuit simulator. For example, by performing rough inference using a graph neural network and then interpolating the prediction with calculations by a circuit simulator, the number of times the circuit simulator is used, which requires a long time for prediction calculation and a high calculation cost, can be reduced. Furthermore, the results of calculations using the circuit simulator or the results of actual measurements can be reused as training data.

[0152] Variation 3. In variant example 3, it will be explained that wiring can be given a current direction, that a component name list can be given a voltage of a specific frequency or a voltage frequency characteristic, and that a combination list can be given a current of a specific frequency or a current frequency characteristic. Regarding the direction of current, the following combination list is obtained from the netlist of the electric circuit shown in FIG. (1);(IN,A) (2);(A,B) (3);(B,C),(C,D),(D,B) (4);(D,OUT) GA; (GND, A) GB; (GND, B) GC;(GND,C)

[0153] For example, when (IN, A) is written, taking into consideration the order in which it is written, if (IN, A) is written, it can be defined as the direction of current flowing from the IN terminal to the A terminal. When the part name list and the wiring name list are applied to graph theory, the part name list is a node and the wiring name list is an edge. If the direction of the current is not taken into consideration, the graph network becomes an undirected graph. On the other hand, by defining the order of writing, the graph network can be considered as a directed graph. Note that in the case of a circuit that includes alternating current, the direction of the current cannot be correctly defined by the circuit diagram alone.

[0154] In the case of a directed graph, it is possible to determine the direction of the current from the arrival time difference by operating the circuit through circuit simulation or actual measurement, superimposing a pulse-like signal that does not affect this operation, and simultaneously observing multiple points on the wiring to be measured with a voltage probe or current probe. However, in circuit simulation, detection is difficult because no time difference occurs on the wiring.

[0155] In this case, the processing unit 12 virtually places a small inductance on the wiring, approximately the residual inductance of the wiring (approximately 1 nH / mm), and can infer the direction of the current from the time difference between the change in voltage or current across the inductance. In addition, in communication, signals may flow in both directions. In such cases, by including (B,A) in addition to (A,B) in the combination list, it is possible to process the signals as flowing in both directions.

[0156] In graph theory, the combination list can be defined as an adjacency matrix. To create an adjacency matrix, prepare a square matrix with the same number of rows and columns as the maximum value of the elements in the combination list, and make the rows and columns of the square matrix correspond to the combination list. Enter a value of, for example, 1 in the corresponding locations and set all non-corresponding locations to 0 to create an adjacency matrix. For example, when (5,3) is in the combination list, an adjacency matrix can be created by setting row 5, column 3 to 1. If the flow of current in an electric circuit is not taken into consideration, this adjacency matrix will be symmetric, so when the above (5,3) is in the combination list, 1 will be entered into row 5, column 3 and row 3, column 5.

[0157] On the other hand, when the direction of the current in the circuit is taken into consideration, either the 5th row, 3rd column or the 3rd row, 5th column is set to 1, and the other is set to 0. As a result, when the direction of the current is not taken into consideration, the matrix becomes symmetric, whereas when the direction of the current is taken into consideration, the matrix becomes asymmetric. In both cases where the current direction is not taken into consideration and where the current direction is taken into consideration, the adjacency matrix is ​​an upper triangular matrix or a lower triangular matrix. In particular, in the second embodiment described later, since there is no self-loop, the adjacency matrix is ​​an upper triangular matrix whose diagonal elements are zero or a lower triangular matrix whose diagonal elements are zero. However, if the circuit contains at least one bidirectional signal, such as an antenna or communication signal, that is, a single wire that both receives and transmits, then the matrix will not be an upper or lower triangular matrix, but rather an asymmetric matrix.

[0158] In addition, in the part name list, a voltage of a specific frequency or a voltage frequency characteristic in an electric circuit can be set in the same way as part constants. When setting frequency characteristics in a part name list, it is necessary to convert the frequency characteristics into discrete values ​​and input signals as amplitudes at discrete frequencies. For example, if you want to enter frequency characteristics from 1 MHz to 10 MHz, you can set them as 10 elements associated with each component in increments of 1 MHz. In this case, a matrix is ​​set with the same number of rows as the number of components and the same number of columns as the frequency increments (10 columns in 1 MHz increments from 1 MHz to 10 MHz). However, the frequency band or interval must be set to the same conditions for all circuit diagrams used in the processing and for all components in the circuit diagrams.

[0159] Although 1 MHz to 10 MHz in 1 MHz increments are shown, the frequency increment intervals may be any interval, such as logarithmic, as long as they are common to all components, and do not have to be uniform. Furthermore, the order of the frequencies may be different, and the identification numbers defined by the part type or part model number and the frequency characteristics may be combined in different columns to form a part name list as one matrix.

[0160] Furthermore, a current of a specific frequency or a frequency characteristic of a current can be added to the combination list. In this case, it can be considered in the same way as the frequency characteristic of a voltage. If the combination list has the same frequency band and frequency increments for all circuit diagrams and all wiring, it can be input as a matrix with a vertical axis having rows equal to the number of combinations in the combination list, and a horizontal axis having columns equal to the frequency increments (10 columns in 1 MHz increments from 1 MHz to 10 MHz). However, since the combination list has meaning in itself, it is not desirable to add current information to the combination list in the same way as the part name list. Therefore, it is desirable to define these frequency characteristics as a separate matrix and add them to the combination list as wiring attribute information (edge ​​attribute in graph theory).

[0161] Since the combination list has as many rows as there are combinations, it can also be used for directed graphs, and even if the frequency characteristics of the outgoing current and the incoming current are different, they can be treated as different. Furthermore, the combination list may be such that information other than the current or the frequency characteristic of the current, for example, the length or thickness of the wiring, is input into the above-mentioned single matrix as information in a different column.

[0162] As described above, the information processing device 1 according to the first embodiment includes an acquisition unit 11 that acquires a netlist of an electric circuit, and a processing unit 12 that extracts a component name list and a wiring name list from the netlist, updates the component name list by adding component names indicating ground terminals, input terminals, and output terminals, updates the wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring, extracts component names corresponding to wiring names in the updated wiring name list from the component names in the updated component name list, creates a combination list including the extracted component names, and outputs the updated component name list and combination list. This enables the information processing device 1 to provide list information capable of suppressing information degradation that occurs when an electric circuit is converted into a graph network.

[0163] The information processing device 1 according to the first embodiment includes an acquisition unit 11 that acquires a netlist of an electric circuit, and a processing unit 12 that extracts a component name list and a wiring name list from the netlist, updates the component name list by adding component names indicating ground terminals, input terminals and output terminals, updates the wiring name list by removing wiring names indicating ground wiring, input wiring and output wiring, extracts component names corresponding to wiring names in the updated wiring name list from the component names in the updated component name list, creates a combination list including the extracted component names and the corresponding wiring names, and outputs the updated component name list and combination list. This allows the information processing device 1 to provide list information that can suppress information degradation caused by converting an electric circuit into a graph network. Furthermore, since the information processing device 1 can suppress an increase in the number of combinations of parts, it is possible to reduce an increase in the amount of calculation and calculation time required for processing a graph neural network using list information including the combination list.

[0164] In the information processing device 1 according to the first embodiment, the processing unit 12 outputs an updated part name list and combination list in which the part names are replaced with unique identification numbers for each part feature. This allows the information processing device 1 to reduce the amount of information by expressing the list information as numerical values, and prevents information degradation that occurs when the list information is converted into a graph network. This is because when the definition in which the part features are converted into numerical values ​​is used in reverse, the part features can be determined from the numerical values, that is, the part features and the numerical values ​​are bijective.

[0165] In the information processing device 1 according to the first embodiment, the processing unit 12 defines a unique identification number for each type of part. This allows the information processing device 1 to reduce the amount of information by expressing list information as numerical values, and prevents information degradation that occurs when list information is converted into a graph network. This is because, when the definition in which the type of part is converted into a numerical value is used in reverse, the type of part can be determined from the numerical value, that is, the type of part and the numerical value are bijective.

[0166] In the information processing device 1 according to the first embodiment, the processing unit 12 defines a unique identification number for each part model number. This allows the information processing device 1 to reduce the amount of information by expressing list information as numerical values, and prevents information degradation that occurs when list information is converted into a graph network. This is because the definition of a part model number converted into a numerical value can be used in reverse to determine the part model number from the numerical value, that is, the part type and the numerical value are bijective.

[0167] In the information processing device 1 according to the first embodiment, the processing unit 12 replaces the part names in the part name list with rows or columns of a feature matrix obtained by one-hot-representing the features of the parts. This allows the information processing device 1 to perform matrix calculations of the part names in the part name list and the features of the parts. This is because the features of the parts can be determined from the one-hot representation by using the definition in which the features of the parts are converted into the one-hot representation inversely.

[0168] In the information processing device 1 according to the first embodiment, when the electric circuit includes two or more semiconductors, the processing unit 12 changes the elements corresponding to the semiconductors in the feature matrix to different values ​​for each semiconductor. This enables the information processing device 1 to prevent information degradation that occurs when list information is converted into a graph network. This is because the semiconductors can be determined from the elements corresponding to the semiconductors by using the definition in which the semiconductors are converted into elements corresponding to each semiconductor inversely.

[0169] In the information processing device 1 according to the first embodiment, the processing unit 12 replaces elements corresponding to passive circuits in the feature matrix with function values ​​calculated by substituting the circuit constants of the components into a function including logarithms. This allows the information processing device 1 to reduce the amount of information by expressing the list information as numerical values, and to prevent information degradation that occurs when converting list information into a graph network. This is because the circuit constants are real numbers greater than 0 and have a bijective relationship with the function including logarithms, and therefore the numerical values ​​of the original circuit constants can be calculated from the numerical values ​​obtained after applying the function including logarithms.

[0170] In the information processing device 1 according to the first embodiment, the processing unit 12 performs both normalization and standardization on the function values, or one of them. This allows the information processing device 1 to reduce the amount of information by expressing the list information as numerical values, and to prevent information degradation that occurs when the list information is converted into a graph network. This is because, even in normalization or standardization, the values ​​before and after normalization or standardization are bijective, allowing conversion in both directions.

[0171] In the information processing device 1 according to the first embodiment, when there are three or more combinations of component names corresponding to one wiring name in the combination list, the processing unit 12 breaks each of the combinations into two combinations. This enables the information processing device 1 to easily create an adjacency matrix of a graph network from the combination list.

[0172] In the information processing device 1 according to the first embodiment, when a combination list has three or more part names, the processing unit 12 breaks it down into lists each having two part names. This enables the information processing device 1 to prevent information degradation that occurs when list information is converted into a graph network.

[0173] In the information processing device 1 according to the first embodiment, the acquisition unit 11 acquires netlists of two or more electric circuits. The processing unit 12 extracts a parts name list from each netlist, combines the extracted parts name lists into one parts name list, and removes duplicated parts names from the combined one parts name list. This allows the information processing device 1 to suppress an increase in the amount of information in the parts name list.

[0174] In the information processing device 1 according to the first embodiment, the part name list is a node in the graph network, the wiring name list is an edge in the graph network, and the combination list is an adjacency matrix in the graph network. This allows the information processing device 1 to use the list information as a graph network.

[0175] In the information processing device 1 according to the first embodiment, the processing unit 12 refers to a database including semiconductors that are noise sources and their terminal numbers, and performs a search process in which adjacent components are continuously searched for in the electric circuit, starting from a terminal corresponding to the terminal number, under the condition that the same component is not passed through more than twice, and extracts a current loop representing the semiconductor, thereby completing the search process. This enables the information processing device 1 to search for a loop path of the semiconductor, capacitor, coil, ground, and semiconductor.

[0176] In the information processing device 1 according to the first embodiment, the processing unit 12 determines whether or not a component indicating a noise filter is present in a current loop. This enables the information processing device 1 to extract a noise filter provided in the current loop, which is a path through which a current flows.

[0177] In the information processing device 1 according to the first embodiment, the processing unit 12 extracts the characteristics of a semiconductor to be searched for and the characteristics of a current loop indicating the semiconductor from one or more electric circuits including one or more semiconductors, and searches for a semiconductor similar to the semiconductor to be searched for, using the extracted characteristics of the semiconductor and the characteristics of the current loop. This enables the information processing device 1 to search for a similar circuit.

[0178] In the information processing device 1 according to the first embodiment, the processing unit 12 extracts a combination list according to the direction of current flow, and generates an asymmetric adjacency matrix from the extracted combination list. This allows the information processing device 1 to suppress the occurrence of information degradation even in a circuit in which the direction of current flow is known.

[0179] In the information processing device 1 according to the first embodiment, the processing unit 12 sets the amplitude of the current between mutually connected components in the adjacency matrix to a real number, and sets the amplitude of the current between unconnected wires to 0. This allows the information processing device 1 to suppress the occurrence of information degradation even in a circuit in which the direction of current flow is known.

[0180] In the information processing device 1 according to the first embodiment, the processing unit 12 sets a combination of nodes and edges as input data for the graph neural network, which enables the information processing device 1 to learn the graph neural network using the graph network.

[0181] In the information processing device 1 according to the first embodiment, the processing unit 12 learns a graph neural network for classifying electric circuits using a data set that combines a graph network and circuit classification data assigned to each of a plurality of electric circuits as learning data, and inputs a graph network that has not been used in the learning to the graph neural network, thereby classifying the electric circuits. This enables the information processing device 1 to classify the electric circuits.

[0182] In the information processing device 1 according to the first embodiment, the processing unit 12 uses a data set that combines a graph network and ground truth data on the characteristics of a plurality of electrical circuits assigned to each of the electrical circuits as training data, simultaneously trains the generative network and the discriminative network in the generative adversarial network, and generates a new graph network by inputting data showing characteristics similar to the ground truth data into the generative network. This enables the information processing device 1 to automatically design an electric circuit corresponding to a new graph network.

[0183] In the information processing device 1 according to the first embodiment, the processing unit 12 learns a graph neural network for predicting a voltage or a voltage frequency characteristic to be applied to a node, using as learning data a data set that combines a graph network with ground truth data, which is a matrix whose elements are feature quantities obtained by applying voltages or voltage frequency characteristics to each node in the graph network, and predicts the voltages or voltage frequency characteristics at some or all nodes in the graph network that are not used in the learning, using the graph neural network. This allows the information processing device 1 to predict the output voltage or the output voltage frequency characteristics of an unknown circuit, without performing a circuit simulation.

[0184] In the information processing device 1 according to the first embodiment, the processing unit 12 learns a graph neural network for predicting the type of part using a data set that combines a graph network with data including the type of part corresponding to each node in the graph network as learning data, and predicts the types of parts that are some or all of the nodes in the graph network that are not used for learning, using the graph neural network. This enables the information processing device 1 to predict the type of part.

[0185] In the information processing device 1 according to the first embodiment, the processing unit 12 uses a data set that combines a graph network with ground truth data, which is a matrix whose elements are features that indicate the current or frequency characteristics of the current at each edge of the graph network, as training data, to train a graph neural network for predicting the current or frequency characteristics of the current at an edge, and predicts the current or frequency characteristics of the current at some or all of the edges of the graph network that are not used for training, using the graph neural network. This allows the information processing device 1 to predict the output current or the frequency characteristic of the output current of an unknown circuit without performing a circuit simulation.

[0186] In the information processing device 1 according to the first embodiment, the processing unit 12 uses a data set that combines a graph network with ground truth data that is a matrix whose elements are features indicating the power or frequency characteristics of the power in at least one of the nodes or edges of a part or all of the nodes or edges of the graph network as learning data, performs learning of a graph neural network for predicting the power or frequency characteristics of the power in at least one of the nodes or edges, and predicts the power or frequency characteristics of the power in at least one of the nodes or edges of a part or all of the nodes or edges of the graph network that are not used for learning, using the graph neural network. This allows the information processing device 1 to predict the output power or frequency characteristics of the output power of an unknown circuit without performing a circuit simulation.

[0187] In the information processing device 1 according to the first embodiment, the processing unit 12 uses a graph network as learning data to learn a graph neural network for predicting the presence or absence of edges between nodes in the graph network, and uses the graph neural network to predict the presence or absence of edges between nodes in graph networks that are not used for learning. This enables the information processing device 1 to predict the presence or absence of edges between nodes in a graph network that is not used for learning.

[0188] In the information processing device 1 according to the first embodiment, the processing unit 12 uses the graph network as learning data to learn a graph neural network for clustering electric circuits into a finite number according to their characteristics, and classifies the electric circuits into similar groups by clustering graph networks not used in the learning using the graph neural network. This enables the information processing device 1 to classify the electric circuits into similar groups.

[0189] In the information processing method according to the first embodiment, the information processing device 1 executes the steps of acquiring a net list of an electric circuit, extracting a component name list and a wiring name list from the net list, creating an updated component name list by adding component names indicating ground terminals, input terminals, and output terminals, creating an updated wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring, and extracting component names corresponding to wiring names in the updated wiring name list from the component names in the updated component name list and creating a combination list including the extracted component names. This makes it possible to provide list information that can suppress information degradation caused by converting an electric circuit into a graph network.

[0190] In the information processing method according to the first embodiment, the information processing device 1 executes the steps of acquiring a net list of an electric circuit, extracting a component name list and a wiring name list from the net list, creating an updated component name list by adding component names indicating ground terminals, input terminals, and output terminals, creating an updated wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring, extracting component names corresponding to wiring names in the updated wiring name list from the component names in the updated component name list, creating a combination list including the extracted component names and the corresponding wiring names, and outputting the updated component name list and combination list. This makes it possible to provide list information capable of suppressing information degradation caused by converting an electric circuit into a graph network. Furthermore, since an increase in the number of combinations of parts can be suppressed, an increase in the amount of calculation and the calculation time required for processing a graph neural network using list information including the combination list can be reduced.

[0191] Embodiment 2 Fig. 16 is a block diagram showing a configuration example of an information processing device 1A according to the second embodiment. In Fig. 16, the information processing device 1A obtains a netlist of an electric circuit, and uses the obtained netlist to provide list information capable of suppressing information degradation that occurs when the electric circuit is converted into a graph network. The graph network of an electric circuit is information that represents the electric circuit using nodes representing components and edges representing wiring. The graph network also includes information indicating the feature amounts of the nodes and the feature amounts of the edges.

[0192] As shown in FIG. 16, the information processing device 1A includes an acquisition unit 11 and a processing unit 12A. The acquisition unit 11 executes a first process of acquiring a netlist of an electric circuit. For example, the information processing device 1 is connected to a computer equipped with a circuit design CAD, and the acquisition unit 11 acquires a netlist created using the circuit design CAD from the computer. The acquiring unit 11 may also acquire a circuit diagram model of an electric circuit that operates in a circuit simulator, and convert the circuit diagram indicated by this circuit diagram model into a netlist. In other words, the acquisition of a netlist by the acquisition unit 11 also includes acquiring a netlist by converting a circuit diagram.

[0193] The processing unit 12A uses the part name list updated by adding part names indicating ground terminals, input terminals, and output terminals and the wiring name list updated by removing wiring names indicating ground wiring, input wiring, and output wiring, to consider a part connected to three or more wirings as a two-terminal part with the same number of wirings, and adds a part name indicating the two-terminal part to the updated part name list, removes a part name indicating a part before being considered as a two-terminal part from the updated part name list, connects three or more wirings to one terminal of the two-terminal part, respectively, connects the other terminal of the two-terminal part with a new wiring, adds a wiring name indicating the new wiring to the updated wiring name list, extracts a part name corresponding to the wiring name in the updated wiring name list from the updated part name list, creates a combination list including the extracted part names, and outputs the updated part name list and the combination list. The processing unit 12A may also output the updated part name list and the combination list in which the part names are replaced with identification numbers.

[0194] The information processing device 1A is, for example, a computer connected to an information network. The computer may be a server or a client that can be connected to a cloud or the like via an information network, or may be a standalone computer that is not connected to an information network.The computer may also be a computer used in a closed network environment within a factory, which is called edge computing. The information processing device 1A may be a smartphone, a tablet terminal, a PC, or a microcomputer.

[0195] 17 is a flowchart showing an information processing method according to the second embodiment, and shows a series of operations performed by the information processing device 1A. The acquisition unit 11 acquires a netlist (step ST1D). The processing unit 12A extracts a component name list from the netlist (step ST2D-1), and extracts a wiring name list from the netlist (step ST2D-2). For example, the processing unit 12A stores all the component names included in the netlist in a component name list, and stores all the wiring names included in the netlist in a wiring name list. The process of step ST2D-1 and the process of step ST2D-2 may be executed either first or simultaneously.

[0196] The processing unit 12A adds the ground wiring, input wiring, and output wiring included in the netlist to the component name list as ground terminals, input terminals, and output terminals (step ST3D-1). The processing unit 12A removes the ground wiring, input wiring, and output wiring from the wiring name list (step ST3D-2). This leaves information indicating the ground terminals, input terminals, and output terminals as component information in the component name list, making it possible to suppress information degradation when converting an electric circuit into a graph network using list information including the component name list. Note that the processing of step ST3D-1 and the processing of step ST3D-2 may be performed first, or may be performed simultaneously.

[0197] Processing unit 12A uses the component name list and the wiring name list to determine whether or not there is a component connected to three or more wirings (step ST4D). If there is no component connected to three or more wirings (step ST4D; NO), the processing proceeds to step ST5D. In Fig. 17, the processing of steps ST5D, ST6D, ST7D, ST12D, ST13D, and ST14D is similar to steps ST4, ST5, ST6, ST7, ST8, and ST9 in Fig. 5, and therefore description thereof will be omitted.

[0198] If there is a component connected to three or more wires (step ST4D; YES), the processing unit 12A regards the components connected to three or more wires as two-terminal components with the same number as the number of wires (step ST8D). Next, the processing unit 12A assigns a new component name to the two-terminal component (step ST9D). Then, the processing unit 12A connects three or more wires to one terminal of the two-terminal component, and adds new wires to connect the other terminals of the two-terminal components to each other (step ST10D). The processing unit 12A adds the wire name assigned to the new wire to the wire name list (step ST11D).

[0199] In this way, the processing unit 12A connects each of the two-terminal components disassembled from one component, and assigns a new wiring name to the wiring used for each connection. Then, since the other terminal of each two-terminal component has the same number as the three or more wirings, each terminal is connected to the above wiring. By converting in this way, it is possible to prevent self-loops or multiple edges, and to prevent information degradation when converting from an electric circuit to a graph network and from a graph network to an electric circuit.

[0200] For example, a self-loop occurs when wiring from a terminal of a semiconductor to a different terminal of the same semiconductor without passing through a circuit component, and such wiring may be necessary to define the operation of the semiconductor, and occurs in such cases. In the first embodiment, such conditions are discarded, causing information degradation, but by dividing into two-terminal components as in the second embodiment, it is possible to convert to a graph network while retaining such information.

[0201] In addition, multiple sides occur when bus wiring is used from one semiconductor to another when there are multiple input terminals in order to ensure current capacity for a power supply, etc. Even in this case, in the first embodiment, such conditions are discarded, resulting in information degradation. However, by dividing into two-terminal components as in the second embodiment, it is possible to convert to a graph network while retaining such information.

[0202] From the wiring name list updated in step ST11D, the component names held by each wiring name are extracted in the same manner as in the first embodiment, and a combination list of component names is extracted. As in the first embodiment, when one wiring name holds three or more component names, it is decomposed into a combination of two components for each wiring. In addition, an identification number is assigned to each part name using the updated part name list, and the identification numbers are used to replace the identification numbers corresponding to each part name in the combination list. Furthermore, the part name list is replaced with the identification numbers, and the part name list replaced with the identification numbers and the combination list replaced with the identification numbers are output, and the process is completed.

[0203] FIG. 18 is a circuit diagram showing an example of an electric circuit (4). FIG. 19 is a circuit diagram showing an example of an electric circuit (5). In FIG. 18, three wires are connected to part A: (1) between the input terminal "IN" and part A, (2) between part B and part A, and (3) between GND and part A. Part A is disassembled into three two-terminal parts, and each is given a name, for example, A1, A2, and A3. In order to connect one terminal of the disassembled part to the terminal of the other disassembled part, A1 and A2, A2 and A3, and A3 and A1 are connected, respectively. Each is given a name, for example, A1-A2, A1-A3, and A2-A3. In addition, the name G-A3 is given to the part between A3 and GND. Similarly, part B is disassembled, and names are given to the disassembled parts and the wires between the parts, resulting in the electric circuit shown in FIG. 18.

[0204] The same is true for Fig. 19, and since the components that hold three or more wires in Fig. 18 are components A and E, each component is disassembled and names are assigned to the wires between the disassembled components. Note that, for simplicity of explanation, a circuit diagram is used as the processing target, but a netlist can also be processed in the same way.

[0205] Below is the netlist shown in the first embodiment. When searching for component A in the #wiring in the netlist, it is found that it is held by wiring named (1), (2), and GND. Therefore, it can be determined that three wires are connected to component A, and it can be disassembled into a two-terminal component. #parts A B C D #wiring (1);IN,A (2); A, B (3); B, C, D (4);D,OUT GND; A, B, C

[0206] By breaking down the components into two-terminal components as shown in Figure 18, the component name list becomes "A1, A2, A3, B1, B2, B3, C, D, GND, IN, OUT" and the wiring name list becomes "(1), (2), (3), (4), A1-A2, A2-A3, A1-A3, B1-B2, B2-B3, B1-B3, G-A3, G-B3, GC." As in the first embodiment, the processing unit 12A adds "IN", "OUT", and "GND" to the component name list, and removes "IN", "OUT", and "GND" from the wiring name list.

[0207] Similarly, by decomposing the components into two-terminal components as shown in Figure 19, the component name list becomes "A1, A2, A3, C, D, E1, E2, E3, F, GND, IN, OUT" and the wiring name list becomes "(1A), (2A), (3A), (4A), (5A), A1-A2, A2-A3, A1-A3, E1-E2, E2-E3, E1-E3, G-A3, G-E3, GC."

[0208] For components with three or more terminals, the combination list of the electric circuit shown in Fig. 18 is as follows, based on the combination list created from the updated wiring name list and the combination list of two-terminal components. (1)-(4), GC, G-A3, and G-B3 are created from the netlist, and A1-A2, A1-A3, A1-A3, B1-B2, B2-B3, and B1-B3 are combination lists created from the updated wiring name list. (1);IN,A1 (2); A2, B1 (3); B2, C, D (4);D,OUT A1-A2;A1,A2 A2-A3;A2,A3 A1-A3;A1,A3 B1-B2;B1,B2 B2-B3;B2,B3 B1-B3;B1,B3 G-A3;GND,A3 G-B3;GND,B3 GC;GND,C

[0209] Similarly, for the circuit diagram shown in FIG. 19, the following combination list can be extracted. (1A);IN,A1 (2A);A2,D (3A);D,C,E1 (4A);E2,F (5A);F,OUT A1-A2;A1,A2 A2-A3;A2,A3 A1-A3;A1,A3 E1-E2;E1,E2 E2-E3;E2,E3 E1-E3;E1,E3 G-A3;GND,A3 G-E3;GND,E3 GC;GND,C

[0210] After the circuit components with three or more terminals are disassembled in this manner, the process is the same as in the first embodiment. The component name list for the circuit shown in Figure 18 is "A1, A2, A3, B1, B2, B3, C, D, GND, IN, OUT," and the component name list for the circuit shown in Figure 19 is "A1, A2, A3, C, D, E1, E2, E3, F, GND, IN, OUT." Combining these two and removing duplicates results in "A1, A2, A3, B1, B2, B3, C, D, E1, E2, E3, F, GND, IN, OUT." If a different identification number is assigned to each component name, the combined list may look something like this: A1→1 A2→2 A3→3 B1→4 B2→5 B3→6 C→7 D→8 E1→9 E2→10 E3→11 F → 12 GND → 13 IN→14 OUT→15

[0211] Using the identification numbers, the component name list for the circuit shown in FIG. 18 would be "1, 2, 3, 4, 5, 6, 7, 8, 13, 14, 15," and the component name list for the circuit shown in FIG. 19 would be "1, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15." Also, in the combination list, any part with three or more part names is divided into two and each part name is replaced with an identification number, so that the combination list for the circuit shown in FIG. 18 becomes as follows: (1);(14,1) (2);(2,4) (3);(5,7),(7,8),(8,5) (4);(8,15) A1-A2;(1,2) A2-A3;(2,3) A1-A3;(1,3) B1-B2;(4,5) B2-B3;(5,6) B1-B3;(4,6) G-A3;(13,3) G-B3;(13,3) GC;(13,7)

[0212] Moreover, the combination list for the circuit shown in FIG. (1A);(15,1) (2A);(2,8) (3A);(8,7)(8,9),(7,9) (4A);(10,12) (5A);(12,15) A1-A2;(1,2) A2-A3;(2,3) A1-A3;(1,3) E1-E2;(9,10) E2-E3;(10,11) E1-E3;(9,11) G-A3;(13,3) G-E3;(13,11) GC;(13,7)

[0213] As an output result of processing unit 12A, the component name list for the circuit shown in FIG. 18 becomes “1, 2, 3, 4, 5, 6, 7, 8, 13, 14, 15,” and the combination list becomes “(14,1)(2,4)(5,7)(7,8)(8,5)(8,15)(1,2)(2,3)(1,3)(4,5)(5,6)(4,6)(13,3)(13,3)(13,7).” Furthermore, the component name list for the circuit shown in FIG. 19 is “1, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15,” and the combination list is “(15,1)(2,8)(8,7)(8,9),(7,9)(10,12)(12,15)(1,2)(2,3)(1,3)(9,10)(10,11)(9,11)(13,3)(13,11)(13,7).”

[0214] In circuit components, particularly semiconductors, operation can be controlled by shorting one terminal of the semiconductor with a wire to another terminal of the same semiconductor. An electric circuit with this structure has a self-loop in which the wire comes out of itself and returns to itself. However, although it is possible to create a combination list from a netlist related to an electric circuit having a self-loop, it is not possible to convert the combination list having a self-loop back to the original netlist. This is because information degradation occurs when converting from a netlist to a combination list. In response to this, by decomposing into components having three or more elements as described above, wiring that becomes a self-loop can be eliminated. Therefore, the information processing device 1A according to the second embodiment can create a combination list related to an electric circuit that does not have a self-loop by using a netlist related to an electric circuit having a self-loop. As a result, it is possible to convert from a combination list to a netlist without causing information degradation.

[0215] For example, in an electric circuit connected to a power source that generates a large amount of current, the current may be dispersed by connecting wiring connected to the same power source to multiple terminals of a semiconductor. Also, there are electric circuits having semiconductors in which a pull-up power supply or a control signal is connected to multiple terminals. Since these connections have multiple edges, if multiple edges are included in the combination list, the information of each edge is not retained, just like in the case of a self-loop, and the combination list cannot be restored to a netlist. For this reason, it is considered that information degradation has occurred. In contrast, in the information processing device 1A according to the second embodiment, even if the electric circuit has multiple edges, the combination list can be restored to the original netlist. Therefore, the netlist can be converted to a combination list and the combination list can be converted back to a netlist without causing information degradation.

[0216] FIG. 20 is a schematic diagram showing an example (1) of an electric circuit and a graph network in the second embodiment. The electric circuit shown in FIG. 20 includes a switching power supply U1, and when a voltage is applied between an input terminal and ground GND, a different voltage is output between an output terminal and ground GND. The result of extracting a parts list and a combination list from a netlist related to this electric circuit is called a graph. In the electric circuit shown in FIG. 20, the graph cannot be converted into a circuit diagram. In particular, since the information of the wiring shown in gray in the circuit diagram at the top of FIG. 20 is lost, it is considered that information degradation occurred when the graph was converted.

[0217] Fig. 21 is a schematic diagram showing an example (2) of an electric circuit and a graph network in the second embodiment. The graph shown in Fig. 21 is configured by providing input terminals, output terminals, and ground terminals in the parts name list as shown in the first embodiment. It can be seen that the circuit diagram has a similar structure to that of Fig. 20. However, in the graph in the lower diagram of Fig. 21, the line between "IN" and "U1" has multiple edges, and furthermore, among the lines from "U1" to "OUT", there are lines that pass through L1 and lines that do not pass through L1, and it can be seen that the circuit diagram and the graph are not the same. In many cases where graphs are used, some degradation of information is acceptable, so the method of the first embodiment is more effective than the conventional method. However, the graph does not provide a completely reversible conversion to the circuit diagram.

[0218] Fig. 22 is a schematic diagram showing an example (3) of an electric circuit and a graph network in the second embodiment. The processing unit 12A breaks down components with three or more terminals in the electric circuit into two-terminal components, so that the electric circuit has a structure in which two-terminal components are connected to individual wires, as shown in Fig. 22. That is, the electric circuit has a structure in which all two-terminal components are connected, so that it becomes possible to reversibly convert between a graph and a circuit diagram.

[0219] As described above, disassembling components has the advantage of being able to reversibly convert between a graph and a circuit diagram, but it is necessary to consider the wiring connecting the disassembled components. In other words, the increase in the number of wirings connecting the disassembled components increases the required information or amount of calculation, so this is not necessarily better than the first embodiment. Therefore, it is desirable to select and use the information processing method according to the first embodiment or the information processing method according to the second embodiment depending on the inference accuracy required for the graph neural network or the allowable amount of calculation.

[0220] In the second embodiment, the processing unit 12A may also remove the decomposed node and the wiring connected to the node, so long as the decomposed node does not generate a self-loop or multiple edges. For example, if it is determined that there is no information in the multiple edges or self-loop itself, the processing unit 12A may remove the node and the wiring connected to the node. By removing the nodes in this way, not only can the processing speed be increased, but also the inference accuracy of the graph neural network can be improved since unnecessary information is not included.

[0221] FIG. 23 is a graph showing an example of the calculation results of the inference accuracy by the information processing device 1A according to the second embodiment, and shows the results when a part with three or more terminals is disassembled. To compare with the results shown in Fig. 15, which showed the highest inference accuracy, only the identification numbers of the components were assigned to the nodes, and only the connection information between the identification numbers was input to the edges. The correct answer data was a classification problem in which nine circuits were classified by type, just like in Fig. 15.

[0222] The same graph neural network as that which obtained the results shown in FIG. 15 was used for learning including circuit constants, and the above classification was inferred using the learned graph neural network. As a result, the inference accuracy was 95.32%, which was 3.58% lower than the results shown in FIG. 15. This is presumably because the learning included the relationships between the two-terminal components obtained by decomposition, and there was not enough learning data to determine these unknowns. Thus, the information processing method in the second embodiment is a method suitable for cases where a highly reversible conversion between a netlist and a graph is required, but there are also cases where the information processing method in the first embodiment is superior.

[0223] On the other hand, if correct information can be obtained in advance by circuit simulation, etc., the calculated edge weights may not be learned in the graph neural network training and updates may be stopped. In this case, the inference accuracy of the graph neural network can be improved even if a process is performed to break down components with three or more terminals into two-terminal components. In this way, it is desirable to selectively use the information processing method according to the first embodiment and the information processing method according to the second embodiment depending on the available data or the purpose.

[0224] In the above example, the correct answer data was the type of circuit, but the learning data may be the output waveform or the frequency characteristics of the output waveform obtained by the circuit simulator. In this case, by utilizing the circuit simulator, it is possible to create as much teacher data as necessary for learning. Furthermore, by changing the correct answer data, it is possible to freely train the graph neural network to suit the purpose, without being limited to the output waveform, by predicting the signal waveform of a specific wiring in the circuit, the area of ​​the eye pattern of the signal waveform, the heat generation in a specific part of the circuit, the cost of the components required to construct the circuit, or the frequency characteristics of the electromagnetic noise that appears at the input terminal.

[0225] Moreover, by creating and using attribute information data of edges in combination with circuit simulation, it is possible to perform calculations similar to those described above even in directed graphs that include current directionality.

[0226] It is also possible to assign the frequency characteristic of the voltage to a node, or the frequency characteristic of the current to an edge. However, as shown in the third modification, if frequency data is input one frequency at a time into the column of attribute information of the node or edge of the graph neural network, a large matrix will be formed, and a lot of calculation time and amount of calculation will be required for learning. In such a case, a high-performance computer with a large memory may be prepared for learning, but by learning information in which the frequency characteristic is converted into a vector quantity by graph embedding, for example, the amount of calculation can be reduced even for input data having a large matrix including the frequency characteristic in a large-scale circuit, and it is possible to learn the graph neural network without using a high-performance computer.

[0227] Furthermore, for an electric circuit having multiple components connected in parallel to one wiring, the number of combinations of components increases even in the information processing method according to the above-mentioned embodiment 2. That is, when an electric circuit has multiple components connected in parallel to one wiring, the combinations of corresponding components in the combination list increase approximately in proportion to the square of the number of components connected in parallel to the wiring. As a result, the amount of calculation required to search for a current loop increases exponentially, and the search time also increases.

[0228] Therefore, the information processing device 1A may create a combination list including wiring names and component names so that an increase in the number of combinations of component names for a large-scale circuit in which multiple components are connected in parallel to one wiring is suppressed. For example, the processing unit 12A creates an updated component name list by adding component names indicating a ground terminal, an input terminal, and an output terminal, as in the first embodiment, and creates an updated wiring name list by removing wiring names indicating a ground wiring, an input wiring, and an output wiring. Then, as described above, the processing unit 12A regards a component connected to three or more wirings as a two-terminal component with the same number of wirings, adds the component names indicating the two-terminal components to the updated component name list, and removes the component names indicating the components before being regarded as two-terminal components from the updated component name list. Furthermore, the processing unit 12A defines a connection relationship in which three or more wirings are connected to one terminal of the two-terminal component, and the other terminals of the two-terminal component are connected by a new wiring, and adds the wiring names indicating the new wiring to the updated wiring name list. Thereafter, the processing unit 12A extracts from the updated part name list the part names corresponding to the wiring names in the updated wiring name list, creates a combination list including the extracted part names and the corresponding wiring names, and outputs the updated part name list and combination list. That is, the combination list includes part names corresponding to the wiring names in the updated wiring name list and the corresponding wiring names. A graph network converted from list information including this combination list has a feature that part names and wiring names are represented by nodes, and as shown in FIG. 10, a node adjacent to a node of any part name becomes a node of the wiring name. This makes it possible to make the number of combinations proportional to the first power of the number of parts.

[0229] As described above, in the information processing device 1A according to the second embodiment, the processing unit 12A uses the part name list updated by adding part names indicating a ground terminal, an input terminal, and an output terminal, and the wiring name list updated by removing the wiring names indicating the ground wiring, the input wiring, and the output wiring, to treat a component connected to three or more wirings as a two-terminal component with the same number of wirings, and add the part names indicating the two-terminal components to the updated part name list, remove the part names indicating the components before they were treated as two-terminal components from the updated part name list, connect three or more wirings to one terminal of the two-terminal component, connect the other terminals of the two-terminal component with new wirings, add the wiring names indicating the new wirings to the updated wiring name list, extract from the updated part name list the part names that correspond to the wiring names in the updated wiring name list, create a combination list including the extracted part names, and output the updated part name list and the combination list. This allows the information processing device 1A to provide list information capable of suppressing information degradation that occurs when converting an electric circuit into a graph network. Also, by defining two-terminal components, it is possible to prevent self-loops or multiple edges, and suppress information degradation that occurs when converting from an electric circuit to a graph network and from a graph network to an electric circuit.

[0230] In the information processing device 1A according to the second embodiment, the processing unit 12A creates a part name list updated by adding part names indicating a ground terminal, an input terminal, and an output terminal, and a wiring name list updated by removing wiring names indicating a ground wiring, an input wiring, and an output wiring, regards a part connected to three or more wirings as a two-terminal part having the same number of wirings as the number of wirings, adds a part name indicating the two-terminal part to the updated part name list, and removes a part name indicating the part before being regarded as a two-terminal part from the updated part name list. It defines a connection relationship in which three or more wirings are connected to one terminal of the two-terminal part, and the other terminals of the two-terminal part are connected by a new wiring, adds a wiring name indicating the new wiring to the updated wiring name list, extracts a part name corresponding to the wiring name in the updated wiring name list from the updated part name list, creates a combination list including the extracted part name and the corresponding wiring name, and outputs the updated part name list and the combination list. This makes it possible for the information processing device 1A to provide list information capable of suppressing information degradation that occurs when converting an electric circuit into a graph network. Furthermore, the information processing device 1A can suppress an increase in the number of combinations of parts, and therefore can reduce the amount and time of calculations required for processing a graph neural network using list information including the combination list.

[0231] In the information processing device 1A according to the second embodiment, the processing unit 12A outputs an updated part name list and a combination list in which the part names are replaced with unique identification numbers for each feature of the part. This enables the information processing device 1A to reduce the amount of information by expressing the list information as numerical values, and to prevent information degradation that occurs when the list information is converted into a graph network.

[0232] In the information processing method according to the second embodiment, the information processing device 1A executes the steps of: regarding a component connected to three or more wirings as a two-terminal component with the same number of wirings as the number of wirings, and adding a component name indicating the two-terminal component to an updated component name list; removing a component name indicating a component before being regarded as a two-terminal component from the updated component name list; connecting three or more wirings to one terminal of each of the two-terminal components, connecting the other terminals of the two-terminal components with new wirings, and adding a wiring name indicating the new wiring to the updated wiring name list; extracting a component name corresponding to the wiring name in the updated wiring name list from the updated component name list, creating a combination list including the extracted component names; and outputting the updated component name list and the combination list. In this way, by defining a two-terminal component, it is possible to prevent a self-loop or multiple edges, and to prevent information degradation during conversion from an electric circuit to a graph network and conversion from a graph network to an electric circuit.

[0233] In the information processing device 1A according to the second embodiment, the processing unit 12A removes nodes from the two-terminal components as long as the wiring connecting the two-terminal components does not cause a self-loop or multiple edges. This enables the information processing device 1A to provide list information that can suppress information degradation when graph information of an electric circuit is created.

[0234] The information processing method according to the second embodiment includes the steps of: information processing device 1A creating an updated part name list by adding part names indicating ground terminals, input terminals, and output terminals; and creating an updated wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring, treating a component connected to three or more wirings as a two-terminal component with the same number of wirings as the number of wirings, and adding part names indicating the two-terminal components to the updated part name list; removing part names indicating the components before being treated as two-terminal components from the updated part name list; connecting three or more wirings to one terminal of each of the two-terminal components, connecting the other terminals of the two-terminal components with new wirings, and adding wiring names indicating the new wirings to the updated wiring name list; extracting part names corresponding to the wiring names in the updated wiring name list from the part names in the updated part name list, creating a combination list including the extracted part names; and outputting the updated part name list and the combination list. This makes it possible to provide list information that can suppress the degradation of information that occurs when converting an electric circuit into a graph network. Furthermore, by defining two-terminal components, it is possible to prevent self-loops or multiple edges, and suppress the degradation of information that occurs when converting from an electrical circuit to a graph network and from a graph network to an electrical circuit.

[0235] In the information processing method according to the second embodiment, the information processing device 1A executes the steps of extracting part names corresponding to wiring names in the updated wiring name list from part names in the updated part name list, creating a combination list including the extracted part names and the corresponding wiring names, and outputting the updated part name list and combination list. This makes it possible to provide list information capable of suppressing information degradation that occurs when converting an electric circuit into a graph network. Furthermore, since an increase in the number of part combinations can be suppressed, an increase in the amount of calculation and calculation time required for processing a graph neural network using list information including the combination list can be reduced.

[0236] It is possible to combine the embodiments, modify any of the components of the embodiments, or omit any of the components of the embodiments. [Industrial Applicability]

[0237] An information processing device according to the present disclosure can be used, for example, in circuit design using a circuit design CAD and a board design CAD. [Explanation of symbols]

[0238] 1,1A information processing device, 11 acquisition unit, 12,12A processing unit, 100 input interface, 101 output interface, 102 processing circuit, 103 processor, 104 memory.

Claims

1. An acquisition unit that acquires a netlist of an electric circuit; a processing unit that extracts a component name list and a wiring name list from the netlist, updates the component name list by adding component names indicating ground terminals, input terminals, and output terminals, updates the wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring, extracts component names corresponding to wiring names in the updated wiring name list from component names in the updated component name list, creates a combination list including the extracted component names, and outputs the updated component name list and the combination list.

23. An information processing apparatus comprising:

2. The processing unit includes: A component connected to three or more wirings is regarded as a two-terminal component having the same number of terminals as the number of wirings, and a component name indicating the two-terminal component is added to the updated component name list; removing from the updated part name list a part name indicating a part before it was regarded as a two-terminal part; The three or more wirings are connected to one terminal of the two-terminal component, A new wiring is connected between the other terminals of the two-terminal component, Add a wiring name indicating the new wiring to the updated wiring name list; extracting, from the updated part name list, part names corresponding to wiring names in the updated wiring name list; A combination list including the extracted part names is created, and the updated part name list and combination list are output.

2. The information processing apparatus according to claim 1,

3. An acquisition unit that acquires a netlist of an electric circuit; a processing unit that extracts a component name list and a wiring name list from the netlist, updates the component name list by adding component names indicating ground terminals, input terminals, and output terminals, updates the wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring, extracts component names corresponding to wiring names in the updated wiring name list from component names in the updated component name list, creates a combination list including the extracted component names and the corresponding wiring names, and outputs the updated component name list and the combination list.

23. An information processing apparatus comprising:

4. The processing unit includes: A component connected to three or more wirings is regarded as a two-terminal component having the same number of terminals as the number of wirings, and a component name indicating the two-terminal component is added to the updated component name list; removing from the updated part name list a part name indicating a part before it was regarded as a two-terminal part; The three or more wirings are connected to one terminal of the two-terminal component, A new wiring is connected between the other terminals of the two-terminal component, Add a wiring name indicating the new wiring to the updated wiring name list; extracting, from the updated part name list, part names corresponding to wiring names in the updated wiring name list; A combination list including the extracted part names and the corresponding wiring names is created, and the updated part name list and combination list are output.

4. The information processing apparatus according to claim 3.

5. The processing unit outputs the updated part name list and the combination list in which part names are replaced with unique identification numbers common to each feature of the parts.

5. The information processing device according to claim 1, wherein the information processing device is a computer.

6. The processing unit defines the unique identification number common to each type of part.

6. The information processing apparatus according to claim 5,

7. The processing unit defines the unique identification number common to each model number of the part.

6. The information processing apparatus according to claim 5,

8. The processing unit replaces the part names in the updated part name list with rows or columns of a feature quantity matrix obtained by one-hot expressing the features of the parts.

6. The information processing apparatus according to claim 5,

9. The processing unit replaces elements corresponding to passive circuits in the feature matrix with function values ​​calculated by substituting circuit constants of components into a function including a logarithm.

9. The information processing apparatus according to claim 8,

10. The processing unit performs normalization and / or standardization on the function values.

10. The information processing apparatus according to claim 9,

11. The processing unit removes a node from the two-terminal component as long as a self-loop or multiple edges are not generated in a wiring connecting the two-terminal components.

3. The information processing apparatus according to claim 2.

12. the part name list is a node in a graph network; the list of wiring names is an edge in the graph network; The combination list is an adjacency matrix in the graph network.

5. The information processing device according to claim 1, wherein the information processing device is a computer.

13. The processing unit sets the combination of nodes and edges as input data for a graph neural network.

13. The information processing apparatus according to claim 12.

14. An information processing device, obtaining a netlist of an electrical circuit; extracting a component name list and a wiring name list from the netlist; creating an updated part name list by adding part names indicating ground terminals, input terminals, and output terminals; creating an updated wiring name list by removing wiring names indicating ground wiring, input wiring, and output wiring; extracting, from the part names in the updated part name list, part names corresponding to wiring names in the updated wiring name list, and creating a combination list including the extracted part names; and outputting the updated part name list and the combination list.

23. An information processing method comprising:

Citation Information

Patent Citations

  • Graph representation transforming method and its device, and automatic rearranging method and its device

    JP2000200298A

  • Similar circuit retrieval device and its method

    JP2007128383A

  • Function estimation method, function estimation device, and function estimation program

    JP2021089722A

  • Generating integrated circuit placements using neural networks

    US20210334445A1