![]() |
6: Fundamental Concepts |
![]() |
Electric is different from these chip layout systems, because it works with actual components, rather than simple polygons. The MOS transistor is a single component that contains two layers: polysilicon and active. If you move the component, both layers (and the connected wires) move. Like paint systems, Electric displays the full geometry on the screen. Unlike paint systems, Electric also understands the connectivity of your circuit.
The notion of connected components is quite natural when drawing schematics. And since Electric is also able to edit schematics, this style of interaction is not surprising. What is surprising is that a single user interface allows you to do both schematics and IC layout.
To achieve the ability to edit all types of circuits, Electric views them as collections of nodes and arcs, woven into a network. The nodes are electrical components such as transistors, contacts, and logic gates. Arcs are simply wires that connect the components. Ports are the connection sites on nodes where the wires connect. | ![]() |
In the above example, the transistor node has three pieces of geometry on different layers: polysilicon, active, and well. This node can be scaled, rotated, and otherwise manipulated without concern for specific layer sizes. This is because rules for drawing the node have been coded in a technology, which describes nodes and arcs in terms of specific layers.
Because Electric uses nodes and arcs for design, it is important that they be used to make all of the relevant connections. Although layout may appear to be connected when two components touch, a wire must still be used to indicate the connectivity to Electric. This requires a bit more effort when designing a circuit, but that effort is paid back in the many ways that Electric understands your circuit.
A cell is a collection of these nodes and arcs, forming a circuit description. There can be different views of a cell, such as the schematic, layout, icon, etc. Also, each view can have different versions, forming a history of design. Clearly cells are multi-faceted, which is why the basic unit of design is called a facet. A facet is a view and version of a cell.
A collection of cell facets forms a library, and is treated on disk as a single file. Since the entire library is handled as a single entity, it can contain a complete hierarchy of cells. Any cell in the library can contain instances of other cells. By declaring exports inside of the cell definition, their instances properly interface at higher levels of the hierarchy.
Besides creating meaningful electrical networks, arcs which form wires in Electric can also hold constraints. A constraint helps to control geometric changes, for example, the rigid constraint holds two components in a fixed configuration while the rest of the circuit stretches. These constraints propagate through the circuit, even across hierarchical levels of design, so that very complex circuits can be intelligently manipulated.
![]() |
Previous | ![]() |
Table of Contents | Next | ![]() |