Automatic routing method and system based on pin positions and directions, device, and medium

By acquiring information from both ends of the wiring and calculating the unit offset, the wiring is performed according to the pin position and direction. This solves the problem that the pin position and direction are not considered in the existing technology, and achieves efficient and accurate wiring path optimization, thereby improving the automation level of circuit design and circuit performance.

WO2026098010A1PCT designated stage Publication Date: 2026-05-15XPEEDIC CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
XPEEDIC CO LTD
Filing Date
2025-08-26
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing automated routing technologies fail to adequately consider the position and orientation of pins, which can cause routing paths to cross component areas, resulting in routing conflicts and overlaps that affect the reliability and performance of circuits.

Method used

By acquiring information from both ends of the wiring, calculating the unit offset, routing according to the position and direction of the pins, detecting and bypassing component areas, optimizing overlapping wiring, and adding necessary nodes to achieve optimal routing.

Benefits of technology

It improves the accuracy of wiring and the reliability of circuits, reduces the error rate and time consumption in the design process, and enhances the flexibility and adaptability of wiring.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025116926_15052026_PF_FP_ABST
    Figure CN2025116926_15052026_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides an automatic routing method and system based on pin positions and directions, a device, and a medium. The method comprises: acquiring information of two ends requiring routing, and determining a start point and an end point, wherein a point having a larger y-coordinate is preferentially selected as the start point, and if y-coordinates are the same, a point having a smaller x-coordinate is selected; if the connection involve symbols, acquiring the directions, quantity, and serial numbers of pins, and the distance between two symbols, and if there is no symbol information, directly performing orthogonal routing; next, calculating a unit offset on the basis of the symbol spacing and the pin quantity, starting a routing from the start point, and routing out on the basis of the corresponding pin serial number and the unit offset; in this process, detecting whether the routing passes through a start point symbol region or an end point symbol region, and if yes, adding a inflection point to bypass the symbol region; then, detecting whether the routing overlaps with an existing routing, and if overlapping occurs and the overlapping routings belong to a same network, removing an overlapping portion and adding a node to optimize the routing; and finally, completing the routing, and drawing the symbols into a schematic diagram for saving. The present invention can improve routing efficiency and accuracy and reduce human errors.
Need to check novelty before this filing date? Find Prior Art

Description

Automatic routing methods, systems, devices, and media based on pin position and orientation Technical Field

[0001] This invention relates to the field of electronic circuit design, and more specifically, to an automatic wiring method, system, device, and medium based on pin position and orientation. Background Technology

[0002] In the field of electronic circuit design, routing is a crucial step in connecting circuit components, directly impacting circuit performance and reliability. Traditional routing methods rely primarily on the designer's experience and manual operation, which is not only inefficient but also prone to errors. With the increasing complexity of electronic devices, manual routing can no longer meet the demands of high-density, high-performance circuit design. Automated routing technology has emerged to address this, using computer algorithms to optimize routing paths, reduce human error, and improve design efficiency. However, existing automated routing technologies often overlook the impact of pin position and orientation on routing results, leading to unsatisfactory outcomes such as unreasonable routing paths, uneven routing density, and signal interference. These problems not only increase the complexity of circuit design but can also degrade circuit performance, and in some cases, necessitate circuit redesign, resulting in wasted time and resources.

[0003] In implementing the embodiments of the present invention, the inventors discovered at least the following problems or defects in the prior art: Existing automated routing methods fail to fully consider the specific location and direction of pins, resulting in routing paths potentially crossing component areas, causing routing conflicts and overlaps, and affecting the reliability and performance of the circuit. Furthermore, existing methods lack effective optimization strategies when handling overlapping routing, often requiring manual intervention, which limits the practicality and efficiency of automated routing technology. Summary of the Invention

[0004] This invention provides an automatic wiring method, system, device, and medium based on pin position and orientation.

[0005] In a first aspect of the present invention, an automatic routing method based on pin position and orientation is provided, comprising:

