Microelectronics Reliability

Size: px
Start display at page:

Download "Microelectronics Reliability"

Transcription

1 Microelectronics Reliability 53 (2013) Contents lists available at SciVerse ScienceDirect Microelectronics Reliability journal homepage: A Built-In Self-Test (BIST) system with non-intrusive TPG and ORA for FPGA test and diagnosis Aiwu Ruan, Shi Kang, Yu Wang, Xiao Han, Zujian Zhu, Yongbo Liao, Peng Li State Key Laboratory of Electronic Films and Integrated Devices, University of Electronic Science and Technology of China, Chengdu , China article info abstract Article history: Received 8 September 2011 Received in revised form 11 September 2012 Accepted 11 September 2012 Available online 23 October 2012 This paper presents a BIST system with non-intrusive test pattern generator (TPG) and output response analyzer (ORA) for field-programmable gate array (FPGA) test and diagnosis. The proposed BIST system physically consists of software and hardware parts with two communication channels in between. The TPG and ORA of the BIST circuitry are in the software part while a circuit under test (CUT) is in the hardware part, respectively. One more FPGA is incorporated in the hardware part to act as an interface between the TPG, ORA and the CUT. Algorithms for FPGA test and diagnosis are also presented. Compared with embedded BIST technique, configuration numbers can be reduced without exchanging the TPG, ORA for the CUT when the proposed BIST system is applied to test an FPGA. Also, the proposed BIST system can provide good observability and controllability for the FPGA-under-test due to the proposed algorithms developed for test and diagnosis. No matter what type and array size of an FPGA-under-test is, the CUT can be tested by the proposed BIST system. The BIST system is evaluated by testing several Xilinx series FPGAs, and experimental results are provided. Ó 2012 Elsevier Ltd. All rights reserved. 1. Introduction An FPGA is composed of a large amount of repeated and regular configurable logic blocks (CLBs), interconnect resources (IRs), and input/output blocks (IOBs), each of which incorporates logic gates, D flip-flops (D-FFs) and control units. FPGAs have increasingly played an important role in modern electronic industry due to their reconfigurability, flexibility, low development cost, and reduced time-to-market, since they were introduced by Philips in the early 1970s. Applications for FPGAs are diversified, e.g. communications, storage systems, adaptive computing, etc. Thanks to shrinking_size of transistors fabricated by nano- CMOS manufacturing process, more and more complicated structures of FPGAs can be implemented. As a result, more and more Abbreviations: BIST, Built-In Self-Test; CLB, configurable logic block; CUT, circuit under test; D-FF, D flip-flop; EDA, electronic design automation; FPGA, fieldprogrammable gate array; IOB, input/output block; IR, interconnect resource; ISE, integrated software environment; JTAG, joint test action group; LUT, look-up table; MVP, module verification platform; ORA, output response analyzer; PCIE, peripheral component interface express; PIP, programmable-interconnect-point; RTL, register transfer level; SM, switch matrix; SPI, software procedural interface; STAR, selftesting area; TC, test configuration; TPG, test pattern generator; TR, test response; TV, test vector; XOR, exclusive or; XNOR, exclusive nor; Verilog HDL, Verilog hardware description language; VHDL, very-high-speed integrated circuit hardware description language; VPI, Verilog hdl procedural interface. Corresponding author. address: ruanaiwu@uestc.edu.cn (A. Ruan). functions can be realized by FPGAs. However, several types of defects can be introduced by the manufacturing process, such as stuck-at faults, delay faults, etc. A study showed that FPGAs at and beyond the 45 nm technology node have low yield [1]. FPGAs have high density of transistors and interconnect wires. Hence, after FPGAs have been fabricated, they are tested extensively to find faulty ones from the batch. The idea of BIST was first proposed around 1980s and has become one of the most important testing techniques at the current time, as well as for the future. The basic idea of BIST is to design a circuit which can test itself and determine whether it is faulty or fault-free. This typically requires that additional circuitry and functionality are incorporated into the design of the circuit to facilitate the self-testing feature. This additional functionality is implemented by a TPG and an ORA. A sequence of patterns for testing a CUT is produced by the TPG, while the ORA determines whether the output responses are corresponding to those of a fault-free circuit [2]. From the perspective of whether the TPG and ORA are embedded in the FPGA-under-test or not, BIST techniques for FPGA test are categorized into intrusive BIST [3 12,15] and non-intrusive BIST approaches [16]. Usually the terminology of embedded BIST can substitute for that of intrusive BIST. In the area of FPGA test, the embedded BIST approach has been increasingly applied to FPGA test in recent years. The embedded BIST method includes configuring one part of the FPGA to undergo testing, configuring the other parts to generate test vectors and analyze test results /$ - see front matter Ó 2012 Elsevier Ltd. All rights reserved.

2 A. Ruan et al. / Microelectronics Reliability 53 (2013) Owing to the embedded BIST logic disappearing when the circuit is reconfigured for its normal system operation, area overhead can be avoided [3]. However, the parts of the FPGA configured as TPGs and ORAs have to be reconfigured as CUTs for testing. This, consequently, increases configuration numbers of the FPGA-under-test. On the other hand, there is a work done with non-intrusive BIST technique for FPGA test [16]. Although exchanging the TPG, ORA for the CUT is not necessary, the research did not study how to achieve observability and controllability for FPGA test. In the context of FPGA test, observability is the ability to observe faults, while controllability describes the capability of determining fault sites [2,17]. In our paper, observability and controllability are relevant to the capability of fault test and diagnosis respectively without fault masking. In this paper, a system based on BIST approach with nonintrusive TPG and ORA for FPGA test and diagnosis is presented. The BIST system physically consists of two parts, namely software and hardware parts with two communication channels in between. The TPG and ORA of the BIST circuitry are in the software part while the CUT is in the hardware part, respectively. One more FPGA is incorporated in the hardware part to act as an interface between the TPG, ORA and the CUT. Algorithms for FPGA test and diagnosis are also presented. As shown in Section 4.2, these algorithms can be applied to different series FPGAs with minor modifications. The proposed nonintrusive BIST system along with FPGA test algorithms can address the aforementioned disadvantages of the intrusive BIST approach and the previous work done with non-intrusive BIST method. Further, good observability and controllability for an FPGA-under-test can be achieved. Test vectors (TVs) can be applied to an FPGA-under-test no matter whether the TVs are in the form of untimed signals or not. The TVs can be written by either C language or Verilog HDL/VHDL. These text format TVs facilitate the TV revision in the process of FPGA test. Although our proposed system can be used in both online and offline testing scenarios, the latter is focused on in this paper. The rest of the paper is organized as follows. In Section 2, background related to both intrusive and non-intrusive BIST techniques for FPGA test is introduced. Our BIST system is presented in Section 3. In this section, the architecture, operational principle and synchronization mechanism of the proposed BIST system are described in detail. In Section 4, implementation of the proposed BIST system along with algorithms for FPGA test and diagnosis are evaluated, and experiment is conducted on several Xilinx series FPGAs. We conclude in Section Background In this section, we discuss why non-intrusive BIST approach is used, as well as the previous work done with non-intrusive BIST technique for FPGA test. The term of non-intrusive BIST was first proposed by Charles E. Stroud in his book A Designer s Guide to Built-In Self-Test [2]. In his book, he mentioned When the TPG and ORA functions are implemented using existing flip-flops and registers of the FPGAunder-test, the BIST architecture is generally referred to as embedded or intrusive. Therefore, non-intrusive BIST architectures refer to the TPG and ORA functions NOT implemented by existing flipflops and registers of the FPGA-under-test. Rather, the TPG and ORA functions are carried out by some resources external from the FPGA-under-test, i.e. an FPGA [16]. The intrusive BIST technique is now increasingly applied to FPGA test and diagnosis [3 12,15]. This is primarily due to the reprogrammable characteristic of FPGAs. As a result, no area overhead and delay penalties are incurred. Despite these advantages, the intrusive BIST technique has several limitations. Usually, TVs generated by embedded TPG are binary numbers, i.e. 0 and 1 [11]. It is not convenient for users to revise TVs in the process of FPGA test. Further, configuration numbers are increased because the sections occupied by TPGs and ORAs are frequently exchanged for those occupied by CUTs to bring every section of the FPGA to be tested. The configuration numbers are strongly dependent on the FPGA array size as well as the complexity of TPGs and ORAs. This approach results in complicated FPGA test procedure and, consequently higher testing cost. In order to address the aforementioned limitations of the intrusive BIST technique, the non-intrusive BIST approach is adopted. The configuration numbers obtained by our approach are not strongly dependent on an FPGA array size, thanks to specially developed algorithms for FPGA test and diagnosis which will be introduced in Section 4.2. More exactly, the configuration numbers are subject to input terminal numbers of programmable-interconnect-points (PIPs), as well as types of wire segments. A.Gardel comes up with an evaluation system of an internal state of FPGA [16]. The system includes two parts, software and hardware. The software part is a PC with software test application while the hardware part consists of two boards that bear the resources to be tested and diagnosed. The first board contains an FPGA which will manage the test patterns and the results. The second board contains an FPGA-under-test. However, the paper did not study the algorithms to diagnose fault sites. Since controllability is relevant to the capability of fault diagnosis without fault masking in FPGA test, limited controllability is provided by the system for the FPGA-under-test. 3. Proposed BIST system 3.1. Architecture of proposed BIST system The proposed architecture of the BIST system is shown in Fig. 1. The BIST system is physically composed of the software and hardware parts with two communication channels in between. The software part actually incorporates some electronic design automation (EDA) commercial software tools as well as some inhouse developed software tools. These software tools run in a PC to implement a Co-test Controller, a Configuration Controller, a TPG, an ORA, a CUT Wrapper, as well as a communication interface module. The communication interface module consists of a TPG Port Proxy and an ORA Port Proxy. The Co-test Controller is responsible for communication synchronization between the software and hardware parts. In addition, the Configuration Controller manages configurations for FPGA-under-test. The CUT Wrapper in the software side is the mapping of the CUT in the hardware side. Put another way, the virtual pin definitions of the CUT Wrapper strictly Fig. 1. Architecture of the proposed BIST system.

