A method and system for quickly drawing a layout
By setting auxiliary layers and reference graphics in the layout and automatically adjusting the position of the graphics vertices, the problem of low manual drawing efficiency in the FinFet process is solved, fast and accurate layout drawing is achieved, and drawing accuracy and efficiency are improved.
Patent Information
- Application Number
- CN202210427499.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-12-31
- Filing Date
- 2022-04-21
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2042-04-21
AI Technical Summary
In the existing FinFet process, manual layout drawing is inefficient and has limited accuracy, and relies on complex software correction tools, resulting in high costs and difficulty in improving efficiency.
By setting up auxiliary layers in the layout, the position of the graphics vertices can be automatically adjusted using reference graphics to make them conform to the preset rules, achieving fast and accurate drawing.
The accuracy and efficiency of layout drawing are greatly improved, and the complexity of manual operation and the need for software correction are reduced.
Smart Images

Figure CN114781314B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of semiconductor design and production, and in particular relates to a method for quickly drawing a layout and a corresponding system for quickly drawing a layout. Background Art
[0002] In the FinFet process, the FinFet process layout drawing, as well as manual layout inspection and repair, are still relied on, which inevitably affects the efficiency of layout drawing. Figure 1 Typically, layouts are manually placed using the mouse within the drawing tool window. Structures must be placed on the FinGrid during layout drawing. Since existing drawing tools rely on manual mouse control to determine placement, users often rely on visual inspection of the drawing window interface to intuitively determine placement. As you can imagine, achieving precise placement is difficult. Manual placement results in limited layout accuracy, lacks a reference for placement, and is prone to errors. This leads to frequent rework during the drawing process, resulting in slow layout drawing speeds and limited overall layout design efficiency. Existing practices have invested significant effort and cost in improving drawing tool software to eliminate or correct errors after layout drawing when structure placement does not conform to pre-set layout design rules. This software development cost is substantial, and even 100% elimination or correction is difficult. Furthermore, some methods increase the complexity of drawing tool operation, hindering significant improvements in drawing efficiency. Therefore, a method is needed to assist users in drawing FinFet process layouts, assisting users in avoiding the problem of structures not being placed on the FinGrid. Summary of the Invention
[0003] The present invention aims to address all or part of the problems of the prior art described above. In one aspect, the present invention provides a method for rapidly drawing a layout, enabling the automatically placed graphics drawn according to predefined rules, thereby achieving rapid layout drawing. In another aspect, the present invention provides a system for rapidly drawing a layout, capable of executing the method of the present invention to draw a layout.
[0004] On one hand, the present invention provides a method for quickly drawing a layout, which is used to assist users in quickly drawing on a target layer; the method comprises the following steps: Step S1: setting an auxiliary layer in the layout; laying out a plurality of reference graphics in the auxiliary layer, and the spacing between adjacent reference graphics is equal; the reference graphics are preset regular graphics; Step S2: when drawing a graphic on the target layer, automatically obtaining the vertex position of the drawing input graphic and adjusting the position so that the graphic conforms to the preset graphic rules of the target layer; the graphic rules of the target layer are set based on the relative position relationship that needs to be satisfied between the reference graphics of the auxiliary layer and the vertices of the drawn graphic.
[0005] The target layer's graphic rules include a relative distance rule and a graphic width rule. The relative distance rule states that the first spacing of the graphic's starting point satisfies a preset value (AlignGrid). The first spacing refers to the relative distance in the X or Y direction between the graphic's starting point and the nearest reference shape in that direction. The graphic width rule states that the second spacing of the graphic's end point satisfies a preset target layer graphic height calculation formula. The second spacing refers to the relative distance in the X or Y direction between the graphic's end point and the previous vertex of the drawn shape. The target layer graphic height calculation formula determines the coordinates of the graphic's current end point based on the known second spacing and reference shape parameters. The graphic's starting point refers to the first vertex drawn, and the graphic's end point refers to the remaining vertices on the shape excluding the starting point. The X and Y directions are perpendicular to each other. By defining various preset values in advance and reasonably setting the graphic width rules and relative distance rules, and setting the graphic rules of the target layer based on the reference graphic, it can automatically check whether the vertices of the graphics drawn by the target layer meet the preset graphic rules, and automatically adjust the landing points that do not meet the requirements so that they automatically fall to the corresponding positions according to the preset graphic rules, intuitively assisting users in drawing the layout, and thus achieving fast and accurate drawing of the FinFet process layout.
[0006] The auxiliary layers include a first auxiliary layer for assisting in adjusting the position coordinates of the vertices of the graphic (of the target layer) in the Y direction; the reference graphic in the first auxiliary layer is a rectangle whose length in the X direction is equal to the length of the first auxiliary layer in the X direction and whose length in the Y direction is a preset value (FinWidth), and the spacing between adjacent reference graphics in the Y direction is a preset value (FinPitch).
[0007] The auxiliary layer includes a second auxiliary layer for assisting in adjusting the position coordinates of the graphic vertices of the target layer in the X direction; the reference figure in the second auxiliary layer is a rectangle whose length in the Y direction is equal to the length of the second auxiliary layer in the Y direction and whose length in the X direction is a preset value (FinWidth), and the spacing between adjacent reference figures in the X direction is a preset value (FinPitch).
[0008] The auxiliary layer also sets a tiling parameter (FinOffset), which indicates the starting point of tiling the reference shape in the auxiliary layer (in the Y or X direction) relative to the edge of the auxiliary layer. Generally, the default FinOffset is 0, indicating that the reference shape is tiled starting from the edge of the auxiliary layer.
[0009] In step S2, the starting point position of the input graphic is automatically obtained and adjusted, including adjusting the vertex positions of the input graphic. The obtained starting point coordinates are set as (px, py), and a determination is made as to whether the starting point satisfies the relative distance rule. If so, no adjustment is required, and the starting point coordinates (px, py) are directly used as the actual starting point coordinates for drawing. If not, the starting point is adjusted by obtaining a reference graphic with the smallest relative distance (in the X direction or in the Y direction) from the starting point coordinates (px, py), calculating the coordinates of the point whose relative distance (in the Y direction or in the X direction) between the starting point coordinates (px, py) and the reference graphic is a preset value (AlignGrid), and using the calculated coordinates as the actual starting point coordinates for drawing. In other words, the actual starting point position of the graphic is adjusted to satisfy the relative distance rule. The coordinates of the point whose relative distance from the reference graphic closest to the set coordinates (px, py) satisfies the preset value (AlignGrid) can be used as the adjusted actual starting point position. When calculating the relative distance, the edge of the reference figure can be used as a reference, or a point on the center line of the reference figure can be used as a reference, without limitation.
[0010] In step S2, the vertex positions of the input graphic are automatically obtained and adjusted, including adjusting the end point position of the input graphic: the end point position and the position of the previous vertex drawn on the graphic are obtained, the relative distance of the end point relative to the previous vertex (relative distance in the X direction or relative distance in the Y direction) is calculated, and the number of reference graphics spanned by the relative distance is calculated based on the parameters of the reference graphic, which is recorded as k; based on the preset target layer graphic height calculation formula: AlignHeight=f(k)×FinPitch+FinWidth (user-defined target layer graphic height calculation formula is supported), AlignHeight is calculated, that is, the relative distance of the actual end point coordinate of the graphic relative to the previous vertex (in the Y direction or X direction), and then the actual end point coordinate of the graphic is obtained for landing drawing; wherein f(k) is a constant obtained based on k; FinPitch is the spacing between adjacent reference graphics in the Y direction or X direction; and FinWidth is the width of a reference graphic, that is, the length of the reference graphic in the Y direction or X direction.
[0011] The method for rapidly drawing a layout can also assist in drawing a graphic array on a target layer: in step S2, the vertex positions of the input graphic are automatically obtained and adjusted, and the method further includes adjusting the vertex positions of the graphic array: obtaining the vertex position of the graphic located in the first row and first column of the graphic array and adjusting the position so that the graphic in the first row and first column conforms to the preset graphic rules of the target layer, including the relative distance rule and the graphic width rule; obtaining the amplitude between adjacent graphics in the graphic array and determining whether the amplitude is a multiple of the FinPitch. If so, the graphics are drawn directly; otherwise, an error message is issued to prompt modification. The multiple refers to an integer multiple.
[0012] The graphics drawn in the target layer are rectangular or polygonal, and the edges of the graphics are in the X direction and the Y direction.
[0013] Another aspect of the present invention provides a system for rapidly drawing a layout, comprising a storage device storing a plurality of instructions suitable for being loaded and executed by a processor: a method for rapidly drawing a layout according to the present invention.
[0014] Compared with the prior art, the present invention has the following main beneficial effects:
[0015] 1. A method for quickly drawing a layout of the present invention can automatically check whether the vertices of the graphics drawn on the target layer meet the preset graphic rules by setting the graphic rules of the target layer based on the reference graphic, and automatically adjust the landing points that do not meet the requirements so that they automatically fall to the corresponding positions according to the preset graphic rules, intuitively assisting layout drawing, thereby achieving rapid layout drawing and greatly improving drawing accuracy and work efficiency.
[0016] 2. The system for rapid layout drawing of the present invention has corresponding advantages due to the execution of the method for rapid layout drawing of the present invention, which improves the current problem of relying solely on manual labor to draw FinFet process layouts, as well as manual layout inspection and repair. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 Schematic diagram of a method for rapidly drawing a layout according to an embodiment of the present invention.
[0018] Figure 2 Schematic diagram of a layout of an embodiment of the present invention.
[0019] Figure 3 The figure is a schematic diagram of a drawing diagram according to an embodiment of the present invention.
[0020] Figure 4 Another diagram of a graph drawn according to an embodiment of the present invention is shown.
[0021] Figure 5 FIG. 4 is a schematic diagram of a graphic array according to an embodiment of the present invention. DETAILED DESCRIPTION
[0022] The following is a clear and complete description of the technical solutions in the specific embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making any creative efforts are within the scope of protection of the present invention.
[0023] In the following embodiments, operations of the embodiments are described in a specific order. The description of this order is for better understanding of the details of the embodiments and a comprehensive understanding of the present invention, but it is not intended to limit the scope of the present invention.
[0024] In the embodiment of the present invention, Figure 1 As shown, the method for quickly drawing a layout includes the following steps: Step 1: Setting an auxiliary layer in the layout. Step 2: Setting the target layer information. Step 3: Drawing a graphic on the target layer. Step 2 is a pre-set process before Step 3 and is not limited to the order of Step 1 and can be performed simultaneously.
[0025] The following combination Figures 2 to 5 The method for quickly drawing a layout in the embodiment is described in detail. By combining the exemplary description with actual application scenarios, professional and technical personnel in this field can understand the present invention more comprehensively, but the present invention is not limited in any way.
[0026] In this embodiment, a system for quickly drawing a layout is provided, including a storage device, wherein the storage device stores a plurality of instructions suitable for being loaded and executed by a processor: a method for quickly drawing a layout in this embodiment.
[0027] Step 1: Draw the Global Fin diagram (layout) and use the Fin layer as an auxiliary layer, including: setting the Fin layer (FinLayer) information, including the preset: FinWidth, FinPitch, FinOffset; where: FinWidth is the width of the Fin; FinPitch is the spacing between adjacent Fins, FinPitch = FinWidth + FinSpace; FinSpace is the gap between Fins; FinOffset is the starting point of the Fin in the Y direction, initially 0; draw the Fin according to FinWidth, FinPitch, FinOffset and FinLayer (refer to the reference graphic), and tile the entire Global Fin diagram interface window.
[0028] Step 2: Set the target layer's AlignLayer information, including the presets: AlignGrid and AlignLayerHeight (the formula for calculating the target layer's graphic height). The example allows for multiple AlignLayer layers, each with different information. AlignGrid is the Y distance from the target layer's AlignLayer to the FinGrid (Fin grid), initially set to 0. AlignLayerHeight is the formula for calculating the target layer's graphic height. The variables include the number of Fins spanned by the graphic (k), FinPitch, and FinWidth. In this example, the formula can be edited by the user.
[0029] Step 3: Draw the graphics on the target layer AlignLayer. The user clicks the interface window with the mouse to obtain the nearest Fin position according to the landing point, and assists in adjusting the drawing starting point. As the mouse is dragged, the landing point position of the final height is determined according to the target layer graphic height calculation formula, and the graphics are drawn. Figure 3 The rectangle P of the target layer AlinLayer in the drawing is used. This ensures that the starting point and end point of the graphic conform to the preset graphic rules, helping users to draw quickly.
[0030] In order to better understand the present invention, the following describes a specific implementation process of step three: the process includes:
[0031] Process 1: Draw the starting point of the figure, that is, determine the bottom edge of the figure: set the mouse position as the starting point coordinates (px, py), and first determine whether the mouse point is on Fin by calculating the step.
[0032] In the example, step=(py–(FinOffset+AlignGrid))%FinPitch; wherein the symbol “%” is the remainder operator, and 0 represents integer divisibility.
[0033] If step is 0, the point Point(px,py) is on Fin, and this position is directly used as the starting point of the graph (that is, the relative distance rule is satisfied). If Step is not 0, the nearest Fin position is found using the following formula. In this example, the X coordinate of this position is px, and the Y coordinate is determined using the following formula:
[0034] nFin=(py–(FinOffset+AlignGrid)) / FinPitch;
[0035] Y coordinate of the bottom point: py1=(FinOffset+AlignGrid)+nFin×FinPitch;
[0036] Y coordinate of the upper point: py2=(FinOffset+AlignGrid)+(nFin+1)×FinPitch;
[0037] Then compare which point (px,py1) or (px,py2) is closer to point (px,py). If point (px,py1) is closer to point (px,py), the Y coordinate is py1; otherwise, the Y coordinate is py2.
[0038] If the Y coordinate determined at this time is py2, then (px,py2) is used as the starting point of the graphic. That is, the starting point of the graphic complies with the relative distance rule.
[0039] Step 2: Draw the endpoint of the shape, i.e., determine the top edge of the shape. Calculate AlignHeight using the preset target layer shape height calculation formula (AlignLayerHeight). Add the Y coordinate of the bottom edge of the target layer shape (py) to AlignHeight as the Y coordinate of the top edge. The formula references parameters nFin (the number of covered Fins, i.e., the number of auxiliary shapes k spanned by the relative distance), FinPitch, and FinWidth. AlignHeight = f(nFin) × FinPitch + FinWidth. f(nFin) is calculated using nFin. The calculation method here can be set differently depending on the actual application scenario. Step 2 illustrates the application of the shape width rule.
[0040] It should be noted that the auxiliary layer in the above example is used to assist in adjusting the Y coordinate, and therefore does not adjust the X coordinate of the landing point. In other embodiments, if a reference graphic Fin is set to assist in adjusting the X coordinate, the X coordinate of the landing point can be adjusted similarly. In some embodiments, both the X and Y coordinates of the landing point can be adjusted simultaneously. This is not limited to the specific situation.
[0041] This embodiment draws Figure 3 The rectangle shown, so only a starting point and an end point need to be determined. If the drawn figure is as follows Figure 4 For non-rectangular polygons, each vertex except the starting point needs to be determined and adjusted according to the method in the second step above (i.e., whether the second spacing satisfies the result calculated by the preset target layer graphic height calculation formula). In this embodiment, the graphic can be rectangular or polygonal, and the edges of the graphic are in the X and Y directions.
[0042] In this embodiment, if the drawn graph is as follows Figure 5The row × column array structure shown is slow to traverse one by one, especially when there are many polygons making up the array. To speed up the judgment, it is determined whether the vertices of the polygons in the first row and first column of the array meet the graphic rules of the target layer, and whether the pitchy amplitude between adjacent polygons is a multiple of FinPitch. This can achieve quick judgment and prompt adjustment of graphic parameters, helping users to quickly draw array structures.
[0043] For the sake of clarity, some commonly used English nouns or letters used in this invention are for illustrative purposes only and are not intended to be limiting or specific. Their possible Chinese translations or specific letters should not be used to limit the scope of protection of this invention. In this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any actual relationship or order between these entities or operations.
[0044] It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made to the present invention without departing from the principles of the present invention. These improvements and modifications also fall within the scope of protection of the claims of the present invention.
Claims
1. A method for quickly drawing a layout, characterized by: Including steps: Step S1: setting an auxiliary layer in the layout; laying out a plurality of reference graphics in the auxiliary layer, with the spacing between adjacent reference graphics being equal; the reference graphics being preset regular graphics; Step S2: When drawing a graphic on the target layer, automatically obtain the vertex positions of the input graphic and adjust the positions so that the graphic conforms to the preset graphic rules of the target layer; The graphic rule of the target layer is set based on the relative position relationship that needs to be satisfied between the reference graphic of the auxiliary layer and the drawn graphic vertices; The graphic rules of the target layer include: relative distance rule and graphic width rule; The relative distance rule means that: a first spacing between the starting points of the graphic satisfies a preset value, wherein the first spacing refers to the relative distance in the X direction or the Y direction between the starting point of the graphic and the nearest reference graphic in the X direction or the Y direction; The graphic width rule means that the second spacing between the end points of the graphic satisfies the result calculated by a preset target layer graphic height calculation formula; the second spacing refers to the relative distance of the end point of the graphic relative to the previous vertex of the drawn graphic in the X or Y direction; the target layer graphic height calculation formula determines the relative distance of the actual end point coordinates relative to the previous vertex based on the known second spacing and the parameters of the reference graphic; The starting point of the graphic refers to the first vertex drawn on the graphic, and the end point of the graphic refers to the remaining vertices on the graphic except the starting point; the X direction and the Y direction are perpendicular to each other.
2. The method for rapidly drawing a layout according to claim 1, wherein: The auxiliary layer includes a first auxiliary layer for assisting in adjusting the position coordinates of the vertices of the graphic in the Y direction; the reference figure in the first auxiliary layer is a rectangle whose length in the X direction is equal to the length of the first auxiliary layer in the X direction and the length in the Y direction is a preset value, and the spacing between adjacent reference figures in the Y direction is a preset value; the X direction and the Y direction are perpendicular to each other.
3. The method for rapidly drawing a layout according to claim 2, wherein: The auxiliary layer includes a second auxiliary layer, which is used to assist in adjusting the position coordinates of the graphic vertices of the target layer in the X direction; the reference figure in the second auxiliary layer is a rectangle whose length in the Y direction is equal to the length of the second auxiliary layer in the Y direction and the length in the X direction is a preset value, and the spacing between adjacent reference figures in the X direction is a preset value.
4. The method for rapidly drawing a layout according to claim 1, wherein: The auxiliary layer also sets a tiling parameter, indicating that the reference graphic starts to be tiled at the tiling parameter value relative to the edge of the auxiliary layer in the auxiliary layer.
5. The method for rapidly drawing a layout according to claim 1, wherein: In step S2, the vertex positions of the input graphics are automatically obtained and the positions are adjusted, including adjusting the starting position of the input graphics: Assume that the coordinates of the starting point are (px, py), and determine whether the starting point meets the relative distance rule: If it is satisfied, no adjustment is required, and the starting point coordinates (px, py) are directly used as the actual starting point coordinates of the graphic for drawing; If not satisfied, adjust the position of the starting point: obtain the reference figure with the smallest relative distance from the starting point coordinates (px, py), and calculate the point coordinates whose relative distance from the starting point coordinates (px, py) to the reference figure is a preset value, and use the calculated point coordinates as the actual starting point coordinates of the graphic for landing drawing.
6. The method for rapidly drawing a layout according to claim 1, wherein: In step S2, the vertex positions of the input graphics are automatically obtained and the positions are adjusted, including adjusting the end positions of the input graphics: Obtaining the position of the end point and the position of the previous vertex drawn on the graph, calculating the relative distance of the end point relative to the previous vertex, and calculating the number of reference graphs spanned by the relative distance based on the reference graph, which is recorded as k; Based on the preset target layer graphic height calculation formula: AlignHeight=f(k)×FinPitch+FinWidth, calculate the AlignHeight, that is, the relative distance of the actual end point coordinate of the graphic relative to the previous vertex, and then obtain the actual end point coordinate of the graphic for landing drawing; Wherein, f(k) is a constant obtained according to k; FinPitch is the spacing between adjacent reference figures in the Y direction or X direction; FinWidth is the width of a reference figure, that is, the length of the reference figure in the Y direction or X direction.
7. The method for rapidly drawing a layout according to claim 6, wherein: In the step S2, the vertex positions of the input graphics are automatically obtained and adjusted, and the vertex positions of the graphics array are batch adjusted: the vertex positions of the graphics located in the first row and first column of the graphics array are obtained and adjusted so that the graphics in the first row and first column conform to the preset graphics rules of the target layer; the amplitude between adjacent graphics in the graphics array is obtained, and it is determined whether the amplitude is a multiple of the FinPitch. If so, the graphics are directly drawn; otherwise, an error message is issued to prompt modification.
8. The method for rapidly drawing a layout according to any one of claims 1 to 7, characterized in that: The graphic is a rectangle or a polygon, and the sides of the graphic are both in the X direction and the Y direction.
9. A system for rapidly drawing a layout, characterized by: It includes a storage device, in which a plurality of instructions are stored, and the instructions are suitable for being loaded and executed by a processor: the method for quickly drawing a layout according to any one of claims 1 to 8.
Citation Information
Patent Citations
Integrated circuit layout graph alignment method
CN103838492A