[0006] Obtain information from both ends of the cabling, including the start and end points. The one with the larger y-coordinate is taken as the start point. If the y-coordinates are equal, the one with the smaller x-coordinate is taken as the start point. If the x and y coordinates are equal, then connect directly.

[0007] If the connection is a symbol, then obtain the direction of the pin in the symbol, the number of pins in that direction, the current pin number in that direction, and the distance between the two symbols;

[0008] If there is no symbol information, it indicates that it is a node, and orthogonal wiring should be used directly;

[0009] Calculate the unit offset based on the symbol spacing and the number of pins;

[0010] Start routing from the starting point, and offset the pins by multiplying the pin numbers by units in the direction of the pins.

[0011] Calculate whether it will pass through the area where the starting symbol is located. If it does, add an inflection point to bypass the area where the starting symbol is located.

[0012] Connect to the endpoint pin, check if it passes through the area to which the endpoint symbol belongs. If it does, bypass the endpoint symbol by multiplying the sequence number by the unit offset and adding the inflection point.

[0013] Check if the wiring overlaps with existing wiring;

[0014] If the overlapping routing portions belong to the same network, remove the overlapping routing portions and add nodes to achieve optimal routing.

[0015] After completing the wiring, draw the Symbol onto the schematic and save it.

[0016] Furthermore, the unit offset is calculated based on the symbol spacing and the number of pins, including:

[0017] Calculate the relative position of each pin in the symbol direction;

[0018] The unit offset is determined based on the relative position and spacing.

[0019] Furthermore, starting from the origin, routing is performed with the pins offset by a unit along the pin direction, including:

[0020] Determine the direction of the wire coming out of the starting pin;

[0021] The routing path is determined based on the pin number and the calculated unit offset.

[0022] Wiring follows the defined path until the next predetermined pin or symbol boundary is reached.

[0023] Furthermore, adding inflection points to bypass the region to which the symbol belongs includes:

[0024] Detect the intersection of the wiring path and the symbol boundary;

[0025] Add inflection points at the detected intersections;

[0026] Adjust the wiring path to bypass the area where the symbol belongs.

[0027] Furthermore, detecting whether the wiring overlaps with existing wiring includes:

[0028] Detect the spatial relationship between the new cabling path and the existing cabling path;

[0029] Determine whether the new cabling path overlaps with the existing cabling path;

[0030] If an overlap is detected, a process to replan the wiring path is triggered.

[0031] Furthermore, detecting whether overlapping wiring portions belong to the same network includes:

[0032] Identify the network to which the overlapping wiring portion belongs;

[0033] Compare the network identifiers of the overlapping cabling sections;

[0034] If the overlapping wiring portions belong to the same network, then perform an optimization operation.

[0035] Furthermore, by removing overlapping wiring portions within the same network and adding nodes to achieve optimal wiring, including:

[0036] Identify and mark overlapping wiring sections;

[0037] Remove overlapping wiring portions of the markers;

[0038] Add new nodes in appropriate locations to optimize the wiring structure.

[0039] In a second aspect of the invention, an automatic wiring device based on pin position and orientation is provided, comprising:

[0040] a. Information acquisition unit, used to acquire information from both ends of the wiring;

[0041] b. Unit offset calculation unit, used to calculate the unit offset based on the symbol spacing and the number of pins;

[0042] c. Wiring unit, used to start wiring from the starting point and add inflection points to bypass the area to which the symbol belongs when necessary;

[0043] d. Overlap detection unit, used to detect whether the wiring overlaps with existing wiring;

[0044] e. Network detection unit, used to detect whether overlapping wiring portions belong to the same network;

[0045] f. Routing optimization unit, used to remove overlapping routing portions of the same network and add nodes to achieve optimal routing;

[0046] g. User interface that allows users to manually adjust the wiring path;

[0047] h. Draw and save unit, used to draw the completed wiring onto the schematic and save it.

[0048] In a third aspect of the invention, an electronic device is provided, comprising: at least one processor, a memory, and an input / output unit; wherein the memory is used to store a computer program, and the processor is used to invoke the computer program stored in the memory to perform the method described in any one of the first aspects.

[0049] In a fourth aspect of the invention, a computer-readable storage medium is provided, comprising instructions that, when executed on a computer, cause the computer to perform the method described in any one of the first aspects.

[0050] The embodiments of the present invention have at least the following beneficial effects: By employing an automatic routing method based on pin position and orientation, the automation level and routing quality of circuit design can be significantly improved. This method can intelligently identify and utilize pin position and orientation information to optimize routing paths and reduce conflicts and overlaps during the routing process. It ensures that routing does not cross component areas by accurately calculating unit offsets and routing paths, thereby avoiding errors and time consumption caused by manual adjustments. Furthermore, the method also includes the detection and optimization of overlapping routing, automatically identifying and processing overlapping routing within the same network, removing unnecessary lines, and adding necessary nodes to achieve a better routing structure.

[0051] Furthermore, the design of this automatic routing device and electronic equipment provides users with an intuitive user interface, allowing them to manually adjust the routing path as needed, further enhancing the flexibility and adaptability of the routing process. This method not only improves the accuracy and efficiency of routing but also reduces the error rate in the design process, shortens the circuit design cycle, and brings significant technological advancements to the field of electronic circuit design. Attached Figure Description

[0052] The above and other objects, features, and advantages of exemplary embodiments of the present invention will become readily apparent from the following detailed description taken in conjunction with the accompanying drawings. Several embodiments of the invention are illustrated in the drawings by way of example and not limitation, wherein:

[0053] Figure 1 is a flowchart illustrating an automatic routing method based on pin position and orientation provided in an embodiment of the present invention.

[0054] Figure 2 is a schematic diagram of the structure of an automatic wiring device based on pin position and orientation provided in an embodiment of the present invention;

[0055] Figure 3 schematically illustrates the structure of an electronic device according to an embodiment of the present invention. Detailed Implementation

[0056] The principles and spirit of the invention will now be described with reference to several exemplary embodiments. It should be understood that these embodiments are provided merely to enable those skilled in the art to better understand and implement the invention, and are not intended to limit the scope of the invention in any way. Rather, these embodiments are provided to make the invention more thorough and complete, and to fully convey the scope of the invention to those skilled in the art.

[0057] Those skilled in the art will understand that embodiments of the present invention can be implemented as a system, apparatus, device, method, or computer program product. Therefore, the present invention can be specifically implemented in the following forms: entirely hardware, entirely software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.

[0058] It should be noted that the number of any elements in the accompanying drawings is for illustrative purposes only and not as a limitation, and any naming is for distinction only and has no limiting meaning.

[0059] Referring to Figure 1 below, Figure 1 is a flowchart illustrating an automatic routing method based on pin position and orientation according to an embodiment of the present invention. As shown in Figure 1, an automatic routing method 100 based on pin position and orientation includes:

[0060] Obtain information from both ends of the cabling, including the start and end points. The one with the larger y-coordinate is taken as the start point. If the y-coordinates are equal, the one with the smaller x-coordinate is taken as the start point. If the x and y coordinates are equal, then connect directly.

[0061] If the connection is a symbol, then obtain the direction of the pin in the symbol, the number of pins in that direction, the current pin number in that direction, and the distance between the two symbols;

[0062] If there is no symbol information, it indicates that it is a node, and orthogonal wiring should be used directly;

[0063] Calculate the unit offset based on the symbol spacing and the number of pins;

[0064] Start routing from the starting point, and offset the pins by multiplying the pin numbers by units in the direction of the pins.

[0065] Calculate whether it will pass through the area where the starting symbol is located. If it does, add an inflection point to bypass the area where the starting symbol is located.

[0066] Connect to the endpoint pin, check if it passes through the area to which the endpoint symbol belongs. If it does, bypass the endpoint symbol by multiplying the sequence number by the unit offset and adding the inflection point.

[0067] Check if the wiring overlaps with existing wiring;

