**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**

• 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.

**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.

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) = x ^{4} + 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.

Cycle | LFSR Input | Q_{3} Q_{2} Q_{1} Q_{0} |

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 + x ^{2} + x^{4} + x^{5} + x^{7} + x^{8}*.

• Now consider the same LFSR shown in Figure 3, whose polynomial is *f(x) = x ^{4} + x + 1*.

The modular LFSR acts as a Modulo-2 divider, whose –

Dividend = LFSR input bit stream =

*x + x*

^{2}+ x^{4}+ x^{5}+ x^{7}+ x^{8}Divisor = LFSR characteristic polynomial =

*x*

^{4}+ x + 1Quotient = we calculate it

Remainder = the Signature

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

As you can see the Remainder is *1 + x ^{2} + x^{3}*, 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.

Cycle | MISR Inputs | Q_{3} Q_{2} Q_{1} Q_{0} |

0 | 011011 010110 010111 010110 |
0 0 0 0 |

1 | 01101 01011 01011 01011 |
0 1 0 1 |

2 | 0110 0101 0101 0101 |
0 1 0 0 |

3 | 011 010 010 010 |
1 1 0 0 |

4 | 01 01 01 01 |
0 1 1 1 |

5 | 0 0 0 0 |
0 1 0 1 |

6 | |
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.*

**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 (P_{masking}) = Probability of even number of 1s in same column

Study shows –

K = length of input bit stream

N = degree of polynomial