CAPLab

ABOUT CAPLAB

Incessant semiconductor technology improvement allows for increasingly complex multicore processors whose computing power soon will be on a par with a computing server of today. As the power consumption becomes the limiting factor of the computing power and an application-specific processing element provides higher performance per power consumption than a general-purpose processor core, a future multicore processor will likely consist of heterogeneous processing elements that are tailored for applications. On the other hand, computation complexity of user applications is also steadily increasing. To cope with the increasing computation workload, it becomes popular to equip a many-core accelerator to utilize the parallelism of an application maximally.

Codesign

band2.png

Hardware/software codesign is the design methodology to design both hardware and software concurrently to reduce the design time. HW/SW cosimulation is the enabling technique to develop SW on a virtual prototyping system without hardware. HW/SW codesign also includes exploring the design space of system architecture by specifying the algorithm and candidate architectures separately and changing the mapping of the algorithm to architectures. For fast design space exploration, it is desirable to estimate the system performance and resource requirements at early design stage. We propose a model-based codesign methodology that supports all design steps from algorithm specification to system synthesis, including HW/SW cosimulation, HW/SW cosynthesis, and system-level performance estimation.

Parallel Processing

hammer2.png

"Think parallel or perish" is the slogan of a famous IT company. Parallel processing is a must for high-performance and/or low-energy computer systems. Building a parallel hardware is not easy, but developing a parallel SW and verifying the correctness are more challenging. For embedded systems, we also have to consider the resource constraints and real-time constraints. We are proposing a novel concept of "programming platform" for parallel processing. Parallel programs can be developed on top of the propsoed programming platform, called CIC, independently of the hardware platform. Then, platform dependent software is automatically generated from the programming platform. Besides, we are interested in parallelism extraction and exploitation of legacy software.

Recent Research Focuses

  • HW/SW codesign
  • Model-based embedded SW design methodology  
  • HW/SW cosimulation and virtual prototyping
  • Worst-case response time analysis
  • Software platform for cooperating robots or smart devices
  • Resource management for manycore accelerator
  • Algorithm-architecture codesign
  • Task mapping and scheduling for CPS systems
  • SW design for  multicore CPU-GPU heterogeneous systems