[0068] If the overlapping routing portions belong to the same network, remove the overlapping routing portions and add nodes to achieve optimal routing.

[0069] After completing the wiring, draw the Symbol onto the schematic and save it.

[0070] It should be noted that this automatic routing method first requires obtaining information from both ends of the routing, including the coordinates of the start and end points. Here, the start and end points refer to the two circuit nodes that need to be connected in the circuit design. The start point is determined based on the magnitude of the y-coordinate; if the y-coordinates are the same, the x-coordinate is used to determine the start point, thus ensuring the orderliness and logic of the routing. "Symbol" here refers to the component symbol in the circuit design. If the connection point involves a component symbol, it is necessary to obtain the direction, number, and sequence number of the pins on that component symbol, as well as the distance between the two component symbols.

[0071] Specifically, the process of obtaining wiring information can be implemented by writing a specific algorithm that can identify and read node coordinate data in the circuit design file. For determining the start and end points, the algorithm first compares the y-coordinate values ​​of two nodes and selects the larger one as the start point.

[0072] More specifically, if the y-coordinates are the same, the x-coordinates are compared, and the smaller one is chosen as the starting point. As for component symbols, the algorithm needs to be able to parse data from the component library to obtain information about the pins, including their orientation and position number on the component.

[0073] Preferably, to improve the accuracy and efficiency of routing, some intelligent judgment mechanisms can be added to the algorithm. For example, when the coordinates of two nodes are very close, a threshold can be set, and routing is only required when the coordinate difference exceeds this threshold.

[0074] Furthermore, the distance between component symbols can be dynamically adjusted based on the board size and wiring density to adapt to different design requirements. During routing, if it is detected that the routing may cross the component symbol area, the algorithm can automatically add inflection points to make the routing path bypass these areas, thereby avoiding adverse effects on circuit performance.

[0075] In some embodiments, calculating the unit offset based on the symbol spacing and the number of pins includes:

[0076] Calculate the relative position of each pin in the symbol direction;

[0077] The unit offset is determined based on the relative position and spacing.

[0078] It should be noted that, according to the original text, this implementation involves the step of calculating the unit offset based on the symbol spacing and the number of pins. Here, the unit offset refers to the distance each pin moves relative to the previous pin in the symbol direction during routing. This unit offset calculation is to ensure that the routing is evenly distributed among the symbols, avoiding excessive concentration or dispersion, which would affect the performance and aesthetics of the circuit.

[0079] Specifically, the process of calculating unit offset can be performed as follows: First, the relative position of each pin on the symbol needs to be determined, which can be achieved by reading the symbol's layout data. Then, based on these positions and the spacing between the symbols, the distance that each pin should move is calculated.

[0080] More specifically, this calculation can be performed using a simple mathematical formula. For example, if the symbol spacing is fixed, the unit offset can be simply set as the spacing divided by the number of pins. However, if the symbol spacing is uneven, a more complex algorithm may be needed to determine the optimal position for each pin.

[0081] Preferably, to make the routing more precise and adaptable to different design requirements, some additional parameters can be introduced to adjust the calculation of unit offset. For example, a minimum offset value can be set to ensure that the routing is not too concentrated even when the number of pins is small.

[0082] Furthermore, the unit offset can be adjusted according to the circuit's performance requirements to avoid signal interference or meet specific wiring density requirements. Additionally, a dynamic adjustment mechanism can be considered to adjust the unit offset in real time based on obstacles or special requirements encountered during actual wiring, thereby achieving optimal wiring results.

[0083] In some embodiments, routing begins from the starting point and is offset by a unit number in the pin direction, including:

[0084] Determine the direction of the wire coming out of the starting pin;

[0085] The routing path is determined based on the pin number and the calculated unit offset.

[0086] Wiring follows the defined path until the next predetermined pin or symbol boundary is reached.

