Electric User's Manual, version 9.08

icon
Steven M. Rubin
icon
April 7, 2025

design example


Copyright (c) 2025 Static Free Software.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that they are labeled prominently as modified versions, that the authors' names and title from this version are unchanged (though subtitles and additional authors' names may be added), and that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.

Chapter 1: Introduction

1-1: Welcome



Now you have it!

A state-of-the-art computer-aided design system for VLSI circuit design.

Electric designs MOS and bipolar integrated circuits, printed-circuit-boards, or any type of circuit you choose. It has many editing styles including layout, schematics, artwork, and architectural specifications.

A large set of tools is available including design-rule checkers, simulators, routers, layout generators, and more.

Electric interfaces to most popular CAD specifications including EDIF, LEF/DEF, VHDL, CIF and GDS.

The most valuable aspect of Electric is its layout-constraint system, which enables top-down design by enforcing consistency of connections.

This manual explains the concepts and commands necessary to use Electric. It begins with essential features and builds on them to explain all aspects of the system. As with any computer system manual, the reader is encouraged to have a machine handy and to try out each operation.

1-2: About Electric



The About Electric... command (in menu Help) shows you the names of the Electric development team. It also outlines your legal rights with respect to Electric.

Figure 1.27

This manual is available while running Electric. Use the User's Manual... command (in menu Help) to see this manual (you may already be doing that).

While inside of the manual, click "Menu Help" to get help with Electric's pulldown menus. It displays a pulldown menu inside of the manual page which mimics the real pulldown menu. Select any command from this new menu to get help for the real pulldown menu entry.

1-3: Running Electric



There are two ways to run Electric:

Downloading the Electric JAR file is explained here. Electric is written in the Java programming language and so the JAR file is typically called "electric-version.jar" where version is 8.09, 8.10, 9.00, 9.01, etc. There are two variations on the JAR file: with or without source code (the version without source code has the word "Binary" in its name). Either of these files can run Electric, but the one with source code is larger because it also has all of the Java code.

Electric requires OpenJDK, Apache Harmony, or Oracle Java version 17. It is developed with Oracle Java, so if you run into problems with other versions, try installing Java 17 or later from Oracle.

Running Electric varies with the different platforms. Most systems also allow you to double-click on the JAR file. If double-clicking doesn't work, try running it from the command-line by typing either:
    java -jar electric-version.jar [libraries]
or:
    java -classpath electric-version.jar com.sun.electric.Electric [libraries]

There are a number of options that can be given at the end of the command line:

Memory Control

One problem with Java is that the Java Virtual Machine has a memory limit. This limit prevents programs from growing too large. However, it prevents large circuits from being edited.

If Electric runs out of memory, you can request more. To do this, use the General Preferences (in menu File / Preferences..., "General" section, "General" tab). The "Memory" section has two memory limit fields, for Maximum memory and Maximum permanent space. Changes to these values take effect when you next run Electric. Note that any request to expand Electric too far could cause Electric to fail to start in the future. If this happens, find your system preferences and remove the setting (see Section 6-3).

Permanent space is an additional section of memory that may need to be increased. For very large chips, a value of 200 or more may enhance performance.

1-4: Building Electric from Source Code



1-4-1: Introduction to Source Code

It is not necessary to build Electric from the source code because the downloads are ready to run. For people who wish to explore the source code, this section describes how you can do it.

Source code is available in two forms: