CN117272912A - Method for rapidly laying out Pin around Boundary - Google Patents

Method for rapidly laying out Pin around Boundary Download PDF

Info

Publication number
CN117272912A
CN117272912A CN202311234914.XA CN202311234914A CN117272912A CN 117272912 A CN117272912 A CN 117272912A CN 202311234914 A CN202311234914 A CN 202311234914A CN 117272912 A CN117272912 A CN 117272912A
Authority
CN
China
Prior art keywords
endpoint
path
wire
reference vector
pin
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.)
Pending
Application number
CN202311234914.XA
Other languages
Chinese (zh)
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.)
Beijing Empyrean Technology Co Ltd
Original Assignee
Beijing Empyrean 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 Beijing Empyrean Technology Co Ltd filed Critical Beijing Empyrean Technology Co Ltd
Priority to CN202311234914.XA priority Critical patent/CN117272912A/en
Publication of CN117272912A publication Critical patent/CN117272912A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Abstract

The patent application discloses a method for rapidly arranging pins around a bound by determining pins to be adjusted in a circuit; screening Path/Wire with the same Net as the Pin from the corresponding layout; calculating the distance between the end point of the Path/Wire and the target bound to screen out the end point with the shortest distance from the end points of the Path/Wire; and determining the endpoint closest to the target Boundary based on the endpoint with the shortest distance so as to rapidly layout the Pin around the target Boundary, thereby realizing automatic adjustment of rapidly layout the Pin around the Boundary, saving time consumption of circuit design and avoiding errors in the position of the Pin caused by manual adjustment.

Description

