Chandan Karfa

CS 577: C-Based VLSI Design

Overall Course Feedback:

overal Feedback 

Feebback on Course Instructor:

Comments for Instructor 
Comments for Instructor 

Feebback on Course:

Comments on Course 
Announcements:
  • Grading statistics: AS: 2, AA: 22, AB: 20, BB: 12, BC: 15, CC: 4, CD: 2. Thank you all for attending my course. Hope you have also enjoyed the course. It was a pleasure teach you all.

  • The class will start from 5th January 2022 in MS Teams in the group Grp_CS577_C_BASED_VLSI_DESIGN_2022. The schedule: Wednesday: 12PM-1PM, Thursday: 12PM-1PM, Friday: 12PM-1PM.

  • It is mandetory to join the MS teams group Grp_CS577_C_BASED_VLSI_DESIGN_2022 to attend the course. Please check your email to know how to join the group.

  • Welcome to CS 577 Course page

Instructors

  • Dr. Chandan Karfa

Cource Overview

  • High-level Synthesis (HLS) is the process of generating effecient hardware at register transfer level (RTL) from the input C-code (high-level code). HLS is an active domain of research in recent times in the domain of electronic Design Automation (EDA) of VLSI. This course will help the students to understand

    • the overall C to RTL synthesis flow,

    • how a C-code will be converted to its equivalent hardware,

    • how to write C-code for efficient hardware generation,

    • how the common software compiler optimizations can help to improve the circuit performance.

    • Hardware Acceleration of Machine Learning Algorithm

    • Secure Hardware generation using HLS

    • Equivalence checking between C and RTL.

    • The overall EDA tool flow.

  • This course will help the students to take up research in the domain of HLS. Also, this course will help the students to become proficient for EDA industries.

  • Pre-requisites: (1) Basic knowledge of digital circuits (2) Basic knowledge of Data structures and algorithms

Class Timing and Venue:

  • Slot G in timetable for Open Electives

  • Wednesday: 12PM-1PM, Thursday: 12PM-1PM, Friday: 12AM-1PM

  • Venue: MS Teams

  • Mode of Lecture: Live session in the class hour. Few live interaction sessions to clear doubts/discussions.

Teaching Assistants:

  • Debabrata Senapati - debab176101003@iitg.ac.in

  • Priyanka Panigrahi - priya176101006@iitg.ac.in

  • Nilotpola Sarma - s.nilotpola@iitg.ac.in

  • Modammed Abderahman - ma.adem@iitg.ac.in

  • Abhik Paul apaul@iitg.ac.in

  • Mukul Chaturvedi - mchaturvedi@iitg.ac.in

  • Navjot Singh - navjot_singh@iitg.ac.in

Syllabus:

  • Electronic Design Automation flow: Overview of high-level synthesis, logic synthesis and physical synthesis;

  • High-level Synthesis (HLS) Fundamentals: Overview HLS flow, Scheduling Techniques, Resource sharing and Binding Techniques, Datapath and Controller Generation Techniques;

  • Impact of C-coding style on Hardware: Data types, Synthesis of Loops, Functions, RAM, ROM, Shift register inference from arrays;

  • Impact of Compiler Optimization in HLS results: Impact of Compiler optimizations like copy propagation, constant propagation, common sub-expression elimination, loop transformations, code motions, etc., in HLS results;

  • HLS for Security: RTL Locking, Logic Locking, Attack and Defense techniques;

  • RTL Optimizations Techniques: Various optimization techniques to improve latency, area and power in C-based VLSI designs;

  • High-level Synthesis Verification: BDD, Simulation based verification, Equivalence checking between C and RTL;

  • Hardware acceleration of Machine Learning Algorithms

  • Domain Specific High-level Synthesis

Text Book:

  • [Micheli] G. De Micheli. Synthesis and optimization of digital circuits, McGraw Hill, India Edition, 2003.

  • [Elliot] J. P. Elliot, Understanding Behavioural Synthesis: A Practical guide to High-level Synthesis, Springer, 2nd edition, 2000

  • [Kilts] Steve Kilts, Advanced FPGA Design, Wiley, 2007.

  • [Parhi] K. Parhi: VLSI Digital Signal Processing Systems: Design and Implementation, Jan 1999, Wiley.

  • [Huth] M. Huth and M. Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, 2nd Ed, Cambridge University Press, 2004.

  • Various Research Papers.