3 490 A. Ruan et al. / Microelectronics Reliability 53 (2013) correspond to those of the CUT in the hardware side. Since the wrapper is the mapping of the FPGA-under-test, the wrapper file is relevant to the configuration file of the FPGA-under-test. The configuration files are actually dependent on algorithms of FPGA fault test and diagnosis. The algorithms of FPGA test and diagnosis will be discussed in the later part of the paper. Generally speaking, the software part performs works such as generation of configuration files for the FPGA-under-test, developing configuration timing for the FPGA on F1, generating virtual pin files for the FPGA-under-test by an in-house developed Module Verification Platform (MVP) software tool, building a testbench, controlling the synchronization mechanism and displaying response waveforms in ModelSim Simulator provided by Mentor Graph, as well as analyzing and processing test results, etc. The testbench in the paper refers to the TPG, the ORA and the CUT wrapper in the software part. The hardware part is made up of two sub-hardware blocks, F1 and F2. F2 refers to an FPGA-under-test or a CUT. F1 includes a TPG Port, an ORA Port, and an FPGA-under-test Transactor implemented by an FPGA. One of the aforementioned communication channels, entitled Channel_1, is a bidirectional system bus and runs between the software side and F1. The second channel, denoted as Channel_2, connects F2 with the software side. Channel_2 is a bus based on Joint Test Action Group (JTAG) standard for downloading and reading back configuration bitstream. The configuration files for the FPGA-under-test are generated in the software side and transmitted to F2 via Channel_2. Also, a readback procedure is conducted through Channel_2 to verify whether errors occur or not during configuration. The TVs produced by the TPG in the software side are applied to F1 through Channel_1 and the response from the CUT is returned to the ORA in the software side via Channel_1. In fact, the FPGA-under-test itself often appears as a bus-cycle accurate, register transfer level (RTL) model or a gate-level netlist, while the TVs represent themselves as an untimed set of signals. Therefore, a proxy in the software side and a transactor in the hardware side are required to interface the bus-cycle accurate signals with the untimed signals. In other words, translation of the untimed TVs to cycle-accurate pin activity is performed by the TPG Port Proxy in the software side. Alternately, the transactor in F1 recomposes sequence of the response coming from the FPGAunder-test back into untimed signals to be sent via the ORA port to the software side. On the one hand, F1 gets data from the software side, then transfers the data into the electronic signals and assigns them to the suitable input ports of the CUT as the testing stimulus. On the other hand, F1 gets response electronic signals from the output ports of the CUT, transfers them into the format the computer software tools can read, and then sends the response data back to the software part. In other words, F1 accomplishes the communication between the software side and the CUT. Thus, F1 performs as an interface between the TPG, ORA and the CUT Operation principle of the proposed BIST scheme By definition, co-test means two different systems coupled to each other to complete the test of a single design. In the proposed BIST system, the software part and hardware part work in turn to test an FPGA. Basically, three steps are required to test an FPGA. Firstly, a configuration file is downloaded to the CUT. Secondly, a testbench runs in ModelSim Simulator. As mentioned in Section 3.1, the testbench in the paper refers to the TPG, the ORA and the CUT wrapper in the software part. In the second step, TVs generated by the TPG are sent to the CUT through Channel_1 and F1, while the responses from the CUT are transmitted back to ModelSim Simulator. In this section, mechanism of data exchange between the software part and hardware part will be discussed with synchronization mechanism between the two parts left to Section 3.3. Finally, the responses from the CUT are analyzed in the software side. The three steps are repeated until all of the internal resources of the CUT are tested. After the user chooses the configuration file of the CUT through the Configuration Controller, the Configuration Controller orders F1 to configure the CUT. The F1 internal configuration control logic sends a start signal for configuration in terms of timing requirements of the FPGA-under-test under passive configuration mode. If there is no error, the CUT will respond a ready signal of configuration to F1. It should be emphasized here that a readback procedure is conducted to verify whether errors occur or not during configuration. Actually, we can use impact to perform JTAG-based readback verify. As mentioned in Section 3.1, Channel_2 is a bus based on JTAG standard for downloading and reading back configuration bitstream. impact, the device programming software provided by Xilinx Integrated Software Environment (ISE), can perform all readback and comparison functions for SRAM-based FPGAs from Xilinx and report to the user whether there are any configuration errors. Once configuration memory is read from the device, the next step is to determine if there are any errors by comparing the readback bitstream to the configuration bitstream. After receiving the ready signal, F1 informs the software part to start sending the configuration data. The software part reads the configuration data and sends the data to F1 in 32-bit format through a Peripheral Component Interface Express (PCIE) bus. After receiving the configuration data, F1 generates a correct configuration clock Co-TEST_CLOCK according to the configuration clock requirement, and sends the serial configuration data to the CUT. After receiving the configuration data, internal SRAM unit of the CUT is configured until the configuration of all units are completed. Next, the CUT sends a finish signal to F1. Thus, the entire configuration process is completed. When the testbench runs in ModelSim Simulator, Verilog HDL Procedural Interface (VPI) of ModelSim Simulator is called to send TVs from the software part to F1 through Channel_1. Then F1 transfers the TVs into the electronic signals and assigns them to the suitable input ports of the CUT. The response electronic signals from the output ports of the CUT are transferred by F1 into the format the computer software tools can read, and then sent back to the software part for analysis. The Co-test Controller in the software part controls the test process. TC_CLOCK generated by the Co-test Controller programs the CUT to the next configuration, while Co-TEST_CLOCK produced by F1 carries out the test process. As shown in Fig. 2, it takes six Co-TEST_CLOCK cycles to test each configuration: the first cycle transmits configuration, cycle 2 disables the configuration, cycle 3 turns on the TPG, tests the CUT while the result is returned to the ORA in cycle 4, cycle 5 disables the TPG, and cycle 6 clears the ORA state for the next test. One co-test cycle is implemented. The cycle is repeated and system clock will increase until all co-test Enable TC config 1 config 2 config 3 Disable TC Enable TV Disable TV ORA Clear ORA Fig. 2. Clocking scheme for FPGA test.

