Debian Electronics Project
Summary
Digital design
Debian packages for digital design

This metapackage will install Debian packages for digital simulation and design

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 Digital design packages

Official Debian packages with high relevance

arachne-pnr
Place and route tool for iCE40 family FPGAs
Versions of package arachne-pnr
ReleaseVersionArchitectures
stretch0.1+20160813git52e69ed-1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
bookworm0.1+20190728gitc40fb22-3amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
trixie0.1+20190728gitc40fb22-3amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
sid0.1+20190728gitc40fb22-3amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
buster0.1+20180909git840bdfd-1amd64,arm64,armhf,i386
bullseye0.1+20190728gitc40fb22-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
Popcon: 11 users (4 upd.)*
Versions and Archs
License: DFSG free
Git

Arachne-pnr implements the place and route step of the hardware compilation process for FPGAs. It accepts as input a technology-mapped netlist in BLIF format, as output by the Yosys synthesis suite for example. It currently targets the Lattice Semiconductor iCE40 family of FPGAs. Its output is a textual bitstream representation for assembly by the IceStorm icepack command. The output of icepack is a binary bitstream which can be uploaded to a hardware device.

Together, Yosys, arachne-pnr and IceStorm provide an fully open-source Verilog-to-bistream tool chain for iCE40 1K and 8K FPGA development.

The authors of arachne-pnr have now prepared its successor 'nextpnr'.

covered
Verilog code coverage analysis tool
Versions of package covered
ReleaseVersionArchitectures
stretch0.7.10-3amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
jessie0.7.10-2amd64,armel,armhf,i386
sid0.7.10-4amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
bullseye0.7.10-3.1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
buster0.7.10-3amd64,arm64,armhf,i386
Debtags of package covered:
fieldelectronics
interfacecommandline, x11
roleprogram
uitoolkittk
useviewing
x11application
Popcon: 8 users (0 upd.)*
Versions and Archs
License: DFSG free
Git

Covered is a Verilog code coverage utility that reads in a Verilog design and a generated VCD/LXT dumpfile from that design and generates a coverage file that can be merged with other coverage files or used to create a coverage report. Covered also contains the GUI coverage report utility that reads in a coverage file to allow interactive coverage discovery. Areas of coverage measured by Covered are: line, toggle, memory, combinational logic, FSM state/state-transition and assertion coverage.

drawtiming
tool for documenting hardware designs through timing diagrams
Versions of package drawtiming
ReleaseVersionArchitectures
jessie0.7.1-6amd64,armel,armhf,i386
stretch0.7.1-6amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
buster0.7.1-7amd64,arm64,armhf,i386
bullseye0.7.1-7amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
trixie0.7.1-10amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
sid0.7.1-10amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
Debtags of package drawtiming:
fieldelectronics
interfacecommandline
roleprogram
scopeutility
useediting
works-withimage
Popcon: 9 users (4 upd.)*
Versions and Archs
License: DFSG free
Git

Drawtiming is a command-line tool for documenting hardware designs through timing diagrams. In inputs textual signal descriptions and outputs image timing diagrams in many possible formats.

ghdl
VHDL compiler/simulator
Versions of package ghdl
ReleaseVersionArchitectures
sid2.0.0+dfsg-6.2arm64
bookworm2.0.0+dfsg-6.2amd64,arm64,armel,i386,mips64el,mipsel,ppc64el
buster0.35+git20181129+dfsg-3amd64,arm64,armhf,i386
bullseye1.0.0+dfsg-3amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
sid3.0.0+dfsg2-1amd64,i386,mips64el,ppc64el
sid3.0.0+dfsg-1armel
upstream4.1.0
Debtags of package ghdl:
develcompiler
fieldelectronics
hardwareemulation
interfacecommandline
roleprogram
scopeutility
works-withsoftware:source
Popcon: 1 users (0 upd.)*
Newer upstream!
License: DFSG free
Git

GHDL is a compiler and simulator for VHDL, a Hardware Description Language. GHDL is not an interpreter: it allows you to analyse and elaborate sources to generate machine code from your design. Native program execution is the only way for high speed simulation.

GHDL offers three machine code generation backends: one based on GCC, one using the LLVM compiler suite and a GHDL specific one called mcode. These are available in the ghdl-gcc, ghdl-llvm and ghdl-mcode packages respectively. Both the GCC and LLVM backends create highly optimized code for excellent simulation performance while simulations compiled with the GCC backend also allow coverage testing using gcov. The mcode backend creates less performant code but makes up for it with much faster compilation. It is therefore preferable for smaller projects without large or long running simulations.

