Research activities

My research interest in general lies in applying mathematical theories to the design of modern electronic and optical systems. My Ph.D work is in logic design and synthesis for mixed hardware and software systems. Below are the descriptions of a few research areas studied and progress made. Projects involved currently and in the past:

Software realization of sequential machines

We believe the future of embedded system design lies in software, with a platform-based design methodology based on two premises:

By using standardized processors and moving intellectual properties into software design, the methodology reduces hardware manufacturing cost, increases flexibility of the design, and hence extends product life cycle, and shortens time-to-market. However, software design in such systems becomes extremely complex. High-level programming paradigms using application specific functional models tackle this problem by abstracting away implementation details. Our research analyzes the problem of generating efficient implementation code from computation models of a particular application domain.

We focus on control intensive embedded systems, for instance, automobile engine, airplane, and network protocol controls. The computation model used is a network of extended finite state machines (EFSMs). An EFSM is a system with a finite state controller interacting with an unbounded integer data-path. Each transition of the controller is guarded by a predicate over the integer variables, and is associated with an action function which updates the values of the integer variables. High-level synchronous languages like Esterel, StateFlow from Mathworks, or Statemate from I-Logix, can be used to program in such models.

Our research is on the optimization of such EFSM networks for software implementation on general purpose and application specific architecture platforms. This includes sequential architecture independent functional optimization, automatic code generation and architectural support for efficient execution.


Multi-valued logic optimization

Circuit designs can be naturally expressed in terms of multi-valued logic. However circuits are rarely optimized at multi-valued logic level before they are encoded into binary. This is due to the fact that (a) there is no good multi-valued multi-level logic optimization package available that has a complete suite of algorithms, (b) the encoding problem is difficult for large circuits since it is hard to estimate how an encoding decision ultimately affects the binary logic optimizations to be applied afterwards.

Recently multi-valued logic optimization methods have been proposed for high level implementation independent design synthesis (MVSIS), including decomposition and extraction using algebraic techniques, and don't care-based logic minimization (ISMVL'02 PDF). For hardware implementations, a final binary encoding is essential. Given a minimized network of multiple-valued logic functions, an optimal encoding transforms it into a compatible Boolean network with a minimal cost increase.


Synthesis for multi-valued devices

Multi-valued logic has successfully found its way into commercial applications in high-density memory design, content addressable memory, high-speed bus communications, and low power arithmetic circuits, etc. One of the candidates for implementing multi-valued logic is current-mode CMOS technology. It has been studied to have low-power and high-speed advantages over voltage-mode circuits. It has just four types of premitive devices: We study possible design flows and methodologies for generating current-mode implementations directly from high-level multi-valued synchronous specifications. The current work involves using Post Algebra as an intermediate abstraction level, which can be efficiently derived from the synchronous specification (Boolean Algebra) used in MVSIS by a priority ordering (IWLS'01 PS). Then an technology mapping step from the Post algebra to the current-mode devices (219B class project PS). Stay tuned for future updates.