CIRCULAR BUILT-IN SELF-TEST By Sudheer Vemula Electrical and Computer Engineering Dept. Auburn University (Class Project for VLSI Testing ELEC 7250) ABSTRACT: - A program to implement Circular BIST for any circuit described in Auburn Simulation Language (ASL) has been developed. Circular BIST has been implemented for the circuit S5378 and the fault simulation results have been analyzed. The code is written in ‘C’- Language and ASL tools have been used to convert the circuit net list from HITEC to ASL. Fault simulation is performed using Auburn University Simulator (AUSIM). INTRODUCTION:The basic idea of BIST is to make the circuit test itself. The difficulty to test the VLSI chips has been increasing continuously. The number of I/O pins for most VLSI devices has increased by an order of magnitude where as the number of transistors has increased by four orders of magnitude. In-circuit testing of most circuits became infeasible because of the introduction of the surface mounted components, where the components are placed on both sides of the Printed Circuit Board (PCB). The cost of the test equipment is increasing as they are required to handle larger no. of I/O pins, higher operating frequencies, and are required to generate larger sets of test vectors. All the above mentioned difficulties can be minimized by the implementation of BIST in the circuits. In order to implement BIST we need to include extra circuitry. The extra circuitry consists of Test Pattern Generator (TPG), to generate the test patterns, the Output Response Analyzer (ORA), to compact the test results and the Test controller to control the test. BASIC BIST ARCHITECTURES:Built-in Logic Block Observer (BILBO) was the first BIST approach that was proposed and was widely used. Its architecture is as shown in the fig.1. This BIST structure was implemented by converting the normal flip-flops in BILBO flip-flops. The BILBO structure is used both as a TPG and ORA. This can be operated in four modes of operation as given in table 1. Fig. 1 Built-in Logic Block Observer B2 B1 Mode of Operation 0 0 Shift (scan) mode 0 1 MISR (BIST) mode 1 0 Initialization Mode 1 1 System mode Table 1. Modes of operation of BILBO The application and operation of BILBO is shown in fig. 2. BILBO is a test-per-clock BIST architecture. Fig. 2 Simple BILBO application to a CUT This approach has been modified into a test per clock Circular BIST approach by connecting all the flip-flops in the form of a circular chain and operating the flip-flops in the BIST mode. And the basic flip-flop architecture has been slightly modified from the initial one. Three different circular BIST approaches have been proposed. They are Circular Self-Test path (CSTP), Simultaneous Self-Test (SST) and Circular BIST. B0 Xi Mode 0 Di System 1 Di ⊕ Qi-1 BIST (a) CSTP flip-flop and modes of operation Scan B0 Xi Mode Mode 0 0 0 Initialization 0 1 Di System 1 0 Qi-1 Shift(Scan) (b) SST flip-flop and modes of operation B1 B0 Xi Mode 0 0 0 Initialization 0 1 Di System 1 0 Qi-1 Shift(Scan) 1 1 Di ⊕ Qi-1 BIST (c) Circular BIST flip-flop and modes of operation Fig 3. Comparison of circular BIST flip-flops The basic idea of all these approaches is to partition the circuit into flip-flops and combinational logic and the flip-flops are augmented with additional logic to operate in BIST mode to test the circuit. The circular BIST approach forms a large Multiple Input Signature Register (MISR) structure connecting all the flip-flops in the circuit. The output of the MISR for the current cycle will be applied as the input for the next cycle. As we are using an MISR the output responses are also being compacted simultaneously. The circular feed back path is equivalent to a characteristic polynomial P(x) = xn + 1, where ‘n’ is the number of flip-flops. AREA OVERHEAD DUE TO FLIP-FLOPS:The area over head for CSTP flip-flop is an ex-or gate and a multiplexer. It has an overhead of 7 gates, if we assume a 2-to-1 multiplexer is made up of 3 elementary logic gates and an ex-or with 4 gates. The main disadvantage is that it does no have scan mode. The area overhead for SST flip-flop is 9 gates and for Circular BIST flip-flop is 6 gates. The circular BIST approach has the lowest area overhead and it has 4 possible modes of operation including scan and initialization mode. MY WORK:The Circular BIST approach has been used, for implementing the circular BIST for s5378, as it has the lowest area and highest flexibility (not required for this project). All the flip-flops, outputs and inputs of the circuit have been replaced by the circular BIST flip-flop shown in fig. 3c. . PROCEDURE TO IMPLEMENT CIRCULAR BIST:1) The file in ‘bench’ format has to be converted in to ASL file. This is done using the tools provide by Dr. Stroud, the command is ~strouce/bin/isc2asl name.bench, name.asl file is created. 2) Circular BIST can be implemented by executing the provided program. This can be done using the commands cc name.c , An executable a.out is created, then the command a.out name.asl cbistname.asl (name.asl is the input ASL file and cbistname.asl is the output ASL file with the Circular BIST inserted). 3) After the Circular BIST has been implemented, fault coverage by implementing the Circular BIST has to be calculated. Fault coverage can be calculated by using fault simulation. Procedure to perform Fault Simulation using ASL:a) The vector file (cbistname.vec) has to be created with the no. of inputs + 2. The two additional inputs are the control lines to control the operation of the circuit. The no. of vectors decide the no. of cycle for which the circuit has to be run in BIST mode. b) The control file (cbistname.cnt) has to be created. This file contains the commands to generate fault list and perform the logic and fault simulation. (Once the fault simulation has been done, we can find the fault profile). EFFICIENCY OR COVERAGE :As the circuit is a sequential circuit, the test generation is difficult when compared to the combinational circuit. So, the vectors produced by HITEC do not give good enough fault coverage because of the difficulty in controlling the state of the flip flops. ADVANTAGES:The testing is performed by the BIST circuitry at the system clock frequency; this helps in the detection of delay faults also. POSSIBLE IMPROVEMENTS:Once full circular BIST has been implemented, the program can be modified to implement partial circular BIST. By implementing partial circular BIST, we can remove the BIST flip-flops in the critical paths and reduce the delay overhead. CONCLUSION:Circular BIST gives better fault coverage for this circuit than the fault coverage with vectors produced by HITEC. The fault coverage is not too high when the circuit is operated for 10,000 cycles in BIST mode. From the fault profile, we can notice that the first 250 vectors (500 cycles) detect around 2900 faults where as the next 9,750 vectors detected only 500 faults. Because we cannot apply deterministic vectors as inputs, we cannot achieve the required fault coverage within limited no. of clock cycles. Hard to detect faults take more amount of test time, this is one of the main problems associated with BIST. The fault coverage can be improved and the test time can be reduced if we use the scan mode of operation in between BIST cycles. RESULTS:The fault coverage of HITEC can’t be compared with that produced by ASL because they use different algorithms for collapsing the faults. The fault lists provided by the two do not match. The fault coverage statistics of HITEC are presented just for comparison. There are separate tests to test the scan chain, so the faults present in the scan chain are removed when the fault simulation is performed with circular BIST included. Fault Coverage achieved using HITEC:Total No. of faults present: 4603 No. of faults detected: 3146 No. Undetected Faults: 1379 No. of Potentially Detected Faults: 78 No. of redundant faults: 166 No. of aborted faults: 1291 Coverage: 0.6385 No. of vectors generated by HITEC: 894 Fault Coverage achieved when Circular BIST was implemented and the circuit was executed for 10,000 Clock cycles (Excluding faults in BIST flip-flops):No. of collapsed faults: 3905 No. of faults detected: 3409 No. of undetected faults: 496 Fault coverage: 0.87 Fault Profile:Vecnum – Vector Number, Each vector is counted twice so that it is applied for both the low and high states of the clock Numflts – No. of faults Cumm – Cumulative number of faults Fault detection distribution vecnum numflts cumm 6 356 356 8 163 519 10 243 762 12 121 883 14 103 986 16 90 1076 18 96 1172 20 86 1258 22 94 1352 70 7 2105 24 26 28 30 32 34 36 38 40 42 44 46 93 84 63 64 39 38 36 34 22 27 20 45 1445 1529 1592 1656 1695 1733 1769 1803 1825 1852 1872 1917 48 50 52 54 56 58 60 62 64 66 68 22 13 24 17 18 23 10 9 5 8 32 1939 1952 1976 1993 2011 2034 2044 2053 2058 2066 2098 72 74 76 78 80 82 84 86 88 90 92 94 96 98 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 134 138 140 144 146 150 152 154 156 162 164 166 170 174 180 182 182 54 23 38 13 30 9 14 3 48 5 14 9 16 12 4 5 12 5 6 5 3 22 6 2 5 2 1 2 6 5 2 3 3 9 5 1 1 2 1 1 8 2 2 52 29 29 2159 2182 2220 2233 2263 2272 2286 2289 2337 2342 2356 2365 2381 2393 2397 2402 2414 2419 2425 2430 2433 2455 2461 2463 2468 2470 2471 2473 2479 2484 2486 2489 2492 2501 2506 2507 2508 2510 2511 2512 2520 2522 2524 2576 2605 2605 184 188 190 192 198 200 202 206 230 234 236 242 244 248 250 256 258 262 284 310 316 318 328 334 336 338 346 360 370 382 392 396 398 400 410 426 428 430 438 444 452 456 468 478 496 500 51 2 1 3 7 1 4 2 15 2 4 25 2 1 2 1 1 1 1 2 2 2 1 12 3 3 29 9 1 1 8 1 27 18 1 1 17 43 1 9 3 1 1 1 1 2 2656 2658 2659 2662 2669 2670 2674 2676 2691 2693 2697 2722 2724 2725 2727 2728 2729 2730 2731 2733 2735 2737 2738 2750 2753 2756 2785 2794 2795 2796 2804 2805 2832 2850 2851 2852 2869 2912 2913 2922 2925 2926 2927 2928 2929 2931 504 506 510 522 542 562 584 586 596 614 634 652 654 662 668 670 678 696 702 704 706 708 710 712 714 720 768 800 802 822 824 826 830 832 836 852 894 912 914 920 948 950 952 992 994 996 4 2 1 3 1 1 2 1 1 4 2 3 1 1 1 5 1 3 2 6 10 7 1 3 5 1 1 1 8 8 2 3 1 3 4 2 1 4 1 2 2 1 1 2 9 3 2935 2937 2938 2941 2942 2943 2945 2946 2947 2951 2953 2956 2957 2958 2959 2964 2965 2968 2970 2976 2986 2993 2994 2997 3002 3003 3004 3005 3013 3021 3023 3026 3027 3030 3034 3036 3037 3041 3042 3044 3046 3047 3048 3050 3059 3062 1008 1016 1028 1030 1034 1048 1058 1060 1084 1096 1102 1116 1120 1122 1134 1136 1164 1168 1174 1180 1186 1188 1196 1198 1204 1234 1280 1282 1286 1306 1314 1316 1378 1380 1424 1426 1470 1508 1540 1552 1556 1592 1622 1624 1716 1744 1 2 3 1 2 1 1 1 1 5 2 1 3 2 1 2 2 1 1 1 10 14 2 1 2 1 4 4 2 2 1 1 1 5 2 5 1 1 2 2 10 2 7 3 3 1 3063 3065 3068 3069 3071 3072 3073 3074 3075 3080 3082 3083 3086 3088 3089 3091 3093 3094 3095 3096 3106 3120 3122 3123 3125 3126 3130 3134 3136 3138 3139 3140 3141 3146 3148 3153 3154 3155 3157 3159 3169 3171 3178 3181 3184 3185 1756 1764 1856 1900 1998 2072 2078 2082 2086 2090 2108 2134 2144 2154 2186 2218 2258 2260 2318 2334 2374 2376 2384 2458 2530 2560 2564 2624 2644 2686 2770 2772 2814 2822 2888 2932 3028 3040 3042 3044 3046 3210 3306 3314 3336 3338 1 1 2 1 3 1 1 3 1 4 1 1 2 4 1 2 1 2 2 2 1 1 1 3 2 1 1 1 2 1 1 1 1 5 1 1 2 7 1 3 1 2 1 1 1 2 3186 3187 3189 3190 3193 3194 3195 3198 3199 3203 3204 3205 3207 3211 3212 3214 3215 3217 3219 3221 3222 3223 3224 3227 3229 3230 3231 3232 3234 3235 3236 3237 3238 3243 3244 3245 3247 3254 3255 3258 3259 3261 3262 3263 3264 3266 3368 3402 3532 3556 3562 3594 3810 3974 4072 4140 4168 4426 4430 4450 4476 4520 4658 4662 4922 4958 4960 5038 5120 5196 5292 5490 5492 5582 5688 5700 5930 5962 6200 6252 6378 6454 6536 6908 7042 7232 7282 7304 7342 7356 7726 7820 1 2 5 4 1 2 4 2 2 2 10 1 1 1 2 1 5 4 1 4 1 1 1 2 1 1 2 2 1 3 1 2 3 1 1 1 3 1 1 1 1 1 1 1 2 1 3267 3269 3274 3278 3279 3281 3285 3287 3289 3291 3301 3302 3303 3304 3306 3307 3312 3316 3317 3321 3322 3323 3324 3326 3327 3328 3330 3332 3333 3336 3337 3339 3342 3343 3344 3345 3348 3349 3350 3351 3352 3353 3354 3355 3357 3358 7858 7892 7894 8018 8576 9216 9568 9618 9760 9958 11588 11670 12110 12316 12488 12634 12770 12892 13142 13394 13530 13756 13892 13894 14112 14132 14824 16598 16794 18598 19536 19540 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 4 1 1 7 1 1 1 4 2 2 1 2 1 1 3359 3360 3362 3363 3365 3366 3367 3368 3369 3371 3372 3373 3374 3375 3376 3377 3379 3380 3384 3385 3386 3393 3394 3395 3396 3400 3402 3404 3405 3407 3408 3409
© Copyright 2026 Paperzz