Method for rapidly laying out Pin around Boundary
Technical Field
The patent application belongs to the technical field of circuit design, and particularly relates to a method for rapidly arranging pins around a Boundary.
Background
In the integrated circuit design process, when a layout engineer draws a layout, sometimes a design module needs to be led out of Pin to facilitate connection with other modules, in a traditional EDA tool, if the Pin is to be moved around a boundary, the engineer can only adjust the design by a manual mode, if a plurality of pins need to be adjusted, a great deal of time is required, and errors in the position of the Pin can be caused by negligence or fatigue.
Disclosure of Invention
The present application provides a method for rapidly laying out pins around a Boundary to overcome or alleviate the drawbacks of the prior art.
The embodiment of the application provides a method for rapidly laying out Pin around a bound, which comprises the following steps:
determining Pin to be adjusted in a circuit;
screening Path/Wire with the same Net as the Pin from the corresponding layout;
calculating the distance between the end point of the Path/Wire and the target bound to screen out the end point with the shortest distance from the end points of the Path/Wire;
and determining the endpoint closest to the target bound based on the endpoint with the shortest distance so as to rapidly layout the Pin around the target bound.
In the scheme provided by the invention, the Pin needing to be adjusted in the circuit is determined; screening Path/Wire with the same Net as the Pin from the corresponding layout; calculating the distance between the end point of the Path/Wire and the target bound to screen out the end point with the shortest distance from the end points of the Path/Wire; and determining the endpoint closest to the target Boundary based on the endpoint with the shortest distance so as to rapidly layout the Pin around the target Boundary, thereby realizing automatic adjustment of rapidly layout the Pin around the Boundary, saving time consumption of circuit design and avoiding errors in the position of the Pin caused by manual adjustment.
Drawings
Fig. 1 is a flow chart of a method for rapidly laying out pins around a Boundary according to an embodiment of the present application.
Fig. 2 is a schematic diagram of constructing reference vectors for the path.
FIG. 3 is a schematic diagram of an endpoint of a wire/path that may be located outside of a target boundary (with four vertices C, D, E, F).
Fig. 4 is an exemplary schematic diagram of determining a distance according to the present application. The method comprises
Detailed Description
Technical solutions in the embodiments of the present application will be clearly described below with reference to the drawings in the embodiments of the present application, and it is apparent that the described embodiments are some of the embodiments of the present application, but not all of the embodiments. All other embodiments, based on the embodiments in this patent application, which are available to one of ordinary skill in the art are within the scope of the protection of this patent application.
The terms first, second and the like in the description and in the claims of the present application, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged, as appropriate, such that embodiments of the present application may be implemented in sequences other than those illustrated or described herein, and that the objects identified by "first," "second," etc. are generally of a type and not limited to the number of objects, such as the first object may be one or more. Furthermore, in the description and claims, "and/or" means at least one of the connected objects, and the character "/", generally means that the associated object is an "or" relationship.
Fig. 1 is a flow chart of a method for rapidly laying out pins around a Boundary according to an embodiment of the present application. As shown in fig. 1, it includes:
s101, determining Pin to be adjusted in a circuit;
s102, screening Path/Wire with the same Net as the Pin from the corresponding layout;
s103, calculating the distance between the end point of the Path/Wire and the target Boundary so as to screen out the end point with the shortest distance from the end points of the Path/Wire;
and S104, determining the endpoint closest to the target bound based on the endpoint with the shortest distance so as to rapidly layout the Pin around the target bound.
Optionally, the method for rapidly laying out pins around the Boundary further comprises: and extracting the Pin in the circuit, and displaying the extracted Pin to select the Pin needing to be adjusted from the extracted Pin.
Optionally, the method for rapidly laying out pins around the Boundary further comprises: and adjusting the size of the Path.
Optionally, the adjusting the size of the Path includes:
the width and the height of the Pin are adjusted to be equal to the width of the Path/Wire where the Pin is located; and/or
And adjusting the Layer of the Pin to be consistent with the Layer of the Pin in the Path/Wire.
In this embodiment, the possible DRC problem can be avoided by adjusting the Pin size according to the width of Path/Wire.
Optionally, the calculating the distance between the endpoint of the Path/Wire and the target bound, so as to screen the endpoint with the shortest distance from the endpoints of the Path/Wire includes:
determining the vertex of the target Boundary, and constructing a plurality of Boundary vectors based on the vertex;
and screening out the endpoint with the shortest distance from the endpoints of the Path/Wire based on the plurality of boundary vectors.
In this embodiment, for the Boundary vector, for example, it may be four vectors constructed by 4 vertices of the target Boundary, and the four vectors are parallel to four sides of the target Boundary, respectively.
Optionally, the selecting, based on the plurality of boundary vectors, the endpoint with the shortest distance from the endpoints of the Path/Wire includes:
constructing a reference vector based on the end points of the Path/Wire;
and screening the endpoint with the shortest distance from endpoints of the Path/Wire based on the reference vector and the plurality of edge vectors.
Optionally, the constructing a reference vector based on the endpoint of the Path/Wire includes:
for the wire, taking any one of two endpoints as a starting point and the other endpoint as an ending point to construct a reference vector corresponding to the wire;
and constructing a reference vector corresponding to the Path according to the number of the endpoints of the Path.
In the target Boundary (having four vertices C, D, E, F), when constructing a reference vector corresponding to the Path according to the number of endpoints of the Path, for example, if the Path has only two endpoints, one of the two endpoints is used as a starting point, and the other endpoint is used as an ending point, so as to construct a corresponding reference vector; when the path has three or more endpoints, a vector may be constructed based on the first two endpoints and the common endpoint adjacent thereto. Therefore, when the path has three or more end points, only two vectors need to be constructed. For example, fig. 2 is a schematic diagram of constructing reference vectors for the path, and when the path has three endpoints (A, Z, B) as shown in fig. 2, two reference vectors are formed between two pairs, and two corresponding reference vectors are constructed in total
Optionally, the selecting the endpoint with the shortest distance from the endpoints of the Path/Wire based on the reference vector and the plurality of edge vectors includes:
determining an intersection point of the reference vector and the plurality of edge vectors;
and screening out the endpoint with the shortest distance from the endpoints of the Path/Wire based on the intersection point.
Optionally, the determining the intersection point of the reference vector and the plurality of edge vectors includes:
performing extension processing on the reference vector to obtain an extension reference vector;
an intersection of the extended reference vector and the number of edge vectors is determined.
Optionally, the determining the intersection point of the extended reference vector and the plurality of edge vectors includes:
and determining a first intersection point of the extended reference vector and a part of the side vectors in the plurality of side vectors and/or a second intersection point of the extended side vector obtained by extending the residual side vector, wherein the first intersection point is positioned between two end points of the part of side vectors, and the second intersection point is positioned outside any end point of the residual side vector.
In this embodiment, the endpoints of the wire/path are not necessarily all located inside the target boundary, and it is also possible that at least one of the endpoints is located outside. For example, fig. 3 is a schematic diagram of the endpoints of the wire/path that may be located outside the target boundary (with four vertices C, D, E, F), as shown in fig. 3, A, B is located inside, and the other endpoint is located outside, so that the intersection points formed are p1 and p2.
Optionally, the selecting, based on the intersection point, the endpoint with the shortest distance from the endpoints of the Path/Wire includes:
and calculating the distance between each endpoint in the reference vector and the first intersection point and/or the second intersection point, and selecting the endpoint of the reference vector corresponding to the shortest distance from the points as the endpoint closest to the target Boundary.
Optionally, the calculating the distance between each endpoint in the reference vector and the first intersection point and the second intersection point, and selecting the endpoint of the reference vector corresponding to the shortest distance from the distances, includes:
and calculating the distance between each endpoint in the reference vector and the first intersection point and the second intersection point, and sequencing all calculated distances to obtain a distance queue, so as to select the endpoint of the reference vector corresponding to the shortest distance based on the distance queue.
Fig. 4 is an exemplary schematic diagram of determining a distance according to the present application. As shown in fig. 4, the path has two end points A, B, about which reference vectors are formedTwo intersection points p1 and p2 are formed with the target Boundary, the distance between each endpoint in the reference vector and the intersection points p1 and p2 is calculated, all the calculated distances are sequenced to obtain a distance queue, and the endpoint of the reference vector corresponding to the shortest distance is selected from the distance queue based on the distance queue.
Optionally, the determining, based on the end point with the shortest distance, the end point closest to the target Boundary to rapidly layout the Pin around the target Boundary includes:
taking the endpoint closest to the target bound as a target position;
and moving the Pin to the target position so as to rapidly layout the Pin around the target Boundary.
Referring again to fig. 4, the processing procedure is briefly as follows, based on the above embodiment of the present application:
1. respectively constructing vectors according to target Boundary points
2. Taking the coordinates of two endpoints of Path/Wire in a two-dimensional coordinate system, respectively, marking the coordinates as an endpoint A (x 1, y 1) and an endpoint B (x 2, y 2), and constructing reference vectors asThe method comprises the steps of carrying out a first treatment on the surface of the Calculate vector +.>And->The intersection points P1, P2 are obtained.
3. The lengths of the points A and B from the points P1 and P2 are calculated according to the Pythagorean theorem, the nearest endpoint A or endpoint B in the points P1 and P2 can be determined by comparison, and the shortest distance is recorded as L n
4. Repeating the steps 2 and 3; obtaining L 1 ,L 2 ,L 3 …L n Sequencing and taking the minimum value as L min The endpoint closest to Boundary is then obtained and is denoted as P.
An embodiment of the present application provides an electronic device, including a memory and a processor, where the memory stores computer executable instructions that, when executed by the processor, perform the following steps:
determining Pin to be adjusted in a circuit;
screening Path/Wire with the same Net as the Pin from the corresponding layout;
calculating the distance between the end point of the Path/Wire and the target bound to screen out the end point with the shortest distance from the end points of the Path/Wire;
and determining the endpoint closest to the target bound based on the endpoint with the shortest distance so as to rapidly layout the Pin around the target bound.
Regarding the steps of the above-described embodiment of the electronic device, an exemplary explanation may be found in the description of fig. 1 above.
Embodiments of the present application provide a computer program product storing computer executable instructions that, when executed, perform the steps of:
determining Pin to be adjusted in a circuit;
screening Path/Wire with the same Net as the Pin from the corresponding layout;
calculating the distance between the end point of the Path/Wire and the target bound to screen out the end point with the shortest distance from the end points of the Path/Wire;
and determining the endpoint closest to the target bound based on the endpoint with the shortest distance so as to rapidly layout the Pin around the target bound.
For steps of the above-described embodiment of the computer program product, an exemplary explanation may be found in the description of fig. 1 above.
A method for rapidly laying out pins around Boundary is provided based on the embodiment of fig. 1 described above. Wherein part of the steps can be optimized or omitted, another method for rapidly arranging Pin around Boundary is provided, which comprises the following steps:
screening a Path/Wire with the same Net as the Pin from a Pin corresponding layout to be adjusted in a circuit;
calculating the distance between the end point of the Path/Wire and the target bound to screen out the end point with the shortest distance from the end points of the Path/Wire;
and rapidly laying out the Pin around the target bound based on the endpoint with the shortest distance.
Based on the end point with the shortest distance, the Pin is rapidly laid out around the target bound, which may include: and determining the endpoint closest to the target bound based on the endpoint with the shortest distance so as to rapidly layout the Pin around the target bound.
An exemplary description of the relevant steps in this embodiment may be found in the description of the embodiment of fig. 1 above.
The embodiment of the application also provides a device for rapidly laying out Pin around a bound, which comprises:
the first unit is used for determining Pin needing to be adjusted in the circuit;
the second unit is used for screening Path/Wire with the same Net as the Pin from the corresponding layout;
a third unit, configured to calculate a distance between the endpoint of the Path/Wire and a target Boundary, so as to screen an endpoint with the shortest distance from the endpoints of the Path/Wire;
and a fourth unit, configured to determine, based on the endpoint with the shortest distance, an endpoint closest to the target Boundary, so as to rapidly layout the Pin around the target Boundary. An exemplary explanation of the individual units in the above described embodiment of the device can be found in the description of fig. 1 above.
The embodiments of the present application have been described above with reference to the accompanying drawings, but the present application is not limited to the above-described embodiments, which are merely illustrative, not restrictive, and many forms may be made by those of ordinary skill in the art without departing from the spirit of the present application and the scope of the claims, which are also within the scope of the present application.

