Auxiliary libraries¶
The Yosys source distribution contains some auxiliary libraries that are compiled into Yosys and can be used in plugins.
BigInt¶
The files in libs/bigint/
provide a library for performing arithmetic with
arbitrary length integers. It is written by Matt McCutchen.
The BigInt library is used for evaluating constant expressions, e.g. using the ConstEval class provided in kernel/consteval.h.
See also: http://mattmccutchen.net/bigint/
dlfcn-win32¶
The dlfcn
library enables runtime loading of plugins without requiring
recompilation of Yosys. The files in libs/dlfcn-win32
provide an
implementation of dlfcn
for Windows.
ezSAT¶
The files in libs/ezsat
provide a library for simplifying generating CNF
formulas for SAT solvers. It also contains bindings of MiniSAT. The ezSAT
library is written by C. Wolf. It is used by the sat
pass (see
sat - solve a SAT problem in the circuit).
fst¶
libfst
files from gtkwave are included in libs/fst
to support
reading/writing signal traces from/to the GTKWave developed FST format. This is
primarily used in the sim
command.
json11¶
For reading/writing designs from/to JSON, read_json
and
write_json
should be used. For everything else there is the json11
library:
json11 is a tiny JSON library for C++11, providing JSON parsing and serialization.
This library is used for outputting machine-readable statistics (stat
with -json
flag), using the RPC frontend (connect_rpc
), and the
yosys-witness yw
format.
MiniSAT¶
The files in libs/minisat
provide a high-performance SAT solver, used by the
sat
command.
SHA1¶
The files in libs/sha1/
provide a public domain SHA1 implementation written
by Steve Reid, Bruce Guenter, and Volker Grabsch. It is used for generating
unique names when specializing parameterized modules.
SubCircuit¶
The files in libs/subcircuit
provide a library for solving the subcircuit
isomorphism problem. It is written by C. Wolf and based on the Ullmann Subgraph
Isomorphism Algorithm [Ull76]. It is used by the
extract pass (see extract - find subcircuits and replace them with cells).