Response Analyzer

What is the role of Response Analyzer (RA)?

  •  It compresses the CUT output responses into a small signature, so that it can be stored on-chip.
  •  It compares the signature (generated in silicon) with the gold signature (generated in pre silicon) to determine Pass/Fail.
  •  It is also called signature analyzer or output response analyzer.

Note: Gold signature meaning the signature generated in the absence of any fault

What are the characteristics of a good RA?

  •  The signature generated should be as small as possible, so that it occupies less memory while storing the gold signature on-chip.
  •  It should have correct Pass/Fail decision, i.e. low aliasing.
  •  The RA logic should be as small as possible, implies less area overhead.
  •  It should support diagnosis, implies when CUT fails it should be able to find the source of failure.

Note: It is very difficult to meet all the above requirements in the same RA


  •  Aliasing occurs when the signature generated by a faulty output is same as the gold signature. Signature faulty o/p = Signature good o/p
  •  Thus aliasing can lead to loss in fault coverage as we cannot cover the faults that will be generating the gold signature.

Figure 1: A diagram showing the concept of aliasing while mapping occurs between CUT’s output space and RA’s signature space

Probability of Aliasing (PAL)

It can be defined as –

Note: Lower the PAL, better it is.

Example – Suppose we use a XOR gate as RA for a Circuit Under Test (CUT) and ‘01’ is the good output from CUT. Thus gold signature generated by the RA is 1.

Figure 2: An example to demonstrate how PAL is calculated
CUT’s output Signature (RA’s output)
01 1 (gold signature)
10 1 (aliasing occurs)
00 0
11 0

LFSR based Response Analyzer (RA)

   1.  Serial : compress one bit at a time
  2.  Parallel : compress multiple bit at a time

LFSR based RA – serial

As discussed earlier a LFSR consists of FF and feedback XOR. Modular LFSRs with external input is used for RA, as shown in Figure 3.

Consider a LFSR with a characteristic polynomial f(x) = x4 + x + 1. The external input to the LFSR is a bit stream coming from a CUT. Let us find the signature generated by this input stream.

Figure 3: LFSR based serial RA
Cycle LFSR Input Q3 Q2 Q1 Q0
0 011011011 0 0 0 0
1 01101101 1 0 0 0
2 0110110 1 1 0 0
3 011011 0 1 1 0
4 01101 1 0 1 1
5 0110 0 1 0 0
6 011 0 0 1 0
7 01 1 0 0 1
8 0 0 1 0 1
9   1 0 1 1

As you can see, the final signature is generated once all the input bit stream are exhausted and in this case the gold signature is 1011. The gold signature size is equal to the number of flops in LFSR.

But this method is too slow. Let’s say the input bit stream is of 200 bits, you don’t want to calculate the LFSR value at each cycle as it will take a long time. Therefore we use CRC theory to calculate the signature.

CRC Theory

  •  It represents the input bit streams by a polynomial.

     Example: The bit stream 011011011 (The right most bit is the first bit to enter LFSR) shown in Figure 3, can be represented as x + x2 + x4 + x5 + x7 + x8.

  •  Now consider the same LFSR shown in Figure 3, whose polynomial is f(x) = x4 + x + 1.

     The modular LFSR acts as a Modulo-2 divider, whose –
         Dividend = LFSR input bit stream = x + x2 + x4 + x5 + x7 + x8
         Divisor = LFSR characteristic polynomial = x4 + x + 1
         Quotient = we calculate it
         Remainder = the Signature

Note: In Modulo-2 arithmetic, Addition = Subtraction = XOR

As you can see the Remainder is 1 + x2 + x3, which is equivalent to 1011 (same as the signature calculated from the table)

Probability of Aliasing (PAL) Estimate of LFSR based serial RA

M = length of input bit stream
N = degree of polynomial

Study shows, PAL of primitive polynomial converge to final steady state value faster than non-primitive polynomial. Thus it is good to use primitive polynomial.

LFSR based RA – parallel

Serial RA only compress one CUT output at a time, implies for compressing multiple CUT outputs at a time we need one LFSR for each CUT output, which will lead to too much hardware overhead. Therefore we use a parallel LFSR based RA called Multiple Input Shift Register (MISR).

MISR has similar structure to LFSR, except parallel inputs feed XOR between the stages as shown in the Figure 4. Also MISR characteristic polynomial is same as LFSR.

Figure 4: LFSR based parallel RA (or MISR with 4 parallel inputs)
Cycle MISR Inputs Q3 Q2 Q1 Q0
0 011011
0 0 0 0
1 01101
0 1 0 1
2 0110
0 1 0 0
3 011
1 1 0 0
4 01
0 1 1 1
5 0
0 1 0 1
1 0 1 1

Like serial LFSR based RA, the final signature is generated once all the input bit stream are exhausted and in this case the gold signature is 1011. The gold signature size is equal to the number of flops in MISR.

Equivalent LFSR of a MISR

MISR and its input bit stream can be mapped to its corresponding equivalent LFSR by just phase shifting and adding the input bit stream as shown in Figure 3.

Note: The final input bit stream to its equivalent LFSR is same as the one in Figure 1.

Figure 5: Equivalent LFSR of the MISR shown in Figure 4

Probability of Aliasing (PAL) Estimate of MISR

K = length of input bit stream
M = length of equivalent LFSR bit stream = K + N – 1
N = degree of polynomial

Masking in MISR

Masking means one error bit cancels another error bit before reaching the MISR feedback tap points. Consider the scenario shown below –

Assuming there is no aliasing, the signature generated in Case 1 will be different that the golden signature. However the signature generated in Case 2 will be same as the golden signature as the equivalent LFSR input bit stream in the presence of error is same as the golden input bit stream. This is known as Masking.

Note: If the signature generated by the case 1 is equal to golden signature then we would have called that aliasing.

Probability of Masking (Pmasking) = Probability of even number of 1s in same column

Study shows –

K = length of input bit stream
N = degree of polynomial