Course syllabus

Course-PM

DAT480 Reconfigurable computing lp2 HT21 (7.5 hp)

Course is offered by the department of Computer Science and Engineering

Contact details

Examiner: Ioannis Sourdis

Teaching Assistants: 

Course purpose

This course introduces the students to the field of Reconfigurable Computing. The course will provide a balanced insight of both theoretical trends and practical hands-on experience with reconfigurable technology. In addition to the basic concepts, the students are taught advanced topics in Reconfigurable technologies, programming paradigms, organizations, architectures, design tools and methods.

Schedule

TimeEdit

Course literature

Lecture slides and the following book complimentary to the lecture slides:

Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation, 1st edition
by Scott Hauck and André DeHon
Hardcover ISBN: 9780123705228, eBook ISBN: 9780080556017
Published: Morgan Kaufmann, 2007
Available online through Chalmers Library

Course design

The course consists mainly of Lectures and Labs.

The laboratory work (once per week) will start with a tutorial to get familiar with the tools and the design framework used. Then, each group (of 3 students) will be assigned a design problem to be carried out as a lab project extending the given initial design framework.

 

The lectures (about 2 per week)  will cover a number of topics

The particular topics to be covered are but not limited to: Reconfigurable computing hardware (devices, architectures, systems), Programming of Reconfigurable Devices and reconfiguration management, Design tools and methods, application acceleration, energy efficiency, fault tolerance. Special attention is paid on application-specific acceleration in the context of reconfigurable technology.

More precisely, the course contents are the following:

- Reconfigurable Computing Hardware
     ⦁ Reconfigurable Devices,
     ⦁ Reconfigurable Architectures,
     ⦁ Reconfigurable Systems,

- Programming Reconfigurable Systems
     ⦁ Compute Models e.g. streaming, SIMD,
     ⦁ VHDL Programming,
     ⦁ High Level Synthesis
     ⦁ Partial and Dynamic Reconfiguration

- Mapping Designs to Reconfigurable Platforms

- FPGA Applications
     ⦁ Application characteristics,
     ⦁ Hardware/Software Partitioning,
     ⦁ Case studies: e.g. network processing, stream processing, Machine learning

- Other emerging topics related to Reconfigurable Computing, such as:
     ⦁ Energy efficiency,
     ⦁ Memory centric,

     ⦁ Defect and Fault Tolerance

 

Some of the lectures will be devoted to discussions for solving the design problems given as laboratory projects. They will discuss design alternatives available in literature and guide the lab-groups towards finding a solution.

 

 

Changes made since the last occasion

  • An HLS tutorial is added,
  • a guest lecture from AMD is added, and
  • the lab project descriptions was updated to focus on pattern matching.

 

Learning objectives and syllabus

Learning objectives:


1. Knowledge and understanding

⦁ describe reconfigurable devices, architectures & systems. (lecture; exam)
⦁ recognize the function and uses of reconfiguration techniques. (lecture; exam)
⦁ identify application characteristics that can be supported well in reconfigurable devices. (lecture; exam, labs)
⦁ identify different compute models for reconfigurable systems and recognize how they fit particular application characteristics. (lecture; labs, exam)


2. Skills and abilities

⦁ approach a design problem targeting reconfigurable computing (application analysis, design solution, implementation choice). (labs; labs)
⦁ use modern tools to design and implement in reconfigurable hardware. (labs; labs)
⦁ use modern tools to perform hardware reconfiguration. (lectures, labs; labs)
⦁ measure the performance and energy costs of a hardware design mapped in reconfigurable hardware. (labs; labs)


3. Judgment and approach

⦁ evaluate the advantages and disadvantages of reconfigurable computing compared to other computing alternatives. (lectures; exam)
⦁ compare different types of reconfigurable devices, architectures and systems. (lectures; exam)
⦁ compare different compute models for reconfigurable systems. (lectures; exam)
⦁ critically evaluate and judge an application implementation mapped to a reconfigurable system. (lectures; lab)

Format: "Intended learning outcomes. (related student activity; related assessment method)"

Link to the syllabus on Studieportalen.

Study plan

If the course is a joint course (Chalmers and Göteborgs Universitet) you should link to both syllabus (Chalmers and Göteborgs Universitet).

Examination form

Written final exam and lab project examination and presentation.

Course summary:

Date Details Due