CN114692559B - A winding method based on resistance sensitivity - Google Patents
A winding method based on resistance sensitivity Download PDFInfo
- Publication number
- CN114692559B CN114692559B CN202110281188.1A CN202110281188A CN114692559B CN 114692559 B CN114692559 B CN 114692559B CN 202110281188 A CN202110281188 A CN 202110281188A CN 114692559 B CN114692559 B CN 114692559B
- Authority
- CN
- China
- Prior art keywords
- winding
- grid
- structure block
- wound
- width
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design 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)
- Formation Of Various Coating Films On Cathode Ray Tubes And Lamps (AREA)
- Coils Or Transformers For Communication (AREA)
Abstract
The invention provides a winding method based on resistance sensitivity, which comprises the steps of obtaining winding information, dividing a device area into a device grid and an area grid, obtaining the information of the area grid, and creating a winding path of a network to be wound by the area grid. When the winding is performed, the sensitivity of the resistor is considered, the winding requirement under the required scene can be met, the winding success rate is improved, and the design is optimized.
Description
Technical Field
The invention belongs to the field of semiconductor design and production, and particularly relates to a winding method based on resistance sensitivity.
Background
With the rapid development of integrated circuit technology, integrated circuits enter into ultra-deep submicron age, so that the feature size of electronic devices is smaller and smaller, the scale of chips is larger and larger, more and more components can be integrated on a single chip, the complexity is rapidly increased, the wiring method in a layout can not meet the design requirement of the integrated circuits by a manual design wiring method, the automatic wiring of a computer occupies a larger and larger proportion in the layout design wiring, and the quality of the design wiring directly influences the realization of functions and the quality of electrical performance. The algorithm of wiring has extremely important influence on the speed and efficiency of wiring, and how to design the algorithm with less time and space, lower complexity and higher efficiency becomes a huge problem faced by the semiconductor computer aided design. For detailed routing, the conventional planar routing algorithm is more common:
The Lee's Maze Routing Algorithm algorithm is a single network winding algorithm, firstly, the winding plane is divided into uniform grids with consistent size, adjacent grids in the horizontal direction and the vertical direction are set from the initial grid, the cost values of the 4 grids which are not occupied are set, the step is iterated, the cost values are increased according to ascending order, finally, the target grid is searched, and the shortest path is obtained from the target grid to the initial grid. The algorithm has good winding effect on a single network, but has the problems of low efficiency and large storage requirement.
The sequential winding algorithm (Sequential Routing) is a multi-network winding algorithm, firstly, the winding sequence of the network to be wound is set, the network to be wound is wound according to the sequence, and when one network finishes winding, the congestion degree of the global winding resource is updated, so that the network to be wound is forced to use the congested winding resource. The winding algorithm is extremely sensitive to the sequence of windings, which typically results in the network where the winding is completed first affecting the network where the winding is completed later.
As can be seen from the above, no resistor-sensitive winding method is considered to cope with different application requirements, which is also very unfavorable for further development of the integrated circuit design.
Disclosure of Invention
The present application has been made in view of the above problems of the prior art, and an object of the present application is to provide a winding method based on resistance sensitivity. The terminology used in the description of the application below and the associated technical principles are for the purpose of illustration only and are not intended to be limiting.
The winding method based on resistance sensitivity comprises the steps of S1, obtaining winding information, including a device area, a pad area, a device to be wound and all networks to be wound, wherein the device to be wound is arranged in the device area, a plurality of pads are arranged in the pad area, one side of the pad area is shared with one side of the device area, the networks to be wound comprise pads and pins connected with each other to be wound, the pins are arranged on the device to be wound, the winding width and winding interval are preset, S2, dividing the device area into a device mesh and an area mesh, the area mesh comprises a first mesh and a second mesh (the number of pins in the first mesh is the number of pins of the device to be wound), the device mesh is a mesh generated after the position area of the device to be wound is expanded, the first mesh is a mesh created in the device area between the device mesh and the pad area, the second mesh is a mesh created in the device area except the device mesh and the first mesh, S3, the obtaining information of the area including the required mesh and the area to be wound, the number of pins in the wire winding area are connected with each other to the network to be wound in the area through the network to be wound is calculated according to the required mesh, the number of the winding area mesh in the winding area, the network is calculated to be created in the area, the network is connected with the network to the required to be wound, and the area is connected with the network to be created by the network, and creating a plurality of intermediate structure blocks between the starting point structure blocks and the end point structure blocks, wherein the widths of the intermediate structure blocks are set according to the winding widths of the area grids where the intermediate structure blocks are positioned, and completing the winding paths of the network to be wound, wherein the winding paths comprise the starting point structure blocks, the intermediate structure blocks and the end point structure blocks.
In particular, in step S2, the number of pins of the device to be wound is expanded according to the winding width and the winding interval preset in step S1.
The process of expanding the position area of the device to be wound to generate the device grid is specifically that the position area of the device to be wound is marked as (x 1, y1, x2, y 2), wherein (x 1, y 1) and (x 2, y 2) are respectively the left lower corner coordinate and the right upper corner coordinate of the device to be wound, the pin number of the device to be wound is marked as k, the preset winding width in the step S1 is marked as width, the winding interval is marked as space, and the expanded device grid of the device to be wound is marked as (dx 1, dy1, dx2, dy 2) dx1=x1-(k+1)×(width+space);dx2=x2+(k+1)×(width+space);dy1=y1-(2×k+1)×(width+space);dy2=y2+(2×k+1)×(width+space).
In the present invention, the first grid is a rectangular grid created by a device region between a device grid and a pad region, one of two opposite sides of the first grid overlaps with the side of the device grid and has the same length, and the other side overlaps with the side of the pad region.
In the invention, the second grid refers to a grid created by a device region between two adjacent first grids or a grid created by a device region between a first grid closest to the edge of the device region and the edge of the device region.
In the present invention, in the step S3, all the networks to be wound are traversed, and the information acquisition of the area grid is implemented according to the relative positional relationship between the pins, the pads and the area grid in the networks to be wound.
In the present invention, in the step S3, the winding width of the area grid is calculated by the formula: The method comprises the steps of (1) selecting a winding space of a regional grid, wherein the mesh_width represents the winding width of the regional grid, (zx 2-zx 1) is a distance value between two edges of the regional grid in the direction along the direction of a network path to be wound, space represents the preset winding space in the step S1, and n represents the number of networks to be wound, which need to pass through the regional grid, of winding.
The starting point structure block comprises a first starting point structure block and a second starting point structure block, wherein the first starting point structure block is connected with a bonding pad, the length of the first starting point structure block is set according to the winding sequence of a network to be wound (namely, the network to be wound, to which the starting point structure block belongs) in a region grid where the starting point structure block is located and the winding width of the region grid, the width of the first starting point structure block is set according to the length of a pin outlet side of the bonding pad, the second starting point structure block is connected with the first starting point structure block, the length of the second starting point structure block is set according to the distance from the first starting point structure block to the edge of the region grid where the starting point structure block is located along a winding path of the network to be wound, and the width of the second starting point structure block is set according to the winding width of the region grid.
The terminal structure block comprises a first terminal structure block and a second terminal structure block, wherein the first terminal structure block is connected with a pin, the length of the first terminal structure block is set according to the winding sequence of a network to be wound in a first grid where the terminal structure block is located and the winding width of the first grid, the width of the first terminal structure block is set according to the length of a pin outlet side of the pin, the second terminal structure block is connected with the first terminal structure block, the length of the second terminal structure block is set according to the distance from the first terminal structure block to an extension line of a position area of a device to be wound along a winding path of the network to be wound, and the width of the second terminal structure block is set according to the winding width of the first grid.
In the present invention, in the step S4, after the creation of all the starting point structure blocks and the end point structure blocks is completed, the obtaining and the matching of the starting point structure blocks and the end point structure blocks of the network to be wound are performed according to the information of the bonding pads and the pins of the network to be wound.
In the step S4, the step of creating a plurality of intermediate structure blocks comprises the steps of creating a plurality of intermediate structure blocks which are sequentially connected by taking a straight line passing through the midpoint of the overlapping area along the direction of the winding path as a center line if one structure block is completely overlapped with the other structure block in the projection of the second starting point structure block and the second ending point structure block on a straight line perpendicular to the direction of the winding path in the projection of the second starting point structure block and the second ending point structure block on the straight line perpendicular to the direction of the winding path, and creating a plurality of intermediate structure blocks which are sequentially connected by starting from the second ending point structure block until one structure block is completely overlapped with the other structure block in the projection of the last intermediate structure block and the second starting point structure block on the straight line perpendicular to the direction of the winding path in the projection of the second starting point structure block in the straight line along the direction of the winding path in the straight line passing through the midpoint of the overlapping area as the center line if the second starting point structure block and the second starting point structure block is not completely overlapped or not overlapped.
In the invention, the winding sequence of the starting point structure block in the step S4 is that the smaller the distance from the position of the bonding pad in the network to be wound to the edge perpendicular to the winding path in the area grid connected with the bonding pad along the winding path, the earlier the winding.
In the present invention, the winding sequence of creating the end structural block and/or the winding sequence of creating the intermediate structural block in the step S4 is identical to the winding sequence of creating the start structural block.
The winding method based on resistance sensitivity has the beneficial effects that the resistance sensitivity is considered during winding according to the winding method based on resistance sensitivity, so that the winding requirement under a required scene can be met, and the design is optimized.
Drawings
FIG. 1 is a schematic diagram of a winding method based on resistance sensitivity according to the present invention.
Fig. 2 is a schematic diagram of a device_area in a first embodiment of the present invention.
Fig. 3, 4 and 5 are schematic views of device region division in accordance with an embodiment of the present invention
Fig. 6 is a schematic diagram of the location information of pin and pad in embodiment five.
Fig. 7 (a) and 7 (b) are schematic diagrams showing different positions of pin and pad in the fifth embodiment of the present invention.
Fig. 8 is a schematic diagram of creating an intermediate structure block in a sixth embodiment of the invention.
Fig. 9 is another schematic diagram of creating an intermediate structure block in a sixth embodiment of the invention.
Detailed Description
The foregoing and/or additional aspects and advantages of the present invention will be apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings.
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While the present disclosure has been illustrated in the drawings in some form, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and examples of the present disclosure are for illustrative purposes only and are not intended to limit the scope of the present disclosure. The operations of the embodiments are depicted in the following examples in a particular order to provide a better understanding of the details of the examples and to provide a thorough understanding of the present invention, but the description of the order does not necessarily correspond one-to-one to a resistance-based routing method of the present invention, nor is the description of the order to limit the scope of the present invention.
It should be noted that the flowcharts and block diagrams in the figures illustrate the operational processes that may be implemented by the methods according to the embodiments of the present invention. It should also be noted that in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the intervening blocks, depending upon the objectives sought to be achieved by the steps involved. Furthermore, each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and manual operations.
Example 1
As shown in FIG. 1, the embodiment of the invention discloses a winding method based on resistance sensitivity, which comprises the following steps of S1, obtaining winding information, wherein the winding information comprises a device area, a bonding pad area, The method comprises the steps of (1) forming a device to be wound and a network to be wound, wherein the device to be wound is arranged in a device area, a plurality of bonding pads are arranged in a bonding pad area, one side edge of the bonding pad area is shared with one side edge of the device area, the network to be wound comprises bonding pads and pins which are connected with each other in a winding mode, the pins are arranged on the device to be wound, a preset winding width and a preset winding interval, step S2, dividing the device area into a device grid and an area grid, the area grid comprises a first grid and a second grid, the device grid is a grid formed by expanding the position area of the device to be wound, the first grid is a grid created between the device grid and the bonding pad area, the second grid is a grid created in the device area except the device grid and the first grid, and step S3, obtaining information of the area grid, including the network to be wound which is required to pass through the area, a winding space in the area grid, and the winding space in the area grid according to the space, The method comprises the steps of (1) respectively calculating the number of networks to be wound of the area grids to be wound to obtain the winding width of each area grid, and S4. Creating a winding path of the network to be wound according to the area grids, wherein the winding path comprises creating a starting point structure block connected with a bonding pad in the network to be wound, creating an end point structure block connected with a pin in the network to be wound in a first grid connected with the pin, creating a plurality of intermediate structure blocks between the starting point structure block and the end point structure block, and setting the widths of the intermediate structure blocks according to the winding width of the area grids to be wound to complete the network to be wound, wherein the starting point structure block is connected with the bonding pad, winding paths of the intermediate structure block and the end structure block. In this embodiment, the starting point structure block includes a first starting point structure block and a second starting point structure block, the first starting point structure block is connected with a bonding pad, the length of the first starting point structure block is set according to the winding sequence of the network to be wound (i.e. the network to be wound to which the starting point structure block belongs) in the area grid where the starting point structure block is located and the winding width of the area grid, the width of the first starting point structure block is also set according to the length of the edge of the bonding pad for connecting pins, the second starting point structure block is connected with the first starting point structure block, the length of the second starting point structure block is set according to the distance from the first starting point structure block to the edge of the area grid where the starting point structure block is located along the winding path of the network to be wound, and the width of the second starting point structure block is set according to the winding width of the area grid. the terminal structure block comprises a first terminal structure block and a second terminal structure block, wherein the first terminal structure block is connected with a pin, the length of the first terminal structure block is also set according to the winding sequence of a network to be wound in a first grid where the terminal structure block is located and the winding width of the first grid, the width of the first terminal structure block is set according to the length of a pin outlet edge, the second terminal structure block is connected with the first terminal structure block, the length of the second terminal structure block is set according to the distance from the first terminal structure block to an extension line of the edge of a position area of a device to be wound along a winding path of the network to be wound, and the width of the second terminal structure block is set according to the winding width of the first grid.
For convenience of illustration and description, in the embodiment, the device area is denoted as device_area, the device to be wound is denoted as device, the network to be wound is denoted as net, the first mesh is denoted as no free zone, the second mesh is denoted as free zone, the preset winding width is denoted as width, the winding interval is denoted as space, the number of pins of the device to be wound is denoted as k, the pad is denoted as pad, and the pins are denoted as pin. Starting blocks are denoted polygons1, ending blocks are denoted polygons2, first starting blocks are denoted polygon11, second starting blocks are denoted polygon12, blocks are denoted polygon, first ending blocks are denoted polygon21, and second ending blocks are denoted polygon22. The polygon11, polygon12, polygon21, and polygon22 may be formed by sequentially connecting 1 or more than 1 polygon, respectively, but are not limited thereto.
In this embodiment, the device grid is created by setting the location area of the device to be wound as (x 1, y1, x2, y 2), where (x 1, y 1) is the lower left corner coordinate of the device to be wound and (x 2, y 2) is the upper right corner coordinate of the device to be wound, and the expanded device grid of the device to be wound is (dx1,dy1,dx2,dy2):dx1 = x1-(k+1)×(width+space);dx2=x2+(k+1)×(width+space);dy1=y1-(2×k+1)×(width+space);dy2=y2+(2×k+1)×(width+space).
In this embodiment, as shown in fig. 3, the first grid is a rectangular grid created by a device region between a device grid and a pad region, and one of two opposite sides of the first grid overlaps with a side of the device grid and has an equal length, and the other side overlaps with a side of the pad region. The number of pins in the first grid is the number of pins of the device to be wound. In this embodiment, if the pad area is on the left side of the device area, the positional information of the device area is (da_x1, da_y1, da_x2, da_y2), where (da_x1, da_y1) is the lower left corner coordinate of the device area and (da_x2, da_y2) is the upper right corner coordinate of the device area, the positional information of the no free zone may be (no_free_zone_x1, no_free_zone_y1, no_free_zone_x2, no_free_zone_y2), where (no_free_zone_x1, no_free_zone_y1) is the lower left corner coordinate of the no free zone, and (no_free_zone_y2) is the upper right corner coordinate of the no free zone, specifically, no_free_zone_x1=no_zone_x2, no_free_zone_y2=no_zone_d1, no_zone_2=no_zone_2.
The second grid refers to a grid created by a device region between two adjacent first grids or a grid created by a device region between a first grid closest to the edge of the device region and the edge of the device region. In this embodiment, a second grid created by a device region between two adjacent first grids or a second grid created by a device region between the first grid closest to the device region edge and the second grid created by a device region between the first grids closest to the device region edge. On the basis of the above, three embodiments of the second grid are provided below for reference, embodiments two, three and four, respectively.
Example two
In the embodiment, a device region between two adjacent first grids is created as a second grid, the two adjacent first grids are respectively named as zone1 and zone2 from bottom to top, the position information of zone1 is named as (zone 1_x1, zone1_y1, zone1_x2 and zone 1_y2), the position information of zone2 is named as (zone 2_x1, zone2_y1, zone2_x2 and zone 2_y2), and the position information of the second grid is named as free_zone_x1=da_x1, free_zone_x2=da_x2-space, free_zone_y1=zone 1_y2 and free_zone_y2=zone 2_y1.
Example III
In this embodiment, the device region between the lower edge of the device region and the first grid at the lowest position is created as a second grid, and the first grid at the lowest position is set to be zone0, and the position information of zone0 is set to be (zone 0_x1, zone0_y1, zone0_x2, zone 0_y2), and the position information of the second grid is free_zone_x1=da_x1, free_zone_x2=da_x2-space, free_zone_y1=da_y1, and free_zone_y2=zone 0_y1.
Example IV
The device region between the upper edge of the device region and the uppermost first grid is created as a second grid, the uppermost first grid is zonen, and the position information of zonen is (zonen _x1, zonen _y1, zonen _x2, zonen _y2), and the position information of the second grid is free_zone_x1=da_x1, free_zone_x2=da_x2-space, free_zone_y1= zonen _y2, and free_zone_y2=da_y2.
Example five
Embodiment five is a specific example of step S3 based on embodiment one. And step S3, traversing all the networks to be wound, and acquiring information of the area grid according to the relative position relation of pins, bonding pads and the area grid in the networks to be wound, wherein the information comprises the networks to be wound, of which the winding needs to pass through the area grid. According to the winding space in the grid area and the number of the to-be-wound networks of which the winding needs to pass through the grid area, the winding width mesh_width of each grid area is calculated respectively, and the calculation formula is as follows: . The result of the step (zx 2-zx 1) is a distance value between two edges of the area grid in a direction along a path of the network to be wound, space represents a winding interval preset in the step S1, and n represents the number of networks to be wound, of which the winding needs to pass through the area grid.
The extraction of network information to be wound in the area grid is provided below for reference. As shown in fig. 6, the lower edge ordinate zy1 and the upper edge ordinate of the area grid are set to be zy2, the position information of the pin (pin) in the network to be wound is set to be pin_pos, the lower edge ordinate of the pin is set to be pin_lly, the upper edge ordinate of the pin is set to be pad_ ury, the position information of the pad (pad) is set to be pad_pos, the lower edge ordinate of the pad is set to be pad_ly, and the upper edge ordinate of the pad is set to be pad_ ury, wherein pin_pos= (pin_lly+pin_ ury)/2, and pad_pos= (pad_lly+pad_ ury)/2.
Take the example of a to-be-wound network with pad on pin:
If pin_pos < zy1, as shown in fig. 7 (a), when the ordinate of the upper edge of the pad is greater than the ordinate of the upper edge of the area grid, i.e. pad_ ury > zy2, the network to be wound is the network to be wound where the winding needs to pass through the area grid. As shown in fig. 7 (b), when the ordinate of the upper edge of the pad is between the upper and lower edges of the area grid, that is, zy1< pad_ ury < zy2, the network to be wound is the network to be wound where the winding needs to pass through the area grid;
take the example of a network to be wound with pad at pin:
if pin_pos > zy2, when the ordinate of the lower edge of the pad is greater than the ordinate of the lower edge of the area grid, i.e. pad_lly > zy1, the network to be wound is the network to be wound which is to be wound through the area grid, and when the ordinate of the lower edge of the pad is between the upper and lower edges of the area grid, i.e. zy1< pad_lly < zy2, the network to be wound is the network to be wound which is to be wound through the area grid.
Example six
Embodiment six is a specific example of step S4 based on embodiment one. Step S4, creating a winding path of a network to be wound by the regional grids, wherein the method specifically comprises the following steps:
And step S41, creating a starting point polygon connected with a bonding pad in the network to be wound in a region grid connected with the bonding pad, wherein the width of the starting point polygon is set according to the winding width mesh_width of the region grid. The starting point polygon comprises a polygon11 and a polygon12, wherein the polygon11 is connected with a bonding pad, the length of the polygon11 is set according to the winding sequence of the winding network in the area grid and the winding width mesh_width of the area grid, the width of the polygon11 is set according to the length of the pin-out side of the bonding pad, the polygon12 is connected with the polygon11, the length of the polygon12 is set according to the distance from the polygon11 to the edge of the area grid along the winding path of the network to be wound, and the width of the polygon12 is set according to the winding width mesh_width of the area grid. It should be understood that the widths of most of the building blocks are different, such as polygon11 and polygon12, the widths being set only in accordance with the widths of the windings in the area grid, but are not limited to the values of the winding widths.
For the first grid to be wound with the pad on the left side, the specific way of creating the polygon11 and the polygon12 is that if the position information of the polygon11 is (Px 11, py11, px12, py 12), then Px11=pad_ urx, px12=pad_ urx +space+mesh_width, py11=pad_lly, py12=pad_ ury, and if the position information of the polygon12 is (Px 21, py21, px22, py 22), then Px21=pad_ urx +space, px22=pad_ urx +space+mesh_width. If pin_pos > pad_pos, py21=pad_ ury, py22=zy 2, and if pin_pos < pad_pos, py21=zy 1, py22=pad_lly, wherein the pad position information is (pad_ llx, pad_ly, pad_ urx, pad_ ury), the space is a preset winding interval, the mesh_width is the winding width of the area grid, zy1 is the lower edge ordinate of the area grid, and zy2 is the upper edge ordinate of the area grid.
And step S42, creating an end point polygon connected with a pin in the network to be wound in a first grid connected with the pin, wherein the width of the end point polygon is set according to the winding width mesh_width of the first grid. The terminal polygon comprises a polygon21 and a polygon22, wherein the polygon21 is connected with a pin, the length of the polygon21 is set according to the winding sequence of the winding network in the first grid and the winding width mesh_width of the first grid, the width of the polygon21 is set according to the length of the pin-out side of the pin, the polygon22 is connected with the polygon21, the length of the polygon22 is set according to the distance from the polygon21 to the edge extension line of the position area of the device to be wound along the winding path of the winding network, and the width of the polygon22 is set according to the winding width mesh_width of the first grid.
And step S43, according to the information of the bonding pads and the pins of the network to be wound, the acquisition and the matching of the starting point polygon and the ending point polygon of the network to be wound in the area grid are completed.
Taking a region grid as an example, taking a to-be-wound network with pad on the left side and pin below pad, acquiring polygons1 (including polygon11 and polygon 12) of all paths downward in the region grid, acquiring polygons2 (including polygon21 and polygon 22) of all paths upward of all first grids below the region grid, and considering that polygons1 and polygons2 belong to the same to-be-wound network if pins and bonding pads of the to-be-wound network to which polygons2 belongs are identical to pins and bonding pads of the to-be-wound network to which polygons1 belongs are completed.
And S44, creating a plurality of intermediate polygons between the starting polygons and the ending polygons to finish a winding path of the network to be wound, wherein the width of the intermediate polygons is set according to the winding width mesh_width of the area grid where the intermediate polygons are positioned. The creation mode of the intermediate polygon is specifically as follows:
If the projection of the polygons 12 and 22 in the direction perpendicular to the direction of the winding path is that one polygon is completely overlapped with the other polygon, a plurality of sequentially connected switching intermediate polygons are created until one polygon is completely overlapped with the other polygon in the projection of the last switching intermediate polygon and the second starting polygon in the direction perpendicular to the direction of the winding path, and then a plurality of sequentially connected intermediate polygons are created by taking a straight line passing through the midpoint of the overlapped area along the path as a central line, wherein the line width of the intermediate polygon is set with the winding width mesh_width of the area grid where the intermediate polygon is positioned.
As shown in fig. 8, taking the example of the network to be wound with pad on the left side and pin under pad, the polygon12 and polygon22 are present, where one polygon completely overlaps the other polygon in the horizontal direction. Setting the horizontal coordinates of the left edge and the right edge of the overlapped area as ox1 and ox2 respectively, setting the position information of middle polygon as (Mx 1, my1, mx2 and My 2), wherein Mx1=ox1, mx2=ox2, my1=polygon 22.y2, my2=polygon 12.y1, wherein the polygon22.y2 is the vertical coordinate of the upper right corner of the polygon22, and the polygon12.y1 is the vertical coordinate of the lower left corner of the polygon12.
If the projection of the polygon12 and the polygon22 in the direction perpendicular to the direction of the winding path is not completely overlapped or overlapped with the other polygon, a plurality of switching middle polygons connected with the polygon22 are firstly created until the projection of the last switching middle polygon and the polygon12 in the direction perpendicular to the direction of the winding path is completely overlapped with the other polygon, and then a plurality of middle polygons which are sequentially connected are created, wherein the middle polygon takes a straight line passing through the midpoint of the overlapped area along the path as a central line, and the line width of the middle polygon is set with the winding width mesh of the area grid where the middle polygon is positioned.
As shown in FIG. 9, taking the example of the network to be wound with pad on the left side and pin under pad, the region where one Polygon and the other Polygon are not fully overlapped in the horizontal direction or the region where there is no overlap in the horizontal direction, let the distance between Polygon12 and Polygon22 in the vertical direction be left_space, the number of nets containing horizontal Polygon be n, three transit intermediate polygons are created, namely (Px 11, px12, py 12), (Px 21, py21, px22, py 22) and (Px 31, py31, px32, py 32), :Px11=polygon22.x1;Px12=polygon22.x2;Py11=polygon22.y2;Py12=polygon12.y1-space-mesh_width;Px21=polygon12.x1;Px22=polygon22.x2;Py21=Py12;py22=Py12+mesh_width;Px31=polygon12.x1;Px32=polygon12.x2;Py31=py22;Py32=polygon12.y1-space; wherein the position information of Polygon12 is (Polygon 12.X1, polygon12.X2, polygon12. Y2) and the position information of gon22 is (Polygon 22. X1. X22. Y22) and (Polygon 2) are lateral to each other, and the position information of Polygon22 is (Polygon 12.X1, polygon 2. X2). The above is specifically described, and it should be understood that it is not limited which shadows of polygons are completely overlapped.
It should be noted that, in the step S4, when the starting point structure block connected to the pad is created in the area grid connected to the pad in the network to be wound, the winding sequence in the area grid is determined according to the sequence that the smaller the distance from the pad position to the edge of the area grid is, the earlier the winding is performed along the winding path of the network to be wound. The winding sequence for creating the end building block and/or the winding sequence for creating the intermediate polygon are identical to the winding sequence for creating the start building block.
It should be noted that, in the present invention, the descriptions such as "first," "second," "left," "right," "up," "down," etc. are used for descriptive purposes only and are not specifically meant to refer to order or sequence or order, nor are they intended to limit the present invention, but merely to distinguish components or operations described in the same technical term, and are not to be construed as indicating or implying relative importance or implying that the number of technical features indicated is indicated. Also, the use of certain conventional english terms or letters for clarity of description herein is for exemplary purposes only and not for limiting explanation or particular usage, and should not be taken as limiting the scope of the present invention in terms of possible chinese translations or specific letters.
The foregoing list is only illustrative of specific embodiments of the invention. Obviously, the invention is not limited to the above embodiments, but many variations are possible. All modifications directly derived or suggested to one skilled in the art from the present disclosure should be considered as being within the scope of the present invention.
The above embodiments are preferred examples of the present invention, and are not intended to limit the scope of the present invention. For purposes of clarity, many implementation details are set forth in the above description. However, it should be understood that the details in these implementations are not to be taken as limiting the invention.
The embodiments described in the embodiments may be combined with each other, but it is necessary to base the implementation on the basis of the technical personnel in the field, and when the combination of the technical solutions contradicts or cannot be implemented, it should be considered that the combination of the technical solutions does not exist and is not within the scope of protection claimed by the present invention.
Claims (13)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020116383733 | 2020-12-31 | ||
CN202011638373 | 2020-12-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114692559A CN114692559A (en) | 2022-07-01 |
CN114692559B true CN114692559B (en) | 2025-03-07 |
Family
ID=82135433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110281188.1A Active CN114692559B (en) | 2020-12-31 | 2021-03-16 | A winding method based on resistance sensitivity |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114692559B (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916317A (en) * | 2010-08-23 | 2010-12-15 | 清华大学 | Module-to-module Routing Method for Integrated Circuits Based on Meshless Model |
CN101980216A (en) * | 2010-10-18 | 2011-02-23 | 清华大学 | Fast multi-layer routing method based on net block |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101948896B1 (en) * | 2012-12-06 | 2019-02-18 | 엘지디스플레이 주식회사 | Pin Map Structure At Pad Area And Flat Panel Display Having The Same |
KR102643637B1 (en) * | 2016-03-02 | 2024-03-06 | 삼성디스플레이 주식회사 | Display apparatus |
CN110941940B (en) * | 2019-12-04 | 2023-06-13 | 杭州广立微电子股份有限公司 | 3D winding method, storage device and system based on collision detection |
CN111027273B (en) * | 2019-12-04 | 2023-03-10 | 杭州广立微电子股份有限公司 | Layout automatic winding method, storage device and system based on prewinding |
-
2021
- 2021-03-16 CN CN202110281188.1A patent/CN114692559B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916317A (en) * | 2010-08-23 | 2010-12-15 | 清华大学 | Module-to-module Routing Method for Integrated Circuits Based on Meshless Model |
CN101980216A (en) * | 2010-10-18 | 2011-02-23 | 清华大学 | Fast multi-layer routing method based on net block |
Also Published As
Publication number | Publication date |
---|---|
CN114692559A (en) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368493B (en) | Automatic layout wiring generation method based on sparse grid | |
CN107066681B (en) | Integrated circuit and computer-implemented method of manufacturing an integrated circuit | |
JP2001522111A (en) | Polygon representation in IC layout | |
CN109585371A (en) | Integrated circuit layout method, structure and system | |
JPH0786881B2 (en) | Wiring route determination method | |
JPH04211154A (en) | Semiconductor integrated circuit layout method | |
JP2002149739A (en) | Device and method for extracting parasitic device of semiconductor circuit | |
US10831972B2 (en) | Capacity model for global routing | |
CN105895578A (en) | Method Of Forming Masks | |
US10868538B1 (en) | Logic cell structure and integrated circuit with the logic cell structure | |
KR101495986B1 (en) | Rc corner solutions for double patterning technology | |
CN114692559B (en) | A winding method based on resistance sensitivity | |
TW201826155A (en) | Integrated circuits, computer-implemented method of manufacturing the same, and standard cell defining the same | |
Zhang et al. | A length matching routing method for disordered pins in PCB design | |
US7091614B2 (en) | Integrated circuit design for routing an electrical connection | |
CN109582991B (en) | Circuit Layout Coloring Method | |
CN108804811B (en) | Multilayer barrier-bypassing right-angle wiring method in large-scale integrated circuit design | |
TW201924013A (en) | Pole structure and method of manufacturing same | |
US10163787B2 (en) | Semiconductor structure | |
JP6089723B2 (en) | Design method and design program | |
CN105206545B (en) | A kind of high density integrated circuit test chip of alternative configuration connection and preparation method thereof | |
CN110852029A (en) | Semiconductor chip and layout design method and device thereof | |
KR102344709B1 (en) | Two-dimensional via pillar structures | |
JP2002222229A (en) | Automatic layout and wiring device and automatic layout and wiring method | |
US10783308B1 (en) | Method of assigning contact elements associated with an integrated circuit device |
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 |