4 A. Ruan et al. / Microelectronics Reliability 53 (2013) procedures are finished. Consequently, all internal resources of the FPGA can be tested automatically and repeatedly Synchronization mechanism The BIST platform cannot work without an efficient communication mechanism between the software and hardware parts. In order to ensure the correctness of the CUT test, we not only have to make sure port data are exchanged correctly between the two parts, but should learn callback mechanism, especially when a VPI callback task is called by ModelSim Simulator to invoke an execution process for the FPGA-under-test as well. This issue is usually related to software/hardware synchronization. Current digital simulators allow simulation with user defined models written in C programming language. This is usually done using Software Procedural Interface (SPI). In our system, we use Modelsim s VPI to link an FPGA-under-test into simulation scheduling model as a new simulation event. Bridging the FPGA-under-test to other Verilog simulators is also available since VPI is a part of IEEE Verilog Standard. Verilog VPI is a bunch of C programming language functions, which provide procedural access to information within a Verilog simulator. A user-defined application can use these functions to traverse the design hierarchy of the simulated design, get information about the simulator and modify logic value of any design component on the run. Verilog VPI imports the callback, which is a C function that is registered to the simulator for a specific reason. The registered callback function is called whenever the reason occurs, for example, a value changes on a specific signal. Simulation s role in the context of FPGA test is to link an FPGAunder-test into the simulation scheduling model as a new simulation event. Software simulation is based on a certain simulation algorithm. When a CUT is introduced into the simulation process, test of the CUT should follow the simulation algorithm in order to ensure the correctness of the CUT test. After the simulation has started, once any changing event for input values in the wrapper ports is detected, VPI callback task is called by ModelSim Simulator to transfer the input port data from the software simulator to the input port of the FPGA-under-test. Then a test process for one CUT clock cycle is triggered. When the CUT finishes execution, the response output port data is read back through F1 and put back into the software simulator. Following the above execution rule, the CUT is integrated into the software simulator to implement the CUT test. Fig. 3 shows the synchronization process between the software part and hardware part. After simulation has started, the two parts run in turn. As shown in figure, the ith CUT Wrapper is represented by C i, and it exists in the software simulator as a dummy wrapper along with only port information. i denotes the ith configuration in n configurations. The CUT test is led by the software simulator, and when there is a need to calculate the output value of the CUT Wrapper (C i in Fig. 3), ModelSim Simulator sends the corresponding TV i to the CUT. Then, ModelSim Simulator passes execution control to the hardware part and stop simulation. When the ith CUT test finishes execution, the test response (TR i ) is then put back to the simulator, and the software simulation continues. The procedure repeats until all resources of the CUT are tested. Therefore, the key issue for CUT test is how and when port data exchange takes place between the software and hardware parts. 4. Evaluation of the BIST system 4.1. Implementation of the BIST system An in-house BIST system with a PCIE bus as the communication Channel_1 and a bus based on JTAG Standard as Channel_2 has been developed, as shown in Fig. 4. As illustrated in Fig. 4, the FPGA test system is composed of a PC with the relevant software tools, a mother board as the hardware subsystem (F1) and a daughter board as the FPGA-under-test (F2). The hardware subsystem consists of three blocks, PCIE interface, test control circuitry and socket for the FPGA-under-test. The FPGA-under-test is mounted on the socket of daughter board, which is plugged into the mother board. When our proposed BIST system is employed for testing an FPGA consisting of IOBs, CLBs and IRs, test steps are listed as follows: The Configuration Controller in the software part automatically generates configuration files one by one for the IOBs, CLBs and IRs. Next, the configuration files are transmitted to the hardware part to configure the FPGA-under-test. A table of TVs for the CUT is predefined by the software part in the PC. In other words, The TVs are defined for all IOBs, CLBs and IRs and sent to the CUT. Test results will be returned to the software part. The test process will repeat until all IOBs, CLBs and IRs are tested exhaustively. The end time of each test step can be monitored by the Co-test Controller in the software part and consequently a new test can be initiated. After each test has been implemented one by one, the test results will be compared with the expected data in the software part. Finally, a test report will be generated. During these steps, fault sites in the FPGA-under-test are capable of being automatically positioned Algorithms for FPGA fault test and diagnosis We have published several papers about FPGA fault test and diagnosis, covering IOBs, CLBs and IRs, carry-logics, and widedecoders [18 20]. The test of the first three resources will be Fig. 3. Synchronization mechanism for ModelSim simulator and FPGA-under-test.

5 492 A. Ruan et al. / Microelectronics Reliability 53 (2013) Software side Hardware side CUT Channel_1 Channel_2 Fig. 4. Implementation of the proposed BIST system. discussed in the paper while the last two resources tests are ignored since their test approaches are straightforward and detailed information can be found in [13]. These algorithms as well as fault types will be introduced in the section with the proof of their effectiveness provided in Section Fault types The CLB and IOB Faults in this paper are classified into the following categories: Stuck-at fault on Look-up Tables (LUTs). Functional faults on D-FFs in a CLB/IOB, except the clock and reset function. The IR faults in this paper can be categorized into two groups, namely, stuck-at and bridging faults. A stuck-at fault appears in a pass transistor of a switch matrix (SM), while a bridging fault occurs on different wire segments IOB test and diagnosis Each D-FF of N IOBs is configured as a shift register and all D-FFs are connected to form a shift register chain. N denotes the number of IOBs. Since each series FPGA has similar IOB architecture, IOB configurations as well as the algorithm of test and diagnosis are alike. For example, six, five and six configurations are required for IOB test and diagnosis in XC4000, Virtex and Virtex-2 FPGAs, respectively. The IOB fault test and diagnosis flow is outlined in Fig CLB test and diagnosis A CLB in an FPGA consists of two 4-input LUTs and two D-FFs in the case of XC4000 FPGAs, four 4-input LUTs and four D-FFs in the case of Virtex FPGAs, eight 4-input LUTs and eight D-FFs in the case of Virtex-2 and Virtex-4 FPGAs, eight 6-input LUTs and eight D-FFs in the case of Virtex-5, as well as eight 6-input LUTs and 16 D-FFs in the case of Virtex-6 and Virtex-7 FPGAs. As will be shown next, both CLB configurations and associated algorithms of test and diagnosis for these series FPGAs are similar. Thus, the configuration numbers for these series FPGAs are identical. For instance, a configuration for CLBs in the case of XC4000 FPGAs is shown in Fig. 6. As can be seen in Fig. 6, the output of LUT_G i,j in CLB i,j is linked to the input of LUT_G i,j+1 in CLB i,j+1 in the identical row. i and j denote row and column numbers a CLB located. Likewise, the output of LUT_H i,j in CLB i,j is linked to the input of LUT_H i,j+1 in CLB i,j+1 in the identical row. Therefore, each CLB row has two outputs. All D-FF1 in different CLBs are connected as a chain with the output of D-FF1 in the N-th row and N-th column CLB linked to the input of D-FF2 in the identical CLB. Then, all the successive D-FF2s are formed as a chain. This kind of configuration is titled as row-based configuration. Also shown in Fig. 6, an LUT_F, an LUT_G and two D-FFs constitute a CLB. If any one of the four components in the CLB is faulty, then the CLB is faulty. Fig. 5. Pseudo code for IOB fault test and diagnosis.

6 A. Ruan et al. / Microelectronics Reliability 53 (2013) Fig. 6. Row-based configuration for CLBs for XC4000 FPGAs. When the CLBs are tested, two configurations, Exclusive OR (XOR) and Exclusive NOR (XNOR) are required to apply [14]. If either of two D-FFs is faulty, the location of the faulty CLB can be detected by these two configurations. However, the location of the faulty CLB cannot be determined when the two LUTs are fault-free. Another two configurations will be applied. In this situation, D-FFs are not necessary to be configured. The output of LUT_G i,j in CLB i,j is linked to the input of LUT_G i+1,j in CLB i+1,j in the identical column. Likewise, the output of LUT_G i,j in CLB i,j is linked to the input of LUT_G i+1,j in CLB i+1,j in the identical column. Therefore, each CLB column has two outputs. With the row and column coordinates, the position of a faulty CLB can be decided. This kind of configuration is titled as column-based configuration. Pseudo code for CLB test and diagnosis flow is illustrated in Fig. 7. In the case of Virtex-2 FPGA test, for instance, four 4-input LUTs and four D-FFs constitute a CLB. The aforementioned algorithm for CLB test and diagnosis is still applicable. Likewise, the algorithm holds true for other Virtex series FPGA test IR test and diagnosis Since global lines have been employed as clock signal lines for CLB test, it will not be tested in IR test. Hence, local lines, PIPs and pin wires are considered for testing. Each SM consists of many PIPs used to establish connections between the lines. Basically, three distinct test configurations, namely, orthogonal (TC or ), left diagonal (TC ld ), and right diagonal (TC rd ), are needed to test SMs along with local lines [14]. Since a typical FPGA architecture consists of a large amount of repeatable and regular configurable resources, concept of repeatable building block is proposed. A repeatable building block refers to the smallest unit during reconfiguration. A repeatable building block comprises an SM, two LUTs and associated wire segments as illustrated in Fig. 8a c. TR 1 and TR 2 denote test responses from the LUTs. TVs are applied to input terminals (i 1,..., i n, j 1,..., j n ) of two LUTs via the SM, respectively. n denotes the input terminal number of an LUT, for example, 4-input LUTs for XC4000, Virtex, Virtex-2, Virtex-4 FPGAs and 6-input LUTs for Virtex-5, Virtex-6,Virtex-7 FPGAs, respectively. Corresponding responses of the SM are actually input terminals ði 0 1 ;...; i0 n ; j0 1 ;...; j0 nþ of the two LUTs. The algorithm of IR test and diagnosis is based on fault mapping method of mapping the IR faults to the outputs of the two LUTs. As shown in Fig. 8d, the process of test signal propagation can be divided into two steps. Firstly, TVs are delivered through IRs to the input terminals of the LUT as its addresses. Secondly, we can get access to the values of the LUTs in terms of the addresses. Assuming that LUTs are fault-free, the output contains the test responses of IRs. If the IRs are fault-free, then the values received by the LUTs address terminals must be equal to TVs. When there is a fault in IRs, the values must be different from TVs. In this situation, a certain relationship exists between the fault value and the fault type. A fault library which will be presented in Section can be derived. In the fault library, every fault value corresponds with a fault type. A fault-free value, depending on an initial value for an LUT, is also included in

