Broadly, we work on design and optimization of future generations of embedded computing systems. The term 'embedded system' is defined and uesd rather loosely in research community. We use 'embedded systems' to refer to non-traditional computing devices that are integrated into almost all complex systems today. Examples include computing devices that exist in cellphones, cars, portable game consoles, network switches and distributed sensor networks. Most computing system, expecpt for desktops or supercomputers fall into this category.
| We are interested in different aspects of embedded computing ranging from architectures and applications to design optimization and design automation techniques. We take particular interest in computing substrates that can be programmed after fabrication, e.g., processors and programmable logic. We aim to exploit programmability of our physical platforms to engineer systems that are adaptable to runtime situations. | ![]() |
Programmable devices enable efficient utilization of the same physical device in various application domains, and can improve system adaptability, versatility, robustness, and ultimately evolution. If you think about it, our brains are the best examples of programmable substrates, which is in contrast with application-specific design philosophy. It is interesting that nature manufactures the same 'substrate', no matter what environment the person is going to live in ...