Differential trace length acquisition method, device, electronic device and storage medium
By identifying and processing differential trace sub-units and units in the printed circuit board, the problem of difficulty in obtaining the differential trace length is solved when the resistor or capacitor is connected in series between the signal transmitting end and the signal receiving end, and a more accurate and efficient length acquisition and design inspection is achieved.
Patent Information
- Application Number
- CN202411534200.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2044-10-31
AI Technical Summary
In the case of series resistors or series capacitors at the source terminal between the signal transmitting end and the signal receiving end, it is difficult to accurately and efficiently obtain the length of the differential trace, and then verify whether the differential trace meets the design requirements of the same length.
By identifying the differential trace subunit and the differential trace unit in the printed circuit board, the length of each differential trace group in the differential trace unit is automatically obtained based on the attribute information of the differential trace segment, and whether the first trace segment is included is determined.
It realizes the series resistance of the differential trace more accurately and efficiently when the series resistance of the active terminal or the series capacitor of the source terminal is connected between the signal transmitting end and the signal receiving end, and improves the efficiency and accuracy of the design inspection of the same length of the differential trace unit.
Smart Images

Figure CN119067059B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of electrical digital data processing, and in particular to a method and device for acquiring the length of a differential wiring, an electronic device and a storage medium. Background Art
[0002] Differential routing consists of a pair of routing lines with equal amplitude and opposite directions. The two routing lines in the differential routing are tightly coupled, which can cancel each other out external noise signals, thereby improving the quality of signal transmission. In the design of printed circuit boards (PCBs), in order to ensure the synchronization and integrity of signal transmission, it is usually necessary to design the two routing lines in the differential routing to be equal in length.
[0003] In common PCB designs, a source-end series resistor or source-end series capacitor is connected in series between the signal transmitting end and the signal receiving end to change the transmission characteristics of the signal. In the case where a source-end series resistor or source-end series capacitor is connected in series between the signal transmitting end and the signal receiving end, it is difficult to accurately and efficiently obtain the differential routing length between the above-mentioned signal transmitting end and the signal receiving end in the related art, which makes it difficult to accurately and efficiently verify whether the differential routing between the above-mentioned signal transmitting end and the signal receiving end meets the equal length design requirements. Therefore, in the case where an active-end series resistor or source-end series capacitor is connected in series between the signal transmitting end and the signal receiving end, how to more accurately and efficiently obtain the length of the differential routing between the above-mentioned signal transmitting end and the signal receiving end is a technical problem that needs to be solved urgently in this field. Summary of the invention
[0004] The present invention provides a differential routing length acquisition method, device, electronic device and storage medium, which are used to solve the defect in the prior art that it is difficult to obtain the length of the differential routing between the signal transmitting end and the signal receiving end when an active end series resistor or a source end series capacitor is connected in series between the signal transmitting end and the signal receiving end, and achieve more accurate and efficient acquisition of the length of the differential routing between the signal transmitting end and the signal receiving end when an active end series resistor or a source end series capacitor is connected in series between the signal transmitting end and the signal receiving end.
[0005] The present invention provides a method for obtaining the length of a differential wiring, comprising the following steps.
[0006] In the case of triggering a differential routing length acquisition task for a target area in a printed circuit board, obtaining identification information of routings in the target area, wherein two ends of the routings are connected to any two of a signal transmitting device, a signal receiving device, and a target device;
[0007] Based on the identification information of the routing, a differential routing subunit in the target area is identified, wherein the differential routing subunit includes two differential routing segments for connecting any two of a signal transmitting device, a signal receiving device, and a target device;
[0008] Based on the attribute information of the differential routing segment, a differential routing unit in the target area is identified, wherein the differential routing unit includes two differential routing groups, wherein the differential routing group includes a plurality of differential routing segments connected through the target device, and two ends of the differential routing group are connected to a signal sending device and a signal receiving device;
[0009] The length of each differential routing group in the differential routing unit is obtained respectively.
[0010] According to a method for obtaining the length of a differential routing line provided by the present invention, after identifying the differential routing line unit in the target area based on the attribute information of the differential routing line segment, the method further includes:
[0011] Based on the attribute information of the differential routing segment, determining a signal sending device and a signal receiving device connected to the differential routing group;
[0012] Based on identification information of a signal transmitting device and a signal receiving device connected to the differential routing group, acquiring line segments included in the differential routing group;
[0013] Based on the line width of the line segment included in the differential routing group, determining whether the differential routing group includes a first routing segment, where the first routing segment is a routing segment in the differential routing group that is in a predefined dense wiring area;
[0014] When it is determined that any differential routing group includes the first routing segment, the length of the first routing segment in the any differential routing group is obtained.
[0015] According to a method for obtaining the length of a differential routing line provided by the present invention, after identifying the differential routing line unit in the target area based on the attribute information of the differential routing line segment, the method further includes:
[0016] Based on the attribute information of the differential routing segment, respectively obtain the lengths of the pin compensation routings of the two devices connected to the differential routing segment, wherein the pin compensation routings are routings arranged to meet the routing equal length design and used to compensate for the routing lengths.
[0017] Based on the inclusion relationship between the differential routing group and the differential routing segment, the length of the pin compensation routing of the device connected to the differential routing unit is determined.
[0018] According to a method for obtaining the length of a differential routing line provided by the present invention, after identifying the differential routing line unit in the target area based on the attribute information of the differential routing line segment, the method further includes:
[0019] Traversing each layer of the printed circuit board, obtaining a routing segment of the differential routing group in different layers for connecting two components as a second routing segment in the differential routing segment, wherein the two components include any two of the signal transmitting device, the signal receiving device, the target device and the via, and the two components also include two different vias;
[0020] Obtaining identification information of the two components connected to each second routing segment;
[0021] Based on the identification information of the two components connected by the second routing segment, calling a function to obtain the length of the second routing segment;
[0022] Based on the identification information of the two components connected by the second routing segment, the two second routing segments connected by the target device in the same layer are merged into one second routing segment, and the sum of the lengths of the two second routing segments connected by the target device in the same layer is determined as the length of the merged second routing segment.
[0023] According to a differential routing length acquisition method provided by the present invention, the step of respectively acquiring the length of each differential routing group in the differential routing unit includes:
[0024] Based on the inclusion relationship between the differential routing group and the differential routing segment, two devices connected to each differential routing segment in the differential routing group are obtained as devices included in the differential routing group;
[0025] After deduplication of the devices included in the differential routing group, calling a function to obtain the length of the routing between any two devices included in the differential routing group as the original length of the differential routing group;
[0026] The maximum value among the original lengths of the differential routing group is determined as the length of the differential routing group.
[0027] According to a method for obtaining the length of a differential routing line provided by the present invention, the method of determining a signal sending device and a signal receiving device connected to the differential routing line group based on the attribute information of the differential routing line segment comprises:
[0028] Traversing each differential routing group, when it is determined that the position information of the device connected to one end of a differential routing segment in any differential routing group is the same as the position information of the device connected to one end of another differential routing segment in the any differential routing group, but the device connected to one end of a differential routing segment in any differential routing group is different from the device connected to one end of another differential routing segment in the any differential routing group, determine that the device connected to one end of a differential routing segment in any differential routing group and the device connected to one end of another differential routing segment in the any differential routing group are the same target device;
[0029] Based on the inclusion relationship between the differential routing group and the differential routing segment, a signal sending device and a signal receiving device connected to the differential routing group are determined.
[0030] According to a differential routing length acquisition method provided by the present invention, judging whether the differential routing group includes a first routing segment based on the line width of the line segment included in the differential routing group includes:
[0031] According to the arrangement order of the line segments included in the differential routing group, the line width of each line segment included in each differential routing group is obtained in sequence, and then a line segment line width sequence corresponding to the differential routing group is generated;
[0032] Deduplication is performed on the line segment line width sequence corresponding to the differential routing group. When the number of line segment line widths in the line segment line width sequence corresponding to the differential routing group after deduplication is 1, it is determined that the differential routing group does not include the first routing segment. When the number of line segment line widths in the line segment line width sequence corresponding to the differential routing group after deduplication is greater than 1, it is determined that the differential routing group includes the first routing segment.
[0033] According to a differential routing length acquisition method provided by the present invention, when it is determined that any differential routing group includes the first routing segment, acquiring the length of the first routing segment in any differential routing group includes:
[0034] Obtain the length of the first line segment in the line segment line width sequence corresponding to any differential routing group, and include it in the length of the first routing segment;
[0035] Starting from the first line segment in the line segment line width sequence corresponding to any differential routing group, traverse the line segment line width sequence corresponding to any differential routing group, when the line width of the traversed line segment is the same as the line width of the first line segment in the line segment line width sequence corresponding to any differential routing group, obtain the length of the traversed line segment and include it in the length of the first routing segment, until the line width of the traversed line segment is greater than the line segment line width of the first line segment in the line segment line width sequence corresponding to any differential routing group, determine that the first routing segment is terminated, and obtain the length of the first routing segment.
[0036] According to a differential routing length acquisition method provided by the present invention, when it is determined that any differential routing group includes the first routing segment, acquiring the length of the first routing segment in any differential routing group includes:
[0037] Starting from the line width of the first line segment in the line width sequence of the line segments corresponding to any differential routing group, traverse the line width sequence of the line segments corresponding to any differential routing group, and when the line width of any line segment in the line width sequence of the line segments corresponding to any differential routing group is smaller than the line width of the previous line segment of any line segment, determine any line segment as the starting line segment of the first routing segment, and obtain the length of any line segment and include it in the length of the first routing segment;
[0038] Continue to traverse the line segment line width after the starting line segment in the line segment line width sequence corresponding to any differential routing group. When the line width of the traversed line segment is the same as the line width of the starting line segment, obtain the length of the traversed line segment and include it in the length of the first routing segment, until the line width of the traversed line segment is greater than the line width of the starting line segment, determine that the first routing segment is terminated, and obtain the length of the first routing segment.
[0039] According to a method for obtaining the length of a differential routing line provided by the present invention, when it is determined that any differential routing line group includes the first routing line segment, after obtaining the length of the first routing line segment in any differential routing line group, the method further includes:
[0040] Based on the length of the first routing segment in each differential routing group in the differential routing unit, obtaining a length difference between each pair of first routing segments in the differential routing unit;
[0041] When it is determined that the length difference between any pair of first routing segments in the differential routing unit is greater than a predefined first length threshold, a first alarm message is issued to prompt that any pair of first routing segments in the differential routing unit does not meet the equal routing length design requirement.
[0042] According to a method for obtaining the length of a differential routing line provided by the present invention, after determining the length of the pin compensation routing line of the device connected to the differential routing line unit based on the inclusion relationship between the differential routing line group and the differential routing line segment, the method further includes:
[0043] Determining whether the length of the pin compensation routing of each device connected to the differential routing unit is greater than a predefined third length threshold;
[0044] When it is determined that the length of the pin compensation routing of any device connected to the differential routing unit is greater than the third length threshold, a second alarm message is issued to prompt that the pin compensation routing of any device connected to the differential routing unit does not meet the routing equal length design requirement.
[0045] According to a differential routing length acquisition method provided by the present invention, after merging two second routing segments connected by the target device in the same layer into one second routing segment based on the identification information of the two components connected by the second routing segment, and determining the sum of the lengths of the two second routing segments connected by the target device in the same layer as the length of the merged second routing segment, the method further includes:
[0046] Obtaining a length difference between a pair of second routing segments on the same layer in the differential routing unit;
[0047] When it is determined that the length difference between a pair of second routing segments at any level in the differential routing unit is greater than a predefined third length threshold, a third alarm message is issued to prompt that the pair of second routing segments at any level in the differential routing unit does not meet the equal routing length design requirement.
[0048] According to a differential routing length acquisition method provided by the present invention, after respectively acquiring the length of each differential routing group in the differential routing unit, the method further comprises: acquiring a length difference between a pair of differential routing groups in the differential routing unit based on the length of each differential routing group in the differential routing unit;
[0049] When the length difference is greater than a predefined fourth length threshold, a fourth warning message is issued to prompt that the differential routing unit does not meet the routing equal length design requirement.
[0050] The present invention also provides a differential wiring length acquisition device, comprising the following modules:
[0051] A data acquisition module, used for acquiring identification information of a line in a target area of a printed circuit board when a differential line length acquisition task for the target area of the printed circuit board is triggered, wherein two ends of the line are connected to any two of a signal sending device, a signal receiving device and a target device;
[0052] A first identification module, used for identifying a differential routing subunit in the target area based on identification information of the routing, wherein the differential routing subunit includes a pair of differential routings for connecting any two of a signal transmitting device, a signal receiving device and a target device;
[0053] A second identification module is used to identify a differential routing unit in the target area based on the attribute information of the differential routing segment, wherein the differential routing unit includes a pair of differential routing groups, two ends of the differential routing group are connected to a signal sending device and a signal receiving device, and the target device is connected in series in the differential routing group;
[0054] The length acquisition module is used to respectively acquire the length of each differential routing group in the differential routing unit.
[0055] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the differential wiring length acquisition method described in any one of the above methods is implemented.
[0056] The present invention also provides a non-transitory computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the differential wiring length acquisition method described in any one of the above methods is implemented.
[0057] The present invention also provides a computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements any of the above-mentioned methods for obtaining the length of a differential wiring.
[0058] The differential routing length acquisition method, device, electronic device and storage medium provided by the present invention can automatically identify the differential routing unit in the target area based on the identification information of the routing in the target area when triggering the differential routing length acquisition task for the target area in the printed circuit board, and then identify the differential routing unit in the target area based on the attribute information of each differential routing segment in the differential routing subunit, and respectively acquire the length of each differential routing group in the differential routing unit, so as to realize automatic identification of the differential routing unit in the target area, and more accurately and efficiently acquire the length of the differential routing between the signal sending end and the signal receiving end when an active end series resistor or a source end series capacitor is connected in series between the signal sending end and the signal receiving end, and provide a data basis for checking whether the differential routing unit meets the equal length design of the routing, and can improve the efficiency and accuracy of the equal length design inspection of the differential routing unit, and the process of acquiring the length of each routing in the differential routing unit including multiple differential routing subunits is simple, has strong universality, and has broad application prospects. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are 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.
[0060] Figure 1 This is one of the flow charts of the differential wiring length acquisition method provided by the present invention.
[0061] Figure 2 This is the second flow chart of the differential trace length acquisition method provided by the present invention.
[0062] Figure 3 It is a structural schematic diagram of a differential routing unit in the differential routing length acquisition method provided by the present invention.
[0063] Figure 4 It is a structural schematic diagram of the differential wiring length acquisition device provided by the present invention.
[0064] Figure 5 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0065] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0066] In the description of the invention, it should be noted that, unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two components. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0067] In the description of the present application, the terms "first", "second", etc. are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are usually a class, and the number of objects is not limited. For example, the first object can be one or more. In addition, in the description of the present application, "and / or" represents at least one of the connected objects, and the character " / " generally represents that the front and back associated objects are in an "or" relationship.
[0068] It should be noted that 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, the amount of network data is also increasing, and the performance requirements for servers are also higher.
[0069] PCB board routing refers to copper wires with a certain width and thickness distributed on each layer. It is divided into strip lines and microstrip lines. Strip lines refer to strip lines buried inside the PCB. Strip lines are embedded between two layers of conductors and are not easily affected by external radiation interference. Microstrip lines refer to strip lines on the surface layer of the PCB. One side of the microstrip line is exposed to the air, and the other side is distributed in the insulating medium of the PCB, so it is easily affected by surrounding radiation interference.
[0070] A pair of traces responsible for carrying differential signals is called differential traces. Differential signals require that the signals are equal in size and opposite in direction. The coupling between the two traces in the differential trace is better, and the impedance transformation is more matched. The external noise signal will basically be coupled to the two traces at the same time, and the signal receiving end only needs to pay attention to the difference between the two signals, so the external common-mode noise can be completely eliminated, which can improve the signal transmission quality.
[0071] Source-end series resistance or series capacitance are two commonly used component configuration methods in PCB design. Source-end series resistance or series capacitance changes the transmission characteristics of the signal by connecting a resistor or capacitor in series at the source end of the signal (i.e., the signal sending end).
[0072] In common PCB designs, a source-end series resistor or source-end series capacitor is also connected in series between the signal transmitting end and the signal receiving end to change the transmission characteristics of the signal. In the case where a source-end series resistor or source-end series capacitor is connected in series between the signal transmitting end and the signal receiving end, the two traces in the differential trace unit used to connect the above-mentioned signal transmitting end and the above-mentioned signal receiving end carry the same signal together. In PCB design, it is hoped that the transmission path of the above-mentioned signal is of equal length in timing, that is, the total transmission time of the signal from the above-mentioned signal transmitting end to the signal receiving end remains consistent. Therefore, in the related art, in the case where a source-end series resistor or source-end series capacitor is connected in series between the signal transmitting end and the signal receiving end, the differential trace used to connect the above-mentioned signal transmitting end and the signal receiving end is still regarded as a differential trace unit, even if the above-mentioned differential trace unit is divided into at least two differential trace sub-units by the source-end series resistor or source-end series capacitor.
[0073] It should be noted that, when the differential routing unit includes multiple differential routing sub-units, the above-mentioned differential routing sub-unit may include a differential routing for connecting the signal sending end and the source end series resistor or the source end series capacitor, and may also include a differential routing for connecting the signal receiving end and the source end series resistor or the source end series capacitor.
[0074] Generally, for a high-speed differential routing unit, it is generally required that the length difference between two routing lines in the differential routing unit does not exceed 5 mils.
[0075] In the related art, PCB wiring software can be called to obtain the length of the trace connected to any pair of pins. However, in the related art, it is impossible to automatically determine the differential trace unit between any signal transmitting end and signal receiving end and the differential trace sub-unit included in the above differential trace unit from the PCB design drawing, and it is even more impossible to automatically obtain the length of two traces in the differential trace unit. Only manual inspection can be relied on to determine the differential trace unit between any signal transmitting end and signal receiving end and the differential trace sub-unit included in the above differential trace unit from the PCB design drawing. Manual inspection by manual inspection is time-consuming and prone to errors, resulting in the difficulty in accurately and efficiently obtaining the length of each trace in the differential trace unit including multiple differential trace sub-units in the related art.
[0076] Moreover, in PCB design, due to the restrictions of layout and other conditions, especially in some areas where dense wiring is required (breakout areas), the lines arranged in the above areas in the differential routing unit have smaller line widths, higher impedance, and greater losses than the lines arranged in other areas in the differential routing unit. Therefore, it is necessary to monitor the length of the lines arranged in the above areas in the differential routing unit, and verify whether the lengths of the two lines arranged in the above areas in the differential routing unit meet the equal length design requirements, so as to avoid the excessive length difference between the two lines arranged in the above areas in the differential routing unit, which leads to further increase in signal loss.
[0077] In the related art, only manual inspection can be relied upon to determine the length of each routing line arranged in the above-mentioned dense routing area in the differential routing unit. Manual inspection is time-consuming and prone to errors, resulting in difficulty in the related art to accurately and efficiently obtain the length of each routing line arranged in the above-mentioned dense routing area in the differential routing unit.
[0078] Moreover, with the widespread application of multi-layer PCB boards, the signal transmitter and the signal receiver may not be on the same level. When the signal transmitter and the signal receiver are on different levels, the differential signal line group connecting the signal transmitter and the signal receiver will be laid out on different levels through punching. Monitoring the length of the traces laid out in each level in the differential routing unit and verifying whether the lengths of the two traces laid out in each level in the differential routing unit meet the equal length design requirements can better ensure the synchronization and integrity of signal transmission.
[0079] The related art can only rely on manual inspection to determine the lengths of the two routings arranged in each layer of the differential routing unit. Manual inspection is time-consuming and prone to errors, making it difficult to accurately and efficiently obtain the lengths of the two routings arranged in each layer of the differential routing unit in the related art.
[0080] Combine the following Figure 1-Figure 3 The differential wiring length acquisition method of the present invention is described.
[0081] Figure 1 This is one of the flow charts of the differential wiring length acquisition method provided by the present invention. Figure 2 FIG. 2 is a flow chart of the differential wiring length acquisition method provided by the present invention. Figure 1 and Figure 2 As shown, the method includes the following: Step 101, when a differential routing length acquisition task for a target area in a printed circuit board is triggered, identification information of the routing in the target area is acquired, and two ends of the routing are connected to any two of a signal sending device, a signal receiving device and a target device.
[0082] It should be noted that the execution subject of the embodiment of the present invention is a differential wiring length acquisition device, and the differential wiring length acquisition device can be configured in electronic devices such as computers and servers.
[0083] It should be noted that the above-mentioned differential trace length acquisition device has built-in PCB design software, and the differential trace length acquisition method provided by the present invention is implemented based on the above-mentioned PCB design software.
[0084] Among them, PCB design software is a professional tool used for circuit design, layout and wiring of PCB boards. PCB design software can provide complete design process support such as schematic design, component library management, PCB layout and wiring, and manufacturing file output. PCB design software can also support advanced features such as multi-layer PCB design, high-density layout, and data extraction.
[0085] Specifically, the differential traces in the target area of the printed circuit board are the acquisition objects of the differential trace length acquisition method provided by the present invention, that is, based on the differential trace length acquisition method provided by the present invention, the lengths of the differential traces in the target area of the printed circuit board can be acquired.
[0086] It should be noted that the printed circuit board and the target area in the printed circuit board in the embodiment of the present invention can be determined based on actual needs. The printed circuit board and the target area in the printed circuit board in the embodiment of the present invention are not specifically limited.
[0087] Before triggering the task of acquiring the differential trace length for the target area in the printed circuit board, the user can input parameters in the front-end interface of the PCB design software. The first length threshold is recorded as neckvalue, the third length threshold is recorded as perlayerValue, and the fourth length threshold is recorded as xnetvalue.
[0088] Trigger the check control check, clear the query record space, and exit the program space close.
[0089] It should be noted that, according to current business rules, default values may be assigned to the first length threshold neckvalue, the third length threshold perlayerValue and the fourth length threshold xnetvalue to avoid multiple filling in when the user uses it.
[0090] Check the result display information design module to ensure that the obtained results can be displayed normally.
[0091] According to actual needs, the user can open the design drawing of the printed circuit board for which the differential trace length needs to be obtained in the PCB design software. The design drawing of the printed circuit board includes information such as the layout, wiring and device packaging of the printed circuit board.
[0092] After opening the design drawing of the printed circuit board for which the differential trace length needs to be obtained in the PCB design software, the PCB design software can display any layer of the printed circuit board in the display interface.
[0093] Enter the check command in the PCB design software and call the function (axlsetFindFilter function) to close other objects.
[0094] In the nets mode of the PCB design software, the user can select the area where the differential trace length needs to be obtained in any layer of the printed circuit board displayed in the PCB design software according to actual needs, and then the area selected by the user in the layer currently displayed on the printed circuit board and the vertical projection area of the above area in the layer of the printed circuit board can be determined as the target area in the printed circuit board.
[0095] After the user selects the target area in the printed circuit board in the PCB design software, the user can trigger the differential trace length acquisition task for the target area in the printed circuit board by inputting a control instruction.
[0096] When a differential trace length acquisition task for a target area in a printed circuit board is triggered, a function (axlgetselset function) may be called to obtain identification information (netobjects) of traces for connecting any two devices in the target area in the printed circuit board.
[0097] It should be noted that the target device in the embodiment of the present invention may be a source-end series capacitor or a source-end series resistor.
[0098] It is understandable that the routing lines in the target area may be arranged in one layer of the printed circuit board, and the routing lines in the target area may also be arranged in multiple layers of the printed circuit board through vias.
[0099] Step 102: Based on the identification information of the routing, identify a differential routing subunit in the target area, wherein the differential routing subunit includes a pair of differential routings for connecting any two of a signal transmitting device, a signal receiving device, and a target device.
[0100] It should be noted that since differential traces are paired traces and some differential traces do not need to follow the equal-length design, when the user selects the target area in the PCB design software, the target area may include only one of the differential traces and / or there may be traces in the target area whose lengths do not need to be obtained.
[0101] Therefore, in an embodiment of the present invention, after obtaining the identification information of the routing within the target area, the differential routing within the target area used to connect the signal sending device and the signal receiving device, used to connect the signal sending device and the target device, and used to connect the target device and the signal receiving device can be identified based on the identification information of the routing.
[0102] Specifically, a blank list is declared as the differential routing sub-unit list diffnetlist in the target area.
[0103] In general, the identification information of differential routing lines that appear in pairs is required to end with "DP" or "DN". Therefore, the identification information of the routing lines in the target area is traversed and checked.
[0104] Determine any route in the target area as a route item i,i Indicates a positive integer with a starting value of 1. i Identification information of netname i Include "DP" and route item i Identification information of netname i If the naming rules for differential routing are met, the routing item i Identification information of netname i Replace "DP" with "DN" and record the replaced identification information as netname i ', and then call the function (axldbfindbyname function) to find out whether there is identification information for netname i ' of the routing.
[0105] When the identification information is found to be netname i'In the case of routing, the identification information can be netname i 'The route is recorded as the route id i , and then we can determine the routing item i With the routing id i A pair of differential traces in the target area for connecting a signal transmitting device and a signal receiving device, for connecting a signal transmitting device and a target device, or for connecting a target device and a signal receiving device.
[0106] Determine the first i Routing item i With the routing id i After a pair of differential traces is created for connecting a signal transmitting device and a signal receiving device, for connecting a signal transmitting device and a target device, or for connecting a target device and a signal receiving device, the trace item i With the routing id i Determine a pair of differential routing segments, and then the differential routing segment item i Differential trace segment id i Determine it as a differential routing subunit, and you can convert the differential routing segment item i and differential trace segment id i Added as a pair of differential routing segments to the differential routing sub-unit list diffnetlist in the target area.
[0107] Delete the differential routing segment item from the routing identification information in the target area i and differential trace segment id i Identification information, i Increase by 1, return to execute and determine any routing in the target area as routing item i until the traversal loop check of the identification information of the routing in the target area is completed.
[0108] After the traversal loop check of the identification information of the routing in the target area is completed, the differential routing sub-unit list diffnetlist in the target area can be obtained, diffnetlist = {(item1,id1), (item2,id2), ..., (item j ,id j ),…(item N ,id N )}.in, N Indicates the number of differential routing subunits in the target area, j and N Both represent positive integers greater than 0.
[0109] Step 103: determine the differential routing in the differential routing subunit as a differential routing segment, and identify the differential routing unit in the target area based on the attribute information of the differential routing segment. The differential routing unit includes a pair of differential routing groups, and the two ends of the differential routing group are connected to the signal sending device and the signal receiving device. The target device is connected in series in the differential routing group.
[0110] Specifically, after obtaining the differential routing sub-unit list diffnetlist in the target area, a traversal loop check may be performed on the differential routing sub-units in the target area.
[0111] For the target area j Differential routing subunit net j , the first j The differential routing sub-unit includes the differential routing segment item j and differential trace segment id j , call the function in the PCB design software to query the data, and you can get the differential routing segment item j Attribute information and differential routing segment id j Attribute information of the .
[0112] Based on differential routing segment item j The attribute information of the differential routing segment item can be obtained j All differential routing segments in the differential routing group are included in the differential routing segment item j The corresponding associated differential routing list xnetlist j 1 in.
[0113] From the differential routing segment item j The corresponding associated differential routing list xnetlist j Remove the differential routing segment item in 1 j Afterwards, if the differential routing segment item j The corresponding associated differential routing list xnetlist j 1 is empty, then the differential routing segment item can be determined j The differential routing group only includes differential routing segments item j A differential routing segment, differential routing segment item j One end is connected to the signal sending device, and the other end is connected to the signal receiving device.
[0114] If the differential routing segment item j The corresponding associated differential routing list xnetlist j 1 is not empty, then the differential routing segment item j The corresponding associated differential routing list xnetlistj The remaining differential trace segments in 1 are denoted as othernet j 1, and then the differential routing segment item can be determined j And the differential trace segment othernet j 1 belong to the same differential trace group.
[0115] Similarly, based on the differential routing segment ID j The attribute information of the differential routing segment can be obtained j All differential routing segments in the differential routing group are included in the differential routing segment id j The corresponding associated differential routing list xnetlist j 2 in.
[0116] From the differential routing segment id j The corresponding associated differential routing list xnetlist j Remove the differential routing segment ID in 2 j Afterwards, if the differential routing segment id j The corresponding associated differential routing list xnetlist j 2 is empty, the differential routing segment id can be determined j The differential routing group only includes the differential routing segment id j A differential trace segment, differential trace segment id j One end is connected to the signal sending device, and the other end is connected to the signal receiving device.
[0117] If the differential routing segment id j The corresponding associated differential routing list xnetlist j 2 is not empty, then the differential routing segment id can be j The corresponding associated differential routing list xnetlist j The remaining differential trace segment in 2 is denoted as othernet j 2, and then the differential routing segment id can be determined j And the differential trace segment othernet j 2 belong to the same differential routing group.
[0118] After the traversal loop check of the differential routing sub-units in the target area is completed, the differential routing units in the target area can be determined.
[0119] It should be noted that in the embodiment of the present invention, when obtaining the differential routing segment item j Attribute information and differential routing segment id j After the attribute information is obtained, you can also use the differential routing segment item j Get the attribute information of the differential routing segment itemj The identification information of the device connected to each differential routing segment in the differential routing group, and then the differential routing segment item can be checked j Check whether the identification information of the device connected to each differential routing segment in the differential routing group is repeated, and determine the differential routing segment item j The differential routing group only includes differential routing segments item j Or is it a differential routing segment item? j and other differential trace segments.
[0120] Figure 3 It is a structural schematic diagram of a differential routing unit in the differential routing length acquisition method provided by the present invention. Figure 3 MCIO (connector) and CPU (central processing unit) represent the signal sending device and signal receiving device respectively, cap represents the target device, and via represents the via. Figure 2 As shown, the differential routing group in the differential routing unit includes two differential routing segments, one differential routing segment connects the MCIO and the target device, and the other differential routing segment connects the target device and the CPU, and the differential routing segments connecting the target device and the CPU are arranged on different layers of the printed circuit board through vias.
[0121] Step 104: Obtain the length of each differential routing group in the differential routing unit respectively
[0122] Specifically, after determining the differential routing unit in the target area, the lengths of the two differential routing groups in the differential routing unit can be obtained respectively based on the inclusion relationship between the differential routing group and the differential routing segment. The lengths of the two differential routing groups in the differential routing unit can also be obtained by calling a function in the PCB design software and performing numerical calculations.
[0123] As an optional embodiment, the length of each differential routing group in the differential routing unit is obtained respectively, including: based on the inclusion relationship between the differential routing group and the differential routing segment, obtaining two devices connected to each differential routing segment in the differential routing group as the devices included in the differential routing group.
[0124] After deduplication of the devices included in the differential routing group, a function is called to obtain the length of the routing between any two devices in the devices included in the differential routing group as the original length of the differential routing group.
[0125] The maximum value among the original lengths of the differential routing group is determined as the length of the differential routing group.
[0126] Specifically, a traversal cycle check is performed on the differential routing sub-units in the target area.
[0127] For the target area j Differential routing subunit net j , differential routing subunit net j Includes differential routing segment item j and differential trace segment id j , call the function in the PCB design software to query the data and obtain the differential routing segment item j Attribute information and differential routing segment id j Attribute information of the .
[0128] Based on differential routing segment item j The attribute information of the differential routing segment item can be obtained j The device connected to each differential routing segment in the differential routing group is regarded as the differential routing segment item. j The devices included in the differential routing group are included in the differential routing segment item j Corresponding associated device list pins j 1.
[0129] Declare an empty list as the differential routing segment item j The length list of the differential routing group xnetlenlist j 1.
[0130] For differential routing segment item j Corresponding associated device list pins j 1 After deduplication, call the function to obtain the differential routing segment item j Corresponding associated device list pins j The routing between any two devices in 1 is recorded as routing item j_ 1. Routing item j_ 2. Routing item j_ 3 etc.
[0131] Call the function (getpinpairlength function) in the PCB design software to calculate the routing item j_ length of 1 j_ 1. Routing item j_ length of 2 j_ 2. Routing item j_ length of 3 j_ 3, including differential routing segment item j The length list of the differential routing group xnetlenlist j 1, xnetlenlist j 1={lengthj_ 1,length j_ 2,length j_ 3,…}
[0132] The differential routing segment item j The length list of the differential routing group xnetlenlist j The length of the trace in 1 is used as the differential trace segment item j The original length of the differential trace group.
[0133] For differential routing segment item j The length list of the differential routing group xnetlenlist j Compare the data in 1, differential routing segment item j The length list of the differential routing group xnetlenlist j The maximum value in 1 is the differential routing segment item j The length of the differential routing group xnetlength j 1.
[0134] Similarly, the differential routing segment id can be obtained j The length of the differential routing group xnetlength j 2.
[0135] It should be noted that after determining the differential routing unit in the target area, the differential routing segments included in the differential routing group can be determined based on the inclusion relationship between the differential routing group and the differential routing segments, and then the function function (getpinpairlength function) can be called in the PCB design software to calculate the length of the differential routing segments included in the differential routing group, and then the sum of the lengths of the differential routing segments included in the differential routing group can be calculated as the length of the differential routing group.
[0136] The embodiment of the present invention can automatically identify the differential routing unit in the target area, more accurately and efficiently obtain the length of each routing in the differential routing unit including a plurality of differential routing subunits, provide a data basis for checking whether the differential routing unit complies with the equal-length design of routing, improve the efficiency and accuracy of the equal-length design inspection of the differential routing unit, and the process of obtaining the length of each routing in the differential routing unit including a plurality of differential routing subunits is simple, has strong universality, and has broad application prospects.
[0137] As an optional embodiment, after identifying the differential routing unit in the target area based on the attribute information of the differential routing segment, the method further includes: determining the signal sending device and the signal receiving device connected to the differential routing group based on the attribute information of the differential routing segment.
[0138] Specifically, after determining the differential routing unit in the target area, the signal sending device and signal receiving device connected to each differential routing group in the differential routing unit can be determined based on the attribute information of each differential routing segment in the differential routing unit by calling function functions and comparing data in the PCB design software.
[0139] As an optional embodiment, determining the signal sending device and the signal receiving device connected to the differential routing group based on the attribute information of the differential routing segment includes: acquiring two devices connected to the differential routing segment based on the attribute information of the differential routing segment.
[0140] It should be noted that when designing a printed circuit board, some rectification plans will be reserved to implement a colay design. The so-called colay means that two or more different devices can be placed in the same position on the printed circuit board during layout to facilitate the verification of different plans.
[0141] Therefore, in the embodiment of the present invention, two devices connected to each differential routing segment can be determined by performing a traversal cycle check on the differential routing sub-units in the target area.
[0142] For the target area j Differential routing subunit net j , differential routing subunit net j Includes differential routing segment item j and differential trace segment id j, call the function (getpinsofnet) in the PCB design software to query the data, and you can get the differential routing segment item j The differential trace segment item of the two connected devices j Attribute information and differential routing segment ID j The differential trace segment id of the two devices connected j Attribute information of the .
[0143] Generate items including differential routing segments j The differential trace segment item of the two connected devices j Corresponding device list pinslist j _1 and includes the differential routing segment id j The differential trace segment id of the two connected devices j Corresponding device list pinslist j _2.
[0144] The differential routing segment item j Corresponding device list pinslist j _1 is recorded in a blank table as a differential routing segment item j Corresponding temporary device list Tempgetpins j _1. Set the differential routing segment id j Corresponding device list pinslist j _2 is recorded in a blank table as the differential trace segment id j Corresponding temporary device list Tempgetpins j _2.
[0145] For differential routing segment item j Corresponding device list pinslist j _1 performs element fetching operation, and the first device fetched is recorded as pinsitem j 11. The device obtained for the second time is recorded as pinsitem j 12.
[0146] If the device pinsitem is determined j 11 Center coordinates and device pinsitem j 12 position coordinates are equal but determine the device pinsitem j 11 and device pinsitem j 12 are not the same, the device pinsitem can be determined j 11 and device pinsitem j12 is a commonly routed device that can be connected from the differential routing segment item j Corresponding temporary device list Tempgetpins j _1 Remove device pinsitem j 11. After the judgment is completed, from the differential routing segment item j Corresponding device list pinslist j _1Remove device pinsitem j 12, and then the differential routing segment item can be determined j Corresponding temporary device list Tempgetpins j The remaining devices in _1 are differential trace segment items j The two devices are connected.
[0147] Similarly, the differential routing segment id can be obtained j Corresponding temporary device list Tempgetpins j _2, and get the differential routing segment id j The two devices are connected.
[0148] It should be noted that, when routing differential traces, the two differential traces may not be laid out at the same time. In order to make the differential traces meet the equal length design, the designer will disconnect one differential trace and reconnect it, which will result in the order of the devices connected to the obtained pair of differential trace segments being inconsistent. Therefore, in the embodiment of the present invention, the differential trace segment item j Corresponding temporary device list Tempgetpins j _1 and differential trace segment id j Corresponding temporary device list Tempgetpins j The arrangement order of the devices in _2 is rearranged in the same direction.
[0149] Specifically, calculate the differential routing segment item j Corresponding temporary device list Tempgetpins j The center coordinates of the first device in _1 and the differential routing segment id j Corresponding temporary device list Tempgetpins j The distance between the position center coordinates of the first device in _2 is recorded as distance j 1. Then count the differential routing segment item j Corresponding temporary device list Tempgetpins j _1 The center coordinates of the first device and the differential line segment id jCorresponding temporary device list Tempgetpins j The distance between the position center coordinates of the second device in _2 is recorded as distance j 2. If the distance j 1>distance j 2, then it can be explained that the differential routing segment item j Corresponding temporary device list Tempgetpins j _1 The arrangement order of the devices and the differential routing segment ID j Corresponding temporary device list Tempgetpins j _2, the arrangement order of the devices is opposite, then the differential routing segment item j Corresponding temporary device list Tempgetpins j _1, swap the order of the devices to obtain the updated differential routing segment item j Corresponding temporary device list Tempgetpins j _1.
[0150] Each differential routing group is traversed, and when it is determined that the position information of the device connected to one end of a differential routing segment in any differential routing group is the same as the position information of the device connected to one end of another differential routing segment in any differential routing group, but the device connected to one end of a differential routing segment in any differential routing group is different from the device connected to one end of another differential routing segment in any differential routing group, it is determined that the device connected to one end of a differential routing segment in any differential routing group and the device connected to one end of another differential routing segment in any differential routing group are the same target device.
[0151] Based on the inclusion relationship between the differential routing group and the differential routing segment, a signal sending device and a signal receiving device connected to the differential routing group are determined.
[0152] Based on the identification information of the signal transmitting device and the signal receiving device connected to the differential routing group, a function is called to obtain the line segments included in the differential routing group.
[0153] Specifically, calling the function (axlFindPath function) in the PCB design software can obtain the differential routing segment item. j Corresponding temporary device list Tempgetpins j The line segment between the two devices in _1 is recorded as line segment path j 1. You can also differentiate the routing segment ID j Corresponding temporary device list Tempgetpins jThe line segment between the two devices in _2 is recorded as line segment path j 2.
[0154] Based on the inclusion relationship between the differential routing group and the differential routing segment, the segment included in the differential routing group can be obtained.
[0155] Based on the line width of the line segments included in the differential routing group, it is determined whether the differential routing group includes a first routing segment, the first routing segment being a routing in a dense wiring area, and the line width of the routing in the dense wiring area is smaller than the line width of the routing not in the dense wiring area.
[0156] It should be noted that in PCB design, due to the limitations of layout and other conditions, especially some densely wired areas (breakout areas) that require dense wiring, the lines arranged in the differential routing unit in the above-mentioned densely wired areas have smaller line widths, higher impedance, and greater losses than the lines arranged in other areas in the differential routing unit.
[0157] In the embodiment of the present invention, the line width of the line segment included in the differential routing group can be obtained by calling a function in the PCB design software, and then based on the line width of the line segment included in the differential routing group, it can be determined whether the differential routing group includes the first routing segment through numerical calculation, mathematical statistics, etc.
[0158] It should be noted that the first routing segment in the differential routing group, such as Figure 2 The part indicated by "4" in FIG.
[0159] As an optional embodiment, based on the line width of the line segments included in the differential routing group, judging whether the differential routing group includes the first routing segment includes: according to the arrangement order of the line segments included in the differential routing group, obtaining the line width of each line segment included in each differential routing group in turn, and then generating a line segment line width sequence corresponding to the differential routing group.
[0160] The line segment line width sequence corresponding to the differential routing group is deduplicated. When the number of line segment line widths in the line segment line width sequence corresponding to the differential routing group after deduplication is 1, it is determined that the differential routing group does not include the first routing segment. When the number of line segment line widths in the line segment line width sequence corresponding to the differential routing group after deduplication is greater than 1, it is determined that the differential routing group includes the first routing segment.
[0161] Specifically, the line segment path j Any line segment in 1 is recorded as line segment path j 1_ p , p Represents a positive integer greater than 0, generating a path including all line segments j 1_ pA list of line segments, denoted as segments j 1_ p , call the function in the PCB design software to get the line path j 1_ p The line width is denoted as width j 1_ p, Generate a path including all line segments j 1_ p Line width list widthlist j 1_ p ={width j 1_1,width j 1_2,…,width j 1_ p ,…}.
[0162] For line width list widthlist j 1_ p After deduplication, if the line width list widthlist after deduplication j 1_ p The number of line widths in the middle line segment is 1, which means that the differential routing segment item j The first routing segment is not included in the list. If the line width list after deduplication is widthlist j 1_ p If the number of line widths in the middle line segment is greater than 1, it means that the differential routing segment item j The first routing segment is included.
[0163] Similarly, the differential routing segment id can be determined j Whether to include the first routing segment.
[0164] After determining whether the differential routing segment includes the first routing segment, it may be determined whether the differential routing group includes the first routing segment based on an inclusion relationship between the differential routing group and the differential routing segment.
[0165] When it is determined that any differential routing group includes the first routing segment, the length of the first routing segment in any differential routing group is obtained.
[0166] Specifically, when it is determined that any differential routing group includes the first routing segment, the length of the first routing segment in the differential routing group may be obtained by numerical calculation, mathematical statistics, or the like.
[0167] As an optional embodiment, when it is determined that any differential routing group includes a first routing segment, the length of the first routing segment in any differential routing group is obtained, including: obtaining the length of the first line segment in the line segment line width sequence corresponding to any differential routing group, and counting the length of the first routing segment.
[0168] Starting from the first line segment in the line segment line width sequence corresponding to any differential routing group, traverse the line segment line width sequence corresponding to any differential routing group. When the line width of the traversed line segment is the same as the line width of the first line segment in the line segment line width sequence corresponding to any differential routing group, obtain the length of the traversed line segment and add it to the length of the first routing segment, until the line width of the traversed line segment is greater than the line width of the first line segment in the line segment line width sequence corresponding to any differential routing group, determine that the first routing segment is terminated, and obtain the length of the first routing segment.
[0169] Specifically, for the differential routing segment item in the differential routing group j , declare the length of the first routing segment in the differential routing group lenitem j The initial value is 0, declare flag1=0, flag2=0, and take segments j 1_ p The number of list elements is denoted by num(segments j 1_ p ), for segments j 1_ p List, order from p =1, to p = num(segmentsi)-1 to loop and get the elements, denoted as nthelem(segments j 1_ p ), call the function (axlDBGetLength function) in the PCB design software to calculate nthelem(segments j 1_ p ) is denoted as len j 1_ p .
[0170] Let the differential routing segment item j The length of the first trace segment in the necklenitem j =necklenitem j +len j 1_ p , if segments j 1_ p List p The line width of the line segment is smaller than p-1 segment width, it means that the line width of the differential line changes from thin to thick, you can set flag2+1 and change segments j 1_ p List p The line segment is determined as the termination line segment of the first routing segment, and the obtained differential routing segment item j The length of the first trace segment in the necklenitem j Determine the differential routing segment item j The length of the first trace segment in the necklenitem j .
[0171] As an optional embodiment, when it is determined that any differential routing group includes a first routing segment, the length of the first routing segment in any differential routing group is obtained, including: starting from the line width of the first line segment in the line segment line width sequence corresponding to any differential routing group, traversing the line segment line width sequence corresponding to any differential routing group, and when the line width of any line segment in the line segment line width sequence corresponding to any differential routing group is less than the line width of the previous line segment of any line segment, any line segment is determined as the starting line segment of the first routing segment, and the length of any line segment is obtained and included in the length of the first routing segment.
[0172] Continue to traverse the line segment widths after the starting line segment in the line segment width sequence corresponding to any differential routing group. When the line segment width traversed is the same as the line width of the starting line segment, obtain the length of the traversed line segment and add it to the length of the first routing segment until the line segment width traversed is greater than the line width of the starting line segment, determine that the first routing segment is terminated, and obtain the length of the first routing segment.
[0173] Specifically, let the differential routing segment item j The length of the first trace segment in the necklenitem j =necklenitem j +len j 1_ p , if segments j 1_ p List p The line width of the first line segment is greater than that of the p -1 segment width, it means that the line width of the differential line changes from thick to thin, and the segments j 1_ p List p The line segment is determined as the starting line segment of the first routing segment, then the differential routing segment item j The length of the first trace segment in the necklenitem j Reassign 0 and recalculate necklenitem j, and set flag1+1 until segments are determined j 1_ p List p The line width of the line segment is smaller than p -1 The line width of the line segment indicates the differential routing segment item j The first routing segment in is terminated, and the obtained differential routing segment item j The length of the first trace segment in the necklenitem j Determine the differential routing segment item j The length of the first trace segment in the necklenitem j .
[0174] It should be noted that when flag1=1, flag2=1, it indicates the differential routing segment item j The first routing segment, the non-first routing segment, and the first routing segment are included in sequence, and the differential routing segment item j The first routing segments are included in the differential routing segment item. j The length of the first route segment in the list necklist j 1=list(necklenitem j_ flag2,neckline j_ flag1);
[0175] When flag1=1, flag2=0, it indicates the differential routing segment item j The non-first routing segment and the first routing segment are included in sequence, so the differential routing segment item j The length of the first routing segment is a list of necklist1=list(necklenitem j_ flag1);
[0176] When flag1=0, flag2=1, it indicates the differential routing segment item j The first routing segment and the non-first routing segment are included in sequence, so the differential routing segment item j The length of the first routing segment is a list of necklist1=list(necklenitem j_ flag2).
[0177] Similarly, the differential routing segment id can be obtained j The length of the first trace segment in necklenid j .
[0178] Similarly, the differential routing segment othernet can be obtained j1 The length of the first trace segment in necklenothernet j 1.
[0179] Similarly, the differential routing segment othernet can be obtained j 2 The length of the first trace segment in necklenothernet j 2.
[0180] It should be noted that the first routing segments neck11, neck12, neck21, and neck22 in a pair of differential routing groups are declared to be 0 respectively. If necklist1 is not empty and has a length of 1, then neck11 = the element in necklist1, and neck12 = 0; if necklist1 is not empty and has a length of 2, then neck11 = the first element of necklist1, and neck12 = the second element of necklist1; similarly, the values of neck21 and neck22 are obtained; if othernecklist1 is not empty and has a length of 1, then neck12 = othernecklist1 If othernecklist1 is not empty and has a length of 2, then neck11=the first element value in othernecklist1, then neck12=the second element value in othernecklist1; if othernecklist2 is not empty and has a length of 1, then neck22=the element value in othernecklist2; if othernecklist2 is not empty and has a length of 2, then neck21=the first element value in othernecklist2, then neck22=the second element value in othernecklist2.
[0181] The embodiment of the present invention can more accurately and efficiently obtain the length of the first routing segment arranged in the dense wiring area in the differential routing unit based on the line width of the line segment in the differential routing group through data processing, and can verify whether the lengths of the two first routing segments arranged in the above-mentioned dense wiring area in the differential routing unit meet the equal length design requirements, and can avoid the excessive length difference between the two first routing segments arranged in the above-mentioned dense wiring area in the differential routing unit, which leads to further increase in signal loss.
[0182] As an optional embodiment, after identifying the differential routing unit in the target area based on the attribute information of the differential routing segment, the method also includes: based on the attribute information of the differential routing segment, respectively obtaining the length of the pin compensation routing of the two devices connected to the differential routing segment, the pin compensation routing is a routing arranged to compensate for the routing length to meet the routing equal length design.
[0183] Based on the inclusion relationship between the differential routing group and the differential routing segment, the length of the pin compensation routing of the device connected to the differential routing unit is determined.
[0184] Specifically, declare the differential routing segment item j The length of the pin compensation trace corresponding to the first device connected is pindelay j 11=0, differential routing segment iitem j The length of the pin compensation trace corresponding to the second device connected is pindelay j 12=0. Declare differential routing segment id j The length of the pin compensation trace corresponding to the first device connected is pindelay j 21=0, differential trace segment id j The length of the pin compensation trace corresponding to the second device connected is pindelay j 22=0.
[0185] Calling the function in the PCB design software can obtain the differential routing segment item j Corresponding temporary device list Tempgetpins j _1 The length of the pin compensation trace of the first device in pin_delay_item j 1 and the length of the pin compensation trace of the second device pin_delay j 2. If pin_delay_item j 1 has a value, then pin_delay_item j The value is assigned to pindelay j 11, pin_delay_item j 2 has a value, then pin_delay_item j The value of 2 is assigned to pindelay j 12.
[0186] Similarly, the length of the pin compensation trace, pindelay, can be obtained j 21 and pin compensation trace length pindelay j twenty two.
[0187] Similarly, the differential routing segment othernet can be obtained j 1 The length of the pin compensation trace of the connected device othernpindelay j 11 and pin compensation trace length othernpindelay j 12.
[0188] Similarly, the differential routing segment othernet can be obtained j 2 The length of the connected device pin compensation trace othernpindelay j 21 and pin compensation trace length othernpindelay j twenty two.
[0189] It should be noted that if othernpindelay1>0, then pindelayothernet22=othernpindelay1, if othernpindelayj1=0, then pindelayothernet22=othernpindelay1; if othernpindelay1>othernpindelay2, then pindelayj22=othernpindelay1, if othernpindelay1=othernpindelay2, then pindelay22= othernpindelay2.
[0190] The embodiment of the present invention obtains the lengths of the pin compensation routings of the two devices connected to the differential routing segment based on the attribute information of the differential routing segment. The pin compensation routing is a routing arranged to compensate for the routing length to meet the routing equal length design. Based on the inclusion relationship between the differential routing group and the differential routing segment, the length of the pin compensation routing connected to the differential routing unit is determined. The length of the pin compensation routing of the device connected to the differential routing unit can be obtained more accurately and efficiently, providing a data basis for verifying whether the length of the pin compensation routing of the device connected to the differential routing unit meets the design requirements, and can improve the efficiency and accuracy of verifying whether the length of the pin compensation routing of the device connected to the differential routing unit meets the design requirements.
[0191] As an optional embodiment, based on the attribute information of each differential routing segment in the differential routing sub-unit, after identifying the differential routing unit in the target area, the method also includes: traversing each layer of the printed circuit board, obtaining the routing segments of the differential routing group at different layers for connecting two components, as the second routing segment in the differential routing segment, the two components include any two of the signal sending device, the signal receiving device, the target device and the via, and the two components also include two different vias.
[0192] Obtain identification information of two components connected to each second routing segment.
[0193] Based on the identification information of the two components connected to the second routing segment, a function is called to obtain the length of the second routing segment.
[0194] Based on the identification information of the two components connected by the second routing segment, two second routing segments connected by the target device in the same layer are merged into one second routing segment, and the sum of the lengths of the two second routing segments connected by the target device in the same layer is determined as the length of the merged second routing segment.
[0195] Specifically, the Etch routing layer is filtered in the PCB design software, the clines filter is turned on, and the function is called to obtain the routing segments of the differential routing group at different levels for connecting two components.
[0196] Figure 2 As shown, Figure 2 The traces indicated by "1", "2" and "3" are the second trace segments in the differential trace group.
[0197] It should be noted that, when a target device is connected in series between the via and the signal transmitting device or between the via and the signal receiving device, the routing between the via and the signal transmitting device or between the via and the signal receiving device is usually determined as the second routing segment.
[0198] Declare a blank differential routing segment item j The hierarchical routing list clineslengthlist of the second routing segment in j 1. Record the differential routing segment item j The second line segment in is clines_item jq , q Represents a positive integer greater than 0.
[0199] Get the second line segment clines_item jq The connected components generate the second routing segment clines_item jq A temporary list of connected components is made viapinconelist jq 1.
[0200] Filter viapinconelist jq 1 List the components of the target device type and set viapinconelist jq 1 The components in the list whose type is the target device are recorded as pinRefdesList jq 1.
[0201] The second line segment clines_item jq The level is recorded as clines_item jq layer.
[0202] Call the function in the PCB design software to get the second routing segment clines_item jq The length of clines_item jq length.
[0203] Declare a temporary list templist jq =list(clines_item jq layer,pinRefdesList jq 1,clines_item jq layer), and then the temporary list templist jq Store the hierarchical routing list clineslengthlist of the second routing segment in the blank differential routing group j 1.
[0204] Similarly, the differential routing segment ID can be obtained j The hierarchical routing list clineslengthlist of the second routing segment in j 2.
[0205] Similarly, the differential routing segment othernet can be obtained j The hierarchical routing list of the second routing segment in 1 is othernetclineslengthlist j 1.
[0206] Similarly, the differential routing segment othernet can be obtained j The hierarchical routing list of the second routing segment in 2 is othernetclineslengthlist j 2.
[0207] Based on the inclusion relationship between the differential routing group and the differential routing segment, the length of the fourth ancestor in the differential routing group can be obtained.
[0208] It should be noted that, when a differential routing unit includes a differential routing sub-unit, {othernet1, othernet2} is empty, then newlist1 = lengthlist1, newlist2 = lengthlist2
[0209] When the differential routing unit includes multiple differential routing sub-units, and {othernet1, othernet2} is not empty, then compare the lengths of otherlengthlist1 and lengthlist1. If the length of lengthlist1 is less than otherlengthlist1, swap otherlengthlist1 and lengthlist1 to ensure that the length of lengthlist1 is always greater than or equal to otherlengthlist1.
[0210] Filter the traces whose lengthlist1 and otherlengthlist1 levels are consistent and whose connected devices are not empty, and put them into temp1, and the others into temp2
[0211] Filter the device bit information in temp1 with R or C (generally the target device is only a capacitor or a resistor), take the location center coordinates of the device, if the location center coordinates of the two devices are equal, it means that the device is the target device, then the length information of the layer needs to be summed.
[0212] The embodiment of the present invention traverses each layer of the printed circuit board, obtains the routing segments of the differential routing group used to connect two components in different layers as the second routing segments in the differential routing segments, obtains the identification information of the two components connected to each second routing segment, calls a function based on the identification information of the two components connected to the second routing segment, and merges two second routing segments connected by a target device in the same layer into one second routing segment based on the identification information of the two components connected to the second routing segment, and determines the sum of the lengths of the two second routing segments connected by the target device in the same layer as the length of the merged second routing segment, so as to more accurately and efficiently obtain the lengths of the routings arranged in different layers in the differential routing unit, provide a data basis for verifying whether the lengths of the two routings arranged in each layer in the differential routing unit meet the equal length design requirements of the routings, and improve the efficiency and accuracy of verifying whether the lengths of the two routings arranged in each layer in the differential routing unit meet the equal length design requirements of the routings.
[0213] As an optional embodiment, when it is determined that any differential routing group includes a first routing segment, after obtaining the length of the first routing segment in any differential routing group, the method further includes: based on the length of the first routing segment in each differential routing group in the differential routing unit, obtaining the length difference between each pair of first routing segments in the differential routing unit.
[0214] When it is determined that the length difference between any pair of first routing segments in the differential routing unit is greater than a predefined first length threshold, first warning information is issued to prompt that any pair of first routing segments in the differential routing unit does not meet the routing equal length design requirement.
[0215] As an optional embodiment, after determining the length of the pin compensation routing of the device connected to the differential routing unit based on the inclusion relationship between the differential routing group and the differential routing segment, the method also includes: determining whether the length of the pin compensation routing of each device connected to the differential routing unit is greater than a predefined third length threshold.
[0216] When it is determined that the length of the pin compensation routing of any device connected to the differential routing unit is greater than the third length threshold, a second alarm message is issued to prompt that the pin compensation routing of any device connected to the differential routing unit does not meet the routing equal length design requirement.
[0217] As an optional embodiment, based on the identification information of the two components connected by the second routing segment, two second routing segments connected by the target device in the same layer are merged into one second routing segment, and the sum of the lengths of the two second routing segments connected by the target device in the same layer is determined as the length of the merged second routing segment. The method also includes: obtaining the length difference between a pair of second routing segments at the same layer in the differential routing unit.
[0218] When it is determined that the length difference between a pair of second routing segments at any level in the differential routing unit is greater than a predefined third length threshold, a third alarm message is issued to prompt that a pair of second routing segments at any level in the differential routing unit does not meet the equal length design requirement of the routing.
[0219] As an optional embodiment, after respectively obtaining the length of each differential routing group in the differential routing unit, the method further includes: obtaining a length difference between a pair of differential routing groups in the differential routing unit based on the length of each differential routing group in the differential routing unit.
[0220] When the length difference is greater than a predefined fourth length threshold, a fourth warning message is issued to prompt that the differential routing unit does not meet the routing equal length design requirement.
[0221] All information of the differential signal unit is sorted into a table and compared with the length threshold set by the front end. If it exceeds the threshold, it is displayed in red.
[0222] A second trace in the differential signal unit Table[1]={netid1,xnetname1,xnetlen1,pindelay11,pindelay12, neck11,neck12,newlist1}
[0223] Another second trace in the differential signal unit Table[2]={netid2,xnetname2,xnetlen2,pindelay21,pindelay22,neck21,neck22, newlist2}
[0224] Calculate the difference of |xnetlen1- xnetlen2|-xnetvalue. If it is greater than 0, the record is displayed in red. Compare the values of |neck11-neck12| and |neck12- neck22| with neckvalue respectively. If they exceed neckvalue, they are displayed in red. Similarly, compare the difference of the signal length of each layer of newlist1 and newlist2 with perlayerValue. If they exceed perlayerValue, they are displayed in red.
[0225] It should be noted that the first length threshold neckvalue in the embodiment of the present invention may be determined based on prior knowledge and / or actual conditions. The specific value of the first length threshold neckvalue in the embodiment of the present invention is not limited.
[0226] It should be noted that the second length threshold in the embodiment of the present invention may be determined based on prior knowledge and / or actual conditions. The specific value of the second length threshold in the embodiment of the present invention is not limited.
[0227] It should be noted that the third length threshold value perlayerValue in the embodiment of the present invention may be determined based on prior knowledge and / or actual conditions. The specific value of the third length threshold value perlayerValue in the embodiment of the present invention is not limited.
[0228] It should be noted that the fourth length threshold xnetvalue in the embodiment of the present invention may be determined based on prior knowledge and / or actual conditions. The specific value of the fourth length threshold xnetvalue in the embodiment of the present invention is not limited.
[0229] The differential trace length acquisition method provided by the present invention can quickly set parameter values such as a first length threshold, a second length threshold, a third length threshold and a fourth length threshold through the front-end interface of the tool. The user determines the target area by box selection, and the tool automatically calculates and matches the set parameter values for inspection, and displays the inspection results in a list. Inspection items that do not meet the requirements are displayed in red, and the high-speed line can be highlighted for location display by clicking on it, which can save manpower, improve work efficiency and the design quality of PCB boards.
[0230] Figure 4Schematic diagram of the structure of the differential line length acquisition device provided by the present invention. Figure 4 The differential line length acquisition device provided by the present invention is described. The differential line length acquisition device described below and the differential line length acquisition method provided by the present invention described above can be referred to each other. Figure 4 As shown, the device includes: a data acquisition module 401, a first recognition module 402, a second recognition module 403 and a length acquisition module 404.
[0231] The data acquisition module 401 is used to obtain the identification information of the routing in the target area of the printed circuit board when the differential routing length acquisition task for the target area in the printed circuit board is triggered. The two ends of the routing are connected to any two of the signal sending device, the signal receiving device and the target device.
[0232] The first identification module 402 is used to identify the differential routing subunit in the target area based on the routing identification information, and the differential routing subunit includes a pair of differential routing segments for connecting any two of the signal sending device, the signal receiving device and the target device.
[0233] The second identification module 403 is used to identify the differential routing unit in the target area based on the attribute information of the differential routing segment, and respectively obtain the length of each differential routing group in the differential routing unit, where the differential routing group includes multiple differential routing segments connected through the target device.
[0234] The length acquisition module 404 is used to respectively acquire the length of each differential routing group in the differential routing unit.
[0235] Specifically, the data acquisition module 401 , the first recognition module 402 , the second recognition module 403 and the length acquisition module 404 are electrically connected.
[0236] The differential routing length acquisition device in the embodiment of the present invention can automatically identify the differential routing unit in the target area by triggering the differential routing length acquisition task for the target area in the printed circuit board based on the identification information of the routing in the target area, and then identify the differential routing unit in the target area based on the attribute information of each differential routing segment in the differential routing subunit, and respectively obtain the length of each differential routing group in the differential routing unit. In this way, the differential routing unit in the target area can be automatically identified, and the length of the differential routing between the signal sending end and the signal receiving end can be more accurately and efficiently obtained when an active end series resistor or a source end series capacitor is connected in series between the signal sending end and the signal receiving end. The data basis can be provided for checking whether the differential routing unit meets the equal length design of the routing, and the efficiency and accuracy of the equal length design inspection of the differential routing unit can be improved. The process of obtaining the length of each routing in the differential routing unit including multiple differential routing subunits is simple, has strong universality, and has broad application prospects.
[0237] Figure 5 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 5 As shown, the electronic device may include: a processor (processor) 510, a communication interface (Communications Interface) 520, a memory (memory) 530 and a communication bus 540, wherein the processor 510, the communication interface 520, and the memory 530 communicate with each other through the communication bus 540. The processor 510 can call the logic instructions in the memory 530 to execute the differential routing length acquisition method, which includes: when triggering a differential routing length acquisition task for a target area in a printed circuit board, obtaining identification information of the routing in the target area, wherein both ends of the routing are connected to any two of a signal sending device, a signal receiving device, and a target device; based on the identification information of the routing, identifying a differential routing subunit in the target area, wherein the differential routing subunit includes two differential routing segments for connecting any two of a signal sending device, a signal receiving device, and a target device; based on the attribute information of the differential routing segments, identifying a differential routing unit in the target area, wherein the differential routing unit includes two differential routing groups, wherein the differential routing group includes multiple differential routing segments connected through the target device, and wherein both ends of the differential routing group are connected to the signal sending device and the signal receiving device; and respectively obtaining the length of each differential routing group in the differential routing unit.
[0238] In addition, the logic instructions in the above-mentioned memory 530 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.
[0239] On the other hand, the present invention also provides a computer program product, which includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the differential routing length acquisition method provided by the above methods, the method including: in the case of triggering a differential routing length acquisition task for a target area in a printed circuit board, obtaining identification information of the routing in the target area, wherein both ends of the routing are connected to any two of a signal sending device, a signal receiving device, and a target device; based on the identification information of the routing, identifying a differential routing subunit in the target area, wherein the differential routing subunit includes two differential routing segments for connecting any two of a signal sending device, a signal receiving device, and a target device; based on the attribute information of the differential routing segments, identifying a differential routing unit in the target area, wherein the differential routing unit includes two differential routing groups, wherein the differential routing group includes multiple differential routing segments connected through the target device, and wherein both ends of the differential routing group are connected to the signal sending device and the signal receiving device; and respectively obtaining the length of each differential routing group in the differential routing unit.
[0240] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which is implemented when the processor executes the differential routing length acquisition method provided by the above methods, the method comprising: in the case of triggering a differential routing length acquisition task for a target area in a printed circuit board, obtaining identification information of the routing in the target area, wherein both ends of the routing are connected to any two of a signal sending device, a signal receiving device, and a target device; based on the identification information of the routing, identifying a differential routing subunit in the target area, wherein the differential routing subunit includes two differential routing segments for connecting any two of a signal sending device, a signal receiving device, and a target device; based on the attribute information of the differential routing segments, identifying a differential routing unit in the target area, wherein the differential routing unit includes two differential routing groups, wherein the differential routing group includes multiple differential routing segments connected through the target device, and wherein both ends of the differential routing group are connected to the signal sending device and the signal receiving device; and respectively obtaining the length of each differential routing group in the differential routing unit.
[0241] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.
[0242] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0243] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for obtaining the length of a differential line, characterized in that: include: In the case of triggering a differential routing length acquisition task for a target area in a printed circuit board, obtaining identification information of routings in the target area, wherein two ends of the routings are connected to any two of a signal transmitting device, a signal receiving device, and a target device; Based on the identification information of the routing, a differential routing subunit in the target area is identified, wherein the differential routing subunit includes two differential routing segments for connecting any two of a signal transmitting device, a signal receiving device, and a target device; Based on the attribute information of the differential routing segment, a differential routing unit in the target area is identified, wherein the differential routing unit includes two differential routing groups, wherein the differential routing group includes a plurality of differential routing segments connected through the target device, and two ends of the differential routing group are connected to a signal sending device and a signal receiving device; Respectively obtain the length of each differential routing group in the differential routing unit; After identifying the differential routing unit in the target area based on the attribute information of the differential routing segment, the method further includes: Traversing each layer of the printed circuit board, obtaining a routing segment of the differential routing group in different layers for connecting two components as a second routing segment in the differential routing segment, wherein the two components include any two of the signal transmitting device, the signal receiving device, the target device and the via, and the two components also include two different vias; Obtaining identification information of the two components connected to each second routing segment; Based on the identification information of the two components connected by the second routing segment, calling a function to obtain the length of the second routing segment; Based on the identification information of the two components connected by the second routing segment, two second routing segments connected by the target device in the same layer are merged into one second routing segment, and the sum of the lengths of the two second routing segments connected by the target device in the same layer is determined as the length of the merged second routing segment; The respectively obtaining the length of each differential routing group in the differential routing unit includes: Based on the inclusion relationship between the differential routing group and the differential routing segment, two devices connected to each differential routing segment in the differential routing group are obtained as devices included in the differential routing group; After deduplication of the devices included in the differential routing group, calling a function to obtain the length of the routing between any two devices included in the differential routing group as the original length of the differential routing group; The maximum value among the original lengths of the differential routing group is determined as the length of the differential routing group.
2. The method for obtaining the differential line length according to claim 1, characterized in that: After identifying the differential routing unit in the target area based on the attribute information of the differential routing segment, the method further includes: Based on the attribute information of the differential routing segment, determining a signal sending device and a signal receiving device connected to the differential routing group; Based on identification information of a signal transmitting device and a signal receiving device connected to the differential routing group, acquiring line segments included in the differential routing group; Based on the line width of the line segment included in the differential routing group, determining whether the differential routing group includes a first routing segment, where the first routing segment is a routing segment in the differential routing group that is in a predefined dense wiring area; When it is determined that any differential routing group includes the first routing segment, the length of the first routing segment in the any differential routing group is obtained.
3. The method for obtaining the differential wiring length according to claim 2, characterized in that: After identifying the differential routing unit in the target area based on the attribute information of the differential routing segment, the method further includes: Based on the attribute information of the differential routing segment, respectively obtain the lengths of the pin compensation routings of the two devices connected to the differential routing segment, wherein the pin compensation routings are routings arranged to meet the routing equal length design and used to compensate for the routing lengths. Based on the inclusion relationship between the differential routing group and the differential routing segment, the length of the pin compensation routing of the device connected to the differential routing unit is determined.
4. The method for obtaining the differential wiring length according to claim 2, characterized in that: The determining, based on the attribute information of the differential routing segment, a signal sending device and a signal receiving device connected to the differential routing group comprises: Traversing each differential routing group, when it is determined that the position information of the device connected to one end of a differential routing segment in any differential routing group is the same as the position information of the device connected to one end of another differential routing segment in the any differential routing group, but the device connected to one end of a differential routing segment in any differential routing group is different from the device connected to one end of another differential routing segment in the any differential routing group, determine that the device connected to one end of a differential routing segment in any differential routing group and the device connected to one end of another differential routing segment in the any differential routing group are the same target device; Based on the inclusion relationship between the differential routing group and the differential routing segment, a signal sending device and a signal receiving device connected to the differential routing group are determined.
5. The method for obtaining the differential wiring length according to claim 2, characterized in that: The step of judging whether the differential routing group includes the first routing segment based on the line width of the line segment included in the differential routing group includes: According to the arrangement order of the line segments included in the differential routing group, the line width of each line segment included in each differential routing group is obtained in sequence, and then a line segment line width sequence corresponding to the differential routing group is generated; Deduplication is performed on the line segment line width sequence corresponding to the differential routing group. When the number of line segment line widths in the line segment line width sequence corresponding to the differential routing group after deduplication is 1, it is determined that the differential routing group does not include the first routing segment. When the number of line segment line widths in the line segment line width sequence corresponding to the differential routing group after deduplication is greater than 1, it is determined that the differential routing group includes the first routing segment.
6. The method for obtaining the differential wiring length according to claim 5, characterized in that: When it is determined that any differential routing group includes the first routing segment, obtaining the length of the first routing segment in any differential routing group includes: Obtain the length of the first line segment in the line segment line width sequence corresponding to any differential routing group, and include it in the length of the first routing segment; Starting from the first line segment in the line segment line width sequence corresponding to any differential routing group, traverse the line segment line width sequence corresponding to any differential routing group, when the line width of the traversed line segment is the same as the line width of the first line segment in the line segment line width sequence corresponding to any differential routing group, obtain the length of the traversed line segment and include it in the length of the first routing segment, until the line width of the traversed line segment is greater than the line segment line width of the first line segment in the line segment line width sequence corresponding to any differential routing group, determine that the first routing segment is terminated, and obtain the length of the first routing segment.
7. The method for obtaining the differential wiring length according to claim 5, characterized in that: When it is determined that any differential routing group includes the first routing segment, obtaining the length of the first routing segment in any differential routing group includes: Starting from the line width of the first line segment in the line width sequence of the line segments corresponding to any differential routing group, traverse the line width sequence of the line segments corresponding to any differential routing group, and when the line width of any line segment in the line width sequence of the line segments corresponding to any differential routing group is smaller than the line width of the previous line segment of any line segment, determine any line segment as the starting line segment of the first routing segment, and obtain the length of any line segment and include it in the length of the first routing segment; Continue to traverse the line segment line width after the starting line segment in the line segment line width sequence corresponding to any differential routing group. When the line width of the traversed line segment is the same as the line width of the starting line segment, obtain the length of the traversed line segment and include it in the length of the first routing segment, until the line width of the traversed line segment is greater than the line width of the starting line segment, determine that the first routing segment is terminated, and obtain the length of the first routing segment.
8. The method for obtaining the differential wiring length according to claim 2, characterized in that: In the case where it is determined that any differential routing group includes the first routing segment, after obtaining the length of the first routing segment in any differential routing group, the method further includes: Based on the length of the first routing segment in each differential routing group in the differential routing unit, obtaining a length difference between each pair of first routing segments in the differential routing unit; When it is determined that the length difference between any pair of first routing segments in the differential routing unit is greater than a predefined first length threshold, a first alarm message is issued to prompt that any pair of first routing segments in the differential routing unit does not meet the equal routing length design requirement.
9. The method for obtaining the differential wiring length according to claim 3, characterized in that: After determining the length of the pin compensation routing of the device connected to the differential routing unit based on the inclusion relationship between the differential routing group and the differential routing segment, the method further includes: Determining whether the length of the pin compensation routing of each device connected to the differential routing unit is greater than a predefined third length threshold; When it is determined that the length of the pin compensation routing of any device connected to the differential routing unit is greater than the third length threshold, a second alarm message is issued to prompt that the pin compensation routing of any device connected to the differential routing unit does not meet the routing equal length design requirement.
10. The method for obtaining the differential wiring length according to claim 1, characterized in that: After merging two second routing segments connected by the target device in the same layer into one second routing segment based on the identification information of the two components connected by the second routing segment, and determining the sum of the lengths of the two second routing segments connected by the target device in the same layer as the length of the merged second routing segment, the method further includes: Obtaining a length difference between a pair of second routing segments on the same layer in the differential routing unit; When it is determined that the length difference between a pair of second routing segments at any level in the differential routing unit is greater than a predefined third length threshold, a third alarm message is issued to prompt that the pair of second routing segments at any level in the differential routing unit does not meet the equal routing length design requirement.
11. The method for obtaining the differential wiring length according to any one of claims 1 to 10, characterized in that: After respectively acquiring the length of each of the differential routing groups in the differential routing unit, the method further comprises: acquiring a length difference between a pair of the differential routing groups in the differential routing unit based on the length of each of the differential routing groups in the differential routing unit; When the length difference is greater than a predefined fourth length threshold, a fourth warning message is issued to prompt that the differential routing unit does not meet the routing equal length design requirement.
12. A differential line length acquisition device, characterized in that: include: A data acquisition module, used for acquiring identification information of a line in a target area of a printed circuit board when a differential line length acquisition task for the target area of the printed circuit board is triggered, wherein two ends of the line are connected to any two of a signal sending device, a signal receiving device and a target device; A first identification module, used for identifying a differential routing subunit in the target area based on the identification information of the routing, wherein the differential routing subunit includes two differential routing segments for connecting any two of a signal transmitting device, a signal receiving device and a target device; A second identification module, configured to identify a differential routing unit in the target area based on the attribute information of the differential routing segment, wherein the differential routing unit includes two differential routing groups, wherein the differential routing group includes a plurality of differential routing segments connected through the target device, and two ends of the differential routing group are connected to a signal sending device and a signal receiving device; A length acquisition module, used to respectively acquire the length of each differential routing group in the differential routing unit; After the first identification module identifies the differential routing unit in the target area based on the attribute information of the differential routing segment, it is further configured to: Traversing each layer of the printed circuit board, obtaining a routing segment of the differential routing group in different layers for connecting two components as a second routing segment in the differential routing segment, wherein the two components include any two of the signal transmitting device, the signal receiving device, the target device and the via, and the two components also include two different vias; Obtaining identification information of the two components connected to each second routing segment; Based on the identification information of the two components connected by the second routing segment, calling a function to obtain the length of the second routing segment; Based on the identification information of the two components connected by the second routing segment, two second routing segments connected by the target device in the same layer are merged into one second routing segment, and the sum of the lengths of the two second routing segments connected by the target device in the same layer is determined as the length of the merged second routing segment; The length acquisition module respectively acquires the length of each differential routing group in the differential routing unit, including: Based on the inclusion relationship between the differential routing group and the differential routing segment, two devices connected to each differential routing segment in the differential routing group are obtained as devices included in the differential routing group; After deduplication of the devices included in the differential routing group, calling a function to obtain the length of the routing between any two devices included in the differential routing group as the original length of the differential routing group; The maximum value among the original lengths of the differential routing group is determined as the length of the differential routing group.
13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method for obtaining the differential wiring length as claimed in any one of claims 1 to 11 is implemented.
14. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for obtaining the differential trace length as claimed in any one of claims 1 to 11 is implemented.
Citation Information
Patent Citations
Wiring detection method and device of printed circuit board and computer readable storage medium
CN111859847A
Differential signal line parameter modification method and device, integrated circuit, equipment and medium
CN117688897A