[0087] It should be noted that this embodiment describes in detail the process of routing from the starting point, offsetting the pins by a unit along the pin direction according to their sequence numbers. Here, the pin direction refers to the orientation of the pin on the symbol, and the sequence number refers to the order of the pins on the symbol. This process is to ensure that the routing follows a predetermined path, starting from the starting pin, proceeding in the correct direction, passing through predetermined pins, and finally reaching the destination.

[0088] Specifically, the routing process can be implemented through the following steps: First, determine the outgoing direction of the starting pin, which is usually based on the pin's orientation and position on the symbol. Next, determine the routing path based on the pin's serial number and a pre-calculated unit offset. This involves precisely calculating the position of each pin to ensure the accuracy of the routing path. Routing is then performed along the determined path until the next predetermined pin or symbol boundary is reached. This process requires the use of algorithms to automatically calculate and draw the routing path to ensure its accuracy and avoid conflicts with existing routing.

[0089] Preferably, to improve the efficiency and accuracy of wiring, some intelligent judgment and adjustment mechanisms can be introduced. For example, if it is detected that the wiring path may conflict with existing wiring or symbol boundaries, the algorithm can automatically adjust the wiring path and add necessary inflection points to bypass these obstacles.

[0090] Furthermore, parameters such as maximum offset and minimum inflection point spacing can be set to control the compactness and aesthetics of the wiring. In some cases, manual adjustment options may also be provided, allowing designers to fine-tune the automatically generated wiring paths to meet specific design requirements.

[0091] In some embodiments, adding an inflection point to bypass the region to which the symbol belongs includes:

[0092] Detect the intersection of the wiring path and the symbol boundary;

[0093] Add inflection points at the detected intersections;

[0094] Adjust the wiring path to bypass the area where the symbol belongs.

[0095] It should be noted that this implementation describes the step of adding inflection points to bypass the area where the symbol belongs. Here, an inflection point refers to a point in the wiring path where the direction changes, and the area where the symbol belongs refers to the space occupied by the component symbol in the circuit design. This process is to ensure that the wiring does not pass through the component symbol area, thereby avoiding interference with the circuit design.

[0096] Specifically, the steps for adding inflection points to bypass the symbol region can be as follows: First, it is necessary to detect the intersection points between the routing path and the symbol boundary. This can be achieved by calculating the intersection points. Once intersection points are detected, inflection points are added at these points. This is achieved by modifying the routing path so that the path changes direction as it approaches the symbol boundary. Next, the routing path is adjusted to bypass the symbol region. This may involve replanning and calculating the path to ensure that the new path does not intersect with the symbol region.

[0097] Preferably, to optimize wiring paths and reduce unnecessary complexity, advanced path planning algorithms can be employed. For example, the shortest path algorithm in graph theory can be used to find the optimal path around the symbol region.

[0098] Furthermore, heuristic rules can be introduced, such as prioritizing paths parallel or perpendicular to symbol boundaries, to reduce routing bends and intersections. In some cases, if symbol areas are very dense, the ability to automatically adjust symbol positions can be considered to reduce routing conflicts. These methods can further improve the automation level of routing and the overall quality of the design.

[0099] In some embodiments, detecting whether a wiring overlaps with an existing wiring includes:

[0100] Detect the spatial relationship between the new cabling path and the existing cabling path;

[0101] Determine whether the new cabling path overlaps with the existing cabling path;

[0102] If an overlap is detected, a process to replan the wiring path is triggered.

[0103] It should be noted that this implementation involves a step of detecting whether the newly laid wiring overlaps with existing wiring. Here, overlap refers to the spatial overlap between the newly laid wiring and existing wiring. This detection process is to ensure that the path of the new wiring does not conflict with existing wiring, thereby avoiding short circuits or other potential electrical problems.

[0104] Specifically, the process of detecting overlap can be implemented through the following steps: First, a database or storage structure is needed to store the spatial information of existing wiring paths. Then, an algorithm is used to detect the spatial relationship between the new wiring path and these existing paths. This typically involves calculating the distance between two paths and determining whether this distance is less than a preset threshold, thus identifying whether overlap exists. If overlap is detected, the algorithm will trigger a process of replanning the wiring path, which may include adjusting the path or adding inflection points to avoid the overlapping area.

[0105] Preferably, to improve the accuracy and efficiency of detection, more advanced spatial search and comparison algorithms can be employed. For example, spatial indexing techniques, such as R-trees or quadtrees, can be used to quickly locate and compare new and old wiring paths.

[0106] Furthermore, multiple overlap detection thresholds can be set to accommodate circuit designs of varying densities and complexities. During overlap detection, machine learning algorithms can be incorporated to predict and avoid potential overlap areas, thereby reducing the number of manual adjustments required. These methods can further enhance the intelligence level of routing automation and reduce human intervention in the design process.

[0107] In some embodiments, detecting whether overlapping wiring portions belong to the same network includes:

[0108] Identify the network to which the overlapping wiring portion belongs;

[0109] Compare the network identifiers of the overlapping cabling sections;

[0110] If the overlapping wiring portions belong to the same network, then perform an optimization operation.

[0111] It should be noted that this embodiment describes in detail the steps for detecting whether overlapping wiring portions belong to the same network. Here, a network refers to a set of electrical connections in a circuit, where all nodes are connected together by wires or traces on a printed circuit board. The purpose of this process is to optimize routing, ensuring that overlapping portions are only retained if they belong to different networks; if they belong to the same network, the overlapping portions can be removed to avoid wasting resources.

[0112] Specifically, detecting whether overlapping wiring segments belong to the same network can be performed through the following steps: First, it is necessary to identify the network identifier to which each wiring segment belongs, which can be achieved by analyzing the network connection information in the circuit design file. Then, compare the network identifiers of the overlapping wiring segments to determine whether they belong to the same network.

[0113] More specifically, this process involves parsing the circuit design documents and analyzing the relationship between routing paths and net identifiers. If overlapping portions belong to the same net, optimization operations are performed, such as removing overlapping routing portions and adding new nodes in appropriate locations to optimize the routing structure.

[0114] Preferably, to improve detection accuracy and optimize wiring efficiency, advanced algorithms and technologies can be introduced. For example, image recognition technology can be used to quickly identify and compare network identifiers, or artificial intelligence algorithms can be used to predict and identify possible overlapping areas.

[0115] Furthermore, parameters such as a threshold for the size of the overlapping area can be set to determine whether optimization is needed. In some cases, if the overlapping portion is very small, optimization may not be necessary to avoid over-adjusting the routing path.

[0116] Furthermore, user interaction can be incorporated, allowing users to manually confirm whether optimization is needed when overlap is detected, to accommodate specific design requirements and preferences. These methods can further enhance the flexibility and adaptability of wiring automation.

[0117] In some embodiments, removing overlapping wiring portions of the same network and adding nodes to achieve optimal wiring includes:

[0118] Identify and mark overlapping wiring sections;

[0119] Remove overlapping wiring portions of the markers;

[0120] Add new nodes in appropriate locations to optimize the wiring structure.

[0121] It should be noted that this implementation involves removing overlapping wiring portions of the same network and adding nodes to optimize the wiring structure. Here, overlapping wiring portions refer to lines that are repeated in the same network due to path planning or design changes during the wiring process. A node refers to a point where lines intersect or branch in a circuit; adding nodes helps simplify the circuit and reduce material usage.

[0122] Specifically, the steps for removing overlapping routing and adding nodes can be performed as follows: First, identify and mark overlapping routing sections using routing analysis tools in the circuit design software. This typically involves comparing path information in a routing database to determine which parts are duplicates. Then, remove these marked overlapping routing sections according to software instructions or designer input. Next, add new nodes at appropriate locations in the routing path. This can be determined by analyzing the circuit's electrical characteristics and physical layout to ensure that the optimized routing meets both electrical performance requirements and has a good physical layout.

[0123] Preferably, to further improve the efficiency and effectiveness of wiring optimization, some intelligent strategies can be adopted. For example, machine learning algorithms can be used to predict which wiring sections may overlap and propose optimization suggestions in the early stages of design.

[0124] Furthermore, automated routing optimization parameters can be set, such as minimizing routing length and reducing the number of inflection points, to guide the software in automatically adding nodes and adjusting routing paths. In some cases, thermal management and signal integrity of the circuit can also be considered, selecting areas with concentrated heat or significant signal interference to add nodes, thereby improving the overall performance and reliability of the circuit. These methods can make the routing optimization process more refined and comprehensive.

[0125] The above embodiments of the present invention have the following beneficial effects: The automatic routing method of the present invention can effectively handle complex circuit design problems. By accurately acquiring information at both ends of the routing and considering the direction and position of the pins, this method can optimize the selection of the start and end points and reduce conflicts during the routing process. By calculating the unit offset and detecting the intersection of the routing path with the component area, it can intelligently add inflection points to bypass components, avoiding routing from passing through component areas, thereby improving the accuracy of routing and the reliability of the circuit. In addition, the method also includes the detection and optimization of overlapping routing, which can identify and process overlapping routing within the same network, remove unnecessary lines, and add necessary nodes to achieve a better routing structure.

[0126] The technical features described in these claims can significantly improve the automation level of circuit design, reduce human error, and shorten the design cycle. Through automated routing optimization units, overlapping routing portions of the same network can be automatically removed, and new nodes can be added at appropriate locations. This not only reduces the use of routing materials and lowers costs but also improves circuit performance and stability. Furthermore, the method provides a user interface that allows users to manually adjust routing paths according to specific needs, enhancing design flexibility and adaptability.

[0127] As shown in Figure 2, an automatic wiring device 200 based on pin position and orientation is provided in some embodiments. The device 200 includes:

[0128] a. Information acquisition unit, used to acquire information from both ends of the wiring;

[0129] b. Unit offset calculation unit, used to calculate the unit offset based on the symbol spacing and the number of pins;

[0130] c. Wiring unit, used to start wiring from the starting point and add inflection points to bypass the area to which the symbol belongs when necessary;

[0131] d. Overlap detection unit, used to detect whether the wiring overlaps with existing wiring;

[0132] e. Network detection unit, used to detect whether overlapping wiring portions belong to the same network;

[0133] f. Routing optimization unit, used to remove overlapping routing portions of the same network and add nodes to achieve optimal routing;

[0134] g. User interface that allows users to manually adjust the wiring path;

[0135] h. Draw and save unit, used to draw the completed wiring onto the schematic and save it.

[0136] It is understood that the modules described in the automatic routing apparatus 200 based on pin position and orientation correspond to the steps in the automatic routing method based on pin position and orientation described with reference to FIG1. ​​Therefore, the operations, features, and beneficial effects described above for the automatic routing method based on pin position and orientation also apply to the automatic routing apparatus 200 based on pin position and orientation and the modules contained therein, and will not be repeated here.

[0137] Referring now to Figure 3, a structural schematic diagram of an electronic device structure 300 suitable for implementing some embodiments of the present invention is shown. The electronic devices in some embodiments of the present invention may include, but are not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. The terminal device shown in Figure 3 is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of the present invention.

[0138] As shown in Figure 3, the electronic device 300 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 302 or a program loaded from a storage device 308 into a random access memory (RAM) 303. The RAM 303 also stores various programs and data required for the operation of the electronic device 300. The processing unit 301, ROM 302, and RAM 303 are interconnected via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0139] Typically, the following devices can be connected to I / O interface 305: input devices 306 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 307 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 308 including, for example, magnetic tapes, hard disks, etc.; and communication devices 309. Communication device 309 allows electronic device 300 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 3 shows electronic device 300 with various devices, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively. Each box shown in Figure 3 may represent one device, or multiple devices may be represented as needed.

[0140] Furthermore, the storage medium in the embodiments of this application stores program instructions capable of implementing all the above methods. These program instructions can be stored in the storage medium in the form of a software product, including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks, or terminal devices such as computers, servers, mobile phones, and tablets.

[0141] The above description is merely a selection of preferred embodiments of the present invention and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention as described in the embodiments is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the inventive concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features with similar functions disclosed in the embodiments of the present invention.

Claims

1. An automatic routing method based on pin position and orientation, characterized in that, Includes the following steps: Obtain information from both ends of the cabling, including the start and end points. The one with the larger y-coordinate is taken as the start point. If the y-coordinates are equal, the one with the smaller x-coordinate is taken as the start point. If the x and y coordinates are equal, then connect directly. If the connection is a symbol, then obtain the direction of the pin in the symbol, the number of pins in that direction, the current pin number in that direction, and the distance between the two symbols; If there is no symbol information, it indicates that it is a node, and orthogonal wiring should be used directly; Calculate the unit offset based on the symbol spacing and the number of pins; Start routing from the starting point, and offset the pins by multiplying the pin numbers by units in the direction of the pins. Calculate whether it will pass through the area where the starting symbol is located. If it does, add an inflection point to bypass the area where the starting symbol is located. Connect to the endpoint pin, check if it passes through the area to which the endpoint symbol belongs. If it does, bypass the endpoint symbol by multiplying the sequence number by the unit offset and adding the inflection point. Check if the wiring overlaps with existing wiring; If the overlapping routing portions belong to the same network, remove the overlapping routing portions and add nodes to achieve optimal routing. After completing the wiring, draw the Symbol onto the schematic and save it.

2. The method according to claim 1, characterized in that, Calculate the unit offset based on the symbol spacing and the number of pins, including: Calculate the relative position of each pin in the symbol direction; The unit offset is determined based on the relative position and spacing.

3. The method according to claim 1, characterized in that, Starting from the origin, route the pins in the direction of the pin number multiplied by the unit offset, including: Determine the direction of the wire coming out of the starting pin; The routing path is determined based on the pin number and the calculated unit offset. Wiring follows the defined path until the next predetermined pin or symbol boundary is reached.

4. The method according to claim 1, characterized in that, Adding inflection points to bypass the region to which the symbol belongs includes: Detect the intersection of the wiring path and the symbol boundary; Add inflection points at the detected intersections; Adjust the wiring path to bypass the area where the symbol belongs.

5. The method according to claim 1, characterized in that, Detecting whether wiring overlaps with existing wiring includes: Detect the spatial relationship between the new cabling path and the existing cabling path; Determine whether the new cabling path overlaps with the existing cabling path; If an overlap is detected, a process to replan the wiring path is triggered.

6. The method according to claim 1, characterized in that, Detecting whether overlapping wiring portions belong to the same network includes: Identify the network to which the overlapping wiring portion belongs; Compare the network identifiers of the overlapping cabling sections; If the overlapping wiring portions belong to the same network, then perform an optimization operation.

7. The method according to claim 1, characterized in that, Remove overlapping routing sections within the same network and add nodes to achieve optimal routing, including: Identify and mark overlapping wiring sections; Remove overlapping wiring portions of the markers; Add new nodes in appropriate locations to optimize the wiring structure.

8. An automatic wiring device based on pin position and orientation, comprising: a. Information acquisition unit, used to acquire information from both ends of the wiring; b. Unit offset calculation unit, used to calculate the unit offset based on the symbol spacing and the number of pins; c. Wiring unit, used to start wiring from the starting point and add inflection points to bypass the area to which the symbol belongs when necessary; d. Overlap detection unit, used to detect whether the wiring overlaps with existing wiring; e. Network detection unit, used to detect whether overlapping wiring portions belong to the same network; f. Routing optimization unit, used to remove overlapping routing portions of the same network and add nodes to achieve optimal routing; g. User interface that allows users to manually adjust the wiring path; h. Draw and save unit, used to draw the completed wiring onto the schematic and save it.

9. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform an automatic routing method based on pin position and orientation as described in any one of claims 1-7.

10. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to execute an automatic routing method based on pin position and orientation according to any one of claims 1-7.