Overview
========
**yosys-bin** packages the `Yosys Open Synthesis Suite
`_ together with several companion tools and
Python integrations into a single manylinux-compatible release artefact.
Why yosys-bin?
--------------
Upstream Yosys releases are source-only. Building Yosys and its dependencies
from source requires a C++ toolchain, Tcl, readline, Python headers, and
several other libraries. yosys-bin provides ready-to-use binaries that:
* Run on any Linux system with glibc ≥ 2.34 (AlmaLinux 9+, Ubuntu 22.04+,
Debian 12+, Fedora 37+, …).
* Include multi-version Python bindings (``pyosys``) compiled for Python
3.10 – 3.13, selectable at runtime without rebuilding.
* Bundle the ``yosys-slang`` plugin for SystemVerilog elaboration via
`LLVM/slang `_.
* Include the `Boolector `_ SMT solver for
use with Yosys formal verification flows.
* Include `sby (SymbiYosys) `_ for formal
verification, `mcy `_ for mutation coverage
analysis, and `eqy `_ for equivalence checking.
* Integrate with the `DV Flow `_ task framework
via the ``dv-flow-libyosys`` package (``dv_flow.libyosys``).
Bundled components
------------------
.. list-table::
:header-rows: 1
:widths: 25 75
* - Component
- Description
* - ``yosys``
- Yosys Open Synthesis Suite binary and standard cell libraries
* - ``pyosys``
- Python 3.10–3.13 bindings for Yosys (``import pyosys``)
* - ``yosys-slang`` plugin
- SystemVerilog front-end plugin (``slang.so``) via ``read_slang``
* - ``boolector``
- Boolector SMT solver binary (used by ``write_smt2`` / ``smtbmc`` flows)
* - ``sby`` (SymbiYosys)
- Formal verification front-end: BMC, k-induction, and cover analysis
* - ``mcy``
- Mutation coverage analysis tool for formal verification test suites
* - ``eqy``
- Equivalence checking tool and Yosys plugins (``eqy_combine.so``, etc.)
* - ``dv-flow-libyosys``
- DV Flow task library: ``yosys.Synth``, ``yosys.FormalPrepare``, etc.
Release naming
--------------
Releases track the upstream Yosys version tag, appended with the CI run ID
for traceability::
yosys-bin-manylinux-x64-0.9..tar.gz
The embedded Python package version follows the same scheme (PEP 440 numeric
only, e.g. ``0.9.23403114660``).