Maximum text width to fit in dialog:
=================================================================

NOT: !Compaction

Compaction is done only in the X and Y axes.  Use
TOOLS/COMPACTION/DO COMPACTION.

To allow circuitry that is too close to be spread apart,
use TOOLS/COMPACTION/ALLOW SPREADING

!Arc Properties

Arc constraints determine how the circuit will be affected when
changes are made. Three constraints are used: Rigid,
Fixed-angle, and Slidable.  Rigid arcs cannot change in length
or orientation relative to their connected nodes.  Fixed-angle
arcs must remain at a constant angle.  Slidable arcs can move
within their ports (when the ports have nonzero area).  Also,
rigidity can be set temporarily to affect the next change only.

In addition to constraints, there are other arc properties that
are purely graphical.  Negated arcs have a negating bubble on
one end (used in schematics).  Directional arcs have an arrow
indicating circuit flow (for documentation only).  End extension
causes an arc to extend past its endpoint by half of its width
(this is the default state).  Any of these properties can be
applied to only one end of the arc if necessary.  Finally, an
arc can be reversed to allow the graphical property to appear on
the other end.

Properties can be controlled for the highlighted arcs using
specific ARC menu commands or INFO/Get Info.  Default constraints
for new arcs can be controlled with INFO/Set Arc Defaults.

Special arcs (from the "rcmos" (round CMOS) and "artwork"
technologies) can be curved to pass through the cursor location
(with ARC/Curve Through Cursor) or to use the cursor location as
the center of curvature (with ARC/Curve About Cursor) or to be
straight again (with ARC/Remove Curvature).

!Buttons [Macintosh]

These are the mouse buttons on the Macintosh:

Command                              Mouse Button        
-----------------------------  ------------------------
Selection                                         Click
Toggle Select                  Shift-             Click
Select Another                       Ctrl-        Click
Toggle Select Another          Shift-Ctrl-        Click
Special Select                                Opt-Click
Toggle Special Select          Shift-         Opt-Click
Special Select Another               Ctrl-    Opt-Click
Toggle Special Select Another  Shift-Ctrl-    Opt-Click
Info                           --Double--         Click
Creation                                  Cmd-    Click
Rectangle Select                          Cmd-Opt-Click
Rectangle Zoom                 Shift-     Cmd-Opt-Click
Wire/Technology Edit           Shift-     Cmd-    Click
Constrained Move                     Ctrl-Cmd-    Click

!Buttons [UNIX]

These are the mouse buttons on UNIX:

Command                            Mouse Button        
-----------------------------  ---------------------
Selection                                      Left
Toggle Select                  Shift-          Left
Select Another                       Ctrl-     Left
Toggle Select Another          Shift-Ctrl-     Left
Special Select                            Meta-Left
Toggle Special Select          Shift-     Meta-Left
Special Select Another               Ctrl-Meta-Left
Toggle Special Select Another  Shift-Ctrl-Meta-Left
Info                           --Double--      Left
Creation                                       Right
Rectangle Select                          Meta-Right
Rectangle Zoom                 Shift-     Meta-Right
Wire/Technology Edit           Shift-          Right
Constrained Move                     Ctrl-     Right

!Buttons [Windows]

These are the mouse buttons on Windows:

Command                           Mouse Button        
-----------------------------  --------------------
Selection                                     Left
Toggle Select                  Shift-         Left
Select Another                       Ctrl-    Left
Toggle Select Another          Shift-Ctrl-    Left
Special Select                            Alt-Left
Toggle Special Select          Shift-     Alt-Left
Special Select Another               Ctrl-Alt-Left
Toggle Special Select Another  Shift-Ctrl-Alt-Left
Info                           --Double--     Left
Creation                                      Right
Rectangle Select                          Alt-Right
Rectangle Zoom                 Shift-     Alt-Right
Wire/Technology Edit           Shift-         Right
Constrained Move                     Ctrl-    Right

!Circuit Modification

