We propose a new partial-scan algorithm and two new test point insertion (TPI) algorithms, TPI1 and TPI2, to improve the testability, reduce the test volume, and reduce the test application time of the circuit-under-test (CUT). The partial-scan algorithm and the test point insertion algorithms use toggling rates of the flip-flops and the candidate test point lines, analyzed using digital signal processing (DSP) methods, and Shannon entropy measures of flip-flops and candidate test point lines to select scan flip-flops and test points. We also discovered a new and the most potent combination of design-for-testability (DFT) and sequential automatic test-pattern generation (ATPG) algorithms.
Testing of complex circuits is time consuming and extremely difficult. Most circuit designs employ full-scan to alleviate the testability problems. Full-scan has two advantages. It uses a combinational ATPG for test generation and full-scan can be used to scan out the states of the CUT for post-silicon debug. But, full-scan requires long scan-in and scan-out sequences, thus resulting in longer testing times, leading to increased test power and test cost. Another disadvantage of using full-scan is increased delay on the critical paths of the CUT usually by 5 to 10%. The flip-flops on the critical path will have extra hardware.
Partial-scan with test points can help reduce test volume and test application time and achieve very high fault coverages (FCs). This reduces the test time and lowers the test power because the partial-scan chain requires shorter scan-in and scan-out sequences. Also, by avoiding scanning of flip-flops and addition of test points on critical paths, the CUT can operate without any extra delay.
The average test volume of SPARTAN partial-scan with TPI1 (excluding s38417) is 17.23% shorter than full-scan with TRAN and the average test volume of SPARTAN partial-scan with TPI2 (excluding s38417) is 7.55% shorter than full-scan with TRAN. SPARTAN's average test application time (excluding s38417) with partial-scan only is 44.30% longer than full-scan with TRAN. The average test application time of SPARTAN partial-scan with TPI1 (excluding s38417) is 18.05% shorter than full-scan with TRAN and the average test application time of SPARTAN partial-scan with TPI2 (excluding s38417) is 8.71% shorter than full-scan with TRAN.
Recommendations
A Static Approach to Prioritizing JUnit Test Cases
Test case prioritization is used in regression testing to schedule the execution order of test cases so as to expose faults earlier in testing. Over the past few years, many test case prioritization techniques have been proposed in the literature. Most ...
Faster mutation testing inspired by test prioritization and reduction
ISSTA 2013: Proceedings of the 2013 International Symposium on Software Testing and AnalysisMutation testing is a well-known but costly approach for determining test adequacy. The central idea behind the approach is to generate mutants, which are small syntactic transformations of the program under test, and then to measure for a given test ...
Using coverage criteria on RepOK to reduce bounded-exhaustive test suites
TAP'12: Proceedings of the 6th international conference on Tests and ProofsBounded-exhaustive exploration of test case candidates is a commonly employed approach for test generation in some contexts. Even when small bounds are used for test generation, executing the obtained tests may become prohibitive, despite the time for ...