J. Backes, M. Riedel
Proceedings of the International Workshop on Logic Synthesis, La Jolla, CA. 2011
The results of modern synthesis tools are heavily influenced by the initial structure of the designs they are given. Many synthesis tools use And-Inverter Graphs (AIGs) as the underlying representation in the technology-independent phase of synthesis. Generally, AIGs can be compacted through a series of operations that merge equivalent nodes. Proving nodes to be equivalent can be a done with efficient SAT-based algorithms. However, when an AIG consists of very sparse logic, compaction is ineffective; few equivalent nodes are found. Recently, techniques for generating functional dependencies via Craig Interpolation have been proposed. Such methods first generate a resolution proof from a SAT instance. Interpolation is performed on the resolution proof to generate the dependency function. Unlike nodes in an AIG, determining whether an equivalent resolution node can be generated from other resolution nodes is a simple task. In this work, we study the use of resolution proofs as an underlying data structure for performing technology-independent synthesis, as opposed to just the front- end step. In order to represent multiple functions, we merge separate resolution proofs into a single, monolithic resolution proof and then perform restructuring operations. We analyze the effectiveness of our method on standard benchmark circuits. The results suggest that resolution proofs could be a very effective data structure for representing multiple target functions.