CN111199133B - Automatic wiring and winding method - Google Patents
Automatic wiring and winding method Download PDFInfo
- Publication number
- CN111199133B CN111199133B CN201911374023.8A CN201911374023A CN111199133B CN 111199133 B CN111199133 B CN 111199133B CN 201911374023 A CN201911374023 A CN 201911374023A CN 111199133 B CN111199133 B CN 111199133B
- Authority
- CN
- China
- Prior art keywords
- variable
- winding
- design module
- array
- target design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
The invention discloses an automatic wiring and winding method, and relates to the technical field of integrated circuits. The method comprises the following steps: acquiring a coordinate array of an initial winding blocking layer of a target design module; multiplying the coordinate array of the initial winding blocking layer by a preset scaling factor to obtain a scaled winding blocking layer coordinate array, and setting the array as a third variable; acquiring the coordinate arrays of the initial winding barrier layers of all pins in the target design module, performing logic operation based on the arrays to obtain the scaled winding barrier layer coordinate arrays of each pin, and setting the arrays as a fifth variable; performing logic operation on the fifth variable and the third variable to obtain a coordinate array of the winding barrier layer of the target design module and the pins of the target design module after scaling, and setting the array as a sixth variable; a layer with wound barrier information is generated based on the sixth variable. According to the technical scheme, for the design module with more pins, the workload of workers can be reduced, and the design precision can be improved.
Description
Technical Field
The invention relates to the technical field of integrated circuits, in particular to an automatic wiring and winding method.
Background
In the chip design process, physical positions are required to be allocated to units, macro modules and the like on a layout, so that the units, the macro modules and the like are not overlapped with each other, and the process is the layout. After placement, the exact locations of the cells and pins have been determined, as has the interconnections required. Given a set of standard cells and macro blocks, and the characteristic width, height, etc. of these components, a set of wires connecting these cells, macro blocks and pins is given as wiring. The wiring process is used for realizing the connection of each module and generating the geometric interconnection layout of all the connecting lines. The wiring rules, such as via pitch, via-to-metal line distance, etc., are followed in the wiring process. The area reserved for wiring is called a wiring area. Wiring must be performed within the wiring region, and wiring rules must be followed without causing rule violations of the wiring.
In the prior art, the chip design modules are typically laid out using tools in EDA (Electronics Design Automation, electronic design automation). However, when a part of a chip design module is laid out and routed, the constraint range of a wire-wound barrier layer for automatically routing the chip design module by using an EDA tool is insufficient, and in the physical verification stage, the space between an automatic wire-wound pattern and an adjacent design internal layout pattern is insufficient to generate a violation of DRC (Design Rule Checking, design rule check). In addition, for the design module with more pins, the manual supplementing winding blocking layer has the advantages of larger workload, low multiplexing efficiency and low accurate control.
Disclosure of Invention
The invention mainly aims to provide an automatic wiring and winding method, which aims to reduce the winding workload.
In order to achieve the above object, the present invention provides a method for automatically wiring and winding wires, comprising the steps of:
s1, acquiring a coordinate array of an initial winding blocking layer of a target design module, and setting the array as a first variable;
s2, presetting a scaling factor as a second variable, multiplying the first variable and the second variable to obtain a winding barrier layer coordinate array scaled by the target design module, and setting the array as a third variable;
s3, acquiring a coordinate array of an initial winding blocking layer of all pins in the target design module, and setting the array as a fourth variable;
s4, calculating based on the fourth variable to obtain a polygon coordinate array corresponding to each pin, multiplying the polygon coordinate array with the second variable to obtain a winding barrier layer coordinate array scaled by each pin, and setting the array as a fifth variable;
s5, carrying out logic operation on the fifth variable and the third variable to obtain a coordinate array of the winding barrier layer of the target design module and the pins of the target design module after scaling, and setting the array as a sixth variable;
s6, judging whether the sixth variable meets the design requirement or not:
if the design requirement is not met, returning to the step S2, and modifying the value of the second variable;
if the design requirement is met, generating a layer with winding barrier layer information based on the sixth variable;
and S7, displaying and storing a layer of the winding blocking layer information at the corresponding position of the target design module.
Preferably, before the step S1, the method further includes:
using a tool to automatically wire the target design module so as to obtain an initial wire winding blocking layer of the target design module and pins thereof; judging whether the initial winding blocking layer meets the design requirement or not: if the design requirement is met, step S7 is carried out; if the design requirement is not met, step S1 is performed.
Preferably, verification is performed by the tool to determine whether the wire-wound barrier meets design requirements.
Preferably, the step S1 further includes: and searching an address pointer based on the top layer attribute of the target design module according to the name of the target design module, and acquiring a coordinate array of an initial winding blocking layer of the target design module according to the address pointer.
Preferably, in step S4, calculating the polygon coordinate array corresponding to each pin based on the fourth variable further includes: and performing inverse operation on the fourth variable to obtain a polygon coordinate array corresponding to each pin.
Preferably, in the step S5, the logical operation is a nand operation.
According to the technical scheme, the initial winding blocking layer information of the target design module is obtained, and the initial winding blocking layer is scaled according to the preset scaling factor on the basis, so that new winding blocking layer information is obtained, and the shape and the constraint range of the scaling winding blocking layer can be flexibly realized; for the design module with more pins, the workload of workers can be reduced, and the design precision can be improved.
Drawings
Fig. 1 is a flow chart of the method for automatic wiring and winding of the present invention.
The achievement of the objects, functional features and advantages of the present invention will be further described with reference to the accompanying drawings, in conjunction with the embodiments.
Detailed Description
It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
The invention is further described below with reference to the accompanying drawings.
In the embodiment of the invention, the target design module is a layout design file of the chip design module, and is generally a file in LEF (Library Exchange File ) format. The tools used are typically back end design tools in EDA tools.
As shown in fig. 1, an embodiment of the present invention provides a method for automatically wiring and winding wires, which includes the following steps:
s0, using a tool to automatically wire the target design module so as to obtain an initial wire winding blocking layer of the target design module and pins thereof; judging whether the initial winding blocking layer meets the design requirement or not: if the design requirement is met, step S7 is carried out; if the design requirement is not met, step S1 is performed.
In particular, in EDA tools, the chip design module may be automatically wire-wound for subsequent design. When the constraint range of the winding blocking layer for automatically wiring the chip design module by using the EDA tool is insufficient, the initial winding blocking layer is judged to be not in accordance with the design requirement.
S1, acquiring a coordinate array of an initial winding blocking layer of a target design module, and setting the array as a first variable;
specifically, step S1 further includes: and searching an address pointer based on the top layer attribute of the target design module according to the name of the target design module, and acquiring a coordinate array of an initial winding blocking layer of the target design module according to the address pointer.
Specifically, the format of the array of coordinates of the initial winding barrier of the target design module is generally (x 1 ,y 1 ,x 2 ,y 2 ) In the form, the graphic size of the polygon corresponding to the target design module can be obtained according to the coordinate array.
S2, presetting a scaling factor as a second variable, multiplying the first variable and the second variable to obtain a winding barrier layer coordinate array scaled by the target design module, and setting the array as a third variable;
in a specific embodiment, the scaling factor is used to control the scaling of the size of the winding blocking layer of the target design module, and the scaling factor can be specifically set according to the specific design requirement of the target design module, so that the shape and the constraint range of the winding blocking layer can be flexibly scaled, whether the set scaling factor meets the design requirement can be further verified in the subsequent step, and if not, the scaling factor can be modified again to meet the design requirement.
S3, acquiring a coordinate array of an initial winding blocking layer of all pins in the target design module, and setting the array as a fourth variable;
in a specific embodiment, the initial winding blocking layer of the pin in the target design module is generally composed of a plurality of polygons, and the corresponding coordinate arrays have a plurality of groups.
S4, calculating based on the fourth variable to obtain a polygon coordinate array corresponding to each pin, multiplying the polygon coordinate array with the second variable to obtain a winding barrier layer coordinate array scaled by each pin, and setting the array as a fifth variable;
preferably, in step S4, calculating the polygon coordinate array corresponding to each pin based on the fourth variable further includes: and performing inverse operation on the fourth variable to obtain a polygon coordinate array corresponding to each pin.
S5, carrying out logic operation on the fifth variable and the third variable to obtain a coordinate array of the winding barrier layer of the target design module and the pins of the target design module after scaling, and setting the array as a sixth variable;
preferably, in the step S5, the logical operation is a nand operation.
S6, judging whether the sixth variable meets the design requirement or not:
if the design requirement is not met, returning to the step S2, and modifying the value of the second variable;
if the design requirement is met, generating a layer with winding barrier layer information based on the sixth variable;
and S7, displaying and storing a layer of the winding blocking layer information at the corresponding position of the target design module.
Preferably, verification is performed by the tool to determine whether the wire-wound barrier meets design requirements.
According to the technical scheme, the initial winding blocking layer information of the target design module is obtained, and on the basis, the initial winding blocking layer is scaled according to the preset scaling factor to obtain new winding blocking layer information, so that the shape and the constraint range of the winding blocking layer can be flexibly scaled; for the design module with more pins, the workload of workers can be reduced, and the design precision can be improved.
The target design module in the embodiment of the invention is based on a general design exchange file, and the technical scheme of the invention is not limited by the process in the same back-end design tool environment; meanwhile, the technical scheme of the invention has good portability for different EDA tools designed at the back end, and the same function can be realized by correspondingly replacing corresponding tool command languages.
Aiming at the design flow staged requirement, the technical scheme of the invention can be used as an independent subprocess to be embedded into any stage of the design flow of the target design module, and can be repeatedly acted on the target design module until the design requirement is met.
It should be understood that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention, and all equivalent structures or equivalent processes using the descriptions of the present invention and the accompanying drawings, or direct or indirect application in other relevant technical fields, are included in the scope of the present invention.
Claims (4)
1. A method of automatic wiring winding, comprising the steps of:
s1, acquiring a coordinate array of an initial winding blocking layer of a target design module, and setting the array as a first variable;
s2, presetting a scaling factor as a second variable, multiplying the first variable and the second variable to obtain a winding barrier layer coordinate array scaled by the target design module, and setting the array as a third variable;
s3, acquiring a coordinate array of an initial winding blocking layer of all pins in the target design module, and setting the array as a fourth variable;
s4, performing inverse operation based on the fourth variable to obtain a polygon coordinate array corresponding to each pin, performing multiplication operation with the second variable to obtain a winding barrier layer coordinate array scaled by each pin, and setting the array as a fifth variable;
s5, performing NAND operation on the fifth variable and the third variable to obtain a coordinate array of the winding barrier layer of the target design module and the pins of the target design module after scaling, and setting the array as a sixth variable;
s6, judging whether the sixth variable meets the design requirement or not, and judging that the sixth variable does not meet the design requirement when the constraint range of the winding barrier layer for automatic wiring by the chip design module is insufficient:
if the design requirement is not met, returning to the step S2, and modifying the value of the second variable;
if the design requirement is met, generating a layer with winding barrier layer information based on the sixth variable;
and S7, displaying and storing a layer of the winding blocking layer information at the corresponding position of the target design module.
2. The method of automatic wire-wrapping according to claim 1, characterized by further comprising, before said step S1:
using a tool to automatically wire the target design module so as to obtain an initial wire winding blocking layer of the target design module and pins thereof; judging whether the initial winding blocking layer meets the design requirement or not: if the design requirement is met, step S7 is carried out; if the design requirement is not met, step S1 is performed.
3. The method of automatic wire-wrapping according to claim 2, wherein verification is performed by the tool to determine if the wire-wrapping barrier meets design requirements.
4. The method of automatic wire-wrapping according to claim 1, wherein said step S1 further comprises: and searching an address pointer based on the top layer attribute of the target design module according to the name of the target design module, and acquiring a coordinate array of an initial winding blocking layer of the target design module according to the address pointer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911374023.8A CN111199133B (en) | 2019-12-27 | 2019-12-27 | Automatic wiring and winding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911374023.8A CN111199133B (en) | 2019-12-27 | 2019-12-27 | Automatic wiring and winding method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111199133A CN111199133A (en) | 2020-05-26 |
CN111199133B true CN111199133B (en) | 2023-09-15 |
Family
ID=70746687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911374023.8A Active CN111199133B (en) | 2019-12-27 | 2019-12-27 | Automatic wiring and winding method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111199133B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422042B (en) * | 2023-11-08 | 2024-07-02 | 广芯微电子(广州)股份有限公司 | Design method and device for comb-shaped winding barrier layer |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001175880A (en) * | 1999-12-17 | 2001-06-29 | Mitsubishi Electric Corp | Floating-point adder |
JP2001230322A (en) * | 2000-02-14 | 2001-08-24 | Matsushita Electric Ind Co Ltd | Semiconductor integrated-circuit device and semiconductor integrated-circuit wiring apparatus |
CN101782931A (en) * | 2009-01-20 | 2010-07-21 | 英业达股份有限公司 | Processing method and system of constraint areas of circuit board wiring |
CN102741848A (en) * | 2010-01-29 | 2012-10-17 | 辛奥普希斯股份有限公司 | Improving pre-route and post-route net correlation with defined patterns |
CN103136385A (en) * | 2011-11-23 | 2013-06-05 | 上海华虹Nec电子有限公司 | Automatic wiring method of integrated circuit layout after lessening experiment |
CN103970959A (en) * | 2014-05-21 | 2014-08-06 | 上海斐讯数据通信技术有限公司 | Circuit board wiring method and system |
CN104424367A (en) * | 2013-08-22 | 2015-03-18 | 京微雅格(北京)科技有限公司 | Technological mapping method and integrated circuit for optimizing register control signal |
CN106815829A (en) * | 2015-12-02 | 2017-06-09 | 深圳市祈飞科技有限公司 | A kind of positioning and optimizing method in electronic component pin registration pcb board hole |
CN107464240A (en) * | 2017-08-11 | 2017-12-12 | 哈尔滨工业大学 | A kind of location algorithm with rectangular pins chip based on template matches |
CN108062424A (en) * | 2016-11-09 | 2018-05-22 | 成都锐成芯微科技股份有限公司 | Method based on Verilog model extraction IP stone design documents |
CN108108501A (en) * | 2016-11-25 | 2018-06-01 | 成都锐成芯微科技股份有限公司 | The delay control method of IC chip |
CN110223376A (en) * | 2019-05-23 | 2019-09-10 | 天津大学 | A kind of three dimensional particles method for reconstructing based on single width packed particle images of materials |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7401312B2 (en) * | 2003-12-11 | 2008-07-15 | International Business Machines Corporation | Automatic method for routing and designing an LSI |
US7752588B2 (en) * | 2005-06-29 | 2010-07-06 | Subhasis Bose | Timing driven force directed placement flow |
US8332793B2 (en) * | 2006-05-18 | 2012-12-11 | Otrsotech, Llc | Methods and systems for placement and routing |
-
2019
- 2019-12-27 CN CN201911374023.8A patent/CN111199133B/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001175880A (en) * | 1999-12-17 | 2001-06-29 | Mitsubishi Electric Corp | Floating-point adder |
JP2001230322A (en) * | 2000-02-14 | 2001-08-24 | Matsushita Electric Ind Co Ltd | Semiconductor integrated-circuit device and semiconductor integrated-circuit wiring apparatus |
CN101782931A (en) * | 2009-01-20 | 2010-07-21 | 英业达股份有限公司 | Processing method and system of constraint areas of circuit board wiring |
CN102741848A (en) * | 2010-01-29 | 2012-10-17 | 辛奥普希斯股份有限公司 | Improving pre-route and post-route net correlation with defined patterns |
CN103136385A (en) * | 2011-11-23 | 2013-06-05 | 上海华虹Nec电子有限公司 | Automatic wiring method of integrated circuit layout after lessening experiment |
CN104424367A (en) * | 2013-08-22 | 2015-03-18 | 京微雅格(北京)科技有限公司 | Technological mapping method and integrated circuit for optimizing register control signal |
CN103970959A (en) * | 2014-05-21 | 2014-08-06 | 上海斐讯数据通信技术有限公司 | Circuit board wiring method and system |
CN106815829A (en) * | 2015-12-02 | 2017-06-09 | 深圳市祈飞科技有限公司 | A kind of positioning and optimizing method in electronic component pin registration pcb board hole |
CN108062424A (en) * | 2016-11-09 | 2018-05-22 | 成都锐成芯微科技股份有限公司 | Method based on Verilog model extraction IP stone design documents |
CN108108501A (en) * | 2016-11-25 | 2018-06-01 | 成都锐成芯微科技股份有限公司 | The delay control method of IC chip |
CN107464240A (en) * | 2017-08-11 | 2017-12-12 | 哈尔滨工业大学 | A kind of location algorithm with rectangular pins chip based on template matches |
CN110223376A (en) * | 2019-05-23 | 2019-09-10 | 天津大学 | A kind of three dimensional particles method for reconstructing based on single width packed particle images of materials |
Non-Patent Citations (1)
Title |
---|
FPGA/CPLD结构分析;黄志军;《微电子学》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111199133A (en) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10418354B2 (en) | Integrated circuit and computer-implemented method of manufacturing the same | |
US7007258B2 (en) | Method, apparatus, and computer program product for generation of a via array within a fill area of a design layout | |
US5754826A (en) | CAD and simulation system for targeting IC designs to multiple fabrication processes | |
US8239803B2 (en) | Layout method and layout apparatus for semiconductor integrated circuit | |
KR100281977B1 (en) | Integrated circuit design method, database device for integrated circuit design and integrated circuit design support device | |
US20080127020A1 (en) | System and method for automatic elimination of voltage drop, also known as IR drop, violations of a mask layout block, maintaining the process design rules correctness | |
JP2003502769A (en) | How to modify an integrated circuit | |
US8650518B2 (en) | Method and apparatus for rule-based automatic layout parasitic extraction in a multi-technology environment | |
CN114556352A (en) | Method and system for performing automatic wiring | |
JP2002110797A (en) | Method for designing clock wiring | |
CN111199133B (en) | Automatic wiring and winding method | |
JP2010198466A (en) | Wiring design method for wiring board | |
US9256707B2 (en) | Trace routing according to freeform sketches | |
US9104830B1 (en) | Methods, systems, and articles of manufacture for assigning track patterns to regions of an electronic design | |
US20070083837A1 (en) | Method and Placement Tool for Designing the Layout of an Electronic Circuit | |
US6820048B1 (en) | 4 point derating scheme for propagation delay and setup/hold time computation | |
US20050257183A1 (en) | Method for generating a command file of a group of drc rules and/or a command file of a group of lvs/lpe rules | |
US20050193354A1 (en) | Method of extraction of wire capacitances in LSI device having diagonal wires and extraction program for same | |
US10643020B1 (en) | System and method to estimate a number of layers needed for routing a multi-die package | |
JP6456842B2 (en) | Integrated shaping with power network synthesis (PNS) for power grid (PG) alignment | |
WO2009002301A1 (en) | System and method for automatic elimination of voltage drop | |
JP6316311B2 (en) | Pattern-based power ground (PG) routing and via generation | |
CN116502586A (en) | Method for designing semiconductor integrated circuit layout and design system for executing the method | |
US5481474A (en) | Double-sided placement of components on printed circuit board | |
CN114091398A (en) | Network topology structure design method and device, electronic equipment and storage medium |
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 |