Top Banner
Embedded Systems Design 1 By AJAL.A.J ASSISTANT PROFESSOR Electronics & Communication Engineering Dept
95

Embedded Design

Nov 28, 2014

Download

Engineering

Ajal Jose

The big-bang model
The code-and-fix model
The waterfall model
The spiral model
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Embedded Design

Embedded Systems Design

1

By AJAL.A.J ASSISTANT PROFESSOR Electronics & Communication Engineering Dept

Page 2: Embedded Design
Page 3: Embedded Design

Name of University - Class Title

What Is An Embedded System ?What Is An Embedded System ?

A type of computer system. Some of the Most Common Traditional Definitions :

– Embedded systems are more limited in hardware and/or software functionality then the PC.

– An embedded system is designed to perform a dedicated function

– … Why don’t these definitions entirely apply, today?

Page 4: Embedded Design

Name of University - Class Title

What is an Embedded System [Continued] ?What is an Embedded System [Continued] ?

Automotive– i.e. : Ignition Systems, Engine Control, Antilock Braking System, …

Consumer Electronics– i.e. : TVs, STBs, appliances, toys, automobiles, cell phones …

Industrial Control– i.e. : robotics, control systems…

Medical– i.e. : Infusion Pumps, Dialysis Machines, Prosthetic Devices,Cardiac

Monitors, … Networking

– i.e. : routers, hubs, gateways, … Office Automation

– i.e. : fax machines, photocopiers, printers, monitors, …

** Aside from being types of computer systems, there is no single definition or characterization of embedded systems reflecting them all. **

Page 5: Embedded Design

Systems engineering point of view:

• When approaching embedded systems architecture design from a systems engineering point of view, several models can be applied to describe the cycle of embedded system design.

• Most of these models are based upon one or

some combination of the following four development models:

Page 6: Embedded Design

System Engineering Life Cycle Models

four development models:

Page 7: Embedded Design

four development models:

1.The big-bang model2.The code-and-fix model3.The waterfall model

4.The spiral model

Page 8: Embedded Design

big-bang model

• The big-bang model, in which there is

essentially no planning or processes in place before and during the

development of a system.

Ad HOC MODEL

Page 9: Embedded Design

Name of University - Class Title

Big-Bang ModelBig-Bang Model Developer receives problem

statement.

Developer works in isolation for some extended time period.

Developer delivers result.

Developer hopes client is satisfied.

Page 10: Embedded Design

code-and-fix model

The code-and-fix model, in which

product requirements are defined But

no formal processes

are in place before the start of development.

Page 11: Embedded Design

waterfall model

The waterfall model, in which there is a process for developing

a system in steps,

where results of one step flow into the next step.

Page 12: Embedded Design
Page 13: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Waterfall Model with Back Flow(sometimes this is implied by “waterfall”)

Requirements

Design

Implementation

TestAdjustments made to immediately previous phase based on issues with successive phase.

Page 14: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Why Not Waterfall?

0

10

20

30

40

50

60

10 100 1000 10000 100000

Project Size in Function Points

Cre

epin

g R

eq's

as

% o

f O

rig

1. Complete Requirements Not Known at Project Start

Source: Applied Software Measurement, Capers Jones, 1997. Based on 6,700 systems.

Page 15: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Function Point?

A function point is a unit of complexity used in software cost estimation. Function points are based on number of user interactions, files to be read/written, etc.

SLOC means number of source lines of code, also a measure of program complexity.

Page 16: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Why Not Waterfall?

2. Requirements are not stable/unchanging.

Source: Craig Larman

The market changes—constantly.

The technology changes.

The goals of the stakeholders change.

Page 17: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Why Not Waterfall?

3. The design may need to change during implementation.

Source: Craig Larman

Requirements are incomplete and changing.

Too many variables, unknowns, and novelties.

A complete specification must be as detailed as code itself.

Software is very “hard”. Discover Magazine, 1999: Software characterized as the

most complex “machine” humankind builds.

Page 18: Embedded Design

spiral model

The spiral model, in which there is a process for developing a system in steps,

and

throughout the various steps, feedback is obtained and incorporated back into the

process.

Page 19: Embedded Design
Page 20: Embedded Design
Page 21: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

“Life-Cycle” Models ….

Iterative Models Spiral Model & Variants

ROPES Model Controlled Iteration Model: Unified Process Time Box Model

Scrum Model Fountain Model

Page 22: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Boehm Spiral Model(of which some other models are variants)

An iterative model developed by Barry Boehm at TRW (1988), now Prof. at USC

Iterates cycles of these project phases:1 Requirements definition2 Risk analysis3 Prototyping 4 Simulate, benchmark5 Design, implement, test 6 Plan next cycle (if any)

Prof. Barry Boehm

Page 23: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Boehm Spiral Model

