GNU Electric is not just another free and open-source software; it is a powerful suite of tools that allows users to design schematics, draw circuit diagrams, and ultimately create transistor-level chip designs, just like companies that design VLSI systems.
With its focus on flexibility and efficiency, GNU Electric has become a preferred choice for professionals and enthusiasts alike . Furthermore, you'll find excellent documentation to help you with its use, as well as a good set of libraries for chip fabrication on various nodes, test circuits, and more.
What is Electric?
Electric is a computer-aided design (CAD) system for electrical circuits, primarily focused on integrated circuit (IC) design. However, it can also handle schematics and hardware description languages ( HDLs) for very large-scale integration (VLSI) chip design . It is versatile and supports a variety of technologies, including MOS (nMOS and various CMOS variants), bipolar, and hybrid designs. In addition to these IC design technologies, it can work with many other graphical formats, such as schematics, artwork, FPGA architectures, and more. It includes a built-in technology editor that allows for the modification and creation of new design environments.
Electric integrates a variety of tools for circuit analysis and synthesis . The system includes design rule checkers, simulators, routers, and much more. It also features an elegant tool integration model, making it easy to add new tools. Furthermore, it includes additional tools, such as the IRSIM simulator from Stanford University, which can be seamlessly integrated with Electric as an add-on for ALS.
In addition to handling arbitrary technologies and tools, Electric has a powerful interface that provides design constraints and platform portability. The constraint system ensures that connected components remain responsibly connected, even when the design is modified. Platform portability means that Electric can run on almost any computer (Java code runs anywhere, and C code compiles on UNIX/Linux, Windows, and Macintosh ). It's also available in several languages, including Spanish.
- Circuit with logic gates
- Example Full Chip Design
- Example Full Chip Design
- Layout
- The result of the previous layout (Silicon compilation)
- 3D Layout
Electric Features
Electric is a highly flexible and powerful VLSI design system that can handle many types of circuit design . Its sophisticated user interface runs on all popular workstations and provides interpreted languages for advanced users. Electric has many analysis and synthesis tools, including design rule checking, simulation, network comparison, routing, compaction, silicon compilation, PLA generation, and compensation.
Electric's design rules checking system monitors all design changes and displays error messages when violations are detected. Electric can also read the output from Assura or Calibre and display the results. The Electric rules checker verifies all well and substrate areas for proper contacts and spacing, and performs an antenna rules check for manufacturing validation.
Electric comes with a built-in 12-state switching level simulator called ALS. Electric can produce input harnesses for a number of popular simulators. Electric users must obtain these simulators separately.
Electric's CMOS PLA generator works from a library of PLA elements, allowing for custom dies. The pad frame generator places pad cells around a chip core and connects them together. The ROM generator produces a design from a ROM personality file.
Electric's Compactor adjusts the geometry to its minimum spacing on the X and Y axes . Logical Effort is a system for marking digital schematic gates with fan-out information that will produce optimally fast circuits. Electric also offers six experimental placement tools that use parallelism to accelerate the task. Electric's Maze Router runs individual wires between points. The Cell Stitch Router makes explicit connections where cells join or overlap. The Mimic Router observes user activity and replicates it in similar situations throughout the circuit.
Electric's VHDL system can generate VHDL from a design and compile VHDL into network lists in various formats. These network lists can be simulated with the built-in simulator, converted into a design with the silicon compiler, or saved to disk for use by external simulators.
Electric's Silicon Compiler places and routes standard cells from a list of structural networks, which can be obtained from VHDL, which in turn can be obtained from a schematic drawing. Electric also has a Network Consistency Checker (LVS) tool that compares a design to its equivalent schematic. It can compare two different versions of a design or two different versions of a schematic. An experimental version of NCC, called the Port Swap Experiment, is also available.
And if you want, you'll also have access to a built-in project management system (or even a second built-in system based on CVS if you prefer) that allows users to share a circuit library. Users can extract cells for editing and return them when they're finished. Other users are prevented from changing the extracted cells and can update their circuits when the changes are saved. Furthermore, users are prevented from making changes to extracted cells that would affect other, unextracted cells. Warnings are also issued when multiple users extract hierarchically related cells, which could cause editing conflicts.
Regarding the supported technologies , we have:
| nMOS | Traditional nMOS transistor |
| CMOS | It comes in several different versions, such as the generic, the Cal Tech Round, or the MOSIS rules |
| Bipolar | Generic bipolar transistor logic |
| BiCMOS | Bipolar+CMOS for hybrid circuits |
| TFT | Thin-film circuits |
| Digital filters | Generic |
| PCB | Can support up to 8 layers for printed circuit boards |
| Schematics | Create schematic circuits with analog and digital components |
| FPGA | Design for custom FPGA |
| Artwork | Elements for graphic design |
And as for external interfaces, the truth is that Electric is highly compatible with files from many other EDAs, for example:
| Format | Entrance exit | Description |
| Tax ID No. | IS | Caltech Intermediate Format |
| GDS II | IS | Calma GDS Exchange Format |
| EDIF | IS | Electronic Design Interchange Format |
| ITS | E | Schematic User Environment |
| DXF | IS | AutoCAD Native Mechanical Format |
| VHDL | IS | HDL |
| verilog | S | HDL |
| CDL | S | Cadence Description Language |
| EAGLE | S | Schematic capture |
| PADS | S | Schematic capture |
| ECAD | S | Schematic capture |
| Applicon | E | Applicon/860 (old CAD format) |
| Bookshelf | E | Bookshelf (placement exchange format) |
| Gerber | IS | Gerber Scientific (plotter format) |
| HPGL | S | Plotting Language |
| PostScript | S | Plotting Language |
| SVG | S | Scalable Vector Graphics (scalable image for browser) |
But that's not all, you'll also have access to add-ons like these libraries :
- Boise State: library to use standard cells created by the university they are named after, and based on MOSIS Submicron rules with 3 layers of metallic interconnections and the ability to manufacture the chip in the ON Semiconductor foundry in the C5 process.
- Harvey Mudd: standard cells and chips from Harvey Mudd College, with a 32-bit MIPS microprocessor design and its associated cells.
- MOSIS CMOS- You have both a library for 350nm and 180nm manufacturing technology for pads and standard cells respectively. These libraries were developed by Sun Microsystems Laboratories and the City Engineering College of Bangladesh, guided by Kanada Technologies.
- Sun Microsystems Test Chip: This is a Sun design with around 1 million transistors that was used as a model to measure the structural capacitances of the chip.
- Cell library: another library of cells designed by Hochschule Kempten and used in Electric's Silicon Compiler.
Simply impressive…
GNU Electric: history
The VLSI design software, GNU Electric, has had a long history leading to its current form. It was created by Steven M. Rubin in the early 80s and was soon distributed to universities and research institutions worldwide. In the mid-8.0s, Applicon marketed Electric under the name “Bravo3VLSI.” The first Electric designs were written in the C programming language and can still be downloaded from the official website, although it was later ported to Java starting with version 80, though the C-based version 7.0 remains available.
In 1988, Electric Editor Incorporated was founded and sold the system commercially. In 1998, the company released Electric through the Free Software Foundation (GNU) . In 1999, development of Electric was transferred to Sun Microsystems.
In 2000, Steven Rubin founded Static Free Software, a company that manages the free distribution of Electric . In 2003, the "C" version of Electric was discontinued and its translation into Java began, which was completed in 2005. Although the C code is still available, it is no longer developed or supported.
In 2004, Static Free Software became a division of RuLabinsky Enterprises, Incorporated , a corporation that remains dedicated to free software. In 2010, Oracle acquired Sun Microsystems and continued to support the development of Electric until the end of 2016, which is why it is based on Java.
In 2017, development of Electric ceased, but support and bug fixes continue . The code is now available from the Free Software Foundation. It is currently part of the standard GNU package repertoire.
Furthermore, it is currently used by many hobbyists and even professionals . Many universities worldwide have used Electric for their chip designs, as have some well-known companies such as Apple Computer, Intel, Harris Corporation, NEC Electronics, Rambus, Sun Microsystems (now Oracle), and many more. In fact, among the companies that have used it is the renowned Transmeta Corporation, the company that developed VLIW microprocessors like the Crusoe and Efficeon, and where Linus Torvalds himself worked after arriving in Silicon Valley from Finland to create Code Morphing, code that ran in the background to translate x86 software instructions into VLIW, thus making these chips compatible with everyday software.
How to get free Electric
If you liked it, you can download it for free from here:
- GNU Electric version C, Java and source code for different platforms (Linux, MacOS, Windows).
- Additional Libraries.
- Documentation.
- IRSIM Simulator.




