Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
ATPG stand for Automatic Test Pattern Generation. It takes a gate level netlist, along with some input and output constraints, clock definitions, scan chain definitions, and generates a test pattern that can be used to find manufacturing defects in the real silicon. It also produces a fault coverage report that tells you how good your test it, and which nets are and are not covered by the test pattern.
A testbench is basically a simulation model used to simulate a design. The design can be a block, or the full chip, and the model can be behavioral, rtl, or gate. A testbench can be used for many reasons. The most common usage is a verification testbench, used to verify the correctness of the functionality of the design before taping out a chip.
A verification testbench will normally include a model of the block or chip under test, other modules or chips that drive stimulus to the chip under test, and some checker module to indicate whether the outputs behave according to specification.
You can also have a testbench that verifies the pattern produces by the ATPG tool. This testbench will normally mimic how a semiconductor tester (ATE) will sequence the test pattern into the chip under test, and check whether the outputs of the chip is identical to the expected values in the test pattern.
I think you misunderstood me. I meant by input and output constraints is defining some inputs to certain logic value to enable ATPG to run correctly. For example, scan enable or and test mode signals.
The number of pins usually does not matter in ATPG, but it does matter on the ATE. But that is different issue
The most popular commercial ATPG tools are TetraMax from Synopsys and Fastscan from Mentor Graphics. There are other ATPG tools like Encounter Test from Cadence and TurboScan from Syntest.
Go to www.design-for-test.com/dft_links.html to find links to these tools.
Most people don't bother about understanding the algorithm used to generate these patterns (unless your are writing an ATPG tool), as long as the ATPG tool produces a good test pattern.
However, if you are interested, you follow the Academic Research links in the above-mentioned website. There you can find all you want to know about ATPG and more.