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 PDF

Info

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
Application number
CN202010130248.5A
Other languages
Chinese (zh)
Other versions
CN111324999B (en
Inventor
付深圳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010130248.5A priority Critical patent/CN111324999B/en
Publication of CN111324999A publication Critical patent/CN111324999A/en
Application granted granted Critical
Publication of CN111324999B publication Critical patent/CN111324999B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Method and system for automatically creating via hole in PCB design
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+λ)。
CN202010130248.5A 2020-02-28 2020-02-28 Method and system for automatically creating via hole in PCB design Active CN111324999B (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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