Researchers: | Gitanjali M. Swamy and Stephen A. Edwards |
---|---|
Advisors: | R. K. Brayton and Edward A. Lee |
Sponsors: | National Science Foundation Fellowship, ARPA and the US Air Force (under the RASSP program, contract F33615-93-C-1317) and the Ptolemy project. |
Our scheme compares two systems described by netlists of interconnected combinational boolean functions. We assume that there is no correlation between names in the two netlists because, e.g., they were produced by a high-level language compiler. Our objective is to find a matching of primary inputs and a maximal mapping from nodes in the new netlist to those in the old such that the functions computed at these nodes are identical.
Our algorithm works by first identifying candidate node matchings, using this to identify candidate primary input matchings, and then finds the matching that reuses the largest portion of the old network. First, the nodes in each netlist are reduced to a semi-canonical form and hashed into equivalence classes based purely on this form. Next, these classes are refined based on the inputs to each node, producing structural equivalence classes. The set of all possible primary input matchings is generated by considering maximal matchings between such ``equivalent'' nodes with at least one primary input. Finally, the fraction of the new network that can be taken from the old network is evaluated for each matching using a fast, incremental algorithm.
We are currently in the process of implementing and evaluating this algorithm within Berkeley's VIS system for formal verification.