[go: up one dir, main page]

CN119203909A - Winding method, winding device and readable storage medium based on test structure design - Google Patents

Winding method, winding device and readable storage medium based on test structure design Download PDF

Info

Publication number
CN119203909A
CN119203909A CN202411688634.0A CN202411688634A CN119203909A CN 119203909 A CN119203909 A CN 119203909A CN 202411688634 A CN202411688634 A CN 202411688634A CN 119203909 A CN119203909 A CN 119203909A
Authority
CN
China
Prior art keywords
winding
path
shortest path
wiring
test structure
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
CN202411688634.0A
Other languages
Chinese (zh)
Other versions
CN119203909B (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.)
Hangzhou Guangli Microelectronics Co ltd
Original Assignee
Hangzhou Guangli Microelectronics 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 Hangzhou Guangli Microelectronics Co ltd filed Critical Hangzhou Guangli Microelectronics Co ltd
Priority to CN202411688634.0A priority Critical patent/CN119203909B/en
Publication of CN119203909A publication Critical patent/CN119203909A/en
Application granted granted Critical
Publication of CN119203909B publication Critical patent/CN119203909B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/394Routing
    • 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/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

The application relates to a winding method, a winding device and a readable storage medium based on test structure design, which are characterized in that a target area is determined by obtaining a layout, a plurality of winding tasks in the target area are obtained, the winding tasks comprise pins of a test structure to be subjected to winding connection and corresponding bonding pads, the shortest path of each winding task is calculated in the target area, and winding paths are sequentially generated for each winding task based on preset wiring information and the shortest paths until all the winding tasks are completed, so that the problem that the measurement error of the test structure is large due to the fact that the winding randomness of a bit line/word line connection mode is large is solved, the winding paths are sequentially optimized based on the shortest paths, the calculation efficiency of the winding paths is improved, and the reliability of the winding paths is also improved.

Description

