Concurrent replication of active logic blocks: a core solution for online testing and logic space defragmentation in reconfigurable systems

Partial and dynamically reconfigurable SRAM-based FPGAs (Field Programmable Gate Arrays) enable the implementation of reconfigurable systems hosting several applications simultaneously, which share the available resources according to the functional requirements that are present at any given moment. Time and space sharing strategies enabled the concept of virtual hardware, supporting the concurrent implementation of applications which would otherwise require far more complex resources. However, the performance of these applications (e.g. execution speed and reliability, activation delay) is directly influenced by the efficiency of the management strategies that allocate the logic space to the various functions that are waiting to be activated (each function requiring a specific amount of logic resources). Because the activation requests are in most cases not predictable, all resource allocation decisions have to be made online. The consequences of such working contexts are twofold: All FPGA resources must be tested regularly, to exclude malfunctioning due to the allocation of faulty elements. Since the process of launching / halting active functions takes place asynchronously at any given moment, an online concurrent test scheme is the only way of ensuring reliable system operation and predictable fault detection latency; As the resources are allocated to functions and later released, many small “islands” of free resources are created. If these areas become too small, they will be left unused due to routing restrictions. The defragmentation of the FPGA logic space must therefore be carried out regularly, to avoid the wasting of logic resources. This paper presents a non-intrusive solution for the concurrent replication of active logic blocks (i.e. logic blocks that are being used to implement part of an active function), transferring their functionality to fault-free resources that are available in the FPGA logic space. This replication scheme is then used as the core of an online concurrent test strategy that scans the complete FPGA, reusing the available 1149.1 test infrastructure to carry out a structural test of each logic block that has just been released. The overhead of the proposed solution, in terms of the number of configurable logic resources required for its implementation, as well as its performance (e.g. the resulting fault detection latency), are quantified. Further to the test aspects, an online concurrent defragmentation strategy based on the same replication scheme is also proposed. A rearrangement of the available logic space is carried out by selectively releasing active logic blocks, with the objective of enforcing the adjacency of those blocks that share the implementation of a common function, and the creation of wider pools of logic resources that may be used to implement new functions.

[1]  Rodham E. Tulloss,et al.  The Test Access Port and Boundary Scan Architecture , 1990 .

[2]  Hossam ElGindy,et al.  Dynamic scheduling of tasks on partially reconfigurable FPGAs , 2000 .

[3]  Milan Vasilko,et al.  DYNASTY: A Temporal Floorplanning Based CAD Framework for Dynamically Reconfigurable Logic Systems , 1999, FPL.

[4]  Fadi J. Kurdahi,et al.  A complete data scheduler for multi-context reconfigurable architectures , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[5]  Hideharu Amano,et al.  WASMII: a data driven computer on a virtual hardware , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[6]  Yervant Zorian,et al.  Testing the Interconnect of RAM-Based FPGAs , 1998, IEEE Des. Test Comput..

[7]  Jürgen Teich,et al.  Compile-time Optimization of Dynamic Hardware Reconfigurations , 1999, PDPTA.

[8]  Fabrizio Lombardi,et al.  Testing configurable LUT-based FPGA's , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[9]  Miodrag Potkonjak,et al.  On-line fault detection for bus-based field programmable gate arrays , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[10]  Gustavo Ribeiro Alves,et al.  Run-time management of logic resources on reconfigurable systems , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[11]  Edward J. McCluskey,et al.  A memory coherence technique for online transient error recovery of FPGA configurations , 2001, FPGA '01.

[12]  Yervant Zorian,et al.  RAM-based FPGAs: a test approach for the configurable logic , 1998, Proceedings Design, Automation and Test in Europe.

[13]  Miodrag Potkonjak,et al.  Low overhead fault-tolerant FPGA systems , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[14]  Parag K. Lala,et al.  On-line testable logic design for FPGA implementation , 1997, Proceedings International Test Conference 1997.

[15]  Ping Chen,et al.  Built-in self-test of logic blocks in FPGAs (Finally, a free lunch: BIST without overhead!) , 1996, Proceedings of 14th VLSI Test Symposium.

[16]  Horácio C. Neto,et al.  An Enhanced Static-List Scheduling Algorithm for Temporal Partitioning onto RPUs , 1999, VLSI.

[17]  Shantanu Dutt,et al.  Methodologies for Tolerating Cell and Interconnect Faults in FPGAs , 1998, IEEE Trans. Computers.

[18]  Charles E. Stroud,et al.  BIST-based diagnostics of FPGA logic blocks , 1997, Proceedings International Test Conference 1997.

[19]  Fabrizio Lombardi,et al.  An Approach for Detecting Multiple Faulty FPGA Logic Blocks , 2000, IEEE Trans. Computers.

[20]  Charles E. Stroud,et al.  Built-in self-test of FPGA interconnect , 1998, Proceedings International Test Conference 1998 (IEEE Cat. No.98CH36270).

[21]  H. Ito,et al.  Design of an automatic testing for FPGAs , 1999, European Test Workshop 1999 (Cat. No.PR00390).

[22]  Román Hermida,et al.  A formal approach to context scheduling for multicontext reconfigurable architectures , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[23]  Hideo Fujiwara,et al.  Universal Fault Diagnosis for Lookup Table FPGAs , 1998, IEEE Des. Test Comput..

[24]  Gustavo Ribeiro Alves,et al.  On-line Defragmentation for Run-Time Partially Reconfigurable FPGAs , 2002, FPL.

[25]  Delon Levi,et al.  JBits: Java based interface for reconfigurable computing , 1999 .

[26]  Gustavo Ribeiro Alves,et al.  Active replication: towards a truly SRAM-based FPGA on-line concurrent testing , 2002, Proceedings of the Eighth IEEE International On-Line Testing Workshop (IOLTW 2002).

[27]  Manuel G. Gericota,et al.  Programmable Logic Devices: A Test Approach for the Input/Output Blocks and Pad-to-Pin Interconnections , 2003 .