A NAND gate Test Program

Let us go through a simple example to illustrate the test development process. Consider a simple NAND gate device below with inputs A, B and output Q. We can call these I/O pins. We also have a pin for the power supply, Vdd and a pin for ground, Gnd.

NAND gate Truth Table
A1 B1 Q1
0 0 1
0 1 1
1 0 1
1 1 0

Fig.1 A 4-NAND IC(1)

Fig.1 A NAND gate symbol/schematic

Obviously, we want to test the NAND functionality against the truth table, applying the logic levels to the inputs and checking the output. However, we also have to do more tests as part of checking the manufacturing process. These are called parametric tests. But first, let's map the DUT to the Tester resources.

Channel Map

The test software development toolkit will include a channel map to indicate the tester-DUT mapping. In our simple example, we will consider the 4 NAND gates in the IC as 4 sites for multi-site testing. We will assign each site to a separate slot (group) of digital channels. For example, channel map entry 1.ch2 indicates tester slot 1, channel 2. In actual practice, testers have several hundred digital channels, so we could easily test many quad-NAND ICs in parallel.

A Channel Map
Pin Name Site0 Site1 Site2 Site3
A 0.ch0 1.ch0 2.ch0 3.ch0
B 0.ch1 1.ch1 2.ch1 3.ch1
Q 0.ch2 1.ch2 2.ch2 3.ch2
Vdd 12.dps0 Site0 Site0 Site0

A Test List

  1. Continuity (Opens/Shorts)
  2. Pin-to-Pin Shorts Test
  3. Power Supply Shorts
  4. Input Leakage (IIH, IIL)
  5. Output Voltage (VOH, VOL)
  6. Functional Tests
  7. Timing Tests
  8. Supply Current Tests

Continuity Test

We begin by testing the ESD (Electro-Static Discharge) protection diode structure in the device. This is called a Continuity test because it allows us to test if there is a open or a short inside the device that was caused during manufacturing.

On each of the I/O pins, we have a diode each connecting to Vdd and Gnd. The purpose of these diodes is to protect the internal device circuitry in case of ESD and pass the current through to either supply or ground. The goal is to test for the existence of each of these diodes. The voltage drop through a forward-biased diode is ~0.6v.

We need to connect and set the supply pin, Vdd = 0v. The tester digital pin electronics is connected to the I/O pin. Because we need to measure the diode voltage drop, we will use the PMU(Parametric Measurement Unit) which is part of the pin electronics available at each pin.

Fig.1 ESD diode structure
  1. If we pull say, 100ua (program -100uA on the tester) from the DUT pin, we will forward bias the Gnd diode and reverse-bias the Vdd diode. We now measure the voltage at the pin. If we read ~-0.6v at the pin, it means we have a diode drop w.r.t. Gnd and we have successfully tested the Gnd diode
  2. Conversely, if we push 100ua (program +100uA on the tester) into the DUT and measure ~+0.6v at the pin, we have a diode drop from the the pin to Vdd (0V) and we have successfully tested the Vdd diode
Since we have a PMU available at each pin, we can test all the device I/Os in parallel, once for Gnd diodes and once for Vdd diodes and do a pass/fail based on the measurements. If we read a larger magnitude voltage, then we may have a open and if we read a much smaller voltage, we may have a short instead of the diode.

Pin-to-Pin Shorts Test

We can test for adjacent pin to pin shorts by forcing a logic high on all even pins and 0v on all odd pins and then forcing a logic high on all odd pins and 0v on all even pins. We can read the current being pulled or pushed at each pin and since all pins should be isolated from each other, we will know if there is a current path from one pin to another causing a leaky path or a short.

Power Supply Shorts Test

Note that we have not powered up the DUT so far. We need to test if any of the power circuits on the DUT are shorted and power it up gracefully. The designer may recommend a power up sequence for multiple power supplies on the DUT. In this test:

  1. Power up the DUT supplies to a fraction of their nominal value.
  2. Measure the current on each of the supplies.
  3. Fail DUT and stop test on site if current is too high.
Since they are not fully powered up, we expect the measured current to be very small, usually in micro-amps. If we see a large current on any of the supplies, it may be shorted. If we continue to power up the DUT, a large current may flow and damage circuits on the DIB.

Input Leakage Test

In the DUT, we could have leaky transistors, vias etc. To detect these, we increase Vdd to the max rating, to exercise any leaky paths. If we have digital I/Os, we must first get these pins to an input state. This is usually accomplished by a pattern. We drive all inputs to the logic high and measure the current being pulled at each pin (Iih). We repeat this taking all input to 0v and measure the current being pushed by the DUT (Iil).

Functional Tests

A tester digital pattern is essentially a truth table where we control the logic states of the inputs and test the logic states on the output. For our NAND example the pattern may look like:

NAND gate pattern
Vector Microcode A1 B1 Q1 A2 B2 Q2 A3 B3 Q3 A4 B4 Q4
0 Start 0 0 H 0 0 H 0 0 H 0 0 H
1 0 1 H 0 1 H 0 1 H 0 1 H
2 1 0 H 1 0 H 1 0 H 1 0 H
3 Stop 1 1 L 1 1 L 1 1 L 1 1 L

Output Voltage

To test the above pattern, we need to set voltage levels for logic levels 0,1 on the input pins. These are called Vil and Vih respectively. We also need to set voltage levels to test for logic L, H on the output pins. These are called Voh and Vol repectively. For example, we may set:

  1. Vih = 1.2v
  2. Vil = 0v
  3. Voh = 1.0v
  4. Vol = 0.4v

In real applications, the DUT output may be required to drive a certain load, i.e the DUT output must be able to sutain the voltage on the output at Voh while driving the load current. This current is called Ioh. Conversely, the DUT must be able to sustain the outpur at Vol while current is being pushed into it by the load. This current is called Iol. The pin electronics provides a programmable active load, so we can set Ioh and Iol during the pattern test. For example, we may set:

  1. Ioh = 4mA
  2. Iol = -4mA

Fig.1 Digital Channel / Pin-Electronics

Timing Tests

We also need to specify the timing for each of the vectors in the tester pattern. This includes the time-period/cycle for each row in the pattern, the time instant within the cycle when the tester should drive the input(s) to the Vih/Vil levels, the time instant when the output(s) are expected to change and be stable, so the comparator/receiver inside the pin-electronics can check for the Voh/Vol levels. For example, we may set:

  1. tp = 100ns (10MHz)
  2. d0 = 0ns
  3. d1 = 10ns
  4. d2 = 100ns
  5. r1 = 50ns
  6. r2 = 75ns
Fig.1 NAND gate timing

Supply Current Tests

We increase Vdd to the max rating and measure the current the device pulls from the supply while running functional tests.


  1. Wikipedia NAND gate
© 2021 Copyright. For individual use only. No liability is accepted for any consequences of using information on Testips.com.