The mouse button is used to select and move circuitry.  When
there is more than one mouse button, use the left one.
Clicking over an object highlights that object and allows you to
drag it while the button remains pushed.  Use SHIFT-button to
highlight multiple objects or to deselect highlighted objects.
Clicking away from any objects allows you to stretch a selection
box over multiple objects and highlight all of them.

The EDIT/Rotate, EDIT/Mirror, and EDIT/Size commands alter the
currently highlighted node (Size also works on arcs), and the
EDIT/Erase command deletes the highlighted circuitry.

EDIT/Erase and Reconnect allows a node with two arcs to be
replaced by a single arc, and EDIT/Insert Break in Arc places
two pins and an intermediate arc inside of the current arc.

The EDIT/Spread command moves all circuitry on one side of the
highlighted node.  You will be prompted for the amount (which
can be negative to compact) and a direction to spread.

The EDIT/Duplicate command copies the currently selected
circuitry.  The EDIT/Array command makes multiple copies of the
currently selected objects.

EDIT/Undo reverses the last command, and EDIT/Redo restores.
Multiple undos and redos work as expected.

EDIT/Change allows the currently highlighted node or arc to be
replaced with another type.

!Components

To place a component (node) in the current facet, simply select
its icon from the menu on the left, and then click in the window
where the node is to be placed.

Special nodes, not found in the menu, can be placed with:
  EDIT/New Analog Part (places analog schematic components)
  EDIT/New Pure-Layer Node (places single-layer geometry that
    can take on any shape by using EDIT/Polygon Edit once
    created)
  EDIT/New Special Object (miscellaneous special-purpose
    components)
  EDIT/New Facet Instance (to place instances of other facets)

Defaults for newly created nodes can be set with INFO/Set Node
Defaults.  Factors that can be changed include primitive size,
facet instance expansion, the orientation of all nodes,
hierarchy date checking, and the ability to make changes to
nodes.

To change the components menu on the left, switch technologies
with TECHNOLOGY/Change Current Technology.

!Crashing

Of course, Electric never crashes.

If the system acts strangely, the database can be checked for
consistency problems and repaired with INFO/Check and Repair
Library.

Network problems can be fixed by rebuilding the information.
Use TOOLS/Network/Redo Network Numbering.

!Design-Rule Checking

An incremental design-rule checker examines all changes to the
circuitry and displays errors when violations are detected.  To
disable this checker, use TOOLS/DRC/Turn DRC Off.  To request
interactive identification of errors, use TOOLS/DRC/Highlight
Errors.  To recheck the current facet, use TOOLS/DRC/Recheck
Facet.

The incremental checker does not use hierarchy (i.e. it does
not examine the contents of facet instances).  To do a more
thorough check, use TOOLS/DRC/Batch Check.

Current design rules for unconnected or connected layers can be
edited with TOOLS/DRC/Edit Unconnected Rules or Edit Connected
Rules.

To produce an input deck for the Dracula checker, use
TOOLS/DRC/Write Dracula Deck.  To modify the Dracula design
rules, use TOOLS/DRC/Edit Dracula Rules.  Since only the "mocmos"
(MOSIS CMOS) technology has Dracula rules at this time, you
can make rule sets for other technologies by using the text
editing facility to copy and edit the "mocmos" rules.

!Facets

A facet is a collection of components that describes one version
and view of a cell.  For example, the facet "inv;1{lay}" is
version 1 of the layout view of cell "inv".  If no version
number is given, the most recent is assumed.

To edit an existing facet, use FACETS/Edit Facet.  To create a
new facet, click on the "New Facet" button in the Edit Facet
dialog.  To delete the current facet, use FACETS/Delete Facet.

More advanced facet operations are also available.  You can make
copy facets from one library to another with FACETS/Copy From
Another Library; duplicate a facet with FACETS/New Version of
Current Facet; and delete all old versions that are not being used
as instances elsewhere, with FACETS/Delete Unused Old Versions.

