1 / 35

Hardware/Software Codesign of Embedded Systems

Hardware/Software Codesign of Embedded Systems. CONCURRENT ENGINEERING. Voicu Groza SITE Hall, Room 5017 562 5800 ext. 2159 Groza@SITE.uOttawa.ca. CONCURRENT ENGINEERING . General Issues System Development Life Cycle System Categories Reactive Real-Time Embedded Systems.

christophe
Télécharger la présentation

Hardware/Software Codesign of Embedded Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hardware/Software Codesign of Embedded Systems CONCURRENT ENGINEERING Voicu Groza SITE Hall, Room 5017 562 5800 ext. 2159 Groza@SITE.uOttawa.ca

  2. CONCURRENT ENGINEERING General Issues System Development Life Cycle System Categories Reactive Real-Time Embedded Systems

  3. Motivation for Concurrent Engineering * Project size: 5 … 500 people; • Time = money: • Development time versus development cost; * Average product life time was 23 years; * For mobile phones it is 6 to 12 months; * 60% of Ericsson’s profit comes from products younger than 3 years; * Late arrivers loose market share; * Phase and activity overlapping is crucial; * Communication and documentation are essential; * The development task must be partitioned into horizontal and vertical subtasks. * The development time must be shortened while - the design complexity increases and - the product quality level remains high.

  4. Definitions and Scope * CE := Paralleling of life cycle functions + Consensus + Cooperation * CE := Minimization of total product development time * CE := Global optimization of total product live cycle (maximize quality, reduce lead time, lower cost) * CE := Integrate product and process design over the entire enterprise

  5. Influencing Agents: the 7 Ts Tasks Talents Teamwork CE CE CE CE CE CE Techniques Tools CE Time Technology

  6. Project Phases Expression of need Project management Project definition Abstraction Planning & organization Project development Project completion Time

  7. Involved People * Customers - Users - Marketing and sales personnel - Operators - Maintenance personnel * Product manager * Project manager * Requirement definition engineer * Specification engineer * Designer * Implementation engineer * Test engineer

  8. Development Phases * Requirement definition: The most informal part of a product development * Specification: The first abstract description of the product * Design: Functional partitioning and architecture selection * Implementation: Implementation of components and integration * System validation * Production: Experimentation with prototypes and final product production * Operation: Corrective, adaptive and preventive maintenance

  9. Life Cycle Models * Waterfall model * V-cycle * Spiral model * Contractual model

  10. The Waterfall Model Requirements Definition Based on the assumption of document completion at the end of each stage. This is problematic for applications for which the requirements and implementation are poorly understood. Specification Design Implementation Testing & Maintenance

  11. Test & Evaluation Design & Development Operation & Maintenance Specification Requirements Definition Operational Test System Validation Specification System Design System Integration Unit Test Component Design Coding The V- Cycle Model NEED PRODUCT Certification Validation Validation DESIGN VALIDATION

  12. The Spiral Model - Risk Driven CUMULATIVE COST Determination of objectives, alternatives and constraints Evaluate alternatives, identify & resolve risks Risk analysis operational prototype Risk analysis prototype RA prototype Life cycle plan SW product design concept Detailed design Development plan requirement Unit test Design validation & verification Integration & test Integration & test Develop & Verify Planning next phases Implementation

  13. Requirements Mission Definition Concept Definition Changes Constraints Engineering & Analysis Product Design Prototyping Production Engineering &Planning Production Operations & Control Manufacturing Continuous Improvement, Support & Delivery Concurrency Between Process Phases * Align each step as far to the left as possible; * Maintain the precedence of tasks; * Minimize the horizontal overlap between two consecutive tasks; * Maximize the independence of tasks; Product

  14. EFORT Implementation Test Design Specification Design Phase OverlapWaterfall Model TIME

  15. Design Phase OverlapConcurrent Engineering EFFORT Test Implementation Design Specification TIME

  16. Effort/time Approach with low effort on specification Approach with high effort on specification Specification Design Implementation Test Effort Distribution

  17. COST 10000 Log scale Error Correction Cost 1000 100 10 1 0.1 Time of Error Detection Specification Design Implementation Production Operation

  18. Time to Market Cost Model Revenue $/mo Market rise Market fall Time to market Time System concept Production

  19. Productivity Factors experience with design language experience with tools development of tools design tools high-level modeling experience with the application real time constraints product complexity team ability Productivity

  20. Basic Principles of CE * Early problem discovery: Problems discovered early are easier to solve. * Early decision making: In the beginning the design space and the potential to find global optima is greater. * Work structuring: Humans are not good on working on multiple tasks simultaneously; they are good on systematically structuring their work and the work environment so that each task is independent. * Teamwork affinity: Cooperation between persons and teams is based on trust and positive experience. * Knowledge leveraging: Since the required knowledge is distributed, the decision making process must coordinate distributed knowledge. * Ownership: The motivation is higher if teams or persons own a problem and assume responsibility. * Consistent objectives: Persons, groups, and organizations have self interests which might not be consistent with the companies objectives.

  21. Concurrency and Simultaneity * Parallel product * Concurrent resource scheduling * Concurrent processing * Minimize interfaces - Minimize product interfaces • To facilitate handling, maintenance, testing, and manufacturing; • To facilitate concurrent activities - Minimize process interfaces - Automate data flow * Efficient communication and efficient reviews * Design documentation and design decision documentation * Quick processing of individual activities

  22. Implementation Specification Integration Validation Design Partitioning of Development Tasks: Vertical Slices

  23. Horizontal Partitioning: Structural and Functional Slices The number of interdependent tasks must be minimized STRUCTURAL COMPONENTS Implementation Specification Integration Validation Design

  24. Functional Slicing * Functional slices may or may not be implemented by structural components * Functional slicing increases the potential for concurrent activities * Functional slicing allows to start with system simulation and system validation very early. * Early system level validation generates bug reports and valuable feed back for the design of individual components.

  25. Benefits of Concurrent Engineering * Rationalization in the manufacturing process * Working parallel * Improved communication and providing better input * Preempting errors and spotting problems early * Flexibility to accommodate changes * Decreased occurrence of obsolescence * Cross training * Better use of scarce technical resources

  26. Pitfalls * Problem with handling of information and data flow; * Risk of wasted efforts due to parallel activities; * Error correction activities due to incomplete and immature information; * Increased development cost

  27. System Categories * Embedded systems * Real-time systems * Distributed systems * Interactive systems * Reactive systems * Communication systems (protocol processing, switches, etc.) * Data processing systems (processing of signals, pictures, voice, etc.)

  28. Embedded Systems Embedded electronic systems implement application specific dedicated functions in a special environment. * Dedicated systems * Environment is complex * Environment establishes various nonfunctional constraints * Environment is not completely known * Interfaces to other subsystems - Digital protocols - Analog interface - Mechanic interface - Chemical interface * Sensors and actuators

  29. Real-time Systems Real-time systems have a well defined timing behaviour imposed upon them by the environment. * Well defined timing behaviour * Timing constraints - Local timing constraints - Input rate constraints - Output rate constraints * Several simultaneous activities - Observe events - Evaluate decisions - Generate actions * Synchronization facilities

  30. Distributed Systems Distributed systems implement an integrated functionality at spatially separated locations. * Communication facilities and protocols - Specification. modeling, implementation, and verification of communicating systems - Synchronous and asynchronous communication - Shared memory - Shared bus - Point-to-point protocols and structures * Distributed control threads - Parallel threads - Dynamic creation and destruction of threads - Remote procedure call (synchronous and asynchronous) * High complexity

  31. Interactive Systems Interactive systems have an intense and versatile data flow to I/O devices with soft timing constraints on performance and responsetime. * Complex mixed HW/SW user interface * Soft timing constraints which must be met ”on average”

  32. Reactive Systems Reactive systems are connected to the environment via sensors and actuators and implement control and data processing functionality. * Versatile interface and communication facilities and protocols - Interfaces to mechanical and analog devices - Many nonfunctional constraints (size, power, shape, weight, etc.) * Hard timing constraints on response time * The behaviour is well modeled by a finite state machine

  33. Communication Systems Communication systems process and connect streams of data according to protocols and switching rules. * Tight performance constraints on throughput * Moderate timing constraints on latency * Large memory requirements with irregular access pattern * Large number of internal interconnections and I/O ports * Implementation of the multi-layer protocol stack is partly in HW and partly in SW

  34. Data Processing Systems Data processing systems transform streams of data according to complex mathematical transformations with high performance requirements. * Tight performance constraints on throughput * Varying memory requirements with regular access pattern * Only one or few data streams * Complex mathematical transformations * Implementation is partly in custom HW and partly in SW on DSPs

  35. Development Context Activities Company Company management Projects Project management Project development Resources

More Related