App Depedent Testing
App Depedent Testing
9, SEPTEMBER 2006
Abstract—Testing techniques for interconnect and logic re- finalized and fixed, the programmability becomes useless and
sources of an arbitrary design implemented into a field-pro- costly if further changes in the design during lifetime operation
grammable gate array (FPGA) are presented. The target fault of the system are not required.1 This is why FPGAs are very
list includes all stuck-at, open, and pair-wise bridging faults in
the mapped design. For interconnect testing, only the config- costly for high volume fixed designs compared to ASICs. FPGA
uration of the used logic blocks is changed, and the structure defect tolerance is based on the fact that some FPGA chips that
of the design remains unchanged. For logic block testing, the do not pass the application-independent test may be still usable
configuration of used logic resources remains unchanged, while for some particular fixed designs. In this case, defects are lo-
the interconnect configuration and unused logic resources are cated in some areas of the chip not used by those designs. These
modified. Logic testing is performed in only one test configuration
whereas interconnect testing is done in a logarithmic number of
FPGAs, which are good only for particular designs and do not
test configurations. This approach is able to achieve 100% fault have the general programmability of typical FPGAs, are called
coverage. application-specific FPGAs (ASFPGAs). ASFPGAs are prof-
Index Terms—Field-programmable gate array (FPGA), testing. itable for relatively large volume designs which have been com-
pletely finalized, i.e., when the final placed and routed version
is fixed. In order to achieve a high degree of reliability, this type
I. INTRODUCTION of test must achieve a very high defect coverage. So, the target
RAM-BASED field programmable gate arrays (FPGAs) are fault list must be as comprehensive as possible.
S 2-D arrays of logic blocks and programmable switch ma-
trices, surrounded by programmable input/output (I/O) blocks
Moreover, the application-dependent testing of FPGAs plays
a major role in adaptive fault tolerant based on self-repair
on the periphery. FPGAs are widely used in many applications [12]. During system operation, periodic application-dependent
such as networking, storage systems, communication, and adap- testing is performed to identify defective system components
tive computing, due to their reprogrammability, and reduced (permanent faults). High-resolution diagnosis is then exploited
time-to-market compared to full-custom designs. to precisely locate the defective resources so that efficient repair
Unlike other design styles such as application-specific inte- can be performed. Finally, the design is remapped to bypass the
grated circuits (ASICs) or microprocessor-based designs, testa- defective components. For this purpose, test time is very crucial
bility issues are not explicitly considered in the FPGA-based de- since it directly affects the down time of the system. Therefore,
sign flow. This means that the FPGA users rely on the manufac- the total number of test configurations, which dominates the
turing test of FPGAs completely. There is no internal scan inser- test time, must be minimized.
tion phase, built-in self-test (BIST) circuitry implementation, or In this paper, we present a comprehensive application-depen-
test generation in typical FPGA-based design flow. Hence, the dent testing of FPGAs for both logic and interconnect resources,
designs mapped into the FPGAs may not be fully testable. in which test vectors and configurations are automatically gen-
There are two main trends in the testing of FPGAs, appli- erated. The test is performed in two different sets of test configu-
cation-independent (manufacturing) test and application-de- rations. The first set of test configurations targets the faults in the
pendent test. In application-independent testing, which is used global interconnect whereas testing of faults in the logic blocks
as the manufacturing (production) test of these devices, all and local interconnects is performed in the second set of test
resources in the FPGA chip are tested. This test is independent configurations. For interconnect testing, the logic blocks of the
of the particular application (design) to be mapped to the FPGA FPGA used by the mapped design are reprogrammed, and the
chip. In application-dependent testing, however, the correct configuration of the interconnect remains unchanged. Hence, no
functionality of the particular application mapped into the chip extra placement and routing are necessary for test configuration
is of interest. In this test, only the FPGA resources used in the generation. The fault list includes all pairwise bridging faults, all
mapping of that design are tested. multiple stuck-at, and open faults. For logic testing (including
FPGA application-dependent testing can be used for system- local interconnects), the configurations of used logic blocks re-
level testing. It has also been used for defect tolerance in order to main unchanged while the configurations of global interconnect
improve the manufacturing yield [37]. The reprogrammability resources and unused logic blocks are modified. An exhaustive
of FPGAs results in much faster design and debug cycle com- test set which is able to cover all functional faults in logic blocks,
pared to ASIC implementation. However, once the design is inclusive of all stuck-at faults, is applied during this phase.
The rest of this paper is organized as follows. In Section II,
a review of FPGA architecture along with the previous work
Manuscript received December 12, 2005; revised April 28, 2006 and May 9,
2006. in FPGA testing is presented. In Section III, the interconnect
The author is with the Department of Electrical and Computer Engineering, 1Note that in some applications for various reasons such as changes in proto-
Northeastern University, Boston, MA 02115 USA (e-mail: mtahoori@ece.neu.
cols, fault tolerance, and temporal adaptive computing, the ability to reconfigure
edu).
the FPGA is an important feature during lifetime operation of these systems.
Digital Object Identifier 10.1109/TVLSI.2006.884053
testing approach is presented. In Section IV, the logic testing complexity of configuration generation algorithm, it cannot be
technique is presented. Some discussion regarding the presented applied to large designs.
application-dependent testing method is presented in Section V. In our earlier publication, we presented a technique for ap-
Finally, Section VI concludes the paper. plication-dependent interconnect testing where we first intro-
duced the notion of single-term function in FPGA testing [33],
II. BACKGROUND AND PREVIOUS WORK as will be redefined and explained in Section III-A. In [31],
testing of stuck-at faults in the interconnects and logic blocks
A. Preliminaries was presented in which two test configurations for interconnect
A FPGA is a 2-D array of configurable logic blocks (CLBs) stuck-at fault testing and one test configuration for CLB stuck-at
and on-chip memory blocks within a programmable inter- fault testing were used. Since the defects in the interconnects
connection network with programmable I/O blocks on the do not manifest themselves only as stuck-at faults, open and
periphery. The FPGA is a suitable platform for implementation bridging faults must be explicitly considered in interconnect
of almost any digital design. In reprogrammable FPGAs, such testing. Testing of local bridging faults in designs mapped into
as SRAM-based FPGAs, many designs can be mapped into FPGAs was presented in [32]. An approach based on Boolean
the same silicon over the lifetime of the FPGA. These FPGAs satisfiability was used for test configuration generation. How-
use memory cells to store the functional configuration, distin- ever, the fault list was limited to bridges between adjacent wires
guishing FPGAs from other integrated circuits (ICs). at the inputs of each LUT.
CLBs consist of look-up tables (LUTs), programmable In this paper, we present an application-dependent testing ap-
sequential elements, and additional logic for speeding up the proach for all resources of the FPGA including local and global
implementation of arithmetic functions. Typically, the re- interconnects as well as the logic resources. In this paper, un-
sources within each CLB are divided into a number of identical like the previous work, a comprehensive fault list including all
logic slices. Interconnection between these logic blocks are possible bridging faults, open, stuck-at, and functional faults is
provided by the interconnection network (inter-CLB or global targeted.
interconnects). Inter-CLB resources include programmable Application-dependent diagnosis (fault localization) is also
switch blocks, buffers, and wiring channels connecting switch very crucial to many domains in which application-dependent
blocks and CLBs. The interconnect resources inside CLBs are testing is used. For instance, in adaptive reliable computing
called intra-CLB (local) interconnects. Intra-CLB interconnects based on online self-repair, the existence of faults in the
include programmable multiplexers and wires inside CLBs. system is first identified (application-dependent test) and faulty
In this paper, the terms “CLB” and “logic block” are used resources are precisely diagnosed afterwards (application-de-
interchangeably. pendent diagnosis). Then, the design is remapped to avoid
There are two basic FPGA architectures. In the segmented faulty resources.
routing scheme, the interconnection network consists of a 2-D
array of identical switch matrices, and an abundance of line seg- C. Fault Models
ments, with a variety of length, size, and speed [36]. Switch ma- For FPGA interconnect testing we consider stuck-at faults,
trices, which consist of programmable switches, provide selec- opens and shorts. An open fault can be a programmable switch
tive and configurable connectivity among the line segments. In stuck-open or an open on a line segment. A programmable
the multiplexer-based architectures, the programmable switches switch stuck-open fault causes the switch to be permanently
are replaced by programmable multiplexers that provide a more open regardless of the value of the SRAM cell controlling it.
deterministic routing structure [3]. In order to provide fast in- A short fault can be a switch stuck-closed or a bridging fault
terconnection, the majority of line segments and programmable between two routing resources. A switch stuck-closed fault
switches and/or multiplexers are buffered. In both cases, the causes the switch to be permanently closed regardless of the
number of programmable elements in the interconnection net- value of memory cell controlling that switch. For bridging
work is far more than the number of programmable elements in faults, wired bridging fault models (wired-OR and wired-AND)
the logic blocks. as well as dominant bridging faults are considered [4], [27].
For FPGA logic testing, mainly stuck-at faults are consid-
B. Previous Work ered. However in this paper, functional fault model is consid-
Application-independent (manufacturing) testing of FPGAs ered which is super-set of stuck-at faults and contains any faulty
has been described in [1], [7], [13], [26], [28], [30], and [34]. behavior that changes the functionality of the logic function im-
These techniques target the faults in the entire FPGA for all pos- plemented in the logic resources.
sible configurations. Application-dependent testing of FPGAs
has been addressed in [5], [16], [17], [24], and [25]. III. INTERCONNECT TESTING
A new FPGA architecture with design for testability features The interconnect resources in FPGAs can be categorized
is presented in [25]. In the technique presented in [5], every CLB as inter-CLB and intra-CLB resources. Inter-CLB routing
used in the mapped design is reconfigured as transparent logic resources provide interconnections among CLBs whereas
followed by flip-flops in order to construct scan chains. Also, intra-CLB resources are located inside each CLB. Detecting
fanout branches of a net are tested in different test configura- faults within inter-CLB routing resources is addressed in this
tions, i.e., dependent logic cones are tested in different config- section. For inter-CLB interconnect test, the configuration of
uration, resulting in a number of test configurations. Due to the routing resources remains unchanged while the configuration
1026 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 14, NO. 9, SEPTEMBER 2006
Fig. 5. Logarithmic test set to activate all possible bridging, open, and stuck-at
faults for six wires.
TABLE I
TEST CONFIGURATIONS FOR ISCAS’89 CIRCUITS
MAPPED INTO XILINX VIRTEX FPGAS
TABLE II
MAXIMUM NUMBER OF TEST CONFIGURATIONS FOR XILINX VIRTEX II FPGAS
Fig. 9. (a) Original configuration. (b) BIST configuration to test used logic
blocks.
A. BIST Scheme
to detect all inter-CLB interconnect faults, as described in The key point of this approach is to keep the configuration of
Section III-B. used logic blocks unchanged while applying test and observing
Assume that the FPGA device has LUTs, and each LUT the outputs of these logic blocks by exploiting inter-CLB in-
has inputs. The upper bound on the number of nets for any de- terconnects and unused logic blocks. In this scheme, each used
signs to be mapped into this FPGA is , which is ba- logic block will be exhaustively (or super-exhaustively) tested
sically allocating one separate net for each input and the output while all these logic blocks are tested concurrently. Since the
of every LUT in the FPGA. Note that this is a loose upper bound number of the inputs of each logic block is very small (less than
since the LUT outputs are connected to the inputs of other LUTs, ten inputs for each logic slice), it is practical to apply an exhaus-
and there are fanouts in the circuit. Using this upper bound on tive test (all possible input combinations) or a super-exhaustive
the number of nets, the upper bound on the number of test con- test (all possible input transitions) for testing each used logic
figurations based on the approach of Section III-B is as follows: block.
. The global interconnect is reprogrammed in such a way that
Table II shows these upper bounds on the number of inter- the test signals are routed to each logic block. In other words, a
connect test configurations for Xilinx Virtex II FPGA series common bus which is routed using available unused routing re-
[36]. The number of LUTs for each device is shown in the sources in the test configuration directly connects the test signals
second column. Note that these LUTs have four inputs ( to each logic block. The size of the bus is equal to the number
4). The upper bounds on the number of nets are shown in the of logic block inputs to apply an exhaustive test for each logic
third column. The fourth column shows the number of all pair- block. This parallel connection allows testing the entire set of
wise bridging faults associated with the maximum number of logic blocks concurrently. The test signals can be connected to
nets. Note that the number of faults ranges from 3.3 10 to the primary inputs for an off-chip test or to a test pattern gen-
1.08 10 depending on the size of the FPGA device. As can erator implemented using unused on-chip resources for a BIST
be shown in this table, the number of test configuration for 100% implementation.
fault coverage ranges from 12 to 19. This confirms that this ap- The logic block outputs are observed through an internal re-
proach is absolutely tractable for the large FPGAs. sponse compactor. This way, the outputs of many logic blocks
can be observed using a small number of off-chip outputs. The
response compactor can be combined with a response predictor
IV. LOGIC TESTING
such that a unique pass/fail signal can be generated. Since the
This section describes the approach for testing faults located user configuration of the logic blocks are known at the test time,
inside the logic blocks, intra-CLB interconnects as well as the response predictor can be precomputed and stored in the un-
logic resources, used by the mapped design. In this approach, used logic blocks (LUT bit locations or on-chip memory).
the original configuration of the used logic blocks is preserved, A BIST version of this test scheme is shown in Fig. 9. There
whereas the configuration of the global interconnects and are three main components in this BIST scheme, namely test
unused logic blocks are changed to exhaustively (and even pattern generator, parity predictor, and parity checker modules.
super-exhaustively) test all used logic blocks. This way, each 1) Test Pattern Generator (TPG): A linear feedback shift
logic block is tested in the same conditions it is used in the register (LFSR) modified as a De Bruijn counter [21], imple-
application configuration. On the other hand, changing the mented in the unused logic blocks, generates the exhaustive se-
configuration of the inter-CLB interconnects and unused logic quence. It is also possible to generate a super-exhaustive test to
blocks allows us to facilitate the access to each logic block. This be able to also detect delay faults in the logic blocks by using
approach can be framed as a BIST mechanism as described two LFSRs generating all possible transitions. Due to the small
next. number of logic block inputs which usually ranges from 3 to 5
TAHOORI: APPLICATION-DEPENDENT TESTING OF FPGAS 1031
TABLE III by decomposition. For example, bridging faults between the re-
OVERHEAD OF BIST LOGIC TESTING sources decomposed into different test configurations cannot be
detected [5]. This situation never happens in our approach.
3) Test Time Reduction: The only difference among the test
configurations is the contents of the LUTs, which is a very small
portion of the configuration data (less than 5% of the total con-
figuration bits [36]). Therefore, test configuration loading time
can be drastically reduced by partial reconfiguration. For ex-
ample, the reconfiguration scheme in Xilinx FPGAs is frame-
based. Each CLB column is divided into a number of frames.
Some frames contain configuration bits for both logic and in-
terconnects whereas others contain only interconnect configu-
ration bits. The partial reconfiguration for loading next test con-
figuration requires loading only those frames containing logic
configuration bits.
4) Test Configuration Compression: As the only difference
among the original design and the test configurations is the con-
tents of LUTs, instead of saving the complete configuration
data for each test configurations, only the LUT contents need to
be stored for each test configuration (differential compression),
achieving up to 20 test configuration compression ratio.
5) Compatibility: This technique relies only on repro-
grammability of logic resources. This feature exists in all
families of reprogrammable (SRAM-based) FPGAs and
complex programmable logic devices (CPLDs). Hence, this
technique can be easily applied for various FPGA or CPLD
families from a variety of programmable logic vendors [3],
[36].
The presented techniques for testing interconnect and logic
of CLBs required to implement the original circuit, the third resources are also able to detect the faults that occur in the con-
column represents the number of CLBs required to implement figuration circuitry. The faults in the routing configuration bits
the entire BIST scheme with the LFSR, parity predictor, and manifest themselves as open and bridging faults in the mapped
parity checker as well as the circuit under test (original user design which will be detected in the first set of test configura-
configuration). Note that each CLB in Xilinx Virtex FPGAs tions (Section III). Faults in the logic configuration bits affect
contains four LUTs and storage elements. The overhead is the functionality of the logic blocks which will be detected in
given in the fourth column as a percentage of the initial circuit the logic BIST method (Section IV).
implementation. The overhead for bigger circuits is much Note that a bridging fault between a signal line and a configu-
smaller. For the circuits with zero overhead, it was possible to ration line will directly or indirectly affect the user application.
map the entire BIST circuitry in the unused LUTs and logic If the value of the signal line is disturbed, the user application
slices of the partially-used CLBs by the original design. Since is directly affected and depending whether this signal line is a
the increase in the CLB usage is only a few percents, the entire global interconnect or inside a CLB, it will be detected in the
BIST circuitry will still fit into the smallest FPGA device that first or second set of test configurations. If the bridging fault only
the original design would fit. disturbs the configuration line and it then affects the state of a
configuration bit, it results in a fault in the interconnect (open
or bridging fault) or logic resources (logic fault). The presented
V. DISCUSSION
test methods are able to detect this fault.
In the presented interconnect testing method, the original con- Since the logic is modified for interconnect testing and the in-
figuration of the routing resources of the design remains un- terconnect is modeled for logic testing, there might be a situation
changed. Also, the timing of the original design is preserved, in which there is a fault in the resources used to test but not used
i.e., no flip-flop is added to or removed from the original design for the application. By performing high-resolution diagnosis, it
in test configurations; only the preset values of some flip-flops can be identified whether the defective resources are used in the
are modified. The advantages of this approach are as follows. user application or not. Once the failure is diagnosed to be in
1) Reduced Test Configuration Generation Effort: There is a resource not originally utilized by the user application, then
no need to perform placement and routing for generating the test it becomes a reliability and test quality issue. If the defective
configurations. The placement and routing of the original design resource is physically very close to user resources, then based
are used for the test configurations. on reliability constraints and criticality of the application, the
2) No Fault Missed: Since no partitioning of the resources design might be remapped such that the used resources by the
over multiple configurations is performed, no fault is missed application is not too close to the defective resources since the
TAHOORI: APPLICATION-DEPENDENT TESTING OF FPGAS 1033
defect might expand over time and make the neighboring re- [17] ——, “Exploiting reconfigurability for effective testing of delay faults
sources defective, as well. in sequential subcircuits of LUT-based FPGAs,” in Proc. Field Pro-
grammable Logic Conf., 2002, pp. 616–626.
[18] E. J. McCluskey and S. Bozorgui-Nesbat, “Design for autonomous
VI. CONCLUSION test,” IEEE Trans. Circuit Syst., vol. 28, no. 11, pp. 1070–1079, Nov.
1981.
In this paper, a new technique for application-dependent [19] E. J. McCluskey, “Built-in verification test,” in Proc. IEEE Int. Test
testing of FPGAs is presented. This method tests all inter- Conf., 1982, pp. 183–190.
connect as well as logic resources used by a particular user [20] ——, “Verification testing—A pseudoexhaustive test technique,” IEEE
Trans. Comput., vol. C-33, no. 6, pp. 541–546, Jun. 1984.
application implemented on an FPGA. In the first phase, only [21] ——, Logic Design Principles. Englewood Cliffs, NJ: Prentice-Hall,
the configuration of logic blocks is modified for global inter- 1986.
connect testing. Less than 20 test configurations are required [22] H. Michinishi, T. Yokohira, and T. Okamoto, “A test methodology
for interconnect structures of LUT-based FPGAs,” in Proc. Asian Test
to test the largest design implemented in the largest FPGA Symp., 1996, pp. 68–74.
device for all stuck-at, open, and pairwise bridging faults. The [23] S. Mitra and E. J. McCluskey, “Which concurrent error detection
second phase, which consists of only one test configuration, scheme to choose,” in Proc. IEEE Int. Test Conf., 2000, pp. 985–994.
[24] W. Quddus, A. Jas, and N. A. Touba, “Configuration self-test in FPGA-
tests all used logic blocks as well as local interconnects. In based reconfigurable systems,” in Proc. Int. Symp. Circuits Syst., 1999,
this phase, the configuration of original used logic blocks is pp. 97–100.
preserved and configuration of interconnects and unused logic [25] M. Renovell, P. Faure, J. M. Portal, J. Figueras, and Y. Zorian, “Is-
FPGA: A new symmetric FPGA architecture with implicit scan,” in
blocks is changed to exhaustively test all used logic blocks. Proc. IEEE Int. Test Conf., 2001, pp. 924–931.
A BIST version of the presented test configurations is also [26] M. Renovell and Y. Zorian, “Different experiments in test generation
presented. The experimental results show that the overhead of for XILINX FPGAs,” in Proc. IEEE Int. Test Conf., 2000, pp. 854–862.
[27] T. Storey and W. Maly, “CMOS bridging fault detection,” in Proc.
BIST circuitry, in terms of the number of required unused logic IEEE Int. Test Conf., 1990, pp. 842–851.
blocks, is reasonably small. [28] C. Stroud, S. Wijesuriya, C. Hamilton, and M. Abramovici, “Built-in
The presented techniques can be used either as part of a self-test of FPGA interconnect,” in Proc. IEEE Int. Test Conf., 1998,
pp. 404–411.
ASFPGA test flow, or as an online testing method in a self-re- [29] C. Stroud, S. Konala, C. Ping, and M. Abramovici, “Built-in self-test of
pair scheme for defect and fault tolerance. logic blocks in FPGAs (Finally, a free lunch: BIST without overhead!),”
in Proc. VLSI Test Symp., 1996, pp. 387–392.
[30] X. Sun, J. Xu, B. Chan, and P. Trouborst, “Novel technique for built-in-
REFERENCES self test of FPGA interconnects,” in Proc. IEEE Int. Test Conf., 2000,
[1] M. Abramovici and C. Stroud, “BIST-based detection and diagnosis pp. 795–803.
of multiple faults in FPGAs,” in Proc. IEEE Int. Test Conf., 2000, pp. [31] M. B. Tahoori, E. J. McCluskey, M. Renovell, and P. Faure, “A multi-
785–794. configuration strategy for an application dependent testing of FPGAs,”
[2] M. J. Alexander and G. Robins, “New performance-driven FPGA in Proc. VLSI Test Symp., 2004, pp. 154–159.
routing algorithms,” IEEE Trans. Comput.-Aided Des. Integr. Circuits [32] M. B. Tahoori, “Application-specific bridging fault testing of FPGAs,”
Syst., vol. 15, no. 12, pp. 1505–1517, Dec. 1996. J. Electron. Testing, Theory, Appl., vol. 20, no. 3, pp. 279–289, Jun.
[3] “Altera Data Sheets,” 2004, [Online]. Available: http://www.al- 2004.
tera.com [33] ——, “Application-dependent testing of FPGA interconnects,” in Proc.
[4] B. Chess and T. Larrabee, “Logic testing of bridging faults in CMOS Int. Symp. Defect Fault Tolerance, 2003, pp. 409–416.
integrated circuits,” IEEE Trans. Comput., vol. 47, no. 3, pp. 338–345, [34] M. B. Tahoori and S. Mitra, “Automatic configuration generation
Mar. 1998. for FPGA interconnect testing,” in Proc. VLSI Test Symp., 2003, pp.
[5] D. Das and N. A. Touba, “A low cost approach for detecting, locating, 134–139.
and avoiding interconnect faults in FPGA-based reconfigurable sys- [35] A. Takahara, T. Miyazaki, T. Murooka, M. Katayama, K. Hayashi, A.
tems,” in Proc. Int. Conf. VLSI Des., 1999, pp. 266–269. Tsutsui, T. Ichimori, and K. Fukami, “More wires and fewer LUTs:
[6] A. DeHon, “Balancing interconnect and computation in a reconfig- A design methodology for FPGAs,” in Proc. ACM Int. Symp. FPGAs,
urable computing array (or, why you don’t really want 100% LUT uti- 1998, pp. 12–19.
lization),” in Proc. ACM Int. Symp. FPGAs, 1999, pp. 69–78. [36] “The Programmable Logic Data Book,” Xilinx Inc, 2003.
[7] A. Doumar and H. Ito, “Testing the logic cells and interconnect re- [37] Xilinx Easypath Solutions 2003 [Online]. Available: http://www.
sources for FPGAs,” in Proc. Asian Test Conf., 1999, pp. 369–374. xilinx.com
[8] F. J. Ferguson and J. P. Shen, “A CMOS fault extractor for inductive
fault analysis,” IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst., Mehdi B. Tahoori (S’02–M’04) received the M.S.
vol. 7, no. 11, pp. 1181–1194, Nov. 1988. degree in electrical engineering from Stanford
[9] P. Goel and M. T. McMahon, “Electronic chip-in place test,” in Proc. University, Palo, Alto, CA, in 2002, the B.S. degree
IEEE Int. Test Conf., 1982, pp. 83–90. in computer engineering from Sharif University of
[10] I. G. Harris, P. R. Menon, and R. Tessier, “BIST-based delay path Technology, Tehran, Iran, in 2000, and the Ph.D.
testing in FPGA architectures,” in Proc. IEEE Int. Test Conf., 2001, degree in electrical engineering from Stanford
pp. 932–938. University, in 2003, under the supervision of Prof.
[11] G. Harris and R. Tessier, “Interconnect testing in cluster-based FGPA E. J. McCluskey,
architectures,” in Proc. Des. Autom. Conf., 2000, pp. 49–54. He is an Assistant Professor in the Department of
[12] W. J. Huang and E. J. McCluskey, “Column-based precompiled con- Electrical and Computer Engineering at Northeastern
figuration techniques for FPGA fault tolerance,” in Proc. IEEE Symp. University, Boston, MA. During 2002–2003, he was
Field-Programmable Custom Comput. Mach., 2001, pp. 137–146. a Research Scientist at Fujitsu Laboratories of America in advanced computer-
[13] W. K. Huang, X. T. Chen, and F. Lombardi, “On the diagnosis of aided design (CAD) research working on reliability issues in deep-submicron
programmable interconnect systems: Theory and application,” in Proc. mixed-signal VLSI designs. He has published more than 60 technical papers
VLSI Test Symp., 1996, pp. 204–209. in leading conferences and journals. His research interests include nanotech-
[14] H. Jarwala and C. W. Yau, “A new framework for analyzing test gen- nology, VLSI testing, VLSI CAD, and fault tolerant computing.
eration and diagnosis algorithms for wiring networks,” in Proc. IEEE Dr. Tahoori has been the Program Chair of the IEEE Defect and Current Based
Int. Test Conf., 1989, pp. 63–70. Testing Workshop in 2005 and 2006. He was the Guest Editor of IEEE Design
[15] W. H. Kautz, “Testing for faults in wiring networks,” IEEE Trans. and Test Special Issue on Advanced Technologies and Reliable Design for Nan-
Comput., vol. C-23, no. 4, pp. 358–363, Apr. 1974. otechnology Systems. He has served on the program committees of IEEE Inter-
[16] A. Krasniewski, “Application-dependent testing of FPGA delay faults,” national Test Synthesis Workshop and IEEE International Workshop on Design
in Proc. Euromicro. Conf., 1999, pp. 260–267. and Test of Defect-Tolerant Nanoscale Architectures.