Reconfigurable Computing: A Survey of Systems and Software

Reconfigurable Computing: A Survey of Systems and Software

June 2002 | KATHERINE COMPTON AND SCOTT HAUCK
Reconfigurable computing, which combines the speed of hardware with the flexibility of software, has become a significant research area due to its potential to greatly accelerate a wide variety of applications. This survey explores the hardware and software aspects of reconfigurable computing systems, including their architectures, design, and implementation. Reconfigurable computing systems use hardware such as field-programmable gate arrays (FPGAs) to perform computations, allowing for high performance while maintaining flexibility. These systems often combine reconfigurable logic with a general-purpose microprocessor to handle tasks that cannot be efficiently performed in the reconfigurable logic, such as data-dependent control and memory accesses. Reconfigurable computing systems can be implemented in various ways, ranging from single-chip architectures to multi-chip systems. The hardware components include logic blocks, routing resources, and memory blocks, which can be configured to perform different tasks. The software tools used in reconfigurable computing include compilation tools that map high-level algorithms to the reconfigurable substrate. These tools can be either manual or automatic, with automatic tools requiring less effort from the programmer to utilize the reconfigurable hardware. Reconfigurable computing has been shown to accelerate a variety of applications, including data encryption, factoring large numbers, and genetic algorithms. The performance benefits of reconfigurable computing are achieved through the use of reconfigurable logic and a general-purpose microprocessor. The design process involves partitioning a program into sections to be implemented on hardware and those to be implemented in software. The computations destined for the reconfigurable hardware are synthesized into a circuit description, which is then mapped onto the reconfigurable hardware. The technology of reconfigurable computing has evolved from the technologies developed for FPGAs in the mid-1980s. FPGAs are SRAM-programmable, allowing for easy programming and reprogramming. The routing between logic blocks is crucial for the performance of reconfigurable systems, and the design of these systems involves careful consideration of the trade-offs between logic and routing resources. The granularity of the logic blocks, which refers to the size and complexity of the basic computing blocks, varies from very fine-grained to very coarse-grained, with each type of block being suitable for different applications. The survey also discusses the various interconnect structures used in reconfigurable systems, including island-style and one-dimensional routing structures. Multi-FPGA systems, which are composed of multiple FPGA chips interconnected on a single processing board, have additional hardware concerns, including the need for efficient connection schemes between the chips and external memory. The survey concludes by highlighting the importance of run-time reconfigurable systems, which allow for the reuse of configurable hardware during program execution, and the challenges associated with configuration overhead.Reconfigurable computing, which combines the speed of hardware with the flexibility of software, has become a significant research area due to its potential to greatly accelerate a wide variety of applications. This survey explores the hardware and software aspects of reconfigurable computing systems, including their architectures, design, and implementation. Reconfigurable computing systems use hardware such as field-programmable gate arrays (FPGAs) to perform computations, allowing for high performance while maintaining flexibility. These systems often combine reconfigurable logic with a general-purpose microprocessor to handle tasks that cannot be efficiently performed in the reconfigurable logic, such as data-dependent control and memory accesses. Reconfigurable computing systems can be implemented in various ways, ranging from single-chip architectures to multi-chip systems. The hardware components include logic blocks, routing resources, and memory blocks, which can be configured to perform different tasks. The software tools used in reconfigurable computing include compilation tools that map high-level algorithms to the reconfigurable substrate. These tools can be either manual or automatic, with automatic tools requiring less effort from the programmer to utilize the reconfigurable hardware. Reconfigurable computing has been shown to accelerate a variety of applications, including data encryption, factoring large numbers, and genetic algorithms. The performance benefits of reconfigurable computing are achieved through the use of reconfigurable logic and a general-purpose microprocessor. The design process involves partitioning a program into sections to be implemented on hardware and those to be implemented in software. The computations destined for the reconfigurable hardware are synthesized into a circuit description, which is then mapped onto the reconfigurable hardware. The technology of reconfigurable computing has evolved from the technologies developed for FPGAs in the mid-1980s. FPGAs are SRAM-programmable, allowing for easy programming and reprogramming. The routing between logic blocks is crucial for the performance of reconfigurable systems, and the design of these systems involves careful consideration of the trade-offs between logic and routing resources. The granularity of the logic blocks, which refers to the size and complexity of the basic computing blocks, varies from very fine-grained to very coarse-grained, with each type of block being suitable for different applications. The survey also discusses the various interconnect structures used in reconfigurable systems, including island-style and one-dimensional routing structures. Multi-FPGA systems, which are composed of multiple FPGA chips interconnected on a single processing board, have additional hardware concerns, including the need for efficient connection schemes between the chips and external memory. The survey concludes by highlighting the importance of run-time reconfigurable systems, which allow for the reuse of configurable hardware during program execution, and the challenges associated with configuration overhead.
Reach us at info@futurestudyspace.com
[slides] Reconfigurable computing%3A a survey of systems and software | StudySpace