A Framework for the Functional Verification of SystemC Models

  • Francesco Bruschi
  • Fabrizio Ferrandi
  • Donatella Sciuto


The problems of error simulation, error model evaluation, and test generation are faced considering the peculiar features of SystemC. In particular, error simulation are considered in the perspective of the transaction level modelling (TLM) capabilities of this emerging system level design language to obtain a coherent, environment for functional verification. The error simulation is accomplished without any modification of the native simulation engine, thus avoiding the problem of upgrading the error simulator together with the language simulation engine. Moreover, error modelling and error simulation tasks are orthogonalized in this approach. With the support of this environment, a test pattern generation algorithm for SystemC descriptions of systems made of interacting Finite State Machines (FSMs) is developed. The approach is based on the definition of the transitions, that represent ordered sets of statements executed within one clock cycle. Through different state sequence paths enumeration strategies, interesting behaviors of the system are obtained.


Functional verification SystemC test pattern generator 


  1. 1.
    E. Dustin, J. Rashka, and J. Paul, Automated Software Testing: Introduction, Management, and Performance, Addison Wesley (1999)Google Scholar
  2. 2.
    Vemuri, R., Kalyanaraman, R. 1995Generation of Design Verification Tests from Behavioral VHDL Programs Using Path Enumeration and Constraint ProgrammingIEEE Trans. Very Large Scale Integration (VLSI) Systems3201214Google Scholar
  3. 3.
    S. Devadas, A. Ghosh, and K. Keutzer, An Observability-Based Code Coverage Metric for Functional Simulation, in Proc Internation Conference on Computer-Aided Design (1999)Google Scholar
  4. 4.
    Ferrandi, F., Fummi, F., Pravadelli, G., Sciuto, D. 2003Identification of Design Errors Through Functional TestingIEEE Trans. Reliability52400412Google Scholar
  5. 5.
    Cheng, K., Krishnakumar, A. 1996Automatic generation of functional vectors using the extended finite state machine modelACM Trans. Design Automation Electronic Sys.15779Google Scholar
  6. 6.
    S. Chiusano, F. Corno, and P. Prinetto, RT-level TPG Exploiting High-level Synthesis Information, in Proc. 17th IEEE VSLI Test Symposium (1999)Google Scholar
  7. 7.
    F. Ferrandi, A. Fin, F. Fummi, and D. Sciuto, An application of genetic algorithms and BDDs to functional testing, in Proc International Conference on Computer Design (2000)Google Scholar
  8. 8.
    M. Ganai, A. Aziz, and A. Kuehlmann, Enhancing Simulation with BDDs and ATPG, in Proc. 36th Design Automation Conference (1999)Google Scholar
  9. 9.
    F. Ferrandi, F. Fummi, and D. Sciuto, Implicit Test Generation for Behavioral VHDL Models, in Proc. IEEE International Test Conference (1998)Google Scholar
  10. 10.
    Ghosh, I., Fujita, M. 2001Automatic Test Pattern Generation for Functional Register-Transfer Level Circuits using Assignment Decision DiagramsIEEE Trans. Comput. Aided Design Integrated Circuits Sys.20402415Google Scholar
  11. 11.
    F. Fallah, P. Ashar, and S. Devadas, Simulation Vector Generation from HDL Descriptions for Observability-enhanced Statement Coverage, in Proc. 35th Design Automation Conference (1999)Google Scholar
  12. 12.
    Ghosh, S., Chakraborty, T.J. 1991On Behavior Fault Modeling for Digital DesignsJ. Electronic Testing: Theory and Applications.2135151CrossRefGoogle Scholar
  13. 13.
    E. Jenn, J. Arlat, M. Rimn, J. Ohisson, and J. Karlsson, Fault Injection into VHDL Models: the MEFISTO Tool, Digest of Papers of 24th International Symposium on Fault-Tolerant Computing, pp. 66–75 (1994)Google Scholar
  14. 14.
    J. Boue, P. Petillon, and Y. Crouzet, MEFISTO-L: A VHDL-Based Fault Injection Tool for the Experimental Assessment of Fault Tolerance, in Proc. 28th Internatiol Symposium on Fault-Tolerant Computing, pp. 168–173 (1998)Google Scholar
  15. 15.
    A. Ghosh, B. Johnson, and J. P. III, Performing Fault Simulation in Large System Design, in Proc. Annual Reliability and Maintainability Symposium, pp. 200–207 (1997)Google Scholar
  16. 16.
    B. Parrotta, M. Rebaudengo, M. S. Reorda, and M. Violante, New Techniques for Accelerating Fault Injection in VHDL Descriptions, IOLTW2000: International On-Line Test Workshop, pp. 61–66 (2000)Google Scholar
  17. 17.
    A. Fin, F. Fummi, and G. Pravadelli, AMLETO: A Multi-Language Environment for Functional Test Generation, in Proc. IEEE International Test Conference, pp. 821–829 (2001)Google Scholar
  18. 18.
    A. Fin and F. Fummi, Genetic Algorithms: The Philosopher’s Stone or an Effective Solution for High-level TPG? High-Level Design Validation and Test Workshop, 2003. Eighth IEEE International, pp. 163–168 (2003)Google Scholar
  19. 19.
    F. Ferrandi, F. Fummi, and D. Sciuto, Implicit test generation for behavioral VHDL models, in Proc. International Test Conference, pp. 587–596 (1998)Google Scholar

Copyright information

© Springer Science+Business Media, Inc. 2005

Authors and Affiliations

  • Francesco Bruschi
    • 1
  • Fabrizio Ferrandi
    • 1
  • Donatella Sciuto
    • 1
  1. 1.Politecnico di MilanoDEIMilanoItaly

Personalised recommendations