Choice of Python HDL library

This page summarizes the projects mentioned and recommended in the original post on /r/FPGA

Our great sponsors
  • Sonar - Write Clean Python Code. Always.
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • hVHDL_example_project

    An example project which uses many of the ideas and features of the hVHDL libraries like fixed and floating point math modules and has build scripts for most common FPGAs

  • migen

    A Python toolbox for building complex digital hardware

    I also happen to really believe in RTL design using high-level languages to enable software design techniques such as object orientation. My master's thesis was written entirely in Migen and I think it served me extremely well.

  • Sonar

    Write Clean Python Code. Always.. Sonar helps you commit clean code every time. With over 225 unique rules to find Python bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • litex

    Build your hardware, easily!

    While I think Migen is a really nice library, it's also a pretty dead project, since the main people behind it moved over to Amaranth. It has one large upside in the fact Litex still uses it as the backend and they seem on the fence between moving over to Amaranth or rolling their own HDL library. For me Litex feels very important, but at the same time, my focus is on compute kernels and not some complicated NOCs.

  • myhdl

    The MyHDL development repository


  • pymtl3

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


  • hVHDL_floating_point

    high level VHDL floating point library for synthesis in fpga

    The file has 86 lines, but this functionality could be implemented with just 10 lines of code by using a procedure call to create_first_order_filter which can is defined here

  • rohd

    The Rapid Open Hardware Development (ROHD) framework is a framework for describing and verifying hardware in the Dart programming language.

    Check out ROHD:

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • magma

    magma circuits (by phanrahan)

  • hVHDL_fixed_point

    VHDL library of high abstraction level synthesizable mathematical functions for multiplication, division and sin/cos functionalities and abc to dq transforms.

    How this works in practice can be seen for example in a rom module.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts