Computer Science Engineering (CSE) Exam  >  Computer Science Engineering (CSE) Notes  >  Embedded Systems (Web)  >  Built-In Self Test (BIST) for Embedded Systems - 3

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE) PDF Download

Logic BIST Architecture

  • Test-per-clock system
  • More hardware, less test time.
  • BILBO: Built in logic bloc observer
  • Test-per-scan system.
  • Less hardware, more test time.
  • STUMPS: Self-Test using a MISR and Parallel Shift register.
  • Circular self-test path
  • Lowest hardware, lowest fault coverage.

Test-Per-Clock BIST

Two different test-per-clock BIST structures are shown in Figure 40.16. For every test clock, LFSR generates a test vector and Signature Analyzer (MISR) compresses a response vector. In every clock period some new set of faults is tested. This system requires more hardware. It takes less test time. It can be used for exhaustive test, pseudo-exhaustive test, pseudorandom testing, and weight pseudorandom testing.

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)

Fig. 40.16 Test-Per-Clock BIST structure

Built-in Logic Block Observer (BILBO)[1]

Built-in logic block observation is a well known approach for pipelined architecture. It adds some extra hardware to the existing registers (D flip-flop, pattern generator, response compacter, & scan chain) to make them multifunctional. All FFs are reset to 0. The circuit diagram of a BILBO module is shown in Figure 40.17. The BILBO has two control signals (B1 and B2).

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)

Fig.40.17 BILBO Example 

Four different modes of BILBO operation

  1. Scan-in-Scan-out: shift register
  2. Normal register mode: PIPO register
  3. Pattern generator mode: LFSR
  4. Response compactor mode: MISR

 BILBO Usage for multi-CUT structure [1]

As shown in Figure 40.18, in this BILBO structure, multiple modules can be tested simultaneously. The total operation is done in two phase as stated below.

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)

Fig. 40.18 Circuit configured with BILBO

Phase 1

In this mode of operation BILBO1 operates in MISR mode and BILBO2 operates in LFSR mode. CUT A and CUT C are tested in parallel.

Phase 2

In this of operation BILBO1 operates in LFSR mode and BILBO2 operates in MISR mode. Only CUT B is tested in this mode of operation.

Test-Per-Scan BIST

Instead of using LFSR and MISR for every input/output pins, this approach combine LFSR/MISR with shift register to minimize the hardware overhead. Figure 40.19 shows the basic circuit structure of a test-per-scan BIST. In BIST mode, LFSR generates test vectors and shifted to the inputs of the CUT via scan register. At the same time, the response are scanned in and compressed by the LFSR. Due to the use of scan chain for the delivery of test patterns and responses, the test speed is much slower than the test-per-clock approach. The clocks required for a test cycle is the maximal of the scan stages of input and output scan registers. Also fall in this category include CEBS, LOCST, and STUMP.

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)

Fig. 40.19 Basic test-per-scan structure

Self-Testing Using MISR and Parallel Shift register sequence generator (STUMP)

The architecture of the self-testing using MISR and parallel SRSG (STUMP) is shown in Figure 40.20. Instead of using only one scan chain, it uses multiple scan chains to minimize the test time. Since the scan chains may have different lengths, the LFSR runs for N cycles (the length of the longest scan chain) to load all the chains. For such a design, the internal type LFSR is preferred. If the external type is used, the difference between two LFSR output bits is only the time shift. Hence, the correlation between two scan chains can be very high.

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)

Fig. 40.20 STUMPS test-per-scan testing system

Test Procedure of STUMP

  1. Scan in patterns from LFSR to all scan chain.
  2. Switch to normal function mode and apply one clock.
  3. Scan out chains into MISR.
  4. Overlap steps 1 and 3.

BIST for Structured Circuits 

Structured design techniques are the keys to the high integration of VLSI circuits. The structured circuits include read only memories (ROM), random access memories (RAM), programmable logic array (PLA), and many others. In this section, we would like to focus on PLAs because they are tightly coupled with the logic circuits. While, memories are usually categorized as different category. Due to the regularity of the structure and the simplicity of the design, PLAs are commonly used in digital systems. PLAs are efficient and effective for the implementation of arbitrary logic functions, combinational or sequential. Therefore, in this section, we would like to discuss the BIST for PLAs.

A PLA is conceptually a two level AND-OR structure realization of Boolean function. Figure 40.21 shows a general structure of a PLA. A PLA typically consists of three parts, input decoders, the AND plane, the OR plane, and the output buffer. The input decoders are usually implemented as single-bit decoders which produce the direct and the complement form of inputs. The AND plane is used to generate all the product terms. The OR plane sum the required product terms to form the output bits. In the physical implementation, they are implemented as NAND-NAND or NOR-NOR structure.

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)

Fig. 40.21 A general structure of a PLA.

As mentioned earlier in the fault model section, PLAs has the following faults, stuck-at faults, bridging faults, and crosspoint faults. Test generation for PLAs is more difficult than that for the conventional logic. This is because that PLAs have more complicated fault models. Further, a typical PLA may have as many as 50 inputs, 67 inputs, and 190 product terms [10-11]. Functional testing of such PLAs can be a difficult task. PLAs often contain unintentional and unidentifiable redundancy which might cause fault masking. Further more, PLAs are often embedded in the logic which complicates the test application and response observation. Therefore, many people proposed the use of BIST to handle the test of PLAs.

BIST Applications

Manufactures are increasingly employing BIST in real products. Examples of such applications are given to illustrate the use of BIST in semiconductor, communications, and computer industrial.

Exhaustive Test in the Intel 80386 [12]

Intel 80386 has BIST logic for the exhaustive test of three control PLAs and three control ROMs. For PLAs, the exhaustive patterns are generated by LFSRs embedded in the input registers. For ROMs, the patterns are generated by the microprogram counter which is part of the normal logic. The largest PLA has 19 input bits. Hence, the test length is 512K clock cycles. The test responses are compressed by MISRs at the outputs. The contents of MISRs are continuously shifted out to an LFSR. At the end of testing, the contents of LFSRs are compared.

Pseudorandom Test in the IBM RISC/6000 [13]

The RISC/6000 has extensive BIST structure to cover the entire system. In accord with their tradition, RISC/6000 has full serial scan. Hence, the BIST it uses is the pseudorandom testing in the form of STUMPS. For embedded RAMs, it performs self-test and delay testing. For the BIST, it has a on chip processor (COP) on each chip. In COP, there are an LFSR for pattern generation, a MISR for response compression, and a counter for address counting in RAM bist. The COP counts for less than 3% of the chip area.

Embedded Cache Memories BIST of MC68060 [14]

MC68060 has two test approaches for embedded memories. First it has adhoc direct memory access for manufacturing testing because it has the only memory approach that meets all the design goals. The adhoc direct memory acess uses additional logic to make address, data in, data out, and control line for each memory accessible through package pins. An additional set of control signals selects which memory is activated. The approach makes each memory visible through the chip pins as though it is a stand-alone memory array. For the burn-in test, it builds the BIST hardware around the adhoc test logic. The two-scheme approach is used because it meets the burn-in requirements with little additional logic.

ALU Based Programmable MISR of MC68HC11 [15]

Broseghini and Lenhert implemented an ALU-Based self-test system on a MC68HC11 Family microcontroller. A fully programmable pseudorandom pattern generator and MISR are used to reduce test length and aliasing probabilities. They added microcodes to configure ALU into a LFSR or MISR. It transforms the adder into a LFSR by forcing the carry input to 0. With such a feature, the hardware overhead is minimized. The overhead is only 25% as compare to the implementation by dedicated hardware.

The document Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Embedded Systems (Web).
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
47 videos|69 docs|65 tests

Top Courses for Computer Science Engineering (CSE)

FAQs on Built-In Self Test (BIST) for Embedded Systems - 3 - Embedded Systems (Web) - Computer Science Engineering (CSE)

1. What is a Built-In Self Test (BIST) for Embedded Systems?
Ans. Built-In Self Test (BIST) is a testing technique used in embedded systems to perform self-testing without the need for external test equipment. It involves incorporating a self-test circuitry within the system, which can generate test patterns, apply them to internal components, and analyze the results. This helps in detecting faults and ensuring the proper functioning of the system.
2. Why is BIST important for embedded systems?
Ans. BIST is important for embedded systems as it provides several benefits. Firstly, it enables the system to perform self-testing, which reduces the need for external test equipment and saves testing time. Secondly, it allows for early fault detection, helping in identifying and fixing issues before the system is deployed. Additionally, BIST improves the reliability of the system by continuously monitoring its components for faults and ensuring proper functionality.
3. How does BIST work in embedded systems?
Ans. BIST works in embedded systems by incorporating a self-test circuitry within the system itself. This circuitry generates test patterns and applies them to the internal components of the system, such as registers, memories, and functional units. The generated test patterns are designed to cover a wide range of possible faults. The results of the tests are then analyzed, and any detected faults are reported. BIST can be initiated during system startup or on-demand during runtime.
4. What are the advantages of using BIST in embedded systems?
Ans. There are several advantages of using BIST in embedded systems. Firstly, it reduces the need for external test equipment, making the testing process more cost-effective. Secondly, BIST allows for faster testing as it eliminates the need for manual intervention. Thirdly, it enables early fault detection, which helps in preventing system failures and ensures high reliability. Additionally, BIST can be implemented in a modular manner, making it easier to test individual components and diagnose faults.
5. Are there any limitations of using BIST in embedded systems?
Ans. While BIST offers many advantages, it also has some limitations. One limitation is that the BIST circuitry itself consumes additional resources, including area and power. This can impact the overall performance and cost of the embedded system. Another limitation is that BIST can only detect faults that are covered by the test patterns. If a fault occurs that is not covered by the test patterns, it may go undetected. Therefore, it is important to design comprehensive test patterns that cover a wide range of possible faults.
47 videos|69 docs|65 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Important questions

,

Previous Year Questions with Solutions

,

video lectures

,

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)

,

Semester Notes

,

Objective type Questions

,

Free

,

shortcuts and tricks

,

study material

,

pdf

,

Sample Paper

,

Viva Questions

,

practice quizzes

,

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)

,

mock tests for examination

,

Extra Questions

,

past year papers

,

ppt

,

Built-In Self Test (BIST) for Embedded Systems - 3 | Embedded Systems (Web) - Computer Science Engineering (CSE)

,

Summary

,

Exam

,

MCQs

;