Test Generation: A Symbolic Approach

  • F. Fummi
  • G. Pravadelli
Part of the Springer Series in Advanced Microelectronics book series (MICROELECTR., volume 17)

3.1 Abstract

Automatic test pattern generation (ATPG), based on random methods, is widely applied in different flavors to detect functional faults. In particular, genetic algorithms, which can be considered part of the random-based category, work quite well for a quick exploration of the test patterns space, achieving good fault coverage in a short time. However, a certain number of faults are hard to detect for random-based approaches. On the contrary, such faults can be easy to detect for other strategies, as for example symbolic test pattern generation. Nevertheless, faults that are easy to detect for random-based ATPG may be, indeed, hard to detect for symbolic techniques. Addressing this class of faults, a symbolic ATPG can require longer execution time than a random one, and in some cases it can be unable to generate test sequences for some faults. This work shows how a hybrid approach, where symbolic ATPG is applied after a random-based ATPG, may represent a valuable solution to achieve a very high fault coverage keeping low the execution time. The testing methodology is implemented in a highly flexible functional verification framework that is based on a high-level fault model and a test generation strategy applicable for both random-based and symbolic-based approaches. The applicability and the efficiency of the functional testing framework presented have been confirmed by the benchmarks analyzed.


Test Generation Fault Model Test Pattern Fault Coverage Fault Injection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Breuer MA, Abramovici M, Friedman AD (1990) Digital systems testing and testable design. IEEE PressGoogle Scholar
  2. [2]
    Buonanno G, Ferrandi L, Ferrandi F, Fummi F, Sciuto D (1997) How an evolving fault model improves the behavioural test generation. In: Proc. of ACM Great Lake Symposium on VLSI, 124–129Google Scholar
  3. [3]
    Bryant R (1986) Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers, 35(8): 79–85Google Scholar
  4. [4]
    Cho H, Hachtel GD, Macii E, Plessier B, Somenzi F (1993) Algorithms for approximate FSM traversal based on space state decomposition. In: Proc. of ACM/IEEE Design Automation Conference, 25–30Google Scholar
  5. [5]
    Corno F, Cumani G, Sonza Reorda M, Squillero G (2000) An RT-level fault model with high gate level correlation. In: Proc. of IEEE International High Level Design Validation and Test Workshop, 3–8Google Scholar
  6. [6]
    Corno F, Cumani G, Sonza Reorda M, Squillero G (2001) Arpia: A high-level evolutionary test signal generator. In: Proc. of IEEE Workshop on Evolutionary Image Analysis, Signal, Processing and Telecommunications, 298–306Google Scholar
  7. [7]
    Corno F, Prinetto P, Sonza Reorda M (1997) Testability analysis and ATPG on behavioural RT-level VHDL. In: Proc. of IEEE Int. Test Conference, 753–759Google Scholar
  8. [8]
    Damiani M, De Micheli G (1993) Don’t care set specification in combinational and synchronous logic circuits. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems, 12(3): 365–388CrossRefGoogle Scholar
  9. [9]
    Dept. of ECECS, University of Cincinnati (1999) Savant programmer’s manual. Technical reportGoogle Scholar
  10. [10]
    Ferrandi F, Fummi F, Pravadelli G, Sciuto D (2003) Identification of design errors through functional testing. IEEE Transactions on Reliability, 52(4): 400–412CrossRefGoogle Scholar
  11. [11]
    Ferrandi F, Fummi F, Sciuto D (1998) Implicit test generation for behavioural VHDL models. In: Proc. of IEEE Int. Test Conference, 436–441Google Scholar
  12. [12]
    Ferrandi F, Fummi F, Sciuto D (2002) Test generation and testability alternatives exploration of critical algorithms for embedded applications. IEEE Transactions on Computers, 51(2): 200–215CrossRefGoogle Scholar
  13. [13]
    Ferrandi F, Fummi F, Macii E, Poncino M, Sciuto D (1996) BDD-based testability estimation of VHDL designs. In: Proc. of IEEE European VHDL Conference, 444–449Google Scholar
  14. [14]
    Fin A, Fummi F (2003) LAERTE++: An object oriented high-level TPG for SystemC designs. In: Proc. of ECSI Forum on Design LanguagesGoogle Scholar
  15. [15]
    Fin A, Fummi F, Pravadelli G (2001) Amleto: A multi-language environment for functional test generation. In: Proc. of IEEE Int. Test Conference, 821–829Google Scholar
  16. [16]
    Fin A, Fummi F, Pravadelli G (2003) SystemC: methodologies and application. In: SystemC as a Complete Design and Validation Environment, Kluwer Academic Publishers, 127–156Google Scholar
  17. [17]
    Fummi F, Marconcini C, Pravadelli G (2003) Redundant functional faults reduction by saboteur synthesis. In: Proc. of IEEE Int. High Level Design Validation and Test Workshop, 108–113Google Scholar
  18. [18]
    Moussa I, Grellier T, Nguyen G (2003) Exploring SW performance using SOC transaction-level modelling. In: Proc. of IEEE Design Automation and Test in Europe, 120–125Google Scholar
  19. [19]
    Myers GJ (1979) The Art of Software Testing. Wiley-Interscience, New YorkGoogle Scholar
  20. [20]
    Silicon Graphics. Standard Template Library Documentation. Scholar
  21. [21]
    Yu X, Fin A, Fummi F, Rudnick EM (2002) A genetic testing framework for digital integrated circuits. In: Proc. of IEEE Int. Conference on Tool with Artificial Intelligence, 521–526Google Scholar

Copyright information

© Springer-Verlag London Limited 2005

Authors and Affiliations

  • F. Fummi
    • 1
  • G. Pravadelli
    • 1
  1. 1.Dipartimento di InformaticaUniversità di VeronaVeronaItaly

Personalised recommendations