University of Alberta
CMPUT 605-FPGA 
ADVANCED TOPICS IN COMPILERS: EFFICIENT PROGRAMMING OF FIELD PROGRAMABLE GATE ARRAYS

Department of Computing Science 
University of Alberta 

Revised January 05, 2017

Winter 2017

TIME: TR 1400-1520
INSTRUCTORS: José Nelson Amaral, Karim Ali
 

Calendar Description:   Study the issues involved with the design and implementation of tools that support efficient programming of Field-Programmable Gate Arrays (FPGAs), including programming models, compilation solutions, specific code transformation techniques, architecture of existing platforms and the trading of functionality and maintenability for performance.

Course Description and Goals:

Extensive literature on the issue of supporting the programmability of FPGAs has focused on reconfigurability. Until recently reconfigurable computing was the main motivation to include an FPGA in a system design. However, recent concern for total energy consumption in large data centres have turned the attention of designers to the use of FPGAs to obtain higher performance at lower energy budget for important applications. A major commodity chip manufacturer, Intel, has acquired one of the major FPGA suppliers, Altera, and has proceed to integrate FPGAs into commodity off-the-shelf processors. Thus, for the first time there is the opportunity to explore FPGA solutions in large scale.

The main goal of this individual studies course will be to study both the academic literature and the open-source development community to establish the state of the art for supporting the programming of FPGAs and to identify opportunities for research in this area. The activities of the course will include discussion of published research papers in a seminar-style environment as well as the search, download, installation, and experimentation with existing open-source tools or tools offered by vendors with academic licenses. The students will also be tasked with creating implementation of solutions to sample problems in FPGAs and then to design strategies to improve such solutions.


Grading:

Class Presentations        30%
Homeworks                    20%
Practical Experiments    20%
Final Paper                      30%


Course Plan:

Literature:


[University of Alberta]
University of Alberta
[Department of Computing Science]
Computing Science