Creating a layout of an electric circuit including electrical components using modelled interaction forces between the components

A computer-implemented method using modeled interaction forces to automate electric circuit layout by determining component positions, addressing inefficiencies in current manual placement methods and enhancing the design of high-power electronic devices.

WO2026019425A1PCT designated stage Publication Date: 2026-01-22SIEMENS INDUSTRY SOFTWARE INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/038307
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-17
Publication Date
2026-01-22

Smart Images

  • Figure US2024038307_22012026_PF_FP_ABST
    Figure US2024038307_22012026_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a method for creating a layout of an electric circuit including electrical components, wherein the components include fixed components with a fixed position in the layout and flexible components with a selectable position in the layout. To facilitate creating the layout of the electric circuit, the following steps are suggested: · assigning a first plurality of electrically connected components to a first set, wherein the first set includes at least two fixed components and at least two flexible components; · determining the selectable position of the respective flexible component by determining an equilibrium in the distribution of the components of the first set when the components of the first set exert a modelled interaction force on each other; · determining the layout including the fixed components on the respective fixed position and the flexible components on the determined respective selectable position, and · outputting the determined layout.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Description

[0002] Title of the Invention

[0003] Creating a layout of an electric circuit including electrical components using modelled interaction forces between the components

[0004] Technical Field

[0005] The present disclosure is directed, in general, to electronic design automation (EDA) and, more specifically, to create a layout of an electric circuit, such as an integrated circuit (IC) or a printed circuit board (PCB), including electrical components using modelled interaction forces between the components. Such electronic design automation systems and electric circuit layout systems are collectively referred to herein as product systems.

[0006] Background Art

[0007] The development of electronic devices with electric circuits, such as ICs and PCBs, typically involves many steps known as a design flow. This design flow typically starts with a specification for a new electronic device to be implemented with an electric circuit. The specification of the electronic device can be transformed into an electronic device design, such as a netlist, for example, by a schematic capture tool or by synthesizing a logical design, sometimes referred to as a register transfer level (RTL) description of the electronic device. The netlist may be specified in an Electronic Design Interchange Format (EDIF) or the like, which can describe nets or connectivity between various components or parts in the electronic device design.

[0008] The design flow may continue by verifying functionality of the electronic device design, for example, by simulating, emulating, or prototyping the electronic device design and verifying that the results of the simulation or emulation correspond with an expected output from the electronic device design. The functionality also can be verified by formally verifying with one or more solvers or statically checking the electronic device design for various attributes that may be problematic during operation of the electronic device built utilizing the electronic device design.

[0009] Once the electronic device design has been functionally verified, the design flow may utilize the logical design to generate a layout design for the electronic device. This procedure can be implemented in different ways, but typically, through the use of a layout tool, which can place and interconnect various components or parts into a representation of an electric circuit. For example, the layout tool implemented in a computing system can present a graphical view of the printed circuit board and allow a designer to utilize the layout tool to place parts from a library onto the printed circuit board in the graphical view.

[0010] In this context, the task of creating a layout of an electric circuit may sometimes be roughly divided into three parts:

[0011] • Component selection, i.e., choosing the hardware components whose interplay fulfils the functional requirements associated with the electric circuit, and connecting the chosen components to one another accordingly;

[0012] • Component placement (also known as electric circuit, IC, or PCB floor-planning), i.e., choosing the physical locations for each of the selected components on the substrate of the electric circuit; and

[0013] • Component wiring, i.e., outlining how exactly the copper traces meant for connecting the components will be applied onto the substrate of the electric circuit.

[0014] In some respects, the present patent disclosure primarily focusses on the third task in the electric circuit layout process, i.e., component wiring to connect the electrical components with conductive material, e.g. copper, to transfer signals or power. Herein, a designer generally has two methods to implement such a connection: The first method is traces, and the second is plane shapes which is mainly used to transfer power.

[0015] Currently, there exist product systems and solutions which support creating a layout of an electric circuit including electrical components. Such product systems may benefit from improvements.

[0016] Summary of Invention

[0017] Variously disclosed embodiments include methods and computer systems that may be used to facilitate creating a layout of an electric circuit including electrical components.

[0018] According to a first aspect of the invention, a computer-implemented method for creating a layout of an electric circuit including electrical components, wherein the components include fixed components with a fixed position in the layout and flexible components with a selectable position in the layout, may include:

[0019] • assigning a first plurality of electrically connected components to a first set, wherein the first set includes at least two fixed components and at least two flexible components; • determining the selectable position of the respective flexible component by determining an equilibrium in the distribution of the components of the first set when the components of the first set exert a modelled interaction force on each other; and

[0020] • determining the layout including the fixed components on the respective fixed position and the flexible components on the determined respective selectable position; and

[0021] • outputting the determined layout.

[0022] According to a second aspect of the invention, a computer system may be arranged and configured to execute the steps of this computer-implemented method according to the first aspect.

[0023] According to a third aspect, a computer program product may include computer program code that, when executed by the computer system according to the second aspect, causes the computer system to carry out the method according to the first aspect.

[0024] According to a fourth aspect, a computer-readable medium may include the computer program product according to the third aspect. By way of example, the described computer-readable medium may be non-transitory and may further be a software component on a storage device.

[0025] The foregoing has outlined rather broadly the technical features of the present disclosure so that those skilled in the art may better understand the detailed description that follows.

[0026] Additional features and advantages of the disclosure will be described hereinafter that form the subject of the claims. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiments disclosed as a basis for modifying or creating a layout of other structures for carrying out the same purposes of the present disclosure. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the disclosure in its broadest form.

[0027] Also, before undertaking the detailed description below, it should be understood that various definitions for certain words and phrases are provided throughout this patent document and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases. While some terms may include a wide variety of embodiments, the appended claims may expressly limit these terms to specific embodiments.

[0028] Embodiments will be described below in greater detail. Brief Description of the Drawings

[0029] Figs. 1-3 depict a functional block diagram of a first, second and third example system that facilitate creating a layout of an electric circuit including electrical components in a product system.

[0030] Fig. 4 depicts a flow diagram of a first aspect of an example electric circuit layout process which may, e.g., be performed by one of the example systems.

[0031] Fig. 5 depicts a flow diagram of a second aspect of an example electric circuit layout process which may, e.g., be performed by one of the example systems.

[0032] Figs. 6-7 depict a flow diagram of two example methodologies that facilitates creating a layout of an electric circuit including electrical components in a product system.

[0033] Fig. 8 depicts a block diagram of a data processing system in which an embodiment can be implemented.

[0034] Detailed Description

[0035] Various technologies that pertain to systems and methods for creating a layout of an electric circuit including electrical components in a product system will now be described with reference to the drawings, where like reference numerals represent like elements throughout. The drawings discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged apparatus. It is to be understood that functionality that is described as being carried out by certain system elements may be performed by multiple elements. Similarly, for instance, an element may be configured to perform functionality that is described as being carried out by multiple elements. The numerous innovative teachings of the present patent document will be described with reference to exemplary non-limiting embodiments.

[0036] With reference to Fig. 1 , a functional block diagram of a first example computer system or data processing system 100 is depicted that facilitates creating the layout 120 of an electric circuit 122 including electrical components 124. The processing system 100 may include an electric circuit layout system 118 which may, in some examples, may include at least one processor 102 that is configured to execute at least one application software component 106 from a memory 104 accessed by the processor 102. The application software component 106 may be configured (i.e., programmed) to cause the processor 102 to carry out various acts and functions described herein. For example, the described application software component 106 may include and / or correspond to one or more components of an application for creating a layout 120 of an electric circuit 122 including electrical components 124, wherein the application software component 106 may, e.g., be configured to generate and store product data in a data store 108 such as a database.

[0037] By way of example, the electric circuit layout system 118 may be cloud-based, internet-based and / or be operated by a provider providing support for creating a layout 120 of electric circuits 122. In some examples, the user may be located close to the electric circuit layout system 118 or remote to the electric circuit layout system 118, e.g., anywhere else, e.g., using a mobile device for connecting to the electric circuit layout system 118, e.g., via the internet, wherein the mobile device may include an input device 110 and a display device 112. In some examples, the electric circuit layout system 118 may be installed and run on a user’s device, such as a computer, laptop, pad, on-premises computing facility, or the like.

