I. Introduction
As system-on-a-chip (SoC) designs complexity increase, designers shift toward System Level Modeling (SLM) by facilitating more abstract design description (e.g., with C++ or SystemC) to generate low level descriptions (e.g., RTL models) automatically. The increasing complexity makes verification of SoC designs extremely hard. To guarantee the correctness of models of all the levels, designers have to verify each level of the design thoroughly. Equivalence checking techniques provide a promising solution to fill the gap between the different levels of design and reuse the effort of high-level verification.