240 likes | 315 Views
Protocol Selection and Interface Generation for HW-SW CoDesign. IEEE Transactions on VLSI Systems archive Volume 5 , Issue 1 (March 1997) J.-M. Daveau, G. Fernandes Marchioro, T. Ben-lsmail, and A. Amine Jerraya Presented by: Jun Zhu. Outline. Introduction Communication Model
E N D
Protocol Selection and Interface Generation for HW-SW CoDesign IEEE Transactions on VLSI Systems archive Volume 5 , Issue 1 (March 1997) J.-M. Daveau, G. Fernandes Marchioro, T. Ben-lsmail, and A. Amine Jerraya Presented by: Jun Zhu
Outline • Introduction • Communication Model • Communication Unit Modeling • Communication Synthesis • Allocation Algorithm • Process of System Synthesis • Conclusion
Part1 Introduction Synthesis has moved to system level abstraction, caused by • Increasing system complexity • Need for a unified approach in HW-SW codesign At system level, behavior and communication brought new problems • partitioning • Communication synthesis
A) Objective Communication specification should be independent of system specification Reusing existing communication models through library Choose the optimal communication schemes Have an automatic communication synthesis method based on cost function and constraints
B) Compared with Previous work Present communication synthesis as an allocation problem A wider design space exploration through automatic selection of communication protocols Complete communication synthesis approach in two phases Network synthesis and protocol selection Interface synthesis
Part2 Communication Model • 4 processes • Abstract channel • RPC mode • Separate communication from other design behavior Fig1 Process communicating through abstract channels
Part3 Communication Unit Modeling Definition of communication unit: • Abstraction • Communication library In conceptual point of view, communication unit is an object, which could execute one or several services with a specific protocol.
Access communication interface through services: • Hide the details of protocols in a library • Each service could have different implementations
Communication Unit VS. Abstract Channel Communication unit implement a specific protocol and realization Abstract channel corresponds to the specified service Fig2 Specification of communication with abstract channels
Merge Abstract Channel c1 + c2 => cu1 c3 => cu2 Fig3 Merge of abstract channel into communication unit
Benefits of this abstract model: • A modular specification • Communication is independent from other design • To describe a wide range of schemes
Part4 Communication Synthesis It aims to transform a system with processes that communicate via high level primitives into a set of interconnected processors that communicate via signals and share communication control. There are two steps: • Protocol selection and communication unit allocation • Interface synthesis
a) Protocol selection and communication unit allocation Choose the appropriate set of communication unit from the library, to provide the services required by the communication processes Fig4 Library of communication unit
Two alternatives in allocation + Fig-7 Implementation library
b) Interface Synthesis • Selects a proper set from implementation library • Generate the required interfaces for the processes
Part5 Allocation Algorithm Allocation Algorithm is based on cost function and constraints, it makes allocation automatic. First, we need to simplify and abstract the model to help to express the required principles in our mind in formulas.
Here are some symbols used in the algorithm: For each abstract channel Mi: • Protocol (Mi) • Services (Mi) • AveRate (Mi) • PeakRate (Mi) For each communication unit Cj: • Cost (Cj) • Protocol (Cj) • Services (Mi) • MaxBusRate (Cj) • MaxCom (Cj)
Why is Equal? Some constraints on the satisfying communication unit, given an abstract channel: • Services(Mi) Services(Cj) • Protocol(Mi) = Protocol(Cj) • MaxBusRate(Cj) > AveRate(Mi) Some constraints on bandwidth: Some constraints on peak rate: Why is not Sum?
Cost function: • The 2nd term is considered, only when PeakRate is violated Algorithm: • Algorithm Allocation/Binding • Procedure MERGE • Procedure TRAVERSAL
Part6 Process of System Synthesis Send and Receive System Allocation/binding Decision tree Fig-9 The whole process of System Synthesis Algorithm optimized Interface synthesis system Communication Unit library Channel allocation alternatives Implementation Library
Part7 Conclusion • Use of an abstract communication model • Separation between communication and computation • Reuse of communication models • Automatic selection of communication protocols • Algorithm based on decision tree • Automation based on formulizing human strategies into cost function • Modularity based on well defined interfaces (Intermodule Coupling and Intramodule Cohesion In Object Oriented Design of Software Engineering)