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 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 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 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 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 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 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 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 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 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