Recently people have shown interest in using reconfigurable logic (RL), which is represented by field programmable gate array (FPGA), to do computing. RL has an unique property: after fabricated, it can be configured many times to implement various logic functions; and after configured, it can be treated as a fixed hardware to implement a specific logic function.
For many applications, RL can generally achieve much better performance/power, and several times to several tens of times speedup over general processors. Compared with application specific integrated circuit (ASIC), which is specifically designed for a specific function, RL shows some disadvantages in performance/power, but its reconfigurability brings out an important advantage: it can be used to implement those new-coming creative applications whose performance/power requirments cannot be satisfied by general-purpose processors and cannot be implemented in time by ASICs.
People have shown great interest in using RL as accelerators to implement new-coming creative applications in time and building reconfigurable systems; this will improve the performance/power of the whole system, and provide better time-to-property/market to new-coming creative applications. Recently, Xilinx, one of the two most important FPGA vendors in the world, announced the Xilinx Extensible Processing Platform, which is composed of two ARM Cortext-A9 processor cores and FPGA.
In this course, the principles, organization, and structure of RL will be introduced. The hardware description language Verilog and its programming model on RL will be taught. The algorithms and applications suitable on RL systems will be discussed. Some advanced topic in RL research will be presented. And there will be also some practices on FPGA developing platform.
The students enrolled in this course will understand the fundamentals of reconfigurable systems, and have the capability of developping algorithms/applications in reconfigurable systems to fully leverage the performance/power advantages of the reconfigurable systems.