garden of eda

Discover open-source EDA tools

Buzzing This Week

simulator

logisim-evolution

logisim-evolution

Table of contents Features Requirements Downloads Package Manager Nightly builds (unstable) Pictures of Logisim-evolution More Information Bug reports & feature requests For developers How to contribute Credits

logisim evolutioneducationcircuit
7.1k GPL-3.0
hdl framework

chisel

chipsalliance

Chisel: A Modern Hardware Design Language

chiselchisel3scala
4.7k Apache-2.0
synthesis

yosys

YosysHQ

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

4.5k ISC
hdl framework

rocket-chip

chipsalliance

This repository contains the Rocket chip generator necessary to instantiate the RISC-V Rocket Core. For more information on Rocket Chip, please consult our technical report.

scalarocket chipchip generator
3.8k
simulator

verilator

verilator

Verilator open-source SystemVerilog simulator and lint system

verilogsystem verilogverilog simulator
3.6k
simulator

iverilog

steveicarus

1. What is ICARUS Verilog? 2. Building/Installing Icarus Verilog From Source - Compile Time Prerequisites - Compilation - (Optional) Testing - Installation 3. How Icarus Verilog Works - Preprocessing - Parse - Elaboration - Optimization - Code Generation - Attributes 4.

3.5k GPL-2.0
simulator

ghdl

ghdl

This directory contains the sources of GHDL, the open-source analyzer, compiler, simulator and (experimental) synthesizer for VHDL, a Hardware Description Language (HDL).

vhdlghdlsimulator
2.8k GPL-2.0
full flow

OpenROAD

The-OpenROAD-Project

OpenROAD's unified application implementing an RTL-to-GDS Flow. Documentation at https://openroad.readthedocs.io/en/latest/

opendb databaseopenroadlef
2.7k BSD-3-Clause
testbench

cocotb

cocotb

cocotb: Python-based chip (RTL) verification

pythonvhdlverilog
2.4k BSD-3-Clause
hdl framework

chipyard

ucb-bar

An Agile RISC-V SoC Design Framework with in-order cores, out-of-order cores, accelerators, and more

rocket chipchip generatorchisel
2.3k BSD-3-Clause
hdl framework

riscv-boom

riscv-boom

SonicBOOM: The Berkeley Out-of-Order Machine

riscvboomchisel
2.2k BSD-3-Clause
hdl framework

amaranth

amaranth-lang

A modern hardware definition language and toolchain based on Python

fpgahdlamaranth hdl
2.0k BSD-2-Clause
hdl framework

SpinalHDL

SpinalHDL

- A language to describe digital hardware - Compatible with EDA tools, as it generates VHDL/Verilog files - Much more powerful than VHDL, Verilog, and SystemVerilog in its syntax and features - Much less verbose than VHDL, Verilog, and SystemVerilog - Not an HLS, nor based on…

scalartlvhdl
2.0k
linting

verible

chipsalliance

Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, formatter and language server

systemveriloglexeryacc
1.9k
full flow

OpenLane

The-OpenROAD-Project

OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen and custom methodology scripts for design exploration and optimization.

asic130nmmagic
1.8k Apache-2.0
place and route

nextpnr

YosysHQ

nextpnr portable FPGA place and route tool

1.7k ISC
hls

xls

google

