Concrete re-synthesis functor for the revkit::line_reduction algorithm. More...
Public Member Functions | |
embed_and_synthesize () | |
Standard constructor. More... | |
bool | operator() (circuit &circ, binary_truth_table &spec, const std::vector< unsigned > &output_order) |
Functor operator implementation. More... | |
Public Attributes | |
embedding_func | embedding |
Embedding algorithm to use. More... | |
truth_table_synthesis_func | synthesis |
Synthesis algorithm to use. More... | |
unsigned | timeout |
Time-out for the synthesis algorithm to use. More... | |
Concrete re-synthesis functor for the revkit::line_reduction algorithm.
This functor calls an embedding algorithm to embed the specification using the output order. Afterwards, a synthesis algorithm is called with the modified specification. Both, embedding and synthesis algorithm, can be set using parameters.
Standard constructor.
Initializes default values
bool operator() | ( | circuit & | circ, |
binary_truth_table & | spec, | ||
const std::vector< unsigned > & | output_order | ||
) |
Functor operator implementation.
Calls the embedding algorithm with the output order and afterwards the synthesis algorithm with the circuit.
Both, circuit and specification, are modified by this operator.
The circuit has to be empty.
embedding_func embedding |
Embedding algorithm to use.
Default value is embed_truth_table_func
truth_table_synthesis_func synthesis |
Synthesis algorithm to use.
Default value is transformation_based_synthesis_func
unsigned timeout |
Time-out for the synthesis algorithm to use.
The time is given in milliseconds. If time is 0u, no timeout is used. The default value is 0u.