Winding method, winding device and readable storage medium based on test structure design
Technical Field
The present application relates to the field of integrated circuit design and manufacturing, and more particularly, to a winding method, a winding device, and a readable storage medium based on test structure design.
Background
The design and testing of the test structure (Testkey) may be performed in a WAT test for integrity and reliability testing to ensure that the chip meets specification requirements and quality standards. This helps to improve the quality and reliability of the product and reduce the defective rate. Testkey is critical to the design in that the layout and distribution of testkey is determined to ensure proper placement and quantity on the chip. This would involve balancing the trade-off between chip real estate, area constraints, and test requirements. For example, array testkey refers to a type testkey that has high repeatability and expansibility.
Conventional wire-wrap designs are limited to the form of two pads connected to one test structure, see fig. 1, where up to N-1 test structures (where N is the number of pads) are placed. If the connection is made in the form of bit line/word line (bit line/word line), referring to fig. 9 (the winding path is omitted for clarity of illustration), that is, one test structure is commonly selected by one bit line BL signal (bit line 1/bit line 2/bit line 3/bit line 4/bit line 5/bit line 6) and one word line WL signal (word line 1/word line 2/word line 3/word line 4/word line 5), the number of test structures can be increased to (N/2)/(2) at most.
However, the bit line/word line connection mode has no unified winding rule, and the winding given by the designer is often random, so that the path calculation efficiency is low, the path reliability is poor, the non-uniformity of the parasitic effect of the test structure is easy to cause, and the accuracy of the test result of the test structure is affected.
Disclosure of Invention
In this embodiment, a winding method, a winding device and a readable storage medium based on a test structure design are provided to solve the problems of low efficiency and poor reliability of the winding design in the related art.
In a first aspect, in this embodiment, a winding method based on a test structure design is provided, where the method includes:
Obtaining a layout, determining a target area, and obtaining a plurality of winding tasks in the target area, wherein the winding tasks comprise pins of a test structure to be subjected to winding connection and corresponding bonding pads;
Calculating the shortest path of each winding task in the target area;
And generating winding paths for the winding tasks in turn based on preset wiring information and the shortest paths until all the winding tasks are completed.
In some embodiments, the target area is internally divided into networks with the same size, and a forbidden area, an occupied area and a routing area are defined in the target area;
the forbidden area comprises an edge grid of the target area, a grid occupied by the test structure and a grid occupied by the bonding pad;
The occupied area comprises a grid occupied by the existing winding;
And the remaining area of the target area, from which the forbidden area and the occupied area are removed, is a routing area.
In some of these embodiments, said calculating, in said target area, a shortest path for each of said winding tasks comprises:
based on a uniform grid winding algorithm, respectively calculating the shortest paths of all winding tasks in the wiring area of the target area;
the shortest path is a connecting path with the least occupied grids, and the connecting path is a path for connecting pins of the test structure and the corresponding bonding pads;
The uniform grid winding algorithm comprises the steps that starting from a starting grid where the center position of a pin is located in the routing area, numbering adjacent grids in an ascending order, finally searching a termination grid where the center position of a bonding pad is located, and taking a path with the minimum number of the termination grid as a shortest path.
In some of these embodiments, the uniform grid winding algorithm further comprises:
and defining the pin-out direction of the starting grid and/or the ending grid, wherein adjacent grids of the starting grid and/or the ending grid refer to adjacent grids in the pin-out direction.
In some embodiments, generating a winding path for each winding task in turn based on preset wiring information and the shortest path until all the winding tasks are completed, including:
obtaining the incomplete winding task as a current task;
Confirming and/or optimizing the shortest path of the current task based on the routing area;
generating a winding path according to the confirmed shortest path based on preset wiring information and the wiring area;
Grid filling is carried out based on the winding path, the current task is completed, and the wiring area is updated;
And continuing to acquire the unfinished winding task as a current task to process until all the winding tasks are completed.
In some embodiments, the obtaining the incomplete winding task as the current task includes obtaining the incomplete winding task corresponding to the shortest path with the longest path length as the current task.
In some embodiments, the method further includes obtaining preset wiring information, and specifically includes:
Acquiring winding width information, wherein the winding width information comprises the maximum winding width and the minimum winding width of different metal layers;
Acquiring a winding distance of the wiring;
Obtaining path resistance information, wherein the path resistance information comprises square resistance values of different metal layers, resistance values of through holes with different sizes and winding resistance reference values;
wherein one of said blocks refers to a grid;
The different metal layers include a first metal layer along the transverse trace and a second metal layer along the longitudinal trace, and the via is used to connect the metal traces in the first metal layer and the second metal layer.
In some embodiments, the obtaining the winding resistance reference value includes:
in all the winding tasks, the shortest path with the largest path length is taken as a reference path;
based on the maximum winding widths of the different metal layers, the wiring widths of the reference paths are expanded, and corresponding reference winding paths are obtained;
And calculating the winding resistance values and the through hole resistance values of different metal layers in the reference winding path according to the path resistance information to obtain the total winding resistance value of the reference winding path, namely, the total winding resistance value is used as the winding resistance reference value.
In some of these embodiments, after obtaining the corresponding reference winding path, further comprising:
And filling grids based on the reference winding paths, completing the corresponding winding tasks, and updating the wiring area.
In some of these embodiments, the validating and/or optimizing the shortest path of the current task based on the routing area includes:
based on the routing area, confirming the shortest path of the current task or completing confirmation after optimizing the shortest path of the current task, wherein the method specifically comprises the following steps:
step 1) judging whether grids of the shortest path of the current task are all in the routing area or not:
If yes, confirming the shortest path;
If not, discarding the shortest path, and updating the routing area based on the discarded shortest path;
step 2) recalculating the shortest path of the current task and recalculating to the processing of step 1).
In some embodiments, generating a winding path according to the confirmed shortest path based on preset wiring information and the routing area includes:
Generating a winding path meeting preset rules based on the shortest path and wiring information, and confirming the winding path based on the wiring area, wherein the preset rules comprise preset rules set based on winding width information and preset rules set based on winding resistance reference values, and the method specifically comprises the following steps:
step 3) expanding the wiring width of the shortest path based on the winding width information and the path resistance information to generate a winding path, wherein the difference between the path resistance value of the winding path and the winding resistance reference value meets the preset condition;
Step 4), judging whether grids of the winding paths are all in the wiring area or not:
If yes, confirming the winding path of the current task;
If not, the winding path is abandoned, the processing is carried out in the step 3), or after the shortest path is abandoned and the routing area is updated, the shortest path is confirmed and/or optimized based on the routing area again.
In some of these embodiments, expanding the routing width of the shortest path to generate a routing path includes:
and calculating the wiring widths of different metal layers in the shortest path by using a Lagrange multiplier method to generate a winding path, wherein the difference value of the wiring widths of adjacent metal layers is within a preset range.
In some of these embodiments, after expanding the wiring width of the shortest path to generate a wiring path, further comprising:
If the wiring width is smaller than the minimum wiring width of the corresponding metal layer in the wiring width information, discarding the shortest path and updating the routing area, and then confirming and/or optimizing the shortest path based on the routing area again;
if the wiring width is larger than the maximum winding width of the corresponding metal layer in the winding width information, judging whether the wiring width is within a preset redundancy value range, if so, confirming a winding path of a current task, and if not, reporting an abnormality.
In a second aspect, in this embodiment, there is provided a winding device based on a test structure design, the device including:
the task acquisition module is used for acquiring a layout, determining a target area and acquiring a plurality of winding tasks in the target area, wherein the winding tasks comprise pins of a test structure to be subjected to winding connection and corresponding bonding pads;
The shortest path calculation module is used for calculating the shortest path of each winding task in the target area;
And the path optimization module is used for sequentially generating winding paths for the winding tasks based on preset wiring information and the shortest path until all the winding tasks are completed.
In a third aspect, the present application also provides a computer device. The computer device comprises a memory and a processor, wherein the memory stores a computer program, and the processor realizes the winding method based on the test structure design in the first aspect when executing the computer program.
In a fourth aspect, the present application also provides a computer-readable storage medium. The computer readable storage medium has stored thereon a computer program which, when executed by a processor, implements the test structure design based winding method of the first aspect.
Compared with the related art, the winding method, the winding device and the readable storage medium for the test structure design provided by the embodiment are characterized in that a target area is determined by obtaining a layout, a plurality of winding tasks in the target area are obtained, the winding tasks comprise pins of a test structure to be subjected to winding connection and corresponding bonding pads, the shortest paths of the winding tasks are calculated in the target area, the winding paths of the winding tasks are sequentially generated based on preset wiring information and the shortest paths until all the winding tasks are completed, the problem that the test structure measurement error is large due to the fact that the winding randomness of a bit line/word line connection mode is large is solved, the winding paths are sequentially optimized based on the shortest paths, the calculation efficiency of the winding paths is improved, and the reliability of the winding paths is also improved.
The details of one or more embodiments of the application are set forth in the accompanying drawings and the description below to provide a more thorough understanding of the other features, objects, and advantages of the application.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute a limitation on the application. In the drawings:
FIG. 1 is a schematic diagram of a conventional test structure in one embodiment;
FIG. 2 is a block diagram of the hardware architecture of a terminal of a winding method based on test structure design in one embodiment;
FIG. 3 is a flow chart of a winding method based on a test structure design in one embodiment;
FIG. 4 is a flow chart of a winding method based on test structure design in a preferred embodiment;
FIG. 5 is a schematic illustration of a gridded target region in a preferred embodiment;
FIG. 6 is a schematic diagram of a test structure and pads in a preferred embodiment;
FIG. 7 is a schematic diagram of the connection paths of test structures and pads in a target area in a preferred embodiment;
FIG. 8 is a block diagram of a winding device designed based on a test structure in one embodiment;
FIG. 9 is a schematic diagram of a test structure routing scheme based on bit lines/word lines in one embodiment.
Reference numeral 102, a processor, 104, a memory, 106, a transmission device, 108, an input and output device, 10, a task acquisition module, 20, a shortest path calculation module and 30, a path optimization module.
Detailed Description
The present application will be described and illustrated with reference to the accompanying drawings and examples for a clearer understanding of the objects, technical solutions and advantages of the present application.
Unless defined otherwise, technical or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terms "a," "an," "the," "these" and similar terms in this application are not intended to be limiting in number, but may be singular or plural. The terms "comprises," "comprising," "includes," "including," "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, and system, article, or apparatus that comprises a list of steps or modules (units) is not limited to the list of steps or modules (units), but may include other steps or modules (units) not listed or inherent to such process, method, article, or apparatus. The terms "connected," "coupled," and the like in this disclosure are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The term "plurality" as used herein means two or more. "and/or" describes the association relationship of the association object, and indicates that three relationships may exist, for example, "a and/or B" may indicate that a exists alone, a and B exist simultaneously, and B exists alone. Typically, the character "/" indicates that the associated object is an "or" relationship. The terms "first," "second," "third," and the like, as referred to in this disclosure, merely distinguish similar objects and do not represent a particular ordering for objects.
The method embodiments provided in the present embodiment may be executed in a terminal, a computer, or similar computing device. For example, the terminal is operated, and fig. 2 is a block diagram of the hardware structure of the terminal of the winding method based on the test structure design in the present embodiment. As shown in fig. 2, the terminal may include one or more (only one is shown in fig. 2) processors 102 and a memory 104 for storing data, wherein the processors 102 may include, but are not limited to, a microprocessor MCU, a programmable logic device FPGA, or the like. The terminal may also include a transmission device 106 for communication functions and an input-output device 108. It will be appreciated by those skilled in the art that the structure shown in fig. 2 is merely illustrative and is not intended to limit the structure of the terminal. For example, the terminal may also include more or fewer components than shown in fig. 2, or have a different configuration than shown in fig. 2.
The memory 104 may be used to store computer programs, such as software programs of application software and modules, such as computer programs corresponding to the winding method based on the test structure design in the present embodiment, and the processor 102 executes the computer programs stored in the memory 104 to perform various functional applications and data processing, that is, implement the above-mentioned method. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory remotely located relative to the processor 102, which may be connected to the terminal via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. The network includes a wireless network provided by a communication provider of the terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, simply referred to as a NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module for communicating with the internet wirelessly.
In this embodiment, a winding method based on a test structure design is provided, and fig. 3 is a flowchart of the winding method based on the test structure design in this embodiment, as shown in fig. 3, the flowchart includes the following steps:
Step S210, obtaining a layout, determining a target area, and obtaining a plurality of winding tasks in the target area, wherein the winding tasks comprise pins of a test structure to be subjected to winding connection and corresponding bonding pads.
Specifically, in the layout, a certain area region is taken as the largest region which can be drawn by the layout, namely a target region, and is preferably rectangular. The area in which the test structures and pads are located is defined in the target area, the test structures and pads being arranged in an array and being regularly arranged, so that when the test structures are defined in the target area, the area of the pads can be defined on the same principle by defining an initial test structure, such as the test structure located in the lower left corner of the target area. Compared with the traditional mode that two bonding pads are connected with one testing structure, more testing structures can be connected to the same bonding pad in the embodiment of the application. However, the application is not limited to a specific connection mode of the bonding pad and the test structure, and can be applied to different application scenes.
In step S220, in the target area, the shortest path of each winding task is calculated.
Specifically, the shortest connection path, i.e., the shortest path, between the pins of the test structure and the corresponding pads is explored. At this time, there may be overlapping between different shortest paths, and the overlapping shortest paths may be optimized in a subsequent step. The shortest path includes a first path along the transverse trace and a second path along the longitudinal trace, the path length of the shortest path being the sum of the lengths of the first and second paths.
Step S230, generating winding paths for all winding tasks in sequence based on preset wiring information and the shortest paths until all the winding tasks are completed.
The method comprises the steps of adjusting wiring width based on the shortest path, determining winding paths of all winding tasks, and filling grids based on the winding paths to complete all winding tasks.
The wiring information comprises wiring width information, path resistance information and path resistance information, wherein the wiring width information comprises maximum wiring widths and minimum wiring widths of different metal layers, the path resistance information comprises square resistance values of the different metal layers and resistance values of through holes with different sizes, the different metal layers comprise a first metal layer along transverse wiring and a second metal layer along longitudinal wiring, and the through holes are used for connecting metal wiring in the first metal layer and the second metal layer.
The routing path optimization includes expanding the width of the shortest path within the range indicated by the routing width information, including expanding the wiring width of the first path and the wiring width of the second path, and determining the number and size of the vias, so that the widths of the first path and the second path are equal or close to each other, which is generally more advantageous for layout design, so that the wiring width of the first path and the wiring width of the second path are collectively indicated as the wiring width hereinafter. Meanwhile, whether the total resistance value of the path after the wiring width is expanded meets the preset requirement is considered, and the total resistance value is generally equal to or similar to the set winding resistance reference value.
The method for calculating the total resistance of the winding path comprises the steps of calculating the resistance of the transverse wire, calculating the resistance of the longitudinal wire, calculating the resistance of a through hole connecting the transverse wire and the longitudinal wire, and adding the resistance of the transverse wire, the resistance of the longitudinal wire and the resistance of the through hole to obtain the total resistance of the winding path. The resistance value of the transverse wire can be calculated by adopting a method of (length multiplied by width multiplied by square resistance value), namely, the resistance value of the transverse wire can be obtained based on the multiplication result of the wiring width, the length of the first path and the square resistance value of the first metal layer, the resistance value of the longitudinal wire can be calculated in the same way, the resistance value of the through holes can be calculated by adopting the method of (the number of the through holes multiplied by the resistance value of the through holes with the corresponding size), and the through holes with the proper size can be selected based on the wiring width, the resistance reference value, the winding mode and the like, so that the resistance value of the through holes can be obtained.
After the final wiring width is determined, generating a winding path based on the corresponding shortest path expansion, and filling grids based on the winding path to complete the corresponding winding task.
In the embodiment, a target area is determined by obtaining a layout, a plurality of winding tasks in the target area are obtained, the winding tasks comprise pins of a test structure to be subjected to winding connection and corresponding bonding pads, shortest paths of the winding tasks are calculated in the target area, and the winding paths of the winding tasks are sequentially optimized based on preset wiring information and the shortest paths until all the winding tasks are completed, so that the problem of larger measurement errors of the test structure caused by large winding randomness of a bit line/word line connection mode is solved, the winding paths are sequentially optimized based on the shortest paths, the calculation efficiency of the winding paths is improved, and the reliability of the winding paths is also improved.
In some of these embodiments, the interior of the target area is divided into networks of equal size, i.e. the target area is evenly meshed. The method comprises the steps that a forbidden area, an occupied area and a routing area are defined in a target area, wherein the forbidden area comprises an edge grid of the target area, a grid occupied by the test structure and a grid occupied by the bonding pad, the occupied area comprises a grid occupied by an existing winding, and the rest area of the target area, from which the forbidden area and the occupied area are removed, is the routing area.
Specifically, in the process of optimizing the subsequent winding path, the occupied area and the routing area are continuously updated, and even the forbidden area can be adjusted according to the requirement.
In this embodiment, the target area is dotted, so that the test result, the bonding pad, each path and other areas in the target area are efficiently located, and by defining the forbidden area, the occupied area and the routing area, the area incapable of routing is automatically avoided, and the reliability of path calculation is improved.
In some of these embodiments, in the target area, calculating the shortest path for each winding task includes:
based on a uniform grid winding algorithm, calculating shortest paths of each winding task in a routing area of a target area, wherein the shortest paths are connecting paths occupying the minimum number of grids, the connecting paths are paths connecting pins of a test structure and corresponding bonding pads, and the path width of the shortest paths is one grid, namely, the path length of the shortest paths is represented by the number of grids occupied by the shortest paths in a metal layer.
The uniform grid winding algorithm comprises the steps of starting from a starting grid where the center position of a pin is located in a routing area, numbering adjacent grids in an ascending order, finally searching a termination grid where the center position of a bonding pad is located, and taking a path with the minimum number of the termination grid as a shortest path.
In some of these embodiments, the uniform grid winding algorithm further comprises:
the pin-out direction of the start grid and/or the end grid is defined, and adjacent grids of the start grid and/or the end grid refer to adjacent grids in the pin-out direction.
Specifically, the pin direction is defined, so that the selection of a part of initial grids for connection can be eliminated, and the calculation time and the storage space of winding are reduced.
In some embodiments, the wire winding path optimization is sequentially performed on each wire winding task based on preset wire routing information and a shortest path until all the wire winding tasks are completed, including:
Step S231, obtaining the incomplete winding task as a current task.
And step S232, confirming and/or optimizing the shortest path of the current task based on the routing area.
Specifically, based on the routing area, the shortest path of the current task is confirmed, or the shortest path of the current task is optimized and then confirmation is completed.
Step S233, calculating to obtain a winding path according to the confirmed shortest path based on preset wiring information and a wiring area.
Step S234, grid filling is carried out based on the winding paths, the current task is completed, and the routing area is updated.
Step S235, continuing to acquire the incomplete winding task as a current task, and processing in step S232 until all winding tasks are completed.
In this embodiment, the reliability of the winding path is ensured to be finally obtained through repeated confirmation of the shortest path and the winding path.
In some of these embodiments, step S231, the acquisition of the incomplete winding task as the current task includes acquiring the incomplete winding task corresponding to the shortest path having the longest path length as the current task.
Specifically, when the current task is selected each time, the winding task with the largest occupied grid number is used as the current task, so that winding calculation is performed according to the descending order of the occupied grid number.
In some embodiments, the method further includes obtaining preset wiring information, and specifically includes:
And obtaining winding width information, wherein the winding width information comprises the maximum winding width and the minimum winding width of different metal layers.
And acquiring the winding space of the wiring, and occupying the grid where the winding path is positioned and the peripheral grids in the winding space as occupied areas based on the winding space after one winding path is confirmed so as to update the wiring area, thereby avoiding interference among a plurality of winding paths.
And obtaining path resistance information, wherein the path resistance information comprises square resistance values of different metal layers, resistance values of through holes with different sizes and winding resistance reference values.
In this embodiment, one block refers to one grid, but in other embodiments, one block does not necessarily need to be equal to the same grid, and the present application is not limited specifically. The different metal layers include a first metal layer along the lateral trace and a second metal layer along the longitudinal trace, and the via is used to connect the metal traces in the first metal layer and the second metal layer.
The winding resistance reference value may be set in advance, or may be obtained by calculating the first winding task when the first winding task is performed. The winding resistance reference value set in advance may be set in advance according to a priori knowledge, or may be calculated in advance based on a winding task.
In some of these embodiments, the obtaining of the winding resistance reference value includes:
in step S310, the shortest path having the largest path length is set as the reference path in all the winding tasks.
Specifically, the path width of the shortest path is one grid, so the path length is counted by the occupied grid amount, and the occupied grid is the largest, namely the path length is the largest.
Step S320, based on the maximum winding widths of the different metal layers, the wiring widths of the reference paths are expanded to obtain corresponding reference winding paths.
Step S330, according to the path resistance information, the winding resistance values and the through hole resistance values of different metal layers in the reference winding path are calculated to obtain the total winding resistance value of the reference winding path, namely the winding resistance reference value.
In some embodiments, after obtaining the corresponding reference winding path, the method further comprises filling grids based on the reference winding path, completing the corresponding winding task, and updating the routing area.
Specifically, according to the wiring width confirmed in the reference wiring path, the first metal layer and the second metal layer are respectively filled, and the first metal layer and the second metal layer are connected through the through holes matched with the wiring width, so that corresponding winding tasks are completed, and the winding task corresponding to the reference wiring path is the first winding task to be filled, and the winding task is completed. Updating the grid occupied by the reference winding path in the occupied area, and obtaining the wiring area based on the updated occupied area.
The winding task corresponding to the reference winding path is used as the winding task of the first process in this embodiment, and after the wire width is expanded based on the shortest path, the mesh filling is directly performed based on the winding reference path, so as to complete the winding task. However, in other embodiments, the grid after the shortest path expansion is possibly an occupied grid, for example, the defined maximum winding width is larger, and the grid is expanded to the boundary of the test structure or the target area, so that the winding needs to be completed after the specific grid filling after the processing of step S232 and step S233 as the subsequent processing of the winding task is performed. However, before winding, the first winding task of this embodiment, that is, the winding reference path, can directly perform grid filling, because these problems are avoided by setting the routing area, for example, the area grid within a certain distance range (greater than the maximum wiring width) of the test structure and the edge grid of the target area are set to forbidden areas. However, in other embodiments, if this limitation is not made before winding, the first winding task also needs to make the processing determination of step S232 and step S233 before the grid occupancy filling is performed.
In some embodiments, step S232, performing adjustment confirmation and/or optimization on the shortest path of the current task based on the routing area, includes:
Step S410, judging whether grids of the shortest paths of the current task are all in the routing area, if yes, confirming the shortest paths, ending the processing of the current task in step S232, if not, discarding the shortest paths, and updating the routing area based on the discarded shortest paths.
Step S420, recalculates the shortest path of the current task, and reverts to step S410 for processing.
Specifically, the occupied area in the target area is updated based on the discarded shortest path to obtain an updated routing area. The lattice points of the discarded shortest path middle section can be partially occupied, so that the occupied area is updated.
In the embodiment, the optimal wire winding path between the pins and the bonding pads can be automatically laid out, and the existing wire winding and the area incapable of winding can be automatically avoided.
In some embodiments, step S233, based on preset routing information and routing area, calculates a routing path according to the confirmed shortest path, including:
And step S510, expanding the wiring width of the shortest path based on the winding width information and the path resistance information to generate a winding path, wherein the difference between the path resistance value of the winding path and the winding resistance reference value meets the preset condition.
Specifically, the difference in wiring widths of the adjacent metal layers is within a preset range.
Step S520, judging whether grids of the winding paths are all in the routing area, if yes, confirming the winding paths of the current task, ending the processing of the current task in step S233, if not, discarding the winding paths, and then restarting to step S510 for processing, or discarding the shortest paths and updating the routing area, and then confirming and/or optimizing the shortest paths again based on the routing area.
In the embodiment, an optimal solution is provided for each section of winding width, so that the winding width is more reasonable and the process is more stable, and resistance calculation is provided for each section of winding, so that the resistance value of each winding path is close.
In some embodiments, expanding the wiring widths of the shortest paths to generate the wiring paths includes calculating wiring widths of different metal layers in the shortest paths to generate the wiring paths using Lagrangian multiplier method, wherein differences in wiring widths of adjacent metal layers are within a preset range.
Specifically, the principle of calculating the path width by the Lagrange multiplier method is that we need to calculate the optimal solution of the width Wx of the transverse trace and the width Wy of the longitudinal trace according to the following formula:
R=R1×Lx/Wx+R2×Ly/Wy+m×Rv_nxn;
namely R- (R1×Lx/Wx+R2×) Ly/Wy+mX rv_nxn) =0;
let g (x, y) =r- (r1×lx/x+r2×ly/y+m×rv_nxn);
Wherein R is the total resistance of the winding path, lx is the path length of the transverse wire (i.e. the mesh number of the transverse wire in this embodiment), ly is the path length of the longitudinal wire (i.e. the mesh number of the longitudinal wire in this embodiment), rv_nxn is the resistance value of the through hole (i.e. the resistance value of the through hole with different dimensions), R1 is the square resistance value of the first metal layer Mn corresponding to the transverse wire, R2 is the square resistance value of the second metal layer mn+1 corresponding to the longitudinal wire, m is the number of times of invoking the through hole array via, n is the type of the through hole array via that needs to be matched (i.e. different through hole sizes), these two values are easy to obtain in the winding path, so we only need to determine the optimal solution of Wx and Wy, let the optimal solution condition be f (Wx, wy) = |wx-wy| minimum (x, y is used in the following description instead of Wx, wy, this optimal solution condition is abbreviated as f (x= |y), and n is the optimal solution is designed for the adjacent metal layer 25+ is designed to be more general, and the structure is more suitable for the same.
Let L (x, y, λ) =f (x, y) - λ×g (x, y), where λ is the lagrangian multiplier.
L (x, y, λ) derives from x, y, λ, respectively, i.e. (-)L/x,L/y,L/Λ), and the values of x, y, λ are obtained by setting the three values to 0, and the minimum value of f (x, y) is obtained.
In the embodiment, the Lagrangian multiplier method is adopted to process the optimization problem of the equality constraint and realize the calculation of the path width, but in other embodiments, based on different application scene requirements and different constraint conditions, other constraint optimization methods can be selected to realize the calculation of the path width, such as KKT conditions (Karush-Kuhn-Tucker Conditions) suitable for the optimization problem of the nonlinear inequality and equality constraint, a multiplier updating method suitable for the complex constraint optimization problem in combination with a penalty function and the Lagrangian multiplier method, even other sequence quadratic programming, an interior point method and the like, so as to process the specific constraint optimization problem. In some of these embodiments, after expanding the wiring width of the shortest path to generate the wiring path, further comprising:
In step S610, if the wiring width is smaller than the minimum wiring width of the corresponding metal layer in the wiring width information, the current task is processed again in step S232 after discarding the shortest path and updating the routing area.
Specifically, the winding width is smaller than the minimum winding width, the path is abandoned (the lattice points in the middle section are partially occupied), then the winding path is planned again, and iterative operation is performed until the winding width meets the minimum width requirement, so that a winding path which is not the optimal path is obtained, and the winding path is expanded and the lattice points are filled.
In addition, a length threshold of the shortest path can be defined, and when the length threshold is calculated by using the uniform grid winding algorithm, the shortest path smaller than the length threshold is abandoned, and the search is continued until the shortest path meeting the requirement of the defined length threshold is searched.
Step S620, if the wiring width is larger than the maximum winding width of the corresponding metal layer in the winding width information, judging whether the wiring width is within the preset redundancy value range, if so, confirming the winding path of the current task, and if not, reporting an abnormality.
Specifically, the wiring width is larger than the maximum winding width, and the reason for this phenomenon is that the subsequent winding path is changed due to occupation of the reference winding path, and the reason for the probability that the winding path is longer than the longest winding path defined in the preamble is likely to occur. The solution to this situation is to set a redundancy value for the maximum width (e.g. a maximum width of 4.5um as defined in the process, we define a maximum width of 4.0um in the algorithm, leaving a redundancy of 0.5 um) such that even if there is a winding path width exceeding the maximum winding width, the calculation based on the first pass uniform grid winding algorithm will not exceed much if the path width is exceeded. Thus, a redundancy value is maintained, allowing the path to be extended and filled normally without violating the rules in the process. In addition, the probability of occurrence of the case that the redundancy value is also exceeded is extremely small and can be ignored.
The present embodiment is described and illustrated below by way of preferred embodiments.
Fig. 4 is a preferred flowchart of the winding method based on the test structure design according to the present embodiment, as shown in fig. 5, the winding method based on the test structure design includes the following steps:
S1, taking a certain area as a target area which can be drawn by the layout, and generally taking the area as a rectangular area. The size of the grid is defined, see fig. 5, and the target area is divided into m×n grids (the number of grid points in practical application will be much larger than the number of grid points in the illustration). And defining forbidden areas and occupied areas in grids of the target area, assigning the grids of the forbidden areas and the occupied areas as 1, assigning the grids outside the forbidden areas as routing areas, and assigning the grids of the routing areas as 0. The frame position (grid marked by yellow) of the target area in fig. 5 is one of the forbidden areas, and the grid occupied by the subsequent test structure, the grid occupied by the bonding pad, and the like are all used as forbidden areas.
S2, referring to fig. 6 and 7, defining the areas of the test structure and the bonding pads, automatically calculating the central positions of the pins and the bonding pads of the test structure, and calculating the length and width of the current metal layer where the pins are located (the data may be used in the subsequent wiring width setting and path resistance value calculation to optimize the calculation results of the width and the resistance value of the pins). The connection relationship of each pin to the pad is defined, that is, the connection relationship of the pad 1 to the pin 1, the pad 2 to the pin 2 in fig. 7 is obtained.
S3, calculating the shortest path between each pin and each bonding pad one by taking one grid as a winding unit through a Less maze wiring algorithm (the embodiment is realized by the Less maze wiring algorithm, but other winding algorithms based on uniform grids can be realized, and the selection can be carried out according to different application scene requirements). (the path width at this time is only one grid, and different paths may overlap), see fig. 7, pin1 indicates pin1, pin2 indicates pin2, pad1 indicates pad1, pad2 indicates pad2, grid number information of X/Y direction routing of each shortest path is stored to be Lx/Ly, lx=x1+x2, ly=y1+y2 in the shortest path corresponding to pin2 and pad2 in fig. 7, and total routing path length=lx+ly.
S4, defining wiring information, namely setting the winding space of the wiring, defining the information of the metal layers and the through holes of the transverse and longitudinal wiring, and defining the square resistance value of the metal layers, for example:
the transverse metal wiring is Mn, R1 omega/square, and the maximum/minimum width is Wmax1/Wmin1 respectively.
The longitudinal metal wire is Mn+1, R2 omega/square, and the maximum/minimum width is Wmax2/Wmin2.
The through holes are ViaX, the through hole resistance of the size of 1 multiplied by 1 is about Rv_1X1Ω, the through hole resistance of the size of 2 multiplied by 2 is about Rv_2X1Ω, the through hole resistance of the size of 5 multiplied by 5 is about Rv_5X15Ω, the through holes are divided into arrays (namely different through hole sizes) of 1 multiplied by 1,2 multiplied by 2 and 5 multiplied by 5, in order to adapt to windings with different widths, in practical application, the specific value n of n multiplied by n can be obtained according to practical requirements, the method is not limited to the three types, and a script can automatically configure a proper through hole array for each section of winding through the comparison of the winding width and the widths of different through hole arrays.
S5, sorting the length=Lx+Ly value calculated in the step S3 from large to small, preferentially filling the largest winding path, setting the width of the largest winding path to be the maximum winding width (taking the lattice point occupied by the path as a central line to extend towards two sides), occupying the occupied lattice point (comprising the winding space required to be met in the process) after the line segment is extended, namely assigning the occupied lattice point to be changed from 0 to 1, assigning the unoccupied lattice point to be still 0, and filling the occupied lattice point with the metal layer defined in the step 7.
The number of square resistances of the transverse windings in the winding path is calculated to be Nsq _x=lx/Wmax 1.
The total resistance value rx= Nsq _x×r1 of the transverse windings is calculated.
And calculating the number of square resistances of the longitudinal windings in the winding path to be Nsq _y=ly/Wmax 2.
The total resistance value ry= Nsq _y×r2 of the longitudinal windings is calculated.
This routing path invokes a 5x5 array of vias m times, then the total via resistance rv=m×rv_5x5.
The total resistance of the winding is r=rx+ry+rv.
S6, sequencing the winding paths according to the path Length (except the calculated longest path), sequentially calculating one by one, considering that the former winding can influence the subsequent winding paths, and therefore, the winding paths can re-calculate the shortest path by using a Lee maze wiring algorithm, calculating the width of the current winding by taking the resistance value of the maximum winding path as a reference (enabling the total resistance value of the current winding to be the same as the resistance value of the maximum winding path or enabling the difference value of the resistance value of the maximum winding path to be not more than a preset threshold value as much as possible), and finally filling the required lattice points of the current winding. The method specifically comprises the following steps:
The following judgment processing is sequentially performed from the second path:
Determining whether the mesh that the path needs to occupy is already occupied:
if yes, calculating the shortest path again by using a Legend maze wiring algorithm, calculating the winding width by using a Lagrange multiplier method, expanding the winding path, judging the winding path, and if not, calculating the winding width by using the Lagrange multiplier method, expanding the winding path, and judging the winding path.
The winding path judging process comprises judging whether the grid occupied by the expanded winding path is occupied or not:
If not, the grid of the winding path is occupied to complete the winding task, if so, the winding width is calculated again by using the Lagrangian multiplier method and expanded to obtain a new winding path, or the shortest path is calculated again by using the Ligrangian maze wiring algorithm and the winding width is calculated again by using the Lagrangian multiplier method and expanded to obtain a new winding path until the new winding path meets the winding path judging process, namely, the required grid is unoccupied, and the winding task is completed after the new winding path is occupied.
According to the preferred embodiment, the array type test structure can automatically layout the optimal winding paths between the pins and the bonding pads when the array type test structure is connected in a bit line/word line mode, automatically avoid the existing winding and the area incapable of winding, provide an optimal solution for the winding width of each section, enable the winding width to be more reasonable and stable in process performance, and provide resistance calculation for each section of winding, so that the resistance value of each winding path is close.
It should be noted that the steps illustrated in the above-described flow or flow diagrams of the figures may be performed in a computer system, such as a set of computer-executable instructions, and that, although a logical order is illustrated in the flow diagrams, in some cases, the steps illustrated or described may be performed in an order other than that illustrated herein.
In this embodiment, a winding device based on a test structure design is further provided, and the device is used to implement the foregoing embodiments and preferred embodiments, which are not described herein. The terms "module," "unit," "sub-unit," and the like as used below may refer to a combination of software and/or hardware that performs a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementations in hardware, or a combination of software and hardware, are also possible and contemplated.
Fig. 8 is a block diagram of a winding device based on a test structure design according to the present embodiment, and as shown in fig. 8, the device includes a task acquisition module 10, a shortest path calculation module 20, and a path optimization module 30.
The task acquisition module 10 is configured to acquire a layout, determine a target area, and acquire a plurality of winding tasks in the target area, where the winding tasks include pins of a test structure to be subjected to winding connection and corresponding pads.
The shortest path calculation module 20 is configured to calculate, in the target area, a shortest path of each winding task.
The path optimization module 30 is configured to sequentially perform winding path optimization on each winding task based on preset wiring information and a shortest path until all the winding tasks are completed.
In some embodiments, the inside of the target area is divided into networks with the same size, a forbidden area, an occupied area and a routing area are defined in the target area, wherein the forbidden area comprises an edge grid of the target area, a grid occupied by a test structure and a grid occupied by a bonding pad, the occupied area comprises a grid occupied by an existing routing, and the rest area of the target area after the forbidden area and the occupied area are excluded is the routing area.
In some embodiments, the shortest path calculation module 20 is further configured to calculate, based on a uniform grid winding algorithm, a shortest path of each winding task in the routing area of the target area.
The shortest path is a connecting path occupying the least amount of grids, the connecting path is a path connecting pins of the test structure and corresponding bonding pads, and the path width of the shortest path is one grid.
The uniform grid winding algorithm comprises the steps of starting from a starting grid where the center position of a pin is located in a routing area, numbering adjacent grids in an ascending order, finally searching a termination grid where the center position of a bonding pad is located, and taking a path with the minimum number of the termination grid as a shortest path.
In some of these embodiments, the uniform mesh winding algorithm further includes defining a pin-out direction of the start mesh and/or the end mesh, adjacent meshes of the start mesh and/or the end mesh referring to adjacent meshes within the pin-out direction.
In some embodiments, the path optimization module 30 is further configured to obtain an incomplete winding task as a current task, confirm and/or optimize the shortest path of the current task based on the routing area, calculate to obtain a winding path according to the confirmed shortest path based on preset routing information and the routing area, fill a grid based on the winding path, complete the current task, and update the routing area, and continue to obtain the incomplete winding task as the current task until all the winding tasks are completed.
In some embodiments, the path optimization module 30 is further configured to obtain, as the current task, an incomplete winding task corresponding to the shortest path with the longest path length.
In some embodiments, the path optimization module 30 is further configured to obtain preset routing information, and specifically includes:
The method comprises the steps of obtaining winding width information comprising maximum winding widths and minimum winding widths of different metal layers, obtaining winding intervals of wiring, obtaining path resistance information comprising square resistance values of the different metal layers, resistance values of through holes with different sizes and winding resistance reference values, wherein one square refers to a grid, the different metal layers comprise a first metal layer along transverse wiring and a second metal layer along longitudinal wiring, and the through holes are used for connecting metal wiring in the first metal layer and the second metal layer.
In some embodiments, the path optimization module 30 is further configured to obtain a winding resistance reference value, and includes:
In all winding tasks, the shortest path with the largest path length is used as a reference path, the wiring width of the reference path is expanded based on the largest winding width of different metal layers to obtain a corresponding reference winding path, and the winding resistance value and the through hole resistance value of different metal layers in the reference winding path are calculated according to path resistance information to obtain the total winding resistance value of the reference winding path, namely the winding resistance reference value.
In some embodiments, the path optimization module 30 is further configured to perform grid filling based on the reference winding path, complete a corresponding winding task, and update the routing area.
In some embodiments, the path optimization module 30 is further configured to confirm the shortest path of the current task based on the routing area, or complete confirmation after optimizing the shortest path of the current task, and specifically includes step 1) of determining whether the grids of the shortest path of the current task are all in the routing area, if yes, confirming the shortest path, if not, discarding the shortest path, and updating the routing area based on the discarded shortest path.
Step 2) recalculating the shortest path of the current task and recalculating to the processing of step 1).
In some embodiments, the path optimization module 30 is further configured to implement the method including step 3) of expanding a wiring width of the shortest path based on the winding width information and the path resistance information to generate a winding path, wherein a difference between a path resistance value of the winding path and a winding resistance reference value satisfies a preset condition.
And step 4) judging whether grids of the winding paths are all in the wiring area, if yes, confirming the winding paths of the current task, if not, discarding the winding paths, and then restarting the processing in step 3), or discarding the shortest paths and updating the wiring area, and then confirming and/or optimizing the shortest paths again based on the wiring area.
In some of these embodiments, the path optimization module 30 is further configured to calculate, using a Lagrangian multiplier method, wiring widths of different metal layers in the shortest path to generate a wire-wound path, wherein a difference in wiring widths of adjacent metal layers is within a preset range.
In some embodiments, the path optimization module 30 is further configured to discard the shortest path and update the routing area, and then confirm and/or optimize the shortest path based on the routing area again if the wiring width is smaller than the minimum winding width of the corresponding metal layer in the winding width information, and determine whether the wiring width is within a preset redundancy value range if the wiring width is greater than the maximum winding width of the corresponding metal layer in the winding width information, confirm the winding path of the current task if the wiring width is within the preset redundancy value range, and report an exception if the wiring width is not within the preset redundancy value range.
The above-described respective modules may be functional modules or program modules, and may be implemented by software or hardware. For modules implemented in hardware, the modules may be located in the same processor, or may be located in different processors in any combination.
There is also provided in this embodiment a computer device comprising a memory in which a computer program is stored and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
Optionally, the computer device may further include a transmission device and an input/output device, where the transmission device is connected to the processor, and the input/output device is connected to the processor.
It should be noted that, specific examples in this embodiment may refer to examples described in the foregoing embodiments and alternative implementations, and are not described in detail in this embodiment.
In addition, in combination with the winding method based on the test structure design provided in the above embodiment, a storage medium may be provided in this embodiment. The storage medium stores a computer program which when executed by a processor implements any of the test structure design based winding methods of the above embodiments.
It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to be limiting. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure in accordance with the embodiments provided herein.
It is to be understood that the drawings are merely illustrative of some embodiments of the present application and that it is possible for those skilled in the art to adapt the present application to other similar situations without the need for inventive work. In addition, it should be appreciated that while the development effort might be complex and lengthy, it would nevertheless be a routine undertaking of design, fabrication, or manufacture for those of ordinary skill having the benefit of this disclosure, and thus should not be construed as a departure from the disclosure.
The term "embodiment" in this disclosure means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the application. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive. It will be clear or implicitly understood by those of ordinary skill in the art that the embodiments described in the present application can be combined with other embodiments without conflict.
The above examples merely represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the patent claims. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of the application should be assessed as that of the appended claims.