7 494 A. Ruan et al. / Microelectronics Reliability 53 (2013) Fig. 7. Pseudo code for CLB test and diagnosis flow. Fig. 8. A repeatable building block with three basic types of test configuration and fault mapping method. the library. After the SMs are initialized, TVs are applied to i 1,..., i n, j 1,..., j n respectively. Output responses of the two LUTs in repeatable building blocks are TR 1 and TR 2. ATC ld configuration for IR test and diagnosis in an FPGA-undertest is displayed in Fig. 9. The configuration structure is based on repeatable building blocks. As shown in Fig. 9, the configuration is implemented in every other row to avoid fault masking. Consequently, two configurations, TC ld_1 and TC ld_2, are required for the TC ld structure. Altogether, six configurations are needed for IR test and diagnosis. On the other hand, the output of each LUT in each repeatable building block is controlled by an enabling signal En of a tri-state buffer. Put another way, the output of an LUT is independent on other outputs of LUTs. Thus, fault masking will not be introduced. Pseudo code for IR test and diagnosis flow is illustrated in Fig Experimental results and discussion Experimental results Xilinx FPGAs including XC4000 FPGAs, Virtex FPGAs and Virtex- 2 series FPGAs were tested by the proposed non-intrusive BIST system in the experiment and the experimental results are listed in Tables 1 3. We chose an XC4010 in XC4000 FPGAs, an XCV300 in Virtex FPGAs, and an XC2V1000 in Virtex-2 FPGAs for our test experiments. Since IR test and diagnosis is much more complicated, we will demonstrate how IR test results can be obtained for XC4000 FPGAs in terms of the algorithm introduced in Section IOB and CLB test results based on the algorithms discussed in Section for XC4000 FPGAs have been published in [18,19].

8 A. Ruan et al. / Microelectronics Reliability 53 (2013) Fig. 9. TC ld_1 configuration for IR test and diagnosis in an FPGA-under-test. Fig. 10. Pseudo code for IR test and diagnosis flow. Assume that the stuck-at and bridging faults are presented in the FPGA-under-test, we get 41 cases when single or multiple faults occur, as listed below. Stuck-at-1 fault is defined as any one or several inputs of the four-input LUT being stuck-at-1. The cases of stuck-at-1 are = 15.

9 496 A. Ruan et al. / Microelectronics Reliability 53 (2013) Table 1 Experimental results of Xilinx XC4010FPGA. Resources of FPGA CLB IOB IR Configuration numbers 2 or Configuration time 1.5 s 2 or s s 6 Test application time or Table 2 Experimental results of Xilinx XCV300 FPGA. Resources of FPGA CLB IOB IR Configuration numbers 2 or Configuration time 11.5 s 2 or s s 14 Test application time or Table 3 Experimental results of Xilinx XC2V1000 FPGA. Resources of FPGA CLB IOB IR Configuration numbers 2 or Configuration time 25 s 2 or 4 25 s 6 25s 32 Test application time or Stuck-at-0 fault is defined as any one or several inputs of the four-input LUT being stuck-at-0. The cases of stuck-at-0 are = 15. Bridging fault is defined as two or more interconnect metal lines are crossed. There are totally = 11 cases. When two identical initial values were applied to two LUTs and TVs was generated by the TPG as shown in Fig. 11, a library of IR fault types can be derived from fault mapping method discussed in Section Thus, these readable TVs facilitate TV revision in the process of FPGA test. A 0,A 1,A 2 and A 3 denote IRs connected to the inputs of an LUT. Part of the library of IR fault types is shown in Table 4. Due to the limited space, only six cases including a fault-free case are listed while the other 36 cases are ignored here. For example, if TR 1 of an LUT is , a stuck-at-1 fault at A 1 can be detected. Table 4 Library of IR fault types. Faults type TR 1 TR 2 Fault-free A 1 stuck-at A 1,A 4 stuck-at A 2 stuck-at A 2,A 3 stuck-at A 1,A 2 bridging Since every member of each Xilinx series FPGAs shares the same internal architecture with varying numbers of CLB and IOB as discussed in Section 4.2, numbers of test configuration for every member of the series FPGAs are identical. The only difference between different series FPGAs lies in varying configuration numbers with small modification of algorithms for FPGA test and diagnosis. That is why IOB and CLB configuration numbers do not vary as shown in Tables 1 3. On the other hand, IR architecture including PIPs and types of wire segments is more and more complicated in the new generation of FPGAs. Luckily, the concept of repeatable building block and fault mapping method introduced in Section are still applicable for the new generation of FPGA test and diagnosis. When an FPGA is under test, these repeatable building blocks share no other than TVs. Thus, configuration numbers of an FPGA-under-test have nothing to do with the array size of an FPGA. Instead, configuration numbers are dependent on the input terminal numbers of PIPs as well as types of wire segments. For example, the input terminal numbers for a PIP for the case of XC4000, Virtex and Virtex-2 FPGAs are 3, 5, 24, respectively. Then, the minimum configuration numbers for the three types of FPGAs are 3, 5, 24, respectively. In fact, practical configuration numbers will be larger than the numbers considering PIP types. Fig. 11. TVs for IR test and diagnosis generated by the TPG. Fig. 12. Fault coverage evaluation.

10 A. Ruan et al. / Microelectronics Reliability 53 (2013) Table 5 Performance comparisons. Relevance to FPGA array size and type Observability Controllability Configuration numbers [10] 2 N M or 4 N M (CLB) [11] 120 (CLB & IR) [16] [21] 20 (IR) This work Shown in Tables Performance evaluation and comparisons (1) Fault coverage evaluation: The fault coverage evaluation for IOBs, CLBs and IRs are illustrated in Fig. 12a c to verify performance of the proposed BIST system. Take Fig. 12c for example, if only one test configuration is applied, the fault coverage is 0%, 18% and 36% for stuck-at-0 and stuck-at-1 fault, respectively. However, 100% fault coverage can be achieved if all the six test configurations are applied. (2) Test configuration numbers and test time: The algorithms for FPGA test and diagnosis have been extensively studied in Section 4.2. When the proposed BIST system is applied to FPGA test and diagnosis, functional faults in IOBs, stuckat and bridging faults in IRs, as well as stuck-at and functional faults in CLBs can be detected. In paper [11], the embedded BIST approach was employed to test Xilinx XC4000 series FPGAs. In order to achieve 100% fault coverage, apart from two configurations of pre-testing for roving self-testing area (STAR), 120 configurations are required for CLBs and IRs test and diagnosis! It is owing to the requirement of exchanging the TPG, ORA for the CUT that dramatically augments configuration numbers. On the other hand, the embedded BIST approach presented in the paper is not applicable to other Xilinx Virtex series FPGAs test. Actually, only global lines, single-to-single local lines and associated PIPs in XC4000 FPGAs are tested by the method. In contrast, except these two types of lines and associated PIPs, there are single-to-hex and hex-to-hex lines and their associated PIPS in Virtex FPGAs. In paper [10], the proposed embedded BIST approach was utilized to test CLBs of an N M FPGA. N and M denote row and column numbers of the FPGA-under-test. The configuration numbers are 2 N M for BISTer-1case and 4 N M for BISTer-2 case, respectively. Take XC4010 FPGA for example, the configuration numbers are 800 for BISTer-1case and 1600 for BISTer-2 case, respectively. The presented method mainly focused on CLBs test, and is not applicable to IRs test. The configuration numbers are strongly dependent on FPGA array size as well as complexity of TPGs and ORAs. On the other hand, the non-intrusive technique presented in paper [16] did not study how to locate a fault site, which was dependent on some special algorithm. In contrast, only 8 or 10 configurations were otherwise required for CLB and IR test and diagnosis in XC4010 FPGA when our BIST system is adopted. As discussed in Section 4.2.3, 8 configuration numbers are obtained based on two CLB configurations plus six IR configurations on the condition that a CLB fault and its site can be determined by two row-based CLB configurations. Otherwise, another two column-based CLB configurations are applied. Therefore, 10 configurations are required. The test time is defined as the time required to carry out the test to completion, which includes the time required to set up the test configurations plus the time required to apply the TVs. The test times for three FPGAs are listed in Tables 1 3, respectively. The configuration time is relevant to size of configuration bitstream, while the test application time is subject to the length of TVs. The configuration file for XC4010, XCV300 and XC2V1000 is 240 Kbit, 1.75 Mbit and four Mbit, respectively. (3) Comparisons: Comparisons between the proposed BIST system and some previous works are listed in Table 5. None of the previous works can simultaneously provide good observability and controllability, as well as derive configuration numbers independent on type, array size of an FPGAunder-test. Our proposed system along with corresponding algorithms can offer these capabilities. 5. Conclusion This paper has proposed a BIST system with non-intrusive TPG and ORA for FPGA test and diagnosis. The proposed BIST system is generic and can be applied to Xilinx Virtex series FPGAs test, Xilinx Spartan FPGAs test as well as Altera FPGAs test with small modifications. The further investigation will be presented in the future. The proposed BIST system can provide good observability and controllability for an FPGA-under-test. No matter what type, array size of an FPGA-under-test is, the CUT can be tested automatically, and repeatedly. Experimental results also verified that configuration numbers are reduced compared with embedded BIST techniques. References [1] Campregher N, Cheung YK, Vasilko M. Analysis of yield loss due to random photolithographic defects in the interconnect structure of FPGAs. In: ACM international workshop on FPGAs 2005; p [2] Stroud C. A designer s guide to built-in self-test. Kluwer Academic Publisher; [3] Stroud C, Konala S, Chen P, Abramovici M. Built-in self-test of logic of blocks in FPGAs. In: Proceedings of VLSI test symposium; p [4] Stroud C, Wijesuriya S, Hamilton C. Built-in self-test of FPGA interconnect. In: Proceedings of test conference; p [5] Abramovici M, Stroud C, Skaggs B, Emmert J. Improving on-line BIST-based diagnosis for roving STARs. In: Proceedings of on-line testing workshop; p [6] Bradley D, Stroud C. Built-in self-test of configurable logic blocks in virtex-5 FPGAs. In: Proceedings of 41st Southeastern symposium on system theory; p [7] Girard P, Heron O, Pravossoudovitch S, Renovell M. BIST of delay faults in the logic architecture of symmetrical FPGAs. In: Proceedings of the 10th IEEE international on-line testing, symposium; p [8] Wang CC, Liou JJ, Peng YL, Huang CT, Wu CW. A BIST scheme for FPGA interconnect delay faults. In: Proceedings of the 23th IEEE VLSI test, symposium; p [9] Dutt S. Mixed PLB, and interconnect BIST for FPGAs without fault-free assumptions. In: Proceedings of the 24th IEEE VLSI test, symposium; p [10] Dutt S, Verma V, Suthar V. Built-in self-test of FPGAs with provable diagnosabilities and high diagnostic coverage with application to online testing. IEEE Trans Comput-Aided Des Integr Circ Syst 2008: [11] Hsu CL, Chen TH. Built-in self-test design for fault detection and fault diagnosis in SRAM-based FPGA. In: Proceedings of instrumentation and Measurement; p [12] Kumar TN, Chong CW. An automated approach for locating multiple faulty LUTs in an FPGA. Microelectron Reliab 2008;8(11 12): [13] Sun XJ, Xu J, Trouborst P. Testing carry logic modules of SRAM-based FPGAs. In: IEEE international workshop on memory technology, design and Testing; p [14] Renovell M, Figueras J, Zorian Y. Test of RAM-based FPGA: methodology and application to the interconnect. In: 15th IEEE VLSI test, symposium; p [15] Suthar V, Dutt S. Efficient on-line interconnect testing in FPGAs with provable detectability for multiple faults. Des Autom Test Europe 2006:1 6. [16] Gardel A, Bravo I, Lazaro JL, Perez B, Balinas J, Hernandez A. Verification of FPGA internal resources. In: Proceedings of IEEE international intelligent signal processing, symposium; p [17] Grahm PS. Logic hardware debuggers for FPGA-based systems. Ph.D. thesis. Brigham Young University; 2001.

