Skip to main content

Introduction

  • Chapter
  • First Online:
System-Level Validation
  • 1107 Accesses

Abstract

Increasing complexity of both hardware and software in System-on-Chip (SoC) designs coupled with time-to-market pressure create a critical need to develop efficient functional validation techniques. To achieve the required functional coverage goal, billions of random or constrained-random tests are used during simulation of today’s SoC designs. Various studies suggest that functional validation is a major bottleneck in SoC design—up to 70 % of design development efforts are spent during validation. To reduce the overall validation effort, this book focuses on system-level validation using efficient directed tests. This chapter first highlights the increasing design and validation complexity of SoC designs. Next, it studies the existing validation techniques. Then, we discuss the challenges as well as opportunities associated with system-level validation. Finally, we present a high-level validation framework that can drastically reduce the overall validation effort.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The Pentium FDIV bug was the most infamous one of the Intel microprocessor bugs. Due to an error in a lookup table, certain floating point division operations would produce incorrect results.

  2. 2.

    On June 4, 1996 an unmanned Ariane 5 rocket launched by the European Space Agency exploded a few seconds after its liftoff.

  3. 3.

    “Validation” is performed at different abstraction levels to uncover two types of faults: specification flaws and implementation bugs. Formal verification refers to the use of formal methods to ensure that the implementation satisfies the specification. In this book, the term “verification” refers to the use of both simulation-based validation and formal methods to detect implementation bugs (errors). Please note that the terms “validation” and “verification” have different usage and interpretation in different domains.

  4. 4.

    In the ESL Design and Verification book [2], the term ESL is defined as: “the utilization of appropriate abstractions in order to increase comprehension about a system, and to enhance the probability of a successful implementation of functionality in a cost-effective manner.”.

  5. 5.

    Depending on application domains and abstraction levels, different types of specification languages may be applicable. For example, architecture description languages (ADL) [9] are very popular in early exploration and validation of processor-based SoCs.

  6. 6.

    The size of the state space grows exponentially with the number of state variables of the system.

  7. 7.

    The input space (all possible input sequences) can be prohibitively large for complex designs with large number of inputs.

