Snapshot output method of effective path in network, electronic device and storage medium

By generating snapshot information of effective paths in the PCB network, the problem of ineffective path information output in EDA design is solved, and data support for simplified simulation is achieved.

CN121093870BActive Publication Date: 2026-02-10SHANGHAI UNIVISTA IND SOFTWARE GRP CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511640651.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-11
Publication Date
2026-02-10
Estimated Expiration
2045-11-11

AI Technical Summary

Technical Problem

In EDA design, existing technologies cannot effectively output the effective paths in the network and the relevant information of the nodes in the paths, which makes it impossible to provide effective data for simplifying simulation.

Method used

By obtaining the node and edge attribute information in the undirected graph, the system traverses and searches for valid paths, generating snapshot information for each valid path, including node name, role type, location, and cumulative path length.

Benefits of technology

It generates valid path snapshot information for each network in the PCB network, which users can directly use to simplify simulation and improve the completeness and accuracy of the data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121093870B_ABST
    Figure CN121093870B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of electronic design automation design, in particular to a kind of snapshot output method of effective path in network, electronic equipment and storage medium, it obtains all effective paths in current network, obtains effective path set;In the process of obtaining effective path, the node of the type of character of acquisition is end point;According to effective path set, the attribute information carried in the node and the edge of each effective path, output current network name and output node and its snapshot information according to the node order in each effective path, snapshot information includes current node name and character type, node position, the accumulated path length of each node, accumulated path length is the accumulated sum of all continuous wiring and flying line length from the starting node of the effective path of the current node to the current node, solve the technical problem that current effective path in network and the related information of node in its path cannot be effectively obtained, provide effective data for simplifying simulation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of electronic design automation technology, and in particular to a snapshot output method for effective paths in a network, an electronic device, and a storage medium. Background Technology

[0002] In EDA design, due to timing requirements and other factors, high-speed networks need to constrain or optimize the cumulative length of lines in the signal path. Considering the limitations on path branches and signal impedance in the topology, high-speed networks also need to constrain or optimize nodes such as branches, vias, and connection points in the signal path. Therefore, in PCB design, users need to extract readable statistical data from the output network (net) connection information, that is, to extract key information such as the path, path length, and endpoints of hardware connections, for simplified simulation, so as to help designers evaluate signal integrity (SI) and manufacturing feasibility at an early stage. Although EDA tools have complete logic connection data, their PCB network database only stores the attribute information of each individual pin or trace. This information is independent and scattered in the database, resulting in poor readability. Designers often obtain the connection relationship between various components by visually observing the visualization window of the EDA tool and obtaining the attribute information of individual components by selecting individual components. This cannot effectively obtain the effective paths in the network and the relevant information of the nodes in the paths, that is, it cannot provide effective data for simplified simulation. Therefore, there is an urgent need for a snapshot output method that can output the valid paths in a network. Summary of the Invention

[0003] To address the aforementioned technical problems, the present invention employs the following technical solution: a snapshot output method for valid paths in a network, the method comprising the following steps:

[0004] S100, Obtain the undirected graph of the current network. Each node in the undirected graph is a pin, via, or intersection in the current network, and each edge in the undirected graph is a trace or flying wire. The attribute information carried by each node includes the node name and node position information of the current node, and the attribute information carried by each edge includes the length information of the current edge.

[0005] S300, starting from the starting node in the undirected graph, traverse and search all valid paths to obtain a set of valid paths; wherein, when a valid node is traversed, the valid node is a pin or via; if the number of nodes in the valid path increases and the edge corresponding to the node is a trace, then the edge is a valid edge; when the number of valid edges of a node in the valid path is less than or equal to 1, then the role type of the node in the valid path is an endpoint.

[0006] S500, based on the set of valid paths and the attribute information carried by the nodes and edges in each valid path, output the current network name and output the nodes and their snapshot information in the order of the nodes in each valid path. The snapshot information includes the current node name and role type, node position, and cumulative path length of each node. The cumulative path length is the sum of the lengths of all continuous lines and flying lines from the starting node of the valid path to the current node.

[0007] Furthermore, the present invention also provides a non-transitory computer-readable storage medium storing at least one instruction or at least one program segment, wherein the at least one instruction or the at least one program segment is loaded and executed by a processor to implement the above-described method.

[0008] In addition, the present invention provides an electronic device including a processor and the aforementioned non-transitory computer-readable storage medium.

[0009] The present invention has at least the following beneficial effects:

[0010] The method provided in this invention can generate snapshot information of the effective paths of each network in a PCB network. It records the names and roles of the nodes in the path, the node positions, and the cumulative path length of each node in the path according to the order of the nodes. By marking the role types and cumulative path lengths, the snapshot information of the path can be made more complete, forming effective data required for simplified simulation, which is convenient for users to use directly to simplify simulation. Attached Figure Description

[0011] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 This is a flowchart of a method for outputting snapshots of valid paths in a network, provided as an embodiment of the present invention. Detailed Implementation

[0013] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0014] Unless otherwise defined, all technical and scientific terms used in the embodiments of this invention have the same meaning as commonly understood by those skilled in the art.

[0015] Please see Figure 1 It illustrates a method for outputting snapshots of valid paths in a network, the method comprising the following steps:

[0016] S100, Obtain the undirected graph of the current network. Each node in the undirected graph is a pin, via, or intersection in the current network, and each edge in the undirected graph is a trace or flying wire. The attribute information carried by each node includes the node name and node position information of the current node, and the attribute information carried by each edge includes the length information of the current edge.

[0017] It should be noted that in PCB design, a netlist is used to describe all the networks and their connections in the entire circuit system.

[0018] In PCB design, a net is a collection of all electrically connected components in a circuit, such as pins, pads, traces, flying wires, and vias. All components within a net should be conductive. The attribute information of nodes and edges is stored in a netlist.

[0019] In this context, pins are the electrical connection endpoints of components, used to establish electrical connections with other components or traces. Vias are conductive holes that connect traces between different PCB layers. Intersections are connection points related to three or more traces, indicating that these traces are electrically connected. Traces are conductive media in a PCB layer used to connect electrical nodes. Fly leads are electrical connection guide lines displayed in EDA tools that have not yet been routed, representing ideal paths that should be connected but have not yet been routed.

[0020] In one implementation, the step of obtaining the undirected graph includes: extracting the node connection relationships of each netlist from the PCB design, and constructing an adjacency list representation of the undirected graph. For example, the data structure of the adjacency list is {node1, {node2, edge1}, {node3, edge2}, ...}, {node2, {node4, edge3}, {node5, edge4}, ...}, ...

[0021] In one embodiment, the method further includes step S200, where the current network is skipped and steps S300 and S500 are not executed if any of the following conditions exist: no pins exist in the current network; copper traces exist in the current network; or the current network includes at least one valid flying wire intersection; wherein, the valid flying wire intersection is a flying wire intersection connecting at least one flying wire. If no pins exist in the current network, the network is meaningless and requires no processing. If copper traces or valid flying wire intersections exist in the current network, the network is relatively complex, and the snapshot output method provided by this invention is not suitable for handling these two cases. Therefore, before step S300, networks exhibiting these three conditions are filtered out and no longer processed. Early filtering reduces the consumption of computing and memory resources.

[0022] S300, starting from the starting node in the undirected graph, traverse and search all valid paths to obtain a set of valid paths; wherein, when a valid node is traversed, the valid node is a pin or via; if the number of nodes in the valid path increases and the edge corresponding to the node is a trace, then the edge is a valid edge; when the number of valid edges of a node in the valid path is less than or equal to 1, then the role type of the node in the valid path is an endpoint.

[0023] It's important to note that in PCB routing, only paths originating from a pin, passing through vias, and connecting to other pins are considered valid conductive paths; otherwise, they are redundant and do not need to be retained. Therefore, ensuring that subsequent operations based on valid paths are based on true and effective functional paths avoids erroneous results, guaranteeing data validity and improving the efficiency and accuracy of subsequent processing.

[0024] If an edge is a trace and there are no nodes at the end of the trace, it means the trace is suspended and is an invalid edge. If no new nodes are added in the valid path after traversal, it means that the node being traversed is not a pin or via, and traversal needs to continue or it is an invalid edge.

[0025] In this invention, the role type of a node in the valid path includes endpoint and non-endpoint. An endpoint is a node with one or fewer valid edges. Nodes with more than one valid edge are non-endpoints. In this embodiment, only nodes with the role type of endpoint are marked; non-endpoints are not marked by default. Specifically, when the number of valid edges of a node is 0, it indicates that the current node is an isolated point or a point connecting a flyline, and thus the node belongs to the endpoint category. When the number of valid edges of a node is 1, it indicates that the current node is an endpoint of the valid path. When the number of valid edges of a node is greater than 1, it indicates that the node is an intermediate node or intersection point of the valid path.

[0026] In one implementation, a specified special marker is appended to the node name where the role type is an endpoint. In one implementation, the special marker is an asterisk (*), a "#", or an "@" symbol. Other types of special characters, specified characters, or specified strings used as special markers all fall within the protection scope of this invention.

[0027] In one implementation, if it is found that the current valid node has already been saved when saving the continuous path corresponding to the valid node to the valid path, it indicates that there is a network loop, so the traversal is terminated and the current network is no longer processed.

[0028] In one implementation, step S300 further includes: obtaining the starting node: finding the first node in the undirected graph whose node type is pin and whose number of edges is less than or equal to 1; if found, determining the found node as the starting node; otherwise, taking the first node whose node type is pin as the starting node. It should be noted that nodes with less than or equal to 1 edge are essentially endpoints. Starting traversal from endpoints provides a clear traversal direction, making it easier to extract effective paths and identify the main path.

[0029] In one implementation, S300 further includes a step of searching for a valid path: starting from the starting node in the undirected graph, traversing each node and its edges in the undirected graph; if the current edge has not been visited and the node is a valid node (where the valid node is a pin or via), then the valid node and its corresponding continuous path are placed into the valid path; and traversing continues from the valid node as the starting point. If no next node is found starting from the valid node, then backtracking to the previous node. It should be noted that when a valid node is encountered, the continuous path before traversing the valid node is placed into the valid path. The continuous path may contain trace intersections or may be a clean trace. For example, during traversal, starting from the valid node A, after passing through line Tee1, line intersection T1, line Tee2, line intersection T2, and line Tee3 in sequence, the valid node B is reached. At this point, T1, T2, and B are added to the node set of the valid path, and the successively passed lines Tee1, Tee2, and Tee3 are added to the line set.

[0030] In one implementation, during the traversal, an independent branch copy is created for each branch path, and the valid nodes traversed and their corresponding continuous paths are placed in the branch copy to avoid data pollution.

[0031] In one implementation, if the current edge has already been visited, it is skipped and the next edge is traversed.

[0032] In one implementation, S300 further includes: if there is only one node in the current network, then directly output the current node name, role type, node location, and initial value of the cumulative path length. In this case, since there is only one node, the initial value of the node's cumulative path length in the output snapshot information is 0.

[0033] In one implementation, the cumulative path length of the starting node of a valid path is an initial value. By default, the initial value is 0.

[0034] S500, based on the set of valid paths and the attribute information carried by the nodes and edges in each valid path, output the current network name and output the nodes and their snapshot information in the order of the nodes in each valid path. The snapshot information includes the current node name and role type, node position, and cumulative path length of each node. The cumulative path length is the sum of the lengths of all continuous lines and flying lines from the starting node of the valid path to the current node.

[0035] As an example, assuming "*" is used as the endpoint marker, and for ease of description, assuming the distance between two adjacent nodes is 100, if the network named Net1 includes a main path and a branch path, the nodes on the main path are, in order, node D1, node D2, trace intersection T1, and node D3; the branch path starts from trace intersection T1 and passes through the nodes VIA1 and E1 in order, where D1, D3, and E1 are all endpoints. Then, output the current network name Net1, followed by {D1*, coordinates of D1, 0}, {D2, coordinates of D2, 100}, {T1, coordinates of T1, 200}, {D3*, coordinates of D3, 300}, {VIA1, coordinates of VIA1, 300}, and {E1*, coordinates of E1, 400}.

[0036] In one implementation, the snapshot information further includes node purpose, and the step of obtaining the node purpose includes: in the current network, if the node attribute of the current node in the circuit schematic has not changed, then the purpose of the current node is determined according to the circuit schematic; otherwise, the purpose of the node is determined according to the changed node attribute of the current node in the PCB network database; wherein, when the node is a pin, the purpose of the node includes input, output, bidirectional input / output, power supply, ground, or floating; when the node is a via, the purpose of the node is a via.

[0037] In one implementation, the snapshot information also includes information about the layer to which it belongs.

[0038] As an example, when the snapshot information includes the current node name and role type, node location, cumulative path length of each node, node purpose and layer, and node D1 is an endpoint, and the node purpose is input and represented by the special character "L", then the snapshot information of node D1 is {D1*, coordinates of D1, 0, L, layer}. It should be noted that when node D1 is the starting node of a path, its cumulative path length is 0.

[0039] In summary, the method provided by the embodiments of the present invention can generate snapshot information of the effective paths of each network in the PCB network. It records the relevant information of the nodes in the path in the order of the nodes, forming effective data required for simplified simulation, which is convenient for users to use directly to simplify simulation.

