IJERT Modeling and Simulation Experiment
IJERT Modeling and Simulation Experiment
ISSN: 2278-0181
Vol. 1 Issue 7, September - 2012
*2
P.G. Student, M.Tech. (VLSI), Department of Electronics and Communication Engineering, Sri Sai Jyothi
Engineering College, Gandipet, Hyderabad-75, (A. P.), India.
#3
Assistant Professor, Department of Electronics and Communication Engineering, Sri Sai Jyothi Engineering
College, Gandipet, Hyderabad-75, (A.P.), India.
Abstract:
The tremendous increase in memory area on 1. INTRODUCTION:
chip is in turn increasing memory density and
causing problems (i.e. faults) in Memories to detect During the fabrication of a chip, some errors
these fault‟s we require tests with high fault coverage may occur which may induce the faults in the circuit
and low cost. The faults may be of different types e.g. devices. This results in the inaccurate functioning of
static faults and dynamic faults so many has proposed the chip. Hence the chips need to be tested for the
different Algorithms to detect these kind of faults presence of any faults else it may result in the
(e.g. March algorithms) .The proposed paper deals inaccurate functioning of the chip. Since the number
with Static and Dynamic Faults, these are established of circuits on the chip is increasing exponentially,
and evaluated for static random access memories testing of such multimillion transistor chip causes a
(SRAM), by using newly developed micro-coded serious problem, and this introduces the concept of
MBIST architecture which can be used to employ Design For Testability (DFT). Design for testability
these new test algorithm which consists of 14 (DFT) refers to including test considerations into the
instructions and have much less number of operations design specifications. DFT includes using design
than the Previous Existing March algorithms (March rules that forbid the use of certain hard-to-test circuit
SS, LR e.t.c),which increases the fault coverage and forms and/or require using inherently testable forms.
reduces the time for Detecting Faults. MBISR It attempts to ensure that internal nodes are
architecture function‟s in two modes of operations. sufficiently controllable and observable. Specific
Mode 1: Normal mode and Mode 2: Test and repair DFT techniques include providing parallel test modes
mode. A Built-in-Self repair Methodology is used to to test multiple arrays simultaneously, Built-In Self-
repair the faulty locations indicated by the MBIST Test (BIST), Built-In Self-Repair (BISR).
controller. The architecture is designed by employing In recent years, embedded memories are the
Our proposed method of testing faults is simulated by fastest growing segment of SoCs. They therefore
using Xilinx 9.1ISE versions and synthesized by have major impact on the overall Defects per Million
using Xilinx 9.1 ISE version. (DPM). According to 2001 International Technology
Roadmap for Semiconductors (ITRS 2001), today‟s
Keyword - Built-In Self Test (BIST), Built-in Self SoCs are moving from logic dominant chips to
Repair (BISR), Memory Built-in Self Test (MBIST), memory dominant chips, since future application will
Reliability, Static and Dynamic faults. require lot of memory. The memory share on the chip
is expected to be about 94% in 2014.
www.ijert.org 1
International Journal of Engineering Research & Technology (IJERT)
ISSN: 2278-0181
Vol. 1 Issue 7, September - 2012
Hence cost of testing memories increases detection during test; wrapper logic to replace defect
rapidly with every new generation of memory Chips. words.
Therefore Precise fault modeling and efficient test
design is essential to reduce the cost and increase the
test time to find faults. Now-a-days embedded
memories are harder to test using ATE, and the II.MICROCODE BISR CONTROLLER
defective cells detected by the BIST circuit are
replaced by the cells of the spare SRAM. The built-in The Architecture of the Micro-code based
self diagnosis method presented for repairable built in self test and repair is shown In the Fig.1
SRAMs uses a reduced-instruction-set processor to below, It consists of the Instruction Pointer,
determine a repair solution. Instruction storage, Instruction register, AddrGen,
Reliability is one of the main considerations DataGen , R/W Control, Input multiplexer,
in any circuit design. It involves a correct and Reliability block, memory, redundant logic array,
predictable behavior of the circuit according to
output multiplexer, Fault diagnosis, SMC controller.
design specifications over a sufficiently long period
of time. To achieve this goal, the logic-circuit design
is aimed at an error-free circuit operation. Hence, Instruction Pointer:
when a fault occurs anyway, one must be able to It points to the next Micro word instruction
detect the presence of the fault and, if desired to that has to fetch from the instruction storage and
pinpoint its location. This task is accomplished by applied to memory under test. It works for every
testing the circuit. rising edge of the Clk depending on the enabling
Digital circuit manufacturers are well aware signals and Rst values. If Rst is active low InstAddr
of the need to incorporate testability features early in is reset to zero.
the design stage, or otherwise they have to incur
higher testing costs, subsequently. However, recent
studies have shown that the cost of testing and fault InstOp[5:3] R
AddrIn[3:0]
B
finding, at system and field level, is increasing
DataIn
WEna
Clk Clk Clk C
REna
Memo Output
exponentially. Thus, if a fault can be detected at chip Rst Inst MemOut Output
Rst Rst Inst ry
InstPtr Inst Mux
or board level, then significantly larger costs per fault Addr[3:0]Storage Inst[6:0] Reg WrEna
can be avoided. This is the prime reason that RdEna Ip
attention has now focused on providing testability at
Data Mux
MemEna
chip, module or even at board level.
Address[3:0]
Any test methodology usually consists of
MemIn
(i) A test strategy for generating the test-stimuli, Fault
(ii) A strategy for evaluating output responses, Clk
AddrEna
FDEna Diag
RLA
IEna
Addr
IREna
and Rst
Gen
Op
(iii) Implementation mechanisms to realize the InstOp[2]
InstEna
Over
www.ijert.org 2
International Journal of Engineering Research & Technology (IJERT)
ISSN: 2278-0181
Vol. 1 Issue 7, September - 2012
rising edge of the Clk if InstEna is active high one active high and WrEna is active low, the data is from
instruction will be fetched from the memory from the the memory location specified on the address signal.
location instruction address pointed by instruction
pointer. Fault Diagnosis: This module works especially
during test mode and its function is to compare the
Instruction Register: It holds the instruction pointed expected data with the original data. If any changes
at by instruction pointer. The instruction is decoded occurred it gives that location address and actual data
and given as input to the required modules. It is a 7- as input to the Redundant Logic Array.
bit register. If Rst is active low instruction register
value is reset to zero .If Rst is active high and for Redundant Logic Array: It acts as the redundant
every rising edge of the Clk, if IREna is active high memory. In this memory faulty locations address and
instruction is stored in the instruction register and data will be stored. In normal mode it compares
decoded. normal input address with the existing faulty
locations; if it matches it uses redundant logic
Address Generator: It is used to generate the memory for read and write operations. If it doesn‟t
address. If Rst is active low, address will be reset to match it will use the original memory for read and
zero, otherwise for every rising edge of the Clk, if write operations.
AddrEna is active high address will be incremented
or decremented according to the input signals. Output multiplexer: It is used to select one value
from the Redundant memory and Memory depending
Data Generator: It is used to generate the data, whether it is faulty or not.
which is given as input to the memory. If Rst is
active low, data will be reset to zero, otherwise for
III. SPECIFICATION OF MICROCODE
every rising edge of the Clk, if DataEna is active high
INSTRUCTION
data will be according to the input signals.
The proposed architecture has the ability to
RW Control: It is used to generate the RdEna and execute algorithms with unlimited number of
WrEna signals based on Micro-code bits, which are
operations per March element. Thus almost all of the
given as inputs to the memory. If Rst is active low,
then RdEna and WrEna signals will be reset to zero, recently developed March algorithms can be
otherwise for every rising edge of the Clk, if RWEna successfully implemented and applied using this
is active high then RdEna and WrEna signals will be architecture. This has been illustrated in the present
set according to the input signals. work by implementing newly developed algorithm.
The same hardware has also been used to implement
Input Multiplexer: It gives the input to memory by other new March algorithms. This requires just
considering test algorithm input and input given changing the Instruction storage unit, or the
externally during the normal mode. The control instruction codes and sequence inside the instruction
signal for this multiplexer is also given externally by storage unit. The instruction storage unit is used to
the user. If it indicates test mode then internally
store predetermined test pattern.
generated test data by BIST controller is given to the
memory as input. In case of Normal mode the The microcode is nothing but a binary code
memory responds to the external address, data and which consists of a fixed number of bits each bit
read/write signals. Multiplexer output is given as specifying a particular data or operation value. As
input to the Reliability.
there is no standard in developing a microcode
MBIST instruction, the microcode instruction fields
Reliability: It is one of the main considerations in
can be structured by the designer depending on the
any circuit design it involves the correct and
predictable behavior of the circuit according to test pattern algorithm to be used. The microcode
design specification, to achieve this goal logic circuit instruction developed in this work is coded to denote
design should be an error free circuit. Mainly it one operation in a single micro word. Thus a three
increases the life time of SRAM. operation March element is made up by five micro-
code words. The format of 7-bit microcode MBIST
Memory: It is used as a unit under test. If MemEna, instruction word is as shown in Table 1. Its fields are
WrEna both are active high and RdEna is active low, described as follows:
the data is written into the memory location specified 1) Bit #1 indicates whether it is a valid microcode
on the address signal. If MemEna, RdEna both are instruction or not, if it is equal to 1 it considers as an
www.ijert.org 3
International Journal of Engineering Research & Technology (IJERT)
ISSN: 2278-0181
Vol. 1 Issue 7, September - 2012
#7 Data
#6 R/W
#5 I/D
#4 Lo
#2 Fo
Valid
(1/0)
#3 Io
(1/0)
(0/1)
7) Bit #7 is used to displays the data that is applied, if
#1
The instruction word is so designed so that it can 3)Third march element M2 is a multi-operation
accommodate any existing and proposed algorithm. element, which consists of three operations: i) W1, ii)
The contents of Instruction storage unit for Newly R1, iii) R1. MUT is addressed in increasing order as
www.ijert.org 4
International Journal of Engineering Research & Technology (IJERT)
ISSN: 2278-0181
Vol. 1 Issue 7, September - 2012
each of these three operations is performed on each These are FPs that perform more than one
memory location before moving on to the next operation sequentially in order to sensitize a fault;
memory location. that is #O >1. Depending on #O, a further
4)Fourth march element M3 is a multi-operation classification can be made between 2-operation
element, which consists of Three operations: i) W1, dynamic FPs whereby #O =2, 3-operation dynamic
ii) R1, iii) R1. MUT is addressed in decreasing order FPs whereby #O =3, etc.
as each of these three operations is performed on Different types of Single cell Dynamic faults are
each memory location before moving on to the next
described below
memory location.
5) Fifth march element M4 is a multi-operation a)Dynamic Read Destructive Fault (dRDF):
element, which consists of three operations: i) W0, ii) A write followed immediately by a read
R0, iii) R0. MUT is addressed in increasing order as operation performed on a cell changes the data in the
each of these three operations is performed on each cell, and returns an incorrect value on the output.
memory location before moving on to the next <0w0r0/ 1 /1>
memory location.
6)The Sixth march element M5 is a single operation b)Dynamic Deceptive Read Destructive Fault
element, which reads zero from memory cells in any (dDRDF):
order. A write followed immediately by a read
operation performed on a cell changes the data in the
IV. FAULTS cell, and returns a correct value on the output. Here,
the write can be a transition write as well as a non-
Let #O be defined as the number of different transition write Operation.
operations performed sequentially in a S (Sentizied). <1w1r1/0/1>.
Depending on #O, FPs can be divided into static and c) Dynamic Incorrect Read Fault (dIRF):
dynamic faults: A read operation performed immediately
1)Static Faults : after a write operation on a cell returns an Incorrect
These are FPs which sensitize a fault by value on the output, while the cell remains in its
performing at the most one operation; that is #O ≤ 1.
The Static Faults described in this paper are as correct state.
follows: <0w0r0/0/1
www.ijert.org 5
International Journal of Engineering Research & Technology (IJERT)
ISSN: 2278-0181
Vol. 1 Issue 7, September - 2012
www.ijert.org 6
International Journal of Engineering Research & Technology (IJERT)
ISSN: 2278-0181
Vol. 1 Issue 7, September - 2012
Fig.4:Simulated waveform of Fault-free SRAM. Fig.7: Simulated waveform of Faulty SRAM [DRDF,
dRDF].
www.ijert.org 7
International Journal of Engineering Research & Technology (IJERT)
ISSN: 2278-0181
Vol. 1 Issue 7, September - 2012
www.ijert.org 8