Home

Awesome

awesome-hwd-tools

A curated list of awesome open source hardware design tools with a focus on chip design.

For electronic hardware tools without a focus on chip design see:

https://github.com/kitspace/awesome-electronics

Inspired by awesome-python.

Semi Custom Design/ FPGAs

Nic30/hdlConverter - Python System-Verilog/VHDL Parser

christiklein/simpy - discrite event based simulation framework

chipmuenk/pyFDA - A python tool to design time discrete filters

efabless/openlane - Automated RTL to GDS flow based on openRoad, Yosys and more...

ahmed-agiza/EDAViewer - EDAV is a cloud-based open-source viewer for electronic design automation (EDA) design files (LEF, DEF)

Modelling

cornell-brg/pymtl3 - hardware modeling framework

mortbopet/VSRTL - Visual Simulation of Register Transfer Logic

Hardware Description Languages

freechipsproject/Chisel - Hardware Description Language embedded in Scala developed at UC Berkeley

phanrahan/Magma - A Hardware Description Language embedded in Python

llvm/circt - Intermediate representation for rtl (used by Chisel)

myhdl/MyHDL - Python as a Hardware Description and Verification Language

clash-lang/clash-compiler - A Hardware Description Language written and inspired by Haskell

A much more detailed and specific list for hardware description languages can be found at drom/awesome-hdl.

Wave Viewers

gtkwave - GTK based waveform viewer

wavedrom/wavedrom - Timing Diagrams in Java Script

Simulation

steveicarus/iverilog - Icarus Verilog Simulator

ghdl/ghdl - VHDL Simulator

Synthesis

YosysHQ/yosys - Synthesis Flow

Timing Analysis

abk-openroad/OpenSTA - static timing analysis

OpenTimer/OpenTimer - timing analysis tool for vlsi systems

Verification

YosysHQ/SymbiYosys - formal verification flow and tool

cocotb/cocotb - Creating Verilog/VHDL testbenches with python

Open Source PDK

leviathanch/libresiliconprocess - A 1um open process specification

google/skywater-pdk - Open Source Process SkyWater 130nm

Full Custom Design

heitzmann/gdsstk - Gdstk (GDSII Tool Kit) is a C++/Python library for creation and manipulation of GDSII and OASIS files.

unihd-cag/skillbridge - A seamless python to Cadence Virtuoso Skill interface

electronics-and-drives/SPAM - SPAM is a package management system for Cadence SKILL

electronics-and-drives/ml2tikz - Virtuoso layout to tikzpicture

MatthewLoveQUB/SKILL_Tools - Skill++ Tools including a test framework

EDDRSoftware/oaFileParser - oaFile Parser

scikit-rf/scikit-rf - RF and Microwave Design in scikit

mph-/lcapy - Lcapy is a Python package for linear circuit analysis. It uses SymPy for symbolic mathematics.

YosysHQ/PADRING - A padring generator for asics

DegateCommunity/Degate - Tool for VLSI reverse engineering

cap1tan/wafermap - A python package to plot maps of semiconductor wafers

Layout Generation/ Manipulation

ucb-art/BAG_framework - Berkeley Analog Generator

VLSIDA/OpenRAM - open-source SRAM Compiler

KLayout/klayout - scriptable Layout Viewer and Editor

Simulation

ngspice - Spice Simulator

FabriceSalvaire/pyspice - Simulating and creating Spice Circuits with Python

Mixed Signal Design

Isotel/mixedsim - A mixed signal simulation approach using ngspice and yosys providing a library mapping to spice

Documentation

SchemDraw - producing circuit diagrams with python