A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method for providing guidance to an equivalence checker, the method comprising:
- performing at least a register retiming optimization on a first design to obtain a second design;
- defining a register in the first design to be a representative register;
- for at least one retimed register in a set of retimed registers in the second design,
- determining a first code that corresponds to a first logical relationship between (1) the retimed register's asynchronous set input and asynchronous clear input, and (2) the representative register's asynchronous set input and asynchronous clear input, and
- determining a second code that corresponds to a second logical relationship between (1) the retimed register's synchronous set input and synchronous clear input, and (2) the representative register's synchronous set input and synchronous clear input;
- and
- providing the first design, the second design, the first code, and the second code to the equivalence checker, wherein providing the first and second codes to the equivalence checker reduces an amount of computation required by the equivalence checker to determine functional equivalence between the first design and the second design.