Software‎ > ‎


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.

Install electric on arch linux with java3D support. Requirements: java > 1.6, apache-ant, java3d

1. Checkout latest code from the SVN repository

svn checkout
2. Use java3d latest binary builds for the sytem
3. Unzip and read README-unzip.html
Modify your CLASSPATH environment variable to include the full paths to j3dcore.jar, j3dutils.jar, and vecmath.jar. For example:
export CLASSPATH=.:/myhome/j3d/lib/ext/j3dcore.jar:/myhome/j3d/lib/ext/j3dutils.jar:/myhome/j3d/lib/ext/vecmath.jar

Modify your LD_LIBRARY_PATH environment variable to contain the full path to the lib/<ARCH> directory. For example, on 32-bit Linux:
export LD_LIBRARY_PATH=/myhome/j3d/lib/i386
4. Compile electric's source code using ant
cd electric/packages
5. Create file

export LD_LIBRARY_PATH=/path/to/j3d/lib/amd64
java -classpath electricPublic-9.06-i.jar:j3dcore.jar:j3dutils.jar:vecmath.jar com.sun.electric.Launcher

Jython examples:

# Example1: create new Cell with "P-Transistor" and "mocmos" technology
from com.sun.electric.database.hierarchy import Cell
from com.sun.electric.database.hierarchy import Library
from com.sun.electric.database.topology import NodeInst
# from com.sun.electric.database.variable import EvalJython
from import Technology
from java.awt.geom import Point2D

newCell = Cell.makeInstance(Library.getCurrent(), "sample{lay}")
tech = Technology.findTechnology("mocmos")
trP = tech.findNodeProto("P-Transistor")
tP = NodeInst.makeInstance(trP, Point2D.Double(10, 10), trP.getDefWidth(), trP.getDefHeight(), newCell)
# EvalJython.displayCell(newCell)