This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2009-281574, filed on Dec. 11, 2009; the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a cell library, a layout method, and a layout apparatus.
2. Description of the Related Art
Recently, in the field of design of semiconductor integrated circuits, particularly system large scale integrations (LSIs), layout designs are almost routinely made by a method called automatic place and route (P&R). In this method, design data such as a mask pattern are handled in units of primitive cells (such as NAND, NOR, inverters, buffers, composite gates, multiplexers, latches, and registers) each realizing a unit function. Design data of primitive cells are each organized into a library to create a primitive cell library (cell library). Primitive cells for realizing a semiconductor integrated circuit to be designed are taken out of the corresponding cell libraries and automatically placed according to a placement unit defined by a design rule of each process generation, that is, a placement grid. When automatically placed by the P&R method, the primitive cells (hereinafter, simply “cells”) are often placed adjacently to each other with no space therebetween. Therefore, widths and intervals of layers (such as a diffusion layer, a gate terminal layer, a metal wiring layer, an ion implantation layer, and a contact layer) between cells adjacently placed need to satisfy the design rule of each process generation.
When cells are placed adjacently in generations before a generation with a process dimension of 0.1 micrometer, a pattern in a finished shape as almost intended can be formed only by satisfying the design rule of each generation. However, in generations with process dimensions below 0.1 micrometer, lithography problems caused by an optical proximity effect become noticeable and lithography rule check (LRC) is required in addition to design rule check (DRC).
Also in the LRC for generations with process dimensions just below 0.1 micrometer, there are many cases where no problems arise in a lithography process when the LRC for a cell alone is successfully performed. However, when process dimensions of generations approach 50 nanometers, a lithographic error due to a form of an adjacent cell easily occurs particularly in a lowermost metal wiring layer. Therefore, even when one primitive cell is designed, the DRC and the LRC for a cell alone cannot complete verification, and the LRC needs to be performed by placing cells already designed in various placement manners to surround a cell.
When LRC verification is performed for all possible placement manners to achieve verification in consideration of adjacent placement, unrealistic time is required for the verification. According to U.S. Patent Application Publication No. US 2007/0074146, a mask pattern is designed by using a cell library for which optical proximity correction (OPC) at the time of single placement is previously performed. A correction amount of the OPC applied to the cell library is changed in consideration of influences of patterns of cell libraries of cells placed therearound. A group of cells in which placement of surrounding cells including a target cell is the same is then extracted and registered as a cell set. For the same cell sets, the OPC in the cell sets is not recalculated but copied.
According to Japanese Patent Application Laid-Open No. 2004-362420, relations between a target cell and surrounding cells are classified into plural categories. When a relation between the target cell and a surrounding cell falls in a category in which a lithographic error occurs when the target cell is placed at a placement candidate position, a joint cell having a layout structure that enables to be placed adjacent to all cells adjacent to the placement candidate position is placed and then the target cell is placed at the placement candidate position.
According to the two conventional techniques, a portion with a high probability of occurrence of a lithographic error can be extracted more rapidly than in the case where the LRC verification is performed for an entire pattern at a stage after the cells are placed. However, these techniques still include a step of classifying combinations of an extracted target cell and surrounding cells, which needs high calculation costs.
A cell library according to an embodiment of the present invention is a library of design data of cells each realizing a unit function and is used for layout design of a semiconductor integrated circuit, wherein each of the design data includes attribute information of an edge of a cell associated with an attribute value indicating whether a cell easily causes a defect in a cell adjacently placed across the edge and whether a defect is easily caused by a cell adjacently placed across the edge
A layout method according to an embodiment of the present invention comprises:
roughly placing a plurality of cells based on a cell library that is a library of design data of the cells each realizing a unit function, each of the design data including attribute information of an edge of a cell associated with an attribute value indicating whether a cell easily causes a defect in a cell adjacently placed across the edge and whether a defect is easily caused by a cell adjacently placed across the edge, and based on a net list of the semiconductor integrated circuit to be designed;
first correcting placement positions of the roughly placed cells according to a process generation rule; and
second correcting placement positions based on the attribute information when there is a risk boundary where a defect is caused at a cell boundary between adjacent cells after the first correcting, to eliminate the risk boundary.
A layout apparatus according to an embodiment of the present invention comprises:
a roughly placing unit that roughly places a plurality of cells based on a cell library that is a library of design data of the cells each realizing a unit function, each of the design data including attribute information of an edge of a cell associated with an attribute value indicating whether the cell easily causes a defect in a cell adjacently placed across the edge and whether a defect is easily caused by a cell adjacently placed across the edge, and based on a net list of the semiconductor integrated circuit to be designed;
a first position correcting unit that corrects placement positions of the roughly placed cells according to a process generation rule; and
a second position correcting unit that corrects placement positions based on the attribute information when there is a risk boundary where a defect is caused at a cell boundary between adjacent cells after correction by the first position correcting unit, to eliminate the risk boundary.
Exemplary embodiments of a cell library, a layout method, and a layout apparatus according to the present invention will be explained below in detail with reference to the accompanying drawings. The present invention is not limited to the following embodiments.
A cell library according to a first embodiment of the present invention is explained with reference to
Power supply wires and ground wires are alternately placed in parallel to each other on a semiconductor substrate (wafer). Each primitive cell (hereinafter, simply “cell”) is placed between the power supply wire and the ground wire. Each cell is supplied with power from the power supply wire and grounded to the ground wire.
It is defined hereinafter that a direction of placement of the ground wire and the power supply wire is a longitudinal direction (from top to bottom) and the direction of the ground wire (the direction of the power supply wire) is lateral (from left to right) to represent positional relations (top, bottom, left, and right), like in the example shown in
Each of mask patterns of the cells “a” and “b” alone has passed the DRC verification and the LRC verification and is organized into a library to form a part of a cell library. For easier comprehension, the cells “a” and “b” shown in
It is shown that the cell “a” has a tendency to cause a defect at a position “c” in
When the LRC verification is performed to a layout chart after placement, a risk portion produced by adjacent placement like the cells “a” and “b” can be detected. However, the LRC verification to the entire layout chart requires great time. In the first embodiment, the cell library includes attribute information having an attribute (an adjacent placement risk attribute) value of each cell, indicating whether a defect is easily generated in a target cell due to an adjacent cell (whether a target cell is easily affected by the adjacent cell) and whether the target cell easily generates a defect due to an adjacent cell (whether the target cell easily affects the adjacent cell) described therein. In this way, a boundary between cells placed in such a combination that generates a risk portion (a risk boundary) can be easily detected during layout.
Following four types of the adjacent placement risk attributes are defined, for example. That is,
The adjacent placement risk attribute is provided to left and right edges of each cell, respectively. The adjacent placement risk attribute can be also provided to top and bottom edges of each cell, respectively. The cells are normally placed to share the ground wire and the power supply wire with upper and lower cells. Accordingly, when the ground wire and the power supply wire are made thicker, boundaries at which a defect is easily generated between the top and bottom edges are reduced. Only the adjacent placement risk attributes of the left and right edges are considered here.
Each cell includes a plurality of layers (such as a diffusion layer, a gate electrode layer, and a metal wiring layer). The adjacent placement risk attribute is assigned to each layer. Because the metal wiring layers have complicated and various shapes, it is assumed that the adjacent placement risk attributes of the metal wiring layer greatly vary with cells.
The adjacent placement risk attribute can be determined as follows. A target cell and other cells are placed adjacently, and the LRC verification is performed therefor to observe portions at which “warning” indicating a risk portion is reported. The adjacent placement risk attribute is determined based on the portions at which warning is reported. In the LRC verification, warning is reported at portions that are determined to have higher probabilities of defects in a lithography process than a predetermined level.
More specifically, the attribute “S” is assigned to an edge of a target cell facing a cell boundary when warning is hardly issued at a position reached by an optical proximity effect from a target cell side of the cell boundary and warning is hardly issued at a position reached by an optical proximity effect from an adjacent cell side of the cell boundary. Whether warning is hardly issued or easily issued at a position can be determined based on whether a probability of occurrence of warning, which is observed by performing the LRC verification while changing an adjacent cell, is lower or higher than a predetermined threshold, for example.
Conditions of assignment of the attribute “V” are different from those of the attribute “S” in that the attribute “V” is assigned when warning is easily issued at a position reached by an optical proximity effect from a target cell side of a cell boundary. Conditions of assignment of the attribute “A” is different from those of the attribute “S” in that the attribute “A” is assigned when warning is easily issued at a position reached by an optical proximity effect from an adjacent cell side of a cell boundary. The attribute “VA” is assigned to an edge of a target cell when warning is easily issued at a position reached by an optical proximity effect from a target cell side of a cell boundary and warning is easily issued at a position reached by an optical proximity effect from an adjacent cell side of the cell boundary.
A probability of a risk boundary is high particularly in combinations including an edge having the attribute VA that easily affects an adjacent cell assigned thereto. Therefore, when adjacency of cells in the combinations (f), (g), (i), and (j) among the combinations shown in
The attribute information can be noted in the design data included in the cell library if the adjacent placement risk attribute of each cell can be retrieved therefrom. For example, the attribute information can be noted in an external-form/terminal-position information library, which is a library of external-form/terminal-position information describing an external form and a terminal position of each cell as one kind of the design data.
CELL TOP EDGE DAMAGE S;
CELL BOTTOM EDGE DAMAGE S:
CELL LEFT EDGE DAMAGE V;
CELL RIGHT EDGE DAMAGE VA;
This indicates that the attribute values of the top, bottom, left, and right edges of the cell “CQIVX1” are S, S, V, and VA, respectively. Terminal position information of pins A, Z, and the like included in the cell “CQIVX1” is listed below (reference numeral 202 in
In another example of descriptions of adjacent placement risk attributes, the adjacent placement risk attributes can be noted in a timing library, which is a library of timing information, such as input transition time, output transition time, and delay time, as one kind of the design data.
cell_top_edge_damage s;
cell_bottom_edge_damage s;
cell_left_edge_damage v;
cell_right_edge_damage va;
This indicates that the attribute values of the top, bottom, left, and right edges of the cell “CQIVX1” are S, S, V, and VA, respectively. While the attribute value associated with one layer is also described like in the example of the external-form/terminal-position information library, an attribute value of each layer can be described.
A layout method using the cell library according to the first embodiment is explained. In the layout method according to the first embodiment, the risk boundaries in the combinations (f), (g), (i), and (j) shown in
The layout apparatus 300 includes a roughly placing unit 301 that roughly places cells based on the net list 306 and the cell library 307, a first placement-position correcting unit 302 that corrects a layout of the cells placed by the roughly placing unit 301 according to a process generation rule, a second placement-position correcting unit 303 that eliminates risk boundaries from a layout corrected by the first placement-position correcting unit 302 based on the adjacent placement risk attributes noted in the external-form/terminal-position information library 308, a clock-buffer inserting unit 304 that inserts a clock buffer into a layout having the placement position corrected by the second placement-position correcting unit 303 based on the timing library 309, and a routing unit 305 that performs routing for a layout having the clock buffer inserted by the clock-buffer inserting unit 304 to complete the layout chart 310.
The CPU 1 executes a layout program 6 which is a computer program product for realizing the layout method according to the first embodiment. The display unit 5 is a liquid crystal monitor or the like, and displays output information to a user on an operation screen based on an instruction from the CPU 1. The input unit 4 includes a mouse and a keyboard, and receives an operation of the layout apparatus 300 instructed by the user. Operation information inputted by the input unit 4 is sent to the CPU 1.
The layout program 6 is stored in the ROM 2 and loaded into the RAM 3 through the bus line.
The layout program 6 has a module configuration including the roughly placing unit 301, the first placement-position correcting unit 302, the second placement-position correcting unit 303, the clock-buffer inserting unit 304, and the routing unit 305. The layout program 6 is loaded into the RAM 3 so that these units are generated in the RAM 3.
The layout method performed by using the layout apparatus 300 is explained.
The first placement-position correcting unit 302 corrects rough placement positions of the cells according to a process generation rule (S2). At Step S2, the first placement-position correcting unit 302 performs a process of correcting the cells roughly placed to have a placement according to a placement interval (placement grid, or simply grid) corresponding to a design rule of the process generation. The placement according to the placement grid indicates that cells are placed in such a manner that one corner of each cell coincides with an intersection of the grid, for example. Also at Step S2, the first placement-position correcting unit 302 corrects the placement positions to eliminate overlapping of cells.
The second placement-position correcting unit 303 detects risk boundaries from a layout corrected by the first placement-position correcting unit 302, and corrects the placement positions of the cells in the layout to eliminate the detected risk boundaries (S3). Specifically, the second placement-position correcting unit 303 selects one target cell, and determines whether a combination of attribute values of respective edges at a boundary between the target cell and an adjacent cell is a combination of edges capable of being adjacently placed or a combination of edges incapable of being adjacently placed. In the case of the combination of edges incapable of being adjacently placed, a gap corresponding to one grid is inserted between the target cell and the adjacent cell to reposition the adjacent cell. A distance of one grid is normally longer than a distance affected by the optical proximity effect. Accordingly, when a gap corresponding to one grid is provided at a cell boundary as a risk boundary, warning is not issued in the LRC verification. That is, the risk boundary is eliminated.
This process is referred to as a risk-boundary eliminating process. A condition where a combination of edges corresponds to any one of the combinations (f), (g), (i), and (j) shown in
The second placement-position correcting unit 303 performs the risk-boundary eliminating process by successively selecting one of the cells in the layout chart as the target cell, to eliminate risk boundaries from all the cells. When cells are laid out as shown in
The second placement-position correcting unit 303 then determines whether an attribute value of a right edge of the target cell is S (S13). When the attribute value of the right edge of the target cell is S (YES at Step S13), the risk-boundary eliminating process for the target cell is brought to RETURN.
When the attribute value of the right edge of the target cell is not S (NO at Step S13), the second placement-position correcting unit 303 determines whether there is a right-hand adjacent cell (S14). When there is no right-hand adjacent cell (NO at Step S14), the risk-boundary eliminating process for the target cell is brought to RETURN.
When there is a right-hand adjacent cell (YES at Step S14), the second placement-position correcting unit 303 determines whether a combination of the attribute value of the right edge of the target cell and an attribute value of a left edge of the right-hand adjacent cell meets the placement position correction conditions (S15). When the combination does not meet the placement position correction conditions (NO at Step S15), the risk-boundary eliminating process for the target cell is brought to RETURN.
When the combination meets the placement position correction conditions (YES at Step S15), the second placement-position correcting unit 303 moves the right-hand adjacent cell to the right by a distance corresponding to one grid (S16), and then the risk-boundary eliminating process for the target cell is brought to RETURN. The second placement-position correcting unit 303 performs the risk-boundary eliminating process for all layers in the target cell and then performs the risk-boundary eliminating process for another cell selected as a target cell.
After the process at Step S3, the clock-buffer inserting unit 304 refers to the timing library 309 and inserts a clock buffer to the layout from which the risk boundaries are eliminated (S4). The routing unit 305 performs routing for the layout having the clock buffer inserted therein (S5), thereby completing the layout chart 310.
In the above explanations, “S”, “V”, “A”, and “VA” are defined as the adjacent placement risk attributes. However, the adjacent placement risk attributes can include more kinds of attribute values. Expressions of the adjacent placement risk attributes are not limited to the above. For example, “S”, “V”, “A”, and “VA” can be expressed by values of “00”, “01”, “10”, and “11”, respectively. The process at Step S14 and the process at Step S11 or S13 can be interchanged.
While the second placement-position correcting unit 303 moves the right-hand adjacent cell to the right by a distance of one grid to eliminate the risk boundary, the second placement-position correcting unit 303 can move the right-hand adjacent cell by a distance of two or more grids. In the future, further downsizing may be achieved and accordingly the optical proximity effect may reach a distance of several grids. In such cases, the second placement-position correcting unit 303 sets the number of grids by which the adjacent cell is moved so that the distance of movement exceeds a distance reached by the optical proximity effect. Alternatively, the second placement-position correcting unit 303 can move the adjacent cell by a desired number of grids according to a combination of attribute values of edges constituting a cell boundary.
As described above, in the first embodiment, the design data of each cell is adapted to include the attribute information of edges of the cell associated with attribute values indicating whether a defect is easily generated between the cell and an adjacent cell. Based on the attribute information, correction can be performed by a simple process. In this way, the layout chart having risk boundaries between cells eliminated therefrom can be obtained.
Plural cells are roughly placed based on the cell library of the design data including the attribute information of each cell, which is association of edges of a cell and attribute values thereof indicating whether the cell easily causes a defect in a cell adjacently placed across the edge and whether a defect is easily caused by a cell adjacently placed across the edge, and the net list of a semiconductor integrated circuit to be designed. Placement positions of the cells roughly placed are corrected based on a placement grid prepared according to a process generation rule. After the first correction, when there is a risk boundary constituted by an edge associated with an attribute value indicating that a cell easily causes a defect in an adjacent cell and an edge associated with an attribute value indicating that a defect is easily caused by an adjacent cell, placement positions of these two cells constituting the risk boundary are corrected to prevent adjacent placement of the two edges. Therefore, the step of extracting combinations of a target cell and surrounding cells and classifying the extracted combinations, which is needed in the conventional technique and requires high calculation costs, is not needed. Therefore, a layout chart that hardly causes a defect can be created by a simple process. Further, the simple process of inserting a gap between the cells constituting the risk boundary to prevent direct adjacency of the cells enables to eliminate the risk boundary.
Insertion of a clock buffer at a cell boundary as the risk boundary sometimes causes the cell boundary to be no longer the risk boundary. In such cases, when a gap is inserted at the cell boundary, a useless space corresponding to the inserted gap is produced. Therefore, in a second embodiment of the present invention, risk boundaries are eliminated from a layout having a clock buffer inserted therein.
A layout apparatus 320 includes the roughly placing unit 301, the first placement-position correcting unit 302, a clock-buffer inserting unit 321, a second placement-position correcting unit 322, and the routing unit 305. The clock-buffer inserting unit 321 is provided as a constituent unit different from that in the first embodiment. The clock-buffer inserting unit 321 refers to the timing library 309 and inserts a clock buffer to a layout of cells corrected by the first placement-position correcting unit 302. The second placement-position correcting unit 322 corrects a layout having the clock buffer inserted therein by the clock-buffer inserting unit 321 based on the adjacent placement risk attributes noted in the external-form/terminal-position information library 308 to eliminate risk boundaries from the layout. The routing unit 305 performs routing for the layout from which the risk boundaries are eliminated by the second placement-position correcting unit 322 to create the layout chart 310.
As described above, according to the second embodiment, the risk boundaries are eliminated after the clock buffer is inserted between cells. Because the clock buffer can easily change attribute values of right and left edges of a cell to S, cells having attribute values of V, A, or VA can be placed adjacent thereto. That is, occasions where a gap is inserted between cells constituting a risk boundary eventually come to be fewer than in the first embodiment. This can reduce a placement area as compared to the first embodiment.
In a third embodiment of the present invention, a risk boundary is eliminated by laterally reversing one of cells constituting the risk boundary.
A layout method according to the third embodiment is explained. Only the risk-boundary eliminating process as a different part from the first embodiment is explained here.
At Steps S31 to S34 in
When the placement position correction conditions are met (YES at Step S35), the second placement-position correcting unit 331 laterally reveres the right-hand adjacent cell (S36), and determines again whether a combination of the attribute value of the right edge of the target cell and an attribute value of a left edge of the right-hand adjacent cell meets the placement position correction conditions (S37). When the placement position correction conditions are not met (No at Step S37), the risk-boundary eliminating process for the target cell is brought to RETURN. That is, this implies that the risk boundary is eliminated by the reverse of the right-hand adjacent cell at S36.
When the placement position correction conditions are met (YES at Step S37), the second placement-position correcting unit 331 moves the right-hand adjacent cell to the right by a distance of one grid (S38), and then the risk-boundary eliminating process for the target cell is brought to RETURN.
As described above, according to the third embodiment, a risk boundary can be eliminated by a simple process of reversing one of cells constituting the risk boundary. Frequencies at which a gap is inserted are reduced, and accordingly a placement area can be reduced as compared to the first embodiment.
In the above explanations, the risk-boundary eliminating process is performed before insertion of a clock buffer. However, the risk-boundary eliminating process can be performed after insertion of a clock buffer, like in the second embodiment. When the risk-boundary eliminating process is performed after insertion of a clock buffer, the placement area can be reduced more than in the second embodiment.
In a fourth embodiment of the present invention, cell layout data electrically equivalent to cells assigned with attributes A, V, or VA as the adjacent placement risk attributes and having edges assigned with one of the three attributes of original cell layout data enlarged by one placement grid are prepared and stored in an external-form/terminal-position information library. A cell that is electrically equivalent and has an edge of original cell layout data assigned with one of the three attributes enlarged by one placement grid is referred to as “electrically equivalent cell (EEC)”. In a risk-boundary eliminating process, one of cells constituting a risk boundary (right-hand cell) is replaced with an EEQ cell having a bordering edge that is one grid larger than the original cell, to eliminate the risk boundary.
A layout method according to the fourth embodiment is explained. Only the risk-boundary eliminating process as a different part from the first embodiment is explained here.
As shown in
When the combination meets the placement position correction conditions (YES at Step S45), the second placement-position correcting unit 341 searches the external-form/terminal-position information library 343 to determine whether there is an EEQ cell (S46). When there is an EEQ cell (YES at Step S46), the second placement-position correcting unit 341 replaces the right-hand adjacent cell with the EEQ cell (S47), and the risk-boundary eliminating process for the target cell is brought to RETURN. When there is no EEQ cell (NO at Step S46), the second placement-position correcting unit 341 moves the right-hand adjacent cell to the right by a distance corresponding to one grid (S48), and then the risk-boundary eliminating process for the target cell is brought to RETURN.
As described above, the cell library is adapted to include design data of electrically equivalent cells each corresponding to a cell having an edge associated with an attribute indicating the cell easily causes a defect in an adjacent cell or an attribute indicating an adjacent cell easily causes a defect in the cell, and having the edge elongated by a unit grid width of the placement grid. Accordingly, a risk boundary can be eliminated by a simple process of replacing one of cells constituting the risk boundary with an equivalent cell corresponding thereto. The cell can be replaced with a cell being electrically equivalent and having an attribute that does not produce a risk boundary.
In the above explanations, the risk-boundary eliminating process is performed before insertion of a clock buffer. The risk-boundary eliminating process can be performed after insertion of a clock buffer, like in the second embodiment.
The fourth and third embodiments can be combined. Specifically, the process at Step S46 can be performed after a result of the determination at Step S37 is YES, for example.
Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2009-281574 | Dec 2009 | JP | national |