Courses

Murali Ramu | Jul 9, 2023 min read

Background

I always had the ambition of doing a master’s in the USA and getting into a job was never on my radar after completing my bachelor’s. But as life turned out, I got hired by Cypress on July 24th, 2018 and my plan of doing an MS in the US went down the drain. But I did want to get a master’s, but how and when wasn’t clear yet. After getting into my job, I got to know that Cypress assisted people who wanted to do a corporate M.Tech program and it was pretty clear to me that this is how I’ll get my master’s and I wanted to get started with M.Tech as a working professional in 2020. The only decision left was for me to decide whether I would take up the program in embedded systems from BITS-Pilani or Integrated Circuits and Systems from IIT-Madras. After much deliberation, I decided that I would start my master’s at IIT-Madras. I cleared the entrance test, got a roll number allotted and was notified that my classes would start in September 2020.

Intent

In this blog, I will try to make a summary of the courses I covered and what each of them involved and try to mention the faculty professors also that covered them. I will also link if there are any youtube/NPTEL equivalent courses available for the same. For courses that involved doing a course project, or the ones which were of particular interest to me as a possibility in my career I will write down a separate blog on each of them.

EE5003W - Electrical Networks and Systems

This is an introductory course that was offered by Prof. Shanti Pavan to get us started with the M.Tech course. There were 5 units involved in this course. They were network analysis, transmission lines, introduction to noise analysis, negative feedback systems, and linear time-variant systems. There is no particular course that covers these on any public platform but you can get these through various sources.

EE5313W - Semiconductor Device Modelling

This is a device physics course that introduces one to how a MOSFET by starting at the most fundamental level i.e., how a p-type or an n-type semiconductor is formed. This course is available on Youtube. Prof. Shreepad Karmalkar who at the time took this course for us goes into much detail and this would be a very good starting point for anyone who wants to understand how the building blocks of our world work. He later moved on to become the Director at IIT-Bhubhaneshwar.

EE5310W - Analog Electronic circuits

One of the most fundamental courses of a VLSI course is AEC. This was offered to us by Prof. Nagendra Krishnapura. Again here, the course starts from defining 2 port network and power source, slowly builds on MOSFETs, small signal analysis and models, progresses to amplifiers and concludes with the construction of an operational amplifier. This is available on NPTEL or Youtube. Personal opinion, for anyone who wants to understand MOSFETS and its amplifiers, this is a must-do course I’d say.

EE5311W - Digital IC Design

My personal favorite, digital IC design was offered by Prof. Jankiraman Viraraghavan. The course is available on NPTEL. This is another fundamental course for any VLSI student who wants to specialize in digital design. This did not involve any Verilog coding, but instead discussed many fundamentals of digital gates design using transistors and their modeling. Circuit characterization, power analysis, critical path modeling and analysis, pipelining, and operating frequency were a few of the concepts covered. This course needed both the schematic and the layout of an 8*8 signed multiplier to be designed as part of the course evaluation. I will talk about this in-depth in another blog.

EE5130W - Digital Signal Processing

This is a course that was offered by Prof. C.S. Ramalingam. Although not strictly related to VLSI, I would say that anyone who likes to understand the basics and signals and systems and a few concepts of DFT can take this up. The course notes offered by the professor here are probably one of the best that I’ve seen in my student life.

EE6180W - Advanced Topics in Artificial Intelligence

Well, who doesn’t like to do a course on anything related to AI these days? Even I was one of them and the course covered some fundamental concepts of deep learning for imaging. A disclaimer here is that I had not done any image processing or machine learning courses nor was I fluent in Python. I dived in head first and damn was it a roller coaster ride. I hope to write the things that I learned in this course in a separate blog. The course involved fundamentals and the math of backpropagation, convolutional neural networks (CNN), autoencoders, recurrent neural network (RNN), and generative adversarial networks (GAN). This was offered by Prof A.N. Rajagopalan. I did refer to a lot of videos from Andrew Ng and Prof. Mitesh M. Khapra available on YouTube for a much better understanding of the course.

EE5175W - Image Signal Processing

Another optional course offered by Prof A.N. Rajagopalan, Image signal processing started with the basics of image formation, various types of noise affecting it, various transformations, blurring, deblurring, DFTs and so on to name a few concepts. The assignments involved in this course complimented the theoretical knowledge acquired pretty well. A nice course for anyone who’d love to learn.

EE6322W - VLSI Broadband Communication Circuits

This is an advanced-level course which was offered by Prof. Nagendra Krishnapura. We started by modeling noise and understanding its various types. The end goal of the course was to understand and design CDR - Clock and Data Recovery circuits. The course needed us to design a circuit that operated at a data transfer speed of 5Gbps. The circuits designed had both types, data recovery with and without forwarded clocks. I will talk about this in another blog sometime.

EE5332W - Mapping Signal Processing Algorithms to DSP Architectures

This course is offered by Prof. Nitin Chandrachoodan. It is more of a generic course where the professor dealt with more generic concepts like how to optimize a code for a given architecture, and tradeoffs between power, performance, and area. The raw content of this course is available on YouTube. This is an easygoing course compared to the rest here but highlights some of the most obvious and simplest of optimization techniques in hardware, software, and compiler design which one tends to overlook very easily. I will probably write more about this in due time.

comments powered by Disqus