Claims (12)

1. A method for rapidly laying out pins around a Boundary, comprising:
determining Pin to be adjusted in a circuit;
screening Path/Wire with the same Net as the Pin from the corresponding layout;
calculating the distance between the end point of the Path/Wire and the target bound to screen out the end point with the shortest distance from the end points of the Path/Wire;
and determining the endpoint closest to the target bound based on the endpoint with the shortest distance so as to rapidly layout the Pin around the target bound.
2. The method for quickly laying out pins around bound according to claim 1, further comprising: and extracting the Pin in the circuit, and displaying the extracted Pin to select the Pin needing to be adjusted from the extracted Pin.
3. The method for quickly laying out pins around bound according to claim 1, further comprising: the size of the Path and/or the Layout are adjusted.
4. The method for quickly laying out pins around bound according to claim 1, wherein the calculating the distance between the endpoint of the Path/Wire and the target bound to screen out the endpoint with the shortest distance from the endpoints of the Path/Wire comprises:
determining the vertex of the target Boundary, and constructing a plurality of Boundary vectors based on the vertex;
and screening out the endpoint with the shortest distance from the endpoints of the Path/Wire based on the plurality of boundary vectors.
5. The method of claim 4, wherein the selecting the shortest endpoint from the Path/Wire endpoints based on the plurality of Boundary vectors comprises:
constructing a reference vector based on the end points of the Path/Wire;
and screening the endpoint with the shortest distance from endpoints of the Path/Wire based on the reference vector and the plurality of edge vectors.
6. The method of claim 5, wherein constructing a reference vector based on the Path/Wire endpoints comprises:
for the wire, taking any one of two endpoints as a starting point and the other endpoint as an ending point to construct a reference vector corresponding to the wire;
and constructing a reference vector corresponding to the Path according to the number of the endpoints of the Path.
7. The method of claim 6, wherein the selecting the shortest endpoint from among the Path/Wire endpoints based on the reference vector and the plurality of edge vectors comprises:
determining an intersection point of the reference vector and the plurality of edge vectors;
and screening out the endpoint with the shortest distance from the endpoints of the Path/Wire based on the intersection point.
8. The method of claim 7, wherein determining the intersection of the reference vector and the plurality of edge vectors comprises:
performing extension processing on the reference vector to obtain an extension reference vector;
an intersection of the extended reference vector and the number of edge vectors is determined.
9. The method of claim 8, wherein determining the intersection of the extended reference vector and the number of edge vectors comprises:
and determining a first intersection point of the extended reference vector and a part of the side vectors in the plurality of side vectors and/or a second intersection point of the extended side vector obtained by extending the residual side vector, wherein the first intersection point is positioned between two end points of the part of side vectors, and the second intersection point is positioned outside any end point of the residual side vector.
10. The method of claim 9, wherein the selecting the shortest endpoint from the Path/Wire endpoints based on the intersection points comprises:
and calculating the distance between each endpoint in the reference vector and the first intersection point and/or the second intersection point, and selecting the endpoint of the reference vector corresponding to the shortest distance from the points as the endpoint closest to the target Boundary.
11. The method of claim 10, wherein calculating the distance between each endpoint in the reference vector and the first and second intersection points, and selecting the endpoint of the reference vector corresponding to the shortest distance, comprises:
and calculating the distance between each endpoint in the reference vector and the first intersection point and the second intersection point, and sequencing all calculated distances to obtain a distance queue, so as to select the endpoint of the reference vector corresponding to the shortest distance based on the distance queue.
12. The method of claim 11, wherein the determining an endpoint nearest to the target Boundary based on the shortest-distance endpoint to rapidly layout the Pin around the target Boundary comprises:
taking the endpoint closest to the target bound as a target position;
and moving the Pin to the target position so as to rapidly layout the Pin around the target Boundary.
CN202311234914.XA 2023-09-22 2023-09-22 Method for rapidly laying out Pin around Boundary Pending CN117272912A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311234914.XA CN117272912A (en) 2023-09-22 2023-09-22 Method for rapidly laying out Pin around Boundary

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311234914.XA CN117272912A (en) 2023-09-22 2023-09-22 Method for rapidly laying out Pin around Boundary

