Basic Information

  • Course Code: EE 677
  • Course Name: Foundation of VLSI CAD
  • Course Offered In: Autumn 2022
  • Instructors: Prof. Virendra Singh
  • Prerequisites: None
  • Difficulty (on a scale of 5): 3

Course Content

The course starts with an overview of the entire VLSI design process and different techniques used to go down to the actual VLSI circuit implementation and placement. The course goes over several algorithms used in the following processes:

  1. Logic Minimisation - The course covers techniques such as K-Maps as well as some heuristic implementations
  2. Fault Detection - This involves studying about different faults and various algorithms involved in order to minimize the time taken to identify faulty chips. This is large part of the course and the professor spent a lot of time explaining various algorithms used in this
  3. Partitioning, Routing, Physical Design - This is the final step which contains the placement of the components and optimize the routing between them. The algorithms involved in these steps were explained in the last few lectures.

Feedback on Lectures

The course started off slow and quite some time was spent on some of the easier topics which were taught in the beginning because of which lectures felt slightly rushed towards the end and the professor also had to take some extra lectures to complete the syllabus. Overall the lectures were good, and Professor Virendra explained the contents well. We also had some guest lectures from Prof. Janak Patel from UIUC who works in fault detection. Professor Virendra does not use slides for most of the lectures, so be prepared to take notes during the lectures.

Feedback on Evaluations

The course evaluation consisted of weekly quizzes, midsem, endsem, an assignment and a project. The weekly quizzes were based on topics taught in the previous week and most of them were pretty easy. The endsem did not have a time limit and consisted of 2 parts with a few bonus questions. The project was the implementation of one of the algorithms taught in class and the assignment was the implementation of a logic simulator. The grading was very lenient and most students got an AA or AB.

Study Material and Resources

The reference books for this course are:

  1. “Synthesis and optimization of digital circuits” by Giovanni De Michelli
  2. “Algorithms for VLSI Physical Design Automation” by Naveed Sherwani