| |
| \chapter{Auxiliary Libraries} |
| |
| The Yosys source distribution contains some auxiliary libraries that are bundled |
| with Yosys. |
| |
| \section{SHA1} |
| |
| The files in {\tt 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. |
| |
| \section{BigInt} |
| |
| The files in {\tt libs/bigint/} provide a library for performing arithmetic with |
| arbitrary length integers. It is written by Matt McCutchen \citeweblink{bigint}. |
| |
| The BigInt library is used for evaluating constant expressions, e.g.~using the {\tt |
| ConstEval} class provided in {\tt kernel/consteval.h}. |
| |
| \section{SubCircuit} |
| \label{sec:SubCircuit} |
| |
| The files in {\tt libs/subcircuit} provide a library for solving the subcircuit |
| isomorphism problem. It is written by Clifford Wolf and based on the Ullmann |
| Subgraph Isomorphism Algorithm \cite{UllmannSubgraphIsomorphism}. It is used by |
| the {\tt extract} pass (see {\tt help extract} or Sec.~\ref{cmd:extract}). |
| |
| \section{ezSAT} |
| |
| The files in {\tt 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 Clifford Wolf. It is used by the {\tt sat} pass (see |
| {\tt help sat} or Sec.~\ref{cmd:sat}). |
| |