Skip to content

Latest commit

 

History

History
79 lines (57 loc) · 3.37 KB

README.md

File metadata and controls

79 lines (57 loc) · 3.37 KB

Embedded Storeroom

A collection of tools for embedded development. The main idea is to have clear what's the current list of useful development tools for embedded systems, since there are many it's difficult to know them all. Ideally a brief comment of what they do and how they interact tools too should be added, and a link. The tool should be run from the commandline or be a plugin of another tool that does! Libraries are listed here

If some tool is missing or you know how to improve any description, please contact!

SOFTWARE

Compilers

CNU GCC: C/C++ compiler https://gcc.gnu.org/
Clang: C/C++ compiler https://clang.llvm.org/

Debuggers and frontends

GDB: debugguer for GNU GCC https://www.gnu.org/software/gdb/
cdtdebug: eclipse CDT standalone debugger: https://wiki.eclipse.org/CDT/StandaloneDebugger
gdbwave: (TBD once I understand this advanced tool): https://github.com/tomverbeure/gdbwave

Simulators

Verilator: Verilog simulator https://www.veripool.org/verilator/
CXXRTL: Yosys simulation backend https://github.com/YosysHQ/yosys/tree/master/backends/cxxrtl
GHDL: simulator for VHDL http://ghdl.free.fr/
Icarus Verilog: imulation and synthesis http://iverilog.icarus.com/

Synthesis tools

Xilinx Vivado: https://www.xilinx.com/products/design-tools/vivado.html
Intel Quartus}: https://www.intel.la/content/www/xl/es/software/programmable/quartus-prime/overview.html

Place and route

NextPNR: Place and route https://github.com/YosysHQ/nextpnr
VtR: Verilog to routing: https://verilogtorouting.org/

HDLs

Verilog
VHDL
Chisel: https://www.chisel-lang.org/
SpinalHDL: https://github.com/SpinalHDL/SpinalHDL migen: https://m-labs.hk/gateware/migen/
Amaranth: https://github.com/amaranth-lang/amaranth
PipelineC: C-like HDL with autopipelining https://github.com/JulianKemmerer/PipelineC
CflexHDL: Experimental C-like HDL aimed to fast simulation: https://github.com/suarezvictor/CflexHDL
Silice: https://github.com/sylefeb
Wyre: https://github.com/nickmqb/wyre

SoC generators

LiteX: Based on migen, lots of interesting cores! https://github.com/enjoy-digital/litex

Formal tools

SymbiYosys (sby): formal hardware verification https://github.com/YosysHQ/sby

Testbench

mcy: (Yosys) testing testbenches coverage: https://github.com/YosysHQ/mcy

Bitstream generation / manipulation

altsyncram: Manipulate quartus MIF files https://tomverbeure.github.io/2021/04/25/Intel-FPGA-RAM-Bitstream-Patching.html

Software for embedded devices

Micropython: python for microcontrollers https://micropython.org/

Flashing tools

OpenOCD: Debugging and flash tool, interacts with GDB. https://openocd.org/
OpenFPGALoader: for FPGAs https://github.com/trabucayre/openFPGALoader

Waveform viewers/editors/generators

GTK: http://gtkwave.sourceforge.net/
Wavedron: Rendering and editor for the web https://wavedrom.com/

IDEs (only if supports embedded development)

IceStudio: IDE for FPGA development. Based on IceStorm/Apio https://icestudio.io/
Platform.io: https://platformio.org/
Eclipse CDT: https://www.eclipse.org/cdt/

HARDWARE

JTAG

RPi pico based dongles: https://github.com/phdussud/pico-dirtyJtag/