[0040] Embodiments of the present invention also provide a non-transitory computer-readable storage medium that can be disposed in an electronic device to store at least one instruction or at least one program related to implementing a method in the method embodiments, wherein the at least one instruction or the at least one program is loaded and executed by the processor to implement the method provided in the above embodiments.

[0041] Embodiments of the present invention also provide an electronic device, including a processor and the aforementioned non-transitory computer-readable storage medium.

[0042] Embodiments of the present invention also provide a computer program product including program code, which, when the program product is run on an electronic device, causes the electronic device to perform the steps of the methods described above in various exemplary embodiments of the present invention.

[0043] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.

[0044] While specific embodiments of the invention have been described in detail by way of example, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of the invention. Those skilled in the art should also understand that various modifications can be made to the embodiments without departing from the scope and spirit of the invention. The scope of this invention is defined by the appended claims.

Claims

1. A method for outputting snapshots of valid paths in a network, characterized in that, The method includes the following steps: S100, Obtain the undirected graph of the current network. Each node in the undirected graph is a pin, via, or intersection in the current network, and each edge in the undirected graph is a trace or flying wire. The attribute information carried by each node includes the node name and node position information of the current node, and the attribute information carried by each edge includes the length information of the current edge. S300, starting from the starting node in the undirected graph, traverse and search all valid paths to obtain a set of valid paths; wherein, when a valid node is traversed, the valid node is a pin or via; if the number of nodes in the valid path increases and the edge corresponding to the node is a trace, then the edge is a valid edge; when the number of valid edges of a node in the valid path is less than or equal to 1, then the role type of the node in the valid path is an endpoint. S500, based on the set of valid paths and the attribute information carried by the nodes and edges in each valid path, output the current network name and output the nodes and their snapshot information in the order of the nodes in each valid path. The snapshot information includes the current node name and role type, node position, and cumulative path length of each node. The cumulative path length is the sum of the lengths of all continuous lines and flying lines from the starting node of the valid path to the current node.

2. The method according to claim 1, characterized in that, The snapshot information also includes node purpose. The steps for obtaining the node purpose include: in the current network, if the node attributes of the current node in the circuit schematic have not changed, then the purpose of the current node is determined according to the circuit schematic; otherwise, the purpose of the node is determined according to the changed node attributes of the current node in the PCB network database; wherein, when the node is a pin, the purpose of the node includes input, output, bidirectional input / output, power supply, ground, or floating; when the node is a via, the purpose of the node is via.

3. The method according to claim 1, characterized in that, S300 also includes: the step of obtaining the starting node: finding the first node in the undirected graph whose node type is pin and whose number of edges is less than or equal to 1; if found, the found node is determined as the starting node; otherwise, the first node whose node type is pin is taken as the starting node.

4. The method according to claim 1, characterized in that, The method further includes: S200: Skip the current network and do not execute S300 and S500 if any of the following conditions exist: there are no pins in the current network; there is copper in the current network; the current network includes at least one valid flying wire intersection; wherein, the valid flying wire intersection is a flying wire intersection that connects at least one flying wire.

5. The method according to claim 1, characterized in that, S300 also includes the step of searching for a valid path: starting from the starting node in the undirected graph, traversing each node in the undirected graph and its edges, if the current edge has not been visited and the node is a valid node, wherein the valid node is a pin or a via, then the valid node and its corresponding continuous path are placed in the valid path; and continue traversing from the valid node as the starting point, if no next node is found starting from the valid node, then backtrack to the previous node.

6. The method according to claim 5, characterized in that, If the current edge has already been visited, skip it and proceed to the next edge.

7. The method according to claim 5, characterized in that, During the traversal, an independent branch copy is created for each branch path, and the valid nodes traversed and their corresponding continuous paths are placed into the branch copy.

8. The method according to claim 1, characterized in that, S300 also includes: if there is only one node in the current network, it will directly output the current node name, role type, node position, and initial value of cumulative path length.

9. A non-transitory computer-readable storage medium, wherein the storage medium stores at least one instruction or at least one program segment, characterized in that, The at least one instruction or the at least one program segment is loaded and executed by the processor to implement the method as described in any one of claims 1-8.

10. An electronic device, characterized in that, Includes a processor and the non-transitory computer-readable storage medium as described in claim 9.

Citation Information

Patent Citations

  • Data completion method and device, equipment, storage medium and product

    CN115630053A

  • Path generation method and device and storage medium

    CN116337098A