My area of research expertise is broadly defined as computer architecture. 

More specifically, I am interested in the architecture and system level design, verification, and testing of embedded systems, cyber-physical systems (CPS), Internet of Things (IoT) devices, and complex digital VLSI systems-on-chip (SoCs). 

In the traditional architecture of buildings an architect defines the type of structure they will build and then combines walls, floors, roof, etc to build a building.  In computer architecture we define types of programs that a computer will run and then organize different types electrical circuits such as mathematical, logic, communication, and memory circuits to build a computer system. 

Just as different types of buildings serve different purposes we can also design computer systems for specific purposes such as entertainment, industrial control, home automation, or business services (to name just a few).  We perform research to optimize for different system characteristics such as high-performance, low energy, high security, high-reliability, and low cost so that computer engineers can create the perfect hardware and software system for any job.

However, because nothing in life is static we are always designing new tools and techniques to meet the computing needs of a changing world.

In my work we push the envelope in the design of embedded and Cyber-physical systems, and in Electronic Design Automation (EDA). I currently have two active lines of research: design tools and techniques for cyber-physical systems, and the intelligent design and verification of digital systems.


Design Tools and Techniques for Cyber-physical Systems

Cyber-physical system design is an exciting new area of computer engineering.  CPSs are computing systems which interact with the physical world via sensors, actuators, and networking.  They encompass everything from mobile robots and smart factories to smart power grids and precision agriculture, to the Internet of Things.  Below is a brief overview of our work creating a new design framework for sensor based mobile robots and cyber-physical systems presented at the 2016 CCC Symposium for Computing Research. We have also explored design techniques to accelerate robot perception (vision) algorithms on embedded processors with on-chip Field Programmable Gate Arrays (FPGAs) and Graphic Processing Units (GPUs). See the publications page for more information.


Intelligent Design and Verification for Digital Systems

In this line of research we use artificial intelligence techniques such as machine learning and  Natural Language Processing (NLP) to help bring “smart” design and verification to the world of digital systems.  In particular, we use these AI techniques to analyze and understand design descriptions written in normal English.  Using intelligent analysis we are able to automatically complete tasks such as the generation of correctness properties used to find and eliminate costly hardware bugs in chip designs.  See the publications page for more information.

Last Updated: Feb 02, 2018