CN119067059B - Differential wiring length acquisition method and device, electronic equipment and storage medium - Google Patents
Differential wiring length acquisition method and device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN119067059B CN119067059B CN202411534200.5A CN202411534200A CN119067059B CN 119067059 B CN119067059 B CN 119067059B CN 202411534200 A CN202411534200 A CN 202411534200A CN 119067059 B CN119067059 B CN 119067059B
- Authority
- CN
- China
- Prior art keywords
- differential
- routing
- segment
- length
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
The invention provides a differential wiring length acquisition method, a device, electronic equipment and a storage medium, and relates to the technical field of electric digital data processing, wherein the method comprises the steps of acquiring the identification information of a wiring in a target area, wherein two ends of the wiring are connected with any two of a signal sending device, a signal receiving device and a target device; and identifying the differential wiring units in the target area based on the attribute information of the differential wiring sections, and respectively acquiring the length of each differential wiring in the differential wiring units. According to the differential wiring length acquisition method, the differential wiring length acquisition device, the electronic equipment and the storage medium, the differential wiring length between the signal sending end and the signal receiving end can be acquired more accurately and more efficiently under the condition that the resistor or the capacitor is connected in series between the signal sending end and the signal receiving end, and a data basis can be provided for checking whether the differential wiring unit accords with the design of wiring equal length or not.
Description
Technical Field
The present invention relates to the field of electronic digital data processing technologies, and in particular, to a method and apparatus for obtaining a differential trace length, an electronic device, and a storage medium.
Background
The differential wiring is composed of a pair of wirings with equal amplitude and opposite directions, and the two wirings in the differential wiring are tightly coupled and can offset external noise signals mutually, so that the quality of signal transmission is improved. In printed circuit board (Printed Circuit Board, PCB) designs, it is often necessary to design two of the differential traces in equal length in order to ensure signal transmission synchronicity and integrity.
In a common PCB design, a source-side series resistor or a source-side series capacitor is connected between a signal transmitting end and a signal receiving end in series to change the transmission characteristics of signals. Under the condition that a source end series resistor or a source end series capacitor is connected between a signal sending end and a signal receiving end in series, the differential wiring length between the signal sending end and the signal receiving end is difficult to accurately and efficiently obtain in the related technology, and therefore whether the differential wiring between the signal sending end and the signal receiving end meets the design requirement of equal length is difficult to accurately and efficiently verify. Therefore, how to obtain the length of the differential wire between the signal transmitting end and the signal receiving end more accurately and more efficiently under the condition that an active end series resistor or an active end series capacitor is connected between the signal transmitting end and the signal receiving end in series is a technical problem to be solved in the art.
Disclosure of Invention
The invention provides a differential wiring length acquisition method, a device, electronic equipment and a storage medium, which are used for solving the defect that the length of a differential wiring between a signal sending end and a signal receiving end is difficult to realize under the condition that an active end series resistor or an active end series capacitor is connected in series between the signal sending end and the signal receiving end in the prior art, and realizing that the length of the differential wiring between the signal sending end and the signal receiving end is acquired more accurately and more efficiently under the condition that the active end series resistor or the active end series capacitor is connected in series between the signal sending end and the signal receiving end.
The invention provides a differential wiring length acquisition method, which comprises the following steps.
Under the condition of triggering a differential wiring length acquisition task aiming at a target area in a printed circuit board, acquiring identification information of a wiring in the target area, wherein two ends of the wiring are connected with any two of a signal sending device, a signal receiving device and a target device;
identifying a differential wiring subunit in the target area based on the identification information of the wiring, wherein the differential wiring subunit comprises two differential wiring sections for connecting any two of a signal sending device, a signal receiving device and a target device;
Identifying a differential wiring unit in the target area based on attribute information of the differential wiring section, wherein the differential wiring unit comprises two differential wiring groups, each differential wiring group comprises a plurality of differential wiring sections connected through the target device, and two ends of each differential wiring group are connected with a signal transmitting device and a signal receiving device;
and respectively acquiring the length of each differential wiring group in the differential wiring unit.
According to the method for obtaining the differential wire length provided by the invention, after the differential wire units in the target area are identified based on the attribute information of the differential wire segments, the method further comprises:
Determining a signal transmitting device and a signal receiving device connected with the differential wire set based on the attribute information of the differential wire set;
acquiring line segments included in the differential wiring group based on identification information of a signal transmitting device and a signal receiving device connected with the differential wiring group;
Judging whether a first wire segment is included in the differential wire set or not based on the line width of the wire segment included in the differential wire set, wherein the first wire segment is a wire segment in a predefined dense wiring area in the differential wire set;
And under the condition that the first wire segment is included in any differential wire set, acquiring the length of the first wire segment in any differential wire set.
According to the method for obtaining the differential wire length provided by the invention, after the differential wire units in the target area are identified based on the attribute information of the differential wire segments, the method further comprises:
Based on the attribute information of the differential wire sections, the lengths of the pin compensation wires of the two devices connected with the differential wire sections are respectively obtained, the pin compensation wires are wires which are used for compensating the lengths of the wires and are arranged for meeting the design of the wire length,
And determining the length of a pin compensation wire of a device connected with the differential wire unit based on the inclusion relation between the differential wire group and the differential wire section.
According to the method for obtaining the differential wire length provided by the invention, after the differential wire units in the target area are identified based on the attribute information of the differential wire segments, the method further comprises:
Traversing each layer of the printed circuit board, and acquiring wire segments of the differential wire set, which are used for connecting two components in different layers, as second wire segments in the differential wire segments, wherein the two components comprise any two of the signal sending device, the signal receiving device, the target device and a via hole, and the two components further comprise two different via holes;
acquiring identification information of the two components connected with each second line segment;
calling a function based on the identification information of the two components connected with the second line segment to acquire the length of the second line segment;
And merging two second line segments connected through the target device in the same layer into one second line segment based on the identification information of the two components connected with the second line segment, and determining the sum of the lengths of the two second line segments connected through the target device in the same layer as the length of the merged second line segment.
According to the method for obtaining the length of the differential wire, the method for obtaining the length of each differential wire set in the differential wire unit respectively comprises the following steps:
Based on the inclusion relation between the differential wire groups and the differential wire groups, acquiring two devices connected with each differential wire group in the differential wire groups as devices included in the differential wire groups;
After the devices included in the differential wiring group are de-duplicated, a functional function is called, and the length of a wiring between any two devices in the devices included in the differential wiring group is obtained and is used as the original length of the differential wiring group;
And determining the maximum value in the original length of the differential wire set as the length of the differential wire set.
According to the method for obtaining the differential wire length provided by the invention, the signal transmitting device and the signal receiving device connected with the differential wire group are determined based on the attribute information of the differential wire group, and the method comprises the following steps:
Traversing each differential wire group, and determining that the device connected with one end of one differential wire section in any differential wire group is the same as the device connected with one end of the other differential wire section in any differential wire group under the condition that the device connected with one end of one differential wire section in any differential wire group is different from the device connected with one end of the other differential wire section in any differential wire group, wherein the device connected with one end of one differential wire section in any differential wire group and the device connected with one end of the other differential wire section in any differential wire group are the same target device;
and determining a signal transmitting device and a signal receiving device connected with the differential wire set based on the inclusion relation between the differential wire set and the differential wire set.
According to the method for obtaining the length of the differential wire, the judging whether the differential wire set includes the first wire set or not based on the line width of the wire set includes the differential wire set includes:
Sequentially acquiring the line width of each line segment included in each differential wiring group according to the arrangement sequence of the line segments included in the differential wiring groups, and further generating a line width sequence of the line segments corresponding to the differential wiring groups;
And de-duplicating the line width sequence of the line segment corresponding to the differential line bank, determining that the first line segment is not included in the differential line bank under the condition that the number of line widths in the line width sequence of the line segment corresponding to the differential line bank after de-duplication is 1, and determining that the first line segment is included in the differential line bank under the condition that the number of line widths in the line width sequence of the line segment corresponding to the differential line bank after de-duplication is greater than 1.
According to the method for acquiring the length of the differential wire, when determining that any differential wire set includes the first wire set, the method for acquiring the length of the first wire set in any differential wire set includes:
Acquiring the length of a first line segment in a line width sequence of the line segment corresponding to any differential line group, and counting the length of the first line segment;
And traversing the line width sequence of the line segment corresponding to any differential line group from the first line segment in the line width sequence of the line segment corresponding to any differential line group, and under the condition that the line width of the traversed line segment is the same as the line width of the first line segment in the line width sequence of the line segment corresponding to any differential line group, acquiring the length of the traversed line segment to count into the length of the first line segment until the line width of the traversed line segment is larger than the line width of the first line segment in the line width sequence of the line segment corresponding to any differential line group, determining that the first line segment is terminated, and acquiring the length of the first line segment.
According to the method for acquiring the length of the differential wire, when determining that any differential wire set includes the first wire set, the method for acquiring the length of the first wire set in any differential wire set includes:
traversing a line width sequence of a line segment corresponding to any differential wire set from the line width of a first line segment in the line width sequence of the line segment corresponding to any differential wire set, and determining any line segment as the starting line segment of the first wire set under the condition that the line width of any line segment in the line width sequence of the line segment corresponding to any differential wire set is smaller than the line width of the last line segment of any line segment, so as to obtain the length of any line segment and count the length of the first wire set;
And continuously traversing the line width of the line segment after the initial line segment in the line width sequence of the line segment corresponding to any differential line group, under the condition that the line width of the traversed line segment is the same as the line width of the initial line segment, acquiring the length of the traversed line segment to count the length of the first line segment until the line width of the traversed line segment is larger than the line width of the initial line segment, and determining that the first line segment is terminated to acquire the length of the first line segment.
According to the method for acquiring the length of the differential wire, after acquiring the length of the first wire segment in any differential wire set under the condition that the first wire segment is included in any differential wire set, the method further comprises:
Acquiring a length difference between each pair of first wire segments in the differential wire unit based on the lengths of the first wire segments in each differential wire group in the differential wire unit;
And under the condition that the length difference between any pair of first wire segments in the differential wire unit is determined to be larger than a predefined first length threshold value, sending out first alarm information for prompting that the length difference between any pair of first wire segments in the differential wire unit does not meet the design requirement of wire equal length.
According to the method for obtaining the differential wire length provided by the invention, after determining the length of the pin compensation wire of the device connected with the differential wire unit based on the inclusion relation between the differential wire group and the differential wire section, the method further comprises:
judging whether the length of the pin compensation wire of each device connected with the differential wire unit is larger than a predefined third length threshold value or not;
And under the condition that the length of the pin compensation wire of any device connected with the differential wire unit is larger than the third length threshold value, sending out second alarm information for prompting that the pin compensation wire of any device connected with the differential wire unit does not meet the design requirement of the wire equal length.
According to the method for obtaining the differential wire length provided by the invention, after merging two second wire segments connected through the target device in the same layer into one second wire segment based on the identification information of the two components connected with the second wire segments, and determining the sum of the lengths of the two second wire segments connected through the target device in the same layer as the length of the merged second wire segment, the method further comprises:
Acquiring the length difference of a pair of second wire segments positioned on the same layer in the differential wire unit;
And under the condition that the length difference of the pair of second wire segments positioned at any layer in the differential wire unit is larger than a predefined third length threshold value, sending out third alarm information for prompting that the pair of second wire segments positioned at any layer in the differential wire unit does not meet the wire equal length design requirement.
According to the differential wire length obtaining method provided by the invention, after the lengths of each differential wire group in the differential wire units are respectively obtained, the method further comprises the steps of obtaining the length difference of a pair of differential wire groups in the differential wire units based on the length of each differential wire group in the differential wire units;
and under the condition that the length difference is larger than a predefined fourth length threshold value, fourth alarm information for prompting that the differential wiring unit does not meet the design requirement of the wiring length is sent out.
The invention also provides a differential wiring length acquisition device, which comprises the following modules:
The data acquisition module is used for acquiring the identification information of the wiring in the target area under the condition of triggering the differential wiring length acquisition task aiming at the target area in the printed circuit board, and two ends of the wiring are connected with any two of the signal sending device, the signal receiving device and the target device;
The first identification module is used for identifying a differential wiring subunit in the target area based on the identification information of the wiring, and the differential wiring subunit comprises a pair of differential wirings for connecting any two of a signal sending device, a signal receiving device and a target device;
the second identification module is used for identifying the differential wiring unit in the target area based on the attribute information of the differential wiring section, the differential wiring unit comprises a pair of differential wiring groups, two ends of each differential wiring group are connected with a signal sending device and a signal receiving device, and the target devices are connected in series in the differential wiring groups;
The length acquisition module is used for respectively acquiring the length of each differential wiring group in the differential wiring unit.
The invention also provides an electronic device comprising a memory, a processor and a computer program stored on the memory and capable of running on the processor, wherein the processor realizes the differential trace length acquisition method according to any one of the above when executing the computer program.
The present invention also provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements a differential trace length acquisition method as described in any one of the above.
The invention also provides a computer program product comprising a computer program which when executed by a processor implements a differential trace length acquisition method as described in any one of the above.
According to the differential wire length acquisition method, the differential wire length acquisition device, the electronic equipment and the storage medium, under the condition that the differential wire length acquisition task aiming at the target area in the printed circuit board is triggered, the differential wire sub-units in the target area are identified based on the identification information of wires in the target area, further, the differential wire units in the target area are identified based on the attribute information of each differential wire section in the differential wire sub-units, the lengths of each differential wire group in the differential wire units are respectively acquired, the differential wire units in the target area can be automatically identified, the lengths of the differential wires between the signal transmitting end and the signal receiving end can be acquired more accurately and more efficiently under the condition that active end series resistors or active end series capacitors are connected in series between the signal transmitting end and the signal receiving end, a data basis can be provided for checking whether the differential wire units accord with wire design or not, the efficiency and the accuracy of wire design checking of the differential wire units can be improved, the length of each wire in the differential wire units comprising a plurality of differential wire sub-units can be acquired, the differential wire units are simple and have wide application prospect.
Drawings
In order to more clearly illustrate the invention or the technical solutions of the prior art, the following description will briefly explain the drawings used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are some embodiments of the invention, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow chart of a differential trace length obtaining method provided by the invention.
Fig. 2 is a second flowchart of the differential trace length obtaining method according to the present invention.
Fig. 3 is a schematic structural diagram of a differential trace unit in the differential trace length obtaining method provided by the invention.
Fig. 4 is a schematic structural diagram of the differential trace length obtaining device provided by the invention.
Fig. 5 is a schematic structural diagram of an electronic device provided by the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is apparent that the described embodiments are some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In the description of the present invention, unless explicitly stated and limited otherwise, the terms "mounted," "connected," and "connected" are to be construed broadly, and may be, for example, fixedly connected, detachably connected, or integrally connected, mechanically connected, electrically connected, directly connected, indirectly connected via an intermediate medium, or in communication between two elements. The specific meaning of the above terms in the present invention can be understood by those of ordinary skill in the art according to the specific circumstances.
In the description of the present application, the terms "first," "second," and the like are used for distinguishing between similar objects and not for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged, as appropriate, such that embodiments of the present application may be implemented in sequences other than those illustrated or described herein, and that the objects identified by "first," "second," etc. are generally of a type, and are not limited to the number of objects, such as the first object may be one or more. In addition, in the description of the present application, "and/or" means at least one of the connected objects, and the character "/", generally means a relationship in which the front and rear associated objects are one kind of "or".
Along with development of cloud computing applications, informatization is gradually covered in various fields of society. The daily work and life of people are more and more communicated through networks, the network data volume is also increasing, and the performance requirement on the server is higher.
The PCB wiring is a copper wire with certain width and thickness distributed on each layer, and is divided into a strip line and a microstrip line, wherein the strip line is a strip wiring buried in the PCB, the strip line is embedded between two layers of conductors and is not easy to be interfered by external radiation, the microstrip line is a strip wiring on the surface layer of the PCB, one surface of the microstrip line is exposed in the air, and the other surface of the microstrip line is distributed in an insulating medium of the PCB, so that the microstrip line is easy to be interfered by surrounding radiation.
The pair of wires responsible for carrying the differential signals is referred to as a differential wire. The differential signals require equal signals and opposite directions, the coupling between two wires in the differential wires is good, the impedance transformation is matched, the external noise signals are basically coupled to the two wires at the same time, and the signal receiving end only needs to pay attention to the difference value of the two signals, so that the external common mode noise can be completely eliminated, and the signal transmission quality can be improved.
The source series resistor or series capacitor is two common element configuration modes in the PCB design, and the source series resistor or series capacitor is connected in series with the resistor or capacitor at the source end (i.e. the signal transmitting end) of the signal to change the transmission characteristic of the signal.
In a common PCB design, a source series resistor or a source series capacitor is also connected between the signal transmitting end and the signal receiving end in series to change the transmission characteristics of the signal. In the case of a series source-side series resistor or a series source-side series capacitor between a signal transmitting end and a signal receiving end, two wires in a differential wire unit for connecting the signal transmitting end and the signal receiving end together carry the same signal, and in the PCB design, it is desirable that transmission paths of the signals are equal in time sequence, that is, total transmission time lengths of the signals from the signal transmitting end to the signal receiving end remain the same, so in the related art, in the case of a series source-side series resistor or a series source-side series capacitor between the signal transmitting end and the signal receiving end, differential wires for connecting the signal transmitting end and the signal receiving end are still regarded as one differential wire unit, even if the differential wire unit is divided into at least two differential wire sub-units by the series source-side resistor or the series source-side capacitor.
It should be noted that, in the case that the differential routing unit includes a plurality of differential routing subunits, the differential routing subunits may include a differential routing for connecting the signal transmitting end and the source end series resistor or the source end series capacitor, and may further include a differential routing for connecting the signal receiving end and the source end series resistor or the source end series capacitor.
Typically, for high speed differential trace units, it is generally desirable that the length difference between two traces in the differential trace unit be no more than 5 mils.
In the related art, PCB routing software may be invoked to obtain the length of the trace to which any pair of pins (pins) are connected. However, in the related art, the differential routing unit between the arbitrary signal transmitting end and the signal receiving end and the differential routing subunit included in the differential routing unit cannot be automatically determined from the PCB design drawing, and the lengths of the two routing wires in the differential routing unit cannot be automatically obtained, and only the manual inspection can be performed manually, so that the differential routing unit between the arbitrary signal transmitting end and the signal receiving end and the differential routing subunit included in the differential routing unit cannot be determined from the PCB design drawing, and the time required for manual inspection is long and error is easy to occur due to the fact that the manual inspection is performed manually, so that it is difficult to accurately and efficiently obtain the length of each routing wire in the differential routing unit including a plurality of differential routing subunits in the related art.
In addition, in the PCB design, the layout and other conditions are limited, especially, some areas (break areas) needing dense wires are smaller in line width, higher in impedance and larger in loss compared with wires laid in other areas in the differential wiring unit. Therefore, it is necessary to monitor the lengths of the wires arranged in the area in the differential wire unit, and verify whether the lengths of the two wires arranged in the area in the differential wire unit meet the requirement of equal-length design, so that further increase of signal loss caused by overlarge length difference of the two wires arranged in the area in the differential wire unit can be avoided.
In the related art, the wires arranged in the dense wire outlet area in the differential wire unit can be determined only by manually checking, and the time consumed by manually checking is long and errors are easy to occur, so that the length of each wire arranged in the dense wire outlet area in the differential wire unit is difficult to accurately and efficiently obtain in the related art.
And, along with the wide application of multilayer PCB panel, signal transmission end and signal receiving end probably are not in the same level, and under the condition that signal transmission end and signal receiving end are in different levels, the differential signal line group of connecting above-mentioned signal transmission end and above-mentioned signal receiving end can be through punching cloth in different levels. The length of the wires arranged in each layer in the differential wire unit is monitored, and whether the lengths of the two wires arranged in each layer in the differential wire unit meet the design requirement of equal length is verified, so that the synchronism and the integrity of signal transmission can be better ensured.
In the related art, the wires arranged in each layer of the differential wire unit can be determined only by manually checking, and the time consumed by manually checking is long and error is prone to occur, so that the lengths of the two wires arranged in each layer of the differential wire unit are difficult to accurately and efficiently obtain in the related art.
The differential trace length acquisition method of the present invention is described below with reference to fig. 1 to 3.
Fig. 1 is a schematic flow chart of a differential trace length obtaining method provided by the invention. Fig. 2 is a second flowchart of the differential trace length obtaining method according to the present invention. As shown in fig. 1 and 2, the method includes the following steps that step 101, in the case of triggering a differential trace length acquisition task for a target area in a printed circuit board, identification information of a trace in the target area is acquired, and two ends of the trace are connected with any two of a signal sending device, a signal receiving device and a target device.
It should be noted that, the execution body of the embodiment of the present invention is a differential trace length acquisition device, and the differential trace length acquisition device may be configured in electronic devices such as a computer and a server.
It should be noted that, the differential wire length acquiring device is internally provided with PCB design software, and the differential wire length acquiring method provided by the invention is implemented based on the PCB design software.
The PCB design software is a specialized tool used in performing circuit design, layout and routing of the PCB. The PCB design software can provide complete design flow support for schematic diagram design, element library management, PCB layout and wiring, manufacturing file output and the like. The PCB design software may also support advanced features such as multi-layer PCB design, high density layout, and data extraction.
Specifically, the differential trace in the target area of the printed circuit board can be obtained based on the differential trace length obtaining method provided by the invention, which is an obtaining object of the differential trace length obtaining method provided by the invention.
It should be noted that the printed circuit board and the target area in the printed circuit board in the embodiments of the present invention may be determined based on actual requirements. The printed circuit board and the target area in the printed circuit board are not particularly limited in the embodiment of the invention.
Before triggering the task of acquiring the differential trace length for the target area in the printed circuit board, the user may perform parameter input at the front-end interface of the PCB design software, where the first length threshold is denoted as neckvalue, the third length threshold is denoted as perlayerValue, and the fourth length threshold is denoted as xnetvalue.
Triggering a check control check, emptying the query record space and exiting the program space close.
It should be noted that, according to the current business rule, default values may be given to the first length threshold neckvalue, the third length threshold perlayerValue and the fourth length threshold xnetvalue, so as to avoid the situation of filling in for many times when the user uses the business rule.
And the checking result display information design module ensures that the acquired result can be displayed normally.
The user can open the design drawing of the printed circuit board needing to acquire the differential wiring length in the PCB design software according to the actual demand. The design drawing of the printed circuit board comprises information such as layout, wiring and device packaging of the printed circuit board.
After the design drawing of the printed circuit board requiring the differential trace length acquisition is opened in the PCB design software, the PCB design software may display any level of the printed circuit board in the display interface.
The check instruction is input into the PCB design software, and the function (axlsetFindFilter functions) is called, so that other objects can be closed.
In nets mode in the PCB design software, a user can select an area needing to obtain the differential wiring length in any one layer of the printed circuit board displayed in the PCB design software according to actual requirements, and then can determine the area selected by the user in the layer currently displayed in the printed circuit board and the vertical projection area of the area in the layer of the printed circuit board as a target area in the printed circuit board.
After the user frames the target area in the printed circuit board in the PCB design software, the differential routing length acquisition task for the target area in the printed circuit board can be triggered by inputting a control instruction.
In the event that a differential trace length acquisition task for a target area in the printed circuit board is triggered, a function (axlgetselset function) may be invoked to acquire identification information (netobjects) of the traces in the target area in the printed circuit board for connecting any two devices.
It should be noted that, in the embodiment of the present invention, the target device may be a source-side series capacitor or a source-side series resistor.
It will be appreciated that the traces within the target area may be routed in one layer of the printed circuit board, and that the traces within the target area may also be routed in multiple layers of the printed circuit board through vias.
Step 102, identifying a differential wiring subunit in the target area based on the identification information of the wiring, wherein the differential wiring subunit comprises a pair of differential wirings for connecting any two of the signal transmitting device, the signal receiving device and the target device.
It should be noted that, since the differential traces are paired traces, and some of the differential traces do not need to follow the equal-length design of the traces, when the user frames the target area in the PCB design software, there may be a case where only one of the differential traces is included in the target area, and/or there may be a case where the trace of the length does not need to be acquired in the target area.
Therefore, after the identification information of the trace in the target area is acquired, the differential trace used for connecting the signal transmitting device and the signal receiving device, connecting the signal transmitting device and the target device and connecting the target device and the signal receiving device in the target area can be identified based on the identification information of the trace.
Specifically, a blank list is declared as the differential routing subunit list diffnetlist within the target area.
Since in general the identification information of the differential tracks that appear in pairs is required to end with a "DP" or a "DN". And thus performing a traversal loop check on the identification information of the trace within the target area.
Any trace within the target area is determined as trace itemi, i representing a positive integer with a start value of 1. If the identification information netnamei of the trace itemi includes "DP", and the identification information netnamei of the trace itemi conforms to the naming rule of the differential trace, the "DP" in the identification information netnamei of the trace itemi is replaced by "DN", and the replaced identification information is denoted as netnamei ', so that a function (axldbfindbyname function) can be invoked to find whether the trace with the identification information netnamei' exists.
In the case where the trace having the identification information netnamei 'is found, the trace having the identification information netnamei' may be denoted as a trace idi, and thus it may be determined that the trace itemi and the trace idi are a pair of differential traces for connecting the signal transmitting device and the signal receiving device, for connecting the signal transmitting device and the target device, or for connecting the target device and the signal receiving device in the target area.
After determining that the i-th wire itemi and the wire idi in the target area are a pair of differential wires for connecting the signal transmitting device and the signal receiving device, for connecting the signal transmitting device and the target device, or for connecting the target device and the signal receiving device, the wire itemi and the wire idi may be determined as a pair of differential wire segments, and further the differential wire segment itemi and the differential wire segment idi may be determined as one differential wire subunit, and the differential wire segment itemi and the differential wire segment idi may be added as a pair of differential wire segments to the differential wire subunit list diffnetlist in the target area.
Deleting the identification information of the differential wire segment itemi and the differential wire segment idi from the identification information of the wires in the target area, increasing i by 1, and returning to execute the step of determining any wire in the target area as the wire itemi until the traversal cycle check of the identification information of the wires in the target area is finished.
After finishing the traversal cycle check of the identification information of the traces within the target area, a differential trace subunit list diffnetlist, diffnetlist = { (item 1, id 1), (item 2, id 2), (itemj, idj), (itemN, idN) } within the target area may be obtained. Wherein N represents the number of differential routing subunits in the target area, and j and N both represent positive integers greater than 0.
Step 103, determining the differential wires in the differential wire sub-units as differential wire segments, identifying the differential wire units in the target area based on the attribute information of the differential wire segments, wherein the differential wire units comprise a pair of differential wire groups, two ends of each differential wire group are connected with a signal transmitting device and a signal receiving device, and the differential wire groups are connected with target devices in series.
Specifically, after the differential routing subunit list diffnetlist in the target area is acquired, a traversal loop check may be performed on the differential routing subunits in the target area.
For the jth differential wire sub-unit netj in the target area, the jth differential wire sub-unit in the target area includes a differential wire segment itemj and a differential wire segment idj, and the attribute information of the differential wire segment itemj and the attribute information of the differential wire segment idj can be obtained by calling a function in the PCB design software to perform data query.
Based on the attribute information of the differential line segments itemj, all the differential line segments in the differential line group where the differential line segment itemj is located can be acquired and counted into the associated differential line list xnetlistj1 corresponding to the differential line segment itemj.
After the differential wire segment itemj is removed from the associated differential wire list xnetlistj1 corresponding to the differential wire segment itemj, if the associated differential wire list xnetlistj corresponding to the differential wire segment itemj is empty, it may be determined that the differential wire group in which the differential wire segment itemj is located includes only one differential wire segment of the differential wire segment itemj, where one end of the differential wire segment itemj is connected to the signal transmitting device and the other end is connected to the signal receiving device.
If the associated differential trace list xnetlistj1 corresponding to the differential trace segment itemj is not empty, the remaining differential trace segments in the associated differential trace list xnetlistj1 corresponding to the differential trace segment itemj may be denoted as othernetj1, so that it may be determined that the differential trace segment itemj and the differential trace segment othernetj belong to the same differential trace group.
Similarly, based on the attribute information of the differential wire segment idj, all the differential wire segments in the differential wire group where the differential wire segment idj is located can be acquired and counted into the associated differential wire list xnetlistj corresponding to the differential wire segment idj.
After the differential wire segment idj is removed from the associated differential wire list xnetlistj2 corresponding to the differential wire segment idj, if the associated differential wire list xnetlistj corresponding to the differential wire segment idj is empty, it may be determined that the differential wire group in which the differential wire segment idj is located includes only one differential wire segment of the differential wire segment idj, where one end of the differential wire segment idj is connected to the signal transmitting device and the other end is connected to the signal receiving device.
If the associated differential trace list xnetlistj2 corresponding to the differential trace segment idj is not empty, the remaining differential trace segments in the associated differential trace list xnetlistj2 corresponding to the differential trace segment idj may be denoted as othernetj, and it may be determined that the differential trace segment idj and the differential trace segment othernetj belong to the same differential trace group.
After the traversing cycle checking is finished on the differential routing subunits in the target area, the differential routing subunits in the target area can be determined.
It should be noted that, in the embodiment of the present invention, after the attribute information of the differential line segment itemj and the attribute information of the differential line segment idj are obtained, the identifier information of the device connected to each differential line segment in the differential line group where the differential line segment itemj is located may be obtained based on the attribute information of the differential line segment itemj, so that whether the differential line segment itemj includes only the differential line segment itemj or the differential line segment itemj and other differential line segments in the differential line group where the differential line segment itemj is located may be determined by checking whether the identifier information of the device connected to each differential line segment in the differential line group is repeated.
Fig. 3 is a schematic structural diagram of a differential trace unit in the differential trace length obtaining method provided by the invention. MCIO (connector) and CPU (central processing unit) in fig. 3 represent a signal transmitting device and a signal receiving device, respectively, cap represents a target device, and via represents a via. As shown in fig. 2, the differential trace group in the differential trace unit includes two differential trace sections, one differential trace section is connected to MCIO and the target device, the other differential trace section is connected to the target device and the CPU, and the differential trace sections connecting the target device and the CPU are laid on different layers of the printed circuit board through vias.
Step 104, respectively obtaining the length of each differential wiring group in the differential wiring units
Specifically, after the differential wiring units in the target area are determined, the lengths of the two differential wiring groups in the differential wiring units can be respectively obtained based on the inclusion relationship between the differential wiring groups and the differential wiring groups, and the lengths of the two differential wiring groups in the differential wiring units can also be obtained by calling a function in the PCB design software and performing numerical calculation.
As an alternative embodiment, the method for acquiring the length of each differential wire set in the differential wire set respectively comprises the steps of acquiring two devices connected with each differential wire set in the differential wire set based on the inclusion relation between the differential wire set and the differential wire set, and taking the two devices as the devices included in the differential wire set.
After the devices included in the differential wiring group are de-duplicated, a functional function is called, and the length of the wiring between any two devices in the devices included in the differential wiring group is obtained and is used as the original length of the differential wiring group.
And determining the maximum value in the original lengths of the differential wire sets as the length of the differential wire sets.
Specifically, a traversal loop check is performed on the differential routing subunits within the target region.
For the jth differential wire sub-unit netj in the target area, the differential wire sub-unit netj includes a differential wire segment itemj and a differential wire segment idj, and a function is called in PCB design software to perform data query, so as to obtain attribute information of the differential wire segment itemj and attribute information of the differential wire segment idj.
Based on the attribute information of the differential line segments itemj, a device connected to each differential line segment in the differential line group where the differential line segment itemj is located can be obtained, and taken as a device included in the differential line group where the differential line segment itemj is located, the device is counted into the associated device list pinsj1 corresponding to the differential line segment itemj.
An empty list is declared as the length list xnetlenlistj of the differential wire set where the differential wire segment itemj is located.
After the associated device list pinsj1 corresponding to the differential line segment itemj is de-duplicated, a function is called to obtain a line between any two devices in the associated device list pinsj1 corresponding to the differential line segment itemj, and the line is marked as a line itemj _1, a line itemj _2, a line itemj _3 and the like.
The function (GETPINPAIRLENGTH function) is called in the PCB design software, the length lengthj _1 of the trace itemj _1, the length lengthj _2 of the trace itemj _2, the length lengthj _3 of the trace itemj _3, etc. are calculated, and xnetlenlistj 1= { lengthj _1, length hj_2, length hj_3, etc. are counted into the length list xnetlenlistj1 of the differential trace group where the differential trace segment itemj is located
The length of the wires in the length list xnetlenlistj of the differential wire set where the differential wire set itemj is located is taken as the original length of the differential wire set where the differential wire set itemj is located.
The data in the length list xnetlenlistj1 of the differential wire set where the differential wire set itemj is located is compared in size, and the maximum value in the length list xnetlenlistj of the differential wire set where the differential wire set itemj is located is the length xnetlengthj1 of the differential wire set where the differential wire set itemj is located.
Similarly, the length xnetlengthj of the differential trace group where the differential trace segment idj is located may be obtained.
After determining the differential trace unit in the target area, the differential trace unit included in the differential trace unit may be determined based on the inclusion relationship between the differential trace unit and the differential trace unit, so that a function (GETPINPAIRLENGTH function) may be called in PCB design software, the lengths of the differential trace units included in the differential trace unit may be calculated, and then the sum of the lengths of the differential trace units included in the differential trace unit may be calculated as the length of the differential trace unit.
According to the embodiment of the invention, under the condition of triggering the differential wire length acquisition task aiming at the target area in the printed circuit board, the differential wire sub-units in the target area are identified based on the identification information of the wires in the target area, further, the differential wire units in the target area are identified based on the attribute information of each differential wire section in the differential wire sub-units, the lengths of each differential wire group in the differential wire units are respectively acquired, the differential wire units in the target area can be automatically identified, the lengths of each wire in the differential wire units comprising a plurality of differential wire sub-units can be acquired more accurately and more efficiently, a data basis can be provided for checking whether the differential wire units meet the wire length design, the wire length design checking efficiency and accuracy of the differential wire units can be improved, the flow of acquiring the length of each wire in the differential wire units comprising a plurality of differential wire sub-units is simple, the universality is high, and the application prospect is wide.
As an alternative embodiment, after identifying the differential trace units in the target area based on the attribute information of the differential trace sections, the method further comprises determining a signal transmitting device and a signal receiving device connected with the differential trace group based on the attribute information of the differential trace sections.
Specifically, after the differential wiring units in the target area are determined, the signal transmitting device and the signal receiving device connected to each differential wiring group in the differential wiring units can be determined by calling a function and data comparison in the PCB design software based on the attribute information of each differential wiring group in the differential wiring units.
As an alternative embodiment, the signal transmitting device and the signal receiving device connected with the differential wire group are determined based on the attribute information of the differential wire group, and the method comprises the steps of acquiring two devices connected with the differential wire group based on the attribute information of the differential wire group.
It should be noted that, during the design of the printed circuit board, some modification schemes are reserved, and the design of the common wiring (colay) is implemented. The common wiring, i.e. two or more different devices can be alternatively placed at the same position on the printed circuit board during wiring (layout), so as to facilitate verification of different schemes.
Therefore, in the embodiment of the invention, the two devices connected with each differential wire segment can be determined by performing traversal and circulation inspection on the differential wire subunits in the target area.
For the j-th differential wire subunit netj in the target area, the differential wire subunit netj includes a differential wire segment itemj and a differential wire segment idj, and the functional function (getpinsofnet) is called in the PCB design software to perform data query, so that attribute information of the differential wire segment itemj including two connected devices of the differential wire segment itemj and attribute information of the differential wire segment idj including two connected devices of the differential wire segment idj can be obtained.
A device list pinslistj _1 corresponding to the differential wire segment itemj including the two devices connected to the differential wire segment itemj and a device list pinslistj _2 corresponding to the differential wire segment idj including the two devices connected to the differential wire segment idj are generated.
The device list pinslistj _1 corresponding to the differential line segment itemj is counted in a blank table and is denoted as a temporary device list Tempgetpinsj _1 corresponding to the differential line segment itemj. The device list pinslistj _2 corresponding to the differential line segment idj is counted in a blank table and is denoted as a temporary device list Tempgetpinsj _2 corresponding to the differential line segment idj.
Element fetching is performed on the device list pinslistj _1 corresponding to the differential line segment itemj, wherein the first fetched device is pinsitemj, and the second fetched device is pinsitemj.
If it is determined that the center coordinates of the device pinsitemj and the position coordinates of the device pinsitemj12 are equal but it is determined that the device pinsitemj and the device pinsitemj12 are not the same, it may be determined that the device pinsitemj and the device pinsitemj are commonly wired devices, the device pinsitemj may be removed from the temporary device list Tempgetpinsj _1 corresponding to the differential wire segment itemj, and after the determination is completed, the device pinsitemj may be removed from the device list pinslistj _1 corresponding to the differential wire segment itemj, and further it may be determined that the remaining devices in the temporary device list Tempgetpinsj _1 corresponding to the differential wire segment itemj are two devices connected to the differential wire segment itemj.
Similarly, the temporary device list Tempgetpinsj _2 corresponding to the differential line segment idj may be obtained, and two devices connected to the differential line segment idj may be obtained.
It should be noted that, when the differential wires are routed, the two differential wires may not be routed simultaneously, but in order to make the differential wires satisfy the equal-length design, a designer disconnects one differential wire and reconnects the differential wire, which may cause the obtained sequence of the devices connected by the pair of differential wires to be inconsistent, so in the embodiment of the present invention, the arrangement sequence of the devices in the temporary device list Tempgetpinsj _1 corresponding to the differential wire segment itemj and the temporary device list Tempgetpinsj _2 corresponding to the differential wire segment idj may be rearranged according to the same direction.
Specifically, a distance between the position center coordinate of the first device in the temporary device list Tempgetpinsj _1 corresponding to the differential line segment itemj and the position center coordinate of the first device in the temporary device list Tempgetpinsj _2 corresponding to the differential line segment idj is calculated and is denoted as a distance distancej1, and then a distance between the position center coordinate of the first device in the temporary device list Tempgetpinsj _1 corresponding to the differential line segment itemj and the position center coordinate of the second device in the temporary device list Tempgetpinsj _2 corresponding to the differential line segment idj is calculated and is denoted as a distance distancej2. If the distance distancej1> distancej2, it may be stated that the arrangement order of the devices in the temporary device list Tempgetpinsj _1 corresponding to the differential line segment itemj is opposite to the arrangement order of the devices in the temporary device list Tempgetpinsj _2 corresponding to the differential line segment idj, and the arrangement order of the devices in the temporary device list Tempgetpinsj _1 corresponding to the differential line segment itemj may be exchanged, so as to obtain the updated temporary device list Tempgetpinsj _1 corresponding to the differential line segment itemj.
Traversing each differential wire set, and determining that the device connected with one end of one differential wire set in any differential wire set and the device connected with one end of the other differential wire set in any differential wire set are the same target device when the position information of the device connected with one end of one differential wire set in any differential wire set is the same as the position information of the device connected with one end of the other differential wire set in any differential wire set, but the device connected with one end of one differential wire set in any differential wire set is different from the device connected with one end of the other differential wire set in any differential wire set.
And determining a signal transmitting device and a signal receiving device connected with the differential wire set based on the inclusion relation between the differential wire set and the differential wire set.
And calling a function based on the identification information of the signal transmitting device and the signal receiving device connected with the differential wiring group to acquire line segments included in the differential wiring group.
Specifically, the function (axlFindPath function) is called in the PCB design software, so that a line segment included between two devices in the temporary device list Tempgetpinsj _1 corresponding to the differential line segment itemj may be obtained and denoted as a line segment pathj, and a line segment included between two devices in the temporary device list Tempgetpinsj _2 corresponding to the differential line segment idj may be obtained and denoted as a line segment pathj2.
Based on the inclusion relationship between the differential wire set and the differential wire set, the wire set included in the differential wire set can be obtained.
And judging whether the differential wiring group comprises a first wiring section or not based on the line widths of the wiring sections included in the differential wiring group, wherein the first wiring section is a wiring in a dense wiring area, and the line widths of the wirings in the dense wiring area are smaller than the line widths of the wirings not in the dense wiring area.
It should be noted that, in the PCB design, the limitation of the layout and other conditions, especially, some dense wiring areas (break areas) that need dense wires are smaller in line width, higher in impedance and larger in loss of the wires in the dense wiring areas in the differential wiring unit, compared with the wires in other areas in the differential wiring unit.
In the embodiment of the invention, the line width of the line segment included in the differential wiring group can be obtained by calling the function in the PCB design software, and then whether the differential wiring group includes the first line segment can be judged by means of numerical calculation, mathematical statistics and the like based on the line width of the line segment included in the differential wiring group.
It should be noted that, the first wire segment in the differential wire set is as indicated by "4" in fig. 2.
As an optional embodiment, judging whether the differential wire set comprises the first wire set or not based on the line width of the wire set comprising the differential wire set comprises sequentially obtaining the line width of each wire set comprising each differential wire set according to the arrangement sequence of the wire set comprising the differential wire set, and further generating the line width sequence of the wire set corresponding to the differential wire set.
And de-duplicating the line width sequence of the line segment corresponding to the differential line set, determining that the differential line set does not comprise the first line segment under the condition that the number of line widths of the line segment in the line width sequence of the line segment corresponding to the differential line set after de-duplication is 1, and determining that the differential line set comprises the first line segment under the condition that the number of line widths of the line segment in the line width sequence of the line segment corresponding to the differential line set after de-duplication is greater than 1.
Specifically, any one of the line segments pathj1 is denoted as a line segment pathj1_p, p represents a positive integer greater than 0, a line segment list including all the line segments pathj1_p is generated, denoted as segmentsj1 _1_p, a function is called in PCB design software, the line width of the line segment pathj1 _1_p is acquired, denoted as widthj1_p, and a line segment line width list widthlistj1 _p= { widthj1_1, widthj1_2, a.i., widthj1_p, a.i. is generated including all the line segments pathj1 _p.
After the line width list widthlistj1_p is de-duplicated, if the number of line widths in the line width list widthlistj1_p after duplication is 1, it may be indicated that the differential line segment itemj does not include the first line segment, and if the number of line widths in the line width list widthlistj1_p after duplication is greater than 1, it may be indicated that the differential line segment itemj includes the first line segment.
Similarly, it may be determined whether the first wire segment is included in the differential wire segment idj.
After determining whether the differential line segment includes the first line segment, it may be determined whether the differential line segment includes the first line segment based on an inclusion relationship between the differential line segment and the differential line segment.
And under the condition that the first wire segment is included in any one of the differential wire groups, acquiring the length of the first wire segment in any one of the differential wire groups.
Specifically, when it is determined that any one of the differential wire groups includes the first wire segment, the length of the first wire segment in the differential wire group may be obtained through numerical calculation, mathematical statistics, and other manners.
As an alternative embodiment, in the case that the first wire segment is included in any differential wire set, acquiring the length of the first wire segment in any differential wire set includes acquiring the length of the first wire segment in a wire segment line width sequence corresponding to any differential wire set, and counting the length of the first wire segment.
And traversing the line width sequence of the line segment corresponding to any differential line group from the first line segment in the line width sequence of the line segment corresponding to any differential line group, and obtaining the length of the traversed line segment to count into the length of the first line segment until the line width of the traversed line segment is larger than the line width of the first line segment in the line width sequence of the line segment corresponding to any differential line group under the condition that the line width of the traversed line segment is the same as the line width of the first line segment in the line width sequence of the line segment corresponding to any differential line group, and determining that the first line segment is terminated to obtain the length of the first line segment.
Specifically, for the differential wire segment itemj in the differential wire set, the initial value of the length lenitemj of the first wire segment in the differential wire set is declared to be 0, flag 1=0 is declared to be identified, flag 2=0 is taken, the number of elements in the segmentsj1_p list is denoted as num (segmentsj 1 _p), the elements in the segmentsj1_p list, which are circularly acquired from p=1 to p= num (segmentsi) -1 are denoted as nthelem (segmentsj 1 _p), a function (axlDBGetLength function) is called in PCB design software, and the length of nthelem (segmentsj 1_p) is denoted as lenj1_p.
Let the length necklenitemj = necklenitemj + lenj1_p of the first line segment in the differential line segment itemj, if the line width of the p-th line segment in the segmentsj1_p list is smaller than the line width of the p-1-th line segment, it is indicated that the line width of the differential line segment is changed from thin to thick, and the flag2+1 may be made, and the p-th line segment in the segmentsj1_p list is determined as the termination line segment of the first line segment, and the length necklenitemj of the first line segment in the obtained differential line segment itemj is determined as the length necklenitemj of the first line segment in the differential line segment itemj.
As an optional embodiment, under the condition that the first wire segment is included in any differential wire set, acquiring the length of the first wire segment in any differential wire set comprises starting from the line width of the first wire segment in a line width sequence corresponding to any differential wire set, traversing the line width sequence corresponding to any differential wire set, and under the condition that the line width of any wire segment in the line width sequence corresponding to any differential wire set is smaller than the line width of the last wire segment of any wire segment, determining any wire segment as the starting line segment of the first wire segment, and acquiring the length of any wire segment to be counted into the length of the first wire segment.
And continuously traversing the line widths of the line segments after the initial line segments in the line width sequence of the line segments corresponding to any differential line group, under the condition that the traversed line widths are the same as the line widths of the initial line segments, acquiring the length of the traversed line segments and counting the length of the first line segments until the traversed line widths are larger than the line widths of the initial line segments, and determining that the first line segments are terminated to acquire the length of the first line segments.
Specifically, let the length necklenitemj = necklenitemj + lenj1_p of the first wire segment in the differential wire segment itemj, if the line width of the p-th wire segment in the segmentsj1_p list is greater than the line width of the p-1-th wire segment, the line width of the differential wire segment is indicated to be reduced from thick, the p-th wire segment in the segmentsj1_p list can be determined as the starting line segment of the first wire segment, the length necklenitemj of the first wire segment in the differential wire segment itemj is reassigned to 0, and then necklenitemj is recalculated, and flag1+1 is set until it is determined that the line width of the p-th wire segment in the segmentsj1_p list is less than the line width of the p-1-th wire segment, which indicates that the first wire segment in the differential wire segment itemj is terminated, and the length necklenitemj of the obtained first wire segment in the differential wire segment itemj is determined as the length necklenitemj of the first wire segment in the differential wire segment itemj.
It should be noted that, in the case where flag1=1 and flag2=1, it is described that the differential line segment itemj includes a first line segment, a non-first line segment, and a first line segment in sequence, and the differential line segment itemj includes two first line segments, then the length list necklistj1 =list (necklenitemj _flag2, necklenitemj _flag1) of the first line segment of the differential line segment itemj;
In the case where flag1=1 and flag2=0, the description describes that the differential line segment itemj includes a non-first line segment and a first line segment in sequence, and then the length list necklist1 =list (necklenitemj _flag1) of the first line segment of the differential line segment itemj;
In the case where flag1=0 and flag2=1, the description describes that the differential line segment itemj includes the first line segment and the non-first line segment in order, and then the length list necklist1 =list (necklenitemj _flag2) of the first line segment of the differential line segment itemj.
Similarly, the length necklenidj of the first one of the differential wire segments idj may be obtained.
Similarly, the length necklenothernetj1 of the first one of the differential wire segments othernetj can be obtained.
Similarly, the length necklenothernetj of the first one of the differential wire segments othernetj may be obtained.
Note that, the first wire segment, neg 11, neg 12, neg 21, neg 22, in a pair of differential wire sets are stated to be respectively=0, if necklist is not null and has a length of 1, then the element in neg 11= necklist1, neg 12=0, if necklist is not null and has a length of 2, then the first element in neg 11= necklist1, the second element in neg 12= necklist1, similarly, values of neg 21 and neg 22 are obtained, if othernecklist is not null and has a length of 1, then the element values in neg 12= othernecklist1, if othernecklist1 is not null and has a length of 2, then the first element value in neg 11= othernecklist1, then the second element value in neg 12= othernecklist1, if othernecklist2 is not null and has a length of 1, then the element value in neg 22= othernecklist2, and the second element in neg 22= othernecklist2, if othernecklist is not null and has a length of 2, then the first element in neg 21= othernecklist.
According to the embodiment of the invention, the lengths of the first wire segments distributed in the dense wiring area in the differential wiring unit can be more accurately and more efficiently acquired in a data processing mode based on the line widths of the wire segments in the differential wiring group, so that whether the lengths of the two first wire segments distributed in the dense wiring area in the differential wiring unit meet the requirement of equal length design can be verified, and further increase of signal loss caused by overlarge length difference of the two first wire segments distributed in the dense wiring area in the differential wiring unit can be avoided.
As an optional embodiment, after identifying the differential wire units in the target area based on the attribute information of the differential wire segments, the method further comprises the step of respectively acquiring the lengths of the pin compensation wires of the two devices connected with the differential wire segments based on the attribute information of the differential wire segments, wherein the pin compensation wires are wires which are arranged for satisfying the design of the wire equal length and used for compensating the wire lengths.
And determining the length of the pin compensation wire of the device connected with the differential wire unit based on the inclusion relation between the differential wire group and the differential wire section.
Specifically, the length pindelayj11 =0 of the pin compensation trace corresponding to the first device connected to the differential trace segment itemj and the length pindelayj12 =0 of the pin compensation trace corresponding to the second device connected to the differential trace segment iitemj are stated. The length pindelayj21 =0 of the pin compensation trace corresponding to the first device to which the differential trace segment idj is connected, and the length pindelayj22 =0 of the pin compensation trace corresponding to the second device to which the differential trace segment idj is connected are stated.
And calling a function in the PCB design software, so that the length pin_delay_ itemj1 of the pin compensation wire of the first device and the length pin_ delayj2 of the pin compensation wire of the second device in the temporary device list Tempgetpinsj _1 corresponding to the differential wire segment itemj can be obtained, if pin_delay_ itemj1 has a value, the value of pin_delay_ itemj is given to pindelayj11, and pin_delay_ itemj2 has a value, and the value of pin_delay_ itemj2 is given to pindelayj.
Similarly, the length pindelayj of the pin compensation wiring and the length pindelayj of the pin compensation wiring can be obtained.
Similarly, the length othernpindelayj of the pin compensation trace and the length othernpindelayj of the pin compensation trace of the device to which the differential trace segment othernetj is connected can be obtained.
Similarly, the length othernpindelayj of the pin compensation wire and the length othernpindelayj of the pin compensation wire of the device to which the differential wire segment othernetj is connected can be obtained.
Note that pindelayothernet22 = othernpindelay1 if othernpindelay >0, pindelayothernet22 = othernpindelay1 if othernpindelayj1 =0, pindelayj22 = othernpindelay1 if othernpindelay1> othernpindelay2, and pindelay 22= othernpindelay2 if othernpindelay 1= othernpindelay2.
According to the embodiment of the invention, the lengths of the pin compensation wires of the two devices connected with the differential wire section are respectively acquired based on the attribute information of the differential wire section, the pin compensation wires are wires which are used for compensating the wire lengths and are laid for meeting the design of the wire length, the lengths of the pin compensation wires connected with the differential wire section are determined based on the containing relation of the differential wire group and the differential wire section, the lengths of the pin compensation wires of the devices connected with the differential wire section can be acquired more accurately and more efficiently, a data basis is provided for verifying whether the lengths of the pin compensation wires of the devices connected with the differential wire section meet the design requirement, and the efficiency and the accuracy for verifying whether the lengths of the pin compensation wires of the devices connected with the differential wire section meet the design requirement can be improved.
As an alternative embodiment, after identifying the differential trace unit in the target area based on the attribute information of each differential trace segment in the differential trace subunit, the method further includes traversing each layer of the printed circuit board, obtaining a trace segment of the differential trace group in a different layer for connecting two components, as a second trace segment in the differential trace segment, the two components including any two of a signal transmitting device, a signal receiving device, a target device, and a via, the two components further including two different vias.
And acquiring the identification information of the two components connected with each second line segment.
And calling a function based on the identification information of the two components connected with the second line segment to acquire the length of the second line segment.
And merging the two second line segments connected through the target device in the same layer into one second line segment based on the identification information of the two components connected with the second line segments, and determining the sum of the lengths of the two second line segments connected through the target device in the same layer as the length of the merged second line segment.
Specifically, the Etch trace layer is filtered in the PCB design software, the clines filter is opened, and the functional function is called to obtain the trace segments of the differential trace group used for connecting the two components at different layers.
As shown in fig. 2, the traces indicated by "1", "2", and "3" in fig. 2 are all the second trace segments in the differential trace group.
In the case where the target device is connected in series between the via and the signal transmitting device or between the via and the signal receiving device, the wiring between the via and the signal transmitting device or between the via and the signal receiving device is generally defined as the second wiring segment.
The hierarchical routing list clineslengthlistj of the second one of the differential routing segments itemj that is declared blank, the second one of the differential routing segments itemj is noted as clines _ itemjq, and q represents a positive integer greater than 0.
The components connected to the second line segment clines _ itemjq are acquired, and a temporary component list including the components connected to the second line segment clines _ itemjq is generated as viapinconelistjq1.
The components in the list of viapinconelistjq that are the target devices are filtered and the components in the list of viapinconelistjq1 that are the target devices are denoted as pinRefdesListjq1.
The level at which the second trace segment clines _ itemjq is located is denoted clines _ itemjqlayer.
The functional function is called in the PCB design software, and the length of the second trace segment clines _ itemjq is obtained and is denoted as clines _ itemjqlength.
The temporary list templistjq =list (clines _ itemjqlayer, pinRefdesListjq1, clines _ itemjqlayer) is declared, and the temporary list templistjq is then stored in the hierarchical routing list clineslengthlistj1 of the second wire segment in the blank differential routing group.
Similarly, a hierarchical trace list clineslengthlistj of the second one of the differential trace segments idj may be obtained.
Similarly, a hierarchical routing list othernetclineslengthlistj1 of the second one of the differential routing segments othernetj may be obtained.
Similarly, a hierarchical routing list othernetclineslengthlistj of the second one of the differential routing segments othernetj may be obtained.
Based on the inclusion relationship between the differential wire set and the differential wire set, the length of the fourth ancestor in the differential wire set can be obtained.
Note that, in the case where one differential trace subunit is included in the differential trace unit, { othernet1, othernet } is null, newlist 1= lengthlist1, newlist 2= lengthlist2
In the case of a plurality of differential trace subunits included in the differential trace unit, { othernet, othernet } is not null, then the lengths of otherlengthlist and lengthlist1 are compared, and if lengthlist1 is less than otherlengthlist1, then otherlengthlist and lengthlist1 are exchanged, ensuring that lengthlist1 is always greater than or equal to otherlengthlist.
Screening lengthlist and otherlengthlist to obtain wires with identical layers and connected devices not being empty, placing in temp1 and other devices in temp2
The bit number information of the device in temp1 is filtered (the target device only has capacitance or resistance in general), the position center coordinates of the device are taken, if the position center coordinates of the two devices are equal, the device is the target device, then the length information of the layer needs to be added.
According to the embodiment of the invention, the wiring sections of the differential wiring groups for connecting two components in different layers are obtained by traversing each layer of the printed circuit board, the wiring sections are used as the second wiring sections in the differential wiring sections, the identification information of the two components connected with each second wiring section is obtained, the length of the second wiring section is obtained by calling the function based on the identification information of the two components connected with the second wiring section, the two second wiring sections connected with the target device in the same layer are combined into one second wiring section based on the identification information of the two components connected with the second wiring section, and the sum of the lengths of the two second wiring sections connected with the target device in the same layer is determined as the length of the combined second wiring sections, so that the length of the wiring arranged in different layers in the differential wiring unit can be more accurately and more efficiently obtained, a data basis can be provided for verifying whether the length of the two wirings arranged in each layer meets the requirement of the wiring length of the differential wiring unit, and the accuracy of the two wiring lengths arranged in each layer can be improved.
As an alternative embodiment, after the length of the first wire segment in any one of the differential wire groups is obtained in the case that the first wire segment is included in any one of the differential wire groups, the method further comprises obtaining a length difference between each pair of the first wire segments in the differential wire units based on the length of the first wire segment in each of the differential wire groups.
And under the condition that the length difference between any pair of first wire segments in the differential wire unit is determined to be larger than a predefined first length threshold value, sending out first alarm information for prompting that the length difference between any pair of first wire segments in the differential wire unit does not meet the design requirement of the wire equal length.
As an alternative embodiment, after determining the lengths of the pin compensation wires of the devices connected by the differential wire units based on the inclusion relation of the differential wire groups and the differential wire groups, the method further comprises determining whether the lengths of the pin compensation wires of each device connected by the differential wire units are greater than a predefined third length threshold.
And under the condition that the length of the pin compensation wire of any device connected with the differential wire unit is larger than a third length threshold value, sending out second alarm information for prompting that the pin compensation wire of any device connected with the differential wire unit does not meet the design requirement of the wire equal length.
As an alternative embodiment, after merging two second wire segments connected by the target device in the same layer plane into one second wire segment based on the identification information of the two components connected by the second wire segments and determining the sum of the lengths of the two second wire segments connected by the target device in the same layer plane as the length of the merged second wire segment, the method further comprises obtaining the length difference of a pair of second wire segments in the same layer plane in the differential wire unit.
And under the condition that the length difference of the pair of second wire segments at any one layer in the differential wire unit is larger than a predefined third length threshold value, sending out third alarm information for prompting that the pair of second wire segments at any one layer in the differential wire unit does not meet the wire equal length design requirement.
As an alternative embodiment, after the lengths of each differential wire set in the differential wire units are respectively obtained, the method further comprises the step of obtaining a length difference of a pair of differential wire sets in the differential wire units based on the lengths of each differential wire set in the differential wire units.
And under the condition that the length difference is larger than a predefined fourth length threshold value, fourth alarm information for prompting that the differential wiring unit does not meet the design requirement of the wiring length is sent out.
And (3) putting all information of the sorting differential signal unit into a table, comparing the information with a length threshold value set at the front end, and displaying red color if the length threshold value is exceeded.
One second trace in differential signal unit, table [1] = { netid1, xnetname1, xnetlen1, pindelay, pindelay12, neg 11, neg 12, newlist1}
Another second trace in the differential signal unit, table [2] = { netid2, xnetname2, xnetlen2, pindelay, pindelay, neg 21, neg 22, newlist2}
Calculating the difference value of (xnetlen) 1-xnetlen 2-xnetvalue, if the difference value is larger than 0, recording red display, comparing the values of (neg 11-neg 12) and (neg 12-neg 22) with neckvalue respectively, if the difference value exceeds neckvalue, comparing the difference value with perlayerValue for each layer of signal length of newlist1 and newlist2 similarly, and if the difference value exceeds perlayerValue, and performing red display.
It should be noted that, in the embodiment of the present invention, the first length threshold neckvalue may be determined based on a priori knowledge and/or actual conditions. In the embodiment of the present invention, the specific value of the first length threshold neckvalue is not limited.
It should be noted that, the second length threshold in the embodiment of the present invention may be determined based on a priori knowledge and/or actual conditions. The specific value of the second length threshold in the embodiment of the present invention is not limited.
It should be noted that, in the embodiment of the present invention, the third length threshold perlayerValue may be determined based on a priori knowledge and/or actual conditions. In the embodiment of the present invention, the specific value of the third length threshold perlayerValue is not limited.
It should be noted that, in the embodiment of the present invention, the fourth length threshold xnetvalue may be determined based on a priori knowledge and/or actual conditions. The specific value of the fourth length threshold xnetvalue in the embodiment of the present invention is not limited.
The differential wiring length acquisition method provided by the invention can quickly set the parameter values of the first length threshold value, the second length threshold value, the third length threshold value, the fourth length threshold value and the like through the front end interface of the tool, a user determines a target area through frame selection, the tool automatically calculates and matches the set parameter values for inspection, the inspection results are displayed in a list, the inspection items which do not meet the requirements are displayed in red, and the high-speed line clicking can be highlighted for positioning display, so that the labor force can be saved, and the working efficiency and the design quality of the PCB board card can be improved.
Fig. 4 is a schematic structural diagram of the differential trace length obtaining device provided by the invention. The differential trace length obtaining device provided by the present invention will be described below with reference to fig. 4, and the differential trace length obtaining device described below and the differential trace length obtaining method provided by the present invention described above may be referred to correspondingly. As shown in fig. 4, the apparatus includes a data acquisition module 401, a first identification module 402, a second identification module 403, and a length acquisition module 404.
The data acquisition module 401 is configured to acquire identification information of a trace in a target area in a printed circuit board when a task of acquiring a differential trace length for the target area is triggered, where two ends of the trace are connected to any two of a signal transmitting device, a signal receiving device and a target device.
The first identifying module 402 is configured to identify, based on the identification information of the trace, a differential trace subunit in the target area, where the differential trace subunit includes a pair of differential trace segments for connecting any two of the signal transmitting device, the signal receiving device, and the target device.
The second identifying module 403 is configured to identify differential routing units in the target area based on attribute information of the differential routing segments, and obtain lengths of each differential routing group in the differential routing units, where the differential routing group includes a plurality of differential routing segments connected by a target device.
The length obtaining module 404 is configured to obtain the length of each differential trace group in the differential trace unit.
Specifically, the data acquisition module 401, the first identification module 402, the second identification module 403, and the length acquisition module 404 are electrically connected.
According to the differential wire length acquisition device in the embodiment of the invention, under the condition that the differential wire length acquisition task for the target area in the printed circuit board is triggered, the differential wire sub-units in the target area are identified based on the identification information of wires in the target area, further, the differential wire units in the target area are identified based on the attribute information of each differential wire section in the differential wire sub-units, the lengths of each differential wire group in the differential wire units are respectively acquired, the differential wire units in the target area can be automatically identified, the lengths of the differential wires between the signal transmitting end and the signal receiving end can be acquired more accurately and more efficiently under the condition that the active end series resistor or the active end series capacitor is connected in series between the signal transmitting end and the signal receiving end, the data base can be provided for checking whether the differential wire units accord with the wire equal-length design or not, the efficiency and the accuracy of the differential wire design checking of the differential wire units can be improved, the differential wire length of each wire unit in the differential wire units is acquired, and the differential wire units with the differential wire sub-length is simple and has wide application prospect.
Fig. 5 illustrates a physical schematic diagram of an electronic device, which may include a processor (processor) 510, a communication interface (Communications Interface) 520, a memory (memory) 530, and a communication bus 540, where the processor 510, the communication interface 520, and the memory 530 perform communication with each other through the communication bus 540, as shown in fig. 5. The processor 510 may invoke logic instructions in the memory 530 to execute a differential trace length acquiring method, where the method includes acquiring identification information of a trace in a target area in a printed circuit board when a differential trace length acquiring task for the target area is triggered, connecting any two of a signal transmitting device, a signal receiving device and a target device at two ends of the trace, identifying a differential trace subunit in the target area based on the identification information of the trace, the differential trace subunit including two differential trace sections for connecting any two of the signal transmitting device, the signal receiving device and the target device, identifying a differential trace unit in the target area based on attribute information of the differential trace sections, the differential trace unit including two differential trace groups including a plurality of differential trace sections connected by the target device, connecting the signal transmitting device and the signal receiving device at two ends of the differential trace group, and acquiring lengths of each differential trace group in the differential trace unit respectively.
Further, the logic instructions in the memory 530 described above may be implemented in the form of software functional units and may be stored in a computer-readable storage medium when sold or used as a stand-alone product. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. The storage medium includes a U disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, an optical disk, or other various media capable of storing program codes.
In another aspect, the invention also provides a computer program product, which comprises a computer program, wherein the computer program can be stored on a non-transitory computer readable storage medium, and when the computer program is executed by a processor, the computer can execute the differential wire length acquisition method provided by the methods, and the method comprises the steps of acquiring identification information of wires in a target area when a differential wire length acquisition task for the target area in a printed circuit board is triggered, connecting any two of a signal transmitting device, a signal receiving device and a target device at two ends of the wires, identifying differential wire subunits in the target area based on the identification information of the wires, wherein each differential wire subunit comprises two differential wire sections for connecting any two of the signal transmitting device, the signal receiving device and the target device, identifying differential wire units in the target area based on attribute information of the differential wire sections, wherein each differential wire unit comprises two differential wire groups connected by the target device, connecting the two ends of the differential wire groups with the signal transmitting device and the signal receiving device respectively, and acquiring the differential wire length of each differential wire unit in the target area.
In still another aspect, the present invention further provides a non-transitory computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements to perform the differential trace length acquisition method provided by the above methods, the method including acquiring identification information of a trace in a target area, in a case of triggering a differential trace length acquisition task for the target area in a printed circuit board, the two ends of the trace being connected to any two of a signal transmitting device, a signal receiving device, and a target device, identifying a differential trace subunit in the target area based on the identification information of the trace, the differential trace subunit including two differential trace sections for connecting any two of the signal transmitting device, the signal receiving device, and the target device, identifying a differential trace unit in the target area based on attribute information of the differential trace sections, the differential trace unit including two differential trace groups including a plurality of differential trace sections connected by the target device, the two ends of the differential trace group being connected to the signal transmitting device and the signal receiving device, and respectively acquiring a length of each of the differential trace groups in the differential trace units.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
It should be noted that the above-mentioned embodiments are merely for illustrating the technical solution of the present invention, and not for limiting the same, and although the present invention has been described in detail with reference to the above-mentioned embodiments, it should be understood by those skilled in the art that the technical solution described in the above-mentioned embodiments may be modified or some technical features may be equivalently replaced, and these modifications or substitutions do not make the essence of the corresponding technical solution deviate from the spirit and scope of the technical solution of the embodiments of the present invention.
Claims (14)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411534200.5A CN119067059B (en) | 2024-10-31 | 2024-10-31 | Differential wiring length acquisition method and device, electronic equipment and storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411534200.5A CN119067059B (en) | 2024-10-31 | 2024-10-31 | Differential wiring length acquisition method and device, electronic equipment and storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN119067059A CN119067059A (en) | 2024-12-03 |
| CN119067059B true CN119067059B (en) | 2025-04-29 |
Family
ID=93641075
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411534200.5A Active CN119067059B (en) | 2024-10-31 | 2024-10-31 | Differential wiring length acquisition method and device, electronic equipment and storage medium |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119067059B (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111859847A (en) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | Printed circuit board trace detection method, device and computer-readable storage medium |
| CN117688897A (en) * | 2024-01-31 | 2024-03-12 | 苏州元脑智能科技有限公司 | Differential signal line parameter modification method, device, integrated circuit, equipment and medium |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7580959B2 (en) * | 2004-06-14 | 2009-08-25 | International Business Machines Corporation | Apparatus, system, and method for providing efficient disaster recovery storage of data using differencing |
-
2024
- 2024-10-31 CN CN202411534200.5A patent/CN119067059B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111859847A (en) * | 2020-06-29 | 2020-10-30 | 苏州浪潮智能科技有限公司 | Printed circuit board trace detection method, device and computer-readable storage medium |
| CN117688897A (en) * | 2024-01-31 | 2024-03-12 | 苏州元脑智能科技有限公司 | Differential signal line parameter modification method, device, integrated circuit, equipment and medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119067059A (en) | 2024-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107194058A (en) | One kind is segmented isometric automatic checking method and system based on differential pair on PCB | |
| TW201405144A (en) | System and method for checking via holes of differential signal lines | |
| CN108846176A (en) | A kind of inspection method of printed circuit board wiring, device and electronic equipment | |
| CN115081389B (en) | A printed circuit board wiring inspection method, device, equipment and storage medium | |
| CN107220442A (en) | A kind of difference through hole for PCB is to detection instrument | |
| CN108536915B (en) | A method and device for designing pads in a PCB design diagram of a printed circuit board | |
| CN114137332A (en) | Signal testing device, method, computer equipment and storage medium | |
| CN109815570A (en) | A method to check for the presence of traces between differential signal vias | |
| CN113673199B (en) | Design self-checking method, system and device for controllable depth drilling and storage medium | |
| CN117910395A (en) | Method, device, equipment and storage medium for constructing network relation of PCB layout | |
| US7430729B2 (en) | Design rule report utility | |
| CN117688897B (en) | Differential signal line parameter modification method, device, integrated circuit, equipment and medium | |
| CN109299538A (en) | Layout design detection method and device | |
| CN119067059B (en) | Differential wiring length acquisition method and device, electronic equipment and storage medium | |
| US10176288B1 (en) | System and method for placing components in an electronic circuit design | |
| CN112946365A (en) | Method for automatically making impedance test file, electronic equipment and storage medium | |
| CN115544953B (en) | Method, device, equipment and readable medium for PCB impedance simulation test optimization | |
| CN111050493A (en) | Method for determining shape of via hole reverse pad and printed circuit board | |
| CN113807044B (en) | Anti-crosstalk PCIE port channel design method, system, terminal and storage medium | |
| US7346870B2 (en) | System and method for verifying trace widths of a PCB layout | |
| CN114638186B (en) | A method and device for simulating a printed circuit board | |
| CN107656187B (en) | Differential line test information determining method and device | |
| CN118503214A (en) | Engineering file processing method and device and electronic equipment | |
| CN116070576B (en) | Differential signal line-to-line-spacing modification method and device, electronic equipment and storage medium | |
| JP3991224B2 (en) | Card design verification method and card design verification system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |