Research profile

Currently I’m a graduate research assistant at Coordinated Science Lab, working with Shobha Vasudevan. My research centers around randomized algorithms and its applications in analog verification. In particular, I am interested in nonlinear optimization and automated input stimuli generation for analog circuits in high-dimensional spaces. My focus is on using machine learning techniques to bias and improve the randomized algorithms, in terms of efficiency and result’s quality.

Algorithms

Together with Shobha, over the course of my PhD, I have designed two algorithms: Duplex and Random tree.

Duplex: an stochastic optimization algorithm, based on random trees, for optimizing nonlinear non-convex functions.

Duplex is a very versatile algorithm. We used duplex for functional optimization, boolean satisfiability ,  performance optimization of analog circuits and training neural networks.

Random tree is a set of algorithms, based on random tree simulation, for automated directed input stimuli generation, worst-case eye diagram analysis and test compression.

The algorithm utilizes various machine learning techniques to bias the growth of random trees toward the simulation objective and increase the efficiency of the algorithm. The random trees can be monitored against logic properties specified in STL or mu-caluclus. In comparison to Monte Carlo simulation, random tree provides over 2 order of magnitude speedup.

Tools

I have developed several open-source research tool, mostly as a proof-of-concepts, while I was in grad school. Here are a few examples:

Duplex

Optimization algorithm for nonlinear functions

RRT

Verification suite for analog circuits: input stimuli generation, eye diagram optimization and test compression

Urbana

Randomized SAT (boolean satisfiability) solver, based on Duplex algorithm

SER

Soft error rate estimation (SET+MET) for logic-level sequential circuits

Reachability

Reachable analysts for nonlinear analog circuits