verf package#
Submodules#
verf.DynamicGraphTree module#
- class verf.DynamicGraphTree.DynamicGraphTree(crossbar: MemristorCrossbar, specification: VerilogBenchmark)[source]#
Bases:
TreeBasedEquivalenceChecker
verf.Enumeration module#
- class verf.Enumeration.Enumeration(boolean_function: BooleanFunctionInterface, specification: BooleanFunctionInterface)[source]#
Bases:
EquivalenceChecker
verf.EquivalenceChecker module#
- class verf.EquivalenceChecker.EquivalenceChecker(boolean_function: BooleanFunctionInterface, specification: BooleanFunctionInterface)[source]#
Bases:
ABC
verf.GraphBasedEquivalenceChecker module#
- class verf.GraphBasedEquivalenceChecker.GraphBasedEquivalenceChecker(crossbar: MemristorCrossbar, specification: VerilogBenchmark)[source]#
Bases:
EquivalenceChecker
verf.SimplePathTree module#
- class verf.SimplePathTree.Color(value)[source]#
Bases:
Enum
An enumeration.
- black = 2#
- gray = 1#
- white = 0#
- class verf.SimplePathTree.SimplePathTree(boolean_function: BooleanFunction, specification: BooleanFunction)[source]#
Bases:
EquivalenceChecker
- is_equivalent(sampling_size: int = -1) bool [source]#
Based on: https://www.usna.edu/Users/cs/wcbrown/courses/S18SI335/lec/l15/lec.html DFSVisit(vertex u)
color u gray for each neighbor v of u do
- if v is white
DFSVisit(v)
color u black
- DFS(graph G)
set the color of all vertices in G to white for each vertex u in G do
- if u is white
DFSVisit(u)
- Parameters:
sampling_size –
- Returns:
Returns true if and only if the given Boolean function and specification are equivalent.
verf.StaticGraph module#
- class verf.StaticGraph.StaticGraph(crossbar: MemristorCrossbar, specification: VerilogBenchmark)[source]#
Bases:
GraphBasedEquivalenceChecker
verf.StaticGraphTree module#
- class verf.StaticGraphTree.StaticGraphTree(crossbar: MemristorCrossbar, specification: VerilogBenchmark)[source]#
Bases:
TreeBasedEquivalenceChecker
verf.TreeBasedEquivalenceChecker module#
- class verf.TreeBasedEquivalenceChecker.TreeBasedEquivalenceChecker(crossbar: MemristorCrossbar, specification: VerilogBenchmark)[source]#
Bases:
GraphBasedEquivalenceChecker
verf.XSAT module#
- class verf.XSAT.XSAT(crossbar: Crossbar, specification: BooleanFunctionInterface, node_threshold: int = 250, depth_threshold: int = 5)[source]#
Bases:
EquivalenceChecker