Publications (1)

Publication Number Publication Date
CN117272912A true CN117272912A (en) 2023-12-22

Family

ID=89213816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311234914.XA Pending CN117272912A (en) 2023-09-22 2023-09-22 Method for rapidly laying out Pin around Boundary

Country Status (1)

Country Link
CN (1) CN117272912A (en)

Similar Documents

Publication Publication Date Title
US6412097B1 (en) Compacting method of circuit layout by moving components using margins and bundle widths in compliance with the design rule, a device using the method and a computer product enabling processor to perform the method
US8196080B2 (en) Method and system for routing
TW564575B (en) Method and apparatus for considering diagonal wiring in placement
US8495552B1 (en) Structured latch and local-clock-buffer planning
CN101615217B (en) Device and method for classifying/displaying different design shape having similar characteristics
US8525849B2 (en) Designing support method, designing support equipment, program and computer-readable storage medium
JP2006323643A (en) Floor plan design program, floor plan design device, and design method of semiconductor integrated circuit
TW200807268A (en) Method and apparatus for approximating diagonal lines in placement
JP2010108236A (en) Method and program for drawing data point distribution area in scatter diagram
CN109074412B (en) Interactive wiring using connections in auto-soldered and auto-cloned circuits
CN117272912A (en) Method for rapidly laying out Pin around Boundary
US7546569B2 (en) Automatic trace determination method
JP4783268B2 (en) Semiconductor layout design equipment
JP2007048004A (en) Design support apparatus and design support method
JP4804402B2 (en) Component mounting order determination method
JP2005149273A (en) Apparatus and method for floor planning of semiconductor integrated circuit
CN101750876A (en) Optical proximity correction method
JP7221434B2 (en) Piping route creation device, piping route creation method, and program
CN107742036B (en) Automatic shoe sample discharging and processing method
US7797649B1 (en) Method and system for implementing an analytical wirelength formulation
JP5574530B2 (en) Mounting board inspection apparatus and mounting board inspection method
TWI540450B (en) Machine configuration automatic calculation method and machine configuration automatic calculation device
JP4690796B2 (en) Piping path generation method, linear pattern generation device, computer program
US10521959B2 (en) Methods of and devices for reducing structure noise through self-structure analysis
US7451430B2 (en) Apparatus and method for generating transistor model

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