There is an alarming trend of improvement in hardware technology with a significant lag in techniques that utilize the technology. Additionally, there is a trend toward mobile devices with increasing capability and longer battery life. In many cases, these trends are in direct conflict. Current state of the art hardware design methodologies for digital systems require the use of hardware description languages and/or tools that make hardware design for complex systems time-consuming, tedious, and error prone. A popular method to use this die-space is to combine several devices that in the past were contained on separate chips into a single chip called a system-on-a-chip (SoC). This technique buys the industry some time and promotes existing IP reuse; however, the real necessity is a generic solution to digital circuit design for deep and very deep sub-micron technology.
I am interested in solving the design-automation problem to allow new technology to be efficiently used to create new products. It is possible to abstract this problem by targeting traditional high-level programming languages such as C/C++, MATLAB/SIMULINK, and Java for hardware synthesis. Using high-level languages not only provides a much easier interface to the designer, but also allows the opportunity to attack optimization problems at a variety of different levels to produce a more comprehensive solution. In addition to traditional constraints such as optimization of area and performance, these tools must meet new challenges dictated by technology and industry trends such as power optimization.
Toward this end I am interested in developing tools for existing solutions like ASICs and reconfigurable technology such as FPGAs. I am also interested in development of comprehensive solutions for systems that include novel architectures and design tools for high-performance and low-power/mobile applications.