Skip to content
UPEEC

Hardware Description Languages and HDL Frameworks

The languages and generators used to describe hardware — from Verilog and VHDL to Python and Scala-based tools. Verilog and VHDL have their own pages earlier in this subject.

Advanced
Comments 0

This is an overview — pick a sub-topic below.

Sub-topics (14)

SystemVerilog

Verilog's superset (IEEE 1800) for design and verification: `logic`, `always_ff`/`always_comb`, interfaces, packages, classes, constraints and assertions.

Intermediate♥ 0🔖 0💬 0

VHDL-AMS

VHDL extended for analog and mixed-signal modelling (IEEE 1076.1).

Expert♥ 0🔖 0💬 0

SystemC

A C++ library for system-level modelling and simulation of hardware (IEEE 1666).

Advanced♥ 0🔖 0💬 0

Bluespec SystemVerilog

A high-level HDL based on guarded atomic rules; the compiler generates scheduling logic.

Expert♥ 0🔖 0💬 0

Chisel

A hardware construction language embedded in Scala that generates Verilog.

Advanced♥ 0🔖 0💬 0

SpinalHDL

A Scala-based HDL generating VHDL/Verilog, with built-in clock-domain safety checks.

Advanced♥ 0🔖 0💬 0

Amaranth HDL

A Python-based HDL (formerly nMigen) with a clean syntax and simulator.

Advanced♥ 0🔖 0💬 0

MyHDL

Write and simulate hardware in Python, then convert to Verilog/VHDL.

Advanced♥ 0🔖 0💬 0

Migen and nMigen

Python toolboxes for building hardware; Migen underlies LiteX SoC builder, nMigen became Amaranth.

Advanced♥ 0🔖 0💬 0

PyRTL

A simple Python RTL framework designed for teaching and research.

Intermediate♥ 0🔖 0💬 0

Clash

A Haskell-based functional HDL compiling to VHDL/Verilog.

Expert♥ 0🔖 0💬 0

Lava

An early family of Haskell-embedded hardware description libraries.

Expert♥ 0🔖 0💬 0

TL-Verilog

Transaction-Level Verilog: describes pipelines with timing abstraction; Makerchip runs it in the browser.

Advanced♥ 0🔖 0💬 0

e Language and Specman

A verification language (IEEE 1647) for constrained-random testbenches, run by Cadence Specman.

Expert♥ 0🔖 0💬 0

Spotted a mistake or want to add detail? Suggest an improvement — Content Contributors' edits are reviewed by editors before they go live.

Discussion (0)

Sign in or join free to ask questions and discuss this topic.