11 498 A. Ruan et al. / Microelectronics Reliability 53 (2013) [18] Liao YB, Li P, Ruan AW, Li W, Li WC. Full coverage manufacturing testing for SRAM-based FPGA. In: Proceedings of the 12th IEEE international symposium on integrated circuits; p [19] Liao YB, Ruan AW, et al. Interconnect resources testing and faults diagnosis in field programmable gate arrays. In: Proceedings of the 10th international conference on electronic measurement & instruments; p [20] Liao YB, Li P, Ruan AW, Li W, Li WC. Test scheme for wide edge decoder in F.P.G.A. Chin J Sci Instrum 2010;31(7): [In Chinese]. [21] Sun XL, Trouborst P. A unified global and local interconnect test scheme for Xilinx XC4000 FPGAs. IEEE Trans Instrum Meas 2004;53(2):

Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks

Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks Charles Stroud, Ping Chen, Srinivasa Konala, Dept. of Electrical Engineering University of Kentucky and Miron Abramovici

More information

Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs

Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs Sudheer Vemula, Student Member, IEEE, and Charles Stroud, Fellow, IEEE Abstract The first Built-In Self-Test (BIST) approach for the programmable

More information

Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study

Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study Soft-Core Embedded Processor-Based Built-In Self- Test of FPGAs: A Case Study Bradley F. Dutton, Graduate Student Member, IEEE, and Charles E. Stroud, Fellow, IEEE Dept. of Electrical and Computer Engineering

More information

Interconnect Testing in Cluster-Based FPGA Architectures

Interconnect Testing in Cluster-Based FPGA Architectures Interconnect Testing in Cluster-Based FPGA Architectures Ian G. Harris Department of Electrical and Computer Engineering University of Massachusetts Amherst, MA 01003 harris@ecs.umass.edu Russell Tessier

More information

Outline of Presentation

Outline of Presentation Built-In Self-Test for Programmable I/O Buffers in FPGAs and SoCs Sudheer Vemula and Charles Stroud Electrical and Computer Engineering Auburn University presented at 2006 IEEE Southeastern Symp. On System

More information

Testing Configurable LUT-Based FPGAs

Testing Configurable LUT-Based FPGAs JOURNAL OF INFORMATION SCIENCE AND ENGINEERING FPGA TESTING16, 733-750 (2000) 733 Testing Configurable LUT-Based FPGAs Department of Electronic Engineering Fu Jen Catholic University Hsinchuang, Taipei,

More information

Autonomous Built-in Self-Test Methods for SRAM Based FPGAs

Autonomous Built-in Self-Test Methods for SRAM Based FPGAs Autonomous Built-in Self-Test Methods for SRAM Based FPGAs Steven Kopman, Student Department of Electrical and Computer Engineering University of Central Florida Orlando, FL 32816-2450 skopman@knights.ucf.edu

More information

A Universal Test Pattern Generator for DDR SDRAM *

A Universal Test Pattern Generator for DDR SDRAM * A Universal Test Pattern Generator for DDR SDRAM * Wei-Lun Wang ( ) Department of Electronic Engineering Cheng Shiu Institute of Technology Kaohsiung, Taiwan, R.O.C. wlwang@cc.csit.edu.tw used to detect

More information

A Case Study. Jonathan Harris, and Jared Phillips Dept. of Electrical and Computer Engineering Auburn University

A Case Study. Jonathan Harris, and Jared Phillips Dept. of Electrical and Computer Engineering Auburn University Built-In Self-Test for System-on on-chip: A Case Study Charles Stroud, Srinivas Garimella,, John Sunwoo, Jonathan Harris, and Jared Phillips Dept. of Electrical and Computer Engineering Auburn University

More information

Testing FPGA Devices Using JBits

Testing FPGA Devices Using JBits Testing FPGA Devices Using JBits Prasanna Sundararajan, Scott McMillan and Steven A. Guccione Xilinx Inc. 2100 Logic Drive San Jose, CA 95124 (USA) {Prasanna.Sundararajan, Scott.McMillan, Steven.Guccione}@xilinx.com

More information

INTRODUCTION TO FPGA ARCHITECTURE

INTRODUCTION TO FPGA ARCHITECTURE 3/3/25 INTRODUCTION TO FPGA ARCHITECTURE DIGITAL LOGIC DESIGN (BASIC TECHNIQUES) a b a y 2input Black Box y b Functional Schematic a b y a b y a b y 2 Truth Table (AND) Truth Table (OR) Truth Table (XOR)

More information

Leso Martin, Musil Tomáš

Leso Martin, Musil Tomáš SAFETY CORE APPROACH FOR THE SYSTEM WITH HIGH DEMANDS FOR A SAFETY AND RELIABILITY DESIGN IN A PARTIALLY DYNAMICALLY RECON- FIGURABLE FIELD-PROGRAMMABLE GATE ARRAY (FPGA) Leso Martin, Musil Tomáš Abstract:

More information

BIST-Based Test and Diagnosis of FPGA Logic Blocks

BIST-Based Test and Diagnosis of FPGA Logic Blocks IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 9, NO. 1, FEBRUARY 2001 159 BIST-Based Test and Diagnosis of FPGA Logic Blocks Miron Abramovici, Fellow, IEEE, and Charles E. Stroud,

More information

Field Programmable Gate Array

Field Programmable Gate Array Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational

More information

Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip

Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip Built-In Self-Test for Regular Structure Embedded Cores in System-on-Chip Srinivas Murthy Garimella Master s Thesis Defense Thesis Advisor: Dr. Charles E. Stroud Committee Members: Dr. Victor P. Nelson

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information

