fusesoc
Award-winnning package manager and build abstraction tool for HDL code
Decision gist · record as of 2026-08-14
Yes. FuseSoC is a mature, actively maintained tool with no known vulnerabilities, low install friction, and permissive licensing. It is well-suited for anyone managing HDL projects, especially those needing to coordinate builds across multiple tools, reuse IP cores, or set up reproducible hardware build pipelines. Install it if you work with Verilog, VHDL, or SoC design; skip it if you only use a single closed-source tool with its own build system.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a supported HDL simulator (such as Icarus Verilog, ModelSim, or Xcelium) to be installed separately on the system to execute simulations.
- Low install friction with a pure Python wheel distribution and six straightforward runtime dependencies.
- The project is actively maintained with a recent commit history and has been in production use since 2016.
License · maintenance · safety
permissive license (permissive) — Licensed under the permissive 2-clause BSD license, allowing free use, modification, and distribution for any project type without restriction.
last release 2026-05-10 (96 days) · last repo commit 2026-08-11 · 1,449 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 242,183 downloads/mo, #8,861 on PyPI
Alternatives
Verify before relying
pip install fusesoc
fusesoc library add fusesoc-cores https://github.com/fusesoc/fusesoc-cores
fusesoc core list
fusesoc run --target=sim i2c- Specific Python versions within the 3.6+ range that are most commonly tested or recommended by maintainers.
- Whether all six runtime dependencies are required for basic package management tasks or only for advanced features like simulation.
- Performance characteristics when managing large IP libraries or complex multi-target designs.
What it is and what it does
FuseSoC is a build and package management system designed for hardware description languages like Verilog and VHDL. It abstracts away the differences between various HDL tools and simulators, allowing you to define hardware designs once and build or simulate them across multiple toolchains and FPGA targets without rewriting build scripts. The core problem it solves is IP reuse and design portability—instead of managing separate build configurations for each simulator or target, you describe your design in FuseSoC's core file format and let it handle tool invocation, dependency resolution, and parameter configuration.
FuseSoC is typically used in three contexts: managing libraries of reusable hardware IP cores, orchestrating builds and simulations in continuous integration pipelines, and porting existing designs to new FPGA boards or tool versions. It integrates with tools like Vivado, Quartus, and open-source simulators, and supports formal verification, linting, and SBOM generation. The package is production-stable, actively maintained, and widely used in both open-source hardware projects and commercial ASIC/FPGA development.
Use it for
- Manage a library of reusable Verilog or VHDL IP cores and automatically resolve dependencies when building a larger design.
- Run regression tests on hardware designs against multiple simulators without manually switching tool configurations.
- Port an existing FPGA design to a new development board by updating target definitions rather than rewriting build scripts.
- Set up continuous integration for hardware projects to automatically build and simulate designs on every commit.
- Generate FPGA software bills of materials (SBOMs) through the spdxgen filter for compliance and documentation.
- Perform linting and formal verification on hardware code as part of an automated design flow.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
FuseSoC is a mature, actively maintained tool with no known vulnerabilities, low install friction, and permissive licensing. It is well-suited for anyone managing HDL projects, especially those needing to coordinate builds across multiple tools, reuse IP cores, or set up reproducible hardware build pipelines. Install it if you work with Verilog, VHDL, or SoC design; skip it if you only use a single closed-source tool with its own build system.
Install
fusesoc on PyPI
Before you install
Low install friction with a pure Python wheel distribution and six straightforward runtime dependencies. The project is actively maintained with a recent commit history and has been in production use since 2016.
Requires a supported HDL simulator (such as Icarus Verilog, ModelSim, or Xcelium) to be installed separately on the system to execute simulations.
License in practice
Licensed under the permissive 2-clause BSD license, allowing free use, modification, and distribution for any project type without restriction.
Quickstart
pip install fusesoc
fusesoc library add fusesoc-cores https://github.com/fusesoc/fusesoc-cores
fusesoc core list
fusesoc run --target=sim i2c
Verify before relying
- Specific Python versions within the 3.6+ range that are most commonly tested or recommended by maintainers.
- Whether all six runtime dependencies are required for basic package management tasks or only for advanced features like simulation.
- Performance characteristics when managing large IP libraries or complex multi-target designs.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release <4,>=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesedalizepyparsingpyyamlsimplesatfastjsonschemaargcomplete |
| Maintenance | Actively maintained 96 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 242,183 / month, #8,861 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: BSD LicenseTopic :: Software Development :: Build ToolsTopic :: Utilities |
Evidence: fusesoc-2.4.6-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “HDL package manager”
- fusesocFuseSoC is a package manager and build abstraction tool for HDL code…
- edalizeEdalize abstracts the interface to EDA tools (simulators, synthesis…
- tree-sitter-verilogProvides a SystemVerilog grammar parser for tree-sitter, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also peakrdl-regblock · cocotb · siliconcompiler · amaranth · peakrdl · edalize · peakrdl-cli · cocotb-test · systemrdl-compiler · dvsim