CN111324999A - Method and system for automatically creating via hole in PCB design - Google Patents
Method and system for automatically creating via hole in PCB design Download PDFInfo
- Publication number
- CN111324999A CN111324999A CN202010130248.5A CN202010130248A CN111324999A CN 111324999 A CN111324999 A CN 111324999A CN 202010130248 A CN202010130248 A CN 202010130248A CN 111324999 A CN111324999 A CN 111324999A
- Authority
- CN
- China
- Prior art keywords
- via hole
- line segment
- routing
- calculating
- coordinate
- 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.)
- Granted
Links
- 238000013461 design Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000007547 defect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
The invention relates to the technical field of PCB design, and provides a method and a system for automatically creating a via hole in PCB design, wherein the method comprises the following steps: calculating the total length L of the routing according to the selected routing; calculating the distance S between the pre-created via holes according to the number N of the pre-created via holes and the total length L of the routing obtained by calculation; calculating the coordinate parameter (x) of the pre-established via hole on the selected routing according to the calculated space S between the via holesi,yi) (ii) a According to the calculated coordinate parameter (x) of the pre-created via holei,yi) And the via hole is created in the PCB design window, so that the via hole is quickly created in the PCB design window, the defects of slow and inaccurate manual operation and unattractive appearance are overcome, the PCB design period is shortened, and the working efficiency and the accuracy are improved.
Description
Technical Field
The invention belongs to the technical field of PCB design, and particularly relates to a method and a system for automatically creating a via hole in PCB design.
Background
There are many kinds of PCB design software on the market, Cadence is the most widely applied software in the industry, not only it has powerful functions and many kinds of related software as support, but also because it provides open secondary development interface and more perfect development language library, the user can develop according to his own needs.
The twist language is a high-level programming language which is built in Cadence software and is based on a C language and a LISP language, and can be used as a simplest language tool and a powerful programming language for developing any application. Skill can interact with the underlying system, providing a rich interface to access Cadence tools. Users can access through the Skill language and develop their own Cadence-based platform tools.
When designing a PCB test verification board, an engineer needs to perform impedance verification on a routing wire, sometimes needs to create VIAs uniformly on the routing wires for testing, and the existing mode is to observe through human eyes and calculate an approximate value to create the VIAs, so that the mode is low in efficiency and inaccurate in calculation.
Disclosure of Invention
Aiming at the defects in the prior art, the invention provides an automatic VIA hole creating method in PCB design, aiming at solving the problems that the VIA is created by calculating an approximate value through human eye observation in the prior art, the method has low efficiency and the calculation is not accurate enough.
The technical scheme provided by the invention is as follows: a method for automatically creating a via in a PCB design, the method comprising the steps of:
calculating the total length L of the routing according to the selected routing;
calculating a distance S between the pre-established via holes according to the number N of the pre-established via holes and the total length L of the routing obtained by calculation, wherein S is L/N;
calculating the coordinate parameter (x) of the pre-established via hole on the selected routing according to the calculated space S between the via holesi,yi) Wherein i is an integer greater than or equal to 1 and less than or equal to N, and corresponds to the pre-established via hole on the trace;
according to the calculated coordinate parameter (x) of the pre-created via holei,yi) And creating a via hole in the PCB design window.
As an improved scheme, the step of calculating the total length L of the trace according to the selected trace specifically includes the following steps:
selecting a routing needing to create a via hole in a PCB design window, wherein the routing comprises two situations of a routing line segment and a whole routing line consisting of a plurality of line segments;
acquiring coordinate parameters of a starting point and an end point of the selected routing line segment;
in the PCB design window, calculating the total length L of the selected wire according to the obtained coordinate parameters of the starting point and the end point of the wire segment, wherein L is L1+L2+…+LnAnd n is an integer of 1 or more.
As an improved scheme, when n is 1, calculating a coordinate parameter (x) of a pre-created via on the selected trace according to the calculated space S between the viasi,yi) The method specifically comprises the following steps:
respectively calculating the via holes ZiAnd the starting point A (X) of the routing1,Y1) Distance L ofAZiAnd the via hole ZiAnd the wiring end point B (X)2,Y2) Distance L ofZiB;
Calculating the current pre-created via hole ZiA value of the calculation constant λ is equal to the via hole ZiAnd the starting point A (X) of the routing1,Y1) And the via hole ZiAnd the wiring end point B (X)2,Y2) I.e. λ ═ LAZi/LZiB;
Respectively calculating the coordinate parameter (x) of each pre-established via hole on the routing according to the calculation constant lambdai,yi) Wherein X ═ X1+λ*X2)/(1+λ),y=(Y1+λ*Y2)/(1+λ)。
As an improvement, when n is>1, calculating a coordinate parameter (x) of a pre-established via hole on the selected routing according to the calculated distance S between the via holesi,yi) The method specifically comprises the following steps:
sorting all the line segments according to the extending direction of the line according to the obtained coordinate parameters of the starting points and the end points of all the n line segments of the selected line, wherein the coordinates of the starting point of the next line segment are overlapped with the coordinates of the end point of the previous line segment, and n is more than or equal to 2;
calculating the coordinate parameter (x) of all pre-created via holes on the first line segment after sorting according to the line segments1i,y1i);
Judging whether the coordinate of the last pre-created via hole on the first line segment is coincident with the end point coordinate of the first line segment;
when the coordinate of the last pre-created via hole on the first line segment is judged to be coincident with the coordinate of the end point of the first line segment, calculating the coordinate parameter (x) of all pre-created via holes on the second line segment1i,y1i);
When the coordinate of the last pre-created via hole on the first line segment is judged not to be coincident with the terminal point coordinate of the first line segment, the last pre-created via hole Z on the first line segment is obtained1mCoordinate (x) of1m,y1m) Calculating the remaining length l of the trace on the first line segment1;
According to the calculated distance S between the pre-established via holes and the residual routing length l on the first line segment1Calculating the compensation length l of the trace on the second line segment2;
According to the calculated routing compensation length l2Calculating the coordinate parameter (x) of all the pre-created via holes on the second line segment2i,y2i);
And the analogy is carried out from the second line segment until the coordinate parameter (x) of the last pre-created via hole of the last line segment is calculatedNk,yNk)。
As an improved scheme, the coordinate parameter (x) of all the pre-created through holes on the first line segment after the line segment is sequenced is calculated1i,y1i) The method specifically comprises the following steps:
respectively calculating the via holes Z1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole Z1iAnd the wiring end point B (X)21,Y21) Is/are as followsDistance LZ1iBWherein i is an integer greater than 1 and corresponds to a pre-established via hole on the trace;
calculating the current pre-created via hole Z1iA value of the calculation constant λ is equal to the via hole Z1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole ZiAnd the wiring end point B (X)12,Y12) Distance L ofZ1iBI.e. λ ═ LAZ1i/LZ1iB;
Respectively calculating the coordinate parameter (x) of each pre-established via hole on the routing according to the calculation constant lambda1i,y1i) Wherein x is1i=(X11+λ*X12)/(1+λ),y1i=(Y11+λ*Y12)/(1+λ)。
Another object of the present invention is to provide a system for automatically creating a via in a PCB design, the system comprising:
the routing total length calculating module is used for calculating the total length L of the routing according to the selected routing;
the via hole pitch calculation module is used for calculating a pitch S between the pre-created via holes according to the number N of the pre-created via holes and the total length L of the routing obtained through calculation, wherein S is L/N;
a via hole coordinate parameter calculation module for calculating the coordinate parameter (x) of the pre-created via hole on the selected trace according to the calculated space S between the via holesi,yi) Wherein i is an integer greater than or equal to 1 and less than or equal to N, and corresponds to the pre-established via hole on the trace;
a via hole creation module for calculating the coordinate parameter (x) of the pre-created via holei,yi) And creating a via hole in the PCB design window.
As an improved solution, the total track length calculating module specifically includes:
the routing selection module is used for selecting a routing needing to establish a via hole in a PCB design window, wherein the routing comprises two situations of a routing line segment and a whole routing line consisting of a plurality of line segments;
the coordinate parameter acquisition module is used for acquiring coordinate parameters of a starting point and an end point of the selected routing line segment;
a summary calculating module, configured to calculate, in the PCB design window, a total length L of the selected trace according to the obtained coordinate parameters of the start point and the end point of the trace line segment, where L is L1+L2+…+LnAnd n is an integer of 1 or more.
As an improved scheme, when n is 1, the via coordinate parameter calculation module specifically includes:
a first distance calculating module for calculating the via holes Z respectivelyiAnd the starting point A (X) of the routing1,Y1) Distance L ofAZiAnd the via hole ZiAnd the wiring end point B (X)2,Y2) Distance L ofZiB;
A first calculation constant calculation module for calculating the current pre-created via hole ZiA value of the calculation constant λ is equal to the via hole ZiAnd the starting point A (X) of the routing1,Y1) And the via hole ZiAnd the wiring end point B (X)2,Y2) I.e. λ ═ LAZi/LZiB;
A first coordinate parameter calculation module for calculating the coordinate parameter (x) of each pre-established via hole on the trace line according to the calculation constant λi,yi) Wherein X ═ X (X)1+λ*X2)/(1+λ),y=(Y1+λ*Y2)/(1+λ)。
As an improved scheme, when n >1, the via coordinate parameter calculation module specifically includes:
the routing sorting module is used for sorting all the line segments according to the extending direction of the routing according to the obtained coordinate parameters of the starting point and the end point of all the n line segments of the selected routing, wherein the coordinates of the starting point of the next line segment are overlapped with the coordinates of the end point of the previous line segment, and n is more than or equal to 2;
a first line segment via hole coordinate calculation module for calculating coordinate parameters (x) of all pre-created via holes on the first line segment after sorting according to line segments1i,y1i);
The coincidence judgment module is used for judging whether the coordinate of the last pre-established via hole on the first line segment coincides with the end point coordinate of the first line segment;
a second line segment via hole coordinate first calculation module, configured to calculate coordinate parameters (x) of all pre-created via holes on a second line segment when it is determined that the coordinate of the last pre-created via hole on the first line segment coincides with the end point coordinate of the first line segment1i,y1i);
A remaining trace length calculating module, configured to, when it is determined that the coordinate of the last pre-created via on the first line segment is not coincident with the end point coordinate of the first line segment, obtain a Z-value of the last pre-created via on the first line segment1mCoordinate (x) of1m,y1m) Calculating the remaining length l of the trace on the first line segment1;
A routing compensation length calculating module, configured to calculate a distance S between the pre-created via holes and a remaining routing length l on the first line segment according to the calculated distance S between the pre-created via holes and the calculated remaining routing length l1Calculating the compensation length l of the trace on the second line segment2;
A second calculation module for calculating the via hole coordinate of the second line segment according to the calculated compensation length l of the routing2Calculating the coordinate parameter (x) of all the pre-created via holes on the second line segment2i,y2i);
And the analogy calculation module is used for analogy in sequence from the second line segment until the coordinate parameter (x) of the last pre-created via hole of the last line segment is calculatedNk,yNk)。
As an improved scheme, the first line segment via hole coordinate calculation module specifically includes:
a second distance calculating module for calculating the via holes respectivelyZ1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole Z1iAnd the wiring end point B (X)21,Y21) Distance L ofZ1iBWherein i is an integer greater than 1 and corresponds to a pre-established via hole on the trace;
a second calculation constant calculation module for calculating the current pre-created via hole Z1iA value of the calculation constant λ is equal to the via hole Z1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole ZiAnd the wiring end point B (X)12,Y12) Distance L ofZ1iBI.e. λ ═ LAZ1i/LZ1iB;
A second coordinate parameter calculating module for calculating the coordinate parameter (x) of each pre-established via hole on the trace line according to the calculation constant λ1i,y1i) Wherein x is1i=(X11+λ*X12)/(1+λ),y1i=(Y11+λ*Y12)/(1+λ)。
In the embodiment of the invention, the total length L of the routing is calculated according to the selected routing; calculating the distance S between the pre-created via holes according to the number N of the pre-created via holes and the total length L of the routing obtained by calculation; calculating the coordinate parameter (x) of the pre-established via hole on the selected routing according to the calculated space S between the via holesi,yi) (ii) a According to the calculated coordinate parameter (x) of the pre-created via holei,yi) And the via hole is created in the PCB design window, so that the via hole is quickly created in the PCB design window, the defects of slow and inaccurate manual operation and unattractive appearance are overcome, the PCB design period is shortened, and the working efficiency and the accuracy are improved.
Drawings
In order to more clearly illustrate the detailed description of the invention or the technical solutions in the prior art, the drawings that are needed in the detailed description of the invention or the prior art will be briefly described below. Throughout the drawings, like elements or portions are generally identified by like reference numerals. In the drawings, elements or portions are not necessarily drawn to scale.
FIG. 1 is a flow chart of an implementation of a method for automatically creating via holes in a PCB design according to the present invention;
fig. 2 is a flowchart illustrating an implementation of calculating a total length L of a trace according to a selected trace according to the present invention;
fig. 3 is a diagram illustrating a coordinate parameter (x) of a pre-created via on a selected trace calculated according to a calculated distance S between vias when n is equal to 1 according to the present inventioni,yi) The implementation flow chart of (1);
FIG. 4 is a graph showing the equation when n is provided by the present invention>1, calculating a coordinate parameter (x) of a pre-established via hole on the selected routing according to the calculated distance S between the via holesi,yi) The implementation flow chart of (1);
FIG. 5 is a table illustrating the coordinate parameters (x) for all pre-created vias on a first line segment after sorting the line segments according to the present invention1i,y1i) The implementation flow chart of (1);
FIG. 6 is a block diagram of an automatic via creation system for PCB design according to the present invention;
fig. 7 is a block diagram of a via coordinate parameter calculation module according to a first embodiment of the present invention;
FIG. 8 is a block diagram of a via coordinate parameter calculation module according to a second embodiment of the present invention;
fig. 9 is a block diagram of a first line segment via coordinate calculation module provided in the present invention.
Detailed Description
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. The following examples are merely for illustrating the technical solutions of the present invention more clearly, and therefore are only examples, and the protection scope of the present invention is not limited thereby.
Fig. 1 is a flowchart of an implementation of a method for automatically creating a via hole in a PCB design, which specifically includes the following steps:
in step S101, calculating a total length L of the routing according to the selected routing;
in step S102, calculating a distance S between the pre-created via holes according to the number N of the pre-created via holes and the calculated total length L of the trace, where S is L/N;
the number of the via holes is determined according to the design of the PCB, and is not described herein any more, that is, N via holes are uniformly arranged on the whole routing line.
In step S103, according to the calculated distance S between the vias, a coordinate parameter (x) of the pre-created via on the selected trace is calculatedi,yi) Wherein i is an integer greater than or equal to 1 and less than or equal to N, and corresponds to the pre-established via hole on the trace;
in step S104, the coordinate parameter (x) of the pre-created via hole is calculatedi,yi) And creating a via hole in the PCB design window.
In this step, there are various ways to create the via, such as axlddbcreatevia, which are not described herein again.
In the embodiment of the present invention, as shown in fig. 2, the step of calculating the total length L of the routing line according to the selected routing line specifically includes the following steps:
in step S201, in a PCB design window, selecting a trace that needs to create a via, where the trace includes two situations, namely a trace line segment and a whole trace composed of multiple line segments;
in the PCB design window, the corresponding trace can be selected according to the actual impedance verification requirement, and one or several of the traces can be selected, or of course, the trace can be selected completely, which is not described herein again.
In step S202, coordinate parameters of a start point and an end point of the selected routing line segment are obtained;
in this step, the coordinate parameters of the start point and the end point of each line segment are known and can be obtained from the attribute parameters.
In step S203, in the PCB design window, according to the obtained starting point and end point of the trace line segmentCalculating the total length L of the selected routing, wherein L is L1+L2+…+LnAnd n is an integer of 1 or more.
In this step, in the PCB design window, after the coordinate parameters of the initial point and the end point of the line segment are known, the length of the line segment is calculated, which is a known manner and is not described herein again.
In the embodiment of the present invention, as shown in fig. 3, when n is 1, the coordinate parameter (x) of the pre-created via on the selected trace is calculated according to the calculated space S between the viasi,yi) The method specifically comprises the following steps:
in step S301, the via holes Z are respectively calculatediAnd the starting point A (X) of the routing1,Y1) Distance L ofAZiAnd the via hole ZiAnd the wiring end point B (X)2,Y2) Distance L ofZiBWherein i is an integer greater than 1 and corresponds to a pre-established via hole on the trace;
in step S302, the current pre-created via Z is calculatediA value of the calculation constant λ is equal to the via hole ZiAnd the starting point A (X) of the routing1,Y1) And the via hole ZiAnd the wiring end point B (X)2,Y2) I.e. λ ═ LAZi/LZiB;
In step S303, according to the calculation constant λ, respectively calculating a coordinate parameter (x) of each pre-created via on the tracei,yi) Wherein X ═ X (X)1+λ*X2)/(1+λ),y=(Y1+λ*Y2)/(1+λ)。
The above provides a way of calculating the coordinates of each via that selects a line segment, where the via may coincide with the coordinates of the end point of the line segment.
In the embodiment of the present invention, as shown in FIG. 4, when n is>1, calculating a coordinate parameter (x) of a pre-established via hole on the selected routing according to the calculated distance S between the via holesi,yi) The method specifically comprises the following steps:
in step S401, according to the obtained coordinate parameters of the starting point and the end point of all n line segments of the selected routing, all the line segments are sorted according to the extending direction of the routing, wherein the coordinates of the starting point of the next line segment coincide with the coordinates of the end point of the previous line segment, and n is greater than or equal to 2;
in step S402, the coordinate parameters (x) of all pre-created vias on the first line segment sorted by line segment are calculated1i,y1i);
In step S403, determining whether the coordinate of the last pre-created via on the first line segment coincides with the end point coordinate of the first line segment, if so, executing step S404, otherwise, executing step S405;
in step S404, when it is determined that the coordinates of the last pre-created via on the first line segment coincide with the coordinates of the end point of the first line segment, the coordinate parameters (x) of all pre-created vias on the second line segment are calculated1i,y1i);
In step S405, when it is determined that the coordinate of the last pre-created via hole on the first line segment does not coincide with the end point coordinate of the first line segment, according to the obtained last pre-created via hole Z on the first line segment1mCoordinate (x) of1m,y1m) Calculating the remaining length l of the trace on the first line segment1;
In step S406, according to the calculated distance S between the pre-created vias and the remaining trace length l on the first line segment1Calculating the compensation length l of the trace on the second line segment2;
The distance S between the pre-created via holes is equal to the remaining trace length l on the first line segment1+ second line segment routing compensation length l2。
In step S407, the calculated trace compensation length l is used to compensate the trace2Calculating the coordinate parameter (x) of all the pre-created via holes on the second line segment2i,y2i);
In step S408, the analogy is repeated from the second line segment until the coordinate parameter (x) of the last pre-created via hole of the last line segment is calculatedNk,yNk)。
When the last via of one of the segments does not coincide with the end point, a difference needs to be calculated and compensated for by a certain length of the next segment.
As shown in fig. 5, the coordinate parameters (x) of all the pre-created vias on the first line segment after sorting by line segment are calculated1i,y1i) The method specifically comprises the following steps:
in step S501, the via holes Z are respectively calculated1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole Z1iAnd the wiring end point B (X)21,Y21) Distance L ofZ1iBWherein i is an integer greater than 1 and corresponds to a pre-established via hole on the trace;
in step S502, the current pre-created via Z is calculated1iA value of the calculation constant λ is equal to the via hole Z1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole ZiAnd the wiring end point B (X)12,Y12) Distance L ofZ1iBI.e. λ ═ LAZ1i/LZ1iB;
In step S503, according to the calculation constant λ, respectively calculating a coordinate parameter (x) of each pre-created via on the trace1i,y1i) Wherein x is1i=(X11+λ*X12)/(1+λ),y1i=(Y11+λ*Y12)/(1+λ)。
Fig. 6 shows a block diagram of an automatic via creation system in a PCB design provided by the present invention, and for convenience of illustration, only the parts related to the embodiment of the present invention are shown in the diagram.
The automatic via creating system in PCB design comprises:
the routing total length calculating module 11 is configured to calculate a total length L of the routing according to the selected routing;
the via hole pitch calculation module 12 is configured to calculate a pitch S between the pre-created via holes according to the number N of the pre-created via holes and the calculated total length L of the trace, where S is L/N;
a via hole coordinate parameter calculation module 13, configured to calculate a coordinate parameter (x) of a pre-created via hole on the selected trace according to the calculated distance S between the via holesi,yi) Wherein i is an integer greater than or equal to 1 and less than or equal to N, and corresponds to the pre-established via hole on the trace;
a via creating module 14 for calculating the coordinate parameter (x) of the pre-created via according to the calculated coordinate parameter (x)i,yi) And creating a via hole in the PCB design window.
In this embodiment, as shown in fig. 6, the total track length calculating module 11 specifically includes:
the routing selection module 15 is used for selecting a routing needing to create a via hole in a PCB design window, wherein the routing comprises two situations of a routing line segment and a whole routing line consisting of a plurality of line segments;
a coordinate parameter obtaining module 16, configured to obtain coordinate parameters of a starting point and an ending point of the selected routing line segment;
a summary calculating module 17, configured to calculate, in the PCB design window, a total length L of the selected trace according to the obtained coordinate parameters of the start point and the end point of the trace line segment, where L is L1+L2+…+LnAnd n is an integer of 1 or more.
In this embodiment of the present invention, as shown in fig. 7, when n is equal to 1, the via coordinate parameter calculation module 13 specifically includes:
a first distance calculating module 18 for calculating the via holes Z respectivelyiAnd the starting point A (X) of the routing1,Y1) Distance L ofAZiAnd the via hole ZiAnd the wiring end point B (X)2,Y2) Distance L ofZiBWherein i is an integer greater than 1, and is opposite to the pre-established via hole on the traceThe preparation method comprises the following steps of;
a first calculation constant calculation module 19 for calculating the via hole Z pre-created currentlyiA value of the calculation constant λ is equal to the via hole ZiAnd the starting point A (X) of the routing1,Y1) And the via hole ZiAnd the wiring end point B (X)2,Y2) I.e. λ ═ LAZi/LZiB;
A first coordinate parameter calculating module 20, configured to calculate, according to the calculation constant λ, a coordinate parameter (x) of each pre-created via on the trace respectivelyi,yi) Wherein X ═ X (X)1+λ*X2)/(1+λ),y=(Y1+λ*Y2)/(1+λ)。
As shown in fig. 8, when n >1, the via coordinate parameter calculation module 13 specifically includes:
the routing sorting module 21 is configured to sort all the line segments according to the extending direction of the routing according to the obtained coordinate parameters of the starting point and the end point of all the n line segments of the selected routing, where a coordinate of the starting point of a subsequent line segment coincides with a coordinate of the end point of a previous line segment, and n is greater than or equal to 2;
a first line segment via hole coordinate calculation module 22, configured to calculate coordinate parameters (x) of all pre-created via holes on the first line segment sorted according to line segment1i,y1i);
A coincidence judging module 23, configured to judge whether a coordinate of a last pre-created via hole on the first line segment coincides with a terminal coordinate of the first line segment;
a second line segment via coordinate first calculation module 24, configured to calculate coordinate parameters (x) of all pre-created vias on a second line segment when it is determined that the coordinate of the last pre-created via on the first line segment coincides with the end point coordinate of the first line segment1i,y1i);
A remaining routing length calculating module 25, configured to determine the coordinates of the last pre-created via on the first line segment and the end point of the first line segment when determining that the coordinates of the last pre-created via on the first line segment and the end point of the first line segment are locatedWhen the marks are not coincident, according to the last pre-established via hole Z on the obtained first line segment1mCoordinate (x) of1m,y1m) Calculating the remaining length l of the trace on the first line segment1;
A trace compensation length calculating module 26, configured to calculate a distance S between the pre-created via holes and a remaining trace length l on the first line segment according to the calculated distance S between the pre-created via holes and the calculated remaining trace length l1Calculating the compensation length l of the trace on the second line segment2;
A second calculating module 27 for calculating the second line segment via hole coordinate, which is used for calculating the calculated trace compensation length l2Calculating the coordinate parameter (x) of all the pre-created via holes on the second line segment2i,y2i);
And the analogy calculation module 28 is used for analogy from the second line segment to the analogy until the coordinate parameter (x) of the last pre-created via hole of the last line segment is calculatedNk,yNk)。
In this embodiment, as shown in fig. 9, the first line segment via coordinate calculation module 24 specifically includes:
a second distance calculating module 29 for calculating the via holes Z respectively1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole Z1iAnd the wiring end point B (X)21,Y21) Distance L ofZ1iBWherein i is an integer greater than 1 and corresponds to a pre-established via hole on the trace;
a second calculation constant calculation module 30 for calculating the current pre-created via hole Z1iA value of the calculation constant λ is equal to the via hole Z1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole ZiAnd the wiring end point B (X)12,Y12) Distance L ofZ1iBI.e. λ ═ LAZ1i/LZ1iB;
A second coordinate parameter calculating module 31, configured to calculate each pre-created trace on the trace according to the calculation constant λCoordinate parameter (x) of via1i,y1i) Wherein x is1i=(X11+λ*X12)/(1+λ),y1i=(Y11+λ*Y12)/(1+λ)。
In the embodiment of the invention, the total length L of the routing is calculated according to the selected routing; calculating the distance S between the pre-created via holes according to the number N of the pre-created via holes and the total length L of the routing obtained by calculation; calculating the coordinate parameter (x) of the pre-established via hole on the selected routing according to the calculated space S between the via holesi,yi) (ii) a According to the calculated coordinate parameter (x) of the pre-created via holei,yi) And the via hole is created in the PCB design window, so that the via hole is quickly created in the PCB design window, the defects of slow and inaccurate manual operation and unattractive appearance are overcome, the PCB design period is shortened, and the working efficiency and the accuracy are improved.
The above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; such modifications and substitutions do not depart from the spirit and scope of the present invention, and they should be construed as being included in the following claims and description.
Claims (10)
1. A method for automatically creating a via hole in a PCB design, the method comprising the steps of:
calculating the total length L of the routing according to the selected routing;
calculating a distance S between the pre-established via holes according to the number N of the pre-established via holes and the total length L of the routing obtained by calculation, wherein S is L/N;
calculating the seat of the pre-established via hole on the selected routing according to the calculated distance S between the via holesTarget parameter (x)i,yi) Wherein i is an integer greater than or equal to 1 and less than or equal to N, and corresponds to the pre-established via hole on the trace;
according to the calculated coordinate parameter (x) of the pre-created via holei,yi) And creating a via hole in the PCB design window.
2. The method for automatically creating a via in a PCB design according to claim 1, wherein the step of calculating the total length L of the trace according to the selected trace specifically comprises the steps of:
selecting a routing needing to create a via hole in a PCB design window, wherein the routing comprises two situations of a routing line segment and a whole routing line consisting of a plurality of line segments;
acquiring coordinate parameters of a starting point and an end point of the selected routing line segment;
in the PCB design window, calculating the total length L of the selected wire according to the obtained coordinate parameters of the starting point and the end point of the wire segment, wherein L is L1+L2+…+LnAnd n is an integer of 1 or more.
3. The method according to claim 2, wherein when n is 1, the coordinate parameter (x) of the pre-created via on the selected trace is calculated according to the calculated distance S between the viasi,yi) The method specifically comprises the following steps:
respectively calculating the via holes ZiAnd the starting point A (X) of the routing1,Y1) Distance L ofAZiAnd the via hole ZiAnd the wiring end point B (X)2,Y2) Distance L ofZiB;
Calculating the current pre-created via hole ZiA value of the calculation constant λ is equal to the via hole ZiAnd the starting point A (X) of the routing1,Y1) And the via hole ZiAnd the wiring end point B (X)2,Y2) Distance ofThe ratio of the distances, i.e. λ ═ LAZi/LZiB;
Respectively calculating the coordinate parameter (x) of each pre-established via hole on the routing according to the calculation constant lambdai,yi) Wherein X ═ X (X)1+λ*X2)/(1+λ),y=(Y1+λ*Y2)/(1+λ)。
4. The method of claim 2, wherein when n is the number of vias in the PCB design, the method further comprises>1, calculating a coordinate parameter (x) of a pre-established via hole on the selected routing according to the calculated distance S between the via holesi,yi) The method specifically comprises the following steps:
sorting all the line segments according to the extending direction of the line according to the obtained coordinate parameters of the starting points and the end points of all the n line segments of the selected line, wherein the coordinates of the starting point of the next line segment are overlapped with the coordinates of the end point of the previous line segment, and n is more than or equal to 2;
calculating the coordinate parameter (x) of all pre-created via holes on the first line segment after sorting according to the line segments1i,y1i);
Judging whether the coordinate of the last pre-created via hole on the first line segment is coincident with the end point coordinate of the first line segment;
when the coordinate of the last pre-created via hole on the first line segment is judged to be coincident with the coordinate of the end point of the first line segment, calculating the coordinate parameter (x) of all pre-created via holes on the second line segment1i,y1i);
When the coordinate of the last pre-created via hole on the first line segment is judged not to be coincident with the terminal point coordinate of the first line segment, the last pre-created via hole Z on the first line segment is obtained1mCoordinate (x) of1m,y1m) Calculating the remaining length l of the trace on the first line segment1;
According to the calculated distance S between the pre-established via holes and the residual routing length l on the first line segment1Calculating the compensation length l of the trace on the second line segment2;
According to the calculated routing compensation length l2Calculating the coordinate parameter (x) of all the pre-created via holes on the second line segment2i,y2i);
And the analogy is carried out from the second line segment until the coordinate parameter (x) of the last pre-created via hole of the last line segment is calculatedNk,yNk)。
5. The method of claim 4, wherein the computing of the coordinate parameter (x) of all pre-created vias on the first line segment after sorting by line segments is performed1i,y1i) The method specifically comprises the following steps:
respectively calculating the via holes Z1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole Z1iAnd the wiring end point B (X)21,Y21) Distance L ofZ1iBWherein i is an integer greater than 1 and corresponds to a pre-established via hole on the trace;
calculating the current pre-created via hole Z1iA value of the calculation constant λ is equal to the via hole Z1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole ZiAnd the wiring end point B (X)12,Y12) Distance L ofZ1iBI.e. λ ═ LAZ1i/LZ1iB;
Respectively calculating the coordinate parameter (x) of each pre-established via hole on the routing according to the calculation constant lambda1i,y1i) Wherein x is1i=(X11+λ*X12)/(1+λ),y1i=(Y11+λ*Y12)/(1+λ)。
6. An automatic via creation system in a PCB design, the system comprising:
the routing total length calculating module is used for calculating the total length L of the routing according to the selected routing;
the via hole pitch calculation module is used for calculating a pitch S between the pre-created via holes according to the number N of the pre-created via holes and the total length L of the routing obtained through calculation, wherein S is L/N;
a via hole coordinate parameter calculation module for calculating the coordinate parameter (x) of the pre-created via hole on the selected trace according to the calculated space S between the via holesi,yi) Wherein i is an integer greater than or equal to 1 and less than or equal to N, and corresponds to the pre-established via hole on the trace;
a via hole creation module for calculating the coordinate parameter (x) of the pre-created via holei,yi) And creating a via hole in the PCB design window.
7. The system for automatically creating vias in PCB design of claim 6, wherein said total track length calculation module specifically comprises:
the routing selection module is used for selecting a routing needing to establish a via hole in a PCB design window, wherein the routing comprises two situations of a routing line segment and a whole routing line consisting of a plurality of line segments;
the coordinate parameter acquisition module is used for acquiring coordinate parameters of a starting point and an end point of the selected routing line segment;
a summary calculating module, configured to calculate, in the PCB design window, a total length L of the selected trace according to the obtained coordinate parameters of the start point and the end point of the trace line segment, where L is L1+L2+…+LnAnd n is an integer of 1 or more.
8. The system for automatically creating a via in a PCB design according to claim 7, wherein when n is 1, the via coordinate parameter calculation module specifically comprises:
a first distance calculating module for calculating the via holes Z respectivelyiAnd the starting point A (X) of the routing1,Y1) Distance L ofAZiAndthe via hole ZiAnd the wiring end point B (X)2,Y2) Distance L ofZiB;
A first calculation constant calculation module for calculating the current pre-created via hole ZiA value of the calculation constant λ is equal to the via hole ZiAnd the starting point A (X) of the routing1,Y1) And the via hole ZiAnd the wiring end point B (X)2,Y2) I.e. λ ═ LAZi/LZiB;
A first coordinate parameter calculation module for calculating the coordinate parameter (x) of each pre-established via hole on the trace line according to the calculation constant λi,yi) Wherein X ═ X (X)1+λ*X2)/(1+λ),y=(Y1+λ*Y2)/(1+λ)。
9. The system of claim 7, wherein when n >1, the via coordinate parameter calculation module specifically comprises:
the routing sorting module is used for sorting all the line segments according to the extending direction of the routing according to the obtained coordinate parameters of the starting point and the end point of all the n line segments of the selected routing, wherein the coordinates of the starting point of the next line segment are overlapped with the coordinates of the end point of the previous line segment, and n is more than or equal to 2;
a first line segment via hole coordinate calculation module for calculating coordinate parameters (x) of all pre-created via holes on the first line segment after sorting according to line segments1i,y1i);
The coincidence judgment module is used for judging whether the coordinate of the last pre-established via hole on the first line segment coincides with the end point coordinate of the first line segment;
a second line segment via hole coordinate first calculation module, configured to calculate coordinate parameters (x) of all pre-created via holes on a second line segment when it is determined that the coordinate of the last pre-created via hole on the first line segment coincides with the end point coordinate of the first line segment1i,y1i);
A remaining trace length calculating module, configured to, when it is determined that the coordinate of the last pre-created via on the first line segment is not coincident with the end point coordinate of the first line segment, obtain a Z-value of the last pre-created via on the first line segment1mCoordinate (x) of1m,y1m) Calculating the remaining length l of the trace on the first line segment1;
A routing compensation length calculating module, configured to calculate a distance S between the pre-created via holes and a remaining routing length l on the first line segment according to the calculated distance S between the pre-created via holes and the calculated remaining routing length l1Calculating the compensation length l of the trace on the second line segment2;
A second calculation module for calculating the via hole coordinate of the second line segment according to the calculated compensation length l of the routing2Calculating the coordinate parameter (x) of all the pre-created via holes on the second line segment2i,y2i);
And the analogy calculation module is used for analogy in sequence from the second line segment until the coordinate parameter (x) of the last pre-created via hole of the last line segment is calculatedNk,yNk)。
10. The system for automatically creating vias in a PCB design of claim 9, wherein the first line segment via coordinate calculation module specifically comprises:
a second distance calculating module for calculating the via holes Z respectively1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole Z1iAnd the wiring end point B (X)21,Y21) Distance L ofZ1iBWherein i is an integer greater than 1 and corresponds to a pre-established via hole on the trace;
a second calculation constant calculation module for calculating the current pre-created via hole Z1iA value of the calculation constant λ is equal to the via hole Z1iAnd the starting point A (X) of the routing11,Y11) Distance L ofAZ1iAnd the via hole ZiAnd the above-mentionedTrace end point B (X)12,Y12) Distance L ofZ1iBI.e. λ ═ LAZ1i/LZ1iB;
A second coordinate parameter calculating module for calculating the coordinate parameter (x) of each pre-established via hole on the trace line according to the calculation constant λ1i,y1i) Wherein x is1i=(X11+λ*X12)/(1+λ),y1i=(Y11+λ*Y12)/(1+λ)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010130248.5A CN111324999B (en) | 2020-02-28 | 2020-02-28 | Method and system for automatically creating via hole in PCB design |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010130248.5A CN111324999B (en) | 2020-02-28 | 2020-02-28 | Method and system for automatically creating via hole in PCB design |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324999A true CN111324999A (en) | 2020-06-23 |
CN111324999B CN111324999B (en) | 2022-12-23 |
Family
ID=71168909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010130248.5A Active CN111324999B (en) | 2020-02-28 | 2020-02-28 | Method and system for automatically creating via hole in PCB design |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324999B (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800496A (en) * | 2019-01-15 | 2019-05-24 | 郑州云海信息技术有限公司 | A method of via hole is added along pcb board side |
-
2020
- 2020-02-28 CN CN202010130248.5A patent/CN111324999B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800496A (en) * | 2019-01-15 | 2019-05-24 | 郑州云海信息技术有限公司 | A method of via hole is added along pcb board side |
Non-Patent Citations (1)
Title |
---|
吴慧玲等: "基于skill语言的PowerPAD封装的EPAD过孔设计", 《数字化用户》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111324999B (en) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109697500B (en) | Data processing method and device, electronic equipment and storage medium | |
CN105138461A (en) | Interface testing method and device for application program | |
CN102567565B (en) | Cable parameter processing method and system utilizing same | |
US6871336B1 (en) | Incremental placement of design objects in integrated circuit design | |
CN105930257A (en) | Method and apparatus for determining target test cases | |
CN109271677B (en) | Method for repairing layout grid point problem in online layering manner | |
CN111008148B (en) | Code testing method and device and computer readable storage medium | |
CN111324999B (en) | Method and system for automatically creating via hole in PCB design | |
CN104715109A (en) | Automatic automobile body-in-white welding spot division method based on sphere interference | |
CN114547917A (en) | Simulation prediction method, device, equipment and storage medium | |
US7512922B1 (en) | Methods of structured placement of a circuit design | |
JP2011113291A (en) | Method for simulating operation of semiconductor device, method for-acquiring measured data and circuit designing method | |
JP5565289B2 (en) | SEARCH PROGRAM, SEARCH METHOD, AND SEARCH PROCESSING DEVICE | |
KR100642906B1 (en) | Programming device | |
CN108536585B (en) | Data change influence domain analysis method | |
Go et al. | Prediction of system reliability using failure types of components based on Weibull lifetime distribution | |
CN113283213B (en) | Circuit design system and method based on machine learning | |
KR20120009162A (en) | Methdo of block matching | |
CN114398278A (en) | Null pointer reference automatic repairing method for program dependence graph guide repairing template | |
US20060075370A1 (en) | Method and apparatus for automating post-tape release VLSI modifications | |
US20170220726A1 (en) | Method and system for performing a design space exploration of a circuit | |
CN107992287B (en) | Method and device for checking system demand priority ranking result | |
JP5509952B2 (en) | Simulation method, simulation apparatus, program, and storage medium | |
KR101785889B1 (en) | Apparatus and method for determining priority of debugging test items associated with debugging test program of semiconductor | |
CN111339728A (en) | Method and system for checking power supply bottleneck based on Cadence skip search |
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 |