References:

  • [Gajski] D. D. Gajski, N. D. Dutt, A.C.-H. Wu and S.Y.-L. Lin, High-Level Synthesis: Introduction to Chip and System Design, Springer, 1st edition, 1992

  • [BlueBook] Mike Fingeroff, High-Level Synthesis Blue Book, Mentor Graphics Corporation, 2010.

  • Ryan Kastner, Janarbek Matai, and Stephen Neuendorffer, Parallel Programming for FPGAs, 2018.

  • Philippe Coussy and Adam Morawiec, High-level Synthesis from Algorithm to Digital Circuit, Springer, 2008

  • David. C. Ku and G. De Micheli, High-level Syntehsis of ASICs Under Timing and Synchronization Constraints, Kluwer Academic Publishers, 1992.

  • T. F. Melham, Higher Order Logic and Hardware Verification, Cambridge University Press, 1993.

Grade Calculation

  • Quizzes: 20% - Two quizzes each carries 10% of total marks.

  • MidSem: 15%

  • End Sem: 25%

  • Project: 20%. A group of 4/5 students to be assigned to a project.

  • Class participation: 10%. There will be short pop quizzes during most of the live sessions to cover key topics discussed in the current or previous lecture. Your attendance in the class will also be monitored.

  • Student-led discussion: 10%. A group of 4/5 students to be assigned to a topic (The group will be same as project group). There will be a student-led presentation for each group on the assigned research topics.

Classes

Lecture No Date Topic Resources
1. 7th Jan 2022 Introduction to C-Based VLSI Design
2. 8th Jan 2022 Introduction HLS
3. 11th Jan 2022 HLS Steps
4. 12th Jan 2022 Introduction to Scheduling
5. 13th Jan 2022 Scheduling Problems: ASAP, ALAP
6. 19th Jan 2022 Scheduling Problem formulation: ILP Micheli: Ch. 5
7. ILP Formulation of MLRC and MRLC Scheduling https:www.youtube.comwatch?v=m15qmh6UsJ4&list=PLwdnzlV3ogoXIsX4JXpjM7Qj-apemmmOw&index=8
8. 20th Jan 2022 Scheduling: ILP Demo and List Scheduling-MLRC Micheli: Ch. 5
9. 2nd Feb 2022 Multiprocessor Scheduling and Hu's Algorithm Micheli: Ch. 5
10. 9th Feb 2022 Heuristic Scheduling: List Scheduling for MLRC Micheli: Ch. 5
11. 10th Feb 2022 Heuristic Scheduling: List Scheduling for MRLC Micheli: Ch. 5
12. 16th Feb 2022 Heuristic Scheduling: Forced-directed Scheduling Micheli: Ch. 5
13. 17th Feb 2022 Forced-directed MLRC Algorithm Micheli: Ch. 5
14. 18th Feb 2022 Allocation and Binding
15. 23rd Feb 2022 Left-edge Algorithm Paper
16. 24th Feb 2022 Resource Allocation and Binding: Hierarchical Sequence Graph
17. 25th Feb 2022 Register Allocation and Binding
18. 9th March 2022 Vivado Tool
19. 23rd March 2022 Data path and Controller Generation
20. 24th March 2022 Data path and Controller Optimizations
21. 25th March 2022 Impact of Compiler Optimization on HLS
22. 30th March 2022 HLS for Loops
23. 31st March 2022 HLS for Loops (continue)
24. 1st April 2022 Loop pipeline feedback
25. 6th April 2022 HLS Data flow optimization
26. 7th April 2022 Data flow optimization
27. 8th April 2022 HLS for Array
28. 3rd April 2022 Coding style for HLS
29. 20th April 2022 HLS for Security
30. 21st April 2022 SMT attach on RTL Locking
31. 22nd April 2022 RTL to c Reverse engineering
32. 27th April 2022 Reverse engineering of data path optimization
33. 28th April 2022 Retiming
34. 29th April 2022 Retiming
35. Introduction to Logic Synthesis https:www.youtube.comwatch?v=EtJ1NMEGE_o
36. Introduction to Physical Synthesis https:www.youtube.comwatch?v=vuNkKF7KXDg
37. Demo on Vivado HLS Tool https:youtu.be-Ut0qaMNPWw

Evaluation Schedule

  • Presentation of Book Chapters assigned to Projects (10 Groups): 15 Mins presentation + 5 min QA for each team

19th April: 6PM to 8PM. Groups: Ch 2 to 6

20th April: 6PM to 8PM, Groups: Ch 7 to 11

  • Research Paper Presentation: 15 Mins presentation + 5 min QA for each team

22nd April (Friday): 5PM to 8PM (Gr 1 to 8)

23rd April (Saturday): 6PM to 8:30PM (Grp 9 to 16)

  • Project Demo: 10 Mins a team for project from book, 15Mins for a team for project on HLS benchmarks

24th April: 10AM to 12PM: Gr 9 to 11 and Gr 14-16

3Pm to 5PM: Gr 1 to 8 and Gr 12, 13