163
11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA 11621A0451 CHAPTER - 1 INTRODUCTION BIST (Built-In Self-Test) for random logic is becoming an eye-catching substitute in IC testing, although logic BIST is a recent subject which is under research over more than 3 decades. This paper provides the use of a deterministic logic BIST structure up on state-of-the-art industrial circuits. Nevertheless, new innovations throughout deep - submicron IC process engineering as well as core-based IC design and design engineering will surely lead to more popular using logical BIST due to the fact outer assessment actually becoming a lot more difficult as well as high- priced. Logic built-in self- test (BIST) depend on the fundamental design for test methodology. For any testing methodology, the following factor should be considered- high and easily verifiable fault coverage, minimum test pattern generation, minimum performance degradation, at-speed testing, short testing time, and reasonable hardware overhead [1]. Logic Built-In Self Test B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 1

implementation of BIST

Embed Size (px)

Citation preview

Page 1: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

CHAPTER - 1

INTRODUCTION

BIST (Built-In Self-Test) for random logic is becoming an eye-catching

substitute in IC testing, although logic BIST is a recent subject which is under research

over more than 3 decades. This paper provides the use of a deterministic logic BIST

structure up on state-of-the-art industrial circuits. Nevertheless, new innovations

throughout deep - submicron IC process engineering as well as core-based IC design and

design engineering will surely lead to more popular using logical BIST due to the fact

outer assessment actually becoming a lot more difficult as well as high- priced.

Logic built-in self-test (BIST) depend on the fundamental design for test methodology.

For any testing methodology, the following factor should be considered- high and

easily verifiable fault coverage, minimum test pattern generation, minimum performance

degradation, at-speed testing, short testing time, and reasonable hardware overhead [1].

Logic Built-In Self Test (BIST) provides a feasible solution to the above demands. First,

BIST significantly reduces off-chip communication to overcome the bottleneck caused by

the limited input/output access. Further, it eliminates much of the test pattern generation

and simulation process [1]. Testing time can be shortened by testing multiple units

simultaneously through test scheduling. Hardware overhead can be minimized by careful

design and through the sharing of test hardware. In the modern System - on –a- Chip

(SOC) design, many cores are integrated into a single chip. Some of them are embedded,

and cannot be accessed directly from the outside of the chip. Such SoC designs make the

test of these embedded cores a great challenge [2]. BIST is one of the most popular test

solutions to test the embedded cores. Since more And more transistors are integrated on

a single IC , the amount of test vectors to test such large ICs is increasing. This

requires large memories in external test --equipment. In addition, a significant increase

is predicted.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 1

Page 2: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Originally, the predominant compelling purpose for the adopting of BIST Was

the need to execute in-field examining. Just lately , there have been developing desires

for BIST as it may lower the price of manufacturing test together with strengthen

the standard of the particular test by providing at-speed testing ability. In BIST ,

pseudorandom styles tend to be generated on chip; the actual replies tend to be

compacted about chip, as well as the handle impulses tend to be pushed simply by an

on – chip controller. The amount of examination files exchange with the tester is

consequently considerably lowered . I addition, the scan cells are configured into a

large number of relatively short scan chains , thus reducing the time required to apply a

single test pattern. The low memory an performance requirements on the tester allow the

usage of very low cost testers for manufacturing test of designs with logic BIST.

1.1 Faults in Integrated Circuits

Failures in electronic components are generally the effects of chemical and

physical processes. Failures caused by chemical effects lead to continuous production of

defective components over whole production lines. Failures caused by physical effects,

however, result in defects in individual components, involving component shorts and

breaks, and packaging. Consequently, faults in integrated circuits are typically modeled

based on physical failures, and generally classified into two categories, i.e. parametric and

catastrophic faults. The catastrophic faults are caused by random defects, for

example dust particles, resulting in short and open circuits or large-scale deviation of

design parameters.2 The parametric faults are representing the parameter variations of

the nominal value, which exceeds the attributed tolerance band. Such parametric faults

are caused by fluctuation in the manufacturing process. Comparing catastrophic and

parametric faults, most electrical failures are catastrophic faults at a percentage of

83.5% (Rajsuman, 2000).

1.1.1 Catastrophic Faults

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 2

Page 3: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Catastrophic faults are commonly referred to as potential shorts and opens. In

the case of shorts, two possible short circuits are bridging defects and Gate-Oxide

Short GOS). The bridging defects appear when two or more metal lines are

electrically Connected in an integrated circuit. Fig. 1.1 shows examples of bridging

and GOS defects in CMOS technology presented by Ohletz (1996). As shown in Fig.1.1

(a), six examples of short circuits include the shorting of metal lines caused by

unexposed photo resist, a solid – state particle on the metal mask , a scratch in the

photo resist, metallization defects , and inter-layer shorts. Bridging resistance is

important in defect detection since the majority of bridging defects show low resistance

while many high resistance-bridging defects do not result in failure. Therefore, a

resistance connecting the two bridges nodes can simply be modeled in simulation process.

Fig. 1.1 (b) shows GOS defects in CMOS technology. These GOS defects are short

circuits between the Gate electrode and the active zone through the SiO2 oxide of the

device. In the majority Of cases, gate-oxide defects cause reliability degradation such as

changes in transistor threshold voltage and the increase in switching delay. Fig. 1.2

shows examples of open circuits presented by Ohletz (1996), involving a foreign particle

causing a line open and a line thinning, and a contaminating particle causing 7-line opens.

These open circuits are unconnected or floating inputs that usually high impedance or

floating.

1.1.2 Parametric Faults

Parametric faults are generally referred to as the variation in components

and interconnect dimensions. The physical component dimension is relatively susceptible

to process variation, such as a Gate-length (L) and a threshold voltage (VT) in CMOS

transistors. The critical variations in interconnect dimensions of line-spacing and metal

thickness result in different metal properties of the interconnect wires, such as their

parasitic resistance, capacitance, and inductance values. As parametric faults typically

depend on parameter tolerance band acceptability, modeling of parametric faults is

relatively complicated at the physical design level. In order to overcome such impasses of

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 3

Page 4: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

parametric fault modeling, analysis method realizes an acceptable circuit instances based

3 Metal short Line scratch Small solid particle Inter layer short Metal Gate-Oxide short.

Line scratch inter layer scratch

(a) Examples of bridging defects in CMOS Technology

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 4

Page 5: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

(b) Examples of Gate-Oxide Shorts

Metal Gate-Oxide short Gate-Oxide short

Figure: 1.1 Examples of bridging defects and Gate-Oxide Shorts.

Foreign Particle Contaminating Particles

Figure: 1.2 Examples of opens caused by foreign and contaminating particles.

on tolerance specifications (Chang and Lee, 2002). In other words, the variation of

parameters is initially injected randomly from ±5% to ±15% deviations from the

nominal values, and the distribution of output variable values is subsequently analyzed for

region of acceptability. The distribution of output variable is generally a normal

distribution. In order to distinguish between acceptable and unacceptable instances, the

region of acceptability is on the order of ±5% for the 99% confidential interval (Spink and

et al., 2004). Large variations in circuit parameters such as ±10% variations

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 5

Page 6: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

in resistor and capacitor values have been considered as unacceptable, and therefore the

Circuit-Under-Test (CUT) is classified as defective component instantly. However, some

large variations in circuit parameters may not result in specification violation while some

small variation may not cause tremendous specification violation. Fig. 1.3 shows the

probability of faulty and fault-free distributions. In order to ensure that all acceptable

devices are distinguished with high yield coverage, the decision for acceptable components

is based on specification violation, i.e. within the acceptability region of ±3σ, rather than

the variation percentage of injected parametric faults.

1.2 Perspectives Reviews on On-Chip Testing Techniques

1.2.1 Reasons for On-Chip Testing Compared with Off-chip Testing

Two major reasons for on-chip testing of catastrophic and parametric faults are

(1)the need of fully analog-digital test instruments and (2) high cost of off-chip testing

through ATE. First, the advancement of deep sub-micron technology drives test

equipments towards a single platform solution that can test both digital and analog

structures on a single chip (Stound, 2006). Whereas test equipments for digital circuits are

similar to purely digital chips, preferable analog mixed-signal test equipment is expected to

be feasible. Consequently, test equipments are transversely changing from digital-only to

the full integration of high performance instruments. Second, the ATE cost is the one of

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 6

Page 7: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

the most expensive cost in overall manufacturing process cost even though the

combinations of equipment cost and reduction in equipment capability requirements have

been suggested. Expensive analog test instruments and long testing time remain a

difficulty. Moreover, test cost does not directly scale with transistor count, die size, device

pin count and process technology.5

1.2.2 Comparisons between Digital and Analog On-Chip Testing

Several early on-chip testing techniques have been applied successfully in digital

circuits in which each level of abstractions is verified against the immediate preceding

levels (Stound, 2006). Digital testing on-chip is supported by rigorous mathematical

expression such as Boolean expressions, high-level programming language constructs, and

single stuck-fault models. Therefore, test pattern algorithms and output response analysis

in digital domains have been developed broadly with acceptable fault coverage. As

opposed to testing in digital integrated circuits, testing in analog mixed-signal circuits is

relatively complicated owing to not only instantaneous continuous-time analog response of

signal values, but also non-linear characteristics and broad variations in circuit parameters

(Milor, 1998). Test accuracy of analog mixed-signal systems also depends upon the test

equipment resolution as well as the accuracy of input testing stimuli. Besides, both analog

and digital circuits are recently developed on the same substrate and disturbances, i.e.

noises from digital sections may produce influences on the function of the analog

parts .These characteristics lead to difficulties in testing analog circuits, including

vulnerability to performance degradation and indecipherable standard fault models (Garcia

et al., 2001).

1.2.3 Comparisons between DFT and BIST Techniques

Two commonly known on-chip testing techniques are Design-for-Test (DFT) and

Built-In Self Test. The DFT is a technique to reduce difficulty of testing by adding or

modifying some hardware on chip. The scan DFT methodology (Wei et al, 1997), in which

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 7

Page 8: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

the sequential storage elements allow normal operation and test modes, has been a standard

DFT practice followed by industry. In normal mode, the storage elements take their

stimulus from a combinational logic and the response feeds into a combinational logic. In

test mode, the storage elements are reconfigured as one or more shift registers, and each

such configuration is known as a scan chain. The stimulus vector can be shifted serially

into this scan chain. The chip is consequently allowed to function in normal mode and the

responses for a test vector are captured in the storage elements. The response can be shifted

out and compared with reference responses in order to test the chip for functional

correctness. The use of DFT scan design has two major penalties, i.e. an area overhead due

to the additional scan flip-flops and the performance overhead caused by on-path

multiplexors in the scan flip-flops. Besides, this scan also has the disadvantage of greater

power dissipation as there is generally more switching operation during scan mode than

normal operation. Thus, a slow clock is commonly used for scan operation in order to

reduce average power dissipation.

Figure:1.4 A generalized block diagram of BIST architecture.

The BIST refers to as techniques and circuit configurations that enable a chip to test

internally and automatically (Cluskey, 1985; Yamani and McCluskey , 2003). In this BIST

technique, test patterns are generated and test responses are analyzed completely on chip.

Pattern generator logic reduces test data volume through shifting process of the easily

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 8

Page 9: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

detectable faults. The BIST technique offers various advantages over DFT testing

techniques and ATE. First, test circuitry is incorporated on chip and no external tester is

required. Second, test operations can be performed at normal clock rate. Third, the test

operation can be performed after the chip has been incorporated in the system. However,

two difficulties encountered in BIST techniques are area overhead and performance

degradation. Incorporation of the self-testing capability requires addition of hardware on-

chip, which may increase the silicon area and manufacturing costs. Applying BIST

techniques for analog mixed-signal circuits can be primarily considered in two approaches,

i.e. functional and structural tests. Functional BIST evaluates circuit functionality and

compares to a set of functional specifications. This functional BIST requires analog

stimulus and measurement of analog outputs. Therefore, the quality of applied input and

the precision of measured outputs are relatively important factors, highly depending on the

test setup and equipment. On the other hand, structural BIST is based on physical

information of the manufactured device. Therefore, the applied test patterns can be

optimally chosen and fault coverage can be evaluated based on fault models.

1.3 Existing BIST Techniques for Analog Mixed-Signal LSI

Fig.1.4 shows the generalized block diagram of BIST architecture. This BIST

architecture includes two essential functions, i.e. test stimulus generator and output

response analysis, and two additional functions that are necessary to facilitate execution of

7.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 9

Page 10: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 1.5 Classification diagrams of BIST techniques.

Self-testing feature, i.e. test controller and input isolation. Based on this generalized block

diagram, several BIST techniques have recently been proposed to address the need for

analog mixed-signal testing. Fig.1.5 therefore shows the classification diagram of BIST

techniques. The BIST techniques can be classified into three main categories based on the

use of input vectors, test operation modes, and test response analysis domain. Existing

BIST techniques based on Figs.1.4 and 1.5 are reviewed in this section.

1.3.1 BIST Techniques Based on Input Vectors

As depicted in Fig. 1.5 (a), the BIST techniques based on input vectors are

considered regarding the input stimulus generator in Fig.1.4 (a), and can be classified as

vector-based and vector less techniques. The vector-based BIST techniques are referred to

as the testing techniques that require the output signals for fault information processing by

means of applying test input stimuli such as DC input stimulus, sinusoidal input stimulus,

and other non-sinusoidal signal. For DC input stimuli, the measurement of DC input signal

through the use of a comparator (Venuto, 1995) yields low cost and low area overhead. A

multiple DC measurement (Sasho, 1998) was also suggested in order to increase the fault

coverage. Although these DC testing schemes are relatively simple and sufficient for some

cases in the pre-screening process, the percentage of fault coverage is not high since some

of hard-to-detect faults do not produce fault signatures through DC characteristics. The

sinusoidal signals have also been used as an input vector (Current and Chu, 2001; Marcia,

2005), in which AC characteristics can be verified for the circuit functionality. The use of

sinusoidal input vector offers a high fault coverage and multiple-frequency test can be

achieved for a functional analysis in high-precision testing. However, the implementation 8

of high-precision sinusoidal signal generation on-chip is relative complex, requiring a large

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 10

Page 11: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

chip area. In addition, long test time for AC analysis is need in order to correctly

characterize the circuit. Non-sinusoidal input stimuli such as pulse stimulus (Singh at

al.,2004) and pseudo-random input stimulus (Marzocca and Corsi, 2002) have also been

presented for some analog LTI circuits in LSI systems. On the other hand, the vector less

BIST techniques are referred to as the testing that reconfigures CUT in order to generate

output signals automatically with no input stimuli applied. Oscillation-Based Test (OBT)

has proposed for testing different classes of analog and mixed-signal circuits (Arabi and

Kaminska, 1996; Zarnik, 2000; Harzon and Sun, 2006). During test mode, the circuit is

transformed into an oscillator and the frequency of oscillation is measured. Fault detection

is based on the comparison of the measured oscillation frequency of the CUT with a

reference value obtained from a fault-free circuit, operating under the same test conditions.

This OBT test method is suitable for switching circuits such as the switched-capacitor

technique that can easily be transformed through switching mechanisms. Another vector

less BIST techniques is the current testing approach which employs the current sensors to

detect the magnitude of the DC quiescent current (IDDQ) through a resistor, connecting

between the CUT and the supply voltage (Rajsuman, 2000). The detected IDDQ will

subsequently be compared with reference currents. Although this current testing approach

has successfully been applied to digital circuits and can potentially enhance fault coverage,

IDDQ testing suffers from power supply variation and ground shift.

1.3.2 BIST Techniques Based on Test Operation Modes

As depicted in Fig.1.5 (b), the BIST techniques based on test operation modes are

considered regarding the input isolation circuitry in Fig.1.4 (b), and can be classified as

off-line and on-line test methods. In off-line BIST test methods, the CUT suspends normal

operations, and enters a test mode when the appropriate test method is applied. The off-line

test operation can generally be executed either through ATE or through the use of BIST

circuitry. This off-line test has been realized widely in most analog mixed-signal testing.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 11

Page 12: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

For instance, all of those BIST techniques summarized in Section 1.3.1 obey off-line test

methods. In on-line BIST test methods, the outputs from CUT are tested during normal

operation. This on-line test operation can be achieved by coding scheme that has been

embedded in the circuit design. For linear analog filters, continuous checksums have been

proposed by (Chatterjee, 1993) through a cascade of analog integrators, which generate a

non-zero signal in the case of an error in the transfer function of the circuit. An analog

checker employs the on-line test method, which verifies an operational amplifier by means

9 of normal input and output signals (Velasco, 1998). An on-line BIST test method for

analog bi quad filter based on system identification (Cota and et al., 1999) was studied by

comparing the observed and expected outputs concurrently through adaptive filter in

digital domain. Nonetheless, most BIST techniques are not suitable for on-line test since

the circuit has its topology modified during the test or its input signal is being controlled by

test mechanism. Therefore, the on-line test method requires the development of test

strategies that continuously evaluate the operation of the circuit during normal operation.

This problem of on-line monitoring becomes more important due to the use of sub-micron

technologies, which are more sensitive to noise and radiation effects.

1.3.3 BIST Techniques Based on Domains of Fault Analysis

As depicted in Fig.1.5 (c), the BIST techniques based on domains of fault analysis

are considered regarding the output response analyzer in Fig.1.4 (c), and can be classified

as either in digital or analog domains. In digital domain, the output characterization

process initially converts analog fault signatures into digital signals using a sigma-delta

A/D converter (Dufaza and His, 1996) or a voltage comparator (Czaja, 2006). Such digital

signals will subsequently be employed for fault detection by means of a digital comparator

(Roh and Abraham, 2000) or a digital counter (Cassol et al., 2003), incorporating stored

fault-free bit streams. Despite the fact that the characterization in digital domain offers

expedience in comparison and storage of digital fault signatures, the implementation of

A/D converters and digital counters is relatively complicated, resulting in hardware

overhead and ultimately necessitating fault testing. On the other hand, the output

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 12

Page 13: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

characterization process in analog domain generally captures fault signatures by means of

sampling process, and detects faults through voltage comparison in allowable tolerance

margins (Yu et al., 2004; Stround, 2006). Characterizing output response in analog domain

has been realized extensively in most cost-effective BIST systems, as both catastrophic and

parametric faults can be detected instantaneously with low area overhead.

1.4 Dissertation Developments

1.4.1 Motivations

With references to previously developed BIST techniques described in Sections 1.2

and 1.3, there are three major motivations that have led to the research and development of

this dissertation. Firstly, there is a constant demand for new BIST techniques, especially

for recent advanced analog mixed-signal LTI systems with low-cost, 10 low testing time,

and low performance degradation. This demand for new BIST techniques has continuously

been attractive for research activities since BIST is newly introduced to real chip

manufacturing industry, and only a few number of BIST techniques have been

implemented. Unlike scan DFT that has been integrated in digital circuits, not many BIST

techniques have been integrated in the manufacturing industry yet. Secondly, there is the

need for simple and compact BIST techniques for particular analog mixed-signal systems.

Although a number of existing BIST techniques have demonstrated high fault coverage,

the extra BIST circuitry is even more complicated than the exiting CUT itself, i.e. difficult

operations and the requirement for extra external hardware. Those exiting complex BIST

system may not suitable for on-chip integration and therefore simple BIST circuits and

operations are still preferable, especially for the case of compact analog mixed-signal

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 13

Page 14: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

CUTs such as small amplifiers or filters. Lastly, there is a lack of studies in BIST circuits

with calibration for some sensitive and complicated analog mixed-signal circuits such as

oscillators and phase-locked loops. Since extra BIST circuits may introduce some penalties

to the CUTs, applying BIST techniques to these circuit types remains a difficulty due to

awareness of performance degradation. In addition to the three motivations, the

improvement of previously proposed BIST techniques is also important in order to extend

better BIST performances and functionalities.

1.4.2 Research Objectives

The objective of this dissertation is to develop new BIST techniques and

implementations for catastrophic fault detection and parametric fault calibration. The BIST

techniques are expected to be versatile for each specific type of analog and mixed-signal

circuits, and capable of yielding high fault coverage. In addition, this dissertation also aims

to design and implement corresponding BIST systems in CMOS technology, which yield

low area overhead, low power consumption, and low performance degradation.

1.4.3 A Strategy for BIST Architecture

Generally, BIST strategy for analog mixed-signal can be considered in two

architectures. Fig. 1.6 shows the block diagram of classical and recent BIST test strategies.

As shown in Fig.1.6 (a), the classical test strategy exploits a common BIST for all analog

sections, which can be considered as functional testing. The input signal stimuli are applied

for all analog section and the expected single output is solely employed for fault signature

analysis. The BIST circuit uses its own control system and those digital sections are

scanned independently from analog sections. Although this classical strategy can simply be

implemented, the fault coverage and testability is relatively low since different analog 11.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 14

Page 15: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure:1.6 Architectures of classical and recent BIST test strategies.

blocks exhibit different characteristics and functionalities. In addition, accessibility for

fault localization cannot be achieved since test operation has to be done throughout analog

sections. This dissertation therefore realizes a recent BIST test strategy as shown in Fig.1.6

(b) in which each analog mixed-signal functional block is tested independently through

different test techniques. These independent tests yield not only higher fault coverage as

each specific circuit is tested based on its functions, but also offer accessibility capability

to each individual circuit. As new mixed-signal system has been advanced, test control

operation can be achieved from the digital section. In addition, the compliance between

analog and digital boundary scan modules has been researched intensely and therefore

corporation test between digital and analog sections is possible.

1.4.4 Scopes of Research and Contributions

In order to discover new BIST techniques based on the motivations and objectives

in the previous section, the scope of developed BIST techniques in this dissertation

emphasizes on common CUT types encountered in LSI systems. Such CUTs are ranged

from a simple analog building block, which comprises only CMOS transistors, to more

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 15

Page 16: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

complicated mixed-signal circuits composed by various analog and digital building blocks.

For a better understanding in overall figure, Fig. 1.7 summarizes scopes and contributions

of this dissertation through a flow diagram. This diagram describes two clusters of BIST

circuit and system designs, ranging from low to high circuit complexity and conducting

through five research phases. As shown in Fig.1.7 (a), the early three research phases in

cluster 1 focus on BIST techniques for small and medium analog integrated circuits.

Reasons for investigating only BIST without calibration are due to the need for BIST for

analog circuit with performance degradation awareness and also the reasonable cost for

12extra chip area, especially in small circuit size. Details of the three research phases are

described as follows. Phase 1 particularly investigates a compact CMOS-only analog

circuit as a simple building block in most LSI systems. A two-stage differential amplifier is

chosen as a CUT and the contribution to a new BIST technique is a two-step DC and AC

testing mechanism. Phase 2 focuses on a medium size Linear-Time-Invariant (LTI) analog

circuit composed by CMOS transistors, resistors and capacitors. The Sallen-Key 2nd-order

low-pass filter, which is commonly used for test demonstrations, is selected as a CUT, and

the contribution is new pulse stimulation and response capturing. Phase 3 alternatively

considers both a complicated analog circuit and a system implementation compliant to

analog and digital boundary scan. The Gm-C low-pass filter is chosen as a CUT. The 13

contributions include a new fault signature characterization technique and the extension of

IEEE1149.4 standard analog boundary scans. As shown in Fig.1.7 (b), the latter two

research phases in cluster 2 focuses on BIST and calibration techniques for frequency-

based complicated analog mixed-signal circuits. Both test and calibration circuits are

suggested to this cluster due to the possibility of frequency calibration. Since these circuit

types are relatively complicated, comprising vast number of transistors, and calibrations

foster a cost reduction in the case where parametric faults exist. Details of two research

phases are described as follows. Phase 4 considers a self-oscillating circuit, and the

voltage-controlled oscillator is selected as a CUT. The contribution is a new BIST

technique based on a current and voltage sensor in power supply regulation system. Phase

5 particularly studies the most complex analog mixed-signal circuit, which is a Phase-

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 16

Page 17: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Locked Loop, comprising both analog and digital mixed-signal circuits. The contribution is

a new voltage control sensing and PLL with frequency calibration.

Figure:1.7 block diagram of dissertation

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 17

Page 18: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

1.5 Thesis Organizations