[0038] It should be appreciated that creating the layout 120 of an electric circuit 122 including electrical components 124 may be a challenging and time-consuming process which may require highly skilled engineers with many years of training. For example, advanced knowledge in electronics, physics and other scientific domains may be required, or selections of many options need to be made consciously, each involving many manual steps, which is a long and not efficient process.

[0039] For example, designing electronics such as PCBs or ICs may require connecting components with conductive material, e.g. copper, to transfer signals or power. A designer generally often has two methods to implement such a connection. The first method may be traces, and the second may be plane shapes. The second method is mainly used to transfer power. The demand for new electronic designs with higher power and efficiency ratings is increasing from year to year. One of the key drivers is the electrical vehicle market. Compared to this, the design methods for plane shapes are not involved. This means a designer may need to place or draw a shape manually. This task is complex and takes a lot of time, and the result is based on the engineer's experience. This shows that the current state of the art method is no longer suitable to serve the current market demand. Hence, there is a need of novel and highly automated methods to design and optimize electronics. By using today's state of the art method of manual placement, there is no chance to integrate or keep pace with these sophisticated methods.

[0040] To enable the enhanced creating the layout 120 of an electric circuit 122, the described product system or processing system 100 may include at least one input device 110 and at least one display device 112 (such as a display screen). The described processor 102 may be configured to generate a graphical user interface (GUI) 114 through the display device 112. Such a GUI 114 may include GUI elements such as buttons, links, search boxes, lists, text boxes, images, scroll bars usable by a user to provide inputs through the input device 110 that cause creating the layout 120 of an electric circuit 122. By way of example, the GUI 114 may include an electric circuit layout user interface (Ul) 116 provided to a user.

[0041] In an example embodiment, for creating a layout 120 of an electric circuit 122 including electrical components 124, wherein the components 124 include fixed components 124s with a fixed position 126s in the layout 120 and flexible components 124m with a selectable position 126m in the layout 120, and wherein the application software component 106 and / or the processor 102 may be configured to assign a first plurality of electrically connected components to a first set 128-1 , wherein the first set 128-1 includes at least two fixed components 124s and at least two flexible components 124m.

[0042] The electric circuit 122 may include a plurality of electrical components 124 which may be arranged in a certain layout 120. Herein, the fixed components 124s may have a specific, fixed position 126s in the layout 120 and, in some examples, in the final layout 120, electric conductor paths 132 may connect at least some of the fixed components 124s. By way of example, the respective, fixed position 126s of the respective, fixed component 124s may be provided beforehand, e.g. by carrying out a component placement step as explained above in the context of the design flow. In some examples, such a component placement step may be carried out by another EDA system with another data store 108’ which may then communicate the respective, fixed position 126s of the respective, fixed component 124s to the present electric circuit layout system 118 which may accordingly receive and store this information, e.g., in the internal data store 108. In further examples, the present electric circuit layout system 118 may be adapted to include functionalities to carry out the mentioned component placement step. The layout 120 may include both the respective, fixed position 126s of the respective, fixed component 124s and the respective, selectable position 126m of the respective flexible component 124m, wherein the mentioned selectable positions 126m may be determined as explained below.

[0043] By way of example, the layout 120 of the electric circuit 122 may include a first set 128-1 of electrical components 124 and optionally a second set 128-1 and further sets 128 of electrical components 124, wherein the respective set 128 may, e.g., be understood as a net of electrically interconnected components 124 and their electrical connections. Hence, in some examples, if the layout 120 includes two separate sets 128-1 , 128-2, the components 124 and their electrical connections of the first set 128-1 are electrically separate or optionally electrically isolated from the components 124 and their electrical connections of the second set 128-2. In some examples, the electric circuit layout system 118 may carry out this step of assigning the components 124 to a respective set 128, wherein in further examples, the electric circuit layout system 118 may receive information on the assignment of components 124 to a respective set 128, e.g. from another EDA system with another data store 108’ or from a user.

[0044] In some examples, good results may be achieved if the number of flexible component 124m is several dozens, ca. one hundred or several hundreds or thousands. In further examples, the number of flexible component 124m may be greater than several thousands. In further examples, the mentioned numbers of flexible component 124m may be present per respective set 128-1 , 128-2 or for the complete electric circuit 122.

[0045] By way of example, the application software component 106 and / or the processor 102 may further be configured to determine the selectable position 126m of the respective flexible component 124m by determining an equilibrium in the distribution of the components 124 of the first set 128-1 when the components 124 of the first set 128-1 exert a modelled interaction force 130 on each other.

[0046] E.g., to complete the design 120 of the electric circuit 122, the respective selectable position 126m of the respective flexible component 124m may need to be determined. For this determination, the modelled interaction force 130 is introduced as follows: each component 124 of the first set 128-1 may exert the modelled interaction force 130 on the other components 124 of the first set 128-1. By way of example, pairs of components 124 of the first set 128-1 may be considered, wherein the two components 124 of each pair exert the modelled interaction force 130 on each other, and wherein the mentioned pairs may cover all possible permutations of paired components 124. The respective, modelled interaction force 130 may then tend to push or pull one or more of the flexible components 124m into a certain direction until the respective flexible component 124m arrives at a respective equilibrium position 126m so that, e.g., no net force is exerted on the respective flexible component 124m anymore. Herein, no net force may, e.g., occur if two or more forces exerted on the respective flexible component 124m cancel each other out. By way of example, moving one of the flexible components 124m to a different position 126m in the layout 120 may imply changing the equilibrium position 126m of one or more of the other flexible components 124m of the first set 128-1. Hence, in some examples, the determination of the respective equilibrium position 126m of the respective flexible component 124m may be done using an iterative procedure. E.g., once each of the flexible components 124m has arrived at its respective equilibrium position 126m, the equilibrium in the distribution of the components 124 of the first set 128-1 is found. Herein, it should be appreciated, that in some examples, the explained determination of the selectable position 126m of the respective flexible component 124m using the explained modelled interaction force 130 may be understood as a computational procedure carried out by the processor 102 of the electric circuit layout system 118.

[0047] In some examples, the modelled interaction force 130 may act between two flexible components 124m, or between one fixed component 124s and one flexible component 124m. By way of example, there may be no modelled interaction force 130 acting between two fixed components 124s which may, e.g., mean that the corresponding modelled interaction force 130 may be zero.

[0048] In further examples, the application software component 106 and / or the processor 102 may further be configured to determine the layout 120 including the fixed components 124s on the respective fixed position 126s and the flexible components 124m on the determined respective selectable position 126m.

[0049] The desired layout 120 may, e.g., be composed using both the respective fixed position 126s of the respective fixed component 124s and the respective, determined, selectable position 126m of the respective flexible component 124m of the first set 128-1.

[0050] By way of example, the application software component 106 and / or the processor 102 may further be configured to output the determined layout 120.

[0051] The determined layout 120 may then, e.g., be output to a user or an engineer, e.g., via the electric circuit layout Ul 116 which may be displayed to the user on the display device 112. In further examples, the determined layout 120 may additionally or alternatively be output to another device which is communicatively connected with the electric circuit layout system 118. Such further examples explained in more detail below.

[0052] In some examples, the application software component 106 and / or the processor 102 may further be configured to assign a respective further plurality of electrically connected components 124 to a respective further set 128-2, wherein the respective further set 128-2 includes at least two fixed components 124s and at least two flexible components 124m, and wherein the components 124 of the respective further set 128-2 are electrically separate from the components 124 of the other set 128-1 or the other sets 128-3; and to determine the selectable position 126m of the respective flexible component 124m by determining an equilibrium in the distribution of the components 124 of the sets 128-1 , 128-2, 128-3 when the components 124 of the sets 128-1 , 128-2, 128-3 exert the modelled interaction force 130 on each other.

[0053] In these examples, the layout 120 includes two or more sets 128-1 , 128-2, ... which may, as mentioned above, e.g., be understood as a respective net of electrically interconnected components 124 and their electrical connections. Herein, the components 124 and their electrical connections of one of sets 128-1 or nets are electrically separate or optionally electrically isolated from the components 124 and their electrical connections of the other set(s) 128-2 or net(s). Again, in some examples, the electric circuit layout system 118 may carry out this step of assigning components 124 to a respective set 128-1 , 128-2, ..., wherein in further examples, the electric circuit layout system 118 may receive information on the assignment of components 124 to a respective set 128-1 , 128-2 e.g. from another EDA system with another data store 108’ or from a user, wherein the electric circuit layout system 118 may store the mentioned information in the internal data store 108.

