Skip to main content
Log in

A Unified Sequential Equivalence Checking Methodology to Verify RTL Designs with High-Level Functional and Protocol Specification Models

  • Published:
Journal of Electronic Testing Aims and scope Submit manuscript

Abstract

Digital application complexity has steadily made it harder to discover and debug behavioral inconsistencies at register transfer level (RTL). Aiming to bring a solution, several techniques have appeared as alternatives to verify that a circuit description meets the requirements of its corresponding functional specification. Simulation-based verification is still far from reaching high state coverage because of cycle-accurate slowness. Formal approaches are exhaustive in theory, but due to computational limitations, workarounds must always be adopted to check only a portion of the design at a time. Bounded model checking is one of the most popular formal methods; however, a strong disadvantage resides in defining and determining the quality of the set of properties to verify. Sequential equivalence checking is also an effective alternative, but it can only be applied between circuit descriptions where a one-to-one correspondence for states and memory elements is expected. This paper presents a formal methodology to verify RTL descriptions through direct comparison with: 1) a high-level reference model and 2) a protocol reference model. Thus, it is possible to verify behavioral and interface protocol separately. Complete sequences of states are extracted from the reference models and the RTL design, and compared to determine if the design implementation is correct. The natural discrepancies between the models and RTL code are considered, including non-matching interface and memory elements, state mapping, and process concurrency. The validity of the methodology is formally justified and a related tool was developed to show, through examples, that the approach may be applied on real designs.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

