 Hello everyone, I am Prashant S. Malge, Assistant Professor, Department of Electronics Engineering, Vulture Institute of Technology. Today we will see a random test method for determining the test set required for testing a circuit. The learning outcome. At the end of the session, students will be able to explain the random test method for choosing the test. In a previous lecture, we have seen the path sensitizing method for determining the test set, but determining the test using path sensitizing concept becomes difficult when the circuit becomes larger. For example, if you consider a n variable function, there are 2 raise to 2 raise to n possible function. For example, here if we consider a 2 variable function, so the 2 variable there are 4 possible values. So for all these 4 combinations, the output of a circuit may be all 0s to all 1s. So there are these 16 possible functions. So 2 raise to 2 raise to 2, there is 2 raise to 4 equal to 16 possible functions are there. At end every time our circuit is implementing one of the function, but because of some fault may be any of the 15 faulty circuit gets implemented. Now consider the XOR circuit. Here let us consider all possible faults such as stuck at 0 and stuck at 1 on wires B, C, D, H, K and F. Now if in the above circuit, if wire B is stuck at 0, that is B stuck at 0, which function the circuit will implement, pause this video for a minute and write your answer. Now you might have written the answer. We will see what happens when B is stuck at 0. When B is stuck at 0, now suppose if we consider the output of this circuit for input combination 0 0 0 1 1 0 and 1 1. As B is stuck at 0, that is this wire W1 is stuck at 0, for first 2 cases it is ok, the output will be or the actual input applied will be 0 0 and 0 1. But here although we are saying 1 0 as input applied, but as B is stuck at 0, actual input goes is 0 0. Therefore, we get the output 0 and here in this case 1 1, but instead of that as B is stuck at 0, that is W1 stuck at 0, the actual input is 0 1, so output is 1. So, the function is in actual function implemented will be 0 1 0 1, that is F5, that is F is equal to value of W2. So, actually in case of XOR function, F6 function is to be implemented, that is the output should be 0 1 1 0, but instead of that a faulty function F5 is implemented. So, in the same way we can consider the fault on each and everywhere and we can see or can find out which faulty circuit gets implemented because of that particular fault. So, here is a summary of all these faults. So, if B is a stuck at 1, the function implemented is F10, that is W2 bar, C stuck at 0, the function will be W1 and so on. So, as here we see there are B, C, D, H, K, so there are 5 different wires. So, each wire may have a fault stuck at 0 and stuck at 1. So, in these cases it may implement any of these 9 faulty functions because H is stuck at 0 as well as K stuck at 0 implements F15. So, once again here is a summary of the functions. Say for example, if a fault is D stuck at 0, the function implemented is F0, if the fault is K stuck at 1, the fault is F2, faulty function implemented is F2. So, if the fault is K stuck at 1, the faulty function implemented is F2 and so on. So, now here we can test the circuit by selecting the test randomly. Let us assume that the first test selected randomly is W1, W2 equal to 0, 1. So, W1, W2, 0, 1 should produce an output 1. So, with 0, 1 the output should produce 0, 1. It means if the output we are getting is 1, it means that the function is F0, F2, then F3 and F10 out of these 4 faulty function is not implemented. So, the first set distinguish the good circuit from the faulty circuit. So, out of the total 9 faulty circuit, we can say that these 4 faulty circuit is not implemented or the fault corresponding to these particular functions is not present in the circuit. Now, suppose randomly selected second test is W1, W2 equal to 1, 1. This produces the correct output at 0 and if it produces the correct output at 0, it means that the other 4 functions like F7, F5 in which case this 1, 1 should produce 1, F7, then F15 and F3 is not implemented. Although this F3 is already distinguished by the previous test vector 0, 1. So, additionally these 3 faulty circuit gets distinguished by the second test. And suppose if I consider the third test randomly chosen is 1, 0 which will produce the correct output as 1 and if it produces that correct output it means that this F4 and F12 these 2 faulty circuits get distinguished from the good circuit. So, these 3 randomly selected tests. So, in this way these 3 randomly selected test distinguish all the faulty circuits possible faulty circuits in the. So, these 3 randomly selected tests detect all the faulty circuits in the faulty circuit that involve in the faults. So, these 3 randomly selected tests detects all the faulty circuits that are involved in the faults listed in the table. Moreover, here we have observed that the first 2 test themselves have detected maximum number of faulty circuits. So, this suggests that it is possible to use the random test method for determining the test set. In general if you look at these particular functions the first randomly selected test will distinguish 8 of the faulty circuits. Because suppose for example, we are considering this fault correct circuit is producing output 0, then in first randomly selected test 8 of the functions which are producing the output 1. So, these faulty circuits get detected in the very first test. So, in a randomly selected second test remaining 4 out of remaining 8 rather the 4 out of remaining 8 will also get detected. So, this way it is possible to derive the suitable test set by selecting random test. The probability that the first few test detects a large portion of all possible faults is very high. Specifically in a circuit consisting of 2 variable functions the probability that each faulty circuit can be detected by the first test is p 1 is equal to 1 upon 2 raise to 2 raise to 2 minus 1 into 2 raise to 2 raise to 2 minus 1 that is 8 divided by 15 that is 53 percent. So, this is the ratio of the total number of faulty circuit that produces an output value different from the good circuit to the total number of faulty circuits. Because in case of a 2 variable functions one of the function is the correct function and the remaining 15 may be faulty functions. So, total faulty functions possible are 15 out of that 8 can be distinguished with the first test. Therefore, the probability of detecting faulty circuit by the first test is 0.53. So, in case of a n variable function the first test detects 2 raise to 2 raise to n minus 1 out of 2 raise to 2 raise to n minus 1 possible faulty functions. So, with m test the probability that a faulty circuit will detected is p m is equal to 1 upon 2 raise to 2 raise to n minus 1 into summation i equal to 1 to m 2 raise to 2 raise to n minus i. So, when i is equal to 1 this is 2 raise to 2 raise to n minus 1 say for example, in case of n equal to 2 is 2 raise to 3 that is 8 8 by 15 plus next time in i equal to 2 it will be 2 raise to 2 that is 4 minus 2 2 raise to 2 is 4. So, 4 by 15 when i equal to 3 it will be 2 raise to 2 raise to 2 that is 4 minus 3 1. So, 2 by 15. So, this way the probability can be calculated. So, thus the random test works particularly well for the first test for the circuits that do not have high fanning. The simplicity of this random testing is one of the attractive feature. So, this is the effectiveness of a random testing thus random testing finds very effective for testing some of the circuits. Thank you.