When a facet instance is highlighted, its definition can be
edited with FACETS/Down Hierarchy.  To return to the higher-level
facet, use FACETS/Up Hierarchy.

To see the contents of a facet instance, use FACETS/Expand Facet
Instances for permanent display or FACETS/Look Inside Highlighted
for temporary display.  Use FACETS/Unexpand Facet Instances to
undo permanent contents display.

To create a new facet with the highlighted circuitry, use
FACETS/Package into Facet.  To replace a facet instance with its
actual contents, use FACETS/Extract Facet Instance.

To get information about the current facet, use INFO/Describe
  this Facet.
To see all facet instances in the current facet, use INFO/List
  Facet Instances.
To get date information for all facets, use INFO/List Facet
  Dates.
To see the hierarchy graphically, use INFO/Show Facets
  Graphically.
To set default creation state for facet instances, use INFO/Set
  Node Defaults.

!Hardcopy

The FILE/Print command sends the current facet to the printer.
Use FILE/Print Options to set an option to allow only the
currently highlighted circuitry to be printed.

On the Macintosh, the EDIT/Copy command places the highlighted
circuitry in the clipboard for insertion in other documents.

PostScript output can be produced for printing or insertion in other
documents with FILE/Export/PostScript.  HPGL can also be produced
with FILE/Export/HPGL.  Use FILE/Print Options to control
generation of these files.

!Hierarchy

Hierarchy is implemented by placing an instance of a facet
inside of another facet.  The instance is treated as a node in
all respects and can be wired, modified, etc.

Use EDIT/New Facet Instance to create the instance.  You will be
prompted for the facet, and then allowed to interactively select
the location of the new instance.

To create a connection point on a facet that will be available
for wiring on instances of that facet, use the PORT/Create Port
command.

When a facet instance is highlighted, its contents can be edited
by using FACETS/Down Hierarchy.  Use FACETS/Up Hierarchy to
return to the facet instance level.

To create a new level of hierarchy, use FACETS/Package into
Facet.  This command takes the currently highlighted circuitry
and places it in a new facet.  To delete a level of hierarchy,
use FACETS/Extract Facet Instance, which takes the currently
highlighted facet instance and replaces it with its contents.

!Interchange Formats

Electric can export a number of different formats of circuitry.
Use the FILE/Export commands to read CIF (Caltech Intermediate
Format), GDS II (Calma's Stream format), EDIF (Electronic Design
Interchange Format), DXF (AutoCAD format), or L (the GDT language).
Use TECHNOLOGY/IO Control to set conversion information.

Electric can also read CIF, GDS II, EDIF, VHDL, LEF/DEF (Library
or Design Exchange Format), SUE (Schematic User Environment),
or DXF format with the FILE/Import commands.  Generally,
interchange formats that contain no connectivity (CIF, GDS II)
will be read into Electric with only geometric information.

The Readable Dump format is a text representation of libraries
that can port between different operating systems that run
Electric.

There are many simulators interfaces that write specific netlist
formats.  See the TOOLS/Simulation Interface menu.

!Libraries

Electric reads and writes entire libraries of facets at one time.
Multiple libraries can be in use, but only one library is the
"current" one.

Use FILE/New Library to create a new, empty library in memory,
FILE/Open Library to read a new library from disk,
FILE/Close Library to delete the library in memory,
FILE/Save Library to write the current library to disk,
FILE/Save As to rename the current library and save it, and
FILE/Old Library to switch the current library to another one.

!Networks

A network is a collection of electrically connected arcs.  When
a port is created (with PORT/Create Port) that name is used to
name the network.  When an arc is named (with INFO/Get Info)
that name is used to name the network.

When a single network is given multiple names, then all names
apply to that network.

When two otherwise unconnected networks are given the same name
in a schematic, they are implicitly connected.  When this happens
in IC layout, they are not connected.  To make implicit naming
connections in all layouts, use TOOLS/Network/Unify Like-Named
Nets.

In schematics, all power and ground signals are implicitly
connected; in IC layouts, they are not.  To implicitly connect
power and ground in all layouts, use TOOLS/Network/Unify Power
and Ground.

The Bus arc of the Schematic technology can accomodate multiple
signals.  Use network names of the form "A[0:3]" (defines 4
signals), or "A,B,C[4:1]" (defines 6 signals).  Do not use
commas or square brackets in non-bus network names.

!Network Comparison

To compare two networks, split the editing window and place one
facet in each half.  Then use TOOLS/Network/Do Consistency Check.
Once comparison has succeeded, use TOOLS/Network/Show Parallel
Object to identify equivalent objects in the other facet.

To request examination of subfacets, use TOOLS/Network/Check
Hierarchically.

To force equivalences, use TOOLS/Network/Set First Equate on one
node, and TOOLS/Network/Set Second Equate on the other.  Use
TOOLS/Network/Clear Equates to erase the list.

!PLA Generation

nMOS PLAs can be produced with TOOLS/PLA Generation/Make nMOS
PLA, which prompts for a personality table and generates nMOS
layout, complete with power and clocking.

Another, more flexible PLA generator, works from a library of
standard cells (which is defined for MOSIS CMOS).  It prompts for
two personality tables: the AND and the OR tables.  It also
offers options about the location of inputs and outputs.
Use TOOLS/PLA Generation/Make MOSIS CMOS PLA.

!Polygon Editing

The EDIT/Polygon Edit command allows arbitrary boundary
information to be stored on the highlighted node.  Only certain
nodes can contain such information, notably the "Pure Layer"
nodes, MOS transistors, and some Artwork components.

Once this command is issued, polygon editing is enabled: the
mouse button which used to select nodes and arcs now only selects
and moves a point on the path.  The messages window will tell you
which mouse commands are available for creating new points.
The Erase, Rotate, and Mirror commands of the EDIT menu
and the Get Info command of the INFO menu change their meaning
during polygon edit.

To exit this mode, use the EDIT/Exit Polygon Edit command.

!Ports

Ports are sites on nodes where arcs may connect.  All primitive
nodes have predefined ports, and these ports may be exported
to create ports on instances of the current facet.

Use PORT/Create Port to export the highlighted port on the
highlighted node.  To remove a port, use PORT/Delete Port
(beware of arcs connected to that port on instances of the
facet: they will be deleted).  Use PORT/Move Port to move an
exported port from one node/port to another in the facet.

Ports can have characteristics such as their directionality,
power, and clocking.  Select the port text and use INFO/Get Info.
The display of port names is controlled with WINDOWS/Port
Display.

Multiple exporting can be accomplished with PORT/Re-Export
Everything which creates ports for every unexported and
unconnected port on facet instances.  This operation can be
done more selectively with PORT/Re-Export Highlighted.

To see what is exported in the current facet, use INFO/List
Exported Ports.  To see what ports exist on the currently
selected network, use INFO/List Ports on Network.

!Routing

To automatically place arcs when the layout of two nodes causes
an implicit connection, use TOOLS/Routing/Do Auto-Stitching.
To do this only once in the highlighted area, use
TOOLS/Routing/Stitch Highlighted.  The Set Routing Arc command
helps determine the type of stitch to make.

To have the router duplicate wiring operations in other similar
situations, use TOOLS/Routing/Do Mimic-Stitching.

To replace unrouted wires with real geometry (using a maze-router),
use TOOLS/Routing/Maze-Route Facet.  To do this only in the
highlighted area, use TOOLS/Routing/Maze-Route Selected.

To replace unrouted wires with real geometry in a river-routing
fashion, use TOOLS/Routing/Do River-Routing (and use
TOOLS/Routing/Get Unrouted Wire to obtain this type of arc).

!Simulation

A built-in switch level simulator can be invoked with the
TOOLS/Simulation/Begin Simulation command.  It creates a new
window to show a signal plot for each exported port in the
current facet.  You can see signals at lower levels
of hierarchy with TOOLS/Simulation/Down Hierarchy and can
return to higher levels with TOOLS/Simulation/Up Hierarchy.

The simulation window can be zoomed and panned with the standard
WINDOW menu commands.  Signal names can be selected in either the
waveform window or the original design, and the selected signal
can be set high/low/undefined at the current time by typing
"h", "l", or "x".  The current time can be modified by dragging
the main cursor (vertical line) in the waveform window.  Type "?"
in the waveform window for more simulation options.

Test vectors can be saved and restored with TOOLS/Simulation/
Read Vectors from Disk and TOOLS/Simulation/Save Vectors to Disk.

The simulator converts the current facet into VHDL, compiles that
to a netlist, and then reads the netlist into the simulator.  If
the current facet is VHDL, then it is compiled into a netlist and
run.  If the current facet is a netlist, it is run directly.

A library of behavioral netlists to be used during VHDL
compilation can be selected with TOOLS/VHDL Compiler/Select
Behavioral Library.

!Simulation Interface

Many different simulation decks can be produced with the
TOOLS/Simulation Interface commands.  At the switch-level, there
is ESIM, RSIM, RNL, COSMOS, and MOSSIM.  At the functional-level,
there is VERILOG, TEGAS, and SILOS.  An input deck can be also be
produced for the Abel PAL generator.

Circuit-level simulation is available through SPICE.  You can
control different SPICE implementaions, levels, and model cards
with TOOLS/Simulation Interface/SPICE Options.  The output of
SPICE can be plotted with TOOLS/Simulation Interface/Plot
SPICE Listing.

!Technologies

Technologies are collections of primitive nodes and arcs that
can be used in facets.  The current technology can be changed
with TECHNOLOGY/Change Current Technology.  Certain technologies
can be modified with TECHNOLOGY/Parametrize Technology.
Correspondences can be made between the layers in the current
technology and various interchange formats with TECHNOLOGY/IO
Control.  The size of the internal design unit and the size of
the display units can be modified with TECHNOLOGY/Change Units.
To see a printed description of a technology, use
TECHNOLOGY/Document Technology.

It is possible to edit an existing technology to update sizes,
design rules, etc.  The process consists of converting a
technology to a library, editing the library, and then
converting it back to a technology.  Use Convert and Edit
Technology to begin the process.

Once a technology is being edited, use Edit Layer, Edit
Primitive Node and Edit Primitive Arc to update the basic
elements of the technology.  Use the New Primitive menu to
create new nodes, arcs, and layers.  Use Delete This Primitive
to delete the current element.  Primitive orderings can be
set with the Reorder Primitives menu entries.

While editing a primitive node or arc, use Identify Primitive
Layers to see what is there.  While editing a node, use Identify
Ports to see what has been declared.

Use Edit Colors, Edit Design Rules, and Edit Miscellaneous
Information to affect other aspects of the technology.  Use
Edit Library Dependencies to link other technology-libraries
with this one so that the technology can be hierarchically
defined.

Editing can be paused with Stop Editing Technology and resumed
with Resume Editing Technology.  When editing is truly done,
convert the library to a new technology with Convert Library to
Technology.

An existing technology library can be read with Read Technology
Library.
An existing technology can be deleted with Delete Technology.

!Text

Text can appear in many forms.  Nodes and arcs can be given
names with the INFO/Get Info command.  Exported ports have
names (PORT/Create Port).  A special text node is available
with EDIT/New Special Object/Text.  Instances of facets have
names that appear when the instance is viewed in its unexpanded
form.  Note that arc and port names are the names of networks
in the circuit, so identical names cause electrical unification.

All of these pieces of text can be selected, moved, and altered.
Use INFO/Get Info to make changes.  To select the name of an
unexpanded facet instance, use the "Special Select" button
(see the help section on Buttons).

!Text Editing

Many commands result in text editing windows appearing on the
screen.  These include VIEW/Edit Documentation View, VIEW/Edit
VHDL View, the TECHNOLOGY/IO Control menu, and many TOOLS
commands.

The editor is a point-and-click editor.

Some facets are purely textual (Netlist, Documentation, and VHDL
views, for example).  When these facets are edited, the text
editor appears.  The contents of these facets can be saved to
disk with FACETS/Write Text File and restored from disk with
FACETS/Read Text File.

!Silicon Compilation

The Silicon Compiler can place and route standard cell libraries
from a structural VHDL description.  The current facet is used
to direct the compiler (if it is not a VHDL description, it is
converted to one).

Use commands from TOOLS/Silicon Compiler to do the placement and
routing.  It is best to sequence through the following commands
in order.
(1) Use Read MOSIS CMOS Library to specify the cell library.
    Note that this command replaces the current library with a
	new cell library.  You will then have to copy the desired
	VHDL description into this library (with FACETS/Copy from
	Another Library).
(2) Use Silicon Compiler Options to select parameters for
    compilation.
(3) Use Get Network for Current Facet to convert the current
    facet into VHDL (if it isn't already) and compile that VHDL
    for placement and routing.
(4) Use Do Placement to place.
(5) Use Do Routing to route.
(6) Use Make Electric Layout to create the circuitry.

!Views

Each facet has a view type associated with it.  The default view
type is "unknown", but the possibilities include "layout",
"schematic", "icon", "skeleton", "simulation-output",
"documentation", "VHDL", "netlist", etc.  A multi-page schematic
view allows an arbitrary number of schematic pages to be linked
together.  The view type of the current facet can be altered
with VIEW/Change Facet's View.  Text-only views ("documentation",
"vhdl", and "netlist") are edited with text windows.

New view types can be defined with VIEW/New View Type
(and deleted with VIEW/Delete View Type).

To see (or create) an alternate view of the current facet,
use VIEW/Edit Layout View, VIEW/Edit Schematic View,
VIEW/Edit Multi-Page Schematic View, VIEW/Edit VHDL View,
VIEW/Edit Documentation View, or VIEW/Edit Other View.

It is possible to convert between views in special cases.
Use VIEW/Make Icon to create an icon view of the current facet.
Use VIEW/Make Skeleton to create a skeleton view of the current
facet. Use VIEW/Make Layout to create a new version of
the layout view in a different technology.  Use VIEW/Make
Schematic to create a schematic view from the current layout
facet.  Use VIEW/Make VHDL to create a structural VHDL
description of the current facet.

!Windows

The scale and position of the facet contents can be controlled
with commands from the WINDOWS menu.  Use:
  Fill Window to make the entire facet be visible,
  Zoom In and Zoom Out to double and halve the scale,
  Focus on Highlighted to make the highlighted circuitry fill
    the window,
  Match Other Window to rescale to a neighboring window,
  Left, Right, Up, and Down to shift the contents, and
  Center Highlight to shift the highlighted objects to the
    center.

A grid can be displayed with WINDOWS/Toggle Grid.  The size and
alignment to that grid can be set with WINDOWS/Grid Settings.

The editing window can be split into two halves, each of which
can edit a different facet (or a different location in the same
facet).  Each half can be split again and again.  Use
WINDOWS/Window Partitions/Split to split, WINDOWS/Window
Partitions/Delete to merge, and WINDOWS/Window Partitions/Make
1 Window to return to an undivided editing window.
When there are multiple windows displayed, only one is the
current window, with a highlighted border.

The visibility of the different layers can be controlled with
WINDOWS/Layer Visibility. The appearance of layers is controlled
with the commands in the WINDOWS/Colors and Patterns menu.  The
appearance of ports is controlled with the commands in the
WINDOWS/Port Display menu.  The location and size of the
components menu (initially on the left) is controlled with
WINDOWS/Component Menu.