Page 24: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Risk? What risk?

One major area of risk is that the scope and difficulty of the task is not well understood at the outset.

This is the so-called “wicked problem” phenomenon.

Page 25: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

“Wicked Problems”

Many software development projects have been characterized as “wicked problems”, meaning: “problems that are fully understood only after they are solved the first time” (however poorly)

Does not apply only to software

Page 26: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Source of some of this

Prentice-Hall, 1990

basically a criticism of thewaterfall model

“wicked” term first used in H. Rittel and M. Webber, Dilemmas in a general theory of planning, Policy Sciences, 4, pp. 155-169, Elsevier, 1973.

Page 27: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Some Roots of Wickedness

Risk: A customer not knowing exactly what he/she wants; changing expectations as project progresses.

Risk: Staff who are inexperienced in the problem domain, or with the appropriate implementation techniques.

Page 28: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

The Waffle Principle

“Plan to throw the first one away; you will anyhow.”

Fred Brooks, “The Mythical Man-Month: Essays on Software Engineering”, Addison Wesley, 1975.Revised in 1995.

another indication that building a large software system is wicked

Page 29: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Wicked Problems

The presence of wickedness is what makes the iterative / incremental approaches most appealing.

Methodologies and organizational techniques can help control the degree of wickedness.

Page 30: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

US Air Force Risk Classification

Performance risk: The project might not meet requirements or otherwise be fit for use.

Cost risk: The budget might get overrun.

Support risk: The software might not be adaptable, maintainable, extendable

Schedule risk: The project might be delivered too late.

Page 31: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Ways to Manage Risk

Risk cannot be eliminated; it must be managed. Do thorough requirements analysis before

the design. Use tools to track requirements,

responsibilities, implementations, etc. Build small prototypes to test and

demonstrate concepts and assess the approach, prior to building full product.

Prototype integration as well as components.

Page 32: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Front-Loading Tackle the unknown and harder parts earlier

rather than later.

Better to find out about infeasible, intractable, or very hard problems early.

The easy parts will be worthless if the hard parts are impossible.

Find out about design flaws early rather than upon completion of a major phase.

Page 33: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

ROPES Model - Similar to SpiralRapid Object-Oriented Process for Embedded Systems

Bruce Douglass

http://www.sdmagazine.com/breakrm/features/s999f1.shtml

Iterates the following sequence of phases repeatedly: Requirements analysis System analysis Object analysis Architectural design Design Mechanistic design

Detailed design Coding Unit testing Integration testing Validation testing Iterative prototypes

Page 34: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

ROPES ModelRapid Object-Oriented Process for Embedded Systems

Bruce Douglass

Page 35: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Controlled-Iteration Model

Four phases per major cycle Inception: Negotiate and define product for

this iteration Elaboration: Design Construction: Create fully functional

product Transition: Deliver product of phase as

specified The next phase is started before the end of

the previous phase (say at 80% point).

Page 36: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Rational Unified Process(a form of controlled iteration)

ManagementEnvironment

Business Modeling

Implementation

Test

Analysis & Design

Preliminary Iteration(s)

Iter.#1

PhasesProcess Workflows

Iterations within phases

Supporting Workflows

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration Mgmt

Requirements

Elaboration TransitionInception Construction

Page 37: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Time-Box Requirement(can be used in iterative or incremental)

Requirements analysis Initial design while( not done )

{Develop a version within a bounded timeDeliver to customerGet feedbackPlan next version}

Page 38: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Scrum, A cure for the Wicked?

Scrum first mentioned in “The New New Product Development Game” (Harvard Business Review 86116:137-146, 1986)

Page 39: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Scrum Model(incremental model,

includes some aspects of team structure, as well as process)

A small group is responsible for picking up the ball and moving it toward the goal.

See http://www.cetus-links.org/oo_ooa_ood_methods.html

Start

Goal

Page 40: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Argument for the Scrum Model over other iterative models

A software development project might not be compartmentalizable into nice clean phases as the Spiral models suggest.

Scrum may be “just the thing” for wicked problems, because the team can quickly react to new information.

Page 41: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Some Principles of Scrum Model

Always have a product that you can theoretically ship: “done” can be declared at any time.

Build early, build often.

Continuously test the product as you build it.

Assume requirements may change; Have ablility to adapt to marketplace changes during development.

Small teams work in parallel to maximize communication and minimize overhead.

