Formal Model Extraction for Combinational Equivalence Checking
Guiling Zhang -,Dantong Ouyang -,Hongtao Bai -,Hailin Zeng -,TieMin Ma -,YueHua Zhang -
DOI: https://doi.org/10.4156/jcit.vol7.issue8.42
2012-01-01
Journal of Convergence Information Technology
Abstract:In formal verification, the first step is to build a formal model. Most of the academic tools represent the designs in BLIF or BLIF-MV network, while cannot directly take Verilog source code as an input. For instance, VIS depends on the translator vl2mv to compile Verilog into the intermediate format BLIF-MV first, and then extracts the FSM (Finite State Models) from it instead of the direct Verilog source code. However, Verilog and VHDL are the most common used hardware description languages for large scale integrated circuits. It is necessary if the source code could be used directly, rather than an intermediate format. We notice that synthesizable Verilog is well-structured which can be represented in SSA (Static Single Assignment) form. In this paper, we describe a method that extracts formal model directly from Verilog source code by converting the code to SSA form. With this method, we have implemented a prototype system that extracts formal model of Verilog programs. We also prove the conversion function-preserving by translating SSA back to Verilog and checking its equivalence with the primary design. To ensure correctness and robustness, we have tested our system with ISCAS and picoJava-II, a specification of microprocessor, and the experimental results on these realistic circuits show that the conversion procedure is function-preserving. Moreover, we take it as the front-end of CEC (Combinational Equivalence Checking) and demonstrate the formal model extracted with our method can be exploited efficiently in CEC.