Wiring length determination method based on circuit board
By obtaining the starting point of the trace and the coordinates of the target device on the circuit board, combined with via tracking technology, the accuracy and efficiency of trace length statistics in the existing technology are solved, and higher accuracy and efficiency are achieved.
Patent Information
- Application Number
- CN202411709093.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2044-11-27
AI Technical Summary
The prior art has low accuracy and efficiency when determining the trace length on the circuit board, especially when the trace length is near the via, the statistics are incorrect, and artificial calculations are easy to miss the trace length at a certain level.
By obtaining the current trace starting point and target device at the current level of the circuit board, use coordinates to determine the trace length, and when the target device is a via, track the trace starting point at the next level through the via to avoid human statistics and errors. Omission.
It improves the accuracy of trace length and the efficiency of the determination process, avoids human statistical errors, and ensures accurate calculation of trace length on the circuit board.
Smart Images

Figure CN119450944A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of circuit boards, and in particular to a method for determining a wiring length based on a circuit board. Background Art
[0002] The server controller needs to use a printed circuit board (PCB) as a support to connect the various functional modules. The signal transmission quality is closely related to the length of the board trace. The longer the trace, the longer the transmission distance, resulting in poorer quality of the functional module where the signal reaches the end point. In order to test the signal quality of the trace, it is necessary to determine the maximum trace length among the trace lengths between two functional modules for evaluation.
[0003] In the process of determining the length of each trace, the coordinate information corresponding to the via and PIN foot (pin) is manually determined to determine the length of the corresponding layer, and then the total trace length between the two functional modules is directly added and compared. When the trace length is near the via, it will lead to statistical errors. At the same time, the corresponding traces in the PCB board are numerous and dense, and manual calculation may miss the trace length of a certain layer, resulting in reduced accuracy of the trace length and reduced efficiency.
[0004] Therefore, how to improve the accuracy of the routing length and the efficiency of the determination process is an urgent problem that those skilled in the art need to solve. Summary of the invention
[0005] The object of the present invention is to provide a method for determining the wiring length based on a circuit board, so as to solve the problem of reduced accuracy and efficiency in conventional manual statistics of wiring length.
[0006] In order to solve the above technical problems, the present invention provides a method for determining the wiring length based on a circuit board, comprising:
[0007] Get the current routing start point of the current layer of the circuit board and the target device connected to the current routing;
[0008] Determine the routing length of the current layer according to the corresponding coordinates when the starting point of the current routing reaches the auxiliary area of the target device;
[0009] When the target device is a via, the starting point of the routing corresponding to the next layer is tracked according to the via, so as to return to the step of obtaining the target device connected with the current routing; when the target device is a pin, the routing length between the pins at the current layer is determined according to the coordinates of the pin;
[0010] Based on the layer relationship of the circuit board, the routing length of each layer and the routing length between each pin are processed to obtain the routing length corresponding to the current signal.
[0011] On the one hand, when the target device is a via, determining the routing length of the current layer according to the coordinates corresponding to when the starting point of the current routing reaches the auxiliary area of the target device includes:
[0012] Determine whether the routing end point of the current layer corresponding to the current routing start point is the coordinate of the target device;
[0013] If yes, determining the routing length of the current layer according to the coordinates corresponding to the current routing starting point and the target device;
[0014] If not, the area determined by taking the end point of the routing at the current layer as the center and the first preset length as the radius is used as the auxiliary area of the target device; and the routing length of the current layer is determined according to the relationship between the current routing starting point, the end point of the routing at the current layer corresponding to the current routing starting point and the auxiliary area of the target device.
[0015] On the other hand, when there are a plurality of first vias in the auxiliary area of the target device, a process of determining the vias for tracking the starting point of the routing at the next level includes:
[0016] Obtaining the coordinates of each of the first vias;
[0017] Determine a first distance from each of the first vias to the starting point of the current routing according to the coordinates of each of the first vias and the coordinates of the routing end point;
[0018] Sorting the first distances in descending order;
[0019] Selecting the smallest first distance among the sorted first distances as the target first distance;
[0020] The first via hole corresponding to the target first distance is used as a via hole for tracing the starting point of the routing at the next layer, and the routing end point corresponding to the first via hole corresponding to the target first distance is valid with the routing of the current routing starting point.
[0021] On the other hand, when the target device is a pin, determining the routing length of the current layer according to the coordinates corresponding to when the starting point of the current routing reaches the auxiliary area of the target device includes:
[0022] Obtaining coordinates of four points corresponding to the pins; wherein the pins are in a rectangular shape on the circuit board;
[0023] Determine the auxiliary area of the pin according to the coordinates of the four points;
[0024] Determine whether the end point of the current layer of the routing corresponding to the starting point of the current routing is in the auxiliary area of the pin;
[0025] If yes, determine the target coordinates closest to the auxiliary area of the pin from the coordinates of the route end point of the current layer corresponding to the current route starting point reaching the auxiliary area of the pin;
[0026] The routing length of the current layer is determined according to the target coordinates and the coordinates corresponding to the starting point of the current routing.
[0027] On the other hand, the starting point of the routing corresponding to the next layer is tracked according to the via, including:
[0028] Acquire the layer connection relationship of the via and the layer information of the current layer; wherein the layer connection relationship includes at least one sub-layer connection combination; and the sub-layer connection combination includes two arbitrary different layers;
[0029] Determine a comparison result by comparing the sub-level connection combination within the level connection relationship with the level information of the current level;
[0030] If the layer information in the sub-layer connection combination is the same as the layer information of the current layer, another layer in the layer information in the sub-layer connection combination is used as the next layer of the current layer, and the via position corresponding to the next layer is used as the routing starting point corresponding to the next layer.
[0031] On the other hand, determining the wiring length between the pins at the current layer according to the coordinates of the pins includes:
[0032] Obtaining coordinates of four points corresponding to the pins; wherein the pins are rectangular in shape on the circuit board; the pins on the circuit board correspond to the inside of the capacitor device, and the number of the pins is two;
[0033] Determine the coordinate difference between the pins according to the coordinate of the first pin on the side close to the starting point of the current routing and the coordinate of the second pin on the side farthest from the starting point of the current routing among the four point coordinates of the pins;
[0034] The coordinate difference is used as the wiring length between the pins.
[0035] On the other hand, based on the layer relationship of the circuit board, the routing lengths of each layer and the routing lengths between each pin are processed to obtain the routing length corresponding to the current signal, including:
[0036] Determine the layer type of each layer of the circuit board, wherein the layer type includes an outer surface layer and an inner surface layer, and the outer surface layer includes an upper surface layer and a lower surface layer of the circuit board;
[0037] Multiplying the wiring lengths of the outer layer by the first coefficients to obtain first wiring lengths;
[0038] The lengths of each first routing line, the lengths of each routing line on the inner surface layer, and the lengths of routing lines between each pin are added together to obtain the routing length corresponding to the current signal.
[0039] On the other hand, determining the routing length of the current layer according to the relationship between the current routing starting point, the routing end point of the current layer corresponding to the current routing starting point, and the auxiliary area of the target device includes:
[0040] Obtaining a target device corresponding to the current layer;
[0041] Determining whether the target device exists in the auxiliary area of the target device;
[0042] If the target device exists in the auxiliary area of the target device, determining the routing length of the current layer according to the coordinates corresponding to the starting point of the current routing and the end point of the routing at the current layer;
[0043] If the target device does not exist in the auxiliary area of the target device, obtaining the adjustment step size, the current iteration number and the preset iteration number;
[0044] Adding the adjustment step length based on the first preset length to obtain a new first preset length, increasing the current iteration number by 1 to determine a new auxiliary area of the target device, and returning to the step of determining whether the target device is located in the auxiliary area of the target device;
[0045] When the new current iteration number reaches the preset iteration number, if the target device does not exist in the auxiliary area of the target device corresponding to the preset iteration number, an alarm message is issued to modify the device information of the target device connected with the current routing;
[0046] Return to the step of determining the routing length of the current layer according to the corresponding coordinates when the starting point of the current routing reaches the auxiliary area of the target device, so as to determine a new routing length of the current layer.
[0047] On the other hand, after processing the wiring lengths of each layer and the wiring lengths between each pin to obtain the wiring length corresponding to the current signal based on the layer relationship of the circuit board, it also includes:
[0048] Sort the lengths of each trace corresponding to the current signal in descending order;
[0049] The largest routing length is selected from the sorted routing lengths as the target routing length to facilitate signal transmission evaluation.
[0050] On the other hand, after selecting the largest routing length from the sorted routing lengths as the target routing length for signal transmission evaluation, it also includes:
[0051] The information of each layer corresponding to the wiring length corresponding to the current signal, vias, wiring lengths of each layer, and wiring lengths between each pin are stored in a two-dimensional array;
[0052] The maximum routing length corresponding to the current signal is used as the final storage output result;
[0053] Using information stored in a two-dimensional array as a signal to transmit information;
[0054] Classifying the signal transmission information and the storage output result as selection type control information;
[0055] The selection control information is fed back to the user in an interactive manner.
[0056] The beneficial effects of the present invention are that first, the coordinates corresponding to the current routing start point of the current layer of the circuit board when it reaches the preset range of the target device connected with the routing are determined. When the target device is a pin or a via, the actual coordinates corresponding to the current routing start point reaching the vicinity of the target device are used to determine the routing length of the current layer by the coordinates of the routing start point and the actual coordinates, thereby avoiding the statistical error caused by the artificial statistics corresponding to the coordinates of each target device to determine the routing length. The present invention takes into account that when the routing process reaches the vicinity of the target device but does not reach the coordinates of the target device, it is necessary to obtain the coordinates of the routing reaching the vicinity of the target device to accurately determine the routing length of the current layer. Secondly, when the target device is a via, it is necessary to track the routing start point corresponding to the next layer through the via. The via is a connection corresponding to different layers. The end point of the via at the current layer corresponds to the routing start point of the next layer, and a new routing of the current layer is started. Via tracking avoids the routing of the missed layer caused by artificial statistics, and realizes the automatic search for the next layer of via tracking to transition to the routing length calculation process of the next layer. Thirdly, when the target device is a pin, the fact that the corresponding pin device includes two pins in the conventional manual statistical process will ignore the statistical error caused by the routing length between the pins. The present invention determines the routing length between the pins based on the coordinates of the pins, and includes the routing length between the pins in the statistics, thereby improving the accuracy of determining the routing length. Finally, considering the mapping relationship between the routing lengths corresponding to the inner and outer layers of the circuit board, the routing lengths of each layer and the routing lengths between each pin are processed to obtain the corresponding routing length under the current signal, thereby improving the accuracy and efficiency of the routing length calculation.
[0057] Secondly, the maximum routing length determined based on multiple routing lengths is used as the target routing length, which is conducive to the quality evaluation of signal transmission. Only the target routing length is evaluated to determine that all routing lengths meet the evaluation requirements and improve the efficiency of the evaluation. The user obtains each routing in an interactive manner to facilitate the user's viewing. There is no need to perform manual measurement operations. Only the object to be measured needs to be selected in an interactive manner, which improves the user's experience. The auxiliary area of the target device is determined, and the routing length of the current layer is determined based on the auxiliary area of the target device to consider the actual application scenario. When the routing connection corresponding to the current routing starting point is not connected to the ideal via, the corresponding routing length is determined to improve the accuracy of the routing length determination. At the same time, the actual via is obtained to facilitate the subsequent tracking of the next layer. Select the via corresponding to the routing end point corresponding to the current routing starting point from the multiple vias in the auxiliary area. Through distance judgment, the judgment process is simplified, the accuracy of the signal routing is improved, and the tracking of the next layer is convenient. In the process of determining the routing length of the current layer according to the relationship between the current routing start point, the routing end point of the current layer corresponding to the current routing start point and the auxiliary area of the target device, if the target device is not found in the initial auxiliary area, it is necessary to expand the auxiliary area for retrieval to increase the search range and improve the diversity and flexibility of via determination. When the target device is a pin, the corresponding routing length of the current layer is determined in the process, taking into account the regional characteristics of the pin to improve the accuracy of the routing length determination process. By comparing and screening the sub-layer connection combination corresponding to the pre-existing layer connection relationship of the via with the layer information of the current layer, the next layer can be determined to realize the tracking function, which improves the comparison efficiency compared with manual comparison and analysis. The process of determining the routing length between pins guarantees the longest routing between two pins in a capacitor to the greatest extent, taking into account the corresponding routing length when crossing the capacitor, so as to ensure the accuracy of the total routing length corresponding to the subsequent current signal. Based on the layer relationship of the circuit board, the routing lengths of each layer and the routing lengths between each pin are processed to obtain the routing length corresponding to the current signal, thereby avoiding the problem of poor transmission quality of the outer layer routing, which may lead to a decrease in the evaluation effect of the routing length in the subsequent evaluation process, and improving the accuracy of the routing length determination process. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0059] Figure 1 A flow chart of a method for determining the wiring length based on a circuit board provided in an embodiment of the present invention;
[0060] Figure 2 A high-speed signal routing schematic diagram provided by an embodiment of the present invention;
[0061] Figure 3 A schematic diagram of a device not connected to a via hole at different levels provided by an embodiment of the present invention;
[0062] Figure 4 A schematic diagram of another embodiment of the present invention provided at a different level and not connected to a via hole;
[0063] Figure 5 A schematic diagram of an auxiliary area of a pin provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0064] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only 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 ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0065] The core of the present invention is to provide a method for determining the wiring length based on a circuit board, so as to solve the problem of reduced accuracy and efficiency of conventional manual statistics of wiring length.
[0066] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0067] With the development of cloud computing applications, informatization has gradually covered all areas of society. People's daily work and life are increasingly communicated through the Internet, and the amount of network data is also increasing. These network data are processed by servers, so the performance requirements of servers are also higher. The server is a super complex system composed of a large number of controllers corresponding to computing, storage, and management functions. PCB boards are needed as support to connect many functional modules. In order to improve server performance, the signal rate is increasing exponentially, the calculation speed is increasing year-on-year, and the devices and wiring on the PCB board are becoming more and more dense, and the corresponding design space is becoming more and more tight. In the hardware design process, high-speed signals are transmitted through the traces on the PCB board. The longer the transmission distance, the worse the quality of the signal reaching the end point. Therefore, before designing, it is necessary to evaluate in advance whether the length of the trace meets the signal rate requirements.
[0068] Taking high-speed signals as an example, high-speed signals are all transmitted in parallel. For example, the peripheral component interconnect express (PCIE) signal can support 16 pairs of differential lines interconnected between two devices for data transmission. The longest pair of these 16 pairs of differential lines often has the worst signal quality. Therefore, it is necessary to compare the lengths of the 16 pairs of differential lines to find the longest line for evaluating the quality of PCIE signal transmission. If the longest pair of differential lines meets the requirements, then the differential lines shorter than it also meet the requirements. At present, the conventional process of determining the length of the line is to manually measure the length of the line at each level, and then manually compare the lengths of each line at each level. The workload of measurement is large, and some data are prone to comparison errors. In addition, the manual test determines the length of the line based on the coordinate information corresponding to the via and the PIN pin, resulting in that in the actual application process, the line length is determined based on the coordinate information of the via when the line is located near the via, and the accuracy of the determined line length is low. The circuit board-based line length determination method provided by the present invention can solve the above technical problems.
[0069] Figure 1 A flow chart of a method for determining the wiring length based on a circuit board is provided in an embodiment of the present invention, such as Figure 1 As shown, the method includes:
[0070] S11: Obtain the starting point of the current routing on the current layer of the circuit board and the target device connected to the current routing;
[0071] S12: determining the routing length of the current layer according to the corresponding coordinates when the starting point of the current routing reaches the auxiliary area of the target device;
[0072] S13: When the target device is a via, tracing the starting point of the routing corresponding to the next layer according to the via, so as to return to the step of obtaining the target device connected with the current routing; when the target device is a pin, determining the routing length between the pins at the current layer according to the coordinates of the pin;
[0073] S14: Based on the layer relationship of the circuit board, the routing lengths of each layer and the routing lengths between each pin are processed to obtain the routing length corresponding to the current signal.
[0074] In step S11, the current routing starting point of the current layer of the circuit board is obtained. The circuit board includes multiple layers, including the upper layer, the inner layer and the back from top to bottom. The specific cross-sectional structure is the upper layer, the isolation layer, the first inner layer, the isolation layer, the second inner layer, the isolation layer... to the back. The current layer in this embodiment is not limited, and can be the upper layer, the inner layer or the back, that is, it can be the outer layer or the inner layer. It should be noted that the routing between the two functional modules is obtained by combining different layers of the circuit board. The different layers here can be only the inner layer, only the outer layer, or the inner and outer layers. The current routing starting point of the current layer can be the middle point of the routing of a layer corresponding to the middle layer and the layer, which is not connected to the via or pin; it can also be the functional module corresponding to the via or PIN pin, without limitation. The routing between the two functional modules starts from the PIN pin of the first functional module, replaces the vias of different layers in the middle, and finally ends through the PIN pin of the second functional module as the current signal corresponding to the current two functional modules.
[0075] The current routing starting point can be one of the ends corresponding to the routing of the layer, or the corresponding two ends, or any point on the routing of the layer as the current routing starting point, all of which are not limited. In addition, if the current routing starting point is one of the ends corresponding to the routing of the layer, then after extending to find the corresponding functional module, extend through the other end corresponding to the routing of the layer to find the corresponding other functional module, add the routing lengths corresponding to the two ends to the routing length of the current layer to obtain the routing lengths corresponding to the two functional modules. If the current routing starting point corresponds to the two ends, it is necessary to extend to the respective corresponding functional modules at the same time, and add the routing lengths corresponding to the two ends to the routing length of the current layer to obtain the routing lengths corresponding to the two functional modules. If any point of the routing of the layer is used as the current routing starting point, after determining the routing lengths of the current layer in two directions of the routing, extend to the respective corresponding functional modules at the same time, and add the routing lengths corresponding to the two ends to the routing length of the current layer to obtain the routing lengths corresponding to the two functional modules; or, extend to the respective corresponding functional modules at the same time, and add the routing lengths corresponding to the two ends to obtain the routing lengths corresponding to the two functional modules. This embodiment is not limited and can be set according to actual conditions.
[0076] The target device that the current routing is connected to should be noted that, ideally, the routing is connected to a via or a pin, but in actual routing, the routing will be connected near the via, and such a scenario is also defined as connected to a via. Therefore, the target device can be a device that has been connected or a device that has not actually been connected.
[0077] In step S12, the routing length of the current layer is determined according to the corresponding coordinates when the current routing starting point reaches the auxiliary area of the target device. The auxiliary area where the current routing starting point reaches the target device is whether the current routing starting point extends to the routing end point and falls into the auxiliary area of the target device. Further analysis is whether it falls into the target device. If it falls into, it is necessary to determine the routing length of the current layer according to the coordinates of the current routing starting point and the coordinates of the target device. It should be noted here that if the current routing starting point is located at one end of the routing of the current layer and extends to the next layer, the end will be connected to the target device, that is, the current routing starting point corresponds to the routing end point. If the current routing starting point is located at one end of the routing of the current layer and extends in the opposite direction, it is necessary to go to the routing end point corresponding to the current routing starting point and then determine the target device; if the current routing starting point is located in the middle part of the routing, it is necessary to extend to one end, determine the corresponding routing end point, and then determine whether it falls into the target device.
[0078] If it does not fall into the area, in order to verify the connection validity of the current routing and to track the routing starting point of the next layer through the vias, it is necessary to determine which via can be used for tracking. Due to the large number of routings and vias on the circuit board, the routing to be tested is not connected to the ideally connected vias, but the end point of the routing to be tested falls into the auxiliary area of the ideally connected via (target device), which means that the current routing is valid. The specific shape of the auxiliary area here is not limited, it can be a circle, a rectangle, or an ellipse, etc., which is not limited here. In order to find a greater possibility, a circle is used. Here, the auxiliary area can be divided with the coordinates of the via as the center of the circle, or the coordinates of the routing end point as the center of the circle. In order to reflect the orderliness of the routing, the way from the routing starting point to the routing end point is to use the coordinates of the routing end point as the center of the circle, and draw a circle with a certain radius. If there is a via falling into the auxiliary area, it means that the via falling into the auxiliary area is the via used later. It should be noted here that there is no limit on the number of vias, and it can be one or more. If there are multiple vias, just select one of them.
[0079] In addition, if the target device is a pin, since the area corresponding to the pin has a certain area when it is expanded in a plane, the end point of the extended route corresponding to the current route starting point can be effectively connected if it is located in the auxiliary area of the pin, and the route length of the current level is determined according to the corresponding coordinates. It should be noted that, combined with the different positions of the current route starting point mentioned above, it can be implemented in parallel or serially, and finally the route length of the current level can be processed by adding up.
[0080] In step S13, when the target device is a via, it is necessary to track the starting point of the routing corresponding to the next level according to the via. If it is a via, it means that the current level is in the middle level during the transmission process of the current signal, and the connection between multiple levels requires multiple vias to be used as transition devices. The tracking here is automatically realized based on the routing corresponding to the via. Compared with omissions in manual measurement and statistics, the automatic exploration and tracking of vias based on routing in this embodiment improves the accuracy and efficiency of routing selection. The tracking process can be based on the connection between multiple levels corresponding to the same via. The current level is already known, and the acquisition process of the level information of the corresponding next level can be determined by the pre-connection relationship between multiple levels. The connection between multiple levels here can be a sub-connection combination or multiple sub-connection combinations, and the levels in each sub-connection combination do not overlap. The next level is determined by comparing the sub-connection combination. After the next level is obtained, the point corresponding to the via connecting the next level is used as the starting point of the routing. At this time, the process of determining the layer routing length of the next level begins. It returns to step S11 to obtain the target device connected to the current routing, and finds the vias or pins of the next level, which is the same as the above steps S11 and S12.
[0081] When the target device is a pin, it indicates that another functional module currently corresponding to it needs to end the transmission of the current signal routing. It should be noted that the capacitive device corresponding to the pin plays the role of a transcapacitor, and the two pins of the capacitor are respectively connected between different signal lines, which are used to couple the two signal lines, one of which is connected to the signal source, and the other is connected to the receiving end of the signal. The routing length between the two pins will be ignored in the conventional manual measurement process, resulting in errors in the determination of the routing length involving the pins. This embodiment determines the routing length between the pins at the current level based on the coordinates of the pins. The corresponding determination process can be determined by the coordinates of the two pins. In order to improve the accuracy of the routing length between the pins, the four angular coordinates corresponding to the two pins are respectively subjected to difference processing to obtain the maximum routing length between the two pins.
[0082] In step S14, based on the layer relationship of the circuit board, the routing lengths of each layer and the routing lengths between each pin are processed to obtain the routing length corresponding to the current signal. It should be noted that conventional manual statistics do not distinguish between inner and outer layers. Since the routing on the outer layer of the circuit board is subject to strong external interference, the signal transmission quality will be much worse than the inner layer signal of the circuit board. Therefore, in this process, it is necessary to distinguish the routing lengths of the inner and outer layers of the circuit board, and the routing length corresponding to the outer layer is added to the routing length of the memory through an additional extension method. In addition, the routing length between each pin is also added to determine the routing length corresponding to the current signal.
[0083] In this embodiment, the wiring length corresponding to the current signal is: Figure 2 A high-speed signal routing schematic diagram provided by an embodiment of the present invention, such as Figure 2 As shown, since the current signal has multiple signal routings, taking high-speed signals as an example, parallel transmission is performed. Therefore, the multiple routing lengths finally determined for the current signal are compared to determine the maximum routing length as a subsequent evaluation object.
[0084] In some embodiments, after processing the wiring lengths of each layer and the wiring lengths between each pin to obtain the wiring length corresponding to the current signal based on the layer relationship of the circuit board, the method further includes:
[0085] Sort the lengths of each trace corresponding to the current signal in descending order;
[0086] The largest routing length is selected from the sorted routing lengths as the target routing length to facilitate signal transmission evaluation.
[0087] It should be noted that, in this embodiment, the evaluation scenario of high-speed signal transmission quality is taken into consideration. Figure 2 The high-speed signal PCIE signal can support 16 pairs of differential lines interconnected between two devices for data transmission. The longest pair of these 16 pairs of differential lines often has the worst signal quality. Therefore, it is necessary to sort the line lengths corresponding to the current signal from large to small; select the largest line length from the sorted line lengths as the target line length to evaluate the quality of high-speed signal transmission. If the target line length meets the requirements for this pair of differential lines, the differential lines shorter than the target line length also meet the requirements.
[0088] In addition, in this embodiment, a serial transmission mode, such as Inter-Integrated Circuit (I2C) signal transmission, is also applicable, which is not limited here.
[0089] The maximum routing length determined based on multiple routing lengths provided in this embodiment is used as the target routing length, which is beneficial to the quality evaluation of signal transmission. Only the target routing length is evaluated to determine that all routing lengths meet the evaluation requirements, thereby improving the efficiency of the evaluation.
[0090] In some embodiments, after selecting the largest routing length from the sorted routing lengths as the target routing length to facilitate signal transmission evaluation, the method further includes:
[0091] The information of each layer corresponding to the wiring length corresponding to the current signal, vias, wiring lengths of each layer, and wiring lengths between each pin are stored in a two-dimensional array;
[0092] The maximum routing length corresponding to the current signal is used as the final storage output result;
[0093] Using information stored in a two-dimensional array as a signal to transmit information;
[0094] Classify signal transmission information and storage output results as selection control information;
[0095] Feedback selection control information to the user in an interactive manner.
[0096] Specifically, the final layer result of the current signal, the routing length, vias, the routing length between pins and other information are stored in a two-dimensional array to save storage space. The specific storage method is not limited. For example: take out the dbid of a routing line from list_line_dbid and record it as line1_dbid, obtain the signal name of the routing line through line1_dbid->net and record it as line1_dbid_net, obtain the starting coordinates of the routing line through line1_dbid->StartLocation and record it as (line1_x1, line1_y1), obtain the ending coordinates of the routing line through line1_dbid->EndLocation and record it as (line1_x2, line1_y2), obtain the length of the routing line through line1_dbid->length and record it as line1_length, obtain the layer where the routing line is located through line1_dbid->Layer and record it as line1_layer, and store the information of the routing line in the two-dimensional array list_net1_info={(line1_length, line1_layer)}, and the lengths of other layers detected later are also placed in the two-dimensional array.
[0097] What is presented to the user is that the user selects the routing line whose length is to be obtained. The program can obtain the dbid of the routing line based on the selected routing line, and store the dbid of the routing line in list_line_dbid={line1_dbid, line2_dbid...}.
[0098] The maximum routing length corresponding to the current signal is used as the final storage output result. At this time, the information stored in the two-dimensional array, that is, the above-mentioned stored information, is also used as signal transmission information. The signal transmission information and the storage output result are classified as selection control information, which enables the user to intuitively select a specific area on the screen for further processing and feedback to the user in an interactive manner. In some embodiments, through the interactive selection operation of the user frame selection method, the user is allowed to select an area by dragging the mouse or other input device or frame selection on the interface, so as to perform some operation or query on the content in this area.
[0099] The embodiment provides that the user obtains the corresponding routing lines in an interactive manner, so as to facilitate the user's viewing, without the need for manual measurement operations, and only needs to select the measured object in an interactive manner, thereby improving the user experience.
[0100] An embodiment of the present invention provides a method for determining the routing length based on a circuit board, which obtains the current routing starting point of the current layer of the circuit board and the target device connected to the current routing; determines the routing length of the current layer according to the corresponding coordinates when the current routing starting point reaches the auxiliary area of the target device; when the target device is a via, tracks the routing starting point corresponding to the next layer according to the via to return to the step of obtaining the target device connected to the current routing; when the target device is a pin, determines the routing length between pins at the current layer according to the coordinates of the pin; based on the layer relationship of the circuit board, processes the routing length of each layer and the routing length between each pin to obtain the routing length corresponding to the current signal. First, the routing length of the current layer is determined according to the coordinates corresponding to the current routing starting point of the current layer of the circuit board when it reaches the preset range of the target device connected with the routing. When the target device is a pin or a via, the actual coordinates corresponding to the current routing starting point reaching the vicinity of the target device are used to determine the routing length of the current layer by the coordinates of the routing starting point and the actual coordinates, avoiding the statistical error caused by the artificial statistics corresponding to the coordinates of each target device to determine the routing length. The present invention takes into account that when the routing process reaches the vicinity of the target device but does not reach the coordinates of the target device, it is necessary to obtain the coordinates of the routing reaching the vicinity of the target device to accurately determine the routing length of the current layer. Secondly, when the target device is a via, it is necessary to track the routing starting point corresponding to the next layer through the via. The via is a connection corresponding to different layers. The end point of the via at the current layer corresponds to the routing starting point of the next layer, and a new routing of the current layer is started. Via tracking avoids the routing of the missed layer caused by artificial statistics, and realizes the automatic search for the next layer of via tracking to transition to the routing length calculation process of the next layer. Thirdly, when the target device is a pin, the fact that the corresponding pin device includes two pins in the conventional manual statistical process will ignore the statistical error caused by the routing length between the pins. The present invention determines the routing length between the pins based on the coordinates of the pins, and includes the routing length between the pins in the statistics, thereby improving the accuracy of determining the routing length. Finally, considering the mapping relationship between the routing lengths corresponding to the inner and outer layers of the circuit board, the routing lengths of each layer and the routing lengths between each pin are processed to obtain the corresponding routing length under the current signal, thereby improving the accuracy and efficiency of the routing length calculation.
[0101] In some embodiments, when the target device is a via, determining the routing length of the current layer according to the corresponding coordinates when the starting point of the current routing reaches the auxiliary area of the target device includes:
[0102] Determine whether the end point of the current layer corresponding to the starting point of the current route is the coordinate of the target device;
[0103] If yes, the length of the current level is determined according to the coordinates of the current starting point of the routing and the target device.
[0104] If not, the area determined by taking the end point of the routing at the current layer as the center and the first preset length as the radius is used as the auxiliary area of the target device; and the routing length of the current layer is determined according to the relationship between the current routing starting point, the end point of the routing at the current layer corresponding to the current routing starting point, and the auxiliary area of the target device.
[0105] Specifically, when the target device is a via, it is necessary to determine whether the coordinates of the end point of the current level of the routing corresponding to the current routing starting point are the coordinates of the target device. If so, it means that the routing end point just falls into the target device, and the routing length of the current level needs to be determined according to the coordinates corresponding to the current routing starting point and the target device. It can be understood that if the current routing starting point is a certain end, and the end point is in the opposite direction of the corresponding extension, then the routing length of the current level is determined by performing difference processing on the coordinates of the current routing starting point and the coordinates of the target device. If the current routing starting point is a certain end, and the end point is in the same direction of the corresponding extension, similarly, the end point of the current routing starting point at the other end is in the same direction of the corresponding extension, then the coordinates of the two current routing starting points and the coordinates corresponding to the corresponding target devices are added and processed to determine. If the current routing starting point is a point on the middle line, and the end point is in the same direction of the corresponding extension, similarly, the end point of the current routing starting point at the other end is in the same direction of the corresponding extension, then the coordinates of the two corresponding target devices are subjected to difference processing to determine the routing length of the current level.
[0106] If the routing end point is not the coordinate of the target device, the routing end point is not on the target device, and it is necessary to check whether it is located nearby to achieve effective connection. Therefore, the area determined by taking the routing end point of the current layer as the center and the first preset length as the radius is used as the auxiliary area of the target device, and then the routing length of the current layer is determined based on the relationship between the current routing start point, the routing end point and the auxiliary area. If there is no via in the auxiliary area of the target device formed by the routing end point, it means that there is a problem with the current routing connection. If there is a via, it is determined that the via may be the ideal via corresponding to the current routing start point.
[0107] This embodiment provides a process for determining the auxiliary area of the target device, and determines the routing length of the current layer based on the auxiliary area of the target device, so as to take into account the determination of the corresponding routing length when the routing connection corresponding to the current routing starting point is not connected to the ideal via in the actual application scenario, thereby improving the accuracy of determining the routing length. At the same time, the actual via is obtained to facilitate subsequent tracking of the next layer.
[0108] In some embodiments, when there are multiple first vias in the auxiliary area of the target device, a process of determining a via for tracing a starting point of a routing at a next layer includes:
[0109] Obtaining the coordinates of each first via hole;
[0110] Determine the first distance from each first via to the starting point of the current routing according to the coordinates of each first via and the coordinates of the routing end point;
[0111] Sort the first distances in descending order;
[0112] Selecting the smallest first distance among the sorted first distances as the target first distance;
[0113] The first via hole corresponding to the target first distance is used as a via hole for tracing the starting point of the routing at the next layer, and the routing end point corresponding to the first via hole corresponding to the target first distance is valid with the routing starting point of the current routing.
[0114] Specifically, when there are multiple first vias in the auxiliary area of the target device, it is necessary to select one of the multiple first vias for tracing the starting point of the routing at the next level. Therefore, it is necessary to perform difference processing on the coordinates of each first via and the coordinates of the routing end point according to the coordinate information of each first via to determine the first distance from each first via to the current routing start point, sort each first distance from large to small, and select the smallest first distance as the target first distance, that is, as the via for tracing the starting point of the routing at the next level. At the same time, it is also determined that the routing end point corresponding to the first via corresponding to the target first distance and the routing starting point of the current routing are valid.
[0115] It should be noted that due to the reduction in the gap between the various traces on the circuit board, there will be multiple vias in the division process of the auxiliary area, among which there may be vias corresponding to other traces. Therefore, the via with the smallest distance from the end point of the trace is required to be used as the via of the current trace.
[0116] The present embodiment provides for selecting a via corresponding to the end point of the current routing from a plurality of vias in the auxiliary area, and simplifies the judgment process through distance judgment, thereby improving the accuracy of signal routing and facilitating subsequent tracking at the next level.
[0117] In some embodiments, determining the routing length of the current layer according to the relationship between the current routing start point, the routing end point of the current layer corresponding to the current routing start point, and the auxiliary area of the target device includes:
[0118] Get the target device corresponding to the current layer;
[0119] Determining whether a target device exists in an auxiliary area of the target device;
[0120] If the target device exists in the auxiliary area of the target device, the routing length of the current layer is determined according to the coordinates corresponding to the starting point of the current routing and the end point of the routing at the current layer;
[0121] If the target device does not exist in the auxiliary area of the target device, obtaining the adjustment step size, the current iteration number and the preset iteration number;
[0122] Adding an adjustment step length based on the first preset length to obtain a new first preset length, increasing the current iteration number by 1 to determine the auxiliary area of the new target device, and returning to the step of determining whether the target device is located in the auxiliary area of the target device;
[0123] When the new current iteration number reaches the preset iteration number, if there is no target device in the auxiliary area corresponding to the target device under the preset iteration number, an alarm message is issued to modify the device information of the target device connected with the current routing;
[0124] Return to the step of determining the routing length of the current layer according to the corresponding coordinates when the starting point of the current routing reaches the auxiliary area of the target device, so as to determine the new routing length of the current layer.
[0125] Specifically, the target device of the current layer is obtained, and it is determined whether the target device exists in the auxiliary area of the target device. The judgment process here can be determined by the coordinate information, which is not limited here. If the target device exists in the auxiliary area, it is necessary to determine the routing length of the current layer based on the coordinates corresponding to the current routing start point and the routing end point of the current layer. At this time, the determination process here is the same as the determination process between the target device and the current routing start point, except that the target device is replaced by the routing end point, which is not repeated here.
[0126] If the target device does not exist in the auxiliary area, the auxiliary area can be expanded, that is, the adjustment step is added based on the first preset length to obtain a new first preset length, and the current number of iterations is increased by 1 to determine the auxiliary area of the new target device. At this time, it is necessary to limit the adjustment step, the current number of iterations, and the preset number of iterations. It should be noted that the corresponding adjustment step in each iteration process can be the same or different, and is not limited here. In addition, the auxiliary area is expanded when the current routing does not affect other routings, and the auxiliary area of the new target device is obtained to re-determine whether the target device is located in the auxiliary area of the target device.
[0127] When the new current iteration number reaches the preset iteration number, if the target device does not exist in the auxiliary area of the target device corresponding to the preset iteration number, an alarm message needs to be issued, and there may be no actual corresponding connection of the via, so the target device needs to be modified, such as replacing other vias, or the routing is inaccurate, etc. After the modification, continue to return to the step of determining the routing length of the current layer according to the corresponding coordinates when the current routing starting point reaches the auxiliary area of the target device to determine the new routing length of the current layer.
[0128] Figure 3 A schematic diagram of a structure not connected to a via hole at different levels provided by an embodiment of the present invention, Figure 4 A schematic diagram of another embodiment of the present invention provided at a different level without being connected to a via hole, such as Figure 3 , 4 As shown, in this case, the via can also be found, the method is as follows: draw an auxiliary circular selection area with a radius of 10mil with (line1_x1, line1_y1) as the center. If the via is selected, read the dbid, recorded as s_dbid, and obtain the via signal name through s_dbid->net, recorded as s_dbid_net, compare s_dbid_net with line1_dbid_net, if the signal name of the via is consistent with the signal name of the routing, the via is a layer-changing via of line1, if the signal name of the via is inconsistent with the signal name of the routing, continue to draw an auxiliary circular selection area with a radius of 10+10mil with (line1_x1, line1_y1) as the center, and search in turn, with a maximum of 10 searches, to find the via with the same signal name as line1. After more than 10 searches, a warning that this position cannot be detected is reported to remind the user to make modifications.
[0129] In the process provided by this embodiment, in which the routing length of the current layer is determined based on the relationship between the current routing starting point, the routing end point of the current layer corresponding to the current routing starting point and the auxiliary area of the target device, if the target device is not found in the initial auxiliary area, it is necessary to expand the auxiliary area for retrieval to increase the search range and improve the diversity and flexibility of via determination.
[0130] In some embodiments, when the target device is a pin, determining the routing length of the current layer according to the corresponding coordinates when the starting point of the current routing reaches the auxiliary area of the target device includes:
[0131] Get the coordinates of the four points corresponding to the pins; the pins are rectangular on the circuit board;
[0132] Determine the auxiliary area of the pin according to the coordinates of the four points;
[0133] Determine whether the end point of the current layer corresponding to the starting point of the current line is in the auxiliary area of the pin;
[0134] If yes, determine the target coordinates closest to the auxiliary area of the pin from the coordinates of the auxiliary area of the pin reached by the end point of the current layer corresponding to the starting point of the current routing;
[0135] The routing length of the current layer is determined based on the coordinates corresponding to the target coordinates and the starting point of the current routing.
[0136] Specifically, when the target device is a pin, the routing length of the current layer needs to be determined by determining the auxiliary area of the pin through the coordinates of the four points of the pin in a rectangular shape. It is determined whether the routing end point of the current layer corresponding to the starting point of the current routing is in the auxiliary area of the pin; if so, it is necessary to determine the target coordinates closest to the auxiliary area of the pin based on the coordinates of the routing end point of the previous layer reaching the auxiliary area of the pin. Figure 5 A schematic diagram of an auxiliary area of a pin provided by an embodiment of the present invention, such as Figure 5 As shown in the figure, the auxiliary area of the pin is the area corresponding to the solid square of the pin, and the target connected with the end point of the line through each coordinate of the auxiliary area of the pin is used as the target coordinate. The line length of the current layer is determined by performing difference processing based on the target coordinate and the coordinate corresponding to the starting point of the current line.
[0137] The present embodiment provides a process for determining the routing length at the corresponding current layer when the target device is a pin, taking into account the regional characteristics of the pin, thereby improving the accuracy of the process for determining the routing length.
[0138] In some embodiments, tracing a trace starting point corresponding to a next layer according to a via includes:
[0139] Obtaining the layer connection relationship of the via and the layer information of the current layer; wherein the layer connection relationship includes at least one sub-layer connection combination; and the sub-layer connection combination includes two arbitrary different layers;
[0140] Determine the comparison result by comparing the sub-level connection combination within the level connection relationship with the level information of the current level;
[0141] If the layer information in the sub-layer connection combination is the same as the layer information of the current layer, then another layer in the layer information in the sub-layer connection combination is used as the next layer of the current layer, and the via position corresponding to the next layer is used as the routing starting point corresponding to the next layer.
[0142] Specifically, taking the cross section of a via as an example, the top layer of the via-connected circuit board is used as the upper surface layer, the bottom layer is used as the ground layer, and the middle layers are used as memory. The multiple layers of the via are connected to realize the connection process of different layers. For example, TOP and L2 are used as a sub-layer connection combination, which means that whether the next layer is the L2 layer after the TOP layer is connected first, or the next layer is the TOP layer after the L2 layer is connected. The layer connection relationship includes at least one sub-layer connection combination. It should be noted that in this embodiment, the multiple layers of the inner layer are taken into account, and different layer connection relationships will exist in the engineering implementation process, as long as any one of the multiple sub-layer connection combinations does not overlap. Two arbitrary different layers are included in a sub-layer connection combination so that they do not overlap.
[0143] The comparison result is determined by comparing the sub-layer connection combination within the layer connection relationship with the layer information of the current layer. Taking the above (TOP, L2) as an example, if the current layer is the L2 layer, it means that the layer information within the sub-layer connection combination is the same as the layer information of the current layer, then the TOP layer of another layer is used as the next layer of the current layer, and the via position corresponding to the next layer is used as the starting point of the routing corresponding to the next layer. If there are multiple sub-layer connection combinations, the comparison method is the same as the above, and it will not be repeated here.
[0144] For example: through s_dbid->ChangeLayer, the two layers of information of the via interconnection are recorded as s_dbid_layer1 and s_dbid_layer2 respectively. The two are compared with line1_layer. If they are different, they are retained, indicating that line1 is converted to this layer through the via. Here, it is assumed that s_dbid_layer2 is different from line1_layer. The center coordinates of the via or pin are obtained through s_dbid->center and are marked as (s_x, s_y). This coordinate is the starting coordinate of the next segment of the route. The coordinates (s_x, s_y) and s_dbid_layer2 can be used to select the next segment of the route. The dbid of the next segment of the route is recorded as seg_1_dbid, and the length and layer information of the segment of the route are saved in list_net1_info, that is, {(line1_length, line1_layer), (seg_1_length, seg_1_layer)}.
[0145] In this embodiment, by comparing and screening the sub-layer connection combination corresponding to the pre-existing layer connection relationship of the via with the layer information of the current layer, the next layer can be determined to realize the tracking function, which improves the comparison efficiency compared with manual comparison and analysis.
[0146] In some other embodiments, tracking the starting point of a trace corresponding to the next layer according to the via includes:
[0147] Obtaining the layer connection relationship of the via, the layer information of the current layer, and the signal transmission direction of the current layer; wherein the layer connection relationship includes at least one sub-layer connection combination; the sub-layer connection combination includes two arbitrary different layers and the signal transmission direction between the two arbitrary different layers;
[0148] Determine the comparison result by comparing the sub-level connection combination within the level connection relationship with the level information of the current level;
[0149] If the level information in the sub-level connection combination is the same as the level information of the current level, determine whether the signal transmission direction of the level information of the current level is the same as the information transmission direction of the first target level corresponding to the sub-level connection combination with the same level information of the current level;
[0150] If they are the same, another layer in the layer information in the sub-layer connection combination will be used as the next layer of the current layer, and the via position corresponding to the next layer will be used as the routing starting point corresponding to the next layer.
[0151] Specifically, taking high-speed signals as an example, a parallel bus can transmit multiple bits of data at the same time, which is divided into bidirectional and unidirectional. This means that in parallel transmission, signals can be transmitted in different directions at the same time. On the basis of the above embodiment, the signal transmission direction of the current layer is taken into account in this embodiment. In the layer connection relationship of the via, although the layers corresponding to different sub-layer connection combinations are different, the same sub-layer connection combination includes two arbitrary different layers and the signal transmission direction between two arbitrary different layers. First, the comparison method is the same as in the above embodiment. The layer information of the sub-layer connection combination and the current layer are compared. If they are the same, the corresponding transmission direction is further checked. Taking the sub-layer connection combination (TOP, L2) as an example, the corresponding transmission direction is divided into two types, one is the transmission from the TOP layer to the L2 layer, and the other is the transmission from the L2 layer to the TOP layer. Taking the current layer L2 as an example, which layer needs to be transmitted from L2? Based on this consideration, determine whether the signal transmission direction of the layer information of the current layer is the same as the information transmission direction of the first target layer corresponding to the sub-layer connection combination with the same layer information of the current layer. The first target layer here is the TOP layer. If the transmission directions are the same, select the corresponding L2 layer to transmit to the TOP layer sub-layer connection combination, and the via position of the TOP layer connection is used as the routing starting point of the TOP layer.
[0152] The present embodiment provides a method for comparing and screening the sub-layer connection combination corresponding to the pre-existing layer connection relationship through the via with the layer information of the current layer, and then determines the next layer based on the same selection and combines the parameter of information transmission direction to realize the tracking function, which further improves the comparison efficiency compared with manual comparison and analysis.
[0153] In some embodiments, determining the routing length between pins at the current layer according to the coordinates of the pins includes:
[0154] Obtain the coordinates of four points corresponding to the pins; wherein the pins are rectangular in shape on the circuit board; the pins on the circuit board correspond to the inside of the capacitor device, and the number of the pins is two;
[0155] Determine the coordinate difference between the pins according to the coordinate of the first pin on the side close to the starting point of the current routing and the coordinate of the second pin on the side farthest from the starting point of the current routing among the four point coordinates of the pins;
[0156] The coordinate difference is taken as the trace length between the pins.
[0157] Specifically, Figure 5 As shown, among the four point coordinates of the pin, the coordinate difference of the pin is determined according to the coordinate of the first pin on the side close to the starting point of the current routing and the coordinate of the second pin farthest from the starting point of the current routing. The capacitor device includes two pins. From top to bottom, the last one is the first pin and the first one is the second pin. The coordinate difference between the farthest coordinates corresponding to the first pin and the second pin is determined by difference processing to serve as the routing length between the pins.
[0158] For example, you need to get the device's symbol_dbid through pin1_dbid, and get pin2_dbid through symbol_dbid. The coordinates of the four corners of the rectangular pin can be obtained through pin1_dbid and pin2_dbid. The length of the farthest ends of the two pins can be obtained by comparing the coordinates and recorded as pin_length. The layer can be obtained through symbol_dbid->layer and recorded as pin_layer. These two parameters are stored in list_net1_info={(line1_length, line1_layer), (seg_1_length, seg_1_layer), (pin_length, pin_layer)}.
[0159] The process for determining the routing length between pins provided in this embodiment ensures the longest routing between two pins in a capacitor to the greatest extent possible, taking into account the corresponding routing length across the capacitor, so as to ensure the accuracy of the total routing length corresponding to the subsequent current signal.
[0160] In some embodiments, based on the layer relationship of the circuit board, the routing lengths of each layer and the routing lengths between each pin are processed to obtain the routing length corresponding to the current signal, including:
[0161] Determine the layer type of each layer of the circuit board, wherein the layer type includes an outer surface layer and an inner surface layer, and the outer surface layer includes an upper surface layer and a lower surface layer of the circuit board;
[0162] The wiring lengths of the outer layer are respectively multiplied by the first coefficient to obtain the first wiring length;
[0163] The lengths of the first wirings, the lengths of the wirings on the inner surface layer, and the lengths of the wirings between the pins are added together to obtain the wiring length corresponding to the current signal.
[0164] Specifically, in order to take into account the accurate determination of the routing of the outer layer of the circuit board and avoid the problem of poor transmission quality of the routing of the outer layer causing the routing length to be reduced in the subsequent evaluation process, in this embodiment, the routing length of the outer layer of the circuit board is multiplied by a coefficient, and the routing length of the outer layer is multiplied by the first coefficient to obtain the corresponding first routing length. The first routing lengths, the routing lengths of the inner layer, and the routing lengths between the pins are summed to obtain the routing length corresponding to the current signal.
[0165] Each routing line gets a two-dimensional array: list_net1_info, list_net2_info, list_net3_info..., and the two-dimensional arrays are processed one by one. According to the principle of layer=top, length*2; layer≠top, length*1, the lengths in the arrays are added up. Finally, each array gets a length. The maximum value is the maximum value of the signal transmission path.
[0166] This embodiment provides a layer relationship based on the circuit board, and processes the routing lengths of each layer and the routing lengths between each pin to obtain the routing length corresponding to the current signal, thereby avoiding the problem of poor transmission quality of the outer layer routing and causing the routing length to be evaluated less effectively in the subsequent evaluation process, thereby improving the accuracy of the routing length determination process.
[0167] The above is a detailed introduction to a method for determining the wiring length based on a circuit board provided by the present invention. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the various embodiments can be referenced to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description. It should be pointed out that for ordinary technicians in this technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the scope of protection of the present invention.
[0168] It should also be noted that, in this specification, relational terms such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprises", "comprising" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprising a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.
Claims
1. A method for determining the wiring length based on a circuit board, characterized in that: include: Get the current routing start point of the current layer of the circuit board and the target device connected to the current routing; Determine the routing length of the current layer according to the corresponding coordinates when the starting point of the current routing reaches the auxiliary area of the target device; When the target device is a via, the starting point of the routing corresponding to the next layer is tracked according to the via, so as to return to the step of obtaining the target device connected with the current routing; when the target device is a pin, the routing length between the pins at the current layer is determined according to the coordinates of the pin; Based on the layer relationship of the circuit board, the routing length of each layer and the routing length between each pin are processed to obtain the routing length corresponding to the current signal.
2. The method for determining the wiring length based on a circuit board according to claim 1, characterized in that: When the target device is a via, determining the routing length of the current layer according to the coordinates corresponding to when the starting point of the current routing reaches the auxiliary area of the target device, including: Determine whether the routing end point of the current layer corresponding to the current routing start point is the coordinate of the target device; If yes, determine the routing length of the current layer according to the coordinates corresponding to the current routing starting point and the target device; If not, the area determined by taking the end point of the routing at the current layer as the center and the first preset length as the radius is used as the auxiliary area of the target device; and the routing length of the current layer is determined according to the relationship between the current routing starting point, the end point of the routing at the current layer corresponding to the current routing starting point and the auxiliary area of the target device.
3. The method for determining the wiring length based on a circuit board according to claim 2, characterized in that: When there are a plurality of first vias in the auxiliary area of the target device, a process for determining the vias for tracing the starting point of a routing at a next level includes: Obtaining the coordinates of each of the first vias; Determine a first distance from each of the first vias to the starting point of the current routing according to the coordinates of each of the first vias and the coordinates of the routing end point; Sorting the first distances in descending order; Selecting the smallest first distance among the sorted first distances as the target first distance; The first via hole corresponding to the target first distance is used as a via hole for tracing the starting point of the routing at the next layer, and the routing end point corresponding to the first via hole corresponding to the target first distance is valid with the routing of the current routing starting point.
4. The method for determining the wiring length based on a circuit board according to claim 1, characterized in that: When the target device is a pin, determining the routing length of the current layer according to the coordinates corresponding to when the starting point of the current routing reaches the auxiliary area of the target device includes: Obtaining coordinates of four points corresponding to the pins; wherein the pins are in a rectangular shape on the circuit board; Determine the auxiliary area of the pin according to the coordinates of the four points; Determine whether the end point of the current layer of the routing corresponding to the starting point of the current routing is in the auxiliary area of the pin; If yes, determine the target coordinates closest to the auxiliary area of the pin from the coordinates of the route end point of the current layer corresponding to the current route starting point reaching the auxiliary area of the pin; The routing length of the current layer is determined according to the target coordinates and the coordinates corresponding to the starting point of the current routing.
5. The method for determining the wiring length based on a circuit board according to claim 1, characterized in that: According to the vias, the corresponding routing starting point of the next layer is tracked, including: Acquire the layer connection relationship of the via and the layer information of the current layer; wherein the layer connection relationship includes at least one sub-layer connection combination; and the sub-layer connection combination includes two arbitrary different layers; Determine a comparison result by comparing the sub-level connection combination within the level connection relationship with the level information of the current level; If the layer information in the sub-layer connection combination is the same as the layer information of the current layer, another layer in the layer information in the sub-layer connection combination is used as the next layer of the current layer, and the via position corresponding to the next layer is used as the routing starting point corresponding to the next layer.
6. The method for determining the wiring length based on a circuit board according to claim 1, characterized in that: Determining the wiring length between the pins at the current layer according to the coordinates of the pins includes: Obtaining coordinates of four points corresponding to the pins; wherein the pins are rectangular in shape on the circuit board; the pins on the circuit board correspond to the inside of the capacitor device, and the number of the pins is two; Determine the coordinate difference between the pins according to the coordinate of the first pin on the side close to the starting point of the current routing and the coordinate of the second pin on the side farthest from the starting point of the current routing among the four point coordinates of the pins; The coordinate difference is used as the wiring length between the pins.
7. The method for determining the wiring length based on a circuit board according to claim 1, characterized in that: Based on the layer relationship of the circuit board, the trace lengths of each layer and the trace lengths between each pin are processed to obtain the trace length corresponding to the current signal, including: Determine the layer type of each layer of the circuit board, wherein the layer type includes an outer surface layer and an inner surface layer, and the outer surface layer includes an upper surface layer and a lower surface layer of the circuit board; Multiplying the wiring lengths of the outer layer by the first coefficients to obtain first wiring lengths; The lengths of each first routing line, the lengths of each routing line on the inner surface layer, and the lengths of routing lines between each pin are added together to obtain the routing length corresponding to the current signal.
8. The method for determining the wiring length based on a circuit board according to claim 2, characterized in that: The determining the routing length of the current layer according to the relationship between the current routing starting point, the routing end point of the current layer corresponding to the current routing starting point and the auxiliary area of the target device includes: Obtaining a target device corresponding to the current layer; Determining whether the target device exists in the auxiliary area of the target device; If the target device exists in the auxiliary area of the target device, determining the routing length of the current layer according to the coordinates corresponding to the starting point of the current routing and the end point of the routing at the current layer; If the target device does not exist in the auxiliary area of the target device, obtaining the adjustment step size, the current iteration number and the preset iteration number; Adding the adjustment step length based on the first preset length to obtain a new first preset length, increasing the current iteration number by 1 to determine a new auxiliary area of the target device, and returning to the step of determining whether the target device is located in the auxiliary area of the target device; When the new current iteration number reaches the preset iteration number, if the target device does not exist in the auxiliary area of the target device corresponding to the preset iteration number, an alarm message is issued to modify the device information of the target device connected with the current routing; Return to the step of determining the routing length of the current layer according to the corresponding coordinates when the starting point of the current routing reaches the auxiliary area of the target device, so as to determine a new routing length of the current layer.
9. The method for determining the wiring length based on a circuit board according to claim 8, characterized in that: After processing the trace lengths of each layer and the trace lengths between each pin based on the layer relationship of the circuit board to obtain the trace length corresponding to the current signal, it also includes: Sort the lengths of each trace corresponding to the current signal in descending order; The largest routing length is selected from the sorted routing lengths as the target routing length to facilitate signal transmission evaluation.
10. The method for determining the wiring length based on a circuit board according to claim 9, characterized in that: After selecting the largest routing length from the sorted routing lengths as the target routing length for signal transmission evaluation, it also includes: The information of each layer corresponding to the wiring length corresponding to the current signal, vias, wiring lengths of each layer, and wiring lengths between each pin are stored in a two-dimensional array; The maximum routing length corresponding to the current signal is used as the final storage output result; Using information stored in a two-dimensional array as a signal to transmit information; Classifying the signal transmission information and the storage output result as selection type control information; The selection control information is fed back to the user in an interactive manner.
Citation Information
Patent Citations
Automatic via hole creating method and system in PCB design
CN111324999A
Device layout method and device, electronic equipment and computer readable storage medium
CN112257377A
System and method for calculating trace lengths of a PCB layout
US20050283746A1