Fault Grading FPGA Interconnect Test Configurations

Fault Grading FPGA Interconnect Test Configurations * Fault Grading FPGA Interconnect Test Configurations Mehdi Baradaran Tahoori Subhasish Mitra* Shahin Toutounchi Edward J. McCluskey Center for Reliable Computing Stanford University http://crc.stanford.edu

More information

THE EXHAUSTIVE TESTING OF FPGA LOGIC CELLS. E. BAREISA KTU, Studentu , Kaunas, Lithuania

THE EXHAUSTIVE TESTING OF FPGA LOGIC CELLS. E. BAREISA KTU, Studentu , Kaunas, Lithuania THE EXHAUSTIVE TESTING OF FPGA LOGIC CELLS E. BAREISA KTU, Studentu 50-406, Kaunas, Lithuania eduardas.bareisa@ktu.lt V. JUSAS KTU, Studentu 50-404, Kaunas, Lithuania vacius.jusas@ktu.lt K. MOTIEJUNAS

More information

Circuit Partitioning for Application-Dependent FPGA Testing

Circuit Partitioning for Application-Dependent FPGA Testing Circuit Partitioning for Application-Dependent FPGA Testing by Rui Zhen Feng B.Eng, Hefei University of Technology, 1996 A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of

More information

Atmel AT94K FPSLIC Architecture Field Programmable Gate Array

Atmel AT94K FPSLIC Architecture Field Programmable Gate Array Embedded Processor Based Built-In Self-Test and Diagnosis of FPGA Core in FPSLIC John Sunwoo (Logic BIST) Srinivas Garimella (RAM BIST) Sudheer Vemula (I/O Cell BIST) Chuck Stroud (Routing BIST) Jonathan

More information

AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM

AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM AUTONOMOUS RECONFIGURATION OF IP CORE UNITS USING BLRB ALGORITHM B.HARIKRISHNA 1, DR.S.RAVI 2 1 Sathyabama Univeristy, Chennai, India 2 Department of Electronics Engineering, Dr. M. G. R. Univeristy, Chennai,

More information

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history

More information

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs? EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic

More information

A VLSI Implementation of High Speed FSM-based programmable Memory BIST Controller

A VLSI Implementation of High Speed FSM-based programmable Memory BIST Controller Quest Journals Journal of Electronics and Communication Engineering Research ISSN:2321-5941 Volume1 ~ Issue 2 (2013) pp: 01-06 www.questjournals.org Research Paper A VLSI Implementation of High Speed FSM-based

More information

BUILT-IN SELF-TEST CONFIGURATIONS FOR FIELD PROGRAMMABLE GATE ARRAY CORES IN SYSTEMS-ON-CHIP

BUILT-IN SELF-TEST CONFIGURATIONS FOR FIELD PROGRAMMABLE GATE ARRAY CORES IN SYSTEMS-ON-CHIP BUILT-IN SELF-TEST CONFIGURATIONS FOR FIELD PROGRAMMABLE GATE ARRAY CORES IN SYSTEMS-ON-CHIP Except where reference is made to the work of others, the work described in this thesis is my own or was done

More information

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective Outline Field Programmable Gate Arrays Historical perspective Programming Technologies Architectures PALs, PLDs,, and CPLDs FPGAs Programmable logic Interconnect network I/O buffers Specialized cores Programming

More information

BIST-Based Test and Diagnosis of FPGA Logic Blocks 1

BIST-Based Test and Diagnosis of FPGA Logic Blocks 1 BIST-Based Test and Diagnosis of FPGA Logic Blocks 1 Miron Abramovici Bell Labs - Lucent Technologies Murray Hill, NJ Charles Stroud 2 Dept. of Electrical and Computer Engineering University of North Carolina

More information

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

International Journal of Digital Application & Contemporary research Website:   (Volume 1, Issue 7, February 2013) Programmable FSM based MBIST Architecture Sonal Sharma sonal.sharma30@gmail.com Vishal Moyal vishalmoyal@gmail.com Abstract - SOCs comprise of wide range of memory modules so it is not possible to test

More information

System Verification of Hardware Optimization Based on Edge Detection

System Verification of Hardware Optimization Based on Edge Detection Circuits and Systems, 2013, 4, 293-298 http://dx.doi.org/10.4236/cs.2013.43040 Published Online July 2013 (http://www.scirp.org/journal/cs) System Verification of Hardware Optimization Based on Edge Detection

More information

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:

More information

How Much Logic Should Go in an FPGA Logic Block?

How Much Logic Should Go in an FPGA Logic Block? How Much Logic Should Go in an FPGA Logic Block? Vaughn Betz and Jonathan Rose Department of Electrical and Computer Engineering, University of Toronto Toronto, Ontario, Canada M5S 3G4 {vaughn, jayar}@eecgutorontoca

More information

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes. Topics! SRAM-based FPGA fabrics:! Xilinx.! Altera. SRAM-based FPGAs! Program logic functions, using SRAM.! Advantages:! Re-programmable;! dynamically reconfigurable;! uses standard processes.! isadvantages:!

More information

Hardware Description of Multi-Directional Fast Sobel Edge Detection Processor by VHDL for Implementing on FPGA

Hardware Description of Multi-Directional Fast Sobel Edge Detection Processor by VHDL for Implementing on FPGA Hardware Description of Multi-Directional Fast Sobel Edge Detection Processor by VHDL for Implementing on FPGA Arash Nosrat Faculty of Engineering Shahid Chamran University Ahvaz, Iran Yousef S. Kavian

More information

FPGA: What? Why? Marco D. Santambrogio

FPGA: What? Why? Marco D. Santambrogio FPGA: What? Why? Marco D. Santambrogio marco.santambrogio@polimi.it 2 Reconfigurable Hardware Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much

More information

On-line Testing of FPGA Logic Blocks Using Active Replication

On-line Testing of FPGA Logic Blocks Using Active Replication On-line Testing of FPGA Logic Blocks Using Active Replication Manuel G. Gericota 1, Gustavo R. Alves 1, Miguel L. Silva 2, José M. Ferreira 2,3 1 Department of Electrical Engineering DEE/ISEP Rua Dr. António

More information

Built-In Self-Test for System-on-Chip: A Case Study

Built-In Self-Test for System-on-Chip: A Case Study Built-In Self-Test for System-on-Chip: A Case Study Charles Stroud, John Sunwoo, Srinivas Garimella, and Jonathan Harris Dept. of Electrical and Computer Engineering Auburn University, Alabama USA ABSTRACT

More information

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko 136 VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko Abstract: Usage of modeling for construction of laser installations today is actual in connection

More information

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS) INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS) Bill Jason P. Tomas Dept. of Electrical and Computer Engineering University of Nevada Las Vegas FIELD PROGRAMMABLE ARRAYS Dominant digital design

More information

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I Overview Anti-fuse and EEPROM-based devices Contemporary SRAM devices - Wiring - Embedded New trends - Single-driver wiring -

More information

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN Xiaoying Li 1 Fuming Sun 2 Enhua Wu 1, 3 1 University of Macau, Macao, China 2 University of Science and Technology Beijing, Beijing, China

More information

Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xilinx/Modelsim Tool

Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xilinx/Modelsim Tool Performance Analysis, Designing and Testing 512 Bit Sram emory Chip Using Xilinx/odelsim Tool onika Solanki* Department of Electronics & Communication Engineering, B Engineering College, Jodhpur, Rajasthan

More information

Scalable Controller Based PMBIST Design For Memory Testability M. Kiran Kumar, G. Sai Thirumal, B. Nagaveni M.Tech (VLSI DESIGN)

Scalable Controller Based PMBIST Design For Memory Testability M. Kiran Kumar, G. Sai Thirumal, B. Nagaveni M.Tech (VLSI DESIGN) Scalable Controller Based PMBIST Design For Memory Testability M. Kiran Kumar, G. Sai Thirumal, B. Nagaveni M.Tech (VLSI DESIGN) Abstract With increasing design complexity in modern SOC design, many memory

More information

Implementation of Optimized ALU for Digital System Applications using Partial Reconfiguration