[0054] Again, e.g., to complete the design 120 of the electric circuit 122, the respective selectable position 126m of the respective flexible component 124m may need to be determined, wherein the layout 120 may include two or more sets 128-1 , 128-2, .... By way of example, the above- mentioned modelled interaction force 130 may act between all components 124 of the layout 120, i.e., the modelled interaction force 130 may act both between the components 124 of the same set 128-1 , 128-2 and between the components 124 of different sets 128-1 , 128-2. By way of example, pairs of components 124 of only one of the sets 128-1 , 128-2, ... may be considered, or pairs of one of the components 124 of one of the sets 128-1 , 128-2, ... and one of the components 124 of another one of the sets 128-1 , 128-2, ... may be considered. Like in the above example of the layout 120 including only one set 128-1 , the respective, modelled interaction force 130 may then tend to push or pull one or more of the flexible components 124m of the layout 120 into a certain direction until the respective flexible component 124m arrives at a respective equilibrium position 126m so that, e.g., no net force is exerted on the respective flexible component 124m anymore. By way of example, moving one of the flexible components 124m to a different position 126m in the layout 120, may imply changing the equilibrium position 126m of one or more other flexible components 124m which may belong to the same set 128-1 , 128-2, ... or another set 128-1 , 128-2, .... Hence, in some examples, the determination of the respective equilibrium position 126m of the respective flexible component 124m may be done using an iterative procedure.

[0055] E.g., once each of the flexible components 124m has arrived at its respective equilibrium position 126m, the equilibrium in the distribution of the components 124 of the sets 128-1 , 128- 2, ... is found. Herein, it should be appreciated, that in some examples, the explained determination of the selectable position 126m of the respective flexible component 124m using the explained modelled interaction force 130 may be understood as a computational procedure carried out by the processor 102 of the electric circuit layout system 118.

[0056] Analogously to the example of only one set 128-1 of components 124 explained above, the layout 120 may then, e.g., be composed by including the fixed components 124s on the respective fixed position 126s and the flexible components 124m on the determined respective selectable position 126m. Further, the determined layout 120 may then be output as explained above.

[0057] In some examples, the application software component 106 and / or the processor 102 may further be configured to - at the start of the determination of the equilibrium in the distribution of the components 124 - assign the respective flexible component 124m to a start position 126i in the layout 120; to iteratively determine a respective intermediate position 126m of the respective flexible component 124m by determining an intermediate equilibrium of the respective component 124 when the respective component 124 and at least one of the other components 124 exert the modelled interaction force 130 on each other; and to stop the iterative determination of the respective intermediate position 126m when the equilibrium in the distribution of the components 124 has been reached, when a preconfigurable iteration duration has lapsed, or when the determined change of the respective intermediate position 126m is smaller than a preconfigurable position change threshold 126c.

[0058] By way of example, the respective start position 126i of the respective flexible component 124m may be a random position, e.g. within the boundaries of available positions in the layout 120 or the electric circuit 122. In further examples, the start positions 126i of the flexible components 124m may be equally distributed within the boundaries of available positions in the layout 120 or the electric circuit 122, or, e.g., a respective, fixed starting position 126i may be pre-configured beforehand. Herein, in some examples, pre-configuring a respective starting position 126i in the vicinity of one or more of the fixed positions 126s of the fixed components 124s (e.g., of the same set 128-1 , 128-2, ...) may be beneficial to speed up determining the respective equilibrium position 126m of the respective flexible component 124m since, in some examples, the exerted modelled interaction forces 130 may be larger than in other respective start positions 126i (e.g., being more remote from the fixed components 124s of the same set 128-1 , 128-2, ...) which may lead to a faster convergence of the respective equilibrium position 126m towards the respective equilibrium position 126m of the flexible components 124m.

[0059] To derive the mentioned, respective equilibrium position 126m from the respective start position 126i, an iteration of sequential determination steps may be performed, wherein for each of the sequential determination steps, an intermediate equilibrium position 126m of the respective flexible component 124m may be determined. To determine the mentioned intermediate equilibrium position 126m, the interaction, e.g., of one of the flexible components 124m with one or more of the other flexible components 124m, may be considered such that the considered, flexible component 124m and the one or more other flexible components 124m may exert the modelled interaction force 130 on each other and the considered, flexible component 124m may be moved to a new intermediate position 126m in the layout 120 in which there is an equilibrium so that no net force is exerted on the considered, flexible component 124m in the new intermediate position 126m. This new intermediate position 126m of the considered, flexible component 124m may, e.g., imply stronger or weaker interactions with the other components 124 so that, e.g., the explained procedure may be repeated for the next flexible component 124m, and so on.

[0060] Eventually, the explained iteration using a sequence of determination steps may provide a respective equilibrium position 126m for the respective, flexible component 124m so that no net force is exerted on the respective, flexible component 124m. Hence, if the respective equilibrium position 126m for the respective, flexible component 124m has been determined, the explained iterative determination of the respective intermediate position 126m may be stopped. In some examples, determining the exact respective equilibrium position 126m for the respective, flexible component 124m may not be necessary or feasible, e.g., when the determined change of the respective intermediate position 126m from one of the iteration steps to the subsequent iteration step is smaller than a preconfigurable position change threshold 126c. Hence, the iterative determination of the respective intermediate position 126m may be stopped, e.g., if the respective intermediate position 126m has converged to a certain final respective position 126m within a deviation of the preconfigurable position change threshold. In some examples, stopping the iterative determination may contribute to speed up determining the selectable position 126m of the respective flexible component 124m and hence of the creation of the layout 120 since the involved computational effort may be restricted. By way of example, the preconfigurable position change threshold may correspond to a change in the position of less than 1% from one of the iteration steps to the subsequent iteration step, in further examples, the preconfigurable position change threshold may correspond to a change in the position of less than 5%, 3%, 0.3%, 0.1% or 0.03% from one of the iteration steps to the subsequent iteration step. In further examples, the iterative determination of the respective intermediate position 126m may be stopped when a preconfigurable iteration duration, such as one second or several seconds, ca. one minute or several minutes has lapsed, wherein good results may, in some examples, already be achieved with a preconfigurable iteration duration of ca. ten seconds.

[0061] In further examples, the fixed components 124s may include electronic components, such as active components, passive components, and electromechanical components, wherein the flexible components 124m may include segments of a conductor path 134 to connect the fixed components 124s of the respective set 128-1 , 128-2, 128-3.

[0062] By way of example, active components may be understood to rely on a source of energy and usually may inject power into a circuit. Active components may include amplifying components such as transistors, diodes, thyristors, field-programmable gate arrays (FPGAs) or optoelectronic components, such as opto-isolators, opto-couplers, photo-couplers or optical switches. Herein, the transistors may include IGBTs (insulated-gate bipolar transistors) or fieldeffect transistors (FET), such as MOSFET (metal-oxide-semiconductor FET). Further, the diodes may include light-emitting diodes (LEDs), photodiodes, etc. By way of example, the respective active component may include a wide-bandgap semiconductor with a bandgap in the range above 2 eV.

[0063] In some examples, passive components may not be able to introduce net energy into a circuit. Passive components may, e.g., include two-terminal components such as resistors, capacitors, inductors, and transformers. In further examples, electromechanical components may carry out electrical operations by using moving parts or by using electrical connections.

[0064] Electromechanical components may, e.g., include piezoelectric devices, crystals, resonators, switches, fuses, or circuit breakers. By way of example, the passive components may further include connection terminals or connection pins through which signals or electric power may be provided from or to the electric circuit 122.

[0065] The mentioned segments of a conductor path 134 may, e.g., be understood as individual pieces of an electrically conducting material which may jointly form the respective conductor path 134 together with other such individual pieces of an electrically conducting material. In other words, the conductor path 134 may, e.g., be divided into smaller fragments of which each may correspond to a respective flexible component 124m. Herein, it should be understood that the mentioned segments of fragments of the conductor path 134 may, e.g., be used as an auxiliary construct to determine the layout 120 or more precisely the respective conductor path 134 connecting with fixed components 124s of the respective set 128-1 , 128-2, 128-3. By way of example, the respective segment or fragment may have a preconfigurable size, such as a square or circle, a cube or a sphere with a predefined edge length or diameter, such as several nm or several tens of nm, e.g., 5 nm, 10 nm, 15 nm, 20 nm, or 25 nm. In further examples, the predefined edge length or diameter may also be one or two orders of magnitude larger. By way of example, a sufficient amount of such flexible components 124m may need to be provided to allow for connecting the fixed components 124s which shall be connected.

[0066] By way of example, the plurality of determined respective selectable positions 126m of the flexible components 124m of the respective set 128-1 , 128-2, 128-3 may form a respective point cloud 132, wherein the application software component 106 and / or the processor 102 may further be configured to determine a respective conductor path 134 corresponding to the respective point cloud 132; and to update the determined layout 120 by replacing the flexible components 124m with the determined respective conductor path 134.

[0067] Herein, a point cloud 132 may, e.g., be understood as a discrete set of data points in space. In the present context, the determined respective selectable position 126m of the respective flexible component 124m of the respective set 128-1 , 128-2, 128-3 may, e.g., represent the points of the respective point cloud 132. Further, each point position may, e.g., have a set of Cartesian coordinates (X, Y, Z). In some examples, the points of the point cloud 132 may, e.g., represent a three-dimensional shape, such as the above-mentioned cube or sphere, or a two- dimensional shape (e.g., with Z=0), such as the above-mentioned square or circle. By way of example, the coordinate of the respective point of the point cloud 132 may correspond to the center of the respective flexible component 124m of the respective set 128-1 , 128-2, 128-3.

[0068] By way of example, the application software component 106 and / or the processor 102 may further be configured to generate a point cloud 132 at least including the determined respective selectable position 126m of the respective flexible component 124m of the respective set 128-1 , 128-2, 128-3. In some examples, additional points may be added to the respective point cloud 132 or optionally one or more outliers among the determined respective selectable positions 126m may be neglected, e.g., to generate a smooth contour or shape of the respective point cloud 132, wherein e.g., smoothing or curve fitting techniques may be applied. The respective point cloud 132 may then be used to determine the respective conductor path 134, wherein in some examples, the respective point cloud 132 may be converted to a polygon mesh or triangle mesh model, a non-uniform rational B-spline (NURBS) surface model, or CAD (computer-aided design) model through a process commonly referred to as surface reconstruction. By way of example, Delaunay triangulation, alpha shapes, or ball pivoting may be used to build a network of triangles over the existing vertices of the point cloud, while in other examples, the respective point cloud may be converted into a volumetric distance field to reconstruct the implicit surface so defined through a marching cubes algorithm. The shape of the respective conductor path 134 may then, e.g., correspond to the mentioned network of triangles or the mentioned implicit surface.

[0069] By way of example, the determined layout 120 may then be updated to include the determined, respective conductor path 134 instead of the respective flexible component 124m. In further examples, the original step of determining the layout 120 including the fixed components 124s on the respective fixed position 126s and the flexible components 124m on the determined respective selectable position 126m may be optional. In such examples, the layout 120 may, e.g., directly be determined including the fixed components 124s on the respective fixed position 126s and the determined, respective conductor path 134.

[0070] In further examples, the application software component 106 and / or the processor 102 may further be configured to provide a respective constraint with respect to at least one of the fixed components 124s; and assign a weighting factor to the modeled interaction force 130 exerted by and being exerted on the respective constrained fixed components 124s’.

[0071] By way of example, the constraint may be used to prioritize one or more of the fixed components 124s, e.g., such that more of the flexible components 124m may be used to electrically connect the respective prioritized fixed component 124s with one or more of the other fixed components 124s. Herein, the respective prioritized fixed component 124s may be understood to be the respective constrained fixed component 124s’. Such a scenario may, e.g., occur if one of the fixed components 124s may correspond to a connection pin through which a comparably large electric power may be provided to the electric circuit 122, wherein this comparably large electric power may then be distributed to three other fixed components 124s, e.g., three active components. Accordingly, the respective electric power being provided by the electric circuit 122 to each of the three active components 124s may only be one third of the electric power provided to the electric circuit 122 through the connection pin. Consequently, the constrained fixed component 124s corresponding to the connection pin may be prioritized over the fixed active components 124s such that the flexible components 124m may be attracted more to the constrained fixed component 124s than to the fixed active components 124s and therefore may, e.g., allow for a more performant electrical connection from or to the constrained fixed component 124s allowing for higher, transmitted electric power.

[0072] In some examples, the extent of the prioritization of one or more of the constrained fixed components 124s may be tuned with the weighting factor to the modelled interaction force 130 exerted by and being exerted on the respective constrained fixed components 124s. In the context of the above example with the connection pin and the three active components 124s, the fixed component 124s of the connection pin may be assigned a weighting factor of three, wherein the respective weighting factor of the three active components 124s remains at one. This may be suitable, e.g., if the electric input current at the connection pin may be 100 A which then gets distributed among the three active components 124s which each may be supplied with 33.3 A.

[0073] In further examples, there may be one or more sets of constraints which may be defined by a user, or which may be pre-configured. The pre-configured set of constraints may, e.g., define a certain interaction between fixed components 124s, between electric connections of fixed components 124s, or between fixed components 124s and their electric connections. For example, a certain type of an active component 124s, e.g., an IGBT, may involve a preconfigured constraint and a corresponding predefined weighting factor which may, e.g., allow for a performant electrical connection of this active component 124s. In further examples, if the active component 124s is a LED, the pre-configured constraint and the corresponding predefined weighting factor may, e.g., only allow for a less performant electrical connection of this active component 124s.

[0074] By way of example, the application software component 106 and / or the processor 102 may further be configured to provide a list of the components 124 and of the electrical connections of the components 124; and determine the respective set 128-1, 128-2, 128-3 of electrically connected components 124 from the provided list.

[0075] By way of example, the list may correspond to the above-mentioned netlist and may be provided in an Electronic Design Interchange Format (EDIF) or the like. Herein, in an EDA or design flow context, a netlist may, e.g., be understood as the list of components 124 of the electric circuit 122 and the interconnects which electrically connect the components 124 of the electric circuit 122. In some examples, the mentioned list may be provided by another EDA software tool via an interface to the present electric circuit layout system 118. In further examples, the mentioned list may be stored in the data store 108 of the present electric circuit layout system 118.

[0076] E.g., by analyzing the components 124 and interconnects provided in the list, one or more sets 128-1 , 128-2, 128-3, etc. may be identified, wherein each set 128-1 , 128-2, 128-3 includes a plurality of electrically connected components 124 being electrically separate from other components 124 of others sets 128-1 , 128-2, 128-3. Hence, the components 124 provided in the list may be assigned to one or more sets 128-1 , 128-2, 128-3, wherein each component 124 may only be assigned one of the sets 128-1 , 128-2, 128-3.

[0077] In some examples, the components 124 provided in the mentioned list may (only) include the fixed components 124s and optionally the respective fixed position 126s. The number of flexible components 124m may then be determined, e.g., based on the distance between the fixed components 124s of the respective set. In further examples, a pre-configured number of flexible components 124m may be used.

[0078] In further examples, the modelled interaction force 130 may include at least one attractive interaction force 130 attracting two components 124 to each other and / or the modelled interaction force 130 may include at least one repulsive interaction force 130 repelling two components 124 from each other.

[0079] By way of example, an attractive interaction force 130 may tend to bring to attracted components 124 closer to each other. In further examples, a repulsive interaction force 130 may tend to push the repelled components 124 farer away from each other.

[0080] In some examples, the modelled interaction force 130 may include an intra-set component 130i of the interaction force 130 between components 124 of the same set 128-1 , 128-2, 128-3, wherein optionally the modelled interaction force 130 may include an inter-set component 130ii of the interaction force 130 between components 124 of one of the sets 128-1 , 128-2, 128-3 and components 124 of another one of the sets 128-1 , 128-2, 128-3.

[0081] The interaction force 130 may depend on whether the involved components 124 belong to the same set 128-1 , 128-2, 128-3 or not. Hence, within the same set 128-1 , 128-2, 128-3, there may be an intra-set component 130i of the interaction force 130 which may, e.g., have attractive components which may, e.g., tend to keep the flexible components 124m comparably close to the fixed components 124s of the same set 128-1 , 128-2, 128-3. Between different sets 128-1 , 128-2, 128-3, there may be an inter-set component 130ii of the interaction force 130 which may, e.g., have repulsive components which may, e.g., tend to push the flexible component 124m of the one set 128-1 , 128-2, 128-3 away from the flexible components 124m and / or the fixed components 124s of the other set(s) 128-1 , 128-2, 128-3.

[0082] In further examples, the intra-set component 130i and / or the inter-set component 130ii may further depend on whether the components are flexible components 124m or fixed component 124s.

[0083] By way of example, the modelled interaction force 130 may model at least one of the fundamental forces.

[0084] There are four fundamental interactions known to exist: gravity, electromagnetism, weak interaction, and strong interaction. The gravitational and electromagnetic interactions produce long-range forces. A correspondingly modelled interaction force 130 may be attractive and long- ranged, at least with respect to the size of the layout 120 of the electric circuit 122. The strong and weak interactions produce forces at minuscule, subatomic distances which may correspond to a modelled interaction force 130 which may act only in the direct vicinity of the involved component 124, e.g., allowing for or ruling out a neighboring component touching the considered component 124.

[0085] By way of example, modelling at least one of the fundamental forces may involve that the respective modelled interaction force 130 may have a certain, limited range within it may act.

[0086] In some examples, the modelled interaction force 130 may include at least one distancedependent parameter relating to the distance between one of the flexible components 124m and one of the other components 124, wherein the respective distance-dependent parameter may be selected such there is at least a preconfigurable minimum distance between the two components 124.

[0087] In some examples, a minimum distance may need to be observed between some of the components 124 and their interconnects on the one hand and other of the components 124 and their interconnects on the other hand. Such a minimum distance may be introduced using the respective, distance-dependent parameter, e.g., by making the respective, modelled interaction force 130 strongly repulsive if the distance between, e.g., one flexible component 124m on the one hand and another flexible component 124m or a fixed component 124s on the other hand is smaller than the mentioned minimum distance. Further, the respective, distance-dependent parameter may be chosen such that approaching while staying above the minimum distance may be penalized by gradually increasing a repulsive component to the modelled interaction force 130.

[0088] In further examples, the respective preconfigurable minimum distance 144 may correspond to a clearance between components 124 operated with different voltages and / or the respective preconfigurable minimum distance may correspond to a distance to avoid overheating of components 124 dissipating heat during operation.

[0089] By way of example, at least one of the components 124 may be operated at low voltage, e.g., 12 V, wherein another one or more of the components 124 may be operated at higher voltage, e.g., 230 V, 800 V or several kV or above. In such scenarios, a minimum distance may need to be observed between the low-voltage component(s) 124 and their interconnects on the one hand and the high-voltage component(s) 124 and their interconnects on the other hand. By way of example, the low-voltage component(s) 124 may belong to one of the sets 128-1 , 128-2, 128- 3, wherein the high-voltage component(s) 124 may belong to another one of the sets 128-1 , 128-2, 128-3. By way of example, the preconfigurable minimum distance may correspond to a clearance between components 124 operated with different voltages. Thanks to the respective distance-dependent parameter, the flexible components 124m may arrange such that the preconfigurable minimum distance and hence the clearance between the flexible components 124m and the fixed components 124s operated with the different voltages is complied with.

[0090] In some examples, one or more of the fixed components 124s may produce significant dissipation during its or their operation so that a minimum distance to avoid overheating of the respective fixed component 124s may need to be observed. Such scenarios may, e.g., occur for fixed components 124s being transistors or other power electronics elements. By way of example, the respective preconfigurable minimum distance may be introduced via the distancedependent parameter such that at least the fixed component 124s of other sets 128-1 , 128-2, 128-3 than the set 128-1 , 128-2, 128-3 to which the heat dissipating fixed component 124s belongs are keep at the minimum distance from the heat dissipating fixed component 124s.

[0091] In further example, the preconfigurable minimum distance may be provided before-hand and be stored in the internal data store 108. In some examples, the preconfigurable minimum distance may be determined using a simulation tool which may simulate the physical behavior of the electric circuit 122 to determine its operational behavior and check what a suitable minimum distance may be. Herein, a starting value of the preconfigurable minimum distance may be provided and then be adapted if required. The physical behavior of the electric circuit 122 may, e.g., include the electric, thermal, or mechanical behavior of the circuit 122 when it is operated.

[0092] By way of example, the electric circuit 122 may be or be included by an integrated circuit (IC) or a printed circuit board (PCB), wherein the layout 120 may be two-dimensional or three- dimensional.

[0093] An IC, also known as a microchip, computer chip, or simply chip, may, e.g., be understood as a small electronic device made up of multiple interconnected electronic components 124 such as transistors, resistors, and capacitors. These components 124 may be etched onto a small piece of semiconductor material, usually silicon.

[0094] By way of example, a PCB, also called printed wiring board (PWB), may be understood to be a medium used to connect or "wire" components 124 to one another in a circuit. It may take the form of a laminated sandwich structure of conductive and insulating layers: each of the conductive layers may be designed with a pattern of traces, planes, and other features (similar to wires on a flat surface) etched from one or more sheet layers of copper laminated onto and / or between sheet layers of a non-conductive substrate. Electrical components 124 may be fixed to conductive pads on the outer layers in the shape designed to accept the component's terminals, generally by means of soldering, to both electrically connect and mechanically fasten them to it. Another manufacturing process may add vias, plated-through holes that allow interconnections between layers.

[0095] In some examples, the application software component 106 and / or the processor 102 may further be configured to transmit the created layout 120 to an electric circuit manufacturing machine 150, e.g., for manufacturing one or more electric circuits 122 according to the transmitted, composed layout 120 or for preparing such a manufacture.

[0096] In further examples, the application software component 106 and / or the processor 102 may further be configured to cause the electric circuit manufacturing machine 150 to manufacture one or more electric circuits 122 according to the transmitted, composed layout 120.

[0097] It should be appreciated that the described the application software component 106 and / or the processor 102 may carry out an analogous method of creating a layout 120 of an electric circuit 122 including electrical components 124. Further, a computer-readable medium 160 which may include a computer program product 162 is shown in Fig. 1 , wherein the computer program product 162 may be encoded with executable instructions, that when executed, cause the computer system 100 or and / or the electric circuit layout system 118 to carry out the described method.

[0098] By way of example, the created layout 120 including the respective flexible position 126m of the respective flexible component 124m and the respective fixed position 126s of the respective fixed component 124s may be displayed to a user via the electric circuit layout Ul 116. By way of example, the respective components 124 may also be displayed via the electric circuit layout Ul 116.

[0099] By way of example, the electronic design may be modelled as an artificial life environment. In this environment, there may be creatures with a fixed position, such as the fixed, placed components 124s. In this artificial environment, there is a second type of creature, the flexible components 124m, which can move freely in the 2D or 3D environment. In some examples, knowing or modelling environmental forces on each object (i.e. , the flexible components 124m and optionally the fixed components 124s) may be used to predict the next state to eventually determine the above-mentioned equilibrium positions 126m. In a real-world scenario, gravitation, electromagnetic interaction, and strong and weak interaction may need to be considered. In some example, even only one of these forces may be sufficient for the present artificial environment to produce good results. For example, only gravitation may be applied to each element: this means that an attractional and a repelling force may be applied to each element. If the creatures of the first type (the fixed component 124s) is now combined with the random placement of the creatures of the second type (freely moving flexible components 124m) and applying the mentioned, modelled interaction force 130, nice-looking shapes or designs 120 may be created, which can be directly reused for electronic design of real electric circuits 122. Another advantage of the present approach may include that electrical and thermal constraints may be considered by using suitable coefficients, the weighting factors, for the attraction and repelling forces, e.g., of the mentioned, modelled interaction force 130. This process's result may be a point cloud. This point cloud may be easily transformed in any PCB and IC design ECAD tool.

[0100] In some examples, the described method may generate conductive shapes extremely fast. The solution may need less than 3 seconds for a typical power electronics design to converge into a usable state. With this, applying this artificial environment to electrical engineering may be a key differentiator which may currently be unique. Since no other commercial solution is available, it may be more than 100 times more efficient compared to a manual approach compared to the task itself. The missing integration capabilities of manual shape creation in a fully automated optimization process may make it peerless. Also, considering the cost of implementing the suggested method, there may be huge advantages. A corresponding software code may be implemented in any programming language; no additional solver technology must be used.

