A method for determining the length of a trace on a circuit board
By automatically tracking the trace lengths of vias and pins on the circuit board, the problem of low accuracy and efficiency in manually calculating the trace lengths of the circuit board is solved, enabling accurate assessment and efficient calculation of signal transmission quality.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INSPUR SUZHOU INTELLIGENT TECH CO LTD
- Filing Date
- 2024-11-27
- Publication Date
- 2026-05-19
AI Technical Summary
In existing technologies, manually calculating the length of circuit board traces suffers from low accuracy and efficiency, especially near vias and pins, where errors are prone to occur, leading to inaccurate signal quality assessments.
By obtaining the trace start point of the current layer of the circuit board and the auxiliary area coordinates of the target device, the trace length of vias or pins is automatically tracked. Combined with the layer relationship of the circuit board, the trace length of each layer and the trace length between pins are calculated to avoid human statistical errors.
It improves the accuracy and calculation efficiency of trace length, ensures the accuracy and efficiency of signal transmission quality assessment, simplifies user interaction, and enhances the user experience.
Smart Images

Figure CN119450944B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of circuit board technology, and in particular to a method for determining the trace length of a circuit board. Background Technology
[0002] The server controller needs to be connected to the various functional modules via a printed circuit board (PCB). Signal transmission quality is closely related to the length of the traces on the board; the longer the trace, the greater the transmission distance, resulting in poorer signal quality reaching the functional module at its destination. To test the signal quality of the traces, it is necessary to determine the maximum trace length among the various trace lengths between two functional modules for evaluation.
[0003] In determining the length of each trace, the coordinate information corresponding to vias and pins is manually used to determine the length of the corresponding layer. Then, the lengths are directly summed and compared to determine the total trace length between two functional modules. This can lead to statistical errors when the trace length is near a via. Furthermore, since there are many densely packed traces on the PCB, manual calculation may miss the trace length of a certain layer, resulting in reduced accuracy and efficiency.
[0004] Therefore, improving the accuracy of trace length determination and the efficiency of the determination process is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention
[0005] The purpose of this invention is to provide a method for determining trace lengths on circuit boards, so as to solve the problems of reduced accuracy and efficiency of conventional manual trace length calculation.
[0006] To address the aforementioned technical problems, this invention provides a method for determining trace length on a circuit board, comprising:
[0007] Obtain the current trace start point and the target device connected to the current trace on the current layer of the circuit board;
[0008] The trace length of the current layer is determined based on the coordinates corresponding to the auxiliary area of the target device when the current trace start point reaches the target device.
[0009] When the target device is a via, the trace start point corresponding to the next layer is traced according to the via to return to the step of obtaining the target device connected to the current trace; when the target device is a pin, the trace length between pins in the current layer is determined according to the coordinates of the pin.
[0010] Based on the layer relationships 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.
[0011] On the one hand, when the target device is a via, the trace length of the current layer is determined based on the coordinates corresponding to the auxiliary area of the target device when the current trace start point reaches it, including:
[0012] Determine whether the endpoint of the current trace at the current layer corresponding to the current trace start point is the coordinate of the target device;
[0013] If so, the trace length of the current layer is determined based on the current trace start point and the coordinates corresponding to the target device.
[0014] If not, then the area centered on the trace endpoint of the current layer and defined by a first preset length as the radius is designated as the auxiliary area of the target device; and the trace length of the current layer is determined based on the relationship between the current trace start point, the trace endpoint of the current layer corresponding to the current trace start point, and the auxiliary area of the target device.
[0015] On the other hand, when multiple first vias exist in the auxiliary region of the target device, the process for determining the vias used to trace the starting point of the trace in the next layer includes:
[0016] Obtain the coordinates of each of the first vias;
[0017] The first distance from each of the first vias to the current starting point of the trace is determined based on the coordinates of each of the first vias and the coordinates of the trace end point.
[0018] Sort the first distances in descending order;
[0019] Select the smallest first distance from the sorted first distances as the target first distance;
[0020] The first via corresponding to the first target distance is used as a via for tracking the starting point of the trace in the next layer, and the trace endpoint corresponding to the first via corresponding to the first target distance is valid with the trace starting point of the current trace.
[0021] On the other hand, when the target device is a pin, the trace length of the current layer is determined based on the coordinates corresponding to the auxiliary area of the target device when the current trace start point reaches it, including:
[0022] Obtain the coordinates of four points corresponding to the pin; wherein the pin is rectangular in shape on the circuit board;
[0023] The auxiliary area of the pin is determined based on the coordinates of the four points;
[0024] Determine whether the endpoint of the current trace at the current layer corresponding to the current trace start point is located in the auxiliary region of the pin;
[0025] If so, then determine the target coordinates closest to the auxiliary area of the pin from the coordinates of the current layer's trace endpoint corresponding to the current trace start point;
[0026] The routing length of the current layer is determined based on the coordinates corresponding to the target coordinates and the coordinates of the current routing start point.
[0027] On the other hand, based on the via tracing, the starting point of the trace corresponding to the next layer includes:
[0028] Obtain 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; the sub-layer connection combination includes two arbitrary different layers;
[0029] The comparison result is determined by comparing the sub-level connection combinations within the level connection relationship with the level information of the current level.
[0030] If the layer information within the sub-layer connection combination is the same as the layer information of the current layer, then the other layer within the layer information of the sub-layer connection combination is taken as the next layer of the current layer, and the via position corresponding to the next layer is taken as the trace start point corresponding to the next layer.
[0031] On the other hand, determining the trace length between pins at the current layer based on the pin coordinates includes:
[0032] Obtain the coordinates of four points corresponding to the pin; wherein the pin is rectangular in shape on the circuit board; the pin corresponds to the inside of the capacitor on the circuit board, and there are two of them;
[0033] The coordinate difference between the pins is determined by the coordinates of the first pin closest to the current trace start point and the coordinates of the second pin furthest from the current trace start point among the four point coordinates of the pin.
[0034] The coordinate difference is used as the trace length between the pins.
[0035] On the other hand, based on the layer relationships 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:
[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 the upper surface layer and the lower surface layer of the circuit board.
[0037] The first trace length is obtained by multiplying the trace length of the outer layer by the first coefficient.
[0038] The trace length corresponding to the current signal is obtained by summing the lengths of each first trace, each trace length of the inner surface layer, and the trace lengths between each pin.
[0039] On the other hand, determining the trace length of the current layer based on the relationship between the current trace start point, the trace end point of the current layer corresponding to the current trace start point, and the auxiliary region of the target device includes:
[0040] Obtain the target device corresponding to the current layer;
[0041] Determine whether the target device exists within the auxiliary region of the target device;
[0042] If the target device exists within the auxiliary area of the target device, the trace length of the current layer is determined according to the coordinates corresponding to the current trace start point and the current trace end point.
[0043] If the target device does not exist in the auxiliary region of the target device, then obtain the adjustment step size, the current iteration number, and the preset iteration number;
[0044] The adjustment step size is added to the first preset length to obtain a new first preset length, and the current iteration number is incremented by 1 to determine the new auxiliary region of the target device, and then the process returns to the step of determining whether the target device is located within the auxiliary region of the target device.
[0045] Until the new current iteration number reaches the preset iteration number, if the target device is not present 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 to the current trace;
[0046] Return to the step of determining the trace length of the current layer based on the coordinates corresponding to the auxiliary area of the target device when the current trace start point reaches it, so as to determine the new trace length of the current layer.
[0047] On the other hand, after processing the trace lengths of each layer and the trace lengths between each pin based on the layer relationships of the circuit board to obtain the trace length corresponding to the current signal, it also includes:
[0048] Sort the trace lengths corresponding to the current signal in descending order;
[0049] The longest trace length among the sorted trace lengths is selected as the target trace length to facilitate signal transmission evaluation.
[0050] On the other hand, after selecting the largest trace length from the sorted trace lengths as the target trace length to facilitate signal transmission evaluation, the process also includes:
[0051] The information of each layer, vias, trace lengths of each layer, and trace lengths between each pin corresponding to the current signal trace length are stored in a two-dimensional array.
[0052] The maximum trace length corresponding to the current signal is used as the final stored output result;
[0053] Information stored in a two-dimensional array is used as a signal for transmission.
[0054] The signal transmission information and the stored output results are categorized as selection control information;
[0055] The selection control information is interactively fed back to the user.
[0056] The beneficial effects of this invention are as follows: First, the trace length of the current layer is determined based on the coordinates corresponding to the auxiliary area of the target device connected to the trace at the current trace start point on the current layer of the circuit board. When the target device is a pin or via, the actual coordinates corresponding to the current trace start point reaching the vicinity of the target device are used. By combining the coordinates of the trace start point and the actual coordinates, the trace length of the current layer is determined, avoiding statistical errors caused by manually calculating the coordinates of each target device. This invention considers that when the trace reaches the vicinity of the target device but not yet, the coordinates of the trace reaching the vicinity of the target device need to be obtained to accurately determine the trace length of the current layer. Second, when the target device is a via, the trace start point corresponding to the next layer needs to be traced through the via. A via connects different layers, and the end point of the via on the current layer corresponds to the trace start point on the next layer, starting a new trace on the current layer. Via tracing avoids the omission of traces on layers caused by manual calculation, realizing the automatic search for the next layer for trace length calculation. Furthermore, when the target device is a pin, the conventional manual statistical process may overlook the fact that a device corresponding to a pin includes two pins, leading to statistical errors due to neglecting the trace length between pins. This invention determines the trace length between pins based on the pin coordinates and includes the trace length between pins in the statistics, thus improving the accuracy of trace length determination. Finally, considering the trace length mapping relationship between the inner and outer layers 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, improving the accuracy and efficiency of trace length calculation.
[0057] Secondly, using the maximum trace length determined from multiple trace lengths as the target trace length is beneficial for signal transmission quality assessment. Only the target trace length needs to be evaluated to ensure all trace lengths meet the assessment requirements, thus improving assessment efficiency. Users can acquire each trace interactively for easy viewing, eliminating the need for manual measurement. Simply selecting the object under test through interaction enhances the user experience. The process of determining the auxiliary area of the target device and then using this area to determine the trace length at the current layer takes into account situations where the trace starting point is not connected to an ideal via in real-world applications, improving the accuracy of trace length determination. Simultaneously, obtaining the actual vias facilitates subsequent tracking at the next layer. Selecting the via corresponding to the trace ending point from multiple vias in the auxiliary area, using distance judgment simplifies the judgment process, improves signal trace accuracy, and facilitates subsequent tracking at the next layer. In determining the trace length of the current layer based on the relationship between the current trace start point, the trace end point corresponding to the current trace start point, and the auxiliary region of the target device, if the target device is not found within the initial auxiliary region, the auxiliary region needs to be expanded for searching to increase the search range and improve the diversity and flexibility of via determination. When the target device is a pin, the process of determining the trace length of the current layer takes into account the regional characteristics of the pin to improve the accuracy of the trace length determination process. By comparing and filtering the sub-layer connection combinations corresponding to the pre-existing layer connection relationships of the via with the layer information of the current layer, the next layer can be determined, realizing the tracking function and improving the comparison efficiency compared to manual comparison and analysis. In the process of determining the trace length between pins, the longest trace between two pins within a capacitor is guaranteed to the greatest extent, taking into account the trace length corresponding to crossing capacitors, so as to ensure the accuracy of the total trace length corresponding to the current signal in the future. Based on the layer relationships 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. This avoids the problem of poor trace transmission quality on the outer layer causing a decrease in the evaluation effect of the trace length in the subsequent evaluation process, and improves the accuracy of the trace length determination process. Attached Figure Description
[0058] To more clearly illustrate the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0059] Figure 1 A flowchart illustrating a method for determining trace length on a circuit board, provided as an embodiment of the present invention;
[0060] Figure 2 A schematic diagram of a high-speed signal trace provided in an embodiment of the present invention;
[0061] Figure 3 This is a schematic diagram of a different layer not connected to a via, provided as an embodiment of the present invention;
[0062] Figure 4 This is a schematic diagram of another layer not connected to a via, provided as an embodiment of the present invention;
[0063] Figure 5 This is a schematic diagram of an auxiliary area for a pin provided in an embodiment of the present invention. Detailed Implementation
[0064] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of the present invention.
[0065] The core of this invention is to provide a method for determining the trace length based on a circuit board, so as to solve the problems of reduced accuracy and efficiency of conventional manual trace length calculation.
[0066] To enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0067] With the development of cloud computing applications, information technology is gradually covering all aspects of society. People are increasingly communicating through the internet in their daily work and life, and the amount of network data is constantly increasing. This network data is processed by servers, thus placing higher demands on server performance. A server is a super-complex system composed of controllers with numerous computing, storage, and management functions, requiring a PCB board as support to connect the many functional modules. To improve server performance, signal rates are increasing exponentially, computing speeds are growing year-on-year, and the components and wiring on the PCB board are becoming increasingly dense, resulting in increasingly limited design space. In the hardware design process, high-speed signals are transmitted through traces on the PCB board. The longer the transmission distance, the worse the signal quality becomes upon reaching the destination. Therefore, it is necessary to assess in advance whether the trace length meets the signal rate requirements.
[0068] Taking high-speed signals as an example, high-speed signals are transmitted in parallel. For instance, the Peripheral Component Interconnect Express (PCIE) signal can support 16 pairs of differential traces interconnected between two devices for data transmission. The longest pair of these 16 differential traces often has the worst signal quality. Therefore, it is necessary to compare the lengths of the 16 pairs of differential traces to find the longest one to evaluate the quality of PCIE signal transmission. If the longest pair of differential traces meets the requirements, then shorter differential traces also meet the requirements. Currently, the conventional process for determining trace length involves manually measuring the length of the trace at each layer and then manually comparing the lengths of each trace at each layer. This measurement workload is large, and some data comparisons are prone to errors. Furthermore, manual testing determines trace length based on the coordinate information corresponding to vias and pins. This leads to a situation where, in practical applications, even traces near vias are determined based on the coordinate information of the vias, resulting in low accuracy of the determined trace length. The circuit board-based trace length determination method provided by this invention can solve the above technical problems.
[0069] Figure 1 A flowchart illustrating a method for determining trace length on a circuit board, as provided in an embodiment of the present invention, is shown below. Figure 1 As shown, the method includes:
[0070] S11: Obtain the current trace start point and the target device connected to the current trace on the current layer of the circuit board;
[0071] S12: Determine the trace length of the current layer based on the coordinates corresponding to the auxiliary area of the target device when the current trace starts;
[0072] S13: When the target device is a via, trace the starting point of the next layer corresponding to the via to return to the step of obtaining the target device connected to the current trace; when the target device is a pin, determine the trace length between the pins in the current layer based on the pin coordinates.
[0073] S14: Based on the layer relationship of the circuit board, process the trace length of each layer and the trace length between each pin to obtain the trace length corresponding to the current signal.
[0074] In step S11, the current trace start point of the current layer of the circuit board is obtained. The circuit board includes multiple layers, from top to bottom: the top layer, multiple inner layers, and the back side. The specific cross-sectional structure is: top layer, isolation layer, first inner layer, isolation layer, second inner layer, isolation layer... down to the back side. In this embodiment, the current layer is not limited; it can be the top layer, an inner layer, or the back side, that is, it can be an outer layer or an inner layer. It should be noted that the traces between two functional modules are obtained by combining different layers of the circuit board. These different layers can be only inner layers, only outer layers, or a combination of inner and outer layers. The current trace start point of the current layer can be the midpoint of a trace corresponding to a certain layer in a middle layer, not connected to a via or pin; it can also be the functional module corresponding to a via or pin, without limitation. The traces between two functional modules start through the pin of the first functional module, change vias in different layers, and finally end through the pin of the second functional module, serving as the current signal corresponding to the two functional modules.
[0075] The current routing start point can be one end of a routing trace at this layer, either end, or any point on the routing trace at this layer—there are no restrictions. Alternatively, if the current routing start point is one end of a routing trace at this layer, then after extending to find one corresponding functional module, extend through the other end of the routing trace at this layer to find the other corresponding functional module. Add the routing lengths of the two ends to the routing length at the current layer to obtain the routing lengths for the two functional modules. If the current routing start point corresponds to both ends, then extend to their respective corresponding functional modules simultaneously, adding the routing lengths of the two ends to the routing length at the current layer to obtain the routing lengths for the two functional modules. If any point on the routing trace at this layer is used as the current routing start point, then determine the routing length at the current layer in both directions, then simultaneously extend to their respective corresponding functional modules, adding the routing lengths of the two ends to the routing length at the current layer to obtain the routing lengths for the two functional modules; or, simultaneously extend to their respective corresponding functional modules, and sum the routing lengths of the two ends to obtain the routing lengths for the two functional modules. This embodiment is not limited and can be set according to the actual situation.
[0076] Regarding the target device for the current routing connection, it should be noted that ideally, the routing is connected to a via or a pin. However, in actual routing, the routing will be connected to the vicinity of a via. This scenario is also defined as being connected to a via. Therefore, the target device can be a device that has already been connected or a device that has not actually been connected.
[0077] In step S12, the trace length of the current layer is determined based on the coordinates corresponding to the auxiliary area of the target device when the current trace starts. The point at which the current trace starts reaches the auxiliary area of the target device is whether the trace's extension from the starting point to the endpoint falls within the auxiliary area of the target device. Further analysis is needed to determine if it falls into the target device. If it does, the trace length of the current layer needs to be determined based on the coordinates of the current trace's starting point and the target device's coordinates. It should be noted that if the current trace's starting point is located at one end of the trace on the current layer and extends to the next layer, that end will connect to the target device; that is, the trace's endpoint corresponds to the current trace's starting point. If the current trace's starting point is located at one end of the trace on the current layer and extends in the opposite direction, the trace's endpoint must be reached before determining the target device. If the current trace's starting point is located in the middle of the trace, it needs to be extended to one end to determine the corresponding endpoint before determining whether it falls into the target device.
[0078] If the trace doesn't fall within the target area, to verify the connection validity of the current trace and to trace the starting point of the next layer via, it's necessary to determine which via can be used for tracing. Since there are numerous traces and vias on the circuit board, the trace under test may not connect to the ideally connected via. However, if the endpoint of the trace falls into the auxiliary area of the ideally connected via (target device), it indicates that the current trace is valid. The specific shape of this auxiliary area is not limited; it can be circular, rectangular, elliptical, etc. For a greater probability of finding the target, a circle is used. The auxiliary area can be divided with the coordinates of the via or the coordinates of the trace's endpoint as the center. To reflect the orderliness of the traces, from the starting point to the endpoint, a circle with a certain radius is drawn with the coordinates of the endpoint as the center. If a via falls into the auxiliary area, it means that the via falling into the auxiliary area will be used subsequently. It should be noted that there is no limit to the number of vias; there can be one or more. If multiple vias fall into the same hole, you can choose one of them.
[0079] Additionally, if the target device is a pin, since the area corresponding to the pin, when viewed as a planar region, is relatively large, an effective connection can be achieved if the endpoint of the extended trace corresponding to the current trace start point is located within the auxiliary area of the pin. The trace length at the current layer is then determined based on the corresponding coordinates. It should be noted that, considering the different positions of the current trace start point mentioned above, either parallel or serial routing can be implemented here, and the trace length at the current layer can be calculated by summing the results.
[0080] In step S13, when the target device is a via, it is necessary to trace the starting point of the trace corresponding to the next layer based on the via. If it is a via, it means that the current layer is an intermediate layer in the current signal transmission process, and multiple layers require multiple vias as transition devices for connection. This tracing is automatically implemented based on the traces corresponding to the vias. Compared to the omissions that occur during manual measurement and statistics, this embodiment improves the accuracy and efficiency of trace selection through automatic via exploration and tracing based on traces. The tracing process can be based on the connection between multiple layers corresponding to the same via. Knowing the current layer, the process of obtaining the layer information of the next layer can be determined through the pre-connection relationship between multiple layers. The connection between multiple layers can be a sub-connection combination or multiple sub-connection combinations, and the layers within each sub-connection combination do not overlap. The next layer is determined by comparing the sub-connection combinations. After obtaining the next layer, the point where the corresponding via connects to the next layer is used as the starting point of the trace. At this time, the process of determining the trace length of the next layer begins. It returns to step S11 to obtain the target device connected to the current trace and find the via or pin of the next layer, which is the same as the steps S11 and S12 above.
[0081] When the target device is a pin, indicating the corresponding functional module, the transmission of the current signal trace needs to be terminated. It should be noted that the capacitor corresponding to the pin acts as a cross-capacitor, with its two pins connecting to different signal lines to couple them. One pin connects to the signal source, and the other to the signal receiver. Conventional manual measurements often overlook the trace length between two pins, leading to errors in determining the trace length. This embodiment determines the trace length between pins at the current layer based on the pin coordinates. The determination process can be performed using the coordinates of the two pins. To improve the accuracy of the trace length, the maximum trace length between the two pins is obtained by subtracting the coordinates of the four corners of each pin.
[0082] In step S14, based on the layer relationships 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. It should be noted that conventional manual statistics do not distinguish between inner and outer layers. Since traces on the outer layer of the circuit board are subject to stronger external interference, the signal transmission quality will be much worse than that of signals on the inner layer of the circuit board. Therefore, in this process, it is necessary to distinguish the trace lengths of the inner and outer layers of the circuit board. The trace length corresponding to the outer layer is added to the trace length of the memory by additional extension. In addition, the trace length between each pin is also added to determine the trace length corresponding to the current signal.
[0083] In this embodiment, the trace length corresponds to the current signal. Figure 2 A schematic diagram of a high-speed signal trace is provided for an embodiment of the present invention, as shown below. Figure 2 As shown, since the current signal has multiple signal traces, taking the high-speed signal as an example, and is transmitted in parallel, the final determined trace lengths of the current signal are compared to determine the largest trace length as the subsequent evaluation object.
[0084] In some embodiments, after processing the trace lengths of each layer and the trace lengths between each pin based on the layer relationships of the circuit board to obtain the trace length corresponding to the current signal, the method further includes:
[0085] Sort the trace lengths corresponding to the current signal in descending order;
[0086] The longest trace length among the sorted trace lengths is selected as the target trace length to facilitate signal transmission evaluation.
[0087] It should be noted that this embodiment takes into account the evaluation scenario of high-speed signal transmission quality, and combines... Figure 2 High-speed PCIe signals can support 16 pairs of differential traces interconnected between two devices for data transmission. The longest pair of these 16 differential traces often has the worst signal quality. Therefore, the trace lengths corresponding to the current signal need to be sorted in descending order. The longest trace length among these sorted lengths is then selected as the target trace length for quality assessment of high-speed signal transmission. If the target trace length meets the requirements, then any differential trace shorter than the target length also meets the requirements.
[0088] In addition, this embodiment can also use serial transmission, such as Inter-Integrated Circuit (I2C) signal transmission, which is also applicable and is not limited here.
[0089] The maximum trace length determined based on multiple trace lengths provided in this embodiment, which serves as the target trace length, is beneficial for signal transmission quality assessment. It only requires assessing the target trace length to determine if all trace lengths meet the assessment requirements, thereby improving the efficiency of the assessment.
[0090] In some embodiments, after selecting the largest trace length from the sorted trace lengths as the target trace length to facilitate signal transmission evaluation, the method further includes:
[0091] The information of each layer, vias, trace lengths of each layer, and trace lengths between each pin corresponding to the current signal trace length are stored in a two-dimensional array.
[0092] The maximum trace length corresponding to the current signal is used as the final stored output result;
[0093] Information stored in a two-dimensional array is used as a signal for transmission.
[0094] The signal transmission information and the stored output results are categorized into selection control information;
[0095] The selection control information is presented to the user in an interactive manner.
[0096] Specifically, the final layer result of the current signal, trace length, via, and trace length between pins are stored in a two-dimensional array to save storage space. The specific storage method is not limited. For example: the dbid of a trace is taken from list_line_dbid and denoted as line1_dbid. The signal name of the trace is obtained through line1_dbid->net and denoted as line1_dbid_net. The starting point coordinates of the trace are obtained through line1_dbid->StartLocation as (line1_x1, line1_y1), and the ending point coordinates are obtained through line1_dbid->EndLocation as (line1_x2, line1_y2). The length of the trace is obtained through line1_dbid->length and denoted as line1_length. The layer where the trace is located is obtained through line1_dbid->Layer and denoted as line1_layer. The information of this trace is stored in the two-dimensional array list_net1_info={(line1_length, line1_layer)}. The trace lengths of other layers detected subsequently are also placed in this two-dimensional array.
[0097] The user selects the trace whose length they want to obtain, and the program obtains the trace's dbid based on the selected trace, storing the trace's dbid in list_line_dbid={line1_dbid、line2_dbid……}.
[0098] The maximum trace length corresponding to the current signal is used as the final stored output result. At this time, the information stored in the two-dimensional array, i.e., the aforementioned stored information, is also used as signal transmission information. The signal transmission information and the stored output result are categorized as selection control information, allowing users to intuitively select a specific area on the screen for further processing, with interactive feedback provided to the user. In some embodiments, interactive selection via user box selection allows users to select an area by dragging the mouse or other input devices on the interface, or by using a box selection method, thereby performing some operation or query on the content within that area.
[0099] This embodiment provides users with an interactive way to obtain the corresponding wiring, making it convenient for users to view without the need for manual measurement. Users only need to select the object to be measured through interactive means, which improves the user experience.
[0100] This invention provides a method for determining trace length on a circuit board. The method involves: acquiring the current trace start point on the current layer of the circuit board and the target device connected to the current trace; determining the trace length on the current layer based on the coordinates corresponding to the auxiliary area of the target device when the current trace start point reaches it; if the target device is a via, tracing the trace start point on the next layer based on the via to return to the step of acquiring the target device connected to the current trace; if the target device is a pin, determining the trace length between pins on the current layer based on the pin coordinates; and processing the trace lengths on each layer and between each pin based on the layer relationships of the circuit board to obtain the trace length corresponding to the current signal. First, the trace length of the current layer is determined based on the coordinates of the starting point of the current trace on the circuit board when it reaches the auxiliary area of the target device connected to the trace. When the target device is a pin or via, the actual coordinates of the current trace starting point near the target device are used. By combining the coordinates of the trace starting point and the actual coordinates, the trace length of the current layer is determined, avoiding statistical errors caused by manually calculating the coordinates of each target device. This invention considers the situation where the trace reaches the vicinity of the target device but has not yet reached its coordinates, requiring the acquisition of the coordinates of the trace reaching the vicinity of the target device to accurately determine the trace length of the current layer. Second, when the target device is a via, the trace starting point of the next layer needs to be traced through the via. A via connects different layers, and the end point of the via on the current layer corresponds to the trace starting point of the next layer, initiating a new trace on the current layer. Via tracing avoids oversights of traces on layers caused by manual calculation, enabling automatic finding of the next layer for trace length calculation. Furthermore, when the target device is a pin, the conventional manual statistical process may overlook the fact that a device corresponding to a pin includes two pins, leading to statistical errors due to neglecting the trace length between pins. This invention determines the trace length between pins based on the pin coordinates and includes the trace length between pins in the statistics, thus improving the accuracy of trace length determination. Finally, considering the trace length mapping relationship between the inner and outer layers 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, improving the accuracy and efficiency of trace length calculation.
[0101] In some embodiments, when the target device is a via, the trace length of the current layer is determined based on the coordinates corresponding to the auxiliary region of the target device when the current trace start point reaches it, including:
[0102] Determine whether the endpoint of the current trace at the current layer, corresponding to the current trace start point, is the coordinate of the target device;
[0103] If so, the trace length of the current layer is determined based on the coordinates of the current trace start point and the target device.
[0104] If not, the area centered on the current layer's trace endpoint and defined by the first preset length as the radius is designated as the auxiliary area of the target device; and the trace length of the current layer is determined based on the relationship between the current trace start point, the current layer's trace endpoint corresponding to the current trace start point, and the auxiliary area of the target device.
[0105] Specifically, when the target device is a via, it's necessary to determine if the coordinates of the current trace's endpoint on the current layer, corresponding to the current trace's starting point, are the same as the target device's coordinates. If they are, it means the trace's endpoint falls exactly within the target device, and the trace length on the current layer needs to be determined based on the coordinates of both the current trace's starting point and the target device. Understandably, if the current trace's starting point is at one end and the endpoint is in the opposite direction of the corresponding extension, the trace length on the current layer is determined simply by subtracting the coordinates of the current trace's starting point and the target device. If the current trace's starting point is at one end and the endpoint is in the same direction as the corresponding extension, similarly, if the endpoint of the current trace's starting point at the other end is in the same direction as the corresponding extension, the trace length is determined by adding the coordinates of the two current trace's starting points and their respective target device coordinates. If the current trace's starting point is a point on the middle line and the endpoint is in the same direction as the corresponding extension, similarly, if the endpoint of the current trace's starting point at the other end is in the same direction as the corresponding extension, the trace length on the current layer is determined by subtracting the coordinates of the two corresponding target devices.
[0106] If the trace endpoint is not located at the target device's coordinates, the trace endpoint may not be on the target device. It's necessary to check if it's nearby to achieve a valid connection. Therefore, using the current layer's trace endpoint as the center and a first preset length as the radius, a region is defined as the auxiliary region for the target device. The trace length for the current layer is then determined based on the relationship between the current trace start point, trace endpoint, and auxiliary region. If there are no vias within the auxiliary region of the target device formed by the trace endpoint, it indicates a problem with the current trace connection. If vias are present, it's determined that the via might be the ideal via corresponding to the current trace start point.
[0107] This embodiment provides a process for determining the auxiliary region of the target device, and determines the trace length of the current layer based on the auxiliary region of the target device. This takes into account the actual application scenario where the trace connection corresponding to the current trace start point is not connected to the ideal via, thus improving the accuracy of the trace length determination. At the same time, the actual via is obtained to facilitate subsequent tracking of the next layer.
[0108] In some embodiments, when multiple first vias exist in the auxiliary region of the target device, the process for determining the vias used to trace the starting point of the trace in the next layer includes:
[0109] Obtain the coordinates of each first via;
[0110] The first distance from each first via to the current starting point of the trace is determined based on the coordinates of each first via and the coordinates of the trace end point.
[0111] Sort the first distances in descending order;
[0112] Select the smallest first distance from the sorted first distances as the target first distance;
[0113] Use the first via corresponding to the first distance from the target as the via for tracing the starting point of the trace in the next layer, and the trace endpoint corresponding to the first via corresponding to the first distance from the target is valid for the trace starting point of the current trace.
[0114] Specifically, when multiple first vias exist in the auxiliary area of the target device, the via for tracing the starting point of the trace in the next layer needs to be selected from among the multiple first vias. Therefore, based on the coordinate information of each first via, the coordinates of each first via and the coordinates of the trace endpoint need to be processed by difference to determine the first distance from each first via to the current trace starting point. The first distances are sorted from largest to smallest, and the smallest first distance is selected as the target first distance, which is used as the via for tracing the starting point of the trace in the next layer. At the same time, it is determined that the trace endpoint corresponding to the first via corresponding to the target first distance and the trace starting point of the current trace are valid.
[0115] It should be noted that, due to the reduced gap between the traces on the circuit board, there will be multiple vias in the auxiliary area division process. Among these multiple vias, there may be vias corresponding to other traces. Therefore, the via with the smallest distance from the end point of the trace needs to be used as the via for the current trace.
[0116] This embodiment provides a method to select the via corresponding to the end point of the current trace from multiple vias in the auxiliary area. By using distance judgment, the judgment process is simplified, the accuracy of signal traces is improved, and the tracking of the next layer is facilitated.
[0117] In some embodiments, determining the trace length of the current layer based on the relationship between the current trace start point, the trace end point of the current layer corresponding to the current trace start point, and the auxiliary region of the target device includes:
[0118] Obtain the target device corresponding to the current layer;
[0119] Determine whether the target device exists within the auxiliary region of the target device;
[0120] If the target device exists within the auxiliary area of the target device, the trace length of the current layer is determined based on the coordinates corresponding to the current trace start point and the current trace end point.
[0121] If the target device does not exist in the auxiliary region of the target device, then obtain the adjustment step size, the current iteration number, and the preset iteration number;
[0122] Based on the first preset length, an adjustment step size is added to obtain a new first preset length, and the current iteration number is incremented by 1 to determine the auxiliary region of the new target device, and then the process returns to the step of determining whether the target device is located within the auxiliary region of the target device.
[0123] Until the new current iteration number reaches the preset iteration number, if there is no target device 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 to the current trace;
[0124] Return to the step of determining the trace length of the current layer based on the coordinates corresponding to the auxiliary area where the current trace starts to reach the target device, in order to determine the new trace length of the current layer.
[0125] Specifically, the target device at the current layer is obtained, and it is determined whether the target device exists in the auxiliary region of the target device. This determination process can be determined using coordinate information and is not limited here. If the target device exists in the auxiliary region, the trace length at the current layer needs to be determined based on the coordinates corresponding to the current trace start point and the current trace end point. The determination process here is the same as the determination process between the target device and the current trace start point, except that the target device is replaced by the trace end point, which will not be elaborated here.
[0126] If the target device does not exist within the auxiliary region, the auxiliary region can be expanded. This involves adding an adjustment step size to the first preset length to obtain a new first preset length, and incrementing the current iteration count by 1 to determine the new auxiliary region for the target device. In this case, limitations must be placed on the adjustment step size, the current iteration count, and the preset iteration count. It should be noted that the adjustment step size can be the same or different in each iteration; this is not limited here. Additionally, the process of expanding the auxiliary region and obtaining a new auxiliary region for the target device, while ensuring the current trace does not interfere with other traces, is repeated to re-determine whether the target device is located within its auxiliary region.
[0127] The process continues until the preset number of iterations is reached. If the target device is not found in the auxiliary region corresponding to the target device at the preset number of iterations, an alarm message needs to be issued. This may be because there is no corresponding via connection, requiring modification of the target device, such as replacing it with another via or addressing inaccurate routing. After modification, the process returns to the step of determining the current layer's trace length based on the coordinates corresponding to the current trace's starting point reaching the target device's auxiliary region, in order to determine the new trace length for the current layer.
[0128] Figure 3 This is a schematic diagram of a different layer not connected to a via provided by an embodiment of the present invention. Figure 4 This is a schematic diagram of another different layer not connected to the via provided by an embodiment of the present invention, as shown below. Figure 3 , 4 As shown, in this case, vias can also be found using the following method: Draw an auxiliary circular selection area with a radius of 10mil centered at (line1_x1, line1_y1). If a via is selected, read the dbid, denoted as s_dbid. Obtain the via signal name through s_dbid->net, denoted as s_dbid_net. Compare s_dbid_net with line1_dbid_net. If the signal name of the via matches the signal name of the trace, the via is a layer-change via of line1. If the signal name of the via does not match the signal name of the trace, draw another auxiliary circular selection area with a radius of 10+10mil centered at (line1_x1, line1_y1). Repeat this search, up to a maximum of 10 times, to find a via with the same signal name as line1. If more than 10 searches are performed, a warning will be issued indicating that the location cannot be detected, prompting the user to make modifications.
[0129] In the process of determining the trace length of the current layer based on the relationship between the current trace start point, the trace end point of the current layer corresponding to the current trace start point, and the auxiliary area of the target device, provided in this embodiment, 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 retrieval range and improve the diversity and flexibility of via determination.
[0130] In some embodiments, when the target device is a pin, the trace length of the current layer is determined based on the coordinates corresponding to the auxiliary region of the target device when the current trace start point reaches it, including:
[0131] Obtain the coordinates of the four points corresponding to the pin; the pin is rectangular in shape on the circuit board.
[0132] The auxiliary area of the pin is determined based on the coordinates of four points;
[0133] Determine whether the endpoint of the current trace at the current layer, corresponding to the current trace start point, is located in the auxiliary region of the pin.
[0134] If so, then determine the target coordinates closest to the pin's auxiliary area from the coordinates of the auxiliary area of the pin's endpoint corresponding to the current trace start point in the current layer;
[0135] The length of the current layer is determined based on the coordinates corresponding to the target coordinates and the current starting point of the trace.
[0136] Specifically, when the target device is a pin, determining the trace length on the current layer requires identifying the pin's auxiliary region using the coordinates of four points on the pin's rectangular shape. It's then necessary to determine if the trace endpoint on the current layer, corresponding to the current trace start point, is within the pin's auxiliary region; if so, the nearest target coordinate to the pin's auxiliary region needs to be determined from the coordinates of the trace endpoints on the previous layer reaching the pin's auxiliary region. Figure 5 This is a schematic diagram of an auxiliary area for a pin provided in an embodiment of the present invention, as shown below. Figure 5 As shown, the auxiliary area of the pin is the area corresponding to the solid square of the pin. The target coordinates are obtained by connecting the coordinates of each coordinate in the auxiliary area of the pin to the target at the end of the trace. The trace length of the current layer is determined by subtracting the target coordinates from the coordinates corresponding to the current trace start point.
[0137] The process for determining the trace length at the current layer when the target device is a pin, as provided in this embodiment, takes into account the regional characteristics of the pin and improves the accuracy of the trace length determination process.
[0138] In some embodiments, tracing the trace start point corresponding to the next layer based on the via includes:
[0139] Obtain the layer connection relationship of the via and the layer information of the current layer; wherein, the layer connection relationship contains at least one sub-layer connection combination; the sub-layer connection combination includes two arbitrary different layers;
[0140] The comparison result is determined by comparing the sub-level connection combinations within the level connection relationship with the level information of the current level;
[0141] If the layer information within the sub-layer connection group is the same as the layer information of the current layer, then the other layer within the layer information of the sub-layer connection group is taken as the next layer of the current layer, and the via position corresponding to the next layer is taken as the trace start point of the next layer.
[0142] Specifically, taking a via cross-section as an example, the top layer of the circuit board connected by the via is the top surface layer, the bottom layer is the ground layer, and the multiple layers in between are memory layers. The connection between the multiple layers of the via achieves the connection process of different layers. For example, TOP and L2 are a sub-layer connection combination, meaning that whether the TOP layer is connected first and the next layer is the L2 layer, or vice versa, the next layer is the TOP layer. The layer connection relationship must include at least one sub-layer connection combination. It should be noted that this embodiment considers multiple inner layers, and different layer connection relationships may exist during engineering implementation, as long as any layer in the multiple sub-layer connection combinations does not overlap. A sub-layer connection combination includes two arbitrary different layers, ensuring they do not overlap.
[0143] The comparison result is determined by comparing the sub-layer connection combinations within the layer connection relationship with the layer information of the current layer. Taking (TOP, L2) as an example, if the current layer is layer L2, it means that the layer information within the sub-layer connection combination is the same as the layer information of the current layer. In this case, the other layer, TOP, is taken as the next layer of the current layer, and the via position corresponding to the next layer is taken as the routing start point of the next layer. If there are multiple sub-layer connection combinations, the comparison method is the same as described above, and will not be elaborated here.
[0144] For example: Using `s_dbid->ChangeLayer`, obtain the two layer information of the via interconnect, denoted as `s_dbid_layer1` and `s_dbid_layer2` respectively. Compare these two with `line1_layer`. If they are different, retain them, indicating that `line1` has been converted to this layer through the via. Here, we assume `s_dbid_layer2` is different from `line1_layer`. Use `s_dbid->center` to obtain the center coordinates of the via or pin, denoted as (s_x, s_y). These coordinates are the starting coordinates of the next trace segment. Using the coordinates (s_x, s_y) and `s_dbid_layer2`, the next trace segment can be selected. Record the dbid of the next trace segment as `seg_1_dbid`. Save the length and layer information of this trace segment to `list_net1_info`, i.e., `{(line1_length, line1_layer), (seg_1_length, seg_1_layer)}`.
[0145] In this embodiment, the sub-layer connection combination corresponding to the pre-existing layer connection relationship of the via is compared and filtered with the layer information of the current layer to determine the next layer and realize the tracking function. Compared with manual comparison and analysis, the comparison efficiency is improved.
[0146] In other embodiments, tracing the trace start point corresponding to the next layer based on the via includes:
[0147] Obtain 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 contains 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] The comparison result is determined by comparing the sub-level connection combinations within the level connection relationship with the level information of the current level;
[0149] If the layer information in the sub-layer connection combination is the same as the layer information of the current layer, then determine whether the signal transmission direction of the current layer's layer information is the same as the information transmission direction of the first target layer corresponding to the sub-layer connection combination that is the same as the current layer's layer information.
[0150] If they are the same, the other layer in the layer information within the sub-layer connection combination will be taken as the next layer of the current layer, and the via position corresponding to the next layer will be taken as the starting point of the trace corresponding to the next layer.
[0151] Specifically, taking high-speed signals as an example, a parallel bus can transmit multiple bits of data simultaneously, and can be bidirectional or unidirectional. This means that in parallel transmission, signals can be transmitted in different directions at the same time. Based on the above embodiments, this embodiment considers the signal transmission direction of the current layer. In the layer connection relationship of vias, 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 the two arbitrary different layers. First, the comparison method is the same as in the above embodiments. The sub-layer connection combination is compared with the layer information of the current layer. If they are the same, the corresponding transmission direction is further examined. Taking the (TOP, L2) sub-layer connection combination as an example, the corresponding transmission direction is divided into two types: one is transmission from the TOP layer to the L2 layer, and the other is transmission from the L2 layer to the TOP layer. Taking the current layer L2 as an example, to determine which layer needs to be transmitted from L2, we need to judge whether the signal transmission direction of the current layer's layer information is the same as the information transmission direction of the first target layer corresponding to the sub-layer connection combination that is the same as the current layer's layer information. Here, the first target layer is the TOP layer. If the transmission directions are the same, we 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 taken as the starting point of the TOP layer's trace.
[0152] This embodiment compares and filters the sub-layer connection combinations corresponding to the pre-existing layer connection relationships of vias with the layer information of the current layer. Based on the selection of the same, the next layer is determined by combining the information transmission direction parameter, thereby realizing the tracking function. Compared with manual comparison and analysis, this further improves the comparison efficiency.
[0153] In some embodiments, determining the trace length between pins on the current layer based on the pin coordinates includes:
[0154] Obtain the coordinates of four points corresponding to the pins; the pins are rectangular in shape on the circuit board; the pins correspond to the inside of the capacitor on the circuit board, and there are two of them;
[0155] The coordinate difference between the pins is determined by the coordinates of the first pin closest to the current trace start point and the second pin furthest from the current trace start point.
[0156] Use the coordinate difference as the trace length between pins.
[0157] Specifically, such as Figure 5 As shown, the coordinate difference between four points of the pin is determined by the coordinate of the first pin closest to the current trace start point and the coordinate of the second pin furthest from the current trace start point. The capacitor contains two pins; from top to bottom, the last one is the first pin, and the first one is the second pin. The difference between the furthest coordinates of the first and second pins is used to determine the coordinate difference between the pins, which is then used as the trace length between the pins.
[0158] For example, we need to obtain the symbol_dbid of the device through pin1_dbid, obtain pin2_dbid through symbol_dbid, obtain the coordinates of the four corners of the rectangular pin through pin1_dbid and pin2_dbid, obtain the length of the farthest end of the two pins by comparing the coordinates, and record it as pin_length. We can obtain the layer through symbol_dbid->layer and record it as pin_layer. Store these two parameters in list_net1_info={(line1_length, line1_layer), (seg_1_length, seg_1_layer), (pin_length, pin_layer)}.
[0159] The process for determining the trace length between pins provided in this embodiment ensures, to the greatest extent possible, the longest trace between two pins within a capacitor. It takes into account the trace length when crossing a capacitor, so as to ensure the accuracy of the total trace length corresponding to the current signal in the future.
[0160] In some embodiments, based on the layer relationships 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:
[0161] Determine the layer type of each layer of the circuit board, where the layer type includes outer surface layer and inner surface layer, and the outer surface layer includes the upper surface layer and lower surface layer of the circuit board.
[0162] The first trace length is obtained by multiplying the trace length of the outer layer by the first coefficient.
[0163] The trace length corresponding to the current signal is obtained by summing the lengths of each first trace, the trace lengths of each inner surface layer, and the trace lengths between each pin.
[0164] Specifically, to ensure the accuracy of the traces on the outer layer of the circuit board and avoid the reduced evaluation effect of trace lengths due to poor trace transmission quality, this embodiment multiplies the trace lengths on the outer layer of the circuit board by a coefficient. The trace lengths on the outer layer are multiplied by a first coefficient to obtain the corresponding first trace lengths. The first trace lengths, the trace lengths on the inner layer, and the trace lengths between pins are then summed to obtain the trace length corresponding to the current signal.
[0165] Each trace results in a two-dimensional array: list_net1_info, list_net2_info, list_net3_info, etc. Each array is processed sequentially. According to the principle that layer=top, length*2; layer≠top, length*1, the lengths in the arrays are summed. Finally, each array has a length. The maximum value is the maximum value of the signal transmission path.
[0166] This embodiment provides a circuit board-based layer relationship method to process the trace lengths of each layer and the trace lengths between each pin to obtain the trace length corresponding to the current signal. This avoids the problem of poor trace transmission quality on the outer layer causing a decrease in the evaluation effect of the trace length in the subsequent evaluation process, and improves the accuracy of the trace length determination process.
[0167] The foregoing has provided a detailed description of a circuit board trace length determination method provided by the present invention. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make several improvements and modifications to the present invention without departing from the principle of the invention, and these improvements and modifications also fall within the protection scope of the present invention.
[0168] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
Claims
1. A method for determining trace length on a circuit board, characterized in that, include: Obtain the current trace start point and the target device connected to the current trace on the current layer of the circuit board; The trace length of the current layer is determined based on the coordinates corresponding to the auxiliary area of the target device when the current trace start point reaches the target device. When the target device is a via, the trace start point corresponding to the next layer is traced according to the via to return to the step of obtaining the target device connected to the current trace; when the target device is a pin, the trace length between pins in the current layer is determined according to the coordinates of the pin. Based on the layer relationships 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. Correspondingly, when the target device is a via, the trace length of the current layer is determined based on the coordinates corresponding to the auxiliary area of the target device when the current trace start point reaches it, including: Determine whether the endpoint of the current trace at the current layer corresponding to the current trace start point is the coordinate of the target device; If so, the trace length of the current layer is determined based on the current trace start point and the coordinates corresponding to the target device. If not, then the area centered on the current layer's trace endpoint and defined by a first preset length as the radius is designated as the auxiliary area of the target device; and the trace length of the current layer is determined based on the relationship between the current trace start point, the trace endpoint of the current layer corresponding to the current trace start point, and the auxiliary area of the target device. Correspondingly, when the target device is a pin, the trace length of the current layer is determined based on the coordinates corresponding to the auxiliary area of the target device when the current trace start point reaches it, including: Obtain the coordinates of four points corresponding to the pin; wherein the pin is rectangular in shape on the circuit board; The auxiliary area of the pin is determined based on the coordinates of the four points; Determine whether the endpoint of the current trace at the current layer corresponding to the current trace start point is located in the auxiliary region of the pin; If so, then determine the target coordinates closest to the auxiliary area of the pin from the coordinates of the current layer's trace endpoint corresponding to the current trace start point; The routing length of the current layer is determined based on the target coordinates and the coordinates corresponding to the current routing start point. Correspondingly, based on the via tracing, the starting point of the trace corresponding to the next layer includes: Obtain 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; the sub-layer connection combination includes two arbitrary different layers; The comparison result is determined by comparing the sub-level connection combinations 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, then the other layer in the layer information of the sub-layer connection combination is taken as the next layer of the current layer, and the via position corresponding to the next layer is taken as the trace start point corresponding to the next layer. Correspondingly, determining the trace length between pins at the current layer based on the pin coordinates includes: Obtain the coordinates of four points corresponding to the pin; wherein the pin is rectangular in shape on the circuit board; the pin corresponds to the inside of the capacitor on the circuit board, and there are two of them; The coordinate difference between the pins is determined by the coordinates of the first pin closest to the current trace start point and the coordinates of the second pin furthest from the current trace start point among the four point coordinates of the pin. The coordinate difference is used as the trace length between the pins; Correspondingly, based on the layer relationships 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 the upper surface layer and the lower surface layer of the circuit board. The first trace length is obtained by multiplying the trace length of the outer layer by the first coefficient. The trace length corresponding to the current signal is obtained by summing the lengths of each first trace, each trace length of the inner surface layer, and the trace lengths between each pin.
2. The method for determining trace length based on a circuit board according to claim 1, characterized in that, When multiple first vias exist in the auxiliary region of the target device, the process for determining the vias used to trace the starting point of the trace in the next layer includes: Obtain the coordinates of each of the first vias; The first distance from each of the first vias to the current starting point of the trace is determined based on the coordinates of each of the first vias and the coordinates of the trace end point. Sort the first distances in descending order; Select the smallest first distance from the sorted first distances as the target first distance; The first via corresponding to the first target distance is used as a via for tracking the starting point of the trace in the next layer, and the trace endpoint corresponding to the first via corresponding to the first target distance is valid with the trace starting point of the current trace.
3. The method for determining trace length based on a circuit board according to claim 1, characterized in that, The step of determining the trace length of the current layer based on the relationship between the current trace start point, the trace end point of the current layer corresponding to the current trace start point, and the auxiliary region of the target device includes: Obtain the target device corresponding to the current layer; Determine whether the target device exists within the auxiliary region of the target device; If the target device exists within the auxiliary area of the target device, the trace length of the current layer is determined according to the coordinates corresponding to the current trace start point and the current trace end point. If the target device does not exist in the auxiliary region of the target device, then obtain the adjustment step size, the current iteration number, and the preset iteration number; The adjustment step size is added to the first preset length to obtain a new first preset length, and the current iteration number is incremented by 1 to determine the new auxiliary region of the target device, and then the process returns to the step of determining whether the target device is located within the auxiliary region of the target device. Until the new current iteration number reaches the preset iteration number, if the target device is not present 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 to the current trace; Return to the step of determining the trace length of the current layer based on the coordinates corresponding to the auxiliary area of the target device when the current trace start point reaches it, so as to determine the new trace length of the current layer.
4. The method for determining trace length based on a circuit board according to claim 3, characterized in that, After processing the trace lengths at each level and between each pin based on the board's layer relationships to obtain the trace length corresponding to the current signal, the process also includes: Sort the trace lengths corresponding to the current signal in descending order; The longest trace length among the sorted trace lengths is selected as the target trace length to facilitate signal transmission evaluation.
5. The method for determining trace length based on a circuit board according to claim 4, characterized in that, After selecting the largest trace length from the sorted trace lengths as the target trace length to facilitate signal transmission evaluation, the following steps are also included: The information of each layer, vias, trace lengths of each layer, and trace lengths between each pin corresponding to the current signal trace length are stored in a two-dimensional array. The maximum trace length corresponding to the current signal is used as the final stored output result; Information stored in a two-dimensional array is used as a signal for transmission. The signal transmission information and the stored output results are categorized as selection control information; The selection control information is interactively fed back to the user.