Merge pull request #3310 from robinsonb5-PRs/master
[yosys.git] / manual / CHAPTER_Auxlibs.tex
1
2 \chapter{Auxiliary Libraries}
3
4 The Yosys source distribution contains some auxiliary libraries that are bundled
5 with Yosys.
6
7 \section{SHA1}
8
9 The files in {\tt libs/sha1/} provide a public domain SHA1 implementation written
10 by Steve Reid, Bruce Guenter, and Volker Grabsch. It is used for generating
11 unique names when specializing parameterized modules.
12
13 \section{BigInt}
14
15 The files in {\tt libs/bigint/} provide a library for performing arithmetic with
16 arbitrary length integers. It is written by Matt McCutchen \citeweblink{bigint}.
17
18 The BigInt library is used for evaluating constant expressions, e.g.~using the {\tt
19 ConstEval} class provided in {\tt kernel/consteval.h}.
20
21 \section{SubCircuit}
22 \label{sec:SubCircuit}
23
24 The files in {\tt libs/subcircuit} provide a library for solving the subcircuit
25 isomorphism problem. It is written by C. Wolf and based on the Ullmann
26 Subgraph Isomorphism Algorithm \cite{UllmannSubgraphIsomorphism}. It is used by
27 the {\tt extract} pass (see {\tt help extract} or Sec.~\ref{cmd:extract}).
28
29 \section{ezSAT}
30
31 The files in {\tt libs/ezsat} provide a library for simplifying generating CNF
32 formulas for SAT solvers. It also contains bindings of MiniSAT. The ezSAT
33 library is written by C. Wolf. It is used by the {\tt sat} pass (see
34 {\tt help sat} or Sec.~\ref{cmd:sat}).
35