Wiring method and device of printed circuit board, computer equipment and storage medium
Through the adaptive printed circuit board wiring method, adaptive wiring is performed according to line width type and obstacle information, which solves the problem of inefficient printed circuit board wiring in the prior art, and realizes a more efficient wiring process.
Patent Information
- Application Number
- CN202311459538.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-03
- Publication Date
- 2025-05-06
AI Technical Summary
The wiring methods of existing printed circuit boards are inefficient, especially when there are many obstacles in wiring circuits and large ranges, it takes too long to make point-to-point connections, and frequently adjust the line width, resulting in low efficiency.
An adaptive printed circuit board wiring method is provided, and the applicable wiring method is determined based on line width type (fixed line width or unfixed line width), and wiring is performed based on obstacle information, quickly responding to tasks of different line width types and improving wiring efficiency.
By adaptively selecting the applicable wiring method and optimizing line width type processing, it can quickly respond to wiring tasks of different line width types, improve the wiring efficiency of printed circuit boards, and reduce the workload of engineers.
Smart Images

Figure CN119940280A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of electronic design automation, and in particular to a wiring method, device, computer equipment and storage medium for a printed circuit board. Background Art
[0002] Currently, most printed circuit boards use a fixed line width and point-to-point wiring method. However, this wiring method often takes too long to achieve point-to-point connection when there are too many obstacles in the wiring loop and the wiring range is too large, and engineers are required to constantly adjust the line width for routing, resulting in low wiring efficiency of the printed circuit board. Summary of the invention
[0003] In view of this, the present invention provides a wiring method and apparatus for a printed circuit board, a computer device and a storage medium to solve the problem of low wiring efficiency of the printed circuit board.
[0004] In a first aspect, the present invention provides a wiring method for a printed circuit board, the method comprising:
[0005] Obtaining obstacle information on a target printed circuit board and line width types of lines to be routed, wherein the line width types include fixed line width and non-fixed line width;
[0006] Determining a routing method of the line to be routed based on the line width type;
[0007] The line to be routed is routed based on the routing method and the obstacle information, and a routing result of the line to be routed is determined.
[0008] In this method, in response to the wiring tasks of fixed line width and non-fixed line width, the applicable wiring method can be adaptively selected, and then the wiring to be routed is routed based on the wiring method applicable to different line width types and obstacle information, and the wiring result of the line to be routed is determined. Therefore, it is possible to quickly respond to the wiring tasks of different line width types and obtain the wiring results to improve the wiring efficiency of the printed circuit board.
[0009] In an optional implementation, if the line width type is a fixed line width, routing the line to be routed based on the routing mode and the obstacle information to determine a routing result of the line to be routed includes:
[0010] Acquire a first line to be routed whose line width type is a fixed line width, so as to obtain a routing point of the first line to be routed;
[0011] Obtaining a routing area based on the routing points of the first to-be-routed line;
[0012] If it is determined based on the obstacle information that there is an obstacle in the wiring area, obtaining a grid corresponding to the wiring area and an initial cost value of the grid;
[0013] Based on the obstacle information and the initial cost value, updating the cost value of the grid to determine a target cost value of the grid;
[0014] The shortest path between routing points of the first line to be routed is determined based on the target cost value of the grid, and a routing result of the first line to be routed is obtained.
[0015] In this method, for the first line to be routed whose line width type is a fixed line width, when there is an obstacle in the routing area of the first line to be routed, the cost value of the grid is updated based on the obstacle information and the initial cost value of the grid in the routing area, and the target cost value of the grid is determined. Then, the shortest path between the routing points of the first line to be routed is determined based on the target cost value to obtain the routing result of the first line to be routed. Therefore, when the line width is fixed, the shortest path between the routing points of the first line to be routed that avoids obstacles can be quickly found through the cost value to improve the routing efficiency.
[0016] In an optional implementation, the updating the cost value of the grid based on the obstacle information and the initial cost value to determine a target cost value of the grid includes:
[0017] If it is determined based on the obstacle information that there is an obstacle in the grid, adjusting the initial cost value of the grid to a preset obstacle cost value;
[0018] If it is determined based on the obstacle information that there is no obstacle in the grid, starting from the initial cost value of the grid, iteratively obtain the minimum cost value among the adjacent grids of the grid, and update the cost value of the corresponding grid based on the minimum cost value, until the updated cost value of the grid meets the preset stop condition, and the updated cost value of the grid is used as the target cost value of the grid.
[0019] In this method, when there is an obstacle in the grid, the initial cost value of the grid is adjusted to the preset obstacle cost value, so that the grid where the obstacle is located can be automatically avoided when searching for the shortest path and iteratively updating the grid. At the same time, when there is no obstacle in the grid, the cost value of the grid is iteratively updated based on the minimum cost value in the adjacent grids of the grid until the updated cost value of the grid meets the preset stop condition, and the updated cost value of the grid is used as the target cost value of the grid, so that it is convenient to quickly find the shortest path in the future to improve the routing efficiency.
[0020] In an optional implementation, if the line width type is a fixed line width, routing the line to be routed based on the routing mode and the obstacle information, and determining a routing result of the line to be routed, further includes:
[0021] If it is determined based on the obstacle information that there is no obstacle in the routing area, the routing points of the first line to be routed are connected to obtain an initial routing;
[0022] The initial routing is adjusted based on the preset routing constraint to obtain a routing result of the first line to be routed.
[0023] In this method, when there are no obstacles in the routing area, the routing points of the first line to be routed are directly connected to obtain an initial routing, and then the initial routing is adjusted based on the preset routing constraints to obtain the routing result of the first line to be routed. Therefore, there is no need to traverse and search each position in the routing area to quickly complete the routing task of the first line to be routed, thereby improving routing efficiency.
[0024] In an optional implementation, if the line width type is a non-fixed line width, routing the line to be routed based on the routing mode and the obstacle information to determine a routing result of the line to be routed includes:
[0025] Acquire a second line to be routed whose line width type is a non-fixed line width, so as to obtain a routing point of the second line to be routed;
[0026] Based on the routing points of the second line to be routed, obtaining a first closed route connecting all the routing points of the second line to be routed;
[0027] Adjusting vertices on the first closed route that do not satisfy the preset routing constraints to form a second closed route;
[0028] If it is determined based on the obstacle information that there is an obstacle in the second closed route, the second closed route is adjusted based on the position of the obstacle to obtain a routing result of the second line to be routed.
[0029] In this method, for the second line to be routed with an unfixed line width, all routing points of the second line to be routed are first connected to obtain a first closed route, and then the vertices on the first closed route that do not meet the preset routing constraints are adjusted. At the same time, if there are obstacles in the second closed route, the second closed route is adjusted based on the position of the obstacle. Therefore, the routing result of the second line to be routed can bypass the obstacle area while meeting the preset routing constraints, so that routing can be performed between routing points under different line widths, so as to cope with routing tasks of various different line widths and improve routing efficiency.
[0030] In an optional implementation manner, adjusting the vertices on the first closed route that do not satisfy the preset routing constraint to form a second closed route includes:
[0031] Obtaining angles of vertices on the first closed route that do not satisfy the preset routing constraints;
[0032] Obtaining a corresponding vertex adjustment method based on the angle;
[0033] The corresponding vertices are adjusted based on the vertex adjustment method to form the second closed route.
[0034] In this method, when there is a vertex on the first closed route that does not meet the preset routing constraints, the corresponding adjustment method is determined based on the angle of the vertex to adjust the vertex to form a second closed route. Therefore, the second closed route can meet the preset routing constraints.
[0035] In an optional implementation, the adjusting the second closed routing based on the position of the obstacle to obtain a routing result of the second line to be routed includes:
[0036] Determining a corresponding obstacle area based on the position of the obstacle;
[0037] The second closed routing is adjusted to bypass the obstacle area to obtain a routing result of the second line to be routed.
[0038] In this manner, the obstacle area is determined based on the position of the obstacle so that the second closed routing bypasses the obstacle area, thereby avoiding a conflict between the routing result of the second line to be routed and the position of the obstacle, thereby improving the routing rate of the printed circuit board.
[0039] In an optional embodiment, the method further includes:
[0040] Acquire a third to-be-routed line that cannot be routed to obtain a routing point of the third to-be-routed line;
[0041] Determining the position of a hole to be punched based on the position of the routing point of the third line to be routed;
[0042] Based on the routing points of the third line to be routed and the positions of the holes to be punched, the third line to be routed is routed to obtain a routing result of the third line to be routed.
[0043] In this method, when routing is impossible, the location of the hole to be punched is determined based on the location of the routing point, and then routing is performed based on the routing point and the location of the hole to be punched, thereby being able to effectively deal with the situation where routing is impossible on the top layer of the printed circuit board.
[0044] In a second aspect, the present invention provides a wiring device for a printed circuit board, the device comprising:
[0045] A wiring information acquisition module, used to acquire obstacle information on a target printed circuit board and line width types of lines to be routed, wherein the line width types include fixed line width and non-fixed line width;
[0046] A wiring mode determination module, used for determining the wiring mode of the line to be routed based on the line width type;
[0047] The wiring result generating module is used to perform wiring on the line to be wired based on the wiring mode and the obstacle information, and determine the wiring result of the line to be wired.
[0048] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the wiring method of a printed circuit board of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0049] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the printed circuit board wiring method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0051] Figure 1 is a schematic flow chart of a first printed circuit board wiring method according to an embodiment of the present invention;
[0052] Figure 2 is a schematic flow chart of a second printed circuit board wiring method according to an embodiment of the present invention;
[0053] Figure 3 is a schematic diagram of iterative updating of cost values of a grid according to an embodiment of the present invention;
[0054] Figure 4 is a schematic diagram of a wiring with a grid and fixed line width according to an embodiment of the present invention;
[0055] Figure 5is a schematic diagram of a fixed line width routing without a grid according to an embodiment of the present invention;
[0056] Figure 6 is a schematic flow chart of a third printed circuit board wiring method according to an embodiment of the present invention;
[0057] Figure 7 is a schematic diagram of a non-fixed line width routing according to an embodiment of the present invention;
[0058] Figure 8 is a schematic diagram of obstacle avoidance optimization for routing with non-fixed line width according to an embodiment of the present invention;
[0059] Fig. 9 is a schematic flow chart of a fourth printed circuit board wiring method according to an embodiment of the present invention;
[0060] Fig.10 is a flowchart of a wiring method for a printed circuit board according to an embodiment of the present invention;
[0061] Fig.11 is a structural block diagram of a wiring device for a printed circuit board according to an embodiment of the present invention;
[0062] Fig.12 is a structural block diagram of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0063] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0064] Wiring is one of the key links in the design of printed circuit boards (PCBs for short). Its main process is to connect the components in the circuit through wires under certain constraints to achieve specific functions. In the PCB design process, wiring work needs to be carried out after schematic design and PCB layout. In the wiring process, engineers need to carry out wiring according to the location of components. The entire wiring process is not highly automated, and most of the work is done manually, which is time-consuming and inefficient. Especially for PCBs with complex structures, many layers, and many types of components, wiring requirements are more and it takes longer. Therefore, in the related art, it is proposed to use artificially designed wiring sequence rules to plan the path of the pins to be connected to realize automatic wiring of PCBs, such as Lee algorithm, line exploration method, A* algorithm, optimal channel method, etc. In addition, an automatic wiring algorithm based on neural networks and genetic algorithms is proposed, which uses artificial intelligence-based online cloud wiring services to accumulate wiring experience and modern computing resources, thereby realizing automatic wiring of PCBs, which has certain intelligence.
[0065] However, in the related art, most PCB automatic routing methods are mainly focused on achieving a point-to-point routing method with a fixed line width and a grid. However, as the complexity of routing tasks increases, engineers are faced with the routing problem of non-fixed line width, and the related automatic routing algorithms based on fixed line width cannot solve the problems caused by non-fixed line width. For example: 1. Low routing efficiency: When there are multiple point pairs that need to be connected in a certain loop, the point-to-point routing algorithm with a grid will cause the routing time to increase exponentially with the increase in the number of routings and the routing range. 2. Difficult to meet routing constraints: When the routing process contains multiple networks with different line widths, and in the same network, there are different circuit line width requirements, such as: the interval between obstacles that can be routed is different, and the acceptable line width is also different. If a fixed line width routing method is used, the routing rate will be reduced, and it will be difficult to meet the routing constraints. Therefore, when completing this routing task, multiple routings with different line widths are combined. 3. Large workload for post-adjustment: In the wiring process, since the traditional wiring process uses multiple segments of the same line width for routing, engineers need to solve the problems of extra corners and irregularities generated in the wiring process, and need to constantly adjust the line width for routing, which increases the workload of engineers. Therefore, the wiring method based on fixed line width in the related technology often takes too long to achieve point-to-point connection when there are too many obstacles in the wiring loop and the wiring range is too large, and engineers need to constantly adjust the line width for routing, resulting in low wiring efficiency of the printed circuit board.
[0066] The wiring method for a printed circuit board provided in an embodiment of the present invention can quickly respond to wiring tasks of different line width types by determining the corresponding wiring mode in combination with the line width type, obtain wiring results, and improve the wiring efficiency of the printed circuit board.
[0067] In view of this, according to an embodiment of the present invention, an embodiment of a wiring method for a printed circuit board is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0068] In this embodiment, a wiring method for a printed circuit board is provided, which can be used for a wiring device for a printed circuit board. Figure 1 is a flow chart of a first printed circuit board wiring method according to an embodiment of the present invention, such as Figure 1 As shown, the process includes the following steps:
[0069] Step S101, obtaining obstacle information on a target printed circuit board and line width types of lines to be routed, where the line width types include fixed line width and non-fixed line width.
[0070] It should be noted that in actual operation, the layout data and wiring data of the printed circuit board input by the engineer can be extracted to extract the obstacle information on the target printed circuit board, the lines to be routed, the specifications and position information of the pins and components on the lines to be routed, and the line width type and corresponding wiring constraints corresponding to the lines to be routed.
[0071] Step S102, determining a routing method of the line to be routed based on the line width type.
[0072] Specifically, in the process of realizing automatic wiring of printed circuit boards, different modules have different wiring constraints, and the scale and complexity of wiring of different modules are also different. Different wiring methods can be used for fixed line width and non-fixed line width. For example, for fixed line width, grid-based wiring algorithms such as Lee algorithm, line exploration method, A* algorithm, etc. can be used. For non-fixed line width, other grid-free wiring algorithms can be used to improve wiring speed and flexibility. At the same time, in order to reduce the problem of difficulty in development caused by complex constraints in the wiring process, artificial intelligence methods can be used for solving, such as reinforcement learning, deep learning, etc., to improve the generalization ability and solution performance of the algorithm.
[0073] Step S103 , routing the line to be routed based on the routing method and obstacle information, and determining a routing result of the line to be routed.
[0074] It should be noted that in actual operation, the routing area can be set to a matrix of all 0s. After obtaining all the lines to be routed, the location of the obstacles is represented by 1 based on the obstacle information to form an obstacle matrix. In the process of routing the lines to be routed based on the corresponding routing method, the location of the obstacles can be automatically identified so that the routing of the lines to be routed can avoid the obstacles.
[0075] In addition, for the acquired routing tasks, in order to improve the routing rate, it is necessary to process the order of the routing lines to be routed, and determine the routing order of each routing line in the order of shortest routing line distance and larger line width. In the case where multiple pins inside each routing line need to be connected, the minimum spanning tree algorithm can be used to calculate the Euclidean distance between each pin inside the routing line to be routed, and obtain the routing order inside each routing line to be routed.
[0076] The wiring method for a printed circuit board provided in this embodiment can adaptively select an applicable wiring method for wiring tasks with fixed line width and non-fixed line width, and then perform wiring on the lines to be wired based on the wiring methods applicable to different line width types and obstacle information, and determine the wiring results of the lines to be wired. Therefore, it is possible to quickly respond to wiring tasks with different line width types and obtain wiring results, thereby improving the wiring efficiency of the printed circuit board.
[0077] Figure 2 FIG. 1 is a flow chart of a second printed circuit board wiring method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:
[0078] Step S201, obtaining obstacle information on the target printed circuit board and line width types of the lines to be routed, the line width types including fixed line width and non-fixed line width. See the above step S101 for details, which will not be described in detail here.
[0079] Step S202, determining the routing mode of the to-be-routed line based on the line width type. See the above step S102 for details, which will not be described in detail here.
[0080] Step S203 , routing the line to be routed based on the routing method and obstacle information, and determining a routing result of the line to be routed.
[0081] In an optional implementation, if the line width type is a fixed line width, the above step S203 includes:
[0082] Step S2031, obtaining a first line to be routed whose line width type is a fixed line width, to obtain routing points of the first line to be routed.
[0083] It should be noted that the routing point of the first to-be-routed circuit is the pin to be connected in the first to-be-routed circuit. In this embodiment, the fixed line width corresponds to a smaller line width, that is, the fixed line width corresponds to a line width that is smaller than a preset line width threshold.
[0084] Step S2032: obtaining a routing area based on the routing points of the first line to be routed.
[0085] Specifically, the envelope rectangle formed by the area where the wiring points to be connected are located is used as the wiring area. It should be noted that in order to be able to route around the wiring points when the minimum envelope rectangle where the wiring points are located cannot be routed, the wiring area can be appropriately larger than the minimum envelope rectangle of the wiring points.
[0086] Step S2033: If it is determined based on the obstacle information that there is an obstacle in the wiring area, a grid corresponding to the wiring area and an initial cost value of the grid are obtained.
[0087] Specifically, the obstacle matrix is converted into the routing space of the first to-be-routed line to determine whether there are obstacles in the routing area. If there are obstacles, a cost value iteration algorithm with a grid is used to divide the routing area into multiple grids. The size of the grid can be set according to the minimum unit of the line width, such as 1 mil, and the initial cost value of the grid is set to 0.
[0088] Step S2034: based on the obstacle information and the initial cost value, the cost value of the grid is updated to determine the target cost value of the grid.
[0089] Specifically, since the connection order between each routing point is predetermined, the starting point and the end point between each routing point can be determined, and the minimum cost value of the adjacent grids of each grid can be traversed from the end point. Then, the cost value of the current grid is iteratively updated based on the minimum cost value. When the iteration stop condition is met, the updated cost value of the grid is used as the target cost value of the grid.
[0090] Specifically, the above step S2034 includes:
[0091] Step a1: if it is determined based on the obstacle information that there is an obstacle in the grid, the initial cost value of the grid is adjusted to a preset obstacle cost value.
[0092] Specifically, the preset obstacle cost value may be -∞ to avoid passing through obstacles during routing. In addition, in actual operation, a cost threshold may be set. If the cost value of a grid is less than the cost threshold, the grid is determined to be unroutable and other grids are selected for routing.
[0093] Step a2: If it is determined based on the obstacle information that there is no obstacle in the grid, starting from the initial cost value of the grid, iteratively obtain the minimum cost value among the adjacent grids of the grid, and update the cost value of the corresponding grid based on the minimum cost value until the updated cost value of the grid meets the preset stop condition, and then use the updated cost value of the grid as the target cost value of the grid.
[0094] It should be noted that, in this embodiment, the adjacent grids mainly refer to the grids above, below, left and right of the current grid, and do not include the grids diagonally opposite to the current grid.
[0095] Specifically, updating the cost value of the corresponding grid based on the minimum cost value includes: updating the cost value of the corresponding grid based on the sum of the minimum cost value and a preset value to reduce the cost value of the grid. Optionally, the preset value is -1, and the preset stop condition is that the cost value of the grid no longer changes.
[0096] Specifically, see Figure 3 The first cost value grid diagram in (the situation where there are obstacles is not shown in the figure), with a preset value of -1, a preset stop condition that the cost value of the grid no longer changes, and the wiring points are pins A and B as an example, assuming that pin A is the starting point and pin B is the end point, and the initial cost value of each grid is 0. Starting from point B, since point B is the end point, the cost value of point B is always 0, and for the grid in the third row and first column, since the minimum cost value of its upper and right adjacent grids is 0, the minimum cost value of the grid in the third row and first column is updated to 0+(-1)=-1. For the grid in the second row and first column, since the minimum cost value of its upper, lower and right adjacent grids is 0, the cost value of the grid in the second row and first column is updated to 0+(-1)=-1, and so on, to obtain the second cost value grid diagram. In the second cost value grid map, for the grid in the third row and first column, since the minimum cost value of the adjacent grids above and to the right is 0, the minimum cost value of the grid in the third row and first column is updated to 0+(-1)=-1. For the grid in the second row and first column, since the minimum cost value of the adjacent grids above, below and to the right is -1, the cost value of the grid in the second row and first column is updated to (-1)+(-1)=-2, and so on, to obtain the third cost value grid map. Similarly, according to the update method of the first two cost value grid maps, the cost values of the grids in the third cost value grid map are continued to be updated to obtain the fourth cost value grid map. According to the fourth cost value grid map, even if the update continues, the cost value of each grid will not change. At this time, the preset stop condition is met, and the cost value of each grid in the fourth cost value grid map is used as the target cost value of each grid.
[0097] The wiring method for a printed circuit board provided in this embodiment adjusts the initial cost value of the grid to the preset obstacle cost value when there is an obstacle in the grid, so that the grid where the obstacle is located can be automatically avoided when searching for the shortest path and iteratively updating the grid. At the same time, when there is no obstacle in the grid, the cost value of the grid is iteratively updated based on the minimum cost value in the adjacent grids of the grid, until the updated cost value of the grid meets the preset stop condition, and the updated cost value of the grid is used as the target cost value of the grid, so that it is convenient to quickly find the shortest path in the future to improve the wiring efficiency.
[0098] Step S2035 , determining the shortest path between routing points of the first line to be routed based on the target cost value of the grid, and obtaining a routing result of the first line to be routed.
[0099] Specifically, based on the target cost value of the grid, a path with the maximum target cost value between the routing points of the first to-be-routed line is found, and the path is used as the shortest path to obtain the routing result of the first to-be-routed line. Figure 3 and Figure 4 As shown in the figure, since the connection order between each routing point is predetermined, the starting point and the end point between each routing point can be determined. Starting from the end point, the adjacent grid with the largest target cost value is searched in reverse until the starting point is found. This path is the shortest path. During the search process, since the grid where the obstacle is located is set to the preset obstacle cost value, which is usually much smaller than the regular cost value of the grid, the grid where the obstacle is located will not be selected during the search process, so that the routing between the routing points bypasses the obstacle area.
[0100] As another optional implementation, if the line width type is a fixed line width, the above step S203 further includes:
[0101] Step S2036: If it is determined based on the obstacle information that there is no obstacle in the routing area, the routing points of the first line to be routed are connected to obtain an initial routing.
[0102] Step S2037, adjusting the initial routing based on the preset routing constraint to obtain a routing result of the first line to be routed.
[0103] Optionally, the preset routing constraints include that a corner of the routing is 135 degrees, and an angle between the routing and the coordinate axis is 0 degrees or 45 degrees.
[0104] It should be noted that the preset wiring constraints can be adjusted according to actual conditions and are not specifically limited here.
[0105] For example, assuming that the routing points are pin A and pin B, pin A is the starting point, and pin B is the end point, according to the above steps S2036 and S2037, pin A and pin B can be directly connected to obtain an initial routing, and then the initial routing is adjusted as follows: Figure 5 The target routing is shown so that the angle between the target routing and the coordinate axis is 0 degree or 45 degrees to obtain the routing result of the first line to be routed.
[0106] It can be understood that compared to the routing algorithm with grids, when there are no obstacles in the routing area, the routing points of the first line to be routed are connected, and there is no need to traverse the search grid positions in the routing area, which can greatly reduce the search time, complete the routing task at a faster speed, and improve the routing efficiency.
[0107] It should be noted that in this embodiment, the line width type is fixed line width, which often also means that the line width is small. Therefore, for the fixed line width and small line width to be routed, in most cases, when the gap between obstacles is small, the line can be routed between obstacles with a smaller line width. Therefore, when there are obstacles, the above-mentioned grid-based cost value iteration path planning algorithm can be used for routing. When there are no obstacles, in order to improve routing efficiency, the grid-free graphic algorithm can be used for routing to avoid the need to update the cost value of each grid when using the grid-based value iteration algorithm.
[0108] Figure 6 is a flow chart of a third printed circuit board wiring method according to an embodiment of the present invention, such as Figure 6 As shown, the process includes the following steps:
[0109] Step S301, obtaining obstacle information on the target printed circuit board and line width types of the lines to be routed, the line width types including fixed line width and non-fixed line width. See the above step S101 for details, which will not be described in detail here.
[0110] Step S302, determining the routing mode of the to-be-routed line based on the line width type. See the above step S102 for details, which will not be described in detail here.
[0111] Step S303: routing the line to be routed based on the routing method and obstacle information, and determining a routing result of the line to be routed.
[0112] In an optional implementation, if the line width type is an unfixed line width, the above step S303 includes:
[0113] Step S3031, obtaining a second line to be routed whose line width type is non-fixed line width, to obtain routing points of the second line to be routed.
[0114] It should be noted that, in this embodiment, the non-fixed line width corresponds to a larger line width, that is, the line width corresponding to the non-fixed line width is greater than or equal to the preset line width threshold. The routing point of the second to-be-routed line is the pad of the component to be connected.
[0115] Step S3032: based on the routing points of the second circuit to be routed, obtain a first closed route connecting all the routing points of the second circuit to be routed.
[0116] Specifically, the routing points in the second to-be-routed circuit are traversed to sequentially connect the vertices of the component pads to be connected in the second to-be-routed circuit, and the convex points are retained to form a polygonal first closed routing line.
[0117] Step S3033, adjusting the vertices on the first closed route that do not satisfy the preset routing constraints to form a second closed route.
[0118] Specifically, it is determined whether the vertex of the first closed line is at the first constraint angle, and if not, the vertex is passivated, that is, the corner is optimized to the first constraint angle to meet the preset line constraint, wherein the first constraint angle is 135 degrees.
[0119] Furthermore, the above step S3033 includes:
[0120] Step b1, obtaining the angles of the vertices on the first closed line that do not satisfy the preset routing constraints.
[0121] Specifically, the angles of the vertices on the first closed route that are not equal to the first constraint angle may be obtained according to the angles between any two line segments on the first closed route.
[0122] Step b2, obtaining the corresponding vertex adjustment method based on the angle.
[0123] Specifically, if the angle of the vertex is a preset angle, the vertex adjustment method is to add two endpoints equidistant from the vertex at both ends of the vertex, connect the two endpoints, and form a newly added routing to replace the vertex. If the angle of the vertex is an angle other than the preset angle (excluding 135 degrees), it is determined whether the angle formed by the adjacent side of the vertex and the coordinate axis is the second constraint angle or the third constraint angle. If the angle formed by the adjacent side and the coordinate axis is not the second preset angle or the third preset angle, a vertex with the first constraint angle is added in the middle of the adjacent side, and the two ends of the newly added vertex are connected to the two ends of the adjacent side to meet the preset routing constraints; wherein the preset angle is 90 degrees, the first constraint angle is 135 degrees, the second constraint angle is 0 degrees, and the third constraint angle is 45 degrees.
[0124] Step b3: adjusting corresponding vertices based on the vertex adjustment method to form a second closed route.
[0125] For example, see Figure 7 , connect pin A, pin B and pin C in sequence to form a first closed route. For the 90-degree vertex in the first closed route, add two endpoints equidistant from the vertex at both ends of the vertex and connect the two endpoints to form a newly added route. For the routes in the first closed route whose angles with the coordinate axis are not equal to 0 degrees or 45 degrees, add a vertex of 135 degrees in the middle of the route, and connect the two ends of the newly added vertex to the two ends of the route to replace the original route. If after adding a vertex of 135, there is still a route whose angle with the coordinate axis is not equal to 0 degrees or 45 degrees in the first closed route, continue to add a vertex of 135 degrees in the middle of the route, and so on, until all vertices are 135 degrees and the angles of each route with the coordinate axis are 0 degrees or 45 degrees, then the second closed route is obtained.
[0126] The wiring method for a printed circuit board provided in this embodiment determines a corresponding adjustment method based on the angle of a vertex when there is a vertex on a first closed route that does not satisfy a preset wiring constraint, so as to adjust the vertex and form a second closed route. Therefore, the second closed route can satisfy the preset wiring constraint.
[0127] Furthermore, the above-mentioned step b4 adjusts the second closed route based on the position of the obstacle to obtain the routing result of the second line to be routed, including: determining the corresponding obstacle area based on the position of the obstacle; adjusting the second closed route to bypass the obstacle area to obtain the routing result of the second line to be routed.
[0128] For example, see Figure 8 If the second closed route conflicts with the obstacle area, the part of the second closed route that overlaps with the obstacle area is discarded with the goal of causing the smallest cutting shape to the second closed route, so as to obtain the routing result of the second line to be routed. It should be noted that in the process of adjusting the second closed route to bypass the obstacle area, it is also necessary to follow the preset routing constraints, and each vertex needs to meet 135 degrees, and the route needs to be 0 degrees or 45 degrees with the coordinate axis. The specific adjustment method can refer to the adjustment method of the first closed route mentioned above, which will not be elaborated here.
[0129] The wiring method for a printed circuit board provided in this embodiment determines the obstacle area based on the position of the obstacle so that the second closed routing bypasses the obstacle area, thereby avoiding the wiring result of the second line to be wired from conflicting with the position of the obstacle, thereby improving the routing rate of the printed circuit board.
[0130] Step S3034: if it is determined based on the obstacle information that there is an obstacle in the second closed route, the second closed route is adjusted based on the position of the obstacle to obtain a routing result of the second line to be routed.
[0131] Specifically, if it is determined based on the obstacle information that there is no obstacle in the second closed route, the second closed route is used as the routing result of the second line to be routed.
[0132] It should be noted that in order to avoid the situation where the routing cannot pass through obstacles or gaps between obstacles when routing with unfixed line width, it is necessary to adjust the second closed routing based on the position of the obstacle so that the second closed routing bypasses the obstacle area where the obstacle is located. The obstacle information includes the position of the obstacle. In addition, when outputting the routing result of the second line to be routed, the vertices of the closed routing can be output in a counterclockwise order as the optimal path of the routing. For routing optimization with too many corners, post-processing operations can be used to improve the aesthetics of the routing.
[0133] The wiring method for a printed circuit board provided in the present embodiment first connects all the wiring points of the second wiring line to be wired to obtain a first closed routing line for a second wiring line with an unfixed line width, and then adjusts the vertices on the first closed routing line that do not satisfy the preset wiring constraints. Meanwhile, if there are obstacles in the second closed routing line, the second closed routing line is adjusted based on the position of the obstacle. Therefore, the wiring result of the second wiring line to be wired can bypass the obstacle area while satisfying the preset wiring constraints, so that routing can be performed between wiring points under different line widths, so as to cope with wiring tasks of various different line widths and improve wiring efficiency.
[0134] Understandably, see Figure 4 In the grid-based routing method shown, in actual operation, the gap between obstacle 1 and obstacle 2 may be small, and the gap between obstacle 3 and obstacle 4 may be large. If a fixed line width is used, the line width needs to be small so that routing can be performed in different obstacle gaps. Otherwise, if the line width is large, it may not be possible to pass through the gap between obstacle 1 and obstacle 2. If the line width is large, the engineer needs to manually adjust the line width between obstacle 1 and obstacle 2, as well as the line width between obstacle 3 and obstacle 4, to adapt to different line width requirements, resulting in low routing efficiency. Therefore, for the case of unfixed line width, this embodiment adopts a polygonal routing method to divide the obstacles to the outside of the closed routing. Therefore, when routing, there is no need to consider whether the line width can pass through the gaps between obstacles, so as to realize automatic routing of routes to be routed with different fixed line widths.
[0135] It should be noted that in order to facilitate subsequent routing based on different line width types, the routing results of the first to-be-routed line and the routing results of the second to-be-routed line can be divided into two types of data for output according to fixed line width routing and non-fixed line width routing. If it is a fixed line width routing, all the turning points of the routing and the corresponding line width are returned. If it is a non-fixed line width routing, the vertices of the polygonal closed routing are returned in a counterclockwise order. All data are output to engineers in a lightweight data exchange format (such as json format) and visualized on simulation software (such as EDA software).
[0136] Fig. 9 is a flow chart of a fourth printed circuit board wiring method according to an embodiment of the present invention, such as Fig. 9 As shown, the process includes the following steps:
[0137] Step S401, obtaining obstacle information on the target printed circuit board and line width types of the lines to be routed, the line width types including fixed line width and non-fixed line width. See the above step S101 for details, which will not be described in detail here.
[0138] Step S402, determining the routing mode of the to-be-routed line based on the line width type. See the above step S102 for details, which will not be described in detail here.
[0139] Step S403: routing the line to be routed based on the routing mode and the obstacle information, and determining the routing result of the line to be routed. See the above step S103 for details, which will not be described in detail here.
[0140] Step S404, obtaining a third line to be routed that cannot be routed, to obtain a routing point of the third line to be routed.
[0141] It should be noted that in the fixed line width wiring method, there may be too many obstacles between the wiring points, and the gaps between the obstacles are small, resulting in the fixed line width being unable to pass through the gaps, thereby failing to achieve routing between the wiring points. Therefore, the third line to be routed of the wireless wiring obtained in the above step S404 is mainly for the line to be routed that cannot be routed with a fixed line width, and of course, it can also be a line to be routed that cannot be routed with a non-fixed line width.
[0142] Step S405, determining the position of the hole to be drilled based on the position of the routing point of the third line to be routed.
[0143] Specifically, assuming that the wiring points are pins A and pin B, wiring is to be performed between pins A and pin B, but the above-mentioned fixed line width and / or non-fixed line width wiring method cannot perform top-level wiring between pins A and pin B, then according to the goal that the spacing between the punching points should be as short as possible, a position where holes can be punched can be found within the preset range of pins A and pin B to form a new alternative routing plan, thereby dealing with the situation where the top layer of the printed circuit board cannot be routed; wherein, the preset range should be as small as possible.
[0144] Step S406, routing the third line to be routed based on the routing points of the third line to be routed and the positions of the holes to be drilled, to obtain a routing result of the third line to be routed.
[0145] Specifically, the routing result of the third line to be routed is a routing method of connecting routing points from the bottom layer based on the positions of the holes to be drilled.
[0146] The wiring method for a printed circuit board provided in this embodiment determines the position of the holes to be punched based on the position of the wiring points when wiring is impossible, and then performs wiring based on the wiring points and the positions of the holes to be punched, thereby being able to effectively deal with the situation where wiring is impossible on the top layer of the printed circuit board.
[0147] It is worth noting that if Fig.10As shown, the wiring method of the printed circuit board of this embodiment is composed of the following frameworks: data input, wiring algorithm design and wiring optimization, and wiring scheme visualization. Specifically, 1. Data input: In order to realize modular automatic wiring of printed circuit boards, improve wiring speed and solve the problem of non-fixed line width, this embodiment first extracts the layout information of the printed circuit board, including layout data and wiring data, to obtain the specifications and position information of the lines to be wired in the layout of the printed circuit board and the pins and components on the corresponding lines to be wired; among them, for the wiring data and layout data submitted by the engineer, it is necessary to extract key information to provide the wiring algorithm corresponding to the wiring method of the printed circuit board of this embodiment, and the specific extraction content is as follows: 1.1 Wiring space information extraction, including: wiring board specifications, component forbidden wiring areas, specific area forbidden wiring areas and other forbidden wiring area information. 1.2 Component information extraction, including: component center point coordinates, component specifications, pins on components and pad coordinates, pad specifications, component silk screen and other information. 1.3 Wiring data extraction, including: wiring tasks, each line to be wired, network name of the line to be wired, and voltage value of the line to be wired. 1.4 Routing constraint extraction, including: routing line width constraints (i.e., the line width type of the line to be routed), routing spacing constraints, punching constraints, user-selected sensitive routing constraints, etc. 2. Routing algorithm design and routing optimization: Based on the above extracted data, the lines to be routed with different line widths are classified according to the line width type corresponding to the lines to be routed and the corresponding routing constraints, and the above-mentioned multiple routing methods are used for routing according to the types to obtain the routing results of the lines to be routed. 3. Routing scheme visualization: The routing results of the lines to be routed are divided into two types of data for output according to fixed line width routing and non-fixed line width routing. If it is a fixed line width routing, all the inflection points and the corresponding line width of the routing are returned. If it is a non-fixed line width routing, the vertices of the polygonal closed routing are returned in counterclockwise order. All data are output to engineers in a lightweight data exchange format and visualized on the simulation software.
[0148] It is worth noting that, although there are many solutions proposed for automatic wiring algorithms, most of them are improvements to the algorithm from the overall framework, and few solutions can solve the many problems generated in the actual wiring process, making the solutions not very practical. Compared with other related wiring algorithms, the wiring method of the printed circuit board of the present invention adopts a variety of wiring algorithms to jointly solve and can quickly respond to more complex wiring requirements, has strong applicability and versatility, and requires lower time and calculation costs for algorithm design, and can obtain wiring results faster.
[0149] In this embodiment, a wiring device for a printed circuit board is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0150] This embodiment provides a wiring device for a printed circuit board, such as Fig.11 As shown, including:
[0151] The wiring information acquisition module 501 is used to acquire obstacle information on the target printed circuit board and the line width type of the line to be routed, where the line width type includes a fixed line width and a non-fixed line width;
[0152] A wiring mode determination module 502 is used to determine the wiring mode of the line to be routed based on the line width type;
[0153] The wiring result generating module 503 is used to perform wiring on the line to be wired based on the wiring mode and the obstacle information, and determine the wiring result of the line to be wired.
[0154] In some optional implementations, the wiring result generation module 503 includes a fixed line width wiring unit, which is used to route the line to be routed based on the wiring mode and obstacle information if the line width type is a fixed line width, and determine the wiring result of the line to be routed; the fixed line width wiring unit includes:
[0155] A fixed width information acquisition subunit, used to acquire a first to-be-routed line whose line width type is a fixed line width, so as to obtain a routing point of the first to-be-routed line;
[0156] A routing area acquisition subunit, used to obtain a routing area based on a routing point of a first to-be-routed line;
[0157] The obstacle wiring subunit is used to obtain the grid corresponding to the wiring area and the initial cost value of the grid if it is determined that there is an obstacle in the wiring area based on the obstacle information;
[0158] A grid value updating subunit, used for updating the cost value of the grid based on the obstacle information and the initial cost value to determine the target cost value of the grid;
[0159] The shortest path search subunit is used to determine the shortest path between the routing points of the first line to be routed based on the target cost value of the grid, and obtain the routing result of the first line to be routed.
[0160] In some optional implementations, the grid value updating subunit is specifically used for:
[0161] If it is determined based on the obstacle information that there is an obstacle in the grid, the initial cost value of the grid is adjusted to a preset obstacle cost value;
[0162] If it is determined based on the obstacle information that there is no obstacle in the grid, starting from the initial cost value of the grid, iteratively obtain the minimum cost value among the adjacent grids of the grid, and update the cost value of the corresponding grid based on the minimum cost value until the updated cost value of the grid meets the preset stop condition, and then use the updated cost value of the grid as the target cost value of the grid.
[0163] In some optional implementations, the fixed line width wiring unit further includes:
[0164] An obstacle-free routing subunit, configured to connect routing points of the first to-be-routed line to obtain an initial routing line if it is determined based on the obstacle information that there are no obstacles in the routing area;
[0165] The initial routing adjustment subunit is used to adjust the initial routing based on the preset routing constraint to obtain the routing result of the first to-be-routed line.
[0166] In some optional implementations, the routing result generation module 503 further includes an unfixed line width routing unit, which is used to route the line to be routed based on the routing method and obstacle information if the line width type is unfixed line width, and determine the routing result of the line to be routed; the unfixed line width routing unit includes:
[0167] The non-fixed width information acquisition subunit is used to acquire a second line to be routed whose line width type is non-fixed line width, so as to obtain a routing point of the second line to be routed;
[0168] A closed routing generation subunit, configured to obtain a first closed routing connecting all routing points of the second routing lines based on the routing points of the second routing lines;
[0169] A closed routing adjustment subunit, used for adjusting vertices on the first closed routing that do not meet the preset routing constraints to form a second closed routing;
[0170] The obstacle cutting subunit is used to adjust the second closed routing based on the position of the obstacle to obtain a routing result of the second line to be routed if it is determined that there is an obstacle in the second closed routing based on the obstacle information.
[0171] In some optional implementations, the closed routing adjustment subunit is specifically used for:
[0172] Obtaining angles of vertices on the first closed line that do not satisfy the preset routing constraints;
[0173] Get the corresponding vertex adjustment method based on the angle;
[0174] The corresponding vertices are adjusted based on the vertex adjustment method to form a second closed routing line.
[0175] In some optional embodiments, the obstacle cutting subunit is specifically used for:
[0176] Determine a corresponding obstacle area based on the position of the obstacle;
[0177] The second closed routing is adjusted to bypass the obstacle area to obtain a routing result of the second line to be routed.
[0178] In some optional embodiments, the device further comprises:
[0179] An unroutable monitoring module is used to obtain a third to-be-routed line that cannot be routed, so as to obtain a routing point of the third to-be-routed line;
[0180] A drilling position determination module, used to determine the position of the hole to be drilled based on the position of the routing point of the third line to be routed;
[0181] The alternative wiring generation module is used to route the third line to be routed based on the routing points of the third line to be routed and the positions of the holes to be punched, so as to obtain the routing result of the third line to be routed.
[0182] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0183] The wiring device of the printed circuit board in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0184] The embodiment of the present invention also provides a computer device having the above Fig.11 The wiring arrangement of the printed circuit board is shown.
[0185] See also Fig.12 , Fig.12 is a structural block diagram of a computer device provided by an optional embodiment of the present invention, such as Fig.12As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig.12 A processor 10 is taken as an example.
[0186] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0187] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.
[0188] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0189] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0190] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Fig.12 The example of connecting through bus is taken in the following.
[0191] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.
[0192] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0193] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A wiring method for a printed circuit board, characterized in that: The method comprises: Obtaining obstacle information on a target printed circuit board and line width types of lines to be routed, wherein the line width types include fixed line width and non-fixed line width; Determining a routing method of the line to be routed based on the line width type; The line to be routed is routed based on the routing method and the obstacle information, and a routing result of the line to be routed is determined.
2. The method according to claim 1, characterized in that If the line width type is a fixed line width, routing the line to be routed based on the routing mode and the obstacle information, and determining a routing result of the line to be routed, includes: Acquire a first line to be routed whose line width type is a fixed line width, so as to obtain a routing point of the first line to be routed; Obtaining a routing area based on the routing points of the first to-be-routed line; If it is determined based on the obstacle information that there is an obstacle in the wiring area, obtaining a grid corresponding to the wiring area and an initial cost value of the grid; Based on the obstacle information and the initial cost value, updating the cost value of the grid to determine a target cost value of the grid; The shortest path between routing points of the first line to be routed is determined based on the target cost value of the grid, and a routing result of the first line to be routed is obtained.
3. The method according to claim 2, characterized in that The updating the cost value of the grid based on the obstacle information and the initial cost value to determine a target cost value of the grid includes: If it is determined based on the obstacle information that there is an obstacle in the grid, adjusting the initial cost value of the grid to a preset obstacle cost value; If it is determined based on the obstacle information that there is no obstacle in the grid, starting from the initial cost value of the grid, iteratively obtain the minimum cost value among the adjacent grids of the grid, and update the cost value of the corresponding grid based on the minimum cost value, until the updated cost value of the grid meets the preset stop condition, and the updated cost value of the grid is used as the target cost value of the grid.
4. The method according to claim 2, characterized in that: If the line width type is a fixed line width, routing the line to be routed based on the routing mode and the obstacle information, and determining a routing result of the line to be routed, further includes: If it is determined based on the obstacle information that there is no obstacle in the routing area, the routing points of the first line to be routed are connected to obtain an initial routing; The initial routing is adjusted based on the preset routing constraint to obtain a routing result of the first line to be routed.
5. The method according to claim 1, characterized in that If the line width type is an unfixed line width, routing the line to be routed based on the routing mode and the obstacle information, and determining a routing result of the line to be routed, includes: Acquire a second line to be routed whose line width type is a non-fixed line width, so as to obtain a routing point of the second line to be routed; Based on the routing points of the second line to be routed, obtaining a first closed route connecting all the routing points of the second line to be routed; Adjusting vertices on the first closed route that do not satisfy the preset routing constraints to form a second closed route; If it is determined based on the obstacle information that there is an obstacle in the second closed route, the second closed route is adjusted based on the position of the obstacle to obtain a routing result of the second line to be routed.
6. The method according to claim 5, characterized in that The step of adjusting the vertices on the first closed route that do not satisfy the preset routing constraint to form a second closed route includes: Obtaining angles of vertices on the first closed route that do not satisfy the preset routing constraints; Obtaining a corresponding vertex adjustment method based on the angle; The corresponding vertices are adjusted based on the vertex adjustment method to form the second closed route.
7. The method according to claim 5, characterized in that The adjusting the second closed routing based on the position of the obstacle to obtain a routing result of the second line to be routed includes: Determining a corresponding obstacle area based on the position of the obstacle; The second closed routing is adjusted to bypass the obstacle area to obtain a routing result of the second line to be routed.
8. The method according to claim 1, characterized in that The method further comprises: Acquire a third to-be-routed line that cannot be routed to obtain a routing point of the third to-be-routed line; Determining the position of a hole to be punched based on the position of the routing point of the third line to be routed; Based on the routing points of the third line to be routed and the positions of the holes to be punched, the third line to be routed is routed to obtain a routing result of the third line to be routed.
9. A wiring device for a printed circuit board, characterized in that: The device comprises: A wiring information acquisition module, used to acquire obstacle information on a target printed circuit board and line width types of lines to be routed, wherein the line width types include fixed line width and non-fixed line width; A wiring mode determination module, used for determining the wiring mode of the line to be routed based on the line width type; The wiring result generating module is used to perform wiring on the line to be wired based on the wiring mode and the obstacle information, and determine the wiring result of the line to be wired.
10. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are connected to communicate with each other, the memory stores computer instructions, and the processor executes the wiring method for a printed circuit board according to any one of claims 1 to 8 by executing the computer instructions.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the wiring method for a printed circuit board according to any one of claims 1 to 8.
Citation Information
Cited By
Differential pair automatic wiring method and device
CN121525626A