Package circuitgraph
Python package circuitgraph
provides a data structure
for the generation, manipulation, and evaluation of
Boolean circuits. The circuits are represented in a graph
format based on the networkx
package.
Features include:
- parsing of generic verilog modules
- easy circuit composition
- synthesis interface to Genus and Yosys
- SAT,#SAT, and approx-#SAT solver integration via
pysat
andapproxmc
- implementations of common circuit transformations
Look at the examples in Circuit
for a quickstart guide.
Expand source code
"""
Python package `circuitgraph` provides a data structure
for the generation, manipulation, and evaluation of
Boolean circuits. The circuits are represented in a graph
format based on the `networkx` package.
Features include:
- parsing of generic verilog modules
- easy circuit composition
- synthesis interface to Genus and Yosys
- SAT,#SAT, and approx-#SAT solver integration via `pysat` and `approxmc`
- implementations of common circuit transformations
Look at the examples in `circuitgraph.circuit.Circuit` for a quickstart guide.
"""
from circuitgraph.circuit import *
from circuitgraph.io import *
from circuitgraph.sat import *
from circuitgraph.sim import *
from circuitgraph.transform import *
from circuitgraph.logic import *
from circuitgraph.utils import *
Sub-modules
circuitgraph.analysis
-
Functions for analysis of Boolean properties
circuitgraph.circuit
-
Class for circuit graphs …
circuitgraph.io
-
Functions for reading/writing CircuitGraphs
circuitgraph.logic
-
A collection of common logic elements as
Circuit
objects circuitgraph.sat
-
Functions for executing SAT, #SAT, and approx-#SAT on circuits
circuitgraph.sim
-
Functions for simulating circuits using Verilator
circuitgraph.tests
-
Testing for Python package
circuitgraph
. circuitgraph.transform
-
Functions for transforming circuits
circuitgraph.utils
-
Various circuit related utilities