IEE5650: VLSI Testing
Assignment #6 (Due: June. 4 , 2018)
last update: May. 12, 2018
Reading:
-
Chapter 7 Combinational Circuit Test Generation (Bushnell and Agrawal), or Section 4.1-4.5 (Wang, Wu and Wen)
-
ITC99 benchmark (including b17.bench circuit)
-
b17.bench (break sequential circuit into combinational circuit)
-
Please put all results into a report and try to discuss them
-
Please compress the folder containing your source code and report to a file named by "
HW6_your student ID" and upload it to E3
(http://dcpc.nctu.edu.tw/)
-
The report should include
- The algorithm or idea of your code
- Several case results
- Discuss your results
- How to compile your code
- Other information (optional)
Homework Problems:
-
(200 pts) Combinational test generation
-
(20 pts) Generate test vectors for b17.bench by the PODEM program. Set backtrack limits to 1, 10, 100, 1,000, or more and compare the number of patterns, the fault coverages, CPU runtimes, and actual backtrack numbers generated by running the program. (targeting circuit: b17.bench)
-
(30 pts) (Verify ATPG results) Generate test vectors for b17.bench benchmark circuit with collapsed fault list (checkpoint fault list) and total fault list. Then run the fault simulator on the total fault list with the two sets of generated patterns. Is there any difference? If so, can you explain what happened? (target circuit: b17.bench)
-
(50 pts) (PODEM Implementation) First, trace the ATPG part of the PODEM program and try to understand the implementation of the test generation procedure. Then use c17.bench circuit to demonstrate the PODEM procedures (print to stdout by inserting printf or cout). Selected fault list is listed below and you have to exercise most procedures used in the ATPG. It is recommended to use a table for the program outputs to show each step (fault activation, fault propagation, backtrace, forward simulation, backtrack, etc.), and a decision tree will be helpful for viewing the process. (target circuit: c17.bench) fault_list
-
(50 pts) (ATPG with random patterns) Use a random pattern generator as the first stage of a ATPG system. The random pattern generator stops at either a fixed number of patterns (1000 patterns) or a saturated fault coverage (90%). After the random generator, PODEM will be used to target the remaining undetected faults. Please compare the results with the original PODEM. Note that the random pattern stage and ATPG stage have to be integrated such that you can measure the corresponding CPU times. (target circuit: b17.bench, s35932_com.bench, s38417_com.bench, s38584_com.bench)
-
(50 pts) (Test generation for bridging faults) Please modify PODEM program to deal with the bridging fault list produced in homework #4-1.-b.. Verify your results with the fault simulator implemented in assignment #5.
Grading:
- Correctness 90%
- Report 10%
Attention:
-
Please just output the original output format of ATPG.
-
Command for d.:
- ./atpg -random_pattern -output [output_pattern] [circuit_name]
-
Command for e.:
- ./atpg -bridging_atpg -output [output_pattern] [circuit_name]