Reconfigurable Computing encompasses the digital design of the reconfigurable architecture under consideration as well as the software design process that maps applications on to flexible hardware. Thus, the user needs to be aware of both the architecture that enable high performance computation as well as the supporting application mapping process.
In this course, we will look at a wide range of reconfigurable architectures that have been around (both in academia and in industry) and look at how opportunities can be explored through the use of reconfigurable architectures.
Course content:
Reconfigurable Computing Hardware:
Survey of FPGA and non-FPGA devices:Fine-grained, Coarse-grained
Reconfiguration Management:
Partial and dynamic reconfiguration
Programming Reconfigurable Computing Systems
Mapping Applications to Reconfigurable Systems:
High-level Synthesis
Area-, Performance-, Power-aware Mapping
Placement, Layout and Routing
Application Development
Case study with applications and solutions from different domains
Tools
Reference Books:
Reconfigurable Computing: The Theory and Practice of FPGA Based Computation, by Scott Hauck and Andre Dehon
Introduction to Reconfigurable Computing:Architectures, Algorithms, and Applications, by Christophe Bobda
Interesting links: