Skip to main content Accessibility help
Internet Explorer 11 is being discontinued by Microsoft in August 2021. If you have difficulties viewing the site on Internet Explorer 11 we recommend using a different browser such as Microsoft Edge, Google Chrome, Apple Safari or Mozilla Firefox.

Chapter 20: Basics of DFT

Chapter 20: Basics of DFT

pp. 449-460

Authors

, Indraprastha Institute of Information Technology, Delhi
  • Add bookmark
  • Cite
  • Share

Extract

One should not abandon duties born of one's nature, even if one sees defects in them. Indeed, all endeavors are veiled by some evil, as fire is by smoke.

Bhagavad Gita, Chapter 18, verse 48

In this chapter, we will discuss some of the basic concepts of design for testability (DFT). First, we will introduce the idea of structural testing and how it is different from functional testing. Then, we will explain fault model and its significance in testing. We will discuss single stuck-at fault model in detail. We will highlight the role of structural testing and the single stuck-at fault model in simplifying testing and making it cost-effective. We will also elucidate the problems of controlling and observing signals in a sequential circuit that are encountered during structural testing.

FUNCTIONAL TESTING VERSUS STRUCTURAL TESTING

Let us assume that we need to test a fabricated circuit that implements a Boolean function with N inputs. We can apply all possible 2N input combinations and check whether the outputs match the corresponding entries in the truth table. This is known as functional testing. However, when N is large (such as 50 or 100), the number of possible input combinations becomes dramatically large, and exhaustive functional testing of a circuit becomes infeasible. Therefore, we employ an alternative testing strategy known as structural testing for testing a fabricated circuit [1].

In structural testing, we test the components or hardware that implements a logic function rather than testing the input–output functionality of the implementation [1]. We can choose components at various abstraction levels such as transistors, switches, logic gates, standard cells, and macros (adders, multipliers, and arithmetic logical units (ALUs)). Nevertheless, we perform structural testing often at the level of logic gates. This testing is known as structural testing since it considers the topology and interconnections of logic gates in the implementation. The paradigm of structural testing is widely employed because it reduces the number of test patterns required for good test quality [2].

If we perform functional testing, we need to apply 216=65536 input combinations and compare the obtained circuit response with the correct response.

About the book

Access options

Review the options below to login to check your access.

Purchase options

eTextbook
US$99.99
Paperback
US$99.99

Have an access code?

To redeem an access code, please log in with your personal login.

If you believe you should have access to this content, please contact your institutional librarian or consult our FAQ page for further information about accessing our content.

Also available to purchase from these educational ebook suppliers