CmpE 441 High Level Synthesis 2015 Spring

Instructor: 

Course Schedule: 

MMT 457 at Computer Engineering Building A2 A2 A3

Course Program: 

1. Introduction: 

Some Basics: Timing, Area, Power, Energy.

What is an Accelerator? What is its difference from coding for other computing units?

2. Fundamentals of High-Level Synthesis

From C code to Accelerator: Input, Output, Dataflow, Control, Scheduling, Resource Allocation.

Design Space. Objectives. Constraints. Compilation. Debug. Functional testing.

3. Revisiting Data Types, Arrays, Pointers for HLS

Limitations and their reasons: uninitialized variables, unbounded loops, system calls, dynamic memory allocation.

4. Revisiting Loops for HLS

Pipelining, Parallelism, Unrolling, Bounds, Dependencies between iterations, Optimizing Loop Counter, Optimizing Loop Control, Nested Loops

5. I/O Scheduling and Memories

Conditional and unconditional I/O. Stream I/O. Array to memory mapping. Designing for throughput.

Textbook: 

High-Level Synthesis Blue Book, Michael Fingeroff, ISBN-10: 1450097243 (available at the BoUn library)

Reference Books: 

Notes: 

Grading: (Tentative)

·        60%: weekly implementations at the lectures

·        40%: final project: GROUP projects

o   10%: an initial report for project specifications (details will be announced)

o   15%: final demo

o   15%: final report submission (details will be announced)

Contact us

Department of Computer Engineering, Boğaziçi University,
34342 Bebek, Istanbul, Turkey

  • Phone: +90 212 359 45 23/24
  • Fax: +90 212 2872461
 

Connect with us

We're on Social Networks. Follow us & get in touch.