mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 19:52:31 +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.
 |