200 likes | 441 Views
Memory Test - Debugging Test Vectors Without ATE. Steve Westfall Director Visual Testbench Engineering Summit Design Inc. Why Do This?. Introduces Concurrent Engineering into the process Allows for Off-line Test Program development Improves Test Program Debug efficiency. Outline.
E N D
Memory Test - Debugging Test Vectors Without ATE Steve Westfall Director Visual Testbench Engineering Summit Design Inc.
Why Do This? • Introduces Concurrent Engineering into the process • Allows for Off-line Test Program development • Improves Test Program Debug efficiency
Outline • Introduction • The Device Model • The ATE Model • ATE Model Functionality • Debugging The Test Program • Adding Memory Test Features • Edge Related Tests • Implementation Notes • Conclusion
Introduction • Goals • Testbench Methodology • What is not covered
Goals • Debug functional vectors allowing for compression constructs • Debug the timing used to test the device • Debug edge related tests
Testbench Methodology • Functionality is defined by: • Timing Diagrams • Sequence of Timing Diagrams • Reactive Testbench • Applies timing according to external control • Timing is applied by calling a function to fetch and apply the Timing Diagram
Reactive Testbench - Example Timing Diagrams: read, write, wait, ack Control is: 00 apply read 01 apply write 10 apply wait 11 apply ack Testbench becomes: switch( control ) { case 00: applyTiming( read ); break; case 01: applyTiming( write ); break; case 10: applyTiming( wait ); break; case 11: applyTiming( ack ); break; }
What is not covered • ATE Analog Characteristics • Device Analog Characteristics • DUT Board Analog Characteristics
The Device Model • Accurate Time HDL Model is Assumed • Model may be Behavioral, RTL or Gate Level • NOTE: Behavioral or RTL may need modifications for Accurate Timing • Behavioral/RTL are usually unit delay • Scale to Accurate Time if possible • Simulates Faster
The ATE Model • A reactive Testbench forms the Model • ATE Rules Checking gives ATE behavior • Edge Rules (pulse width, cycle boundary) • Inter Cycle Edge Rules • Compression Construct Rules • Valid Shape and Format Rules • Table Driven Rules • Database Access for Timing Diagrams
Simulation Model Simulation Environment HDL ATE Model HDL Device Model Signal Connections Test Program Control ATE Rules Simulation Report
ATE Model Functionality • There are many Differences between Simulation and ATE Waveforms • A Translation Unit Addresses the Differences • Timing Diagrams obtained from a Database • ATE Rules checked in several logical blocks • The model is parametric with respect to pins • DUT Model allows for ATE to Device Mapping
ATE Model DUT Pins Parametric Generic HDL ATE Model DUT Board Parametric ATE Pins Translation Unit ATE Timing Rules ATE Compression Rules ATE Shapes Program Control Report File
Debugging The Test Program • The system is data driven • Edges, Shapes and Vectors can be changed On-the-fly • Simulation results are viewed as Waveforms • A Report File is the key to easy debug • Allows for postmortem debug • Breakpoints in reporting allows for detail at runtime
Adding Memory Test Features • Memory Test is ALPG oriented • Standard Algorithms are Implemented in the Model • Control Program becomes a sequence of algorithm selections • Vector Set Needs Saving if ATE is not ALPG
Algorithm Block Walking Ones Checker Board Adjacent Cell ... ATE Vectors Algorithm Select Algorithm Selection Vector Output Timing Sequence ATE Timing Control Program Control Program
Edge Related Tests • Involves two components in Control Program • Requires Looping • Requires increment of edge time • Use the HDL and parameterize requirements • Loop requirements are simple • Edge time requirements are more involved • Signal Name to move is symbolic • Edge parameters are parametric
Implementation Notes • HDL is used when a simple scanner could not • Control File kept as a scannable file • “C” was used form most internal work • Apply Timing • Rules • Algorithms • Some ATE Rules get “bent” to cover Design • Ambiguous I/O Transitions for example
Conclusion • A Reactive Testbench is used to Model ATE • ATE Rules gives a Behavioral ATE Model • Debug is accomplished by Error Message • Standard Algorithms are added for ALPG • Edge Related tests are allowed for timing • Functional Vectors are validated without ATE