Docs | Quick Start [](https://bit.ly/learn-xls) | Tutorials

compilerhigh level synthesishls
1.5k Apache-2.0
build tool

fusesoc

olofk

Package manager and build abstraction tool for FPGA/ASIC development

pythonedareuse
1.4k BSD-2-Clause
testbench

wireguard-fpga

chili-chips-ba

Full-throttle, wire-speed hardware implementation of Wireguard VPN, using low-cost Artix7 FPGA with opensource toolchain. If you seek security and privacy, nothing is private in our codebase. Our door is wide open for backdoor scrutiny, be it related to RTL, embedded, build, bitstream or any other aspect of design and delivery package. Bujrum!

cocotbembeddedfpga
1.3k BSD-3-Clause
uncategorized

VeriGPU

hughperkins

OpenSource GPU, in Verilog, loosely based on RISC-V ISA

verilogrisc vrisc v assembly
1.3k MIT
full flow

vtr-verilog-to-routing

verilog-to-routing

Verilog to Routing -- Open Source CAD Flow for FPGA Research

vtrfpgacad
1.2k
synthesis

abc

berkeley-abc

ABC: System for Sequential Logic Synthesis and Formal Verification

Berkeley ABC — the canonical logic synthesis and verification engine; the optimization backbone for many open-source synth flows including Yosys.

1.2k
simulator

metroboy

aappleby

A repository of gate-level simulators and tools for the original Game Boy.

veriloggameboygameboy emulator
1.2k
synthesis

siliconcompiler

siliconcompiler

SiliconCompiler is a modular hardware build system ("make for silicon"). The project philosophy is to "make the complex possible while keeping the simple simple".

asiccmoseda
1.2k Apache-2.0
waveform viewer

gtkwave

gtkwave

GTKWave is a fully featured GTK+ based wave viewer for Unix and Win32 which reads LXT, LXT2, VZT, FST, and GHW files as well as standard Verilog VCD/EVCD files and allows their viewing.

fstghwvcd
978 GPL-2.0
hdl framework

veryl

veryl-lang

Veryl: A Modern Hardware Description Language

rtlrustsystemverilog

A modern hardware description language.

944
simulator

nvc

nickg

NVC supports almost all of VHDL-2008 with the exception of PSL, and it has been successfully used to simulate several real-world designs. Experimental support for Verilog and VHDL-2019 is under development.

vhdlsimulatorcompiler
831 GPL-3.0
build tool

edalize

olofk

An abstraction library for interfacing EDA tools

edafpgafossi
770 BSD-2-Clause
hls

PipelineC

JulianKemmerer

A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.

fpgahardware description languagevhdl
720 GPL-3.0
static timing

OpenTimer

OpenTimer

A High-performance Timing Analysis Tool for VLSI Systems

static timing analysisstavlsi
698
simulator

riscv_vhdl

sergeykhbr

Portable RISC-V System-on-Chip implementation: RTL, debugger and simulators

riscvsocvhdl
687 Apache-2.0
full flow

OpenROAD-flow-scripts

The-OpenROAD-Project

OpenROAD's scripts implementing an RTL-to-GDS Flow. Documentation at https://openroad-flow-scripts.readthedocs.io/en/latest/

edartltcl
644
formal verification

awesome-open-hardware-verification

ben-marshall

A List of Free and Open Source Hardware Verification Tools and Frameworks

hardwareverificationvhdl
607 MIT
hls

calyx

calyxir

Intermediate Language (IL) for Hardware Accelerator Generators

high level synthesisfpga programmingopen source hardware
597 MIT
hls

dace

spcl

DaCe - Data Centric Parallel Programming

high performance computingprogramming languagecuda
583 BSD-3-Clause
uncategorized

qkeras

google

QKeras: a quantization deep learning library for Tensorflow Keras

deep learningquantizationquantized neural networks
582 Apache-2.0
static timing

OpenSTA

The-OpenROAD-Project

OpenSTA is a gate level static timing verifier. As a stand-alone executable it can be used to verify the timing of a design using standard file formats.

582 GPL-3.0
formal verification

sby

YosysHQ

SymbiYosys (sby) -- Front-end for Yosys-based formal verification flows

514
linting

sv-parser

dalance

SystemVerilog parser library fully compliant with IEEE 1800-2017

rustrust crateverilog

SystemVerilog IEEE 1800-2017 parser library; foundation for svlint and other tools.

472
hdl framework

surf

slaclab

A huge VHDL library for FPGA and digital ASIC development

asicfirmwarefpga
463
uncategorized

rggen

rggen

Code generation tool for control and status registers

verilogsystemveriloguvm
461 MIT
uncategorized

async_fifo

dpretet

A dual clock asynchronous FIFO written in verilog, tested with Icarus Verilog

verilogverificationverilog hdl
454
hdl framework

pymtl3

pymtl

Pymtl 3 (Mamba), an open-source Python-based hardware generation, simulation, and verification framework

pymtlhardware generationpython
453 BSD-3-Clause
full flow

f4pga

chipsalliance

This is the top-level repository for the F4PGA project, which is a Workgroup under the CHIPS Alliance; consisting of members from different backgrounds, including FPGA vendors, industrial users and academia (see Documentation > Community); who collaborate to build a more open…

symbiflowsphinxdocumentation
438 Apache-2.0
testbench

HOLY_CORE_COURSE

0BAB1

Learn how to build our own RV32I(M) core, verify it and actually use it. From scratch & with more than 200 pages of detailed tutorial with schemes & explanation.

cocotbfpgahardware
431
uncategorized

librelane

librelane

ASIC implementation flow infrastructure, successor to OpenLane

asicasic designchip design
421 Apache-2.0
full flow

caravel

efabless

Caravel is a standard SoC template with on chip resources to control and read/write operations from a user-dedicated space.

magicyosyscaravel
393 Apache-2.0
hls

gemm_hls

spcl

Scalable systolic array-based matrix-matrix multiplication implemented in Vivado HLS for Xilinx FPGAs.

hlshigh level synthesisvivado hls
385 BSD-3-Clause
linting

svlint

dalance

SystemVerilog linter compliant with IEEE1800-2017. Written in Rust, based on sv-parser. Svlint is also integrated with most text editors via svls.

rustverilogsystemverilog
383 MIT
hls

allo

cornell-zhang

Allo Accelerator Design and Programming Framework (PLDI'24)

compilerdslfpga
382 Apache-2.0
simulator

forth-cpu

howerj

A Forth CPU and System on a Chip, based on the J1, written in VHDL

vhdlforthsimulator
375
hls

nngen

NNgen

NNgen: A Fully-Customizable Hardware Synthesis Compiler for Deep Neural Network

neural networkhigh level synthesishardware
366 Apache-2.0
full flow

openlane2

chipfoundry

The next generation of OpenLane, rewritten from scratch with a modular architecture

asicdrceda
351 Apache-2.0
hls

hlslib

definelicht

A collection of extensions for Vitis and Intel FPGA OpenCL to improve developer quality of life.

vivado hlssdaccelcmake
341 BSD-3-Clause
build tool

VeeRwolf

chipsalliance

VeeRwolf is a FuseSoC-based reference platform for the VeeR family of RISC-V cores. Currently, VeeR EH1 and VeeR EL2 are supported. See CPU configuration to learn how to switch between them.

toolsfusesocswerv
341
waveform viewer

vaporview

Lramseyer

Vaporview is an open source waveform viewer extension for VScode.

design verificationhardware simulationlogic analyzer
339 AGPL-3.0
hls

heterocl

cornell-zhang

HeteroCL: A Multi-Paradigm Programming Infrastructure for Software-Defined Heterogeneous Computing (FPGA'19 Best Paper)

fpgadslpython
339 Apache-2.0
build tool

Cores-VeeR-EL2

chipsalliance

This repository contains the VeeR EL2 RISC-V Core design RTL.

el2verilatorwestern digital
339 Apache-2.0
hls

PandA-bambu

ferrandi

The primary objective of the PandA project is to develop a usable framework that will enable the research of new ideas in the HW-SW Co-Design field.

high level synthesishw acceleratorsfpga
333 GPL-3.0
hls

veriloggen

PyHDI

Veriloggen: A Mixed-Paradigm Hardware Construction Framework

verilog hdlpythonpyverilog
325 Apache-2.0
hdl framework

f4pga-arch-defs

f4pga

FOSS architecture definitions of FPGA hardware useful for doing PnR device generation.

fpgaice40sphinx
306 ISC
hdl framework

PyRTL

UCSBarchlab

A collection of classes providing simple hardware specification, simulation, tracing, and testing suitable for teaching and research. Simplicity, usability, clarity, and extensibility are the overarching goals, rather than performance or optimization.

pyrtlpythonhdl
301 BSD-3-Clause
uncategorized

systemrdl-compiler

SystemRDL

SystemRDL 2.0 language compiler front-end

systemrdl compilerhardware description languageasic
279 MIT
hdl framework

raster-i

raster-gpu

A 3D FPGA GPU for real-time rasterization with a tile-based deferred rendering (TBDR) architecture, featuring transform & lighting (T&L), back-face culling, MSAA anti-aliasing, ordered dithering, etc.

fpgagpuchisel
263 MIT
testbench

OSVVM

OSVVM

OSVVM Utility Library: AlertLogPkg, CoveragePkg, RandomPkg, ScoreboardGenericPkg, MemoryPkg, TbUtilPkg, TranscriptPkg, ...

verification methodologiestestbenchcoverage

Open Source VHDL Verification Methodology — a transaction-based verification library widely used in VHDL testbenches.

259
uncategorized

kactus2dev

kactus2

Kactus2 is a graphical EDA tool based on the IP-XACT standard.

ip xactedareuse
255 GPL-2.0
testbench

eurorack-pmod

apfaudio

A eurorack-friendly audio frontend compatible with many FPGA boards, based on the AK4619VN audio CODEC.

electronicseurorackfpga
233
uncategorized

axi-crossbar

dpretet

Parametric AXI4 crossbar in SystemVerilog

axi4axi4 liteaxi4 protocol
231 MIT
hdl framework

constellation

ucb-bar

A Chisel RTL generator for network-on-chip interconnects

chiselhardwareinterconnect
230 BSD-3-Clause
simulator

hwt

Nic30

VHDL/Verilog/SystemC code generator, simulator API written in python/c++

verilogvhdlfpga
225 MIT
hdl framework

hdl_checker

suoto

Repurposing existing HDL tools to help writing better code

vhdlmodelsimxilinx
221 GPL-3.0
uncategorized

open-register-design-tool

Juniper

Tool to generate register RTL, models, and docs using SystemRDL or JSpec input

systemrdljspeceda
207 Apache-2.0
synthesis

lstools-showcase

lsils

Showcase examples for EPFL logic synthesis libraries

logic synthesisexamples
206 MIT
uncategorized

hdl-modules

hdl-modules

A collection of reusable, high-quality, peer-reviewed VHDL building blocks.

alteraamdasic
206 BSD-3-Clause
uncategorized

PeakRDL

SystemRDL

Control and status register code generator toolchain

asicfpgaeda
196 LGPL-3.0
hdl framework

essent

ucsc-vama

Looking for RepCut, the parallelized version? Please check the repcut branch!

firrtlrtlchisel
193
uncategorized

openasip

cpc

Open Application-Specific Instruction Set processor tools (OpenASIP)

asic designfpgahardware accelerators
185
waveform viewer

wal

ics-jku

WAL enables programmable waveform analysis.

edahardwarertl

Wave Analysis Language — a programmable DSL for inspecting and querying waveforms.

180 BSD-3-Clause
waveform viewer

surfer

surfer-project

surfer — no description available.

Modern Rust-based waveform viewer. Lives on GitLab.

180 European Union Public License 1.2
uncategorized

universal_NPU-CNN_accelerator

thousrm

hardware design of universal NPU(CNN accelerator) for various convolution neural network

cnnhardware designnpu
172 MIT
hls

CHARM

arc-research-lab

CHARM: Composing Heterogeneous Accelerators on Heterogeneous SoC Architecture

deeplearningfpgaheterogeneous computing
171 MIT
hdl framework

fomu-workshop

im-tomu

Support files for participating in a Fomu workshop

fomufomu workshopvhdl
169 Apache-2.0
uncategorized

DFFRAM

AUCOHL

Standard Cell Library based Memory Compiler using FF/Latch cells

verilogvlsivlsi physical design
168 Apache-2.0
hdl framework

chiselverify

chiselverify

A dynamic verification library for Chisel.

scalaverificationcoverage
162 BSD-2-Clause
uncategorized

ice-chips-verilog

TimRudy

IceChips is a library of all common discrete logic devices in Verilog

7400verilog componentseda
155 GPL-3.0
uncategorized

verilog-generator

Eriemon

Agent skill for Verilog-2001 RTL generation and FPGA design workflows.

agent skillcodex skilleda
153 Apache-2.0
hls

dahlia

cucapra

Time-sensitive affine types for predictable hardware generation

high level synthesisfpga programmingopen source hardware
152 MIT
synthesis

OpenABC

NYU-MLDA

OpenABC-D is a large-scale labeled dataset generated by synthesizing open source hardware IPs. This dataset can be used for various graph level prediction problems in chip design.

electronics designlogic synthesisgraph machine learning
149 BSD-3-Clause
uncategorized

vpm

getinstachip

VPM is a powerful package manager for Verilog projects, currently being piloted at Stanford and UC Berkeley. It's designed to streamline the management, reuse, and communication of IP cores and dependencies in hardware design workflows, significantly accelerating your design…

asicclieda
146 MIT
hdl framework

pygears

bogdanvuk

PyGears is a free framework that lets you design hardware using high-level Python constructs and compile it to synthesizable SystemVerilog or Verilog code. There is a built-in simulator that lets you use arbitrary Python code with its vast set of libraries to verify your…

hardwaredesignpython
145 MIT
testbench

pyvsc

fvutils

Python packages providing a library for Verification Stimulus and Coverage

verification stimuluscoverageconstraints
145 Apache-2.0
uncategorized

naja

najaeda

Netlist API (and more) for EDA flow development

netlistedasemiconductor
138 Apache-2.0
hdl framework

FPGA-Application-Development-and-Simulation

loykylewong

《FPGA应用开发和仿真》(机械工业出版社2018年第1版 ISBN:9787111582786)的源码。Source Code of the book FPGA Application Development and Simulation(CHS).

fpgaverilogsystemverilog
136 MIT
hdl framework

fpga-tidbits

maltanar

A collection of Chisel hardware generators for small but useful components for FPGA projects.

fpgachiselhardware libraries
129 BSD-2-Clause
testbench

cocotb-coverage

mciepluc

Functional Coverage and Constrained Randomization Extensions for Cocotb

cocotbmdvverification
126 BSD-2-Clause
uncategorized

cgra4ml

KastnerRG

An Open Workflow to Build Custom SoCs and run Deep Models at the Edge

aiaxi streamcnn
118 Apache-2.0
hdl framework

HDLGen

WilsonChen003

HDLGen is an HDL generation tool, supporting embedded Perl or Python script, reduce manual work & improve effiency with a few embedded functions, with ZERO learning-curve

automationhdlperl
114
uncategorized

spydrnet

byuccl

A flexible framework for analyzing and transforming FPGA netlists. Official repository.

edacadcircuit
114 BSD-3-Clause
synthesis

LSOracle

lnis-uofu

The Logic Synthesis oracle is a framework developed on the top of EPFL logic synthesis libraries to unlock efficient logic manipulation by using different logic optimizers.To do so, the flow splits a design into different partitions and selects different optimizers for different…

logic synthesis
112 MIT
full flow

toolchain-installer

openXC7

Convenience script to install the nextpnr-xilinx toolchain for Kintex7, Artix7, Spartan7 and Zynq7

fpgainstallertoolchain

Open-source FPGA toolchain for AMD/Xilinx 7-series (Artix7, Kintex7, Spartan7, Zynq7) — bundles yosys + nextpnr-xilinx.

111 BSD-3-Clause
hls

polyphony

polyphony-dev

Polyphony is Python based High-Level Synthesis compiler.

pythonfpgahigh level synthesis
110 MIT
hdl framework

chiselv

carlosedp

A RISC-V Core (RV32I) written in Chisel HDL

riscvfpgacore
108 MIT
testbench

10g-low-latency-ethernet

ttchisholm

For more information, refer to my blog series for this project - Designing a Low Latency 10G Ethernet Core - Part 1 (Introduction)

cocotbethernetfpga
108 MIT
formal verification

rIC3

gipsyh

LLM-Assisted Hardware Formal Verification Tool

ic3model checkingformal verification
105 GPL-3.0
hdl framework

spade

spade-lang

A better hardware description language.

FPGAHDLhacktoberfest

Spade HDL — a modern hardware description language with a focus on ergonomics. Lives on GitLab.

105 MIT License
hls

HiSparse

cornell-zhang

High-Performance Sparse Linear Algebra on HBM-Equipped FPGAs Using HLS

fpga programminghigh level synthesisopen source hardware
101 BSD-3-Clause
hls

vericert

ymherklotz

A formally verified high-level synthesis tool based on CompCert and written in Coq.

high level synthesiscoq
98 GPL-3.0
synthesis

fiction

cda-tum

An open-source design automation framework for Field-coupled Nanotechnologies

emerging technanocomputingfcn
91 MIT
synthesis

also

nbulsi

ALSO is based on the EPFL Logic Synthesis Libraries, we aim to exploit advanced logic synthesis tools for both modern FPGA and emerging nanotechnologies.

logic synthesismajority based boolean function
88 MIT
simulator

issie

tomcl

Issie - an intuitive cross-platform hardware design application. https://tomcl.github.io/issie

digitallogiceditor
88 GPL-3.0
uncategorized

hdl-registers

hdl-registers

An open-source HDL register code generator fast enough to run in real time.

asicaxieda
88 BSD-3-Clause
synthesis

aigverse

marcelwa

A Python library for working with logic networks, synthesis, and optimization.

aigaigermachine learning
84 MIT
uncategorized

yosys-f4pga-plugins

chipsalliance

Plugins for Yosys developed as part of the F4PGA project.

yosysyosys plugineda
84 Apache-2.0
waveform viewer

fliplot

raczben

HTML based waveform viewer for HDL simulators.

vcdwaveformwaveform viewer
81 Apache-2.0
simulator

svut

dpretet

SVUT is a simple framework to create Verilog/SystemVerilog unit tests. Just focus on your tests!

verilogsystemverilogtdd
80 MIT
testbench

cocotb-bus

cocotb

Pre-packaged testbenching tools and reusable bus interfaces for cocotb

testbenchbusinterface
78
synthesis

workcraft

workcraft

Toolset to capture, simulate, synthesize and verify graph models

cadedaformal specification
77 MIT
testbench

cocotb-vivado

themperek

Limited python / cocotb interface to Xilinx/AMD Vivado simulator.

cocotbpythonsimulation
76 Apache-2.0
simulator

vga-playground

TinyTapeout

Playground for VGA projects on Tiny Tapeout

hdlsimulationsimulator
75 GPL-3.0
testbench

RTLStructLib

Weiyet

Highly optimized (trying my best), synthesizable data structures module/IP library for hardware design

cocotbdata structuresrtl
68 MIT
synthesis

OpenPhySyn

scale-lab

OpenPhySyn is a physical synthesis optimization kit developed at Brown University SCALE lab as part of the OpenROAD flow.

physical synthesislogic synthesisphysical design
67 BSD-3-Clause
synthesis

kitty

lsils

kitty is a C++-17 truth table library. It provides efficient implementations for basic truth table manipulations and various algorithms.

logic synthesisboolean functionalgorithms
66 MIT
full flow

piel

daquintero

Photonic Integrated ELectronics. Microservices to codesign photonics, electronics, quantum, and more.

gdsfactoryopenroadcodesign
62 MIT
uncategorized

PeakRDL-html

SystemRDL

Generate address space documentation HTML from compiled SystemRDL input

asicfpgaeda
62 LGPL-3.0
uncategorized

PeakRDL-uvm

SystemRDL

Generate UVM register model from compiled SystemRDL input

uvm register modeluvm ral modelasic
61 LGPL-3.0
waveform viewer

tywaves-chisel

rameloni

A repository that implements Tywaves: enabling a type-based waveform debugging for Chisel and Tydi-Chisel. Mapping from Chisel level code to values dumped by simulators is now possible thanks to Tywaves!

chiselchisel3simulator
59 Apache-2.0
synthesis

my-verilog-examples

JeffDeCola

A place to keep my synthesizable verilog examples.

systemveriloggtkwaveiverilog
55 MIT
uncategorized

vivado-mcp

mapleleavessssssss-wq

Vivado MCP Server — AI 驱动的 FPGA 开发助手,自动诊断 CRITICAL WARNING 并给出修复建议

claudeedafpga
51 Apache-2.0
build tool

Hog

Hog-CERN

Coordinating firmware development among many international collaborators is becoming a very widespread problem.

Place and Route reproducibility and guaranteeing traceability of binary files

50 Apache-2.0