1. Field of the Invention
The present invention relates to electronic design automation tools for integrated circuit layouts, and more particularly, to a method and system for constructing a customized layout figure group.
2. Description of the Related Art
Integrated circuits or chips are used in most machines and products that have electronic components. Computers, televisions, cameras, cellular phones, audio/video players, etc., all use integrated circuits to build their system. A typical integrated circuit design is initially conceived and tested schematically by a circuit design engineer, with a number of components and devices connected to generate a circuit with desired performance and characteristics. Once the circuit has been designed, it must be reconfigured from the schematic format into a geometric layout format. This is typically a job for a layout engineer, working with a circuit design engineer to create a graphic layout specifying a suitable semiconductor implementation of the circuit.
The geometric layout of the device specifies all of the semiconductor device layout parameters. However, configuring an electronic circuit to a geometric layout is a very complicated task, and is governed by a large number of geometric rules. A geometric layout of a semiconductor device contains geometric features such as polygons to indicate the proper size, shape, location and separation of a certain physical feature of the circuit, distinguishing it from other physical features, or to indicate proper isolation and separation among the circuit elements. The geometric layout of a typical semiconductor device contains multiple layers, each layer having one or more polygons.
Because the process of drawing the layers separately and manually is tedious and prone to error, focus has been applied in recent decades to the development of a layout automation methodology. Software tools, such as electronic design automation (EDA) tools to generate parameterized cells (pcells), have been developed. In a pcell, the designer selects parameters to describe features of electronic components for the design of an integrated circuit, and the tool then generates multiple representations of the electronic components of the pcell based on the parameters. For example, a single pcell may use a transistor's dimensions and number of gate segments as parameters, which is more efficient than requiring many different cell definitions to represent the various transistors within a given design. According to the parameter values, each instance varies in size and composition.
Conventional layout tool systems evaluate the pcell according to its pcell parameters by executing a software program. The result is the defined pcell according to the pcell code. If a parameter changes after this cell is created, the design system automatically triggers a recalculation of the shapes within the cell. The pcell is then viewed from a higher order of the design hierarchy as a cell instance of the chip design. However, the software program used to evaluate the pcell may have long or complicated algorithms, and frequently becomes inefficient and difficult to maintain. Moreover, errors in the complicated software code are difficult to locate. With the layout tools currently on the market, the coverage of the layout method provided is limited, and few specific layout patterns are supported. Therefore, a more flexible design tool is needed to satisfy the user's requirements and speed up the layout design procedure.
The objective of the present invention is to provide a method and system for constructing an integrated circuit layout. This invention provides greater flexibility for the user to create a customized cell. Use of the “figure group” concept of creating a cell utilizing built-in figure groups, user scripts and/or existing layout can improve efficiency and convenience for the user constructing a higher-level and complex device.
In order to achieve the objective, the present invention discloses a method for constructing an integrated circuit layout, the method comprising the steps of: (a) arranging a customized layout figure group that is not present in a standard figure group database by reorganizing existing figure groups in the database, capturing a user's existing layout, executing codes of a user's scripts or the combination thereof; (b) setting compaction constraints for the customized layout figure group; (c) generating the customized layout figure group in accordance with the compaction constraints, wherein the customized layout supporting functions as supplement of the standard figure group database.
This invention also discloses a system for constructing an integrated circuit layout, comprising: (a) a standard figure group database comprising a plurality of built-in figure groups; (b) an arrangement engine configured to reorganize built-in figure groups designated by a user; (c) an evaluator connected to the arrangement engine for generating a customized layout figure group that is not present in the standard figure group database in accordance with compaction constraints requested by the user, wherein the customized layout supporting functions as supplement of the standard figure group database.
The invention will be described according to the appended drawings in which:
In the following detailed description of the invention, reference is made to the accompanying drawings that show by way of illustration exemplary embodiments in which the invention may be applied. These embodiments are described to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
A description of one embodiment of the invention is provided in this section.
Some figure groups such as figure group 230 and figure group 233 are created with a set of design parameters from built-in figure groups. The built-in figure groups can be provided by a layout software. The built-in figure groups include parameterized objects and layout groups. The parameterized objects include a rectangle, a polygon, a path, a path segment, a text, a polygon text, a scalar instance, an array instance, a path segment, an ellipse, and a donut. The layout groups include an editor such as a move, a stretch and a align; derived objects such as an operation, a repetition (absolute/relative), a fill, a bounding box, a selection, a query and cut corners; devices such as guard-ring and transistor; user program groups which are written in C language, C++, Tool Command Language (TCL), Python, Perl or the combination thereof; a compactor which executes rule constraints; and a placer and a router. For example, as shown in
Therefore, by applying these functions provided from built-in figure groups, a figure group with one or more layers can be constructed.
On the other hand, some figure groups such as figure group 231, figure group 232 and figure group 234 are created with a set of design parameters by executing code of the user's script. These design parameters comprise a set of design rules and a set of design constraints that are specified by the user. The user's scripts could be in C language, C++, Java, Tool Command Language (TCL), Python or Perl. An example TCL for generating a MOS is as follows:
Another example using C++ code for generating a MOS is as follows:
An additional level device of the hierarchical structure is a nest-level device 210 constructed by four leaf-level devices, named devices 220-223. That is, the user can connect some leaf devices and polygons to form a nested device. As mentioned above, leaf devices 220 and 221 are defined by relating five first-order figure groups, e.g., figure groups 230-234. On the other hand, a leaf-level device can also be defined by a user's script (leaf device 222) or a user's existing layout (leaf device 223).
Once the nest device 210 is formed, a step of compaction constraints for the nested devices is defined to form a final layout. The compaction constraints comprise: (1) a set of design constraints such as match pattern (asymmetry or symmetry) and inter-digitations patterns for array (common axis or centroid); (2) a set of design rules; and (3) a set of user constraints such as die aspect ratio and fixed distance between devices. When the user adjusts the values of the compaction constraints, the corresponding dimensions, positions, and shapes of the nest device change accordingly.
A hierarchy of an integrated circuit layout structure according to an exemplary embodiment of the invention has been shown and described. However, the invention is not limited to the specific embodiment shown in
In
With layout tools currently available on the market, the coverage of the layout method provided is limited, and few specific layout patterns are supported. The present invention provides more options for users to flexibly create a customized figure group design. With the figure group concept of creating a figure group from user's scripts, greater efficiency and convenience is provided to the user to construct a higher-level and complex device.
The above-described embodiments of the present invention are intended to be illustrative only. Numerous alternative embodiments may be devised by persons skilled in the art without departing from the scope of the following claims.