References

  1. Wolf W, Jerraya A, Martin G (2008) Multiprocessor system-on-chip (MPSoC) technology. IEEE Trans Comput Aided Des Integr Circuits Syst (TCAD) 27(10):1701–1713

    Google Scholar 

  2. Bailey B, Martin G, Piziali A (2007) ESL design and verification: a prescription for electronic system level methodology. Morgan Kaufmann/Elsevier, Burlington

    Google Scholar 

  3. Open SystemC Initiative (OSCI) (2006) SystemC. http://www.systemc.org

  4. MATLAB. http://www.mathworks.com/products/matlab/

  5. Berry G, Gonthier G (1992) The esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19(2):87–152

    Google Scholar 

  6. Simulink. http://www.mathworks.com/products/simulink/

  7. SysML. http://www.sysml.org/

  8. Peterson J (1981) Petri nets theory and the modeling of systems. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  9. Mishra P, Dutt N (2008) Processor description languages: applications and methodlogies. Morgan Kaufmann, San Fransisco

    Google Scholar 

  10. Cai L, Gajski D (2003) Transaction level modeling: an overview. In: Proceedings of international conference on hardware/software codesign and system, synthesis (CODES\(+\)ISSS), pp 19–24

    Google Scholar 

  11. Rose A, Swan S, Pierce J, Fernandez J (2005) Transaction level modeling in systemC. http://www.systemc.org

  12. Object Management Group (2007) UML superstructure V2.1.2. http://www.omg.org/docs/formal/07-11-02.pdf. Accessed Nov 2007

  13. Schutten R, Fitzpatrick T (2003) Design for verification methodology allows silicon success. EETIMES, Number: 16500856

    Google Scholar 

  14. Bentley B (2002) High level validation of next generation microprocessors. In: Proceedings of high level design validation and test (HLDVT), pp 31–35

    Google Scholar 

  15. Schubert T (2003) High level formal verification of next generation microprocessors. In: Proceedings of design automation conference (DAC), pp 1–6

    Google Scholar 

  16. Fine S, Ziv A (2003) Coverage directed test generation for functional verification using Bayesian networks. In: Proceedings of design automation conference (DAC), pp 286–291

    Google Scholar 

  17. Bryant R (1991) A methodology for hardware verification based on logic simulation. J ACM 38(2):299–328

    Google Scholar 

  18. Adir A, Asaf S, Fournier L, Jaeger I, Peled O (2007) A framework for the validation of processor architecture compliance. In: Proceedings of design automation conference (DAC), pp 902–905

    Google Scholar 

  19. Ezer S, Johnson S (2005) Smart diagnostics for configurable processor verification. In: Proceedings of design automation conference (DAC), pp 789–794

    Google Scholar 

  20. Puig-Medina M, Ezer G, Konas P (2000) Verification of configurable processor cores. In: Proceedings of design automation conference (DAC), pp 426–431

    Google Scholar 

  21. Roy A, Panda S, Kumar R, Chakrabarti P (2005) A framework for systematic validation and debugging of pipeline simulators. ACM Trans Des Autom Electron Syst (TODAES) 10(3):462–491

    Google Scholar 

  22. Adir A, Almog E, Fournier L, Marcus E, Rimon M, Vinov M, Ziv A (2004) Genesys-Pro: innovations in test program generation for functional processor verification. IEEE Des Test Comput 21(2):84–93

    Google Scholar 

  23. Shimizu K, Gupta S, Koyama T, Omizo T, Abdulhafiz J, McConville L, Swanson T (2006) Verification of the cell broadband engine processor. In: Proceedings of design automation conference (DAC), pp 338–343

    Google Scholar 

  24. Koo H, Mishra P (2006) Functional coverage-driven test generation for microprocessor verification. In: Proceedings of US-Korea conference (UKC), pp 19–24

    Google Scholar 

  25. Mishra P, Dutt N (2005) Functional verification of programmable embedded architectures: a top-down approach. Springer, Berlin

    Google Scholar 

  26. Camurati P, Prinetto P (1988) Formal verification of hardware correctness: introduction and survey of current research. IEEE Comput 21(7):8–19

    Google Scholar 

  27. Kern C, Greenstreet M (1999) Formal verification in hardware design: a survey. ACM Trans Des Autom Electron Syst (TODAES) 4(2):123–193

    Google Scholar 

  28. McMillan K (1993) Symbolic model checking: an approach to the state explosion problem. Kluwer Academic Publishers, Boston

    Google Scholar 

  29. Clarke E, Grumberg O, Peled D (2000) Model checking. The MIT press, Cambridge

    Google Scholar 

  30. Srivas M, Bickford M (1990) Formal verification of a pipelined microprocessor. IEEE Softw 7(5):52–64

    Google Scholar 

  31. Wilding M, Greve D, Hardin D (2001) Efficient simulation of formal processor models. Formal Methods Syst Des 18(3):233–248

    Google Scholar 

  32. Kuehlmann A, Eijk C (2001) Combinational and sequential equivalence checking. In: Logic synthesis and verification, Kluwer Academic Publishers, Norwell

    Google Scholar 

  33. Clarke E, Biere A, Ramimi R, Zhu Y (2001) Bounded model checking using satisfiability solving. Formal Methods Syst Des 19(1):7–34

    Google Scholar 

  34. Prasad M, Biere A, Gupta A (2005) A survey of recent advances in SAT-based formal verification. Int J Softw Tools Technol Transfer (STTT) 7(2):156–173

    Google Scholar 

  35. Ammann P, Black P, Majurski W (1998) Using model checking to generate tests from specifications. In: Proceedings of international conference on formal engineering methods (ICFEM), pp 46–54

    Google Scholar 

  36. Foster H, Krolnik A, Lacey D (2004) Assertion-based design, 2nd edn. Kluwer Academic Publishers, Boston

    Google Scholar 

  37. PSL working group (2005) Property Specification Language. http://www.eda.org/ieee-1850/

  38. SVA committee (2004) SystemVerilog Assertion. http://www.eda.org/sv-ac/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mingsong Chen .

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media New York

About this chapter

Cite this chapter

Chen, M., Qin, X., Koo, HM., Mishra, P. (2013). Introduction. In: System-Level Validation. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-1359-2_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-1359-2_1

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-1358-5

  • Online ISBN: 978-1-4614-1359-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics