design and architectures for embedded systems esii
play

Design and Architectures for Embedded Systems (ESII) Prof. Dr. J. - PowerPoint PPT Presentation

1 ESII: Specification & Modeling Design and Architectures for Embedded Systems (ESII) Prof. Dr. J. Henkel, M. Shafique Prof. Dr. J. Henkel, M. Shafique CES CES - Chair for Embedded Systems Chair for Embedded Systems Karlsruhe Institute


  1. 1 ESII: Specification & Modeling Design and Architectures for Embedded Systems (ESII) Prof. Dr. J. Henkel, M. Shafique Prof. Dr. J. Henkel, M. Shafique CES CES - Chair for Embedded Systems Chair for Embedded Systems Karlsruhe Institute of Technology, Germany Karlsruhe Institute of Technology, Germany Today: Specification and Modeling I Today: Specification and Modeling I http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

  2. 2 ESII: Specification & Modeling Where are we? - models of computation 2, 3, 4, 5 SYSTEM SPECIFICATION 2, 3, 4, 5 SYSTEM SPECIFICATION -Spec languages Optimization Design Space Exploration Design Space Exploration refine -low power, performance, area, reliability ,… -low power, performance, area, reliability, peak temp. … Estimation&Simulation SYSTEM PARTITIONING SYSTEM PARTITIONING -low power, performance, area, reliability, peak temp. … Hardware Hardware Embedded Embedded Middleware, Middleware, Embedded Processor RTOS Design Software Design & Architectures -Synthesis 13 & 14. 13 & 14. 6. Code 6. Code 7. ISA extensions  7. ISA extensions  Scheduling Generation for Special Instructions Embedded embedded IP: Systems 8. ASIPs, Extensible 8. ASIPs, Extensible -PEs Processors -Memories Optimize for Optimize for -Communication 9. DSPs, VLIW 9. DSPs, VLIW -Peripherals -Low Power -Integration -Integration - … - Performance -Prototyping 10 & 11. Reconfigurable 10 & 11. Reconfigurable IC technology -Area - Tape out Processors -Reliability - 12. Multi-Core  future 12. Multi-Core  future http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

  3. 3 ESII: Specification & Modeling Outline  Categorization of systems Categorization of systems  Models vs. Languages Models vs. Languages  State Machine Model State Machine Model  FSM/FSMD FSM/FSMD  HCFSM and HCFSM and Statecharts Statecharts Language Language  Program Program-State Machine (PSM) Model State Machine (PSM) Model  Concurrent Process Model Concurrent Process Model  Dataflow Model Dataflow Model  Concurrent Processes Concurrent Processes  System and Model Properties System and Model Properties http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

  4. 4 ESII: Specification & Modeling Categorization of Systems  Transformational Transformational  Operate on inputs; produce outputs and stop Operate on inputs; produce outputs and stop  Interactive Interactive  Do not typically terminate Do not typically terminate  Continuous interaction with environment Continuous interaction with environment  Interactive system act at their own speed Interactive system act at their own speed  Example: OS Example: OS  Reactive Reactive  Like interactive systems Like interactive systems  But: the pace is imposed by the environment But: the pace is imposed by the environment Embedded Systems belong to this group Embedded Systems belong to this group http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

  5. 5 ESII: Specification & Modeling What are models for?  => => perform various tasks of a design process: perform various tasks of a design process:  Performance modeling  Functional modeling and specification  Design and synthesis  Validation and verification  Test vector generation  Test coverage analysis  Architecture evaluation and mapping  Technology mapping  Placement and routing (src: A. Jantsch) http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

  6. 6 ESII: Specification & Modeling Why Models?  Describing embedded system’s processing behavior Describing embedded system’s processing behavior  Difficulty Difficulty  Due to High Due to High Complexity Complexity  radically growing radically growing  Complexity of Current/Next Complexity of Current/Next-Generation Embedded Systems Generation Embedded Systems  Software complexity ~ Increasing IC Software complexity ~ Increasing IC capactiy capactiy >10 9 LOC  Software Complexity Software Complexity  thousands to millions of LOC thousands to millions of LOC  >10 LOC  Think about Digital Washing Machines or Ovens Think about Digital Washing Machines or Ovens  Now think Now think  Digital Camera Digital Camera  Multimedia TV, Multimedia TV,  Mobile Phones (Video Coding, Audio Coding, GPS, 4G Mobile Phones (Video Coding, Audio Coding, GPS, 4G communication, …) communication, …)  Desired behavior often not fully understood in beginning Desired behavior often not fully understood in beginning  Many implementation bugs due to description mistakes/omissions Many implementation bugs due to description mistakes/omissions  English (or other natural language) common starting point English (or other natural language) common starting point  Precision Precision  hard to describe clearly hard to describe clearly  difficult to impossible difficult to impossible  Level of Ambiguity Level of Ambiguity (src: Vahid02) http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

  7. 7 ESII: Specification & Modeling ESII: Spec & Modeling Models and languages • How can we (precisely) capture behavior? – We may think of languages (C, C++), but computation model is the key • Common computation models: – Sequential program model • Statements, rules for composing statements, semantics for executing them – Communicating process model • Multiple sequential programs running concurrently – State machine model • For control dominated systems, monitors control inputs, sets control outputs – Dataflow model • For data dominated systems, transforms input data streams into output streams – Object-oriented model • For breaking complex software into simpler, well-defined pieces Embedded Systems Design: A Unified 5 Hardware/Software Introduction, (c) 2000 Vahid/Givargis http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

  8. 8 ESII: Specification & Modeling ESII: Spec & Modeling Models vs. languages Poetry Recipe Story State Sequent. Data- Models machine program flow Languages English Spanish Japanese C C++ Java Recipes vs. English Sequential programs vs. C • Computation models describe system behavior – Conceptual notion, e.g., recipe, sequential program • Languages capture models – Concrete form, e.g., English, C • Variety of languages can capture one model – E.g., sequential program model  C,C++, Java • One language can capture variety of models – E.g., C++ ? sequential program model, object-oriented model, state machine model • Certain languages better at capturing certain computation models Embedded Systems Design: A Unified 6 Hardware/Software Introduction, (c) 2000 Vahid/Givargis http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

  9. 9 ESII: Specification & Modeling ESII: Spec & Modeling Finite State Machine (FSM) Model • An FSM is a 6-tuple F < S , I , O , F , H , s 0 > – S is a set of all states { s 0 , s 1 , …, s l } – I is a set of inputs { i 0 , i 1 , …, i m } – O is a set of outputs { o 0 , o 1 , …, o n } → – F is a next-state function ( S x I → S ) → – H is an output function ( S → O ) – s 0 is an initial state • Moore-type → – Associates outputs with states (as given above, H maps S → O ) • Mealy-type → – Associates outputs with transitions ( H maps S x I → O ) • Shorthand notations to simplify descriptions – Implicitly assign 0 to all unassigned outputs in a state – Implicitly AND every transition condition with clock edge (FSM is synchronous) Embedded Systems Design: A Unified 12 Hardware/Software Introduction, (c) 2000 Vahid/Givargis http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

  10. 10 ESII: Specification & Modeling ESII: Spec & Modeling State machine vs. sequential program model • Different thought process used with each model • State machine: – Encourages designer to think of all possible states and transitions among states based on all possible input conditions • Sequential program model: – Designed to transform data through series of instructions that may be iterated and conditionally executed • State machine description excels in many cases – More natural means of computing in those cases – Not due to graphical representation (state diagram) • Would still have same benefits if textual language used (i.e., state table) • Besides, sequential program model could use graphical representation (i.e., flowchart) Embedded Systems Design: A Unified 15 Hardware/Software Introduction, (c) 2000 Vahid/Givargis http://ces.itec.kit.edu J. Henkel, M. Shafique, KIT, WS1011

Recommend


More recommend