This thesis is organized into seven chapters. The following chapter 2 presents the

first proposed BIST technique based on two-step AC and DC testing mechanisms, which

detect faults by monitoring and analyzing the fault signatures through amplitude and offset

of sinusoidal voltage signals. This technique simplifies the design of fault-sensing circuits,

and provides a single test outputs in digital form, which is applicable in test systems.

Details of BIST circuit design and implementation through the use of 0.18-μm CMOS

technology are included. Demonstrations of a two-stage CMOS differential amplifier show

the percentage of fault coverage and area overhead of 95.45% and 15%, respectively.

Chapter 3 presents the BIST technique that employs a new simultaneous pulse generator

and a single effective voltage on a transient pulse response for fault detection.

Demonstrations of BIST system for Sallen-Key low-pass filter with a cut-off frequency of

500kHz, containing the total number of 67 faults, show high percentage of fault coverage

at 95.5%. Experimental results show an area overhead of approximately 12% and low

degradation on existing CUT performances. On-chip BIST of four CUT examples and

comparisons of other related techniques are also included. Chapter 4 presents the BIST

technique that is a fault signature characterization for embedded analog circuits in mixed-

signal LSI compliant with IEEE1149.4 boundary scan standard. Demonstrations have been

performed for a 4th-order Gm-C low-pass filter. Both catastrophic and parametric faults

are potentially detectable at the minimum parameter variation of 0.5%. The fault coverage

associated with CMOS trans conductance operational amplifiers and capacitors is at

94.16% and 100%, respectively. Low performance.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 18

Page 19: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

CHAPTER-2

Linear Feedback Shift Registers

Let F = Fq denote a nite eld having q elements. A general feedback shift register is

a map f : Fd → Fd of the form

f(x0, ..., xn−1) = (x1, x2, ..., xn), xn = C(x0, ..., xn−1),

where C : Fd → F is a given function. When C is of the form

C(x0, ..., xn−1) = a0x0 + ... + an−1xn−1,

for some given constants ai ∈ F, the map is called a linear feedback shift register (LFSR).

It turns out such sequences are periodic. The main focus of this paper will be to discuss

Massey's algorithm [4] for deciphering a stream cipher given by a linear feedback shift

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 19

Page 20: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

register. This algorithm has been implemented (by the author) in the computer algebra

system SAGE [9] using Python (www.python.org) Here, we shall work over any nite eld,

instead of only dealing with the binary case. However, this paper will begin by discussing

some of the history of LFSRs in applications.

2.1 Background on Linear Feedback Shift Registers

A (non-)linear feedback shift register can be easily implemented in hardware or

software and is used to create a pseudo-random sequence of numbers for many die rent

applications. These applications include uses in consumer electronics, such as cell phones

and digital cable [7]; multiple access and polling techniques; secure and privacy

communications; error detecting and correcting codes; and 1SAGE is a free and open-

source computer algebra system written primarily in Python. Please see section 4 below for

more details. cryptographic systems [1]. The fascinating notes of Körner [2] also mention

cable TV scrambling and the use of periodic sequences for modeling the behavior of the

British and German WWII codes. (We refer to Sherman [8] for a rigorous mathematical

interpretation of the Enigma cipher machine.).

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 20

Page 21: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 2.1 Examples of LFSRs

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 21

Page 22: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

In consumer electronics, a Linear Feedback Shift Register can be used as a counter

When used in this manner, LFSRs are desirable because they perform the function with

less resources and usually much faster than the conventional counters, such as binary

counters or Gray Code counters. Though it goes against intuition, LFSRs can also be

used to generate pseudo-noise which is used by such consumer electronics as cell phones

and digital cable to increase the reliability of the signal. LFSRs can also be used in

spread spectrum systems . A spread spectrum system utilizes the entire bandwidth a

signal may use to send information by spreading the data frequency over many

frequencies in the bandwidth. The next frequency to be utilized is determined by the

LFSR sequence. Other more common applications of a LFSR is the use in white noise

machines (such as the one shown below) and music synthesizers, where they are used to

make the electrically-produced music sound more natural.

Figure: 2.2 White noise machine

Another application of LFSRs is the creation of pseudo-random sequences that

can be used in cryptography. The LFSR sequence is a pseudo-random number sequence

that can be applied to a message as a cipher, as explained in Example 3 below. B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR

22

Page 23: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Throughout this paper, the cipher will be a sequence of binary terms that is added to the

binary message to provide the encoded message, also known as the cipher text. The

cipher encodes the message so that only someone with the key knows the proper way to

decode the message and is then able to read the message, anyone without the key

receives the cipher text and reads only nonsense. The key is a piece of information that

allows a user to determine the specie cipher used in encrypting the message. In digital

communication, the enciphering of a message with a LFSR sequence is the same as

adding in pseudo-random noise. The proper recipient with a key removes the noise from

the message, but a third party without the key interprets the message only as noise.

2.2 How to Create a LFSR Sequence

A linear feedback shift register sequence is a pseudo-random sequence of

numbers that is often created in a hardware implementation of a linear feedback shift

register. When a LFSR is implemented in hardware, a LFSR sequence is recursively

generated by taking the output from the last stage of a given LFSR to compute the next

stage. An example of a LFSR implemented in hardware is included in Figure 1 (from

Massey . This LFSR is of length L, and each state cell's current state is used as the input

to the mod 2 adder. This adder is implemented in hardware with an exclusive-or

function. Since this is a shift register, each iteration of the register causes the state of

each state cell to shift to the next cell (in this case, to the right). We use the output of the

last state cell to provide the next term of the sequence after each iteration.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 23

Page 24: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 2.3 figures 4&5 are the models of LFSRs

Figure: 2.4 1-Bit LFSR diagram

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 24

Page 25: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

This hardware LFSR can be modeled mathematically to generate a LFSR

sequence. In order to build this sequence, three pieces of information are needed. They

are the (1) key, the (2) initial ll, and (3) an algorithm to obtain the next term of the

sequence. In the hardware implementation, the connections between the state cells and

the mod 2 adder determines how the outputs of the cells are used as inputs to the mod 2

adder. In the same way, the key determines how the previous terms of the LFSR

sequence are used to compute the next term in the sequence. The key may be represented

as a vector c = [c1, c 2, ..., cL ], but is more often de ned by a polynomial, known as the

connection polynomial

C(x) = 1 + c1 · x + c2 · x2 + ... + cL · xL. (1)

`The coefficients ci's can also be considered the key. In Figure 1, the coefficients

describe which cells were used as inputs to the modulo 2 adder. The degree of the

polynomial also describes how many cells (or bits) are needed to create the minimal

linear feedback shift register that will generate the given LFSR sequence.

According to Massey , the initial ll is the list of initial values of the state cells, s0,

s1, s2 , ..., sL−1 the initial contents of the L stages of Figure 1 above. In the binary case, the

LFSR sequence is de need by the following recursion relation.

L

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 25

Page 26: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

sj = ci · sj−i mod 2, (2)=1

Xi

for j ≥ l

Example 1 If we are given the key as a vector c = [1 , 0, 0, 1] and the initial ll as a vector

s = [1, 1, 0, 1] in the nite eld GF (2), we can create the sequence 1, 1, 0, 1, 0, 1, 1, 0, 0,

1, 0, 0, 0, 1, 1, 1, 1, ... Note that the rst four terms of the sequence are the same as the

terms given to us by the vector s (namely s0 = 1, s1 = 1, s2 = 0, s3 = 1). The next term (s4)

is found by using the recursion function to

give

s = 4 c

i ·

s4 i = c s3 + c2 s2 + c3 s1 + c4 s0

4Pi=1 − = 11··1 + 0 · 0 ·+ 0 · 1 +·1 · 1 = 0·.

We know that L = 4 since the length of vectors c and s is 4. This sequence satisfies

Golomb's three randomness conditions given in Ÿ2.2. Fortunately, this process can be

easily automated and a function has been written for the computer algebra system SAGE

which will quickly generate terms of a LFSR sequence of any length de need by the

user. The inputs for this function are two vectors representing the key and the initial ll

and an integer n > L representing thedesired number of terms in the output. Example 2

More generally, let

f(x) = a0 + a1x + ... + anxn + ..., g(x) = b0 + b1x

+ ... + bnxn + ...,

be given polynomials in F3[x] and let

h(x) = f(x) = c0 + c1x + ... + cnxn + ... .

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 26

Page 27: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

g(x)

We can compute a recursion formula which allows us to rapidly compute the

coefficients of h(x) (take f(x) = 1):

cn = Xn −bi cn−i. i=1 b0

The coefficients of h(x) can, under certain conditions on f(x) and g(x), be

considered random from certain statistical points of view. For instance,

if we consider a case other than binary and if

f(x) = 1, g(x) = 2 · x4 + x + 1,

thenh(x) = 1 + 2 · x + x2 + 2 · x3 + 2 · x4 + x6 + x7 + x8 + ...

.

The coefficients of h are

2, 1, 2, 2, 0, 1, 1, 1, 2, 2, 2, 2, 0, 2, 0,

2, 1, 1, 2, 0, 1, 0, 2, 1, 0, 0, 2, 2, 1, 2, ... .

The sequence of 0, 1, 2's is periodic with period P = 34 − 1 = 80. However, this

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 27

Page 28: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

sequence of period 80 can be cracked (i.e., a procedure to reproduce g(x)) by knowing

only 8 terms! This is the result of Massey's algorithm [4], which is implemented in

SAGE by the author, and described in detail below.

2.2.1 Linear Feedback Shift Registers in Cryptography

A stream cipher is a sequence of binary digits called a cryptographic bit-stream .

The stream cipher is then added to the message to create a cipher text (encryption) and

can be added to the cipher text to obtain the original message (decryption).2.1 Four

Tenets of Security Imagine that Alice and Bob are sending messages back and forth to

one another. If the content of these messages was not very secret and Alice and Bob did

not care if anyone else read the message, they would not bother with any kind of

encryption. Then, if an evil eavesdropper, say Eve, intercepts the message she can read it

without any difficulty. If, on the other hand, Alice and Bob were exchanging

information they wanted to keep secret, they would need to employ some kind of

encryption system to encode their messages. Depending upon the type of encryption

they employ, Alice and Bob would receive a certain level of security against the actions

of third parties. No matter what type of encryption Alice and Bob use, there will be

several objectives that Alice and Bob want the encryption method to achieve. Out of a

long list of objectives, there are four that form a framework upon which all the others are

built . The four security objectives that would apply to this message include: Secrecy:

This objective ensures that the information is available only to those people who are

authorized to have it. Integrity: This ensures that no third party can make unauthorized

alterations to the data. Non-repudiation: This prevents the sender of information from

denying that they sent that information. This also allows the receiver to prove to a third

party that the information was sent by the sender. Authentication: Authentication is

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 28

Page 29: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

related to identification. Two parties that are communicating with each other need to be

able to identify one an-other and the receiver can be sure that the person sending the

information is who the receiver thinks it is. Does the LFSR sequence, as an encryption

method, meet the above four security objectives? First, a binary LFSR sequence stream

cipher achieves secrecy by adding the sequence to the binary representation of the

message. The LFSR sequence appears as noise added to the message, thus frustrating

any-one who intercepts the message. The problem with relying on LSFR sequences for

secrecy is that the minimal connection polynomial of the sequence is easily determined

using the Berlekamp-Massey Algorithm, which is discussed in Ÿ3.2. The minimal

connection polynomial is the key necessary to generate the LFSR sequence used as the

stream cipher. With this key, the eavesdropper Eve can easily add the sequence to the

cipher text to retrieve the original message. One method Alice and Bob can use to have

more secrecy in the stream cipher is by picking LFSR sequences with extremely long

periods (i.e. period length p ≈ 1050). With long period lengths, Eve needs a longer amount

of cipher text to and the minimal connection polynomial and she needs more terms of

the sequence to determine the correct polynomial. LFSR sequences combined with some

error-correcting codes can provide a limited amount of integrity. However, on its own, a

LFSR sequence provides very little integrity. Likewise, on its own, a LFSR sequence

provides very little in terms of non-repudiation. In order to provide for authentication,

Alice and Bob could each create their own stream cipher using a different LFSR

sequence. Alice would then send her key and

initially to Bob and Bob would send his key and initial ll to Alice. Alice would then add

together her sequence and Bob's sequence to obtain a new sequence. She would use this

sequence as the stream cipher and encode her message to send to Bob. Bob would also

add together the two sequences to obtain the same stream cipher. This would allow Alice

and Bob to verify that they are talking with each other since they created their stream

cipher by adding their own individual sequences.2.2 Pseudo-random Binary Sequences

Any binary sequence that has Golumb's three properties stated below is considered to be

pseudo-random. One type of stream cipher that is used to create cipher texts is pseudo-

random binary sequences. Linear feedback shift register sequences are one type of

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 29

Page 30: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

pseudo-random binary sequence that are easily generated by linear feedback shift

registers. Ideally, a cryptographic bit-stream sequence would have in nite length and

complete randomness. The reality of practical application and construction techniques

necessitates the use of only nite sequences. Since nite sequences can never be truly

random, there are certain properties singled out that are associated with randomness.

Golomb's properties are

Balance: The number of 1's is approximately equal to the number of 0's. (More

generally, each symbol occurs with approximately equal frequency.)

Proportional runs: The runs of consecutive 1's or 0's frequently occur with short runs

more frequent than long runs. (More generally, runs of a given symbol of a shorter

length occur more frequently than those of a given longer length.).

Low autocorrelation: The sequence possesses an auto-correlation function , which is

peaked in the middle and tapering o rapidly at the ends.

The auto-correlation function is a way to quantize how random a sequence is and is

denied by

1 Xp

AC(k) = p i=1 xi · xi+k

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 30

Page 31: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

where p is the period of the sequence {xi} and the sum is taken as a real number not as

an element of the nite eld with 2 elements. When 0 < k < p, AC(k)is close to zero

(meaning there is very little correlation of the sequence with itself) and AC(0) = 12 ,

since by the Balance property, 1/2 the elements of the sequence are 0.In order to

generate a stream cipher that only Alice and Bob know, each person will generate a

pseudo-random sequence of sufficient length. Alice will send her sequence to Bob and

Bob will send his sequence to Alice. The two people will then add their sequences

together bit-wise to produce a common stream cipher. For our purposes, suppose the

resultant sequence from the two individual sequences is Alice now has a message in

binary format and a cipher to encode the message. Adding the cipher to the message,

Alice gets the encrypted message or cipher text,

E.

00100011000101100000000101010100011110

00 M

+

1101011001000111101011001000111101011001 = + C

11110101010100011010110111011011001000 E

If a third party, Eve, were to intercept the cipher text and tried to read it, knowing that

the computers used the above table to talk to one another, he would decrypt the cipher

text as LRRA?..;BA . Notice that both `A's in the original message where changed to

two different letters (`R' the rst time and `.' the second time) and that `E' and `A' both are

changed to `R' and `T' and `!' are both changed to `A'. This helps prevent a cryptanalyst

from breaking the code by mapping each character to something different every time.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 31

Page 32: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

The mapping appears random since the stream cipher used was a pseudo-random

sequence. When Bob receives the cipher text, however, he is able to decrypt it since he

has the stream cipher that he and Alice created earlier. By adding the stream cipher to

the cipher text, he will uncover the original message.

11110101010100011010110111011011001000

01 E

+

1101011001000111101011001000111101011001 = + C

00100011000101100000000101010100011110

00 M

Now Bob can use the table to decode the message from binary into English and receives

BEAT ARMY! from Alice.

2.3 How to Find the Connection Polynomial

2.3.1 Recovering the Connection Polynomial from a LFSR Sequence

In some cases, it is necessary to recover the connection polynomial of a LFSR

sequence from the sequence itself. This is true when attempting to do crypt-analysis on a

piece of intercepted code. When a part of the stream cipher is intercepted, the connection

polynomial can be recovered even if the number of bits of the cipher is less than the

period of the sequence. Once this polynomial is known, the entire cipher can be

generated and any messages that are encrypted using that particular sequence as a stream

cipher can be decrypted and read by the third party.

2.3.2 Massey’s Algorithm

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 32

Page 33: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

An algorithm exists that provides a connection polynomial given only a few

terms of a LFSR sequence. This algorithm is known as the Berlekamp-Massey

algorithm. One is able to determine the connection polynomial of a LFSR sequence of

period 15 with only 8 terms of the sequence. This can be generalized since if we know

that a sequence has a minimal connection polynomial with degree ≤ L, then only 2 · L

terms of the sequence need to be known in order to determine the correct connection

polynomial. We can determine L if we know the period length of the sequence, since the

period p = 2L − 1 [3]. This is an extremely powerful tool for cryptanalysts trying to

break stream ciphers generated from LFSRs, since only a relatively small sample of a

long period sequence is needed to break the cipher. The algorithm as it is described by

James Massey is presented below [4]:Input: a LFSR sequence of length n.Output: a

connection polynomial C(x) of the minimal LFSR.

Initialize the algorithm by setting C(x) = 1, B(x) = 1, m = 1, b = 1, L = 0, and, N = 0.

If N = n, then terminate, otherwise calculate the discrepancy

XL

d = sN + ci · sN−i

i=1

If d = 0, then m = m + 1, go to step 6.

If d 6= 0 and 2 · L > N, then calculate C(x) = C(x) − d · b−1 · xm · B(x),

m = m + 1, go to step 6.

d 6= 0 and 2 · L ≤ N, then set T (x) = C(x), calculate C(x) = C(x) −

d · b−1 · xm · B(x), L = N + 1 − L, B(x) = T (x),and set m = 1 and b = d,

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 33

Page 34: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

go to step 6.

6. Calculate N = N + 1 and repeat steps 2 through 6.

This algorithm determines whether or not the current connection polynomial C(x) can

correctly produce the next term of the given sequence. If it can, the

discrepancy d = 0 and the algorithm leaves C(x) unchanged and iterates to the next

step. If C(x) does not provide the next term of the sequence, the

discrepancy d =6 0 and a new C(x) is calculated as in steps 4 and 5 above. The

algorithm is complicated and mysterious enough to warrant a complete example,

showing all steps.

Example 4 The LFSR sequence used in this example: 110101100100011. We take the

algorithm all the way out to the termination when N = n. Though this sequence is of

length n = 15, we arrive at the correct connection polynomial C(x).

after only 8 iterations of the algorithm. Iterations 9 through 15 return a dis-crepancy d

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 34

Page 35: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

= 0 which causes the algorithm to return the connection polynomial

calculated in the previous iteration.

Step 1: C(x) = 1,B(x) = 1, m = 1, b = 1, L = 0, N = 0 6= 15 = n.

Step 2: Find the discrepancy

X0

d = s0 + ci · s0−i = s0 = 1

i=1

since d =6 0, we compare 2 · L to N

2 · L = 2 · 0 = 0 ≤ 0 = N

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 35

Page 36: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

go to step 5.

Step 5: Calculate

T (x) = C(x) = 1

C(x) = C(x) − d · b−1 · xm · B(x) = 1 − x L = N + 1 − L = 0 + 1 − 0 = 1

B(x) = T (x) = 1 b = d = 1

m = 1

go to step 6.

Step 6: Increase N

N = N + 1 = 0 + 1 = 1

Step 1: C(x) = 1 − x, B(x) = 1, m = 1, b = 1, L = 1, N = 1 6= 15 = n.

Step 2: Find the discrepancy

X1

d = s1 + ci · s1−i = s1 + c1 · s0 = 0

i=1

Step 3: Since d = 0, m = m + 1 = 1 + 1 = 2, and we skip to step 6.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 36

Page 37: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Step 6: Increase N

N = N + 1 = 1 + 1 = 2

Step 1: C(x) = 1 − x, B(x) = 1, m = 2, b = 1, L = 1, N = 2 6= 15 = n.

Step 2: Find the discrepancy

1

d = s2 + ci · s2−i = s2 + c1 · s1 = 1

=1

Xi

since d 6= 0, we compare 2 · L and N

2 · L = 2 · 1 = 2 ≤ 2 = N

go to step 5.

Step 5: Calculate C(x)

T (x) = C(x) = 1 – x

C(x) = C(x) − d · b−1 · xm · B(x) = −x − x2

L = N + 1 − L = 2 + 1 − 1 = 2

B(x) = T (x) = 1 – x

b = d = 1

m = 1

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 37

Page 38: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

go to step 6.

Step 6: Increase N

N = N + 1 = 2 + 1 = 3

4. Step 1: C(x) = 1 − x − x2, B(x) = 1 − x, m = 1, b = 1, L = 2,

N = 3 6= 15 = n.

Step 2: Find the discrepancy

2

d = s3 + ci · s3−i = s3 + c1 · s2 + c2 · s1 = 1 + 1 · 0 + 1 · 1 = 0

=1

Xi

since d = 0, m = m + 1 = 1 + 1 = 2, and we skip to step 6.

Step 6: Increase N

N = N + 1 = 3 + 1 = 4

5. Step 1: C(x) = 1 − x − x2, B(x) = 1 − x, m = 2, b = 1, L = 2,

N = 4 6= 15 = n.

Step 2: Find the discrepancy

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 38

Page 39: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

d = s6 + ci ·s6−i = s6 + c1 ·s5 + c2 ·s4 + c3 ·s3 = 1+0 ·1+1 ·0+0 ·1 = 1

i=1

since d =6 0 we compare 2 · L and N

2 · L = 2 · 3 = 6 ≤ 6 = N

go to step 5.

Step 5: Calculate C(x)

T (x) = C(x) = 1 + x2

C(x) = C(x) − d · b−1 · xm · B(x) = 1 + x3 + x4

L = N + 1 − L = 6 + 1 − 3 = 4 B(x) = T (x) = 1 +

x2

b = d = 1 m = 1

go to step 6.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 39

Page 40: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Step 6: Increase N N + 1 = 6 + 1 = 7

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 40

Page 41: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

At this point the algorithm outputs the last value of L and C(x) which are L = 4 and C(x)

= 1 − x + x4 . The algorithm terminates since N = n. Figure2 (from Massey [4]) depicts

the minimal LFSR found in this example. Since the coefficients (c1, c2 , c3, c4) of the

connection polynomial C(x) = 1 − x + x4are

(1, 0, 0, 1) we know that the inputs for the mod 2 adder are taken o the rst

and forth registers. Since L = 4, we know that the LFSR must have a minimum

of four registers. It should be noted that, since this example uses the binary case of

GF(2), −1 and +1 are the same modulo 2.

Figure:2.5 minimal LFSR with C(X)=1+X+X4 and L=4

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 41

Page 42: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

CHAPTER-3

COMBINATIONAL CIRCUITS

Combinational circuit is circuit in which we combine the different gates the

circuit for example encoder, decoder, multiplexer and de-multiplexer. Some of the

characteristics of combinational circuits are following .

The output of combinational circuit at any instant of time, depends only on the levels present at input terminals.

The combinational circuit do not use any memory. The previous state of input does not have any effect on the present state of the circuit.

A combinational circuit can have a n number of inputs and m number of outputs.

Block diagram

Figure:3.1 block diagram

We're going to elaborate few important combinational circuits as follows.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 42

Page 43: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

3.1 DIFFERENT TYPES OF MODULES

Half Adder

Half adder is a combinational log ic circuit with two input and two output. The half

adder circuit is designed to add two sing le bit binary number A and B. It is the basic

building block for addition of two single bit numbers. This circuit has two outputs carry

and sum.

Block diagram

Figure:3.2 block diagram of half adder

Truth Table

Table:3.1 truth table of half adder

Circuit Diagram

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 43

Page 44: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure:3.3 circuit diagram of half adder

Full Adder

Full adder is developed to overcome the drawback of Half Adder circuit. It can add two

one-bit numbers A and B, and carry c. The full adder is a three input and two output

combinational circuit.

Block diagram

Figure:3.4 block diagram of full adder

Truth Table

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 44

Page 45: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Table:3.2 truth table of full adder

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 45

Page 46: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Circuit Diagram

Figure:3.5 circuit diagram of full adder

N-Bit Parallel Adder

The Full Adder is capable of adding only two sing le dig it binary number along with a

carry input. But in practical we need to add binary numbers which are much long er than

just one bit. To add two n-bit binary numbers we need to use the n-bit parallel adder. It

uses a number of full adders in cascade. The carry output of the previous full adder is

connected to carry input of the next full adder.

4 Bit Parallel Adder

In the block diag ram, A0 and B0 represent the LSB of the four bit words A and B.

Hence Full Adder-0 is the lowest stag e. Hence its Cin has been permanently made 0.

The rest of the connections are exactly same as those of n-bit parallel adder is shown

in fig . The four bit parallel adder is a very common log ic circuit.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 46

Page 47: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Block diagram

Figure:3.6 block diagram of 4 bit parallel adder

N-Bit Parallel Subtractor

The subtraction can be carried out by taking the 1's or 2's complement of the number to

be subtracted. For example we can perform the subtraction (A-B) by adding either 1's or

2's complement of B to A. That means we can use a binary adder to perform the binary

subtraction.

4 Bit Parallel Subtractor

The number to be subtracted (B) is first passed through inverters to obtain its 1's

complement. The 4-bit adder then adds A and 2's complement of B to produce the

subtraction. S3 S2 S1 S0 represent the result of binary

subtraction (A-B) and carry output Cout represents the polarity of the result. If A > B then

Cout =0 and the result of binary form (A-B) then Cout = 1 and the result is in the 2's

complement form.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 47

Page 48: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Block diagram

Figure:3.7 block diagram 4 bit parallel subtractor

Half Subtractors

Half subtractor is a combination circuit with two inputs and two outputs (difference and

borrow). It produces the difference between the two binary bits at the input and also

produces a output (Borrow) to indicate if a 1 has been borrowed. In the subtraction (A-B),

A is called as Minuend bit and B is called as Subtrahend bit.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 48

Page 49: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Truth Table

Table:3.3 truth table of half subtractor

circuit Diagram

Figure:3.8 circuit diagram of half subtractor

Full Subtractors

The disadvantage of a half subtractor is overcome by full subtractor. The full subtractor is

a combinational circuit with three inputs A,B,C and two output D and C'. A is the

minuend, B is subtrahend, C is the borrow produced by the previous stag e, D is the

difference output and C' is the borrow output.

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 49

Page 50: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Truth Table

Table:3.4 truth table of full subtractor

Circuit Diagram

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 50

Page 51: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure:3.9 circuit diagram of full subtractor

Multiplexers

Multiplexer is a special type of combinational circuit. There are n-data inputs, one output

and m select inputs with 2m = n. It is a dig ital circuit which selects one of the n data inputs

and routes it to the output. The selection of one of the n inputs is done by the selected

inputs. Depending on the dig ital code applied at the selected inputs, one out of n data

sources is selected and transmitted to the sing le output Y. E is called the strobe or enable

input which is useful for the cascading . It is g enerally an active low terminal, that means

it will perform the required operation when it is low.

Block diagram

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 51

Page 52: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure :3.10 block diagram of multiplexer

Multiplexers come in multiple variations

2 : 1 multiplexer

4 : 1 multiplexer

16 : 1 multiplexer

32 : 1 multiplexer

Block Diagram

Truth Table

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 52

Page 53: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Table ;3.5 truth table of mux

De-multiplexers

A de-multiplexer performs the reverse operation of a multiplexer i.e. it receives one input

and distributes it over several outputs. It has only one input, n outputs, m select input. At a

time only one output line is selected by the select lines and the input is transmitted to the

selected output line. A de-multiplexer is equivalent to a sing le pole multiple way switch as

shown in fig .

De-multiplexers come in multiple variations

1: 2 de-multiplexers

1: 4 de-multiplexers

1: 16 de-multiplexer

1: 32 de-multiplexer

Block diagram

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 53

Page 54: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure:3.11 block diagram of de-mux

Decoder

A decoder is a combinational circuit. It has n input and to a maximum m = 2n outputs.

Decoder is identical to a de-multiplexer without any data input. It performs operations

which are exactly opposite to those of an encoder.

Block diagram

Figure:3.12 block diagram of decoder

Examples of Decoders are following .

Code converters

BCD to seven segment decoders

Nixie tube decoders

Relay actuator

2 to 4 Line Decoder

The block diagram of 2 to 4 line decoder is shown in the fig . A and B are the two inputs where D through D are the four outputs. Truth table explains the operations of a decoder. It shows that each output is 1 for only a specific combination of inputs.

Block diagram

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 54

Page 55: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure:3.13 block diagram of 2to4 line decoder

Truth Table

Table: 3.6 truth table of 2to4 line decoder

Logic Circuit

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 55

Page 56: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure:3.14 circuit diagram of 2 t0 4 line decoder

Encoder

Encoder is a combinational circuit which is desig ned to perform the inverse operation of

the decoder. An encoder has n number of input lines and m number of output lines. An

encoder produces an m bit binary code corresponding to the dig ital input number. The

encoder accepts an n input dig ital word and converts it into an m bit another dig ital word

Block diagram

Figure:3.15 block diagram of encoder

Examples of Encoders are following .

Priority encoders

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 56

Page 57: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Decimal to BCD encoder

Octal to binary encoder

Hexadecimal to binary encoder

Priority Encoder

This is a special type of encoder. Priority is g iven to the input lines. If two or more

input line are 1 at the same time, then the input line with hig hest priority will be

considered. There are four input D0, D1, D2, D3 and two output Y0, Y1. Out of the four

input D3 has the hig hest priority and D0 has the lowest priority. That means if D3 = 1

then Y1 Y1 = 11 irrespective of the other inputs. Similarly if D3 = 0 and D2 = 1 then Y1

Y0 = 10 irrespective of the other inputs.

Block diagram

Figure: 3.16 block diagram priority encoder

Truth Table

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 57

Page 58: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Table: 3.7 truth table of priority encoder

Logic circuit

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 58

Page 59: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure :3.17 circuit diagram of priority encoder

Truth table

Table:3.8 truth table of encoder

B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE,BHONGIR 59

Page 60: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

CHAPTER -4

OUTPUT RESPONSE ANALYZERS

When test patterns are applied to a CUT, its fault free response(s) should be pre-

determined. For a given set of test vectors, applied in a particular order, we can obtain the

expected responses and their order by simulating the CUT. These responses may be stored

on the chip using ROM, but such a scheme would require a lot of silicon area to be of

practical use. Alternatively, the test patterns and their corresponding responses can be

compressed and re-generated, but this is of limited value too, for general VLSI circuits due

to the inadequate reduction of the huge volume of data.

The solution is compaction of responses into a relatively short binary sequence

called a signature. The main difference between compression and compaction is that

compression is loss less in the sense that the original sequence can be regenerated from the

compressed sequence. In compaction though, the original sequence cannot be regenerated

from the compacted response. In other words, compression is an invertible function while

compaction is not.

4.1Principle behind ORAs

The response sequence R for a given order of test vectors is obtained from a

simulator and a compaction function C(R) is defined. The number of bits in C(R) is much

lesser than the number in R. These compressed vectors are then stored on or off chip and

used during BIST. The same compaction function C is used on the CUTs response R* to

provide C(R*). If C(R) and C(R*) are equal, the CUT is declared to be fault-free. For

compaction to be practically used, the compaction function C has to be simple enough to

implement on a chip, the compressed responses should be small enough and above all, the

function C should be able to distinguish between the faulty and fault-free compression

responses. Masking [3.3] or aliasing occurs if a faulty circuit gives the same response as

the fault-free circuit. Due to the linearity of the LFSRs used, this occurs if and only if the

60B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 61: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

‘error sequence’ obtained by the XOR operation from the correct and incorrect sequence

leads to a zero signature.

Compression can be performed either serially, or in parallel, or in any mixed

manner. A purely parallel compression yields a 'global' value C describing the complete

behaviour of the CUT. On the other hand, if additional information is needed for fault

localization then a serial compression technique has to be used. Using such a method, a

special compacted value C(R*) is generated for any output response sequence R* where

R* depends on the number of output lines of the CUT.

4.2 Different Compression Methods

We now take a look at a few of the serial compression methods that are used in the

implementation of BIST. Let X=(x1...xt) be a binary sequence. Then, the sequence X can

be compressed in the following ways:

4.2.1 Transition counting

In this method, the signature is the number of 0-to-1 and 1-to-0 transitions in the

output data stream. Thus the transition count is given by

t -1

T(X) = Σ(xi ⊕ xi+1)

i=1

Here the symbol '_' is used to denote the addition modulo 2, but the sum sign must be

interpreted by the usual addition.

4.2.2 Syndrome testing (or ones counting)In this method, a single output is considered and the signature is the number of 1’s

appearing in the response R. It is mathematically expressed as:

t

Sy(X) = Σ xi (Savir, 1980);

61B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 62: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

i=1.

4.2.3 Accumulator compression testing t k

A(X) = Σ Σ xi (Saxena, Robinson1986);

k=1 i=1

In each one of these cases, the compaction rate n is of the order of O(log n). The following

well-known methods also lead to a constant length of the compressed value.

4.2.4 Parity check compression In this method, the compression is performed with the use of a simple LFSR whose

primitive polynomial is G(x) = x + 1. The signature S is the parity of the circuit

response – it is zero if the parity is even, else it is one. This scheme detects all single

and multiple bit errors consisting of an odd number of error bits in the response

sequence but fails for a circuit with even number of error bits.

t

P(X) = ⊕ xi

i=1

where the bigger symbol '⊕' is used to denote the repeated addition modulo 2.

4.2.5 Cyclic redundancy check (CRC) A linear feedback shift register of some fixed length n >=1 performs CRC. Here it

should be mentioned that the parity test is a special case of the CRC for n = 1.

4.3 Response Analysis

The basic idea behind response analysis is to divide the data polynomial (the input

to the LFSR which is essentially the compressed response of the CUT) by the characteristic

polynomial of the LFSR. The remainder of this division is the signature used to determine

the faulty/fault-free status of the CUT at the end of the BIST sequence. This is illustrated

62B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 63: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

in Figure 3.1 for a 4-bit signature analysis register (SAR) constructed from an internal

feedback LFSR with characteristic polynomial from Table 2.1. Since the last bit in the

output response of the CUT to enter the SAR denotes the co-efficient x0, the data

polynomial of the output response of the CUT can be determined by counting backward

from the last bit to the first. Thus the data polynomial for this example is given by K(x), as

shown in the Figure 3.3(a). The contents for each clock cycle of the output response from

the CUT are shown in Figure 3.3(b) along with the input data K(x), shifting into the SAR

on the left hand side and the data shifting out the end of the SAR, Q(x), on the right-hand

side. The signature contained in the SAR at the end of the BIST sequence is shown at the

bottom of Figure 3.3(b) and is denoted R(x). The polynomial division process is illustrated

in Figure 3.3(c) where the division of the CUT output data polynomial, K(x), by the LFSR

characteristic polynomial, P(x) results in a quotient, Q(x), which is shifted out of the right

end of the SAR, and a remainder R(x), which is contained in the SAR at the end of the

BIST sequence.

Figure: 4.1 Example of fault detection and signature aliasing

The polynomial division process of the SAR is given by:

63B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 64: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

K(x) = Q(x)P(x) + R(x)

Or equivalently,

R(x) = K(x) mod P(x)

Once the fault free signature has been established, fault detection occurs when the

signature of the faulty circuit is different from that of the fault-free circuit. Given a faulty

CUT response, K’(x) the signature resulting from signature analysis, R’(x) is given by:

R’(x) = K’(x) mod P(x)

K’(x) is related to the fault-free output response K(x) as

K’(x) = K(X) + E(x)

Where E(x) is the error polynomial since it indicates the erroneous bits in the output

response. The difference between the signatures of the faulty and fault-free circuits R’(x)

and R(x) respectively, is given by:

Re(x) = R(x) + R’(x) = E(x) mod P(x)

Where Re(x) is the signature of the error polynomial E(x). Thus, a faulty CUT is always

identified as long as Re(x) is not equal to zero. Otherwise it results in masking or aliasing.

4.4 Multiple Input Signature Registers (MISRs)

A serial-input signature register can only be used to test logic with a single output.

We can extend the idea of a serial-input signature register to the multiple-input signature

register (MISR) shown in figure4.2. There are several ways to connect the inputs to both

types (type 1 and type 2) of LFSRs to form an MISR. Since the XOR operation is linear

and associative, so that (A ⊕ B) ⊕ C = A ⊕ (B ⊕ C), as long as the result of the

additions are the same then the different representations are equivalent. If we have an n -

bit long MISR we can accommodate up to n inputs to form the signature. If we

use m < n inputs we do not need the extra XOR gates in the last n – m positions of the

MISR.

64B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 65: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure:4.2 3bit misr circuit diagram

There are several types of BIST architecture based on the MISR. By including extra

logic we can reconfigure an MISR to be an LFSR or a signature register; this is called

a built-in logic block observer (BILBO). By including the logic that we wish to test in the

feedback path of an MISR, we can construct circular BIST structures. One of these is

known as the circular self-test path (CSTP).

We can test compiled blocks including RAM, ROM, and data path elements using an

LFSR generator and a MISR. To generate all 2 n address values for a RAM or ROM we

can modify the LFSR feedback path to force entrance and exit from the all-zeros state.

This is known as a complete LFSR . The pattern generator does not have to be an LFSR

or exhaustive.

For example, if we were to apply an exhaustive test to a 4-bit by 4-bit multiplier this

would require 2 8 or 256 vectors. An 8-bit by 8-bit multiplier requires 65,536 vectors and,

if it were possible to test a 32-bit by 32-bit multiplier exhaustively, it would require

1.8  10 19 vectors. Table4.1 shows two sets of no exhaustive test patterns, {SA} and

{SAE}, if A and B are both 4 bits wide. The test sequences {SA} and {SAE} consist of

nested sequences of walking 1’s and walking 0’s (S1 and S1B), walking pairs (S2 and

S2B), and triplets (S3, S3B). The sequences are extended for larger inputs, so that, for

example, {S2} is a sequence of seven vectors for an 8-bit input and so on. Intermediate

sequences {SX} and {SXB} are concatenated from S1, S2, and S3; and from S1B, S2B,

and S3B respectively. These sequences are chosen to exercise as many of the add-and-

carry functions within the multiplier as possible.

65B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 66: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Table:4.1 multiplier test pattern

The sequence length of {SA} is 3A (B – 1), and 3(2A – 1)(3B – 2) for {SAE}, where

A and B are the sizes of the multiplier inputs. For example, {SA} is 168 vectors for A = B

= 8 and 2976 vectors for A = B = 32; {SAE} is 990 vectors (A = B = 8) and 17,766 vectors

(A = B = 32). From fault simulation, the stuck-at fault coverage is 93 percent for sequence

{SA} and 97 percent for sequence {SAE}.

Figure4.3 shows an MISR with a scan chain. We can now include the BIST logic as

part of a boundary-scan chain, this approach is called scan BIST.

66B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Sequence{SX}

Sequence{SXB}

Sequence {SA}

Sequence{SAE}

S1= {1000 0100 0010 0001}

S2 = {1100 0110 0011}S3 = {1110 0111} SX = { {S1} {S2} {S3}}

S1B = {0111 1011 1101 0111}

S2B = {0011 1001 1100}S3B = {0001 1000} SXB = { {S1B} {S2B} {S3B} }

{A B= {S1, SX}}

{ { AB = {S1, SX} }{ AB = {S1B, SXB} }

{ AB = {S2, SX} }{ AB = {S2B, SXB} }

{ A B= {S3, SX} }{ AB = {S3B, SXB} }}

Total = 3(X – 1) = 9, X = 4

Total = 3(X – 1) = 9, X = 4

Total = 4  9= 3A(B – 1) = 36

Total = 3(2A – 1)(3B – 2)= 3  7  10 = 210

Page 67: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 4.3 MISR with scan generator

4 bit misr is shown below

dfl

Figure: 4.4 4-bit misr block diagram

67B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Q333

Q2 Q1 Q0d d dd

clk

rst

P0 P1 P2 P3

Page 68: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

In 4-bit misr i used 4 d flip-flops and 7 xor gates and the input to the misr is given from

the circuit under test and the misr will generate the signature which is a combination of

repeated random sequence we can also use the misr as a shift register and lfsr and the

generated sequence is given to rom for further analysis.

The problem with ordinary LFSR response compacter is too much hardware

overhead if one of these is put on each primary output (PO). ƒMultiple-input signature

register (MISR) is the solution that compacts all outputs into one LFSR. It works because

LFSR is linear and obeys superposition principle. All responses are superimposed in one

LFSR. The final remainder is XOR sum of remainders of polynomial divisions of each PO

by the characteristic polynomial.

m

Test patterns Response Ri(X) Si(X)

Figure:4.5 misr function diagram.

Figure 40.15 illustrates a m-stage MISR. After test cycle i, the test responses are

stable on CUT outputs, but the shifting clock has not yet been applied.

Ri(x)= (m-1)th polynomial representing the test responses after test cycle i.

Si(x)=polynomial representing the state of the MISR after test cycle i.

68B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

LFSR CUT MISRSignature

Analysis

Golden

signatu

re

Page 69: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Ri(x) = ri, m-1xm-1+ri, m-2xm-2+.......................................................+ri,1x+ri,0

Si(x) = Si, m-1xm-1+Si, m-2xm-2+......................................................+Si,1+Si,0

Si+1(x) = [Ri(x)+xSi(x)]modG(x)

G(x) is the characteristic polynomial

Assume initial state of MISR is 0. So,

S0(x) =0

S1(x) =[R0(x)+xS0(x)]modG(x)

S2(x) =[R2(x)+xS2(x)]modG(x)

.

.

.

.

.

Sn(x) =[xn-1R0(x)+xn-2 R1(x)+...................................+xRn-2(x)+Rn-1(x)]modG(x)

This is the signature left in MISR after n patterns are applied. Let us consider a n-bit

response compactor with m-bit error polynomial. Then the error polynomial is of (m+n-2)

degree that gives (2m+n-1-1) non-zero values. G(x) has 2n-1-1 nonzero multiples that

result m polynomials of degree <=m+n-2.

2n-1-1

Probability of masking P(M)=

2m+n-1-1

~=1/2m.

69B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 70: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

4.5 Masking / Aliasing

The data compressions considered in this field have the disadvantage of some loss

of information. In particular, the following situation may occur. Let us suppose that during

the diagnosis of some CUT, any expected sequence Xo is changed into a sequence X due

to any fault F such that Xo ≠ X. In this case, the fault would be detected by monitoring the

complete sequence X. On the other hand, after applying some data compaction C, it may

be that the compressed values of the sequences are the same, i.e. C(Xo) = C(X).

Consequently, the fault F that is the cause for the change of the sequence Xo into X cannot

be detected if we only observe the compression results instead of the whole sequences.

This situation is said to be masking or aliasing of the fault F by the data compression C.

Obviously, the background of masking by some data compression must be intensively

studied before it can be applied in compact testing. In general, the masking probability

must be computed or at least estimated, and it should be sufficiently low.

The masking properties of signature analyzers depend widely on their structure,

which can be expressed algebraically by properties of their characteristic polynomials.

There are three main ways of measuring the masking properties of ORAs:

(i) General masking results either expressed by the characteristic polynomial or in

terms of other LFSR properties;

(ii) Quantitative results, mostly expressed by computations or estimations of error

probabilities;

(iii) Qualitative results, e.g. concerning the general possibility or impossibility of LFSR to

mask special types of error sequences.

The first one includes more general masking results, which are based either on the

characteristic polynomial or on other ORA properties. The simulation of the circuit and the

compression technique to determine which faults are detected can achieve this. This

method is computationally expensive because it involves exhaustive simulation. Smith’s

theorem states the same point as:

Any error sequence E=(e1,...,et) is masked by an ORA S if and only if its “error

polynomial” pE(x) = e1xt-1+...+et-1x+et is divisible by the characteristic polynomial pS(x)

[4].

70B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 71: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

The second direction in masking studies, which is represented in most of the papers

[7],[8] concerning masking problems, can be characterized by “quantitative” results mostly

expressed by some computations or estimations of masking probabilities. This is usually

not possible and all possible outputs are assumed to be equally probable. But this

assumption does not allow one to correlate the probability of obtaining an erroneous

signature with fault coverage and hence leads to a rather low estimation of faults. This can

be expressed as an extension of Smith’s theorem as:

If we suppose that all error sequences having any fixed length are equally likely the

masking probability of any n-stage ORA is not greater than 2-n

.

The third direction in studies on masking contains “qualitative” results concerning

the general possibility or impossibility of ORAs to mask error sequences of some special

type. Examples of such a type are burst errors, or sequences with fixed error-sensitive

positions. Traditionally, error sequences having some fixed weight are also regarded as

such a special type, where the weight w(E) of some binary sequence E is simply its number

of ones. Masking properties for such sequences are studied without restriction of their

length. In other words,

If the ORA S is non-trivial then masking of error sequences having the weight 1 by S is

impossible.

71B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 72: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

CHAPTER-5

READ-ONLY MEMORY

5.1 INTRODUCTION

Read-only memory (ROM) is a class of storage medium used in computers and

other electronic devices. Data stored in ROM can only be modified slowly, with difficulty,

or not at all, so it is mainly used to distribute firmware that is very closely tied to

specific hardware and unlikely to need frequent updates).Strictly, read-only memory refers

to memory that is hard-wired, such as diode matrix and the later mask ROM. Although

discrete circuits can be altered (in principle), Integrated Circuits (ICs) cannot and are

useless if the data is bad. The fact that such memory can never be changed is a large

drawback; more recently, ROM commonly refers to memory that is read-only in normal

operation, while reserving the fact of some possible way to change it.

72B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 73: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Other types of non-volatile memory such as erasable programmable read-only

memory (EPROM) and electrically erasable programmable read-only memory (EEPROM

or Flash ROM) are sometimes referred to, in an abbreviated way, as "read-only memory"

(ROM); although these types of memory can be erased and re-programmed multiple times,

writing to this memory takes longer and may require different procedures than reading the

memory. When used in this less precise way, "ROM" indicates a non-volatile memory

which serves functions typically provided by mask ROM, such as storage of program code

and non-volatile data.

5.2 HOW THE DEVICE WORKS

The read only memory cell usually consists of a single transistor (ROM and

EPROM cells consist of one transistor, EEPROM cells consist of one, one-and-a-half, or

two transistors).The threshold voltage of the transistor determines whether it is a“1” or

“0.” During the read cycle, voltage is placed on the gate of the cell. Depending on the

programmed threshold voltage, the transistor will or will not drive a current. The

sense amplifier will transform this current, or lack of current, into a “1”or “0.” Figure 5.1

shows the basic principle of how a Read Only Memory works.

Column

Row

Cell

Selected

73B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 74: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Sense Amplifier Current Detector

To Output Buffer

Figure: 5.1. Read Only Memory Schematic

5.3 MASK PROGRAMMABLE ROMS

Mask programmable read-only memories (ROMs) are the least expensive type of

solid state memory. They are primarily used for storing video game software and fixed

data for electronic equipment, such as fonts for laser printers, dictionary data in word

processors, and sound data in electronic musical instruments.

ROM programming is performed during IC fabrication. Several process methods

can be used to program a ROM. These include

• Metal contact to connect a transistor to the bit line.

• Channel implant to create either an enhancement-mode transistor or a depletion-

mode transistor.

• Thin or thick gate oxide, which creates either a standard transistor or a high

threshold transistor, respectively.

The choice of these is a trade-off between process complexity, chip size, and

74B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 75: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

manufacturing cycle time. A ROM programmed at the metal contact level will have the

shortest manufacturing cycle time, as metallization is one of the last process steps.

However, the size of the cell will be larger.

Figure 5.2 shows a ROM array programmed by channel implant. The transistor cell

will have either a normal threshold (enhancement-mode device) or a very high threshold

(higher than VCC to assure the transistor will always be off). The cell array architecture is

NOR. The different types of ROM architectures (NOR, NAND, etc.) are detailed in the

flash memory section (Section 10) as they use the same principle.

Figure 5.3 shows an array of storage cells (NAND architecture). This array consists

of single transistors noted as devices 1 through 8 and 11 through 18 that is programmed

with either a normal threshold (enhancement-mode device) or a negative threshold

(depletion-mode device).

75B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 76: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure:5.2 ROM Programmed by Channel Implant

76B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 77: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

1

Word 1/11 11

2

Word 2/12 12

3 Word3/133 13

4word 4/14 14

5

Word 5/15 15

6WORD 6/16 16

7

Word7/17 17

8WORD 8/18 18

9CONTROL LINE 19

10SELECT LINE 20

BIT LINE

Figure: 5.3. Memory Cell Schematic

5.4 MULTIMEDIA CARD

In 1996, Siemens announced the introduction of a new solid-state memory chip

technology that enables the creation of a multimedia card that is sized 37mm x 45mm x

77B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 78: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

1.4mm, or roughly 40 per-cents the size of a credit card. It is offered with either 16Mbit

or 64Mbit of ROM.

5.4.1 EPROM

EPROM (UV Erasable Programmable Read Only Memory) is a special type of

ROM that is programmed electrically and yet is erasable under UV light.

The EPROM device is programmed by forcing an electrical charge on a small piece of

polysilicon material (called the floating gate) located in the memory cell. When this charge

is present on this gate, the cell is “programmed,” usually a logic “0,” and when this charge

is not present, it is a logic “1.” Figure 5.4 shows the cell used in a typical EPROM. The

floating gate is where the electrical charge is stored.

First-Level+VG Second-LevelPolysilicon

(Floating) Polysilicon

Gate Oxide

Field Oxide

– – –

N+

P- Substrate

Figure: 5.4 Double-Poly Structures (EPROM/Flash Memory Cell

Prior to being programmed, an EPROM has to be erased. To erase the EPROM, it

78B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 79: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

is exposed to an ultraviolet light for approximately 20 minutes through a quartz window in

its ceramic package. After erasure, new information can be programmed to the EPROM.

After writing the data to the EPROM, an opaque label has to be placed over the quartz

window to prevent accidental erasure.

Programming is accomplished through a phenomenon called hot electron

injection. High voltages are applied to the select gate and drain connections of the cell

transistor. The select gate of the transistor is pulsed “on” causing a large drain current to

flow. The large bias voltage on the gate connection attracts electrons that penetrate the thin

gate oxide and are stored on the floating gate.

5.4.1.1 EPROM Floating Gate Transistor Characteristic Theory

The following explanation of EPROM floating gate transistor characteristic theory

also applies to EEPROM and flash devices. Figures 5.5 (a) and (b) show the cross section

of a conventional MOS transistor and a floating gate transistor, respectively. The upper

gate in Figure 5.5 (b) is the control gate and the lower gate, completely isolated within the

gate oxide, is the floating gate.

79B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 80: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 5.5 Cross Section of a Conventional MOS Transistor and a Floating-Gate MOS Transistor.

CFG and CFS are the capacitances between the floating gate and the control gate and

substrate, respectively. VG and VF are the voltages of the control gate and the floating gate,

respectively. -QF is the charge in the floating gate. (As electrons have a negative charge, a

negative sign was added). In an equilibrium state, the sum of the charges equals zero.

VG VF CFG 0 VF CFS QF 0

C

FG

QF

VF V

G

CFG

C

FS CFG CFS

VTC is the threshold voltage of the conventional transistor, and VTCG is the threshold voltage

of the floating gate transistor.

80B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Gate FloatingControl

GateGate

G

S D S D

CFG

CFS

N+ N+ N+ N+

(a) Conventional MOS (b) Floating-Gate MOS

Page 81: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

VTCG

CFG

QF

VTC

CFG CFS

CFG CFS

VTCG VTO

QF

CG

CFG

WhereV

TO

VTC and CG CFG CFS

CFG CFS The threshold voltage of the floating gate transistor (VTCG) will be VTO (around 1V)

plus a term depending on the charge trapped in the floating gate. If no electrons are in the

floating gate, then VTCG = VTO (around 1V). If electrons have been trapped in the floating

gate, then VTCG = VTO -QF/CG (around 8V for a 5V part). This voltage is process and design

dependent. Figure 5.6 shows the threshold voltage shift of an EPROM cell before and after

programming.

81B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 82: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 5.6 Electrical Characteristics of an EPROM

The programming (write cycle) of an EPROM takes several hundred milliseconds.

Usually a byte—eight bits—is addressed with each write cycle. The read time is

comparable to that of fast ROMs and DRAMs (i.e., several tens of nanoseconds). In those

applications where programs are stored in EPROMs, the CPU can run at normal speeds.

Field programmability is the EPROM’s main advantage over the ROM. It allows

the user to buy mass-produced devices and program each device for a specific need. This

characteristic also makes the EPROM ideal for small-volume applications, as the devices

are usually programmed in very small quantities. Also, the systems supplier can program

any last minute upgrades to the program just before shipment. EPROM cells may be

configured in the NAND structure shown previously, or, more commonly, in the NOR

configuration shown in Figure 5.7

82B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 83: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

WORD 1 WORD 2 WORD3 WORD n

BIT 1

Figure: 5.7 NOR EPROM Configuration

83B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

BIT 2

Selected Gate

FloatingGate

Page 84: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

EPROMs were created in the 1970s and have long been the cornerstone of the

non-volatile memory market. But the development of flash memory devices (see Section

10) will lead to a loss of EPROM market share. EPROM uses a mature technology and

design and is on the decline part of its lifecycle. For this reason there is not a lot of R&D

expenditure made for EPROM devices. Figure 9-8 shows a cross section of a 1Mbit

EPROM cell from two different manufacturers. The main difference between the

processes is the polysilicon gate. One manufacturer uses a polycide to improve the speed.

5.4.1.2 EPROM Cell Size and Die Size

The cell size of the EPROM is also relatively small. The EPROM requires one

additional polysilicon layer, and will usually have slightly lower yields due to the

requirement for nearly perfect (and thin) gate oxides.

84B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 85: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 5.8 Typical 1Mbit EPROM Cells

These factors, plus the fact that an EPROM is encased in a ceramic package with

a quartz window, make the EPROM average selling price three to five times the price of

the mask ROM. Table 5.1 shows the main feature sizes of 1Mbit EPROM analyzed by

ICE’s laboratory.

Table: 5.1 EPROM Feature Sizes

5.4.2 EEPROM

EEPROM (Electrically Erasable Programmable ROM) offer users excellent

capabilities and performance. Only one external power supply is required since the high

voltage for program/erase is internally generated. Write and erase operations are

performed on a byte per byte basis.

The EEPROM uses the same principle as the UV-EPROM. Electrons trapped in a

floating gate will modify the characteristics of the cell, and so a logic “0” or a logic “1”

will be stored.

85B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Manufacturer Density Date CodeCell Size Die Size Min. Gate

(m2) (mm2) Length (m)

Atmel 1Mbit 9428 4.40 14.6 0.6

AMD 1Mbit 9634 5.52 15.9 0.7

ST 1Mbit 9514 3.60 11.5 0.5

ISSI 1Mbit 94/95 6.80 18.0 0.7

Page 86: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

The EEPROM is the memory device that implements the fewest standards in cell

design. The more common cell is composed of two transistors. The storage transistor has

a floating gate (similar to the EPROM storage transistor) that will trap electrons. In

addition, there is an access transistor, which is required for operations. Figure 9-10

shows the voltages applied on the memory cell to program/erase a cell. Note that an

EPROM cell is erased when electrons are removed from the floating gate and that the

EEPROM cell is erased when the electrons are trapped in the float-ing cell. To have

products electrically compatible, the logic path of both types of product will give a “1”

for erase state and a “0” for a programmed state. Figure 9-11 shows the electrical

differences between EPROM and EEPROM cells

5.4.2.1 Parallel EEPROM

There are two distinct EEPROM families: serial and parallel access. The serial

access represents 90 percent of the overall EEPROM market, and parallel EEPROMs

about 10 percent. Parallel devices are available in higher densities (≥256Kbit), are

generally faster, offer high endurance and reliability, and are found mostly in the military

market. They are pin compatible with EPROMs and flash memory devices. Figure 9-12

shows feature sizes of three 1Mbit parallel EEPROM from different manufacturers,

analyzed by ICE’s laboratory. Figures 5.9 to 5.10 show photographs and schematics of

the respective cells. It is interesting to see the wide differences in these cells.

5.4.2.2 Serial EEPROM

Serial EEPROMs are less dense (typically from 256 bit to 256Kbit) and are

slower than parallel devices. They are much cheaper and used in more “commodity”

applications.

86B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 87: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Manufacturer Density Date CodeCell Size Die Size Min Gate

(cm2) (mm2) Length (cm)

Winbond 1Mbit 9432 7.8 22.6 0.9

Xicor 1Mbit 9443 21.0 51.0 1.3

Hitachi 1Mbit 94/95 22.5 51.0 0.6

Table: 5.2 1Mbit Parallel EEPROM Feature Sizes

Serial access EEPROMs feature low pin count. Typically they are packaged in an

8-pin package. As illustrated in Figure 9-16, Xicor’s 128Kbit serial EEPROM uses the 8

pins in the following manner:

• VCC and VSS for supply voltage

• SCL (Serial Clock) to clock the data

• SDA (Serial Data) is a bi-directional pin used to transfer data into and out of the

device

• S0, S1, S2 are select inputs used to set the first three bits of the 8-bit slave address

• WP (Write Protection) controls Write Protection features.

87B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 88: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Serial EEPROMs use data transfer interface protocols for embedded control

applications. These protocols include the Microwave bus, the I2C bus, the XI2C

(Extended I2C) or the SPI (Serial Peripheral Interface) bus interfaces.

There continues to be an ongoing effort to reduce the size of serial EEPROMs.

Microchip Technology, for example, introduced a 128bit serial EEPROM in a five-lead

SOT-23 package.

144424443FLOATING GATE

PROGRAM LINE

POLY 2WORD

LINE

BIT Q2

Q1

144424443

FLOATING GATE

PASSIVATION

METAL 2

INTERLEVEL GLASS

METAL 1 BIT LINE

FLOATING GATESPROGRAM LINE

SELECT GATE N+ S/D

Figure :5.9 Xircom 1Mbit EEPROM Cell

88B.TECH ECE (2014-2015) AURORA’S ENGG COLLEGE, BHONGIR

Page 89: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

PASSIVATION

METAL 2

INTERLEVEL GLASS

METAL 1 BIT LINE

FLOATING GATESPROGRAM LINE

SELECT GATE N+ S/D

Figure:5.10 Hitachi 1Mbit EEPROM Cell

METAL POLYCIDE

POLY

Figure 5.11 shows feature sizes of three serial EEPROMs from different

manufacturers that were analyzed by ICE’s laboratory. Note that larger cell sizes

accompany low-density EEPROM devices. When building an EEPROM chip that contains

sense amplifiers, controllers, and other peripheral circuitry, cell size is not as great a factor

at low (1Kbit, 2Kbit) densities. At larger densities, the size of the cell array is more critical.

It becomes a larger portion of the chip. Therefore, greater consideration must be given to

the size of the cell.

89

Page 90: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 5.11 Xicor 128Kbit Serial EEPROM Functional Diagram

Manufacturer Density Date CodeCell Size Die Size Min Gate

(m2) (mm2) Length (m)Microchip 16K 9540 60.5 6.0 2.0

Xicor 2K 9432 100.0 4.0 2.0

ST 1K 9618 286.0 2.6 1.2

Table: 5.3 EEPROM Serial Configuration Feature Sizes

90

Page 91: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

This size impact is illustrated in Figure 9-18 using a 1Kbit serial EEPROM

example from SGS-Thomson. The cell array represents only 11 percent of the total surface

of the chip.

Figures 5.12 and 5.13 show additional EEPROM cells. As noted, there is no design

standard for this type of cell. In laying out the EEPROM cell, the designer must take into

consideration the elements of size, performance, and process complexity.

CELL ARRAY

wL

D2

PIN 1

1

D

2 BIT B

3

C

1 BIT A

TUNNEL OXI DE DEVICE

Figure: 5.12 SGS-Thomson 1Kbit Serial EEPROM

91

Page 92: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

PASSIVATION

BIT LINE

REFLOW GLASSPOLY 2 PGM LINE

POLY 2 WORD LINE

N+ S/D

POLY 1 FLOATING GATE

Figure: 5.13 Microchip 16Kbit Serial EEPROM Cell

5.4.2.3 Multi-Level Analog Storage EEPROMThe goal of multi-level cell (MLC) is to store more than one bit of information in a

single cell. Much work has already been done regarding MLC as applied to flash memory

devices. The typical development for digital flash memories is to store four different levels

in the same cell, and thus divide the number of cells by two (four data are given by two bits

: 00, 01, 10, and 11).

However, for several years now, Information Storage Devices (ISD), a San Jose

based company, has proposed multi-level analog storage EEPROMs for analog storage.

ISD presented a 480Kbit EEPROM at the 1996 ISSCC conference. The multi-level storage

cell is able to store 256 different levels of charge between 0V and 2V. This means the cell

needs to have a 7.5mV resolution. The 256 different levels in one cell correspond to eight

bits of information. A comparable digital implementation requires 3.84Mbit memory

elements to store the same amount of information. The information stored will not be 100

percent accurate but is good enough for audio applications, which allows some errors.

92

Page 93: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

CHAPTER _6

SIMULATION RESULTS AND RTL SCHEMATIC DIAGRAMS

6.1 LINEAR FEEDBACK SHIFT REGISTER

6.1.1 Rtl Schematic Diagram

LFSR is having a schematic diagram and it is different from our theoretical block

diagram the tool will take its own design in behaviour model.

Figure:6.1 RTL schematic of LFSR.

6.1.2 Simulation Results of Lfsr

93

Page 94: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

The LFSR will generate sequence by taking the previous out of LFSR that at the last D-

flip-flop and is xor with the first D-flip-flop and is feed as a input to it and also it will

generate sequence by right or left shifting the previous output and generate a random

sequence.

94

Page 95: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure:6.2 lfsr simulation results

Here we cannot be able to keep the full sequence in a single image so i managed to

take two screenshots.

6.2 CIRCUIT UNDER TEST

6.2.1 Circuit under Test Rtl Schematic

95

Page 96: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 6.3 rtl schematic of circuit under test

The circuit here we used is a combinational circuit contain xor, and, decoder at the we used

one 2 to 1 mux and one 4to1 mux but we faced problem that so we decided to remove them

for the better results.

6.2.2 Simulation Results of Circuit Under Test

The circuit under test or cut will take it inputs from lfsr for each clk cycle and give

a output according to the produced sequence of lfsr here we can also assign a port with a

permanent value to change the results. Due to this the circuit under test will assign that

particular value to that port and it will not take lfsr sequence value so we will get a faulty

results.

96

Page 97: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 6.4 simulation result of circuit under test

6.3 MULTIPLE INPUT SIGNATURE REGISTER

6.3.1 Rtl Schematic Of Misr

The MISR circuit is designed by taking 4 d-flip-flops and 7 xor gates by writing A

verilog code for it. But the tool will take its own combination by changing some modules

for reducing power dissipation and time take to design it

97

Page 98: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 6.5 rtl schematic of MISR

6.3.2 Simulation Results Of MISR

The misr block will take input from circuit under test for each clk cycle and

produce a signature result. A signature is nothing but a sequence with repeated bits and

randomly generated bits. The simulations are shown below

98

Page 99: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 6.6 simulation results of MISR block

6.4 READ ONLY MEMORY (ROM)

6.4.1 Rtl Schematic Of Rom

The rom is used to store the values of lfsr sequence and to compare the results

99

Page 100: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 6.7 rtl schematic of rom

6.4.2 Simulation Results Of Rom

The rom will take the misr sequence as a input and compare it with the address of

lfsr and gives the output of lfsr with random and repeated sequence. The rom will take misr

output sequence as a address.

100

Page 101: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 6.8 simulation result of rom

6.5 TOP MODULE (BIST)

The bist is a top module which is our goal. It is obtained by instating the entire

above module properly without any mistake and with proper mapping.

6.5.1 Rtl Schematic Of Top Module

The rtl schematic of bist contains lfsr, cut, misr and rom modules and all are

instated properly with proper mapping if we do any mistake we will get the output but it

will be the faulty circuit. The rtl schematic is given below

101

Page 102: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 6.9 rtl schematic of bist

By expanding the above one we will get

Figure: 6.10 expanded rtl schematic of bist

102

Page 103: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

6.5.2 Simulation Results Of Bist

The simulation of bist obtained by proper functioning and proper instantiation of all

the modules and proper mapping of all the wire and registers. The rom will compare its

address with the misr sequence for each clk cycle and gives a random and repeated

sequence of lfsr. If we get this we can say that the circuit is working and it is good.

We can also generate the faulty circuit by making giving values to one port in the

code for circuit under test and it will permanently take that value only by skipping lfsr

sequence value so in this case we can say that the circuit is faulty.

103

Page 104: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

104

Page 105: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

105

Page 106: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Figure: 6.11 simulation results of top module or bist

106

Page 107: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

CHAPTER – 7

CONCLUSION & FURUTE SCOPE

6.1 CONCLUSION

The BIST architecture proposed is implemented using Verilog language and tested

on various faulty circuits. Then design has been synthesized on Xilinx and fault has been

created and simulated on Modelsim.

In this paper we have illustrated an implementation of BIST logic using Verilog.

LFSR is used as a pseudorandom sequence generator. Signature analysis is used to make

verification of the circuit. Signature mismatch with the reference signature means that the

circuit is faulty. However, there is a small probability that the signature of a bad circuit will

be the same as a good circuit. When longer sequences are used , signature analysis gives

high fault coverage.

6.2 FUTURE SCOPE

There are some the following disadvantages regarding this technique and the work

is still going on these.

Area Overheads: Larger chip area results in fewer chips for wafer and hence, high

cost for chip.

Performance penalty: Large signal routing paths, as the system function spread out

to room for BIST circuitry.

107

Page 108: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

Increased power dissipation: Due to high data activity, during BIST sequence , can

present problems in some system applications, such as, those with power

consumption or temperature restrictions.

Additional design time and effort.

Additional risk to the project: Since we are now faced with the task of designing

and verifying proper operation of the BIST system, in addition.

108

Page 109: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

BIBLIOGRAPHY

1. http://en.wikipedia.org/wiki/built-in_self-test

2. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=4167 999

3. http://ieeexplore.ieee.org/xpl/articleDetails.js p? tp=&arnumber=1402 683

4.Implementation of BIST structure using VHDL for VLSI circuits

Mrs.Jamuna.SProfessor, department of ECE, Bangalore Dr. V.K. Agrawal Group director,

ISRO, Bangalore

5. Built-inselftest, AbdelRashid Linkoping University, Sweden

6. www.wikipedia.org/wiki/linear feedback shift register.

7. www.wikipedia.org/wiki/multiple input signature register.

8. www.xilinx.com.

9. www.slideshare.com

10. www.scribd.com.

109

Page 110: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

APPENDIX A

ABOUT SOFTWARE TOOL

XILINX

Xilinx is American Technology Company, primarily supplied programmable logic

devices. It is known for field programmable logic array(FPGA).

Ross Freeman, Bernard Vonderschmitt, and James V Barnett II, who all had

worked for integrated circuit and solid-state device manufacturer Zilog Corp, founded

Xilinx in 1984.

While working for Zilog, Freeman wanted to create chips that acted like a blank

tape, allowing users to program the technology themselves. At the time, the concept

was paradigm changing. "The concept required lots of transistors and, at that time,

transistors were considered extremely precious – "people thought that Ross's idea was

pretty far out", said Xilinx Fellow Bill Carter, who when hired in 1984 as the first IC

designer was Xilinx's eighth employee.

ISE DESIGN SUITE 14.5

Xilinx ISE (Integrated Synthesis Environment) is a software tool produced

by Xilinx for synthesis and analysis of HDL designs, enabling the developer to synthesize

("compile") their designs, perform timing analysis, examine RTL, diagrams, simulate a

design's reaction to different stimuli, and configure the target device with the programmer.

110

Page 111: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

The Xilinx ISE is a design environment for FPGA products from Xilinx, and is

tightly-coupled to the architecture of such chips, and cannot be used with FPGA products

from other vendors. The Xilinx ISE is primarily used for circuit synthesis and design,

while the ModelSim logic simulator is used for system-level testing. Other components

shipped with the Xilinx ISE include the Embedded Development Kit (EDK), a Software

Development Kit (SDK) and Chip Scope Pro.

User interface

The primary user interface of the ISE is the Project Navigator, which includes the

design hierarchy (Sources), a source code  editor (Workplace), an output console

(Transcript), and a processes tree (Processes).

The Design hierarchy consists of design files (modules), whose dependencies are

interpreted by the ISE and displayed as a tree structure. For single-chip designs there may

be one main module, with other modules included by the main module, similar to the main

()  subroutine in C++ programs. Design constraints are specified in modules, which include

pin configuration and mapping.

The Processes hierarchy describes the operations that the ISE will perform on the currently

active module. The hierarchy includes compilation functions, their dependency functions,

and other utilities.] The window also denotes issues or errors that arise with each function.

The Transcript window provides status of currently running operations, and informs

engineers on design issues. Such issues may be filtered to show Warnings, Errors, or both.

Simulation

System-level testing may be performed with the Modelsim logic simulator, and such test

programs must also be written in HDL languages. Test bench programs may include

111

Page 112: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

simulated input signal waveforms, or monitors which observe and verify the outputs of

the device under test.

Modelsim may be used to perform the following types of simulations:

Logical verification, to ensure the module produces expected results

Behavioural verification, to verify logical and timing issues

Post-place & route simulation, to verify behaviour after placement of the module

within the reconfigurable logic of the FPGA.

]

Synthesis

Xilinx's patented algorithms for synthesis allow designs to run upto 30% faster than

competing programs, and allow greater logic density which reduces project costs.

Also, due to the increasing complexity of FPGA fabric, including memory blocks

and I/O blocks, more complex synthesis algorithms were developed that separate unrelated

modules into slices, reducing post-placement errors.

IP Cores are offered by Xilinx and other third-party vendors, to implement system-

level functions such as digital signal processing (DSP), bus interfaces, networking

protocols, image, embedded processors, and peripherals. Xilinx has been instrumental in

shifting designs from ASIC-based implementation to FPGA-based implementation.

Editions

The Subscription Edition is the licensed version of Xilinx ISE, and a free trial

version is available for download.

112

Page 113: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

The Web Edition is the free version of Xilinx ISE that can be downloaded and used for no

charge. It provides synthesis and programming for a limited number of Xilinx devices. In

particular, devices with a large number of I/O pins and large gate matrices are disabled.

The low-cost Spartan family of FPGAs is fully supported by this edition, as well as the

family of CPLDs, meaning small developers and educational institutions have no

overheads from the cost of development software.

License registration is required to use the Web Edition of Xilinx ISE, which is free and can

be renewed an unlimited number of times.

Device Support

ISE Web pack(free)

ISE Design Suite

(commercial)

Virtex FPGA

Virtex-4  LX: XC4VLX15, XC4VLX25  SX: XC4VSX25  FX: XC4VFX12Virtex-5  LX:   XC5VLX30, XC5VLX50  LXT: XC5VLX20T - XC5VLX50T  FXT: XC5VFX30TVirtex-6

Virtex-4  LX: All  SX: All  FX: AllVirtex-5  LX:   All  LXT: All  SXT: All  FXT: All

Virtex-6  All

113

Page 114: implementation of BIST

11621A0401 IMPLEMENTATION OF BUILT IN SELF TEST FOR TESTING 11621A0407 COMBINATIONAL CIRCUITS USING FPGA

11621A0451

  XC6VLX75T 

Spartan FPGA Spartan-3  XC3S50 - XC3S1500

Spartan-3A  AllSpartan-3AN  AllSpartan-3A DSP  XC3SD1800ASpartan-3E  AllSpartan-6  XC6SLX4 - XC6SLX75TXA (Xilinx Automotive) Spartan-6  All

Spartan-3  All

Spartan-3A

  All

Spartan-3AN

  All

Spartan-3 DSP

  All

Spartan-3E

  All

Spartan-6

  All

XA (Xilinx Automotive

Coolrunner PLA

Coolrunner-II CPLD

Cool runner-IIA CPLD

ALL ALL

XC9500 Series CPLDAll (Except 9500XV family) All (Except 9500XV family)

114