• DocumentCode
    1443898
  • Title

    COHRA: hardware-software cosynthesis of hierarchical heterogeneous distributed embedded systems

  • Author

    Dave, Bharat P. ; Jha, Niraj K.

  • Author_Institution
    Lucent Technol., Bell Labs., Holmdell, NJ, USA
  • Volume
    17
  • Issue
    10
  • fYear
    1998
  • fDate
    10/1/1998 12:00:00 AM
  • Firstpage
    900
  • Lastpage
    919
  • Abstract
    Hardware-software cosynthesis of an embedded system architecture entails partitioning of its specification into hardware and software modules such that its real-time and other constraints are met. Embedded systems are generally specified in terms of a set of acyclic task graphs. For medium- to large-scale embedded systems, the task graphs are usually hierarchical in nature. The embedded system architecture, which is the output of the cosynthesis system, may itself be nonhierarchical or hierarchical. Traditional nonhierarchical architectures create communication and processing bottlenecks and are impractical for large embedded systems. Such systems require a large number of processing elements and communication links connected in a hierarchical manner, thus forming a hierarchical distributed architecture, to meet performance and cost objectives. In this paper, we address the problem of hardware-software cosynthesis of hierarchical heterogeneous distributed embedded system architectures from hierarchical or nonhierarchical task graphs. Our cosynthesis algorithm has the following features: 1) it supports periodic task graphs with real-time constraints, 2) it supports pipelining of task graphs, 3) it supports a heterogeneous set of processing elements and communication links, 4) it allows both sequential and concurrent modes of communication and computation, 5) it employs a combination of preemptive and nonpreemptive static scheduling, 6) it employs a new task-clustering technique suitable for hierarchical task graphs, and 7) it uses the concept of association arrays to tackle the problem of multirate tasks encountered in multimedia systems. We show how our cosynthesis algorithm can be easily extended to consider fault tolerance or low-power objectives or both. Although hierarchical architectures have been proposed before, to the best of our knowledge, this is the first time the notion of hierarchical task graphs and hierarchical architectures has been supported in a cosynthesis algorithm
  • Keywords
    application specific integrated circuits; embedded systems; fault tolerance; hardware-software codesign; scheduling; COHRA; acyclic task graphs; association arrays; concurrent modes; embedded system architecture; fault tolerance; hardware-software cosynthesis; hierarchical heterogeneous distributed embedded systems; hierarchical task graphs; low-power objectives; multimedia systems; nonhierarchical task graphs; nonpreemptive static scheduling; partitioning; periodic task graphs; pipelining; preemptive static scheduling; processing elements; sequential modes; task-clustering technique; Computer architecture; Concurrent computing; Costs; Embedded software; Embedded system; Hardware; Large-scale systems; Pipeline processing; Real time systems; Scheduling algorithm;
  • fLanguage
    English
  • Journal_Title
    Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0278-0070
  • Type

    jour

  • DOI
    10.1109/43.728913
  • Filename
    728913