Implementation of Optimized ALU for Digital System Applications using Partial Reconfiguration 123 Implementation of Optimized ALU for Digital System Applications using Partial Reconfiguration NAVEEN K H 1, Dr. JAMUNA S 2, BASAVARAJ H 3 1 (PG Scholar, Dept. of Electronics and Communication, Dayananda

More information

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs Vol. 3, Issue. 5, Sep - Oct. 2013 pp-2894-2900 ISSN: 2249-6645 High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs M. Reddy Sekhar Reddy, R.Sudheer Babu

More information

EMULATED FAULT INJECTION FOR BUILT-IN SELF-TEST

EMULATED FAULT INJECTION FOR BUILT-IN SELF-TEST EMULATED FAULT INJECTION FOR BUILT-IN SELF-TEST OF FIELD PROGRAMMABLE GATE ARRAYS USING BOUNDARY SCAN Except where reference is made to the work of others, the work described in this undergraduate thesis

More information

Block Sparse and Addressing for Memory BIST Application

Block Sparse and Addressing for Memory BIST Application Block Sparse and Addressing for Memory BIST Application Mohammed Altaf Ahmed 1, D Elizabath Rani 2 and Syed Abdul Sattar 3 1 Dept. of Electronics & Communication Engineering, GITAM Institute of Technology,

More information

What is Xilinx Design Language?

What is Xilinx Design Language? Bill Jason P. Tomas University of Nevada Las Vegas Dept. of Electrical and Computer Engineering What is Xilinx Design Language? XDL is a human readable ASCII format compatible with the more widely used

More information

Scan-Based BIST Diagnosis Using an Embedded Processor

Scan-Based BIST Diagnosis Using an Embedded Processor Scan-Based BIST Diagnosis Using an Embedded Processor Kedarnath J. Balakrishnan and Nur A. Touba Computer Engineering Research Center Department of Electrical and Computer Engineering University of Texas

More information

ReSpace/MAPLD Conference Albuquerque, NM, August A Fault-Handling Methodology by Promoting Hardware Configurations via PageRank

ReSpace/MAPLD Conference Albuquerque, NM, August A Fault-Handling Methodology by Promoting Hardware Configurations via PageRank ReSpace/MAPLD Conference Albuquerque, NM, August 2011. A Fault-Handling Methodology by Promoting Hardware Configurations via PageRank Naveed Imran and Ronald F. DeMara Department of Electrical Engineering

More information

Pak. J. Biotechnol. Vol. 14 (Special Issue II) Pp (2017) Keerthiga D.S. and S. Bhavani

Pak. J. Biotechnol. Vol. 14 (Special Issue II) Pp (2017) Keerthiga D.S. and S. Bhavani DESIGN AND TESTABILITY OF Z-TERNARY CONTENT ADDRESSABLE MEMORY LOGIC Keerthiga Devi S. 1, Bhavani, S. 2 Department of ECE, FOE-CB, Karpagam Academy of Higher Education (Deemed to be University), Coimbatore,

More information

FPGA Based Digital Design Using Verilog HDL

FPGA Based Digital Design Using Verilog HDL FPGA Based Digital Design Using Course Designed by: IRFAN FAISAL MIR ( Verilog / FPGA Designer ) irfanfaisalmir@yahoo.com * Organized by Electronics Division Integrated Circuits Uses for digital IC technology

More information

Multiple Event Upsets Aware FPGAs Using Protected Schemes

Multiple Event Upsets Aware FPGAs Using Protected Schemes Multiple Event Upsets Aware FPGAs Using Protected Schemes Costas Argyrides, Dhiraj K. Pradhan University of Bristol, Department of Computer Science Merchant Venturers Building, Woodland Road, Bristol,

More information

Memory and Programmable Logic

Memory and Programmable Logic Memory and Programmable Logic Memory units allow us to store and/or retrieve information Essentially look-up tables Good for storing data, not for function implementation Programmable logic device (PLD),

More information

COEN-4730 Computer Architecture Lecture 12. Testing and Design for Testability (focus: processors)

COEN-4730 Computer Architecture Lecture 12. Testing and Design for Testability (focus: processors) 1 COEN-4730 Computer Architecture Lecture 12 Testing and Design for Testability (focus: processors) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University 1 Outline Testing

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

HCTL Open Int. J. of Technology Innovations and Research HCTL Open IJTIR, Volume 4, July 2013 e-issn: ISBN (Print):

HCTL Open Int. J. of Technology Innovations and Research HCTL Open IJTIR, Volume 4, July 2013 e-issn: ISBN (Print): Design, Implementation and Functional Verification of Serial Communication Protocols (SPI and I2C) on FPGAs Amit Kumar Shrivastava and Himanshu Joshi amit0404@gmail.com Abstract Today, at the low end of

More information

Design-Specific Path Delay Testing in Lookup Table-based FPGAs

Design-Specific Path Delay Testing in Lookup Table-based FPGAs IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. XX, NO. Y, MONTH 2005 1 Design-Specific Path Delay Testing in Lookup Table-based FPGAs Premachandran R. Menon, Weifeng

More information

Modeling and Simulation of Microcode-based Built-In Self Test for Multi-Operation Memory Test Algorithms

Modeling and Simulation of Microcode-based Built-In Self Test for Multi-Operation Memory Test Algorithms IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 3,. 2, May 2010 36 Modeling and Simulation of Microcode-based Built-In Self Test for Multi-Operation Memory Test Algorithms Dr. R.K.

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

Fast SEU Detection and Correction in LUT Configuration Bits of SRAM-based FPGAs

Fast SEU Detection and Correction in LUT Configuration Bits of SRAM-based FPGAs Fast SEU Detection and Correction in LUT Configuration Bits of SRAM-based FPGAs Hamid R. Zarandi,2, Seyed Ghassem Miremadi, Costas Argyrides 2, Dhiraj K. Pradhan 2 Department of Computer Engineering, Sharif

More information

FPGA Implementation of ALU Based Address Generation for Memory

FPGA Implementation of ALU Based Address Generation for Memory International Journal of Emerging Engineering Research and Technology Volume 2, Issue 8, November 2014, PP 76-83 ISSN 2349-4395 (Print) & ISSN 2349-4409 (Online) FPGA Implementation of ALU Based Address

More information

A Parametric Design of a Built-in Self-Test FIFO Embedded Memory

A Parametric Design of a Built-in Self-Test FIFO Embedded Memory A Parametric Design of a Built-in Self-Test FIFO Embedded Memory S. Barbagallo, M. Lobetti Bodoni, D. Medina G. De Blasio, M. Ferloni, F.Fummi, D. Sciuto DSRC Dipartimento di Elettronica e Informazione

More information

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test 1 Basic of Test and Role of HDLs... 1.1 Design and Test... 1.1.1 RTL Design Process... 1.1.2 Postmanufacturing Test... 1.2 Test Concerns... 1.2.1 Test Methods... 1.2.2 Testability Methods... 1.2.3 Testing

More information

BIST is the technique of designing additional hardware and software. features into integrated circuits to allow them to perform self testing, i.e.

BIST is the technique of designing additional hardware and software. features into integrated circuits to allow them to perform self testing, i.e. CHAPTER 6 FINITE STATE MACHINE BASED BUILT IN SELF TEST AND DIAGNOSIS 5.1 Introduction BIST is the technique of designing additional hardware and software features into integrated circuits to allow them

More information

A Model for Experiment Setups on FPGA Development Boards

A Model for Experiment Setups on FPGA Development Boards Bachelor Informatica Informatica Universiteit van Amsterdam A Model for Experiment Setups on FPGA Development Boards Matthijs Bos 2016-08-17 Supervisors: A. van Inge & T. Walstra, University of Amsterdam

More information

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices 3 Digital Systems Implementation Programmable Logic Devices Basic FPGA Architectures Why Programmable Logic Devices (PLDs)? Low cost, low risk way of implementing digital circuits as application specific

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Outline of Presentation Field Programmable Gate Arrays (FPGAs(

Outline of Presentation Field Programmable Gate Arrays (FPGAs( FPGA Architectures and Operation for Tolerating SEUs Chuck Stroud Electrical and Computer Engineering Auburn University Outline of Presentation Field Programmable Gate Arrays (FPGAs( FPGAs) How Programmable

More information

Field Programmable Gate Array (FPGA)

Field Programmable Gate Array (FPGA) Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems

More information

Design and Implementation of 3-D DWT for Video Processing Applications

Design and Implementation of 3-D DWT for Video Processing Applications Design and Implementation of 3-D DWT for Video Processing Applications P. Mohaniah 1, P. Sathyanarayana 2, A. S. Ram Kumar Reddy 3 & A. Vijayalakshmi 4 1 E.C.E, N.B.K.R.IST, Vidyanagar, 2 E.C.E, S.V University

More information

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline CPE/EE 422/522 Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices Dr. Rhonda Kay Gaede UAH Outline Introduction Field-Programmable Gate Arrays Virtex Virtex-E, Virtex-II, and Virtex-II

More information

TLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4

TLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4 TLL5000 Electronic System Design Base Module Getting Started Guide, Ver 3.4 COPYRIGHT NOTICE The Learning Labs, Inc. ( TLL ) All rights reserved, 2008 Reproduction in any form without permission is prohibited.

More information

Lab 6 : Introduction to Verilog

Lab 6 : Introduction to Verilog Lab 6 : Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The main objective of

More information

Built-In Self-Test of Programmable Input/Output Tiles in Virtex-5 FPGAs

Built-In Self-Test of Programmable Input/Output Tiles in Virtex-5 FPGAs Built-In Self-Test of Programmable Input/Output Tiles in Virtex-5 FPGAs Bradley F. Dutton and Charles E. Stroud Dept. of Electrical and Computer Engineering Auburn University Auburn, Alabama 36849 duttobf@auburn.edu

More information

On-Chip Design Verification with Xilinx FPGAs

On-Chip Design Verification with Xilinx FPGAs On-Chip Design Verification with Xilinx FPGAs Application Note 1456 Xilinx Virtex-II Pro devices have redefined FPGAs. The Virtex-II Pro brings with it not only a denser and faster FPGA, but an IBM PPC

More information

Transparent Structural Online Test for Reconfigurable Systems

Transparent Structural Online Test for Reconfigurable Systems Transparent Structural Online Test for Reconfigurable Systems Mohamed S. Abdelfattah, Lars Bauer, Claus Braun, Michael E. Imhof, Michael A. Kochte Hongyan Zhang, Jörg Henkel and Hans-Joachim Wunderlich

More information

Design & Analysis of 16 bit RISC Processor Using low Power Pipelining

Design & Analysis of 16 bit RISC Processor Using low Power Pipelining International OPEN ACCESS Journal ISSN: 2249-6645 Of Modern Engineering Research (IJMER) Design & Analysis of 16 bit RISC Processor Using low Power Pipelining Yedla Venkanna 148R1D5710 Branch: VLSI ABSTRACT:-

More information

Analysis and Implementation of Built-In Self-Test for Block Random Access Memories in Virtex-5 Field Programmable Gate Arrays. Justin Lewis Dailey

Analysis and Implementation of Built-In Self-Test for Block Random Access Memories in Virtex-5 Field Programmable Gate Arrays. Justin Lewis Dailey Analysis and Implementation of Built-In Self-Test for Block Random Access Memories in Virtex-5 Field Programmable Gate Arrays by Justin Lewis Dailey A thesis submitted to the Graduate Faculty of Auburn

More information

Chapter 5: ASICs Vs. PLDs

Chapter 5: ASICs Vs. PLDs Chapter 5: ASICs Vs. PLDs 5.1 Introduction A general definition of the term Application Specific Integrated Circuit (ASIC) is virtually every type of chip that is designed to perform a dedicated task.

More information

JTAG TAP CONTROLLER PROGRAMMING USING FPGA BOARD

JTAG TAP CONTROLLER PROGRAMMING USING FPGA BOARD JTAG TAP CONTROLLER PROGRAMMING USING FPGA BOARD 1 MOHAMED JEBRAN.P, 2 SHIREEN FATHIMA, 3 JYOTHI M 1,2 Assistant Professor, Department of ECE, HKBKCE, Bangalore-45. 3 Software Engineer, Imspired solutions,

More information

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Md. Abdul Latif Sarker, Moon Ho Lee Division of Electronics & Information Engineering Chonbuk National University 664-14 1GA Dekjin-Dong

More information

DESIGN AND IMPLEMENTATION OF SDR SDRAM CONTROLLER IN VHDL. Shruti Hathwalia* 1, Meenakshi Yadav 2

DESIGN AND IMPLEMENTATION OF SDR SDRAM CONTROLLER IN VHDL. Shruti Hathwalia* 1, Meenakshi Yadav 2 ISSN 2277-2685 IJESR/November 2014/ Vol-4/Issue-11/799-807 Shruti Hathwalia et al./ International Journal of Engineering & Science Research DESIGN AND IMPLEMENTATION OF SDR SDRAM CONTROLLER IN VHDL ABSTRACT

More information

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology (Revisited) Design Methodology: Big Picture Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology

More information

Digital Design Methodology

Digital Design Methodology Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification

More information

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs PLAs & PALs Programmable Logic Devices (PLDs) PLAs and PALs PLAs&PALs By the late 1970s, standard logic devices were all the rage, and printed circuit boards were loaded with them. To offer the ultimate

More information

VLSI ARCHITECTURE FOR NANO WIRE BASED ADVANCED ENCRYPTION STANDARD (AES) WITH THE EFFICIENT MULTIPLICATIVE INVERSE UNIT

VLSI ARCHITECTURE FOR NANO WIRE BASED ADVANCED ENCRYPTION STANDARD (AES) WITH THE EFFICIENT MULTIPLICATIVE INVERSE UNIT VLSI ARCHITECTURE FOR NANO WIRE BASED ADVANCED ENCRYPTION STANDARD (AES) WITH THE EFFICIENT MULTIPLICATIVE INVERSE UNIT K.Sandyarani 1 and P. Nirmal Kumar 2 1 Research Scholar, Department of ECE, Sathyabama

More information

Digital Systems Testing

Digital Systems Testing Digital Systems Testing Verilog HDL for Design and Test Moslem Amiri, Václav Přenosil Embedded Systems Laboratory Faculty of Informatics, Masaryk University Brno, Czech Republic amiri@mail.muni.cz prenosil@fi.muni.cz

More information

Implementation of Field Programmable Gate Array (FPGA) for decision making in portable automatic testing systems for IC s library & digital circuits

Implementation of Field Programmable Gate Array (FPGA) for decision making in portable automatic testing systems for IC s library & digital circuits Implementation of Field Programmable Gate Array (FPGA) for decision making in portable automatic testing systems for IC s library & digital circuits M. S. Zaghloul 1, M. Saleh 2 1,2 Arab Academy for Science,

More information

AES Core Specification. Author: Homer Hsing

AES Core Specification. Author: Homer Hsing AES Core Specification Author: Homer Hsing homer.hsing@gmail.com Rev. 0.1.1 October 30, 2012 This page has been intentionally left blank. www.opencores.org Rev 0.1.1 ii Revision History Rev. Date Author

More information

TLL5000 Electronic System Design Base Module

TLL5000 Electronic System Design Base Module TLL5000 Electronic System Design Base Module The Learning Labs, Inc. Copyright 2007 Manual Revision 2007.12.28 1 Copyright 2007 The Learning Labs, Inc. Copyright Notice The Learning Labs, Inc. ( TLL )

More information

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single

More information

Memory and Programmable Logic

Memory and Programmable Logic Digital Circuit Design and Language Memory and Programmable Logic Chang, Ik Joon Kyunghee University Memory Classification based on functionality ROM : Read-Only Memory RWM : Read-Write Memory RWM NVRWM

More information

2016 Maxwell Scientific Publication Corp. Submitted: August 21, 2015 Accepted: September 11, 2015 Published: January 05, 2016

2016 Maxwell Scientific Publication Corp. Submitted: August 21, 2015 Accepted: September 11, 2015 Published: January 05, 2016 Research Journal of Applied Sciences, Engineering and Technology 12(1): 52-62, 2016 DOI:10.19026/rjaset.12.2303 ISSN: 2040-7459; e-issn: 2040-7467 2016 Maxwell Scientific Publication Corp. Submitted: August

More information

Online Testing of Word-oriented RAMs by an Accumulator-based Compaction Scheme in Symmetric Transparent Built-In Self Test (BIST)

Online Testing of Word-oriented RAMs by an Accumulator-based Compaction Scheme in Symmetric Transparent Built-In Self Test (BIST) Online Testing of Word-oriented RAMs by an Accumulator-based Compaction Scheme in Symmetric Transparent Built-In Self Test (BIST) Sharvani Yedulapuram #1, Chakradhar Adupa *2 # Electronics and Communication

More information

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction

More information

An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs

An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs Lee W. Lerner and Charles E. Stroud Dept. of Electrical and Computer Engineering Auburn University Auburn, AL, USA Abstract We present

More information

Efficient Built In Self Repair Strategy for Embedded SRAM with selectable redundancy

Efficient Built In Self Repair Strategy for Embedded SRAM with selectable redundancy Efficient Built In Self Repair Strategy for Embedded SRAM with selectable redundancy *GUDURU MALLIKARJUNA **Dr. P. V.N.REDDY * (ECE, GPCET, Kurnool. E-Mailid:mallikarjuna3806@gmail.com) ** (Professor,

More information

Performance Analysis and Designing 16 Bit Sram Memory Chip Using XILINX Tool

Performance Analysis and Designing 16 Bit Sram Memory Chip Using XILINX Tool Performance Analysis and Designing 16 Bit Sram Memory Chip Using XILINX Tool Monika Solanki* Department of Electronics & Communication Engineering, MBM Engineering College, Jodhpur, Rajasthan Review Article

More information

DESIGN STRATEGIES & TOOLS UTILIZED

DESIGN STRATEGIES & TOOLS UTILIZED CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The

More information

At-Speed On-Chip Diagnosis of Board-Level Interconnect Faults

At-Speed On-Chip Diagnosis of Board-Level Interconnect Faults At-Speed On-Chip Diagnosis of Board-Level Interconnect Faults Artur Jutman Tallinn University of Technology artur@pld.ttu.ee Abstract This article describes a novel approach to fault diagnosis suitable

More information