Our Current Research

[Papers available here]

Automated layout generation for analog circuits
Unlike the design of digital circuits, which involves a lot of automation (using standard cell libraries, placement and routing algorithms, performance analysis using timing analysis), analog circuit designers have been very resistant to automation and tend to hand-craft their circuit layouts. This is partly because automation tools have not been very good. We have a large DARPA-funded project on analog layout automation where we are trying to build new algorithms and open-source tools for this topic. We are using a mix of traditional algorithmic methods and machine learning techniques.

Design of machine learning hardware
Today, deep neural networks and other machine learning algorithms are frequently implemented on GPUs or FPGAs, but these platforms are quite inefficient from an energy perspective. We are looking at developing solutions that build optimized ASICs for implementing neural networks. Our work in this area is primarily in analysis and architecture design for non-DNN algorithms, DNNs, and graph neural networks.  We are leading a project where we are collaborating with other universities on a DARPA project related to this work. We are also working with the Semiconductor Research Corporation on this topic.

Machine learning algorithms for design automation
In addition to our work on analog circuit automation, we are also looking at problems in the area of building algorithms and techniques to optimize digital systems. We have worked on these topics for many years now, and most recently, we have been looking at employing machine learning techniques for design automation. We are part of OpenROAD, and have applied some of these techniques on problems in automated digital system synthesis.

Other work
We also have recent/ongoing work on emerging models of computation - spintronics, in-memory computing, Ising machines, etc. Please check out our publications in this area.

Our work has been funded by several sources, including the National Science Foundation, DARPA, the Semiconductor Research Corporation, as well as a number of industry sources.

From the student's perspective..

The objective of research during a graduate degree is to help a student to develop the ability to solve an open-ended engineering problem, and to expose him/her to the state of the art in research in the chosen field. In order to do so, one typically needs to spend some time developing a background in the area of research. For students in our group, this includes a knowledge of some or all of the following, and can be built up by taking graduate classes at Minnesota:

Students working in our group typically develop algorithms to solve various problems in CAD. This typically involves the following (though this may be different from one problem to another):

For a Ph.D. degree, I typically expect a student to work on at least three different problems, each corresponding (roughly) to one journal paper. I usually work very closely with the student on the first problem, less closely on the second, and expect the student to be almost completely independent while working on the third problem. Of course, no two situations are exactly the same, and the above is a guideline rather than a rule!

For a list of current and past graduate students, please click here.

What's the job market like?

Students from our group have easily found positions after graduating, often with multiple offers from industry. A few of our alumni have joined academia as professors.

Students typically have at least one industry internship experience during their PhD.