Page 42: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Concepts Used in Scrum(from http://www.controlchaos.com/ap.htm)

Backlog - an identification of all requirements that should be fulfilled in the completed product. Backlog items are prioritized.

Objects/Components - self-contained reusable modules

Packets - a group of objects within which a backlog item will be implemented. Coupling between the objects within a packet is high. Coupling between packets is low.

Team - a group of 6 or fewer members that works on a packet.

Problem - what must be solved by a team member to implement a backlog item within an object(s) (includes removing errors)

Issues - Concerns that must be resolved prior to a backlog item being assigned to a packet or a problem being solved by a change to a packet

Solution - the resolution of an issue or problem

Changes - the activities that are performed to resolve a problem

Risks - the risk associated with a problem, issue, or backlog item

Page 43: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Use of Iteration in Scrum http://www.controlchaos.com/scrumwp.htm

Each iteration consists of all of the standard Waterfall phases,

but each iteration only addresses one set of functionality.

Overall project deliverable has been partitioned into prioritized subsystems, each with clean interfaces.

Test the feasibility of subsystems and technology in the initial iterations.

Further iterations can add resources to the project while ramping up the speed of delivery.

Underlying development processes are still defined and linear.

Page 44: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Fountain Model(Ian Graham, et al., The OPEN Process Specification

OPEN = Object-oriented Process Environment and Notation )

Page 45: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Additional Models/Acronyms

RAD (Rapid Application Development):time-boxed, iterative prototyping

JAD (Joint Application Development): Focus on developing models shared between users and developers.

See http://faculty.babson.edu/osborn/cims/rad.htm for additional points.

Page 46: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Extreme Programming (XP)

(cf. http://www.extremeprogramming.org/rules.html)

User stories (something like use cases) are written by the customer.

Complex stories are broken down into simpler ones (like a WBS).

Stories are used to estimate the required amount of work.

Stories are used to create acceptance tests. A release plan is devised that determines

which stories will be available in which release. Don’t hesitate to change what doesn’t work.

Page 47: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Extreme Programming (XP)

Each release is preceded by a release planning meeting.

Each day begins with a stand-up meeting to share problems and concerns.

CRC cards are used for design. [XP and CRC were created by the same person, Kent Beck.]

Spike solutions are done to assess risks. The customer is always available.

Page 48: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Extreme Programming (XP)

All code must pass unit tests, which are coded before the code being tested (test-driven design).

Refactoring is done constantly. Integration is done by one pair. Integration is done frequently. Optimization is done last. Acceptance tests are run often.

Page 49: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Page 50: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

System Metaphor?“Choose a system metaphor to keep the team on the same page by naming classes and methods consistently. What you name your objects is very important for understanding the overall design of the system and code reuse as well. Being able to guess at what something might be named if it already existed and being right is a real time saver. Choose a system of names for your objects that everyone can relate to without specific, hard to earn knowledge about the system.

For example the Chrysler payroll system was built as a production line. At another auto manufacturer car sales were structured as a bill of materials. There is also a metaphor known as the naive metaphor which is based on your domain itself. But don't choose the naive metaphor unless it is simple enough.”

Page 51: Embedded Design

These slides prepared by Prof. Bob Keller of Harvery Mudd College and printed for ERAU/Prescott SE300 usage with his kind permission. Slides avaialble online at http://www.cs.hmc.edu/courses/2005/spring/cs121/slides/slides05.ppt

Keller’s Roll-Your-OwnSoftware Life-Cycle Construction

Kit

Requirements Analysis

System Design

Program Design

Implement

Unit Test

Integration Test

Acceptance Test

Prototype

Design Review

Detailed Design

Requirements Elicitation

Requirements Specification

Risk Analysis

Fix Errors

Code Walkthrough

Validate

Verify

Integrate

Cost Analysis

Maintain

Configure

PortDocument

Simulate

Train

Evaluate

Party

Page 52: Embedded Design

Embedded Systems Design and Development Lifecycle Model

Page 53: Embedded Design

Lifecycle Model

Page 54: Embedded Design

Life Cycle Model

Page 55: Embedded Design

Embedded System Life Cycle Models

(1) 3V Model

(2) Multiple V Model

Page 56: Embedded Design
Page 57: Embedded Design

“V” ModelEach phase has corresponding test or validation

counterpart

Requirements Analysis

System Design

Program Design

Implementation

Unit Test

Integration Test

Acceptance Test

Page 58: Embedded Design
Page 59: Embedded Design

1. 3V model

Page 60: Embedded Design

3V model

Page 61: Embedded Design

Sawtooth Model (Brugge)

Requirements Analysis

System Design

Program Design

Implementation

Unit Test

Integration Test

Acceptance TestDemo Prototype 1 Demo Prototype 2

Page 62: Embedded Design

2. Multiple v model

Page 63: Embedded Design

Advanced Life Cycle Models

(1) MDA

(2) Y-Model

(3) Platform-Based Design

Page 64: Embedded Design

1. MDA MODEL

MODEL DRIVEN ARCHITECTURE

Page 65: Embedded Design

2. Y - MODEL

Page 66: Embedded Design

3. PLATFORM BASED DESIGN MODEL

Page 67: Embedded Design

Approach used in Platform based Model

Page 68: Embedded Design

Embedded design life cycle diagram

Page 69: Embedded Design

Different Stages(stage 1) having a strong technical Foundation(stage 2) understanding the Architectural Business

Cycle (stage 3) defining the architectural patterns and

models(stage 4) defining the architectural structures (stage 5) documenting the architecture (stage 6) analyzing and reviewing the architecture(stage 7) Maintenance

Page 70: Embedded Design

7 stages can be merged to 3 steps

1. Product specification2. Hardware/software partitioning3. Hardware/software integration

Page 71: Embedded Design

Tools used in the design process

Page 72: Embedded Design

Product specification

• R&D engineers want to incorporate everything:– Wastes time and resource

• Marketing and sales will usually execute the product specification

• Engineers, however, should be involved in some customer tours– CPIF - Cost Plus Incentive-Fee (Contract)

– Listening to the customer is good

Page 73: Embedded Design

Common success factors

• Design team shares a common vision of the product

• Failed projects probably did not share a common vision of project goals– Low cost medium performance versus time to

market versus high performance and medium cost• Often overlooked part of the product

specification phase - the requirement of the development tools

Page 74: Embedded Design

Common success factors

• Embedded systems projects are late to market because engineers do not have access to the best tools– Tools should be part of the product specification– Prevents unrealistic expectations

• is/is-not list, or musts and wants

Page 75: Embedded Design

Hardware/software partitioning• Embedded design usually involves hardware and

software• Hardware utilizes Micro-processors, Micro-

controllers and Digital Signal Processors but are neither used nor perceived as computers. Generally, software is used for features and flexibility, while hardware is used for performance.

• What is the partitioning decision?• Different than application developers

– Not a good idea to h/w enhance h/w to address part of a problem

– The old days of co-processors (FPUs) are over - emulated

Page 76: Embedded Design

Algorithm • Steps required to implement a design• Combination of hardware components and

software components• Hardware/software partitioning also involves

the hows of partitioning the algorithm (software only, hardware only, combination)

• Think about the simple algorithm of Fibonacci series

Page 77: Embedded Design

Embedded design requirements

• Price sensitive• Leading edge performers• Non-standard• Market competitive• Proprietary

• These are conflicting in many ways!

Page 78: Embedded Design

Embedded design requirements cont…

• Algorithm partitioning depends on the choice of processor used in the design– Several hundreds to choose from!

• Choice of CPU impacts the partitioning decision which impacts the tools decisions, etc…

Page 79: Embedded Design

Embedded design requirements cont…

• Variety of possible choices• Experience required to arrive at optimal

design• Solution surface is smooth

– Adequate solution not far off from the best solution

• Constraints dictate the decision path

Page 80: Embedded Design

Iteration and implementation

• Hardware and software paths begin to diverge• Early design work before the walls go up

(between H/W and S/W)• Design still very fluid• Major blocks partitioned

– Boundary can still be moved• Iteration is common

Page 81: Embedded Design

Iteration and implementation

• Hardware team– Simulation tools to model performance

• Software team– Running code benchmarks on self contained systems

(evaluation boards)– Convenient development environment until the hardware

arrives!• Tools are helping (keep h/w, s/w engaged longer)• More tools on their way…

Page 82: Embedded Design

Hardware/software integration

• Special tools and methods to manage the complexity

• Process of integrating h/w and s/w requires debugging and discovery

–Did the software team really understand the

hardware spec?

Page 83: Embedded Design

Hardware/software integration

• Real-time nature of embedded systems leads to highly complex, non-deterministic behavior– Can only be analyzed as it occurs

• Accurately modeling and simulating behavior may be very time consuming– But tools are getting better!

Page 84: Embedded Design

Product testing and release

• Testing is important when performance is key• Testing and reliability more stringent

Is system performing at close to its optimal capabilities?

Page 85: Embedded Design

Compliance testing

• Embedded systems radiate a lot of radio frequency energy– “all electronic devices must be turned off…”

• If embedded designer does not consider these things, compliance engineering (CE) will fail– Software must be running to pass this test– This is often overlooked

Page 86: Embedded Design

Maintaining and upgrading

• Not many tools to support applications already in the field

• 60% of embedded engineers maintain systems– Original engineer long gone– Must rely on experience, any existing documentation,

etc…– Tools might be handy…

Page 87: Embedded Design

Maintaining and upgrading

“time to market” must become

“time to reverse engineer” and

“time to insight”

Page 88: Embedded Design

Systems Product Life Cycle

Page 89: Embedded Design
Page 90: Embedded Design
Page 91: Embedded Design
Page 92: Embedded Design
Page 93: Embedded Design
Page 94: Embedded Design
Page 95: Embedded Design