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.
Similar content being viewed by others
References
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
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
Bergeron J (2006) Writing testbenches using system Verilog. Springer, Berlin
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
Clarke E, Grumber O, Peled D (1999) Model checking. MIT Press, Cambridge
Colbourn CJ, Dinitz JH (2006) Handbook of combinatorial designs, 2nd edn. Discrete mathematics and its applications. Chapman & Hall/CRC Press, London/Boca Raton
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
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
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
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
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
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
Glasser M, Rose A, Fitzpatrick T, Rich D, Foster H (2007) Advanced verification methodology cookbook. Mentor Graphics, Cambridge
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
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
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
Iman S (2008) Step-by-step functional verification with systemverilog and OVM. Hansen Verlag, Munich
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
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
Keating M, Bricaud P (1998) Reuse methodology manual: for system-on-a-chip designs. Kluwer Academic, Norwell
Moundanos D, Abraham JA, Hoskote YV (1998) Abstraction techniques for validation coverage analysis and test generation. IEEE Trans Comput 47(1):2–14
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
Piziali A (2004) Functional verification coverage measurement and analysis. Kluwer Academic, Norwell
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
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
Serrestou Y, Robach VBC (2007) Functional verification of rtl designs driven by mutation testing metrics. In: Proceeding DSD, pp 222–227
Systemc community (2007) http://www.systemc.org/
Team X (2003) Xvid api 2.1 reference (for 0.9.x series)
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
Valmari A (1998) The state explosion problem. Lecture notes in computer science: lectures on Petri nets I: basic models, vol 1491, pp 429–528
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
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
Wile B, Goss J, Roesner W (2005) Comprehensive functional verification: the complete industry cycle (systems on silicon). Morgan Kaufmann, San Mateo
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was partially funded by the Brazil IP project.
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-011-9076-4