Debian Electronics Project
Summary
ASIC development
Debian ASIC development packages

This metapackage will install Debian packages for ASIC development

Description

For a better overview of the project's availability as a Debian package, each head row has a color code according to this scheme:

If you discover a project which looks like a good candidate for Debian Electronics to you, or if you have prepared an unofficial Debian package, please do not hesitate to send a description of that project to the Debian Electronics mailing list

Links to other tasks

Debian Electronics ASIC development packages

Official Debian packages with high relevance

electric
electrical CAD system
Versions of package electric
ReleaseVersionArchitectures
trixie9.07+dfsg-7all
bookworm9.07+dfsg-7all
bullseye9.07+dfsg-6all
buster9.07+dfsg-5all
stretch9.07+dfsg-1all
jessie9.05+dfsg-1all
sid9.07+dfsg-7all
Debtags of package electric:
fieldelectronics
interfacex11
roleprogram
scopeapplication
suitegnu
uitoolkitmotif
useediting, learning
x11application
Popcon: 33 users (13 upd.)*
Versions and Archs
License: DFSG free
Git

Electric is a sophisticated electrical CAD system that can handle many forms of circuit design, including custom IC layout (ASICs), schematic drawing, hardware description language specifications, and electro-mechanical hybrid layout.

Screenshots of package electric
gtkwave
VCD (Value Change Dump) file waveform viewer
Versions of package gtkwave
ReleaseVersionArchitectures
stretch3.3.79-1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
sid3.3.118-0.1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
trixie3.3.118-0.1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
bookworm-proposed-updates3.3.118-0.1~deb12u1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bookworm-security3.3.118-0.1~deb12u1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bookworm3.3.114-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bullseye-proposed-updates3.3.104+really3.3.118-0+deb11u1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bullseye-security3.3.104+really3.3.118-0+deb11u1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bullseye3.3.104-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
buster-security3.3.98+really3.3.118-0+deb10u1amd64,arm64,armhf,i386
buster3.3.98-1amd64,arm64,armhf,i386
jessie3.3.62-1amd64,armel,armhf,i386
upstream3.3.119
Debtags of package gtkwave:
fieldelectronics
hardwareemulation
interfacex11
roleprogram
scopeutility
uitoolkitgtk
uselearning, viewing
x11application
Popcon: 98 users (351 upd.)*
Newer upstream!
License: DFSG free
Git

gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!)

Screenshots of package gtkwave
gwave
waveform viewer eg for spice simulators
Versions of package gwave
ReleaseVersionArchitectures
bullseye20190116-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
stretch20090213-6.1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
Debtags of package gwave:
fieldelectronics
interfacetext-mode, x11
roleprogram
scopeapplication
uitoolkitgtk, ncurses
useviewing
x11application
Popcon: 15 users (2 upd.)*
Versions and Archs
License: DFSG free
Git

Gwave is a tool for viewing analog data, such as the output of Spice simulations.

Gwave can read "raw" files from spice2G6, spice3F5 or ngspice, and a tabular ASCII format suitable for use with GnuCAP or homegrown tools. It can also read several binary and ascii files written by commercial spice-type simulators such as hspice, tspice, and nanosim.

It supports multiple "panels" (graticules) with multiple variables displayed in each. Two vertical-bar cursors are available for time-difference measurements. Multiple files can be loaded, for comparing results of several simulations.

iverilog
Icarus verilog compiler
Versions of package iverilog
ReleaseVersionArchitectures
jessie0.9.7-1amd64,armel,armhf,i386
bullseye11.0-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
buster10.2-1.1amd64,arm64,armhf,i386
stretch10.1-0.1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
trixie12.0-2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
sid12.0-2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
bookworm11.0-1.1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
Debtags of package iverilog:
fieldelectronics
interfacecommandline
roleprogram
Popcon: 64 users (28 upd.)*
Versions and Archs
License: DFSG free
Git

Icarus Verilog is intended to compile all of the Verilog HDL as described in the IEEE-1364 standard. It is not quite there yet. It does currently handle a mix of structural and behavioral constructs.

The compiler can target either simulation, or netlist (EDIF).

klayout
High Performance Layout Viewer and Editor
Versions of package klayout
ReleaseVersionArchitectures
bullseye0.26.2-3amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
sid0.28.15-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
trixie0.28.15-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
bookworm0.28.5-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
upstream0.29.0
Popcon: 11 users (11 upd.)*
Newer upstream!
License: DFSG free
Git

This is very good viewer for GDSII and other layout files used in the semiconductor industry.

It is similar to 'magic', but has a much more modern GUI and is more robust handling all kinds of GDSII files created by various other tools. Its focus is more on viewing than on editing, but it also has limited, but expanding, support for DRC and extraction for LVS.

magic
VLSI layout tool
Versions of package magic
ReleaseVersionArchitectures
trixie8.3.105+ds.1-1.1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
stretch8.0.210-2amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
stretch-backports8.1.218+ds.1-1~bpo9+1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
buster8.1.223+ds.1-1amd64,arm64,armhf,i386
bullseye8.3.105+ds.1-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bookworm8.3.105+ds.1-1.1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
sid8.3.105+ds.1-1.1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
jessie7.5.241-1amd64,armel,armhf,i386
upstream8.3.476
Debtags of package magic:
fieldelectronics
roleprogram
Popcon: 19 users (12 upd.)*
Newer upstream!
License: DFSG free
Git

Magic is a venerable VLSI layout tool, written in the 1980's at Berkeley by John Ousterhout, now famous primarily for writing the scripting interpreter language Tcl. Due largely in part to its liberal Berkeley open-source license, magic has remained popular with universities and small companies. The open-source license has allowed VLSI engineers with a bent toward programming to implement clever ideas and help magic stay abreast of fabrication technology. However, it is the well thought-out core algorithms which lend to magic the greatest part of its popularity. Magic is widely cited as being the easiest tool to use for circuit layout, even for people who ultimately rely on commercial tools for their product design flow.

Screenshots of package magic
netgen-lvs
Netlist comparison - Layout vs Schematic (LVS)
Versions of package netgen-lvs
ReleaseVersionArchitectures
sid1.5.133-1.2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
trixie1.5.133-1.2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
bookworm1.5.133-1.2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bullseye1.5.133-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
buster1.5.118-1amd64,arm64,armhf,i386
upstream1.5.273
Popcon: 12 users (9 upd.)*
Newer upstream!
License: DFSG free
Git

Netgen is a tool for comparing netlists, a process known as LVS, which stands for "Layout vs. Schematic". This is an important step in the integrated circuit design flow, ensuring that the geometry that has been laid out matches the expected circuit.

Very small circuits can bypass this step by confirming circuit operation through extraction and simulation. Very large digital circuits are usually generated by tools from high-level descriptions, using compilers that ensure the correct layout geometry. The greatest need for LVS is in large analog or mixed-signal circuits that cannot be simulated in reasonable time.

Note that the executable name in Debian is 'netgen-lvs'. For details, see /usr/share/doc/netgen-lvs/README.Debian

opensta
Gate-level Static Timing Analyzer
Versions of package opensta
ReleaseVersionArchitectures
sid0~20191111gitc018cb2+dfsg-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
bullseye0~20191111gitc018cb2+dfsg-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bookworm0~20191111gitc018cb2+dfsg-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
upstream0.0~git20240429.00c2082
Popcon: 13 users (9 upd.)*
Newer upstream!
License: DFSG free
Git

After synthesis, place and route of a digital circuit, it is necessary to verify the timing of the design. OpenSTA is a tool for doing exactly that. It has a Tcl interface for entering commands for analysing designs.

It typically takes as input a verilog netlist, a liberty file, and other parasitics information from the placed and routed design.

qrouter
Multi-level, over-the-cell maze router
Versions of package qrouter
ReleaseVersionArchitectures
bullseye1.4.71-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
stretch-backports1.3.106-1~bpo9+1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
buster1.3.108-1amd64,arm64,armhf,i386
stretch1.3.57-1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
bookworm1.4.71-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
sid1.4.71-2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
jessie1.3.3-1amd64,armel,armhf,i386
upstream1.4.87
Popcon: 13 users (9 upd.)*
Newer upstream!
License: DFSG free
Git

Qrouter is a tool to generate metal layers and vias to physically connect together a netlist in a VLSI fabrication technology. It is a maze router, otherwise known as an "over-the-cell" router or "sea-of-gates" router. That is, unlike a channel router, it begins with a description of placed standard cells, usually packed together at minimum spacing, and places metal routes over the standard cells.

Qrouter uses the open standard LEF and DEF formats as file input and output. It takes the cell definitions from a LEF file, and analyzes the geometry for each cell to determine contact points and route obstructions. It then reads the cell placement, pin placement, and netlist from a DEF file, performs the detailed route, and writes an annotated DEF file as output.

verilator
fast free Verilog simulator
Versions of package verilator
ReleaseVersionArchitectures
sid5.020-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
bookworm5.006-3amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bullseye4.038-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
buster4.010-1amd64,arm64,armhf,i386
stretch3.900-1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
jessie3.864-1amd64,armel,armhf,i386
trixie5.020-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
upstream5.024
Debtags of package verilator:
fieldelectronics
interfacecommandline
roleprogram
usesimulating
Popcon: 45 users (7 upd.)*
Newer upstream!
License: DFSG free
Git

Verilator is the fastest free Verilog HDL simulator, and beats many commercial simulators. It compiles synthesizable Verilog (not test-bench code!), plus some PSL, SystemVerilog and Synthesis assertions into C++ or SystemC code. It is designed for large projects where fast simulation performance is of primary concern, and is especially well suited to generate executable models of CPUs for embedded software design teams.

yosys
Framework for Verilog RTL synthesis
Versions of package yosys
ReleaseVersionArchitectures
sid0.33-5amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64
experimental0.33-6~exp2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64
buster-backports0.9-1~bpo10+1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
bullseye0.9-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
stretch0.7-2+deb9u1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
stretch-backports0.8-1~bpo9+1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
buster0.8-1amd64,arm64,armhf,i386
bookworm0.23-6amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el
trixie0.33-5amd64,arm64,armel,armhf,i386,mips64el,ppc64el
upstream0.40
Popcon: 31 users (25 upd.)*
Newer upstream!
License: DFSG free
Git

This is a framework for Verilog RTL synthesis. It currently has extensive Verilog-2005 support and provides a basic set of synthesis algorithms for various application domains.

Yosys can be adapted to perform any synthesis job by combining the existing passes (algorithms) using synthesis scripts and adding additional passes as needed by extending the yosys C++ code base.

Registry entries: SciCrunch 
Screenshots of package yosys

Official Debian packages with lower relevance

alliance
VLSI CAD Tools
Versions of package alliance
ReleaseVersionArchitectures
jessie5.0-20120515-6amd64,armel,armhf,i386
buster5.1.1-3amd64,arm64,armhf,i386
stretch5.1.1-1.1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
Debtags of package alliance:
fieldelectronics
roleprogram
Popcon: 2 users (1 upd.)*
Versions and Archs
License: DFSG free

Alliance is a complete set of free CAD tools and portable libraries for VLSI design. It includes a VHDL compiler and simulator, logic synthesis tools, and automatic place and route tools.

A complete set of portable CMOS libraries is provided, including a RAM generator, a ROM generator and a data-path compiler.

Alliance is the result of more than ten years effort spent at ASIM department of LIP6 laboratory of the Pierre et Marie Curie University (Paris VI, France).

Alliance has been used for research projects such as the 875 000 transistors StaCS superscalar microprocessor and 400 000 transistors IEEE Gigabit HSL Router.

Alliance provides CAD tools covering most of all the digital design flow:

  • VHDL Compilation and Simulation
  • Model checking and formal proof
  • RTL and Logic synthesis
  • Data-Path compilation
  • Macro-cells generation
  • Place and route
  • Layout edition
  • Netlist extraction and verification
  • Design rules checking
gdsiiconvert
Convert GDSII geometries and report geometry statistics
Versions of package gdsiiconvert
ReleaseVersionArchitectures
bullseye0.2+ds.1-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
trixie0.2+ds.1-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
sid0.2+ds.1-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
bookworm0.2+ds.1-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
buster0.1+ds.1-1amd64,arm64,armhf,i386
Popcon: 5 users (1 upd.)*
Versions and Archs
License: DFSG free
Git

The command line tool can be used for reporting statistics on GDSII geometries and export them to other file formats, notably including the GMSH geometry format.

It is the "example application" for libGDSII which is a C++ library for working with GDSII binary data files.

This package also contains example GDSII files.

libgdsii-dev
Library for GDSII handling (development files)
Versions of package libgdsii-dev
ReleaseVersionArchitectures
buster0.1+ds.1-1amd64,arm64,armhf,i386
bullseye0.2+ds.1-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bookworm0.2+ds.1-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
trixie0.2+ds.1-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
sid0.2+ds.1-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
Popcon: 2 users (1 upd.)*
Versions and Archs
License: DFSG free
Git

This is a C++ library for working with GDSII binary data files, intended primarily for use with the computational electromagnetism codes scuff-em and meep but sufficiently general-purpose to allow other uses as well.

This package contains the development files for the library.

python3-gdspy
Python library for GDSII handling (Python 3)
Maintainer: Ruben Undheim
Versions of package python3-gdspy
ReleaseVersionArchitectures
bookworm1.4.2-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bullseye1.4.2-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
sid1.4.2-2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
buster1.3.1-3amd64,arm64,armhf,i386
trixie1.4.2-2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
upstream1.6.13
Popcon: 1 users (0 upd.)*
Newer upstream!
License: DFSG free
Git

Gdspy is a Python module for creating/importing/merging GDSII stream files. It includes key libraries for creating complex CAD layouts.

Features:

  • Boolean operations on polygons (AND, OR, NOT, XOR) based on clipping algorithm
  • Polygon offset (inward and outward rescaling of polygons)
  • Efficient point-in-polygon solutions for large array sets

This package installs the library for Python 3.

Packaging has started and developers might try the packaging code in VCS

coriolis
Open-Source Digital Synthesis Flow
Versions of package coriolis
ReleaseVersionArchitectures
VCS2.0.1+20190311git435b647-1all
Versions and Archs
License: GPL-3+
Debian package not available
Git
Version: 2.0.1+20190311git435b647-1

Coriolis is a set of tools for VLSI backend flow.

It's main features are:

  • An analytic placer Etesian (based on Coloquinte).
  • A router Katana for digital designs. An extension toward mixed design is currently under development.
  • Python fast prototyping capabilities and layout procedural description.
*Popularitycontest results: number of people who use this package regularly (number of people who upgraded this package recently) out of 237252