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