[0101] When evaluating the technical features of the suggested system, which may use particle-based simulation to generate plane shapes for electronic designs, several factors contribute to cost, performance, and efficiency enhancements. One is a reduction in manual labour. Automation significantly reduces the time and labor involved in manual design, directly impacting cost. An automated processes offer consistent results, reducing errors and the need for rework. The invention provides immediate feedback on design choices, enabling quick iterations and optimizations. By accurately simulating physical forces (like electromagnetic fields), the designs are more likely to be efficient and reliable in real-world applications. Implementing the solution in optimization, the algorithms can optimize the layout for minimal use of conductive materials, reducing costs. The novel approach can consider thermal and electrical constraints, leading to more efficient designs that perform better and reduce energy consumption. The suggested method can be adapted to different project sizes and complexities without significant changes in the underlying methodology. The flexibility in the algorithm parameters allows for customization to specific design requirements. The parameters are intuitive which makes it user-friendly. This reduces the learning curve and increases productivity, also since the suggested approach is also visual. The simulation may contribute to a better understanding and communication of design concepts. The approach’s ability to import and export to various formats enhances versatility and usability.

[0102] In summary, the suggested combination of automation, advanced simulation, algorithmic optimization, and user-friendly interfaces may contribute significantly to the cost-effectiveness, performance, and efficiency of generating plane shapes for electronic design. These technical features not only streamline the design process but also lead to more innovative and sustainable solutions.

[0103] A unique aspect of using the coordinates of fixed components 124s as fixed particles and flexible components 124m as flexible particles, e.g., for different sets 128-1 , 128-2, 128-3, for generating planes for electronic design lies in the dynamic and interactive approach to design, which is quite different from traditional, static methods. Here's an elaboration on this unique aspect. By simulating particles (e.g. of different sets 128-1 , 128-2, 128-3) with different behaviors and interactions, complex relationships and dynamics may be modelled that are difficult to achieve with conventional, rule-based design methods. The coordinates of these particles can change in real-time based on the simulation rules, providing an interactive and adaptive design process. The particles can act as agents in a self-organizing system, where the final design emerges from the interaction of individual elements rather than being explicitly defined. This method can lead to more organic, potentially optimized structures that are hard to conceptualize through manual design processes. If the rules governing the particle interactions are based on physical principles (like electromagnetic forces), the resulting designs could inherently incorporate these principles, leading to more efficient and realistic electronic planes. The system can be easily adapted to different design constraints or objectives by modifying the interaction rules or environmental parameters. This approach can be customized for specific electronic design needs, such as high-power circuits, where the distribution of conductive planes is critical. Utilizing computational algorithms to optimize the placement and paths of these particles can lead to designs that are potentially more efficient in terms of material usage and signal integrity. The method can handle complex design requirements and scale according to the complexity of the electronic circuit.

[0104] In summary, using a particle-based simulation (e.g. of different sets 128-1 , 128-2, 128-3) to generate planes for electronic design introduces a dynamic, emergent, and intuitive approach. This method can potentially lead to more optimized, realistic, and innovative designs compared to traditional static methods.

[0105] With reference to Fig. 2, a functional block diagram of a second example computer system or data processing system 100 is depicted that facilitates creating the layout 120 of an electric circuit 122 including electrical components 124.

[0106] As depicted in Fig. 2, the layout 120 of the electric circuit 122 may include a first set 128-1 , a second set 128-2, and third set 128-3 of electrically connected components 124, wherein the components 124 of the respective set 128-1 , 128-2, 128-3 may be electrically separate from the components 124 of the other sets 128-1 , 128-2, 128-3. For assigning a respective plurality of electrically connected components 124 to the respective set, e.g., the above-mentioned list or netlist may be provided. The selectable position 126m of the respective flexible component 124m may be determined by determining an equilibrium in the distribution of the components 124 of the sets 128-1 , 128-2, 128-3 when the components 124 of the sets 128-1 , 128-2, 128-3 exert the modelled interaction force 130 on each other. The created layout 120 including the respective flexible position 126m of the respective flexible component 124m and the respective fixed position 126s of the respective fixed component 124s may be displayed to a user via the electric circuit layout Ul 116. By way of example, the respective components 124 may also be displayed via the electric circuit layout Ul 116. Herein, the components 124 are included in one of the three sets 128-1 , 128-2, 128-3.

[0107] With reference to Fig. 3, a functional block diagram of a third example computer system or data processing system 100 is depicted that facilitates creating the layout 120 of an electric circuit 122 including electrical components 124.

[0108] As depicted in Fig. 3, the plurality of determined selectable positions 126m of the flexible components 124m (of the set 128-1) may form a point cloud 132. Corresponding point clouds 132 may be formed by further determined selectable positions 126m of further flexible components 124m of further sets 128-2, 128-3. More detailed illustrations of such point clouds 132 of determined selectable positions 126m are depicted in Figs. 4 and 5 and are explained in more detail below. A conductor path 134 may be determined which may correspond to the point cloud 132. The determined layout 120 may then be updated by replacing the flexible components 124m with the determined conductor path 134.

[0109] With reference to Fig. 4, a flow diagram of a first aspect of an example electric circuit layout process is depicted which may, e.g., be performed by one of the example systems 100.

[0110] On the left side of Fig. 4, an example situation at the start of the determination of the equilibrium in the distribution of the components 124 is depicted. The respective flexible component 124m may be assigned to a start position 126i in the layout 120. In the present example, the layout 120 and the electric circuit 122 include a first set 128-1 and a second set 128-2 of electrically connected components 124, wherein the components 124 of the first set 128-1 may be electrically separate from the components 124 of the second set 128-2. According to the example, the first set 128-1 includes two fixed components 124s which are arranged at a respective fixed position 126s. The first set 128-1 further includes a plurality of flexible components 124m which are arranged at a respective start position 126i when the determination of the equilibrium in the distribution of the components 124 starts. The second set 128-2 includes three fixed components 124s which are arranged at a respective fixed position 126s. Further, the second set 128-1 includes a plurality of flexible components 124m which are arranged at a respective start position 126i when the determination of the equilibrium in the distribution of the components 124 starts. To determine the equilibrium in the distribution of the components 124, a modelled interaction force 130 may act between the components 124. Herein, the modelled interaction force 130 may include an intra-set component 130i acting between the components 124 of the same set 128-1 , 128-2. The modelled interaction force 130 may further include an inter-set component 130ii acting between the components 124 of the first set 128-1 and the components 124 of the second set 128-2. By way of example, the modelled interaction force 130, the intra-set component 130i, and / or the inter-set component 130ii may act between two flexible components 124m or between one fixed component 124s and one flexible component 124m. By way of example, there may be no modelled interaction force 130 acting between two fixed components 124s which may, e.g., mean that the corresponding modelled interaction force 130 may be zero.

[0111] On the right side of Fig. 4, an example equilibrium in the distribution of the components 124 is depicted which may have been determined according to the suggested approach. The flexible components 124m of the first set 128-1 may be arranged at respective, determined flexible positions 126m, wherein the plurality of flexible components 124m of the first set 128-1 may, e.g., indicate the shape of a conductor path 134 connecting the fixed components 124s of the first set 128-1. Correspondingly, the flexible components 124m of the second set 128-2 may be arranged at respective, determined flexible positions 126m, wherein the plurality of flexible components 124m of the second set 128-2 may, e.g., indicate the shape of a conductor path 134 connecting the fixed components 124s of the second set 128-2.

[0112] With reference to Fig. 5, a flow diagram of a second aspect of an example electric circuit layout process is depicted which may, e.g., be performed by one of the example systems 100.

[0113] On the left side of Fig. 5, an example equilibrium in the distribution of the components 124 is depicted which corresponds to the example equilibrium in the distribution of the components 124 depicted on the right side of Fig. 4.

[0114] The plurality of determined selectable positions 126m of the flexible components 124m of the respective set 128-1 , 128-2 may form a respective point cloud 132. By way of example, the plurality of determined selectable positions 126m of the respective set 128-1 , 128-2 may simply be interpreted as a respective point cloud 132.

