Maintaining Scalability of Test Generation Using Multicore Shared Memory Systems

Taking advantage of multicore architectures can provide significant improvement for many design automation problems. However, the parallelization procedure introduces challenges, such as workload duplication, limited search space exploration, and race contention among different threads. In this article, we propose a parallel framework for automatic test pattern generation using shared memory multicore systems that support test generation (TG) for both single-detect and multiple-detect fault models. The framework follows a two-epoch approach, each focusing on a different category of faults, during which a test seed generation is followed by compatibility merging. Various optimization techniques are incorporated in each epoch, designed to achieve higher speedup for the overall TG procedure without impacting much the test set size. A cluster-based approach is also presented, extending the proposed framework to consider multiple-detect fault models without affecting its efficiency. The obtained experimental results demonstrate increased speedup rates compared with the state-of-the-art multicore-based tools while, at the same time, the test inflation problem is restrained. For the multiple-detect extension, these properties are maintained despite the increased workload and the additional constraint of retaining the number of detections for each fault while merging.

[1]  Chien-Mo James Li,et al.  A Parallel Test Pattern Generation Algorithm to Meet Multiple Quality Objectives , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Srinivas Patil,et al.  Fault partitioning issues in an integrated parallel test generation/fault simulation environment , 1989, Proceedings. 'Meeting the Tests of Time'., International Test Conference.

[3]  Peter Wohl,et al.  A distributed-multicore hybrid ATPG system , 2013, 2013 IEEE International Test Conference (ITC).

[4]  Peter Lloyd,et al.  Physically-Aware N-Detect Test , 2012, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Edward J. McCluskey,et al.  Multiple-output propagation transition fault test , 2001, Proceedings International Test Conference 2001 (Cat. No.01CH37260).

[6]  Franziska Frankfurter,et al.  Power Aware Testing And Test Strategies For Low Power Devices , 2016 .

[7]  Krishnendu Chakrabarty,et al.  Generation of compact test sets with high defect coverage , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[8]  Bernd Becker,et al.  Improving test pattern generation in presence of unknown values beyond restricted symbolic logic , 2015, 2015 20th IEEE European Test Symposium (ETS).

[9]  J.-L. Huang,et al.  A Low Communication Overhead and Load Balanced Parallel ATPG with Improved Static Fault Partition Method , 2009, ICA3PP.

[10]  Peter Wohl,et al.  Fault sharing in a copy-on-write based ATPG system , 2014, 2014 International Test Conference.

[11]  O. Golubeva Detection of hard-to-detect stuck-at faults and generation of their tests based on testability functions , 2018, 2018 IEEE International Conference on Automation, Quality and Testing, Robotics (AQTR).

[12]  Swarup Bhunia,et al.  Scalable Test Generation for Trojan Detection Using Side Channel Analysis , 2018, IEEE Transactions on Information Forensics and Security.

[13]  Friedrich Hapke,et al.  Embedded multi-detect ATPG and Its Effect on the Detection of Unmodeled Defects , 2007, 2007 IEEE International Test Conference.

[14]  Muralidharan Venkatasubramanian,et al.  Failure Evasion: Statistically Solving the NP Complete Problem of Testing Difficult-to-Detect Faults , 2016 .

[15]  Maria K. Michael,et al.  Test Pattern Generation of Relaxed $n$-Detect Test Sets , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[16]  Michael S. Hsiao,et al.  3-D Parallel Fault Simulation With GPGPU , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  Edward J. McCluskey,et al.  Stuck-fault tests vs. actual defects , 2000, Proceedings International Test Conference 2000 (IEEE Cat. No.00CH37159).

[18]  Michael S. Hsiao,et al.  GPU-based timing-aware test generation for small delay defects , 2014, 2014 19th IEEE European Test Symposium (ETS).

[19]  Charles H.-P. Wen,et al.  Suppressing test inflation in shared-memory parallel Automatic Test Pattern Generation , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[20]  Rolf Drechsler,et al.  Optimization-based multiple target test generation for highly compacted test sets , 2014, 2014 19th IEEE European Test Symposium (ETS).

[21]  James H. Aylor,et al.  An analysis of fault partitioned parallel test generation , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[22]  Sudhakar M. Reddy,et al.  TIGUAN: Thread-Parallel Integrated Test Pattern Generator Utilizing Satisfiability ANalysis , 2009, 2009 22nd International Conference on VLSI Design.

[23]  Maria K. Michael,et al.  Exploiting Shared-Memory to Steer Scalability of Fault Simulation Using Multicore Systems , 2019, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[24]  Xiaoqing Wen,et al.  GPU-accelerated small delay fault simulation , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[25]  Jiun-Lang Huang,et al.  A circular pipeline processing based deterministic parallel test pattern generator , 2013, 2013 IEEE International Test Conference (ITC).

[26]  Chien-Mo James Li,et al.  GPU-based N-detect transition fault ATPG , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[27]  Aziza I. Hussein,et al.  An Efficient SAT-Based Test Generation Algorithm with GPU Accelerator , 2018, J. Electron. Test..

[28]  Peter Wohl,et al.  Highly efficient parallel ATPG based on shared memory , 2010, 2010 IEEE International Test Conference.