Electric (software)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Electric (software)
Electric eda.png
Initial release 1980; 34 years ago (1980)
Stable release 9.05 / June 26, 2014; 2 months ago (2014-06-26)[1]
Written in Java
Operating system multi
Platform Java
Type Electronic design automation
License GNU General Public License
Website www.staticfreesoft.com

The Electric VLSI Design System is an EDA tool written in the early 1980s by Steven M. Rubin.[2][3][4][5] Electric is used to draw schematics and to do integrated circuit layout. It can also handle hardware description languages such as VHDL and Verilog.

Electric is currently part of the GNU project and has been developed in Java and distributed as free and open-source software, subject to the requirements of the GNU General Public License (GPL), version 2 or any later.

Powerful Design Style[edit]

Electric has a powerful way of doing integrated circuit (IC) layout.[6][7] The system considers integrated circuits to be composed of nodes and arcs. Nodes are circuit elements such as transistors and contacts. Arcs connect the nodes. This style of design is quite different from typical IC layout systems, such as Magic and Cadence, which do IC layout by manipulating polygons on different layers of the wafer.

This powerful design style makes it possible for the designer to run Layout Versus Schematic (LVS) on layouts which are not yet Design Rule Check (DRC) clean. This is extremely useful during the design process. It also makes it possible for the design tool to back-annotate wire-lengths from a layout to a schematic even if the layout is not yet DRC clean. Finally, because layouts are stored internally as a graph (rather than "paint"), the LVS check is exceptionally fast, often running in under a second on full-chip designs (such as the recent Marina chip). The ability to run LVS near-instantaneously on large designs has a big impact on ease of design.

It has been observed that people with no previous experience in IC layout are comfortable with Electric's unusual style, but those who have done IC layout on other systems find Electric difficult to use.

One added advantage of the nodes-and-arcs view of a circuit is that it is possible to add layout constraints to the arcs. There are only a small set of these constraints, but with careful placement, the circuit can be programmed to stay properly connected when physical changes are made.

Tools and Technologies[edit]

Electric incorporates many synthesis and analysis tools:

  • Design rule checking two built-in checkers and two interfaces to industry tools.
  • Electrical Rule Checking a Well/Substrate checker and an Antenna rule checker.
  • Simulation two built-in simulators and interfaces to over a dozen industry tools (Spice, Verilog, etc.)
  • Routing five different routers for various special purposes.
  • Generators a PLA generator, a cell generator, a pad frame generator, and a ROM generator.
  • Logical Effort a tool for analyzing the Logical Effort of a circuit and resizing gates.
  • LVS (layout vs. schematic) a tool which compares any two representations of a circuit.
  • I/O the capability to read and write circuit descriptions in many formats, including CIF, GDS, EDIF, DXF, and VHDL. It can also interface with other systems, such as EAGLE, Pads, ECAD, and Sue.

Electric supports many different design technologies, for example:


Electric was written in the C programming language in the early 1980s (the earliest internal memo on Electric is dated November 19, 1982). For some time after that, Electric was distributed free of charge to universities and research institutions, and found widespread international use.

In the mid 1980s, Electric was sold commercially by Applicon, under the name "Bravo3VLSI".

In 1988, Electric Editor Incorporated was founded, and sold the system commercially. The company released the source code through the Free Software Foundation in 1998.

In 2000, Static Free Software was created to manage Electric's distribution.

In September, 2003 the C version of Electric was abandoned, and the system was translated into the Java language. The work was completed in June, 2005. Although the C code is still available, it is no longer developed or supported. The new and improved Java code remains free to all users.


  1. ^ ftp://ftp.gnu.org/pub/gnu/electric/
  2. ^ Rubin, Steven M. (1983), "An Integrated Aid for Top-Down Electrical Design", Proceedings, VLSI '83, Anceau and Aas, eds. (North Holland, Amsterdam) 
  3. ^ Rubin, Steven M. (September 1983), "An Integrated Aid for Top-Down Electrical Design", Proceedings, ICCAD-83, Order No 518 (IEEE Computer Society) 
  4. ^ Baker, R. Jacob (2010), CMOS Circuit Design, Layout, and Simulation, Third Edition, Wiley-IEEE Press 
  5. ^ Zobrist, George Winston (1989), Progress in Computer-aided VLSI Design: Tools, Ablex Publishing Corporation 
  6. ^ Rubin, Steven M. (1987), Computer Aids for VLSI Design, Addison-Wesley, Reading Massachusetts 
  7. ^ Rubin, Steven M. (1991), "A General-Purpose Framework for CAD Algorithms", IEEE Communications, Special Issue on Communications and VLSI 

External links[edit]