The design of embedded systems is subject to severe cost, performance, power, and design-time constraints. With increasing use of multiple embedded cores on a single chip ( system-on-a-chip )—system designers need to implement many embedded applications using real-time system design techniques such as multiple prioritized tasks sharing multiple processing elements. Due to the increasing complexity of embedded systems, it is important to apply design automation methodology at system level to help designers find high-quality implementations that meet their design constraints, in a short period of time.
We have developed a new hardware-software co-synthesis approach to the system-level design of embedded real-time applications on heterogeneous multiprocessors . Our approach focuses on several key issues : hardware-software co-synthesis, real-time scheduling and allocation, memory hierarchy modeling and optimization, and system-level design for low energy.
We designed an efficient hierarchical scheduling algorithm for multi-rate real-time tasks on heterogeneous multiprocessors. We developed the first task-level performance model for memory hierarchies. The scheduling algorithm and the memory hierarchy model are incorporated into our hardware-software co-synthesis algorithm, which synthesizes real-time tasks onto heterogeneous multiprocessors with memory hierarchy, to meet performance constraints with a cost efficient implementation. It is the first co-synthesis algorithm that synthesizes not only the hardware and software, but also the memory hierarchy, which has significant impact on performance, cost and power of today's embedded systems. Our co-synthesis algorithm achieves improved results (in terms of lower cost of the synthesized system) compared to existing algorithms.
The co-synthesis algorithm is extended to include low energy as an optimization goal, for uniprocessor architecture (one CPU and one ASIC, plus memory hierarchy). We have built a comprehensive framework for the estimation and optimization of energy dissipation in hardware-software embedded systems. The framework, which not only analyzes energy dissipation of each individual component in the system, but more importantly, also takes into account the energy interdependencies among components, can provide significant energy savings, as shown by our experimental results.
Cited By
- Xie Y and Wolf W Allocation and scheduling of conditional task graph in hardware/software co-synthesis Proceedings of the conference on Design, automation and test in Europe, (620-625)
- Xie Y and Wolf W Co-synthesis with custom ASICs Proceedings of the 2000 Asia and South Pacific Design Automation Conference, (129-134)
Recommendations
Hardware/software optimization of error detection implementation for real-time embedded systems
CODES/ISSS '10: Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesisThis paper presents an approach to system-level optimization of error detection implementation in the context of fault-tolerant real-time distributed embedded systems used for safety-critical applications. An application is modeled as a set of processes ...
A hardware time manager implementation for the Xenomai real-time kernel of embedded Linux
2nd Workshop on Embed With Linux (EWiLi 2012)Nowadays, the use of embedded operating systems in different embedded projects is subject to a tremendous growth. Embedded Linux is becoming one of those most popular EOSs due to its modularity, efficiency, reliability, and cost. One way to make it hard ...
Hardware-Software Partitioning for Real-Time Embedded Systems
In this paper, we present an approach to hardware-software partitioning for real-time embedded systems. Hardware and software components are modeled at the system level, so that cost and performance tradeoffs can be studied early in the design process ...