Chapter 12: MENU SUMMARY

## 12-9: The Technology Menu

Technologies are collections of primitive nodes and arcs built out of layers of geometry. Layers have color, design-rules and I/O correspondences. Nodes and arcs have geometry and other information.

A large set of technologies comes with Electric. These include many varieties of MOS as well as Schematics, Artwork, and more. A single cell may contain components from different technologies, simply by switching technologies and placing new components alongside the old ones. A Generic technology exists for making cross-technology interconnect as well as other special-purpose functions.

Besides being able to switch technologies and set information about the current technology, there is a technology editor that can make major changes and create new technologies. This editor works by converting a technology into a library of cells and back again. Standard editing techniques are then used on the library.

### Change Current Technology... [7-1]

This command allows you to switch the set of primitives that are used in editing. A list of technologies will be presented. After selection, the menu on the left will change to show the primitives in the new technology. Note that the current technology is shown in the status area under the heading "TECHNOLOGY".

### Technology Options... [7-1]

This command displays a dialog for technology-specific options. The MOSIS CMOS, Artwork, and Schematic technologies can be affected.

### Change Units... [7-2]

The left side of the dialog allows you to change the displayed units for various electrical properties. You can also change the internal unit size (be very careful when changing this).

The right side of this dialog allows you to change the value of "lambda" for any technology. Lambda is the number of internal units per grid unit (the current value, in microns, is shown in the status area under the heading "LAMBDA"). When changing this value, you can choose to scale all objects (which will keep them looking the same as before, only scaled), or to just update the technology (which will alter the appearance of existing objects). You can also choose to make this change to all libraries or just the current one. Do not use this command to adjust the lambda size when editing technologies: use the Edit Miscellaneous Info command instead.

### Document Technology [7-1]

This command writes a disk file with a textual description of a technology. The description lists layers, nodes, and arcs, and other relevant information. The file is for descriptive purposes only and cannot be read back into Electric.

### Describe Current Technology [7-1]

This command displays information about the current environment of design.

### Convert and Edit Technology... [8-2]

This command allows an existing technology to be modified using the technology editing facilities. You will be prompted for the technology to edit. This technology will then be converted to a library of the same name, and that library will become the current library. Editing any cell of this library will be done in technology editing mode, which means that a new button is defined for making changes to the highlighted object: technology edit. The remainder of the commands in the Technology menu apply to technology editing.

Once in technology editing mode, this menu entry changes to Convert Library to Technology... so that the library can be translated back into a new technology and the mode can be terminated. This command presents a dialog for creating a new technology from the library. Note that the new technology name may have to be changed because there will probably already be one with that name. After creating the technology, you may switch to it with the Change Current Technology... command above. To save an edited technology, use the Save Library command of the File menu, just as you would save any other library. The library can then be restored with the Load Technology Library command below.

### Load Technology Library [8-2]

This command causes an existing technology library to be read from disk and converted to a technology.

### Delete Technology... [8-2]

This command prompts for a technology name and deletes it. There cannot be any uses of the primitives in that technology or else the command will fail.

### Rename Technology... [8-2]

This command allows you to rename the current technology.

### Edit Primitive Node... [8-8]

This command causes a primitive node from the currently edited technology to be brought into the window. Because each primitive node is represented as a cell of the library, it is also possible to edit a node by using the Edit Cell... command in the Cells menu. However, the node names are somewhat encoded in the library, so it is more convenient to use this command.

The cell describing a primitive node contains four examples of the node, scaled in both axes. These images are built from separate layers which may be selected, edited, etc. (use the technology edit button to change what is highlighted). In addition to the geometry layers, there is also a highlight layer which shows where the highlighting will appear when the primitive is selected. Finally, there are port layers that show where arcs will connect to the primitive. In the upper-left (least scaled) version of the node, the ports have additional information such as arc connectivity and connection angle ranges.

