Enhancing IP cores specifications using hierarchical composition and set theory

Abstract

During the functional verification, complex interactions between multiple blocks that compose an Intellectual Property (IP) core can reveal hard-to-find bugs. Functional verification specifications must be precise to assure these interactions occur during the simulation. In this work, we are proposing a technique for improving the functional verification specification of individual blocks, preserving the occurrence of these interaction scenarios in the composition phase. Our approach was implemented for the VeriSC methodology, a SystemC-based functional verification methodology. After each block that composes the IP core was stand-alone verified, we exploit the composition phase using set theory to increase the coverage numbers and to justify why some of these numbers cannot, or need not, reach 100%. By applying our approach in a MPEG 4 video decoder design, we show how our work can save functional verification time during the hierarchical composition. Using mutation based-tests, we demonstrate that our work can contribute to error detection. Furthermore, we demonstrate the effectiveness of our approach with regard to traditional structural coverage metrics, such as line coverage and branch coverage.

This is a preview of subscription content, access via your institution.

References

  1. 1.

    Araújo G, Barros E, Melcher E, Azevedo R, da Silva KRG, Prado B, de Lima ME (2006) A system-only design methodology and the cine-ip multimedia platform. Des Autom Embed Syst 10(2–3):181–202

    Google Scholar 

  2. 2.

    Banerjee A, Pal B, Das S, Kumar A, Dasgupta P (2006) Test generation games from formal specifications. In: DAC’06: Proceedings of the 43rd annual conference on design automation, New York, NY, USA. ACM, New York, pp 827–832

    Google Scholar 

  3. 3.

    Bergeron J (2006) Writing testbenches using system Verilog. Springer, Berlin

    Book  Google Scholar 

  4. 4.

    Budd TA, DeMillo RA, Lipton RJ, Sayward FG (1980) Theoretical and empirical studies on using program mutation to test the functional correctness of programs. In: POPL’80: Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on principles of programming languages, New York, NY, USA. ACM, New York, pp 220–233

    Google Scholar 

  5. 5.

    Clarke E, Grumber O, Peled D (1999) Model checking. MIT Press, Cambridge

    Google Scholar 

  6. 6.

    Colbourn CJ, Dinitz JH (2006) Handbook of combinatorial designs, 2nd edn. Discrete mathematics and its applications. Chapman & Hall/CRC Press, London/Boca Raton

    Book  Google Scholar 

  7. 7.

    da Silva KRG, Melcher EUK, Araujo G, Pimenta VA (2004) An automatic testbench generation tool for a systemc functional verification methodology. In: SBCCI’04: Proceedings of the 17th symposium on Integrated circuits and system design, New York, NY, USA. ACM, New York, pp 66–70

    Google Scholar 

  8. 8.

    da Silva KRG, Melcher EUK, Maia I, do Cunha HN (2007) A methodology aimed at better integration of functional verification and RTL design. Des Autom Embed Syst 10(4):285–298

    Article  Google Scholar 

  9. 9.

    Delamaro ME, Maldonado JC, Mathur AP (2001) Interface mutation: an approach for integration testing. IEEE Trans Softw Eng 27(3):228–247. doi:10.1109/32.910859

    Article  Google Scholar 

  10. 10.

    Ferro A, Omodeo EG, Schwartz JT (1980) Decision procedures for elementary sublanguages of set theory. i. multilevel syllogistic and some extensions. Commun Pure Appl Math 33(1):599–608

    MathSciNet  MATH  Article  Google Scholar 

  11. 11.

    Ferro A, Omodeo EG, Schwartz JT (1980) Decision procedures for some fragments of set theory. In: Proceedings of the 5th conference on automated deduction, London, UK. Springer, Berlin, pp 88–96

    Google Scholar 

  12. 12.

    Fine S, Ziv A (2003) Coverage directed test generation for functional verification using Bayesian networks. In: DAC’03: Proceedings of the 40th conference on design automation, New York, NY, USA. ACM, New York, pp 286–291

    Google Scholar 

  13. 13.

    Glasser M, Rose A, Fitzpatrick T, Rich D, Foster H (2007) Advanced verification methodology cookbook. Mentor Graphics, Cambridge

    Google Scholar 

  14. 14.

    Gupta A, Casavant AE, Ashar P, Mukaiyama A, Wakabayashi K, Liu XGS (2002) Property-specific testbench generation for guided simulation. In: ASP-DAC’02: Proceedings of the 2002 conference on Asia South Pacific design automation/VLSI design, Washington, DC, USA. IEEE Computer Society, Los Alamitos, p 524

    Google Scholar 

  15. 15.

    Harris IG (2006) A coverage metric for the validation of interacting processes. In: DATE’06: Proceedings of the conference on design, automation and test in Europe. European Design and Automation Association, Leuven, Belgium, pp 1019–1024

    Google Scholar 

  16. 16.

    Ho RC, Horowitz MA (1996) Validation coverage analysis for complex digital designs. In: ICCAD’96: Proceedings of the 1996 IEEE/ACM international conference on computer-aided design, Washington, DC, USA. IEEE Computer Society, Los Alamitos, pp 146–151

    Google Scholar 

  17. 17.

    Iman S (2008) Step-by-step functional verification with systemverilog and OVM. Hansen Verlag, Munich

    Google Scholar 

  18. 18.

    Ip CN (2000) Simulation coverage enhancement using test stimulus transformation. In: ICCAD’00: Proceedings of the 2000 IEEE/ACM international conference on computer-aided design, Piscataway, NJ, USA. IEEE Press, New York, pp 127–134

    Google Scholar 

  19. 19.

    Isbell D, Savage D (1999) Mars climate orbiter failure board releases report, numerous Nasa actions underway in response. In: NASA press release, pp 99–134

    Google Scholar 

  20. 20.

    Keating M, Bricaud P (1998) Reuse methodology manual: for system-on-a-chip designs. Kluwer Academic, Norwell

    Google Scholar 

  21. 21.

    Moundanos D, Abraham JA, Hoskote YV (1998) Abstraction techniques for validation coverage analysis and test generation. IEEE Trans Comput 47(1):2–14

    Article  Google Scholar 

  22. 22.

    Offutt AJ (1994) A practical system for mutation testing: help for the common programmer. In: Proceedings of the 1994 international conference on test, ITC’94. Washington, DC, IEEE Computer Society, Los Alamitos, pp 824–830

    Google Scholar 

  23. 23.

    Piziali A (2004) Functional verification coverage measurement and analysis. Kluwer Academic, Norwell

    Google Scholar 

  24. 24.

    Rocha AK, Lira P, Ju EMYY, Barros E (2006) Silicon validated ip cores designed by the Brazil-ip network. In: IP/SOC 2006 (IP-Based SoC Design), pp 142–147

    Google Scholar 

  25. 25.

    Samarah A, Habibi A, Tahar S, Kharma N (2006) Automated coverage directed test generation using a cell-based genetic algorithm. In: Eleventh annual IEEE international high-level design validation and test workshop, Nov 2006, pp 19–26

    Google Scholar 

  26. 26.

    Serrestou Y, Robach VBC (2007) Functional verification of rtl designs driven by mutation testing metrics. In: Proceeding DSD, pp 222–227

    Google Scholar 

  27. 27.

    Systemc community (2007) http://www.systemc.org/

  28. 28.

    Team X (2003) Xvid api 2.1 reference (for 0.9.x series)

  29. 29.

    Vado P, Savaria Y, Zoccarato Y, Robach C (2000) A methodology for validating digital circuits with mutation testing. In: The 2000 IEEE international symposium on circuits and systems, Proceedings ISCAS 2000, Geneva, vol 1, pp 343–346

    Google Scholar 

  30. 30.

    Valmari A (1998) The state explosion problem. Lecture notes in computer science: lectures on Petri nets I: basic models, vol 1491, pp 429–528

    Google Scholar 

  31. 31.

    Verma S, Ramineni K, Harris IG (2005) An efficient control-oriented coverage metric. In: ASP-DAC’05: Proceedings of the 2005 conference on Asia South Pacific design automation, New York, NY, USA, ACM, New York, pp 317–322

    Google Scholar 

  32. 32.

    von Mayhauser A, Chen T, Kok J, Anderson C, Read A, Haijar A (2000) On choosing test criteria for behavioral level hardware design verification. In: HLDVT’00: Proceedings of the IEEE international high-level validation and test workshop (HLDVT’00), Washington, DC, USA. IEEE Computer Society, Los Alamitos, p 124

    Google Scholar 

  33. 33.

    Wile B, Goss J, Roesner W (2005) Comprehensive functional verification: the complete industry cycle (systems on silicon). Morgan Kaufmann, San Mateo

    Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Cássio L. Rodrigues.

Additional information

This work was partially funded by the Brazil IP project.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Rodrigues, C.L., da Silva, K.R.G., Cunha, H.N. et al. Enhancing IP cores specifications using hierarchical composition and set theory. Des Autom Embed Syst 15, 225–245 (2011). https://doi.org/10.1007/s10617-011-9076-4

Download citation

Keywords

  • Functional verification
  • Intellectual property core
  • Set theory
  • SystemC
  • MPEG 4