Claims (15)

1.一种基于测试结构设计的绕线方法,其特征在于,所述方法包括:1. A winding method based on test structure design, characterized in that the method comprises: 获取版图,确定目标区域,获取所述目标区域中的多个绕线任务,所述绕线任务包括待进行绕线连接的测试结构的引脚和对应的焊盘;Acquire a layout, determine a target area, and acquire a plurality of wiring tasks in the target area, wherein the wiring tasks include pins of a test structure to be connected by wiring and corresponding pads; 在所述目标区域中,计算各个所述绕线任务的最短路径;In the target area, calculating the shortest path of each of the detour tasks; 基于预设的布线信息和所述最短路径依次对各个所述绕线任务进行绕线路径生成,直至完成所有绕线任务。Based on the preset wiring information and the shortest path, winding paths are generated for each of the winding tasks in turn until all winding tasks are completed. 2.根据权利要求1所述的基于测试结构设计的绕线方法,其特征在于,所述目标区域内部被划分为大小相同的网络;2. The winding method based on test structure design according to claim 1, characterized in that the interior of the target area is divided into networks of the same size; 所述目标区域内部定义有禁止区域、已占用区域和走线区域;The target area is internally defined with a prohibited area, an occupied area and a routing area; 其中,所述禁止区域包括所述目标区域的边缘网格、所述测试结构占用的网格以及所述焊盘占用的网格;Wherein, the forbidden area includes the edge grid of the target area, the grid occupied by the test structure and the grid occupied by the pad; 所述已占用区域包括已有绕线占用的网格;The occupied area includes grids occupied by existing windings; 在所述目标区域中排除掉所述禁止区域和已占用区域后的剩余区域为走线区域。The remaining area after excluding the prohibited area and the occupied area in the target area is the routing area. 3.根据权利要求2所述的基于测试结构设计的绕线方法,其特征在于,所述在所述目标区域中,计算各个所述绕线任务的最短路径,包括:3. The winding method based on test structure design according to claim 2, characterized in that, in the target area, calculating the shortest path of each winding task comprises: 基于均匀网格绕线算法,在所述目标区域的所述走线区域中,分别计算各个绕线任务的最短路径;Based on a uniform grid winding algorithm, in the routing area of the target area, respectively calculate the shortest path of each winding task; 其中,所述最短路径为占用网格数量最少的连接路径,所述连接路径为连接所述测试结构的引脚和对应的所述焊盘的路径;所述最短路径的路径宽度为一个网格;The shortest path is a connection path that occupies the least number of grids, and the connection path is a path connecting the pin of the test structure and the corresponding pad; the path width of the shortest path is one grid; 所述均匀网格绕线算法,包括:在所述走线区域内,从所述引脚中心位置所在的起始网格开始,通过对相邻网格进行升序编号,最终搜索到所述焊盘中心位置所在的终止网格,将所述终止网格的编号最小的路径作为最短路径。The uniform grid winding algorithm includes: starting from the starting grid where the center of the pin is located in the routing area, by ascending numbering of adjacent grids, finally searching for the terminating grid where the center of the pad is located, and taking the path with the smallest number in the terminating grid as the shortest path. 4.根据权利要求3所述的基于测试结构设计的绕线方法,其特征在于,所述均匀网格绕线算法,还包括:4. The winding method based on test structure design according to claim 3, characterized in that the uniform grid winding algorithm further comprises: 定义所述起始网格和/或终止网格的出引脚方向,所述起始网格和/或所述终止网格的相邻网格是指在所述出引脚方向内的相邻网格。The pin-out direction of the starting grid and/or the ending grid is defined, and the adjacent grids of the starting grid and/or the ending grid refer to the adjacent grids within the pin-out direction. 5.根据权利要求2所述的基于测试结构设计的绕线方法,其特征在于,基于预设的布线信息和所述最短路径依次对各个所述绕线任务进行绕线路径生成,直至完成所有绕线任务,包括:5. The winding method based on test structure design according to claim 2, characterized in that the winding path is generated for each winding task in turn based on the preset wiring information and the shortest path until all winding tasks are completed, comprising: 获取未完成的所述绕线任务作为当前任务;Acquire the unfinished winding task as the current task; 基于所述走线区域对当前任务的所述最短路径进行确认和/或优化;Confirming and/or optimizing the shortest path of the current task based on the routing area; 基于预设布线信息和所述走线区域,根据确认后的所述最短路径生成绕线路径;Based on the preset wiring information and the routing area, generating a winding path according to the confirmed shortest path; 基于所述绕线路径进行网格填充,完成当前任务,并更新所述走线区域;Perform grid filling based on the winding path, complete the current task, and update the routing area; 继续获取未完成的所述绕线任务作为当前任务进行处理,直至完成所有的所述绕线任务。Continue to obtain the unfinished winding tasks as current tasks for processing until all the winding tasks are completed. 6.根据权利要求5所述的基于测试结构设计的绕线方法,其特征在于,所述获取未完成的所述绕线任务作为当前任务,包括:6. The winding method based on test structure design according to claim 5, characterized in that the obtaining of the unfinished winding task as the current task comprises: 获取路径长度最长的最短路径所对应的未完成的绕线任务,作为当前任务。Get the unfinished detour task corresponding to the shortest path with the longest path length as the current task. 7.根据权利要求5所述的基于测试结构设计的绕线方法,其特征在于,还包括获取预设的布线信息,具体包括:7. The winding method based on test structure design according to claim 5, characterized in that it also includes obtaining preset wiring information, specifically including: 获取绕线宽度信息,包括不同金属层的最大绕线宽度和最小绕线宽度;Get the winding width information, including the maximum and minimum winding widths of different metal layers; 获取布线的绕线间距;Get the wiring spacing; 获取路径电阻信息,包括不同金属层的方块电阻值,不同尺寸通孔的电阻值,以及绕线电阻基准值;Obtain path resistance information, including sheet resistance values of different metal layers, resistance values of vias of different sizes, and winding resistance baseline values; 其中,一个所述方块是指一个网格;Wherein, one of the blocks refers to a grid; 所述不同金属层包括沿着横向走线的第一金属层和沿着纵向走线的第二金属层,所述通孔用于连接第一金属层和第二金属层中的金属走线。The different metal layers include a first metal layer along a transverse routing and a second metal layer along a longitudinal routing, and the through hole is used to connect the metal routings in the first metal layer and the second metal layer. 8.根据权利要求7所述的基于测试结构设计的绕线方法,其特征在于,所述绕线电阻基准值的获取,包括:8. The winding method based on test structure design according to claim 7, characterized in that obtaining the winding resistance reference value comprises: 在全部的所述绕线任务中,将路径长度最大的所述最短路径作为基准路径;Among all the winding tasks, the shortest path with the largest path length is used as a reference path; 基于所述不同金属层的最大绕线宽度,扩展所述基准路径的布线宽度,得到对应的基准绕线路径;Based on the maximum winding width of the different metal layers, the wiring width of the reference path is expanded to obtain a corresponding reference winding path; 根据所述路径电阻信息,计算所述基准绕线路径中不同金属层的绕线电阻值和通孔电阻值,得到所述基准绕线路径的绕线总阻值,即作为所述绕线电阻基准值。According to the path resistance information, the winding resistance values and through-hole resistance values of different metal layers in the reference winding path are calculated to obtain the total winding resistance value of the reference winding path, which is used as the winding resistance reference value. 9.根据权利要求8所述的基于测试结构设计的绕线方法,其特征在于,在得到对应的基准绕线路径之后,还包括:9. The winding method based on test structure design according to claim 8, characterized in that after obtaining the corresponding reference winding path, it also includes: 基于所述基准绕线路径进行网格填充,完成对应的所述绕线任务,并更新所述走线区域。Grid filling is performed based on the reference winding path to complete the corresponding winding task and update the routing area. 10.根据权利要求7所述的基于测试结构设计的绕线方法,其特征在于,所述基于所述走线区域对当前任务的所述最短路径进行确认和/或优化,包括:10. The wiring method based on test structure design according to claim 7, characterized in that the confirming and/or optimizing the shortest path of the current task based on the routing area comprises: 基于所述走线区域,对当前任务的所述最短路径进行确认,或者,对当前任务的所述最短路径进行优化后完成确认;具体包括:Based on the routing area, the shortest path of the current task is confirmed, or the shortest path of the current task is optimized and then confirmed; specifically including: 步骤1):判断当前任务的所述最短路径的网格是否都在所述走线区域内:Step 1): Determine whether the grids of the shortest path of the current task are all within the routing area: 若是,则对所述最短路径进行确认;If yes, confirm the shortest path; 若否,则放弃所述最短路径,并基于放弃的所述最短路径更新所述走线区域;If not, abandoning the shortest path, and updating the routing area based on the abandoned shortest path; 步骤2):重新计算当前任务的最短路径,并重新至步骤1)处理。Step 2): Recalculate the shortest path for the current task and go back to step 1) for processing. 11.根据权利要求10所述的基于测试结构设计的绕线方法,其特征在于,基于预设布线信息和所述走线区域,根据确认后的所述最短路径生成绕线路径,包括:11. The winding method based on test structure design according to claim 10, characterized in that, based on preset wiring information and the routing area, generating a winding path according to the confirmed shortest path, comprising: 基于所述最短路径和布线信息生成满足预设规则的绕线路径,并基于所述走线区域对所述绕线路径进行确认;其中,所述预设规则包括基于绕线宽度信息设置的预设规则和基于绕线电阻基准值设置的预设规则;具体包括:A winding path that meets preset rules is generated based on the shortest path and the wiring information, and the winding path is confirmed based on the routing area; wherein the preset rules include preset rules set based on the winding width information and preset rules set based on the winding resistance reference value; specifically including: 步骤3):基于所述绕线宽度信息和所述路径电阻信息,扩展所述最短路径的布线宽度以生成绕线路径;其中,所述绕线路径的路径电阻值与所述绕线电阻基准值的差异满足预设条件;Step 3): Based on the winding width information and the path resistance information, the wiring width of the shortest path is expanded to generate a winding path; wherein the difference between the path resistance value of the winding path and the winding resistance reference value satisfies a preset condition; 步骤4):判断所述绕线路径的网格是否都在所述走线区域内:Step 4): Determine whether all grids of the winding path are within the routing area: 若是,则对当前任务的所述绕线路径进行确认;If yes, confirm the detour path of the current task; 若否,则放弃所述绕线路径后,重新至步骤3)处理;或者放弃所述最短路径并更新所述走线区域后,重新基于所述走线区域对所述最短路径进行确认和/或优化。If not, the routing path is abandoned and the process goes back to step 3); or the shortest path is abandoned and the routing area is updated, and the shortest path is reconfirmed and/or optimized based on the routing area. 12.根据权利要求11所述的基于测试结构设计的绕线方法,其特征在于,扩展所述最短路径的布线宽度以生成绕线路径,包括:12. The test structure design-based routing method according to claim 11, characterized in that the step of extending the wiring width of the shortest path to generate a routing path comprises: 利用拉格朗日乘子法,计算所述最短路径中不同金属层的布线宽度以生成绕线路径,其中,相邻金属层的所述布线宽度的差值在预设的范围内。The Lagrange multiplier method is used to calculate the wiring widths of different metal layers in the shortest path to generate a winding path, wherein the difference in the wiring widths of adjacent metal layers is within a preset range. 13.根据权利要求11所述的基于测试结构设计的绕线方法,其特征在于,在扩展所述最短路径的布线宽度以生成绕线路径之后,还包括:13. The method for winding based on test structure design according to claim 11, characterized in that after expanding the wiring width of the shortest path to generate a winding path, it further comprises: 若所述布线宽度小于所述绕线宽度信息中对应金属层的所述最小绕线宽度,则放弃所述最短路径并更新所述走线区域后,重新基于所述走线区域对所述最短路径进行确认和/或优化;If the wiring width is smaller than the minimum winding width of the corresponding metal layer in the winding width information, the shortest path is abandoned and the routing area is updated, and then the shortest path is re-confirmed and/or optimized based on the routing area; 若所述布线宽度大于所述绕线宽度信息中对应金属层的所述最大绕线宽度,则判断所述布线宽度是否在预设的冗余值范围内:若是,则对当前任务的绕线路径进行确认;若否,则上报异常。If the wiring width is greater than the maximum winding width of the corresponding metal layer in the winding width information, determine whether the wiring width is within the preset redundancy value range: if so, confirm the winding path of the current task; if not, report an exception. 14.一种基于测试结构设计的绕线装置,其特征在于,所述装置包括:14. A winding device based on a test structure design, characterized in that the device comprises: 任务获取模块,用于获取版图,确定目标区域,获取所述目标区域中的多个绕线任务,所述绕线任务包括待进行绕线连接的测试结构的引脚和对应的焊盘;A task acquisition module, used to acquire a layout, determine a target area, and acquire a plurality of wiring tasks in the target area, wherein the wiring tasks include pins of a test structure to be wired and connected and corresponding pads; 最短路径计算模块,用于在所述目标区域中,计算各个所述绕线任务的最短路径;A shortest path calculation module, used for calculating the shortest path of each of the detour tasks in the target area; 路径优化模块,用于基于预设的布线信息和所述最短路径依次对各个所述绕线任务进行绕线路径生成,直至完成所有绕线任务。The path optimization module is used to generate a winding path for each of the winding tasks in sequence based on the preset wiring information and the shortest path until all the winding tasks are completed. 15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求13中任一项所述的方法的步骤。15. A computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 13 are implemented.
CN202411688634.0A 2024-11-25 2024-11-25 Winding method, winding device and readable storage medium based on test structure design Active CN119203909B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411688634.0A CN119203909B (en) 2024-11-25 2024-11-25 Winding method, winding device and readable storage medium based on test structure design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411688634.0A CN119203909B (en) 2024-11-25 2024-11-25 Winding method, winding device and readable storage medium based on test structure design

