![]() |
Fundamental Concepts |
![]() |
Electric views all circuits 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. | ![]() |
This differs from traditional layout editors which only manipulate geometry. In Electric, higher-level components are manipulated, and their geometry follows. For example, the transistor node shown above 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.
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 ports 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 | ![]() |