Using the Electric VLSI Design System

Chapter III: HIERARCHY

| ## 6: Ports |

### Port Creation

All nodes in Electric have connection sites, called ports, which indicate where wires may be attached. The primitive nodes have predefined ports, but facet ports must be defined by the user. To do this, simply select a port on a node inside the facet, and export it, which makes it available on all instances of the current facet. Although most ports are on nodes along the edge of the facet, Electric makes no port location restrictions, so they may appear anywhere.

To export a port, select a port on a node and use the Create Port... command of the Port menu. The resulting dialog requests a port name and some characteristics. All port names on a facet must be unique; if a nonunique name is given, it is modified (by adding "_1", "_2", and so on) to be unique. Like facet names, port names may not contain spaces, tabs, or unprintable characters, and no case distinction is made between uppercase and lowercase characters. |

Behavioral characteristics can be associated with a port by selecting the appropriate field in the port creation dialog. These behavior characteristics are stored with the port and used primarily by simulators.

The "Always drawn" check box requests that the port label should always appear, regardless of the connection or expansion of its facet. Typically, a port label on an instance of a facet is not displayed when that port is connected to an arc or when the instance is expanded. This check box overrides the suppression.

Another special check box, "Body only," requests that this port not appear when an icon is generated for the facet. This is useful for power and ground ports or duplicate connection sites on a single network.

There are two special port exporting commands that are primarily used in array-based layout. If a facet instance is replicated many times and the instances are wired together, then ports on the edge of the array are the only ones that are not wired. These ports define the connections for the next level of hierarchy. What you want to do is to export all unwired ports on all facet instances. To do this, use the Re-Export Everything command of the Port menu, which generates unique port names as it exports all unwired ports on facet instances. To do this same function, but only in the currently highlighted area, use Re-Export Highlighted. Note that ports on primitive nodes are not exported with these commands. See section 6-4 for more about arrays, and see section 9-5 for more on automatic wiring.

Another special case in port creation is the Add Ports from Library... command, which copies ports from another library to the current one. The other library is examined for facets whose names match ones in the current library. When a facet is found in the other library, all of its ports are copied to the facet in the current library (if they don't already exist). This command is useful in managing standard cell libraries that are imported from other file formats (see section 3-9 on Standard Cell Libraries). Because some formats contain geometry and others contain connectivity, this command is needed to put them together.

### Port Information

Ports are selected by clicking on their text, or by clicking on the node from which they are exported. In very dense designs, you can select exported ports from a list by using the Select Port... subcommand of the Selection command of the Edit menu.

Once a port has been exported, the characteristics can be modified by selecting the port name and using the Get Info command of the Info menu. In addition to allowing the port name and characteristics to be changed, the dialog allows the size and placement of the port text to be modified. See the section on text for more about port size and placement. |

Ports can be displayed on the screen in many different ways. The Port Display Options... command of the Windows menu provides four options: "Full Port Names" shows full text names, "Short Port Names" shows port names only up to the first nonalphabetic character, "Ports as Crosses" shows crosses at the port locations, and "No Ports Shown" indicates that no ports are to be displayed. With short port names, the ports "Power-left" and "Power-1" are both written as "Power," which allows multiple ports with the same functionality but different names to be displayed as if they have the same name. |

### Port Deletion and Movement

You can delete a port simply by selecting its name and typing the delete key. You can also use the Delete Port command of the Port menu.

To remove many ports at once, the Delete All Ports on Highlighted command removes all exported ports on all highlighted nodes. Also, the Delete All Ports in Area command removes only those ports that are in the selected area (use the rectangle select button to define a precise area). When a port is deleted, all arcs connected to that port on instances of the current facet (higher up the hierarchy) are also deleted.

It is sometimes desirable to keep an exported port but to transfer it to another node. If a facet is in use higher in the hierarchy, unexporting and then reexporting deletes all existing connections. Instead, the Move Port command of the Port menu can be used. Before using this command, two nodes and their ports must be highlighted with selection button and toggle select button. The exported port is moved from the first node to the second node.

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