# Introduction uilt in self test (BIST) design technique is a part of circuit which is used to test the circuit itself. Engineers design BISTs to satisfy demands such as lower repair cycle times or constraints such as limited technician accessibility and cost of testing during manufacture and high reliability. The main purpose of BIST is to reduce the test complexity, and thereby decrease the cost and reduce dependence upon external (pattern programmed) test equipment [1]. Built in self test techniques are very useful in testing of logic circuits, because they offer a cost effective way to test complex digital devices. First the BIST concept was implemented on combinational circuits, after that it found quick demands in the testing of regular structures like programmable logic arrays, read only memories, and random access memories. Quick increment of multifaceted nature in the integrated circuits has prompt impact following on memory testing. On one view, the limit of randomaccess memories upgrades, in this manner expanding the test time and cost, on the other view, the complexity of memory circuits becomes more, and therefore more failure modes and faults should be considered in order to get a product with good quality [4]. Accordingly, different constraints need to take care while considering a test algorithm. Minimizing the number of memory operations in order to allow large capacity memories to be tested in proper period of time and covering a larger collection of memory faults. In the last previous days of memory design test procedures were developed in an ad-hoc manner. The fault coverage of these ad-hoc test procedures was limited and often indeterminable [2]. This shortcoming, acknowledged by most researchers, motivated the introduction of such fault models as stuck-at faults, decoder faults, coupling faults. If density of memory circuits increases, it increases coupling effects then the pattern sensitive fault PSF is becoming very important fault model [3]. The # b) Neighborhoods Pattern Sensitive Faults A Pattern Sensitive Fault is a restrictive coupling fault in which the content of a memory cell, or the capacity to change its content, is affected by a specific bit pattern in different cells in the memory. Here the information maintenance and change of the victim cell are influenced by an arrangement of aggressor cells. A neighborhood pattern sensitive Fault (NPSF) is a special instance of pattern sensitive faults [8], wherein the affecting (coupling) cells are in the neighborhood of the impacted (coupled) cell. The coupled cell is known as the base (or victim) cell and the coupling cells are known as the deleted neighborhood cells. The neighborhood incorporates 4 deleted neighborhoods and one base cell. It forms the coupling of these 4 cells with the base cell considering effect as the NPSF fault modeling. # c) Active NPSF The base cell changes its contents because of changes in the deleted neighborhood pattern. To identify these affect, every cell must be read in state 0 and in state 1 for every single conceivable change in the deleted neighborhood pattern. There are two distinctive conceivable states for the base cell (0 and 1), N-1 methods for picking the deleted neighborhood cell which must experience one of two conceivable advances (? or â??"), and N-2 potential outcomes for the rest of the neighborhood cell contents. 2* (N-1)*2*2N-2 = (N-1)* 2N is the aggregate number [8] of active neighborhood patterns (ANPs). It require 128 patterns for identifying active NPSF faults. For type-1 NPSF, 2 is base cell and 0, 1, 3 and 4 are deleted neighborhood cells. # d) Passive NPSF The content of the base cell can't be changed because of a specific neighborhood pattern. Every cell must be written and read in state 0 and in state 1 for all changes of the deleted neighborhood pattern. For each of the 2N-1 deleted neighborhood patterns, the two conceivable advances ? and â??" must be confirmed. Subsequently, the aggregate number of PNPSFs is 2*2N-1=2N. Here N is number of cells. It require 32 test patterns for recognizing active NPSF faults. # e) Static NPSF The content of a base cell is compelled to a specific state because of a specific neighborhood pattern. To distinguish these faults, apply the 2N combinations of 0s and 1s to the N-cell neighborhood, and check by perusing every cell that each pattern can be stored. It varies from ANPSF that it is not necessary to have a change to transition to sensitize an SNPSF. We required 32 test patterns for recognizing static NPSF faults. Fig 5 shows that the memory is divided into nine different blocks. Nine test cases are used for testing the memory since maximum size of the block is 9. For test case 1 each block of first cell is selected as base cell then the base cells are selected as 00, 03, 06, 30, 33, 36, 60, 63, 66 and the pattern are applied to the deleted neighborhood cells of each base cell. For test case 2 each block of second cell is selected as base cell then the base cells are selected 01, 04, 07, 31, 34, 37, 61, 64, and 67. Likewise for test case 9 the base cells are selected as 22, 25, 52 and 55. # III. # Memory Testing # Fig. 5: 8*8 memory divides into blocks If base cell positions are not available in blocks then the base cells are chosen based on their availability [10]. Table 1 shows the base cells according to their respective test case. # c) Memory testing by using different test cases # d) Algorithm Step 1: Write all base cells to 1. Step 2: Applying pattern to neighborhood cells # e) Operation During the 1st operation, cell 1 of each block will be selected as a base cell and the corresponding # b) Xilinx Reports Xilinx ISE is a software tool is used for synthesis and analysis of HDL designs [11]. Allows the developer to synthesize the design, gives timing analysis, RTL diagrams, and configure the target device with a programming kit. The table 2 shows the summary of device utilization for Nexys 4 DDR Artx 7 FPGA. The utilization of device gives the information of number of LUTs, logic blocks and number of bonded IOBS used in FPGA, it can be obtained from synthesis report generated by Xlinx ISE. V. # Conclusion and Future Scope For memory arrays, the excessive test algorithmic time associated with NPSF fault model. This paper presents a BIST implementation using block code technique to select base cells and deleted neighborhood cells of neighborhood pattern sensitive faults (NPSFs) in random access memories (RAMs). Testing process is synthesized and implemented on Nexys 4 DDR Artix 7 FPGA board. In order to improve the effectiveness of coupling faults, type-2 NPSFs can be modelled and tested. 1![Fig. 1: 8*8 Memory structure Fig 1 shows the memory structure of 8*8 RAM with 8 rows and 8 columns.](image-2.png "Fig. 1 :") 2![Fig. 2: Type-1 NPSF and TYPE-2 NPSF Type-2 NPSF is used when diagonal couplings are significant. For type-2 NPSF, 4 is base cell and 0, 1, 2, 3, 5, 6, 7 and 8 are deleted neighborhood cells.](image-3.png "Fig. 2 :") 34![Fig. 3: Block diagram of memory testing Fig 3 shows the testing process[12]. The pattern generator block generates the patterns for memory testing. These patterns are given as inputs to the deleted neighborhood cells of the selected base cell which are selected by the test controller. Then using the comparator we can find out the base cell content is changed or not. Deleted neighborhood cell and base cells are selected by using test controller, writing and reading of base cell can be done by using R/W controller.](image-4.png "Fig. 3 :Fig. 4 :") 3![Read base cellsStep 4: Write all base cells to 0Step 5: Read base cells](image-5.png "Step 3 :") 6789![Fig. 7: Simulation output of test case 2 write mode Fig 7 shows the simulation resuls of memory in test case 2. The wr signal controles the read, write operations. The binary representation of test case 2 for memory testing is 0010. Whenever the "wr" signal is high all base cells are written in state 1 and pattern is applied to deleted neighborhood cells. ii. Memory testing for test case 2 read mode](image-6.png "Step 6 :Fig. 7 :Fig. 8 :Fig. 9 :") 6![Fig. 6: Formation of deleted neighborhood cell IV.](image-7.png "Fig. 6 :") 10![Fig. 10: Technological view The RTL Schematic has been generated using XILINX 14.2 version. Fig 10 shows the RTL Schematic and technological view generated by using Xilinx. The Nexys4 DDR FPGA is optimized for high performance logic and offers 9,312 slices, each containing four input LUTs and eight flip-flops. Hence, the device facilitates the generated hardware to successfully fit into the available microcells. c) FPGA Implementation FPGA configuration files are transferred via JTAG port in bit file format. Xilinx's ISE Web Pack and EDK software can create bit file from Verilog. Nexys 4 DDR Artix 7 FPGA internal clock frequency is 100MHz; it has 16 LED outputs and 16 switches. The switches are used for giving the inputs and applying test cases. The output LEDs are used for showing the address of fault location in memory. The last LED is indicating detection of fault. If fault is detected then LED will ON otherwise it will OFF. The next 6 LEDs are showing the location of fault address.](image-8.png "Fig. 10 :") 11![Fig. 11: Detecting fault in memory for test case 0001 with Nexysv4 DDR Artix 7 FPGA The fig 11 shows the output of memory in reading base cells in test case 0001. The fault is detected by showing the LED glown and the faulty base cell coloumn address is 3and row address is 7. The six LEDs are indicating the location of faulty address.](image-9.png "Fig. 11 :") 12![Fig. 12: Fault free condition of base cell in test case 0000 The fig 12 shows the output of fault detection in test case 0000. All base cells are compared and no faults are detected in test case 0000. So the fault signal remains low and not showing the address of the fault.](image-10.png "Fig. 12 :") 1 2Year 2018 © 2018 Global Journals © 2018 Global Journals 1 * Essentials of Electronic Testing for Digital, Memory, and Mixed-Signal VLSI Circuits DAMichael Lee VishwaniDBushnell Agrawal 2002 Kluwer Academic Publishers New York 2nd ed. * MAMiron Abramovici MelvinABreuer ArthurDFriedmaan Digital Systems Testing and Testable Design Jaico Publishing House 2002 * Neighborhood pattern-sensitive fault testing and diagnostics for random access memories K.-LCheng M.-FTsai C.-WWu IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems 21 11 Nov. 2002 * Testing Semiconductor Memories: Theory and Practice AJVandegoor 1991 John Wiley & Sons Chichester, England * Testing Active Neighborhood Pattern-Sensitive Faults of Ternary Content Addressable Memories Yu-Jen Huang and Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory, Proceedings of the Eleventh IEEE European Test Symposium * Implementation of Random Number Generator Using LFSR for High Secured Multi Purpose Applications International Journal of Computer Science and Information Technologies 3 1 2012 * AJVan De Goor Testing Semiconductor Memories: Theory and Practice Chichester, England John Wiley & Son 1991 * Neighborhood Pattern Sensitive Fault Testing and Diagnostics for Random-Access Memories KLCheng MTsai CWWu IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems Nov. 2002 * Efficient neighborhood pattern sensitive fault test algorithms for semiconductor memories KCheng C.-WWu Proc. IEEE VLSI Test Symp(VTS) IEEE VLSI Test Symp(VTS)Marina Del Rey, California Apr 2001 * Multi Background Memory Testing SVYarmolik Mrozek Proc. Th MIXDES 14 International Conference Th MIXDES 14 International ConferenceCiechocinek, Poland June 2000 * DdrNexys4 Fpga User Guide in xilinx provided web page * FPGA implementation of memory design and testing KL VRamana Kumari AshaRani Balaji 2017 IEEE 7 th International Advance Computing Conference