Besides the four examples, there are special messages on the right that set special attributes of the node.

### Edit Primitive Arc... [8-7]

This command causes an arc from the currently edited technology to be brought into the window. Because each arc is represented as a cell of the library, it is also possible to edit an arc by using the Edit Cell... command in the Cells menu. However, the arc names are somewhat encoded in the library, so it is more convenient to use this command.

The cell describing an arc contains one example of the arc, laid out horizontally. The length of this arc is not important. On the right are special messages that describe the arc. To change an object, highlight it and use the technology edit button.

### Edit Layer... [8-5]

This command causes a specified layer from the currently edited technology to be brought into the window. Because each layer is represented as a cell of the library, it is also possible to edit a layer by using the Edit Cell... command in the Cells menu. However, the layer names are somewhat encoded in the library, so it is more convenient to use this command.

The cell describing a layer contains a stipple pattern and a color box for describing the appearance of the layer. Special information is shown on the right, including the color to use and I/O correspondences for the layer. The stipple pattern is used only if the color is not a "Transparent" one. To change anything in the cell, highlight it and use the technology edit button.

### Edit Next Primitive [8-5] [8-7] [8-8]

This command edits the next primitive node, arc, or layer (whichever is currently being edited). If the last primitive is being edited, the first is displayed.

### New Primitive [8-5] [8-7] [8-8]

| The subcommands of this command create new cells to describe a primitive node, arc, or layer in the currently edited technology.

### Reorder Primitives [8-5] [8-7] [8-8]

| The subcommands of this command produce lists of primitive nodes, arcs, and layers in an edit window and allows you to rearrange the order in which they will appear in the technology.

### Edit Colors... [8-6]

This command causes the color map for the edited technology to be presented for modification.

### Edit Design Rules... [8-6]

This command causes the design rules for the edited technology to be displayed in a text editing window. Each design rule consists of a spacing distance and two layer names. If the spacing distance is preceded by a "c", this rule applies only when the two layers are electrically connected.

### Edit Variables... [8-4]

This command allows you to specify additional pieces of information about the technology being edited. A dialog shows two lists of variables that can be attached to the technology. On the left is a list of variables that are currently attached, and on the right is a list of all known variables that can be attached to the technology. To add a new variable to the current list, select it in the list of possibilities and click the "<< Copy" button. To remove a variable from the technology, select it in the left-hand list and click the "Remove" button. When a variable in either list is selected, its description and type are shown. When the variable is of type "Integer", "Real", or "String", you may change its value in the "Value" field. When you have selected a variable of type "Strings" (note the final "s") then it must be edited in a separate window with the "Edit Strings" button. The "Edit Strings" button first exits this dialog and then opens a text edit window for manipulating this variable. See Section 4-10 for more on text editing.

### Edit Library Dependencies... [8-3]

This command allows you to enter a list of technology libraries that will be combined with the current library when defining a technology. This is a list of dependent libraries that combine to define the technology.

The dialog contains two lists of libraries. The list on the left shows the dependent libraries and the list on the right shows all current libraries. By selecting a library name from the list on the right and clicking on the "<< Add" button, it is added to the list on the left. To add a library not shown, type its name into the box on the right and click the "<< Add" button. To remove a library from the list on the left, select it and click the "Remove" button.

### Edit Miscellaneous Information [8-4]

This command causes miscellaneous factors from the currently edited technology to be brought into the window for modification. To change a factor, highlight it and use the technology edit button.

### Identify Primitive Layers [8-7] [8-8]

This command causes all of the layers in the currently edited primitive node or arc to be labeled. The labels are temporary, and disappear when the window is redrawn in any way.

### Identify Ports [8-8]

This command causes all of the ports in the currently edited primitive node to be labeled. The labels are temporary, and disappear when the window is redrawn in any way.

### Delete this Primitive [8-5] [8-7] [8-8]

This command deletes the primitive node, arc, or layer in the current window.

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