mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			80 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
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.
 | 
						|
 | 
						|
See also: https://github.com/dlfcn-win32/dlfcn-win32
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
.. _gtkwave: https://github.com/gtkwave/gtkwave
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
.. _json11 library: https://github.com/dropbox/json11
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
.. _sec:SubCircuit:
 | 
						|
 | 
						|
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 :cite:p:`UllmannSubgraphIsomorphism`. It is used by the
 | 
						|
`extract` pass.
 |