TOPICS FOR THE SECOND MIDTERM.
- Cube Calculus. Main operations. Pattern of operations. Examples of applications. Pseudo-code of generalized loop for all cube calculus operations.
- Ashenhurst-Curtis Decomposition with disjoint free and bound sets.
- Ashenhurst-Curtis Decomposition with shared variables.
- Generalization of Ashenhurst-Curtis Decomposition to the same number of wires going in and out of the predecessor block.
- Ashenhurst-Curtis Decomposition of relations.
- Ashenhurst-Curtis Decomposition of multiple-valued functions.
- Bi-Decomposition of binary functions. Conditions for AND, OR and EXOR decomposition.
- Bi-Decomposition with vacuous variables and shared variables.
- Decomposition of functions with many don't cares for Machine Learning and Data Mining applications.
- Heuristics based on Entropy and separation of ones and zeros to select good bound sets and variable orders.
- Definition of vacuous variables. Map Folding method. Meaning of vacuous variables and use in synthesis.
- Decision diagrams other than BDD. In particular you have to be able to find KFDDs, ZDDs, MVDDs,
Kronecker and Davio Lattices.
- Characteristic functions of discrete objects, arrays, maps, graphs, labeled graphs. Use of ZDD to encode them.
- Fundamentals of Reversible logic and reversible circuits. Toffoli, Feynman and Fredkin gates.
Swap gates. MMD (Miller-Maslov-Dueck) method for synthesis. Only basic variant. Synthesis based on ESOP, FPRM or PPRM.
Realization of multi-input Toffoli gates with only one ancilla bit.