Course syllabus for Reconfigurable computing

Course syllabus adopted 2021-02-08 by Head of Programme (or corresponding).

Overview

  • Swedish nameOmkonfigurerbar datoranvändning
  • CodeDAT480
  • Credits7.5 Credits
  • OwnerMPHPC
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 86116
  • Maximum participants50
  • Block schedule
  • Open for exchange studentsYes
  • Only students with the course round in the programme overview.

Credit distribution

0121 Laboratory 4 c
Grading: TH
4 c
0221 Examination 3.5 c
Grading: TH
3.5 c
  • 10 Jan 2022 am J
  • 11 Apr 2022 pm J
  • 25 Aug 2022 pm J

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

Information missing

Course specific prerequisites

Mathematics (including Calculus (at least 7,5 credits) and Linear algebra (at least 7,5 credits)), Programming in a general-purpose language (e.g. C/C++/Java/Haskell or similar) (at least 7,5 credits); Introduction to Computer Engineering (at least 7,5 credits); and one of the following courses: Discrete mathematics and/or Mathematical statistics and/or Probability theory and/or Algorithms and/or Data structures (at least 7,5 credits).

Aim

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.

Learning outcomes (after completion of the course the student should be able to)


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)"

Content

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:
     ⦁ Memory centric,
     ⦁ Defect and Fault Tolerance

Organisation

The course consists mainly of Lectures and Labs.

 

There are about 12 lectures (roughly 2 per week).

 

There are lab assignments performed in groups of 2 students related to: (i) use of relevant EDA tools, (ii) programing and reconfiguring reconfigurable devices, (iii) application acceleration using reconfigurable hardware. 

 

Teaching language is English.

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

Examination including compulsory elements

The course is examined by an individual written exam for 3.5 ECTS points and laboratory project assignments 4 ECTS points.

The Laboratory work is carried out in groups of normally 2 students and are graded with fail (U), 3, 4, 5.

The grading scale of the exam and the entire course comprises fail (U), 3, 4, 5.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.