The goal in microelectronic systems design is to develop an optimal realization under given constraints. These can generally be quite different in nature; for instance they can cover specifications regarding functionality, limited energy resources or a fixed target technology. To master the vast number of possible design decisions, we investigate systems with respect to application, design methodology, and architecture.
In the beginning of the design the application has to be defined and analyzed in detail. Commonly, an exact specification is not available in this early stage (partly due to short product cycles) or is subject to change throughout the process. Our focus on applications is primarily on communication systems (wireless communication, coding standards, MIMO systems), which pose the designer with a large challenge w.r.t throughput and energy efficiency, especially in mobile application scenarios. Furthermore we investigate ambient systems and the acceleration of computationally demanding simulations from the financial mathematics and scientific domains.
The implementation of a system can be done in various styles and using different architectures. We develop application specific hardware and application specific instruction set processors (ASIPs) in field programmable gate arrays (FPGAs) and application specific integrated circuits (ASICs). Besides the optimization on a microarchitectural level we deal with heterogeneous systems comprising components with differing implementation styles, as well as with networks-on-chip and 3D-DRAM.
We use different methodologies, which allow for early estimation of implementation complexity, performance, reliability or other aspects of the implemented hardware. By means of rapid prototyping we can do exhaustive design-space-explorations, partially leveraging high-level synthesis tools but also manual refinement of a system from the functional model to the register transfer description of the hardware.