IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
1. Field of the Invention
This invention relates to design layout editors, and particularly to features for layout and level checking in circuit design.
2. Description of the Related Art
An important step in the chip build process is to create a layout design. From this layout design, several masks are created to correctly map out the location of each level on the chip. A layout design includes many layers that are actually mapped out and several more layers which can be created from a combination of multiple layers interacting with each other.
It is essential for the layout designer to understand how all of the levels interact with each other and what will be created as a result of those interactions. In order to help with this process several checking decks are used. These checking decks are coded to correctly identify the resulting effect of combining several layers. However, present techniques for checking decks require execution of many manual steps.
What is needed is an ability to recognize and display derived levels and devices, that result from multiple design layers interacting with each other, where the ability is incorporated into a layout editor. Preferably, this function may be toggled on and off as needed.
In one embodiment, a computer program product stored on machine readable media includes machine executable instructions for displaying a layout of a circuit design, the product including instructions for: over a plurality of layers within a design, identifying at least one of a derived level and a device defined within the plurality; and displaying the at least one derived level and device to a user.
In another embodiment, a computer program product stored on machine readable media is disclosed and includes machine executable instructions for displaying a layout of a circuit design, the product including instructions for: receiving input from a user for generating a circuit design in a plurality of layers; storing design information for each one of a derived level and a device of the design in a truth table; for each truth table, identifying at least one of an associated derived level and an associated device, wherein the identifying comprises recognizing the at least one derived level and device according to design conditions for the respective one of the derived level and device; and displaying the at least one derived level and device to a user.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
As a result of the summarized invention, technically we have achieved a solution which a user is provided with an editor having a feature for recognizing and displaying derived levels and devices that result from multiple layers interacting with each other in the layout editor. The feature may generally be toggled on and off as needed.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
Referring to
As disclosed herein, the system 100 includes machine readable instructions stored on machine readable media (for example, the hard disk 104) for layout and editing of a circuit design. As referred to herein, a “design layout software” 121 provides an environment for a derived level recognition feature. The software 121 (and the feature) may be produced using software development tools as are known in the art. As discussed herein, the software 121 may also be referred to as a “layout editor” 121 or simply as an “editor” 121. The layout editor 121 may include various other editing tools and layout features as are known in the art.
The feature may be included as a part of the editor 121 (that is, as an integrated feature), or provided as supplemental program code (that is, as an “add-in” feature for addition to an installed editor 121). Accordingly, one will recognize that certain aspects of the editor 121 and the feature may not belong exclusively to one or the other aspect.
In general, the layout editor 121 permits a designer to focus on a particular aspect of a circuit layout, or a layout of a similar nature. As used herein, these aspects are generally referred to as “coordinates” within a layout. Coordinates may be identified according to various conventions, such as by screen area, layout area, workspace area, with relation to a given point of origin and by other such schemes as are known in the art.
The teachings herein provide the editor 121 with a feature for recognizing and displaying derived levels and devices that result from multiple layers interacting with each other. The feature may generally be toggled on and off as needed. Prior to discussing particular aspects of the feature, some additional perspective is provided.
Two of the most important tools used for checking are commonly referred to as “Design Rule Checks (DRC)” and “Layout vs. Schematic checks (LVS).” DRC checking decks are generally used to verify that design requirements, known as design rules, are not violated. LVS checks are generally used to ensure the correct levels were used to make the desired devices, such as a field effect transistor (e.g., an NFET or PFET), and to ensure the resulting devices are then properly connected as defined in the schematic.
Design Rule Abbreviations are often used to simplify the extensive set of design rules. The purpose of the abbreviations is to remove clutter from the process of identifying and labeling the result of the several layers interacting with each other. In this manner, one may check against the resulting level instead of the other layers that may have created it. In Table 1 below is an example of a set of Design Rule Abbreviations.
The foregoing provides a workable solution for the checking decks. However, one problem is that it is up to the person working with the layout to correctly identify the resulting design levels as identified in the Design Rule Abbreviations. For example, in order for a layout designer to identify “RX p+ diffusion”, they must first identify a “RX p+ junction”, which may be defined as (RX over BP) over (NW not over N3). It should be noted that the examples and definitions used herein are technology specific and provided for illustrative purposes only.
In addition to the Design Rule Abbreviations, Design Truth Tables are also used. The Design Truth Tables provide for identifying levels needed to create a device. It is also up to the designer to identify the device by examining the layers used to create it. Table 2 below is one example of a portion of a Design Truth Table.
The truth table provided in Table 2 is provided as a physical design aid for the listed structures. That is, a truth table may be established to provide design conditions for each of the derived levels and devices. Values in the truth tables are defined as: “0” indicates that the design or derived level must not touch the structure; “1” indicates that the design or derived level must cover or match the structure; “x” indicates that the design level does not affect the structure or the derived level might not be present depending on the design levels.
Using the definitions for RX p+ diffusion and RX n+ diffusion as defined above in Table 1, a typical prior art layout could be displayed as shown in
Now with reference to
The feature makes use of an algorithm, or set of algorithms, for identifying at least one of the derived levels and devices. That is, the feature includes a device recognition algorithm that may include a set of instructions for providing visual indications in the display 136. The indications are located and provided according to design rule data and truth table data that are correlated to elements of each layout (for example, a circuit component such as a an NFET or PFET).
Now with reference again to the prior art, in
It should be noted that the examples used here are relatively simple in nature. The value of this feature becomes even more apparent as more complex devices and levels are derived from numerous levels. If desired, some up to all derived structures from the truth tables could be displayed uniquely in this fashion.
Accordingly, the feature of the editor 121 is provided as instructions for displaying the results of a device recognition algorithm in a manner which identifies structures that are commonly designed for circuits. The basis for determining which structures are highlighted are defined in a set of rules which can be read from pre-existing rules or designed using an interactive menu. The user has the option of changing level display options similar to currently implemented display options for layer functions.
The flow diagram of
As shown in
Components of the device recognition feature 61 may include, for example, a shapes editor, an initiator and setup routine, a proximity search engine, a window function, an interface with the editor 121, a shape change stack and others. The device recognition algorithm 60, also a part of the device recognition feature 61, may include device recognition components such as a rules editor and a storage including a source of device rules.
The capabilities of the present invention can be implemented in software, firmware, hardware or some combination thereof. As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately. Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.