Chapter 8: CREATING NEW ENVIRONMENTS

## 8-10: Examples of Use

To fully understand technology editing, some examples are appropriate. Two examples will be given: a simple one that modifies the appearance of a pattern, and a more complex example in which a new primitive node is created. Both examples are based on the MOSIS CMOS technology, so they presume that the Convert and Edit Technology... command of the Technology menu has been issued and the "mocmossub" entry was selected.

### Example: Modifying a Layer's Look

In this first example, the user simply wishes to change the Metal-2 layer from a solid fill to a stipple pattern.

This particular task is so basic that it can be done with the Layer Display Options... command of the Windows menu, but it illustrates the basic steps of making a change. Once in technology-editing mode, issue the Edit Layer... command of the Technology menu and select "metal-2". The display will show the layer with all of its associated information.

Because every layer has a default stipple pattern used for printing, all that is necessary is to change the "Style" field from solid to patterned. To do this, select the text and use the technology edit button. Note that each piece of text has a box around it: you can click anywhere in the box to choose the text (which will be highlighted with an "X" through it). When you press the technology edit button, a menu appears that provides three choices: the desired choice is "patterned". The technology is now modified and can be converted back with the Convert Library to Technology... command.

### Example: Creating a New Node

The second example is more extensive: creation of a new primitive node. In this case, the new node is a contact between metal-2 and polysilicon.

To create the node, use the New Primitive Node... subcommand of the New Primitive command of the Technology menu and name the node appropriately. |

At this point, the display will show only the textual information about the node (because the graphical information is yet to be supplied). The textual information consists of four factors that now fill the screen.

| You should begin by changing the "Function" factor to "contact" (select it, use the technology edit button, and choose the appropriate function). Then pan back so there is room to describe the node graphically. The other factors are properly set for a contact.

To place a piece of geometry (for example, some polysilicon), click over the filled box entry in the menu on the left (third from the top) and then click in the edit window. This geometry now has shape, but no layer associated with it. To assign a layer, use the technology edit button (while the geometry is selected). Then choose "polysilicon". The black box will change appearance to that of a polysilicon layer. You can move and stretch this box appropriately.

In this example, assume that a contact between polysilicon and metal-2 has three layers: polysilicon, metal-2, and contact cut. Therefore, the above operation must be done two more times to place the metal-2 and contact cut layers.

Besides this pure geometry, there must be two other items in the node: a highlight layer and a port. The highlight layer is obtained by selecting the "HIGH" entry from the menu on the left. It is then placed and stretched so that it encloses the contact (highlight layers define the size of the node, and this means that they will typically surround the geometry).

The other item that must be created is a port (more than one can be created, but for contacts, one is sufficient). Select the "PORT" entry from the menu on the left and place it in the display. You will be prompted for a port name, after which you can further move or stretch the port. Besides a location and a name, ports must specify which arcs may connect to them. To do this, use the technology edit button on the port.

The resulting menu lists all of the arcs and indicates possible connectivity with a "yes" or a "no". To allow arcs to connect, simply move the cursor to that arc and type "y". This can be done repeatedly before clicking to dismiss the menu. Note that the last two entries define the permissible range of angles to which arcs may connect. For a contact such as this, arcs may connect at any angle, so the default values are correct.

When all of the geometry, highlighting, and ports have been placed, you can double-check your work with the Identify Primitive Layers command of the Technology menu, which will display this information (note that the port name "Center" has been moved away for clarity):

The final step in the definition of this node is to create three more copies that illustrate scaling in both axes. This is done simply by selecting all five objects and using the Duplicate command of the Edit menu. Once duplicated in a new location, each piece must be stretched appropriately. In this example, the contact cut is designed so that the number of cut elements grows with the node. Thus, when stretched horizontally or vertically, there are two cuts, and when stretched in both directions there are four cuts. The technology editor will determine precise multicut rules from the cut spacing and the amount of stretch, so that even more cuts will appear as the node grows larger. The finished node definition is shown below:

All that is necessary is to convert this library back to a technology, and the new technology will have this node.

Of course, the newly created technology is valid only during the current session. Therefore, to preserve this technology, save the library to disk. In subsequent sessions, you can use the Load Technology Library command of the Technology menu to restore your custom technology. Note that this must be done BEFORE reading any libraries that make use of the custom technology.

| Previous |  |  | Table of Contents |  | Next |