Publications (2)

Publication Number Publication Date
CN119203909A true CN119203909A (en) 2024-12-27
CN119203909B CN119203909B (en) 2025-04-08

Family

ID=94042373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411688634.0A Active CN119203909B (en) 2024-11-25 2024-11-25 Winding method, winding device and readable storage medium based on test structure design

Country Status (1)

Country Link
CN (1) CN119203909B (en)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080103364A (en) * 2007-05-23 2008-11-27 성균관대학교산학협력단 Routing method for forming interconnetion line and record medium recorded program for realizing the same
US20090083689A1 (en) * 2007-09-25 2009-03-26 International Business Machines Corporation Gridded-router based wiring on a non-gridded library
CN101916317A (en) * 2010-08-23 2010-12-15 清华大学 Module-to-module Routing Method for Integrated Circuits Based on Meshless Model
CN106131976A (en) * 2016-07-08 2016-11-16 天津大世自动化科技有限公司 A kind of bluetooth MESH New Algorithm
CN111027273A (en) * 2019-12-04 2020-04-17 杭州广立微电子有限公司 Layout automatic winding method, storage device and system based on pre-winding
CN111368493A (en) * 2018-12-26 2020-07-03 杭州广立微电子有限公司 Automatic layout wiring generation method based on sparse grid
WO2020224036A1 (en) * 2019-05-08 2020-11-12 深圳职业技术学院 Digital integrated circuit wiring method based on binary code, and terminal device
WO2022001132A1 (en) * 2020-06-29 2022-01-06 苏州浪潮智能科技有限公司 Routing inspection method and apparatus for printed circuit board, and computer-readable storage medium
CN115983189A (en) * 2023-01-06 2023-04-18 中山大学 Analog integrated circuit layout wiring method and system for self-adaptive grid
CN116029254A (en) * 2023-01-06 2023-04-28 中山大学 A method and system for automatic routing of integrated circuit layout based on path optimization
CN117524915A (en) * 2024-01-08 2024-02-06 杭州广立微电子股份有限公司 Grid-shaped winding weak point detection method, device and computer equipment
CN118607456A (en) * 2024-08-07 2024-09-06 杭州广立微电子股份有限公司 Integrated circuit post-simulation layout generation method, device and readable storage medium
WO2024193088A1 (en) * 2023-03-22 2024-09-26 苏州元脑智能科技有限公司 Circuit board winding method and apparatus, nonvolatile readable storage medium and electronic device

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080103364A (en) * 2007-05-23 2008-11-27 성균관대학교산학협력단 Routing method for forming interconnetion line and record medium recorded program for realizing the same
US20090083689A1 (en) * 2007-09-25 2009-03-26 International Business Machines Corporation Gridded-router based wiring on a non-gridded library
CN101916317A (en) * 2010-08-23 2010-12-15 清华大学 Module-to-module Routing Method for Integrated Circuits Based on Meshless Model
CN106131976A (en) * 2016-07-08 2016-11-16 天津大世自动化科技有限公司 A kind of bluetooth MESH New Algorithm
CN111368493A (en) * 2018-12-26 2020-07-03 杭州广立微电子有限公司 Automatic layout wiring generation method based on sparse grid
WO2020224036A1 (en) * 2019-05-08 2020-11-12 深圳职业技术学院 Digital integrated circuit wiring method based on binary code, and terminal device
CN111027273A (en) * 2019-12-04 2020-04-17 杭州广立微电子有限公司 Layout automatic winding method, storage device and system based on pre-winding
WO2022001132A1 (en) * 2020-06-29 2022-01-06 苏州浪潮智能科技有限公司 Routing inspection method and apparatus for printed circuit board, and computer-readable storage medium
CN115983189A (en) * 2023-01-06 2023-04-18 中山大学 Analog integrated circuit layout wiring method and system for self-adaptive grid
CN116029254A (en) * 2023-01-06 2023-04-28 中山大学 A method and system for automatic routing of integrated circuit layout based on path optimization
WO2024193088A1 (en) * 2023-03-22 2024-09-26 苏州元脑智能科技有限公司 Circuit board winding method and apparatus, nonvolatile readable storage medium and electronic device
CN117524915A (en) * 2024-01-08 2024-02-06 杭州广立微电子股份有限公司 Grid-shaped winding weak point detection method, device and computer equipment
CN118607456A (en) * 2024-08-07 2024-09-06 杭州广立微电子股份有限公司 Integrated circuit post-simulation layout generation method, device and readable storage medium

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
刘冲;周驰;: "基于RRT*的母线布线路径规划算法", 计算机测量与控制, no. 05, 25 May 2020 (2020-05-25) *
宋谦;路林吉;: "面向目标的主动绕障PCB布线算法", 电子测试, no. 22, 15 November 2018 (2018-11-15) *
黄训诚;庄奕琪;耿阿囡;: "基于粒子群优化算法的集成电路无网格布线", 西安电子科技大学学报, no. 01, 25 February 2007 (2007-02-25) *
黄训诚;耿阿囡;庄奕琪;杨丰辉;: "基于蚁群算法的集成电路无网格布线", 电子器件, no. 03, 30 September 2006 (2006-09-30) *

Also Published As

Publication number Publication date
CN119203909B (en) 2025-04-08

Similar Documents

Publication Publication Date Title
CN111368493B (en) Automatic layout wiring generation method based on sparse grid
CN113792519B (en) Method for performing layout planning on circuit, electronic equipment and storage medium
CN116911246B (en) Wiring planning method for chip design and related equipment
CN115081386B (en) Wiring optimization method and device for integrated circuit and related equipment
CN116306486B (en) Method for checking design rule of chip design and related equipment
CN119203909B (en) Winding method, winding device and readable storage medium based on test structure design
CN118890306B (en) Computer network communication method, computer equipment, storage medium and program product
CN117688895B (en) Circuit diagram generating method, computer device and storage medium
US20130328155A1 (en) Generation of additional shapes on a photomask for a multiple exposure process
US8307325B2 (en) Method of semiconductor integrated circuit and computer readable medium
US10977414B2 (en) Constructing via meshes for high performance routing on silicon chips
JP2006093631A (en) Method and device for manufacturing semiconductor integrated circuit
US10796056B2 (en) Optimizing library cells with wiring in metallization layers
US7091614B2 (en) Integrated circuit design for routing an electrical connection
CN119002165A (en) Method for establishing optical proximity correction model, system, equipment and storage medium thereof
CN106991206B (en) Method and device for generating chip plane layout information
CN118886387B (en) Pad interval adjusting method, device and storage medium
CN112416852A (en) Method and device for determining route of ring interconnect structure
LU503256B1 (en) 2.5d chiplet arrangement method for optimizing communication power consumption
CN118858905B (en) Gate polysilicon open circuit test structure and generation method, device, equipment and medium
JP3705737B2 (en) Semiconductor integrated circuit layout method
CN119647394A (en) Triple exposure two-end wire network wiring method and system based on state decomposition
JP3617366B2 (en) Semiconductor integrated circuit design method
JP2008257377A (en) Design method for semiconductor integrated circuit
WO2023155239A1 (en) Layout arrangement and wiring method, circuit layout, electronic device, 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