You are on page 1of 13

Essential Issues in Codesign:

Models

27/08/22
Today programme
 Essential issues in codesign
 Models

 Architectures

 Languages

Winter-Spring 2001 Codesign of Embedded Systems 2


Models
 Model should be
 Formal => avoid ambiguity
 Complete => can describe entire system
 Comprehensible and easy-to-modify

Winter-Spring 2001 Codesign of Embedded Systems 3


Models:
Finite-State Machines (FSM)
 A set of states and a set of transitions
between them
 Most popular model for control systems
 Formal definition
 <S,I,O,f,h>
 Depending on output function (h)
 Mealy machine / Moore machine

Winter-Spring 2001 Codesign of Embedded Systems 4


Models:
Dataflow Graph (DFG)
 Most popular model for computation-intensive
systems
 Its basic principles
 Asynchrony: all operations execute when and only
when all its operands are available
 Functionality: operations are functions with no
side-effects => execution order is not important
 Formal definition
 <N,A,V,v0,f>
Winter-Spring 2001 Codesign of Embedded Systems 5
Models:
FSM with Datapath (FSMD)
 Both control and computation are
required in most systems
 FSMD is a combination of FSM and DFG
models
 Formal definition
 <S,I,O,f,h>
 f = {fC,fD}
 h= {hC,hD}
Winter-Spring 2001 Codesign of Embedded Systems 6
Models:
FSM with Datapath (cont’d)
 Neither FSM nor FSMD are suitable for
complex systems
 Concurrency
 Explosion in states
 Hierarchy
 Explosion in arcs

Winter-Spring 2001 Codesign of Embedded Systems 7


Models:
Hierarchical Concurrent FSMs
 Extension of FSM, supporting
concurrency and hierarchy
 Like FSM: sets of states and transitions
 Unlike FSM: each state can consist of
concurrent substates
 Transitions can be structured or
unstructured
 An example language: Statecharts
Winter-Spring 2001 Codesign of Embedded Systems 8
Models:
Programming Languages
 Heterogeneous model
 support data, and control modeling
 Major PL types
 Imperative (C, Pascal)
 Control-driven model of execution
 Declarative
 Demand-driven / Pattern-driven model of
execution

Winter-Spring 2001 Codesign of Embedded Systems 9


Models:
Programming Lang. (cont’d)

 Model vs. Language


 We use a model to decompose a system into
pieces (Model implies a way of thinking)
 We generate a specification by describing these
pieces in a particular language (Language is a tool
for description)

Winter-Spring 2001 Codesign of Embedded Systems 10


 Declarative languages
 No explicit order of execution
 Focus on defining target of the computation
through a set of functions of logic rules
 Imperative Languages
 Variety of data-structures
 Support hierarchy (functions of procedures)
 Support control-flow
 Well-suited for modeling an algorithm

Winter-Spring 2001 Codesign of Embedded Systems 11


Models:
Programming Lang. (cont’d)
 Main disadvantage
 Do not explicitly model system states

Winter-Spring 2001 Codesign of Embedded Systems 12


Models:
Program-State Machines
 Combination of HCFSM with PL
 Consists of a hierarchy of Program-states
 Program-states
 Leaf / composite program-states
 Composite program-state
 concurrent / sequential program-substates
 Sequential program-substates
 Transition-on-Completion (TOC) arc / Transition-
immediately (TI) arc

Winter-Spring 2001 Codesign of Embedded Systems 13

You might also like