Multiple backends can be installed at the same time and selected by either invoking the desired GHDL directly (as ghdl-gcc, ghdl-llvm or ghdl-mcode) or by providing a GHDL_BACKEND environment variable (containing gcc, llvm or mcode) while invoking ghdl.

This package is a dependency package that will make sure at least one backend is installed.

gtkwave
VCD (Value Change Dump) file waveform viewer
Versions of package gtkwave
ReleaseVersionArchitectures
buster-security3.3.98+really3.3.118-0+deb10u1amd64,arm64,armhf,i386
sid3.3.118-0.1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
buster3.3.98-1amd64,arm64,armhf,i386
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
stretch3.3.79-1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
jessie3.3.62-1amd64,armel,armhf,i386
bullseye3.3.104-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
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
irsim
Switch-level simulator
Versions of package irsim
ReleaseVersionArchitectures
stretch9.7.93-1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
bullseye9.7.104-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
trixie9.7.104-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
sid9.7.104-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
buster9.7.101-1amd64,arm64,armhf,i386
jessie9.7.87-1amd64,armel,armhf,i386
upstream9.7.118
Debtags of package irsim:
fieldelectronics
roleprogram
usesimulating
Popcon: 7 users (0 upd.)*
Newer upstream!
License: DFSG free
Git

IRSIM is a tool for simulating digital circuits. It is a "switch-level" simulator; that is, it treats transistors as ideal switches. Extracted capacitance and lumped resistance values are used to make the switch a little bit more realistic than the ideal, using the RC time constants to predict the relative timing of events.

iverilog
Icarus verilog compiler
Versions of package iverilog
ReleaseVersionArchitectures
sid12.0-2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
jessie0.9.7-1amd64,armel,armhf,i386
stretch10.1-0.1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
buster10.2-1.1amd64,arm64,armhf,i386
bullseye11.0-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bookworm11.0-1.1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
trixie12.0-2amd64,arm64,armel,armhf,i386,mips64el,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).

python3-myhdl
Hardware description language for Python (Python 3)
Versions of package python3-myhdl
ReleaseVersionArchitectures
buster0.10-2all
sid0.11-1all
Popcon: 5 users (0 upd.)*
Versions and Archs
License: DFSG free
Git

MyHDL turns Python into a hardware description and verification language, providing hardware engineers with the power of the Python ecosystem.

Python can then be used as an event-driven simulator using Python decorators actively to specify what corresponds to 'processes' in Verilog / VHDL and thereby achieve concurrency.

This package installs the library for Python 3.

qrouter
Multi-level, over-the-cell maze router
Versions of package qrouter
ReleaseVersionArchitectures
stretch1.3.57-1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
jessie1.3.3-1amd64,armel,armhf,i386
sid1.4.71-2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
bookworm1.4.71-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bullseye1.4.71-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
buster1.3.108-1amd64,arm64,armhf,i386
stretch-backports1.3.106-1~bpo9+1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
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.

simulide
simple real time electronic circuit simulator
Maintainer: Milan Kupcevic
Versions of package simulide
ReleaseVersionArchitectures
sid1.1.0.1912+dfsg-4amd64,i386
bookworm0.1.7+dfsg-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bullseye0.1.7+dfsg-2amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
buster0.1.7+dfsg-2amd64,arm64,armhf,i386
trixie1.1.0.1912+dfsg-4amd64,i386
upstream1.1.0.1938
Popcon: 48 users (32 upd.)*
Newer upstream!
License: DFSG free
Git

Simulide is a real time electronic circuit simulator intended for hobbist and student experimentation with simple general purpose electronic circuits and PIC, AVR and Arduino microcontroller simulations.

Screenshots of package simulide
verilator
fast free Verilog simulator
Versions of package verilator
ReleaseVersionArchitectures
bullseye4.038-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
bookworm5.006-3amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
trixie5.020-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,s390x
sid5.020-1amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64,s390x
jessie3.864-1amd64,armel,armhf,i386
stretch3.900-1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
buster4.010-1amd64,arm64,armhf,i386
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
stretch0.7-2+deb9u1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
sid0.33-5amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64
trixie0.33-5amd64,arm64,armel,armhf,i386,mips64el,ppc64el
bookworm0.23-6amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el
experimental0.33-6~exp2amd64,arm64,armel,armhf,i386,mips64el,ppc64el,riscv64
bullseye0.9-1amd64,arm64,armel,armhf,i386,mips64el,mipsel,ppc64el,s390x
buster-backports0.9-1~bpo10+1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
buster0.8-1amd64,arm64,armhf,i386
stretch-backports0.8-1~bpo9+1amd64,arm64,armel,armhf,i386,mips,mips64el,mipsel,ppc64el,s390x
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
*Popularitycontest results: number of people who use this package regularly (number of people who upgraded this package recently) out of 237252