References

  1. Abraham JA, Saab DG (2007) Tutorial T4A: formal verification techniques and tools for complex designs. In Proceedings of the 20th International Conference on VLSI Design, p 6

  2. Bergeron J (2003) Writing testbenches: functional verification of HDL models, 2nd edn. Kluwer, Boston

    Book  Google Scholar 

  3. Bombieri N, Fummi F, Pravadelli G (2011) Automatic abstraction of RTL IPs into equivalent TLM descriptions. IEEE Trans Comput 60(12):1730–1743

    Article  MathSciNet  Google Scholar 

  4. Castro C I, Strum M, Chau WJ (2013) Formal equivalence checking between high-level and RTL hardware designs. In Proc. 14th Latin American Test Workshop (LATW), p 1–6

  5. Castro C I, Strum M, Chau WJ (2014) A unified sequential equivalence checking approach to verify high-level functionality and protocol specification implementations in RTL designs. In Proc. 15th Latin American Test Workshop (LATW), p 1–6

  6. Catapult: Product Family Overview. http://calypto.com/en/products/catapult/overview. Calypto. Accessed 20 Aug 2013

  7. Chou C, Ho Y, Hsieh C, Huang C (2012) Symbolic model checking on SystemC designs. In Proceedings of the 49th ACM/EDAC/IEEE Design Automation Conference (DAC), p 327–333

  8. CVC3. http://www.cs.nyu.edu/acsys/cvc3. Accessed 15 Sept 2013

  9. Drechsler B (2004) Advanced formal verification. Kluwer Academic Publishers, Norwell

    Book  MATH  Google Scholar 

  10. Feng L, Dai Z, Li W, Cheng J (2011) Design and application of reusable SoC verification platform. In Proc. IEEE 9th International Conference on ASIC (ASICON), p 957–960

  11. Finder A, Witte J-P, Fey G (2013) Debugging HDL designs based on functional equivalences with high-level specifications. Proceedings of the 16th IEEE Symposium on Design & Diagnostics of Electronic Circuits & Systems (DDECS), Czech Republic, p 60–65

  12. Formality and Formality Ultra. Synopsys. http://www.synopsys.com/Tools/Verification//FormalEquivalence/Pages/Formality.aspx. Accessed 20 Aug 2013

  13. Hao K, Xie F, Ray S, Yang J (2010) Optimizing equivalence checking for behavioral synthesis. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE), Belgium, p 1500–1505

  14. Hu A.J (2006) High-level vs. RTL combinational equivalence: an introduction. In Proceedings of the International Conference on Computer Design, San Jose, p 274–279

  15. Karfa C, Sarkar D, Mandal C, Kumar P (2008) An equivalence-checking method for scheduling verification in high-level synthesis. IEEE Trans Comput Aided Des Integr Circuits Syst 27:556–569

    Article  Google Scholar 

  16. Koelbl A, Jacoby R, Jain H, Pixley C (2009) Solver technology for system-level to RTL equivalence checking. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE), Belgium, p 196–201

  17. Lee H, Grosse D, Drechsler R (2010) Towards analyzing functional coverage in SystemC TLM property checking. In Proceedings of the 2010 I.E. International High Level Design Validation and Test Workshop (HLDVT), p 67–74

  18. Lee C, Shih C, Huang J, Jou J (2011) Equivalence checking of scheduling with speculative code transformations in high-level synthesis. In Proceedings of the 16th Asia and South Pacific Design Automation Conference (ASPDAC), p 497–502

  19. Mathur A, Clarke E, Fujita M, Urard P (2009) Functional equivalence verification tools in high-level synthesis flows. IEEE Des Test Comput 26(4):88–95

    Article  Google Scholar 

  20. Matsumoto T, Nishihara T, Kojima Y, Fujita M (2009) Equivalence checking of high-level designs based on symbolic simulation. In Proceedings of the International Conference on Communications, Circuits and Systems, Tokyo, p 1129–1133

  21. Molitor P, Mohnke J (2004) Equivalence checking of digital circuits: fundamentals, principles, methods. Kluwer Academic Publishers, Dordrecht

    MATH  Google Scholar 

  22. Nguyen T, Sun J, Liu Y, Dong J (2011) Towards analyzing functional coverage in SystemC TLM property checking. In Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE), p 633–636

  23. Nishihara T, Matsumoto T, Fujita M (2006) Equivalence checking with rule based equivalence propagation and high-level synthesis. In Proceedings of the IEEE International High Level Design and Test Workshop, p 162–169

  24. OpenCores. http://opencores.org. Accessed 20 Aug 2013

  25. Romero E, Strum M, Chau W (2013) Manipulation of training sets for improving data mining coverage-driven verification. J Electron Test 29:223–236

    Article  Google Scholar 

  26. Saglamdemir M, Sen A, Dündar G (2012) A formal equivalence checking methodology for Simulink and register transfer level designs. In Proceedings of the International Conference on Synthesis, Modeling, Analysis and Simulation Methods and Applications to Circuit Design (SMACD), Spain, p 221–224

  27. SLEC Family Product OverviewCalypto. http://calypto.com/products/slec/overview. Accessed 20 Aug 2013

  28. Vahid F, Givargis T (2006) Embedded system design: a unified hardware/software introduction. Wiley

  29. Vasudevan S, Viswanath V, Abraham J, Tu J (2005) Automatic decomposition for sequential equivalence checking of system level and RTL descriptions. In Proceedings of the 4th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE), Washington, p 71–80

  30. VAUL—a VHDL Analyzer and Utility Library. http://www.freehdl.seul.org. Accessed 15 Sept 2013

  31. Wile B, Goss J, Roesner W (2005) Comprehensive functional verification. Morgan Kauffman, San Francisco

    Google Scholar 

Download references

Acknowledgments

This work was partially supported by the National Council of Technological and Scientific Development CNPq from Brazil.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carlos Ivan Castro Marquez.

Additional information

Responsible Editor: L. M. Bolzani Pöhls

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Castro Marquez, C.I., Strum, M. & Chau, W.J. A Unified Sequential Equivalence Checking Methodology to Verify RTL Designs with High-Level Functional and Protocol Specification Models. J Electron Test 31, 255–273 (2015). https://doi.org/10.1007/s10836-015-5528-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10836-015-5528-2

Keywords

Navigation