Modeling And Simulation Of Microcode Based Asynchronous Memory Built In Self Test For Fault Detection Using Verilog

Similar documents
Modeling and Simulation of Microcode-based Built-In Self Test for Multi-Operation Memory Test Algorithms

Modeling and Simulation of Multi-Operation Microcode-based Built-in Self Test for Memory Fault Detection and Repair

Design and Implementation of Microcode based Built-in Self-Test for Fault Detection in Memory and its Repair

Design and Implementation of Built-in-Self Test and Repair

Built-in Self-repair Mechanism for Embedded Memories using Totally Self-checking Logic

A Universal Test Pattern Generator for DDR SDRAM *

Implementation of FSM-MBIST and Design of Hybrid MBIST for Memory cluster in Asynchronous SoC

A VLSI Implementation of High Speed FSM-based programmable Memory BIST Controller

FPGA Implementation of ALU Based Address Generation for Memory

Sram Cell Static Faults Detection and Repair Using Memory Bist

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

Embedded Static RAM Redundancy Approach using Memory Built-In-Self-Repair by MBIST Algorithms

SRAM Delay Fault Modeling and Test Algorithm Development

Efficient BISR strategy for Embedded SRAM with Selectable Redundancy using MARCH SS algorithm. P. Priyanka 1 and J. Lingaiah 2

EFFICIENT MEMORY BUILT - IN SELF TEST FOR EMBEDDED SRAM USING PA ALGORITHM

Scalable Controller Based PMBIST Design For Memory Testability M. Kiran Kumar, G. Sai Thirumal, B. Nagaveni M.Tech (VLSI DESIGN)

Diagnostic Testing of Embedded Memories Using BIST

BIST is the technique of designing additional hardware and software. features into integrated circuits to allow them to perform self testing, i.e.

Complex test pattern generation for high speed fault diagnosis in Embedded SRAM

An Advanced and more Efficient Built-in Self-Repair Strategy for Embedded SRAM with Selectable Redundancy

Performance Analysis and Designing 16 Bit Sram Memory Chip Using XILINX Tool

POWERFUL BISR DESIGN FOR EMBEDDED SRAM WITH SELECTABLE REDUNDANCY

[Zeenath, 3(3): March, 2014] ISSN: Impact Factor: 1.852

Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xilinx/Modelsim Tool

Optimization Of Memory Built In Self Test And Repairability By Using March-SS Algorithm For SRAMS

RAM Testing Algorithms for Detection Multiple Linked Faults

An enhanced barrel shifter based BIST scheme for word organized RAMs (EBBSR).

AN OPTIMAL APPROACH FOR TESTING EMBEDDED MEMORIES IN SOCS

OPTIMIZING MARCH ALGORITHM FOR TESTING EMBEDDED MEMORY: A CASE STUDY

Design for Test of Digital Systems TDDC33

March Tests Improvement for Address Decoder Open and Resistive Open Fault Detection *

Advanced Reliable Systems (ARES) Laboratory. National Central University Jhongli, Taiwan

BIST for Deep Submicron ASIC Memories with High Performance Application

Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip

Fault Tolerant and BIST design of a FIFO cell

Built-in self-repair (BISR) technique widely Used to repair embedded random access memories (RAMs)

TESTING OF FAULTS IN VLSI CIRCUITS USING ONLINE BIST TECHNIQUE BASED ON WINDOW OF VECTORS

Efficient Built In Self Repair Strategy for Embedded SRAM with selectable redundancy

Testing Static and Dynamic Faults in Random Access Memories

A Parametric Design of a Built-in Self-Test FIFO Embedded Memory

COEN-4730 Computer Architecture Lecture 12. Testing and Design for Testability (focus: processors)

FPGA based High Speed Memory BIST Controller for Embedded Applications

Design and Implementation of Improved BISR Strategy for Systems-on-a-Chip (SoC)

International Journal of Advancements in Research & Technology, Volume 2, Issue 10, October ISSN

Pak. J. Biotechnol. Vol. 14 (Special Issue II) Pp (2017) Keerthiga D.S. and S. Bhavani

Block Sparse and Addressing for Memory BIST Application

RE-CONFIGURABLE BUILT IN SELF REPAIR AND REDUNDANCY MECHANISM FOR RAM S IN SOCS Ravichander Bogam 1, M.Srinivasa Reddy 2 1

Online Testing of Word-oriented RAMs by an Accumulator-based Compaction Scheme in Symmetric Transparent Built-In Self Test (BIST)

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

Low Power Cache Design. Angel Chen Joe Gambino