[0115] In some examples, the respective point cloud 132 may then be converted to a polygon mesh or triangle mesh model, a non-uniform rational B-spline (NURBS) surface model, or CAD (computer-aided design) model through a process commonly referred to as surface reconstruction. In this way, the shape of the respective conductor path 134 may be determined, e.g., by identifying the shape of the respective conductor path 134 to have the same shape as the obtained polygon mesh or triangle mesh model. In some examples, as mentioned above, smoothing or curve fitting techniques may be applied to derive a smooth shape of the respective conductor path 134 from the respective point cloud 132.

[0116] Hence, two separate conductor paths 134 may be obtained from the two point clouds 132: a first conductor path 134 derived from the point cloud 132 of the first set 128-1 and connecting the fixed components 124s of the first set 128-1 , and a second conductor path 134 derived from the point cloud 132 of the second set 128-2 and connecting the fixed components 124s of the second set 128-2.

[0117] Referring now to Fig. 6, a methodology M is depicted that facilitates creating a layout of an electric circuit including electrical components, wherein the components include fixed components with a fixed position in the layout and flexible components with a selectable position in the layout. The method may start at M02, and the methodology may include several acts carried out through operation of at least one processor.

[0118] These acts may include an act M04 of assigning a first plurality of electrically connected components to a first set, wherein the first set includes at least two fixed components and at least two flexible components; an act M06 of determining the selectable position of the respective flexible component by determining an equilibrium in the distribution of the components of the first set when the components of the first set exert a modelled interaction force on each other; an act M08 of determining the layout including the fixed components on the respective fixed position and the flexible components on the determined respective selectable position; and an act M10 of outputting the determined layout. At M12 the methodology may end.

[0119] It should further be appreciated that the methodology M may include other acts and features discussed previously with respect to the computer-implemented method of creating a layout of an electric circuit including electrical components.

[0120] Referring now to Fig. 7, another methodology M is depicted that facilitates creating a layout of an electric circuit including electrical components, wherein the components include fixed components with a fixed position in the layout and flexible components with a selectable position in the layout. The method may start at M02, and the methodology may include several acts carried out through operation of at least one processor. These acts may include an act M04 of assigning a first plurality of electrically connected components to a first set, wherein the first set includes at least two fixed components and at least two flexible components; an act M06 of determining the selectable position of the respective flexible component by determining an equilibrium in the distribution of the components of the first set when the components of the first set exert a modelled interaction force on each other, wherein the plurality of determined respective selectable positions of the flexible components of the respective set form a respective point cloud; an act of determining the layout including the fixed components on the respective fixed position and the flexible components on the determined respective selectable position; an act M08 of determining a respective conductor path corresponding to respective the point cloud; and an act M10 of updating the determined layout by replacing the flexible components with the determined respective conductor path, and an act M12 of outputting the determined layout. At M14 the methodology may end.

[0121] Fig. 8 depicts a block diagram of a data processing system 1000 (also referred to as a computer system) in which an embodiment can be implemented, for example, as a portion of a product system, and / or other system operatively configured by software or otherwise to perform the processes as described herein. The data processing system 1000 may include, for example, the computer or IT system or data processing system 100 mentioned above. The data processing system depicted includes at least one processor 1002 (e.g., a CPU) that may be connected to one or more bridges / controllers / buses 1004 (e.g., a north bridge, a south bridge). One of the buses 1004, for example, may include one or more I / O buses such as a PCI Express bus. Also connected to various buses in the depicted example may include a main memory 1006 (RAM) and a graphics controller 1008. The graphics controller 1008 may be connected to one or more display devices 1010. It should also be noted that in some embodiments one or more controllers (e.g., graphics, south bridge) may be integrated with the CPU (on the same chip or die). Examples of CPU architectures include IA-32, x86-64, and ARM processor architectures.

[0122] Other peripherals connected to one or more buses may include communication controllers 1012 (Ethernet controllers, WiFi controllers, cellular controllers) operative to connect to a local area network (LAN), Wide Area Network (WAN), a cellular network, and / or other wired or wireless networks 1014 or communication equipment.

[0123] Further components connected to various busses may include one or more I / O controllers 1016 such as USB controllers, Bluetooth controllers, and / or dedicated audio controllers (connected to speakers and / or microphones). It should also be appreciated that various peripherals may be connected to the I / O controller(s) (via various ports and connections) including input devices 1018 (e.g., keyboard, mouse, pointer, touch screen, touch pad, drawing tablet, trackball, buttons, keypad, game controller, gamepad, camera, microphone, scanners, motion sensing devices that capture motion gestures), output devices 1020 (e.g., printers, speakers) or any other type of device that is operative to provide inputs to or receive outputs from the data processing system. Also, it should be appreciated that many devices referred to as input devices or output devices may both provide inputs and receive outputs of communications with the data processing system. For example, the processor 1002 may be integrated into a housing (such as a tablet) that includes a touch screen that serves as both an input and display device. Further, it should be appreciated that some input devices (such as a laptop) may include a plurality of different types of input devices (e.g., touch screen, touch pad, keyboard). Also, it should be appreciated that other peripheral hardware 1022 connected to the I / O controllers 1016 may include any type of device, machine, or component that is configured to communicate with a data processing system.

[0124] Additional components connected to various busses may include one or more storage controllers 1024 (e.g., SATA). A storage controller may be connected to a storage device 1026 such as one or more storage drives and / or any associated removable media, which can be any suitable non-transitory machine usable or machine-readable storage medium. Examples include nonvolatile devices, volatile devices, read only devices, writable devices, ROMs, EPROMs, magnetic tape storage, floppy disk drives, hard disk drives, solid-state drives (SSDs), flash memory, optical disk drives (CDs, DVDs, Blu-ray), and other known optical, electrical, or magnetic storage devices drives and / or computer media. Also, in some examples, a storage device such as an SSD may be connected directly to an I / O bus 1004 such as a PCI Express bus.

[0125] A data processing system in accordance with an embodiment of the present disclosure may include an operating system 1028, software / firmware 1030, and data stores 1032 (that may be stored on a storage device 1026 and / or the memory 1006). Such an operating system may employ a command line interface (CLI) shell and / or a graphical user interface (GUI) shell. The GUI shell permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application. A cursor or pointer in the graphical user interface may be manipulated by a user through a pointing device such as a mouse or touch screen. The position of the cursor / pointer may be changed and / or an event, such as clicking a mouse button or touching a touch screen, may be generated to actuate a desired response. Examples of operating systems that may be used in a data processing system may include Microsoft Windows, Linux, UNIX, iOS, and Android operating systems. Also, examples of data stores include data files, data tables, relational database (e.g., Oracle, Microsoft SQL Server), database servers, or any other structure and / or device that is capable of storing data, which is retrievable by a processor.

[0126] The communication controllers 1012 may be connected to the network 1014 (not a part of data processing system 1000), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. Data processing system 1000 can communicate over the network 1014 with one or more other data processing systems such as a server 1034 (also not part of the data processing system 1000). However, an alternative data processing system may correspond to a plurality of data processing systems implemented as part of a distributed system in which processors associated with several data processing systems may be in communication by way of one or more network connections and may collectively perform tasks described as being performed by a single data processing system. Thus, it is to be understood that when referring to a data processing system, such a system may be implemented across several data processing systems organized in a distributed system in communication with each other via a network.

[0127] Further, the term “controller” means any device, system, or part thereof that controls at least one operation, whether such a device is implemented in hardware, firmware, software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely.

[0128] In addition, it should be appreciated that data processing systems may be implemented as virtual machines in a virtual machine architecture or cloud environment. For example, the processor 1002 and associated components may correspond to a virtual machine executing in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper-V, Xen, and KVM.

[0129] Those of ordinary skill in the art will appreciate that the hardware depicted for the data processing system may vary for particular implementations. For example, the data processing system 1000 in this example may correspond to a computer, workstation, server, PC, notebook computer, tablet, mobile phone, and / or any other type of apparatus / system that is operative to process data and carry out functionality and features described herein associated with the operation of a data processing system, computer, processor, and / or a controller discussed herein. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.

[0130] Also, it should be noted that the processor described herein may be located in a server that is remote from the display and input devices described herein. In such an example, the described display device and input device may be included in a client device that communicates with the server (and / or a virtual machine executing on the server) through a wired or wireless network (which may include the Internet). In some embodiments, such a client device, for example, may execute a remote desktop application or may correspond to a portal device that carries out a remote desktop protocol with the server in order to send inputs from an input device to the server and receive visual information from the server to display through a display device.

[0131] Examples of such remote desktop protocols include Teradici's PColP, Microsoft's RDP, and the RFB protocol. In such examples, the processor described herein may correspond to a virtual processor of a virtual machine executing in a physical processor of the server.

[0132] As used herein, the terms “component” and “system” are intended to encompass hardware, software, or a combination of hardware and software. Thus, for example, a system or component may be a process, a process executing on a processor, or a processor. Additionally, a component or system may be localized on a single device or distributed across several devices.

[0133] Also, as used herein a processor corresponds to any electronic device that is configured via hardware circuits, software, and / or firmware to process data. For example, processors described herein may correspond to one or more (or a combination) of a microprocessor, CPU, FPGA, ASIC, or any other integrated circuit (IC) or other type of circuit that is capable of processing data in a data processing system, which may have the form of a controller board, computer, server, mobile phone, and / or any other type of electronic device.

[0134] Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present disclosure is not being depicted or described herein. Instead, only so much of a data processing system as is unique to the present disclosure or necessary for an understanding of the present disclosure is depicted and described. The remainder of the construction and operation of data processing system 1000 may conform to any of the various current implementations and practices known in the art. Also, it should be understood that the words or phrases used herein should be construed broadly, unless expressly limited in some examples. For example, the terms “ include” and “ include,” as well as derivatives thereof, mean inclusion without limitation. The singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Further, the term “and / or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. The term “or” is inclusive, meaning and / or, unless the context clearly indicates otherwise. The phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like.

[0135] Also, although the terms “first”, “second”, “third” and so forth may be used herein to describe various elements, functions, or acts, these elements, functions, or acts should not be limited by these terms. Rather these numeral adjectives are used to distinguish different elements, functions or acts from each other. For example, a first element, function, or act could be termed a second element, function, or act, and, similarly, a second element, function, or act could be termed a first element, function, or act, without departing from the scope of the present disclosure.

[0136] In addition, phrases such as “processor is configured to” carry out one or more functions or processes, may mean the processor is operatively configured to or operably configured to carry out the functions or processes via software, firmware, and / or wired circuits. For example, a processor that is configured to carry out a function / process may correspond to a processor that is executing the software / firmware, which is programmed to cause the processor to carry out the function / process and / or may correspond to a processor that has the software / firmware in a memory or storage device that is available to be executed by the processor to carry out the function / process. It should also be noted that a processor that is “configured to” carry out one or more functions or processes, may also correspond to a processor circuit particularly fabricated or “wired” to carry out the functions or processes (e.g., an ASIC or FPGA design). Further the phrase “at least one” before an element (e.g., a processor) that is configured to carry out more than one function may correspond to one or more elements (e.g., processors) that each carry out the functions and may also correspond to two or more of the elements (e.g., processors) that respectively carry out different ones of the one or more different functions. In addition, the term “adjacent to” may mean: that an element is relatively near to but not in contact with a further element; or that the element is in contact with the further portion, unless the context clearly indicates otherwise. Although an exemplary embodiment of the present disclosure has been described in detail, those skilled in the art will understand that various changes, substitutions, variations, and improvements disclosed herein may be made without departing from the spirit and scope of the disclosure in its broadest form. None of the description in the present patent document should be read as implying that any particular element, step, act, or function is an essential element, which must be included in the claim scope: the scope of patented subject matter is defined only by the allowed claims.

Claims

Patent claims1 . A computer-implemented method for creating a layout of an electric circuit including electrical components, wherein the components include fixed components with a fixed position in the layout and flexible components with a selectable position in the layout, and wherein the method includes:• assigning a first plurality of electrically connected components to a first set, wherein the first set includes at least two fixed components and at least two flexible components;• determining the selectable position of the respective flexible component by determining an equilibrium in the distribution of the components of the first set when the components of the first set exert a modelled interaction force on each other;• determining the layout including the fixed components on the respective fixed position and the flexible components on the determined respective selectable position; and• outputting the determined layout.

2. The computer-implemented method according to claim 1 , further including:• assigning a respective further plurality of electrically connected components to a respective further set, wherein the respective further set includes at least two fixed components and at least two flexible components, and wherein the components of the respective further set are electrically separate from the components of the other set or the other sets; and• determining the selectable position of the respective flexible component by determining an equilibrium in the distribution of the components of the sets when the components of the sets exert the modelled interaction force on each other.

3. The computer-implemented method according to any of the preceding claims, further including:• at the start of the determination of the equilibrium in the distribution of the components, assigning the respective flexible component to a start position in the layout;• iteratively determining a respective intermediate position of the respective flexible component by determining an intermediate equilibrium of the respective component when the respective component and at least one of the other components exert the modelled interaction force on each other; and• stopping the iterative determination of the respective intermediate position when the equilibrium in the distribution of the components has been reached, when a preconfigurable iteration duration has lapsed, or when the determined change of the respective intermediate position is smaller than a preconfigurable position change threshold.

4. The computer-implemented method according to any of the preceding claims, wherein the fixed components include electronic components, such as active components, passive components, and electromechanical components, and wherein the flexible components include segments of a conductor path to connect the fixed components of the respective set.

5. The computer-implemented method according to claim 4, wherein the plurality of determined respective selectable positions of the flexible components of the respective set form a respective point cloud, and wherein the method further includes:• determining a respective conductor path corresponding to the respective point cloud; and• updating the determined layout by replacing the flexible components with the determined respective conductor path.

6. The computer-implemented method according to any of the preceding claims, further including:• providing a respective constraint with respect to at least one of the fixed components; and• assigning a weighting factor to the modelled interaction force exerted by and being exerted on the respective constrained fixed components.

7. The computer-implemented method according to any of the preceding claims, further including:• providing a list of the components and of the electrical connections of the components; and• determining the respective set of electrically connected components from the provided list.

8. The computer-implemented method according to any of the preceding claims, wherein the modelled interaction force includes at least one attractive interaction force attracting two components to each other and / or wherein the modelled interaction force includes at least one repulsive interaction force repelling two components from each other.

9. The computer-implemented method according to any of the preceding claims, wherein the modelled interaction force includes an intra-set component of the interaction force between components of the same set, and wherein optionally the modelled interaction force includes an inter-set component of the interaction force between components of one of the sets and components of another one of the sets.

10. The computer-implemented method according to any of the preceding claims, wherein the modelled interaction force models at least one of the fundamental forces.11 . The computer-implemented method according to any of the preceding claims, wherein the modelled interaction force includes at least one distance-dependent parameter relating to the distance between one of the flexible components and one of the other components, and wherein the respective distance-dependent parameter is selected such there is at least a preconfigurable minimum distance between the two components.

12. The computer-implemented method according to claims 11 , wherein the respective preconfigurable minimum distance corresponds to a clearance between components operated with different voltages, and / or wherein the respective preconfigurable minimum distance corresponds to a distance to avoid overheating of components dissipating heat during operation.

13. The computer-implemented method according to any of the preceding claims, wherein the electric circuit is or may be included by an integrated circuit (IC) or a printed circuit board (PCB), and wherein the layout is two-dimensional or three-dimensional.

14. The computer-implemented method according to any of the preceding claims, further including:• transmitting the created layout to an electric circuit manufacturing machine.

15. The computer-implemented method according to claim 14, further including:• causing the electric circuit manufacturing machine to manufacture one or more electric circuits according to the transmitted, created layout.

16. A computer system arranged and configured to execute the steps of the computer- implemented method according to any one of the preceding claims.

17. A computer program product, including computer program code which, when executed by a computer system, cause the computer system to carry out the method of one of the claims 1 to 13.

18. A computer-readable medium including a computer program product including computer program code which, when executed by a computer system, cause the computer system to carry out the method of one of the claims 1 to 13.

Citation Information

Patent Citations

  • System for designing semiconductor circuit and operating method of the same

    US10970452B2

  • Timing Driven Force Directed Placement Flow

    US20080216038A1

  • Method and Computer Program for Determining a Placement of at least one Circuit for a Reconfigurable Logic Device

    US20180165400A1