Design and Implementation of Online BIST for Different Word Sizes of Memories MUNEERA JAMAL 1, K. PADMAJA DEVI 2

SELF CORRECTING MEMORY DESIGN FOR FAULT FREE CODING IN PROGRESSIVE DATA STREAMING APPLICATION

Efficient Test of Dynamic Read Destructive Faults in SRAM Memories*

A Software-Based Test Methodology for Direct-Mapped Data Cache

An Integrated ECC and Redundancy Repair Scheme for Memory Reliability Enhancement

Built-in Self-Test and Repair (BISTR) Techniques for Embedded RAMs

ENGIN 112 Intro to Electrical and Computer Engineering

Modeling Techniques and Tests for Partial Faults in Memory Devices

An Integrated Built-in Test and Repair Approach for Memories with 2D Redundancy

Built-In Self-Test for System-on-Chip: A Case Study

A Proposed RAISIN for BISR for RAM s with 2D Redundancy

Nanometer technologies enable higher-frequency designs

Design of 8 bit Pipelined Adder using Xilinx ISE

Optimizing Memory BIST Address Generator Implementations

A Strategy for Interconnect Testing in Stacked Mesh Network-on- Chip

FSM Design Problem (10 points)

The Effectiveness of Scan Test and its New Variants

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

Computer Systems Organization

MULTIPLE FAULT DIAGNOSIS FOR HIGH SPEED HYBRID MEMORY ARCHITECTURE

Novel Architecture for Designing Asynchronous First in First out (FIFO)

Hardware Sharing Design for Programmable Memory Built-In Self Test

Jin-Fu Li Dept. of Electrical Engineering National Central University

DFT for Regular Structures

A Survey on Dram Testing and Its Algorithms

Dynamic Read Destructive Faults in Embedded-SRAMs: Analysis and March Test Solution

VLSI Architecture for an Efficient Memory Built in Self Test for Configurable Embedded SRAM Memory

An Efficient Parallel Transparent Diagnostic BIST

Diagnostic Data Compression Techniques for Embedded Memories with Built-In Self-Test

EECS150 - Digital Design Lecture 17 Memory 2

Real Time NoC Based Pipelined Architectonics With Efficient TDM Schema

Architecture to Detect and Correct Error in Motion Estimation of Video System Based on RQ Code

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test

3D Memory Formed of Unrepairable Memory Dice and Spare Layer

Detecting and Correcting the Multiple Errors in Video Coding System

High Performance Interconnect and NoC Router Design

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE

Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

Index Terms FIFO buffers, in-field test, NOC, permanent fault, transparent test. On Line Faults in FIFO Buffers of NOC Routers 1.

Transparent Memory BIST*

Control Unit Implementation

Keywords- AMBA, AHB, APB, AHB Master, SOC, Split transaction.

L12: I/O Systems. Name: ID:

EECS150. Implement of Processor FSMs

Design and Implementation of Hamming Code on FPGA using Verilog

Importance of Dynamic Faults for New SRAM Technologies

Novel Implementation of Low Power Test Patterns for In Situ Test

VLSI DESIGN OF REDUCED INSTRUCTION SET COMPUTER PROCESSOR CORE USING VHDL

Fault Tolerant Prevention in FIFO Buffer of NOC Router

Transcription:

Modeling And Simulation Of Microcode Based Asynchronous Memory Built In Self Test For Fault Detection Using Verilog Amruta P. Auradkar # and Dr. R. B. Shettar * # M.Tech.,2 nd year, Digital Electronics, B. V. Bhoomaraddi College of Engg. and Technology, Hubli, India * Department Of Electronics and Communication Engg.,B. V. Bhoomaraddi College Of Engg. and Technology, Hubli, India. Abstract Most of SoC today are synchronous and operates at single clock or its derivative. In fact, many effective fault detection methods for such system are developed. But in synchronous processors more than 40% of power is consumed by clock, which is used to synchronize the entire system. The complexity of clock routing to various part of system is increasing due to clock skew. Hence major challenges in synchronous design are clock scaling, clock distribution and timing closure. As trend for smaller feature, higher speed and accuracy continues, clock may affect the performance. Idea of this project is to introduce asynchronous method of testing in which communication between blocks will be through handshaking signal. Due to removal of clock, power consumption is reduced to large extend. The fault detection is done with microcode based MBIST using March SS algorithm. New BIST can be designed by just changing instruction in microcode storage without need of redesign of circuitry. Detailed power, time and area overhead analysis is performed for both synchronous and asynchronous system. Index Terms Memory Built In Self Test, March SS Algorithm, Synchronous MBIST, Asynchronous MBIST. I. INTRODUCTION Embedded memories are becoming very vital part of any SoC. According to International Technology Roadmap for Semiconductors (ITRS) recent report, memory cores will occupy around 90% area on chip. As memories become denser, they are more prone to defects and faults are more complex. BIST is technique used to test memories. MBIST is one of the most widely used and cost effective solution as it does not require external test equipment such as ATE, test can run at circuit speed to yield more realistic test time. The fault models in memories include the address decoder fault (AF), stuck-at fault (SAF), Transition fault (TF), stuck open fault (SOF), coupling fault (CF), neighborhood pattern sensitive fault (NPSF), and data retention fault (DRF) [5]. Several BIST schemes have been proposed to test the faults in embedded RAMS [2,3,4].Many March algorithms were developed to detect faults. Out of this, March SS algorithm is used for detecting both static and dynamic faults as it has good fault coverage compared to other algorithms. Recently many synchronous methods are used for memory testing, but study shows that in such systems most of the power consumption is because of efforts required to synchronize the entire system. This paper initiates the idea of testing a memory asynchronously. II. SYNCHRONOUS MBIST The block diagram of the simple BIST controller architecture together with fault diagnosis interface through input MUX shown in Figure 1. The BIST Control Circuitry consists of Clock Generator, Microcode Instruction storage unit, Test Collar circuitry, Multiplexer, Memory under test and comparator for fault diagnosis. A. Clock Generator This is a simple circuit built for analysis purpose hence single master clock is sufficient to derive all the block In case if we want to go for real time system, the same circuit have to be modified with four clocks (a single master clack and three clocks with different frequencies derived from it). And additionally it will contain instruction register and instruction pointer B. Microcode Instruction Storage The microcode is a binary code that consists of a fixed number of bits, each bit specifying a particular data or operation value. As there is no standard in developing a microcode MBIST instruction [7], the microcode instruction fields can be structured by the designer depending on the test pattern algorithm to be used. The microcode instruction developed in this work is coded to denote one operation in a single microword. Thus a five operation March element is made up by five micro-code words. The format of 7-bit microcode MBIST instruction word is as shown in Table 1. Table1. Format of Microcode Instruction Word #1 #2 #3 #4 #5 #6 #7 Valid F0 I0 L0 I/D R/W Data F0 I0 L0 Description 0 0 0 Single operation Element 1 0 0 I operation of multiple operation 0 1 0 Middle operation of multiple 0 0 1 Last operation of multiple 351

#1Valid #2 F0 #3 I0 #4 L0 #5 I/D #6 R/W #7 Data International Journal of Emerging Technology in Computer Science & Electronics (IJETCSE) Clock Generato r Microcode Instruction Storage Address Generator Data Control Input Multiplexer Memory under test R/W Control Test Collar Comparator Mode Norm Data al/te Add R/W st Figure1. Microcode Based Synchronous MBIST Architecture Fault Pulse A. Test Collar It consists of address generator, data control, r/w control. Address Generator points to the next memory address in MUT, according to the test pattern sequence. It can address the memory in forwards as well as backwards direction. RW Control generates read or write control signal for MUT, depending on relevant microword bits. Data Control generates data to be written to or expected to be read out from the memory location being pointed at by the Address Generator. B. Input Multiplexer It directs the input to memory by switching between test algorithm input and input given externally during the normal mode. The control signal for this multiplexer is also given externally by the user. If it indicates test mode then internally generated test data by BIST controller is given to the memory as input from the Test Collar. In case of Normal mode the memory responds to the external address, data and read/write signals. C. Comparator It is used to compare the output from mux and memory. If both the values are matching it will remain low but if both value differ it will generate a pulse indicating a fault. III. MARCH ALGORITHM The format of 7-bit microcode MBIST instruction word is as shown in Table 1. Its various fields are,bit #1 (=1) indicates a valid microcode instruction, otherwise, it indicates the end of test for BIST Controller. Bits #2, #3 and #4 are used to specify first operation, in-between operation and last operation of a multi-operation March element, interpreted as shown in Figure 6.Bit #5 (=1) notifies that the memory under test (MUT) is to be addressed in decreasing order; else it is accessed in increasing order. Bit #6 (=1) indicates that the test pattern data is to be written into the MUT; else, it is retrieved from the memory under test. Bit #7 (=1) signifies that a byte of 1s is to be generated else byte containing all 0s are generated. The instruction word is so designed so that it can accommodate any existing or future March algorithm. The contents of Instruction storage unit for March SS algorithm are shown in Table 2. Table2. MARCH SS Algorithm M0: ᵡ W0 1 0 0 0 0 1 0 M1: { R0 1 1 0 0 0 0 0 R0 1 0 1 0 0 0 0 W0 1 0 1 0 0 1 0 R1 1 0 1 0 0 0 0 W1 } 1 0 0 1 0 1 1 M2: {R1 1 1 0 0 0 0 1 R1 1 0 1 0 0 0 1 W1 1 0 1 0 0 1 1 R1 1 0 1 0 0 0 1 W0 1 0 0 1 0 1 0 M3: {R0 1 1 0 0 1 0 0 R0 1 0 1 0 1 0 0 W0 1 0 1 0 1 1 0 R0 1 0 1 0 1 0 0 W1} 1 0 0 1 1 1 1 M4: {R1 1 1 0 0 1 0 1 R1 1 0 1 0 1 0 1 W1 1 0 1 0 1 1 1 R1 1 0 1 0 1 0 1 W0} 1 0 0 1 1 1 0 M5: ᵡ R0 1 0 0 0 1 0 0 0 X X X X X X 352

Figure2. Microcode Based Asynchronous MBIST Architecture I. ASYNCRONOUS MBIST In Asynchronous MBIST instead of clock, two phase handshaking signals i.e. Request and Acknowledge are used. When a block needs work request data from previous block. The prior block sends the requested input and the success of receive is acknowledged by requesting block. Additional blocks in Asynchronous MBIST are, A. Pulse Generator It generates a Start Pulse at positive edge of the Start signal marking the start of test cycle. relevant bits of microword are sent to other blocks from IR. Comparator makes the comparison of input data from test collar and output data from memory, it the match doesn t exist it will generate the fault pulse along with the faulty address location and correct data that is required to remove fault. II. RESULTS All the blocks are implemented in Xilinx14.2 using Verilog and the simulation results are presented in this section. A. Microcode Instruction Storage B. Instruction Pointer Instruction Pointer points to the next microword, that is the next march operation to be applied to the memory under test (MUT). Depending on the test algorithm, it is able to i) point at the same address, ii) point to the next address, or iii) jump back to a previous address. C. Instruction Register It holds the microword (containing the test operation to be applied) pointed at by the Instruction Pointer. The various 353

B. Test Collar F. Synchronous MBIST RTL Schematics: Comparator Memor y C. Input Multiplexer MIS MUX TC D. Memory under Test Output Waveforms Fault pulse occurred at mismatch between mem and TC E. Comparator 354

III. CONCLUSION The simulation results have shown that the micro-coded MBIST architecture for synchronous memory testing is successfully implemented. Implementation of a single test operation in one microword ensures that any future test algorithms with any number of test operations per test element are successfully implemented using the current BIST architecture. Block diagram of asynchronous MBIST using two way handshaking is presented in the paper and the implementation work is in progress. A detailed power, time and area overhead analysis of this architecture is underway and efforts are being made to develop a power-optimized BIST architecture for embedded memories. As a final step, a comparative study of synchronous and asynchronous systems will be presented. REFERENCES [1] International SEMATECH, International Technology Roadmap for Semiconductors (ITRS): Edition 2001 [2] P. Camurati, P. Prinetta, M. S. Rcorda, P. di Torino, S. Barbagallo, A. Burri, and D. Medina, "An Industrial Experience in the Built-In Self Tcst of Embedded RAMS,'' Proc. 0fI2'~ VLSl Test Symp.. 1994, pp. 306-31 I. [3] G. M. Park and H. Chang, "An Extended March Test Algorithm for Ernbedded Memories," Proc. of 61h Asian Test Symp., 1997, pp. 404-409. [4] C. T. Huang, J. R. Huang, C. F. Wu, C. W. Wu, T. Y. Chang, '"A Programmable BlST Core far Embedded DRAM," IEEE Design and Test of Compulers, January - March 1999, pp. 59-69. [5] A. J. van de Goor and Z. Al-Ars, Functional Fault Models: A Formal Notation and Taxonomy, In Proc. of IEEE VLSI Test Symposium, pp. 281-289, 2000. [6] S. Hamdioui, G.N. Gaydadjiev, A.J.van de Goor, State-of-art and Future Trends in Testing Embedded Memories, International Workshop on Memory Technology, Design and Testing (MTDT 04), 2004. [7] R. Dean Adams, High Performance Memory Testing: Design Principles, Fault Modeling and Self-Test, Springer US, 2003. 355