dept. computer and information science (ida) linköpings ...tddi11/lectures/pdf/7-design.pdf ·...
TRANSCRIPT
![Page 1: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/1.jpg)
Dept. Computer and Information Science (IDA)
Linköpings universitet
![Page 2: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/2.jpg)
Design challenge:optimizing design metrics
• Common metrics
– NRE cost (Non-Recurring Engineering cost): The one-timemonetary cost of designing the system
– Unit cost: the monetary cost of manufacturing each copy ofthe system, excluding NRE cost
– Size: the physical space required by the system
– Performance: the execution time or throughput of the system
– Power: the amount of power consumed by the system
– Flexibility: the ability to change the functionality of the system without incurring heavy NRE cost
![Page 3: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/3.jpg)
• Common metrics (continued)
– Time-to-prototype: the time needed to build a working version of the system
– Time-to-market: the time required to develop a system to the point that it can be released and sold to customers
– Maintainability: the ability to modify the system after its initial release
– Safety: absence of catastrophic consequences on the user(s) and the environment.
Design challenge:optimizing design metrics
![Page 4: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/4.jpg)
Design metric competition:improving one may worsen others
SizePerformance
Power
NRE cost
![Page 5: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/5.jpg)
Design methodology is important
• The loss of the Mars climate observer (1999)
• Most likely approached Mars too closely
• One of the problems: requirement
• Jet Propulsion Lab expected values in Newton
• Contractor calculated in pound force
• Trajectory adjustments unsuccessful
• Was not caught by configuration process or manual inspection
![Page 6: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/6.jpg)
Design methodology, design flow
• Design methodology: the process of creating a system
– Goal: optimize competing design metrics
• Time-to-market
• Design cost
• Manufacturing cost
• Quality, etc.
• Design flow: sequence of steps in a design methodology.– May be partially or fully automated with compilers and CAD tools.
– Use tools to transform, verify design.
• Design flow is one component of design methodology. Methodology also includes management, organization, etc.
![Page 7: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/7.jpg)
Waterfall model
Early model for software development.
![Page 8: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/8.jpg)
Spiral model
• More realistic, but can be complex, time to market?
From http://iansommerville.com
![Page 9: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/9.jpg)
Successive refinement:
• Several iterations, suited for when unfamiliar with domain application
![Page 10: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/10.jpg)
Design flows for embedded systems
• Embedded systems need design of hardware and software
• Even if you don’t design hardware, you still need select the correct boards, plug together several hardware components, and write code
![Page 11: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/11.jpg)
Hierarchical design
• from a most abstract complete system design flow• to more detailed design flow of components • many involved teams: requirements, design, testing• Communication is important!
![Page 12: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/12.jpg)
▪ Large project, several teams
▪ Good communication between teams: e.g., components and design
▪ Eliminate “over-the-wall” approach
▪ Cross-functional teams
▪ Concurrent product realization
▪ Information sharing
▪ Integrated project management
http://npdbook.com
http://npdbook.com
”Concurrent” and ”Over-the-wall” Engineering
![Page 13: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/13.jpg)
10%
7%
27%56%
Other
Code
Design
Requirements
[Jim Cooling 2003, cited from DeMarco78]
Frequency of faults
![Page 14: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/14.jpg)
• Requirement: informal descriptions of what customer wants:
• Correctness, unambiguousness, completeness, verifiability, consistency, modifiability, traceability
• Specification: more detailed, precise descriptions
• Both Requirements and specification describe system behavior from outside
Requirement and Specification
![Page 15: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/15.jpg)
• Describing embedded systems’ behavior– Can be extremely difficult
• Complexity increasing with increasing IC capacity
• Desired behavior often not fully understood in beginning
• English (or other natural language) common starting point
– Precise description difficult to impossible
Requirement and Specification
![Page 16: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/16.jpg)
Several factors, including ambiguities about relation between TCAS (Trafic Collision Avoidance System) and ATC (Air Trafic Control)
www.jal.com
The 2002-Überlingen crash
![Page 17: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/17.jpg)
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
– 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
![Page 18: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/18.jpg)
Models and languages
From “experience from specifying TCASII requirements using RSML”, Heimfahl and al, 1998.
![Page 19: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/19.jpg)
▪ Quality should be built in
▪ Quality standards (e.g., iso 9000)
▪ Verify specification and review designs
▪ Long lived bugs are more expensive
▪ The Therac-25 medical imaging system
▪ Six known accidents, massive radiation overdose
▪ Machine software developed in assembly by single programmer over several years
▪ Some errors depended on typing speed of operators
▪ Limited safety analysis, no mechanical backups, overly complex programs
Quality assurance
![Page 20: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/20.jpg)
Reuse: platforms
• A partial design:
– for a particular type of system;
– includes embedded processor(s);
– may include embedded software;
– customizable to a customer’s requirements:• software;
• component changes.
IBM CoreConnect
From CS598u by W. Wolf and J. Henkel
![Page 21: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/21.jpg)
• Any given space has a limited number of good solutions to its basic problems.
• A platform captures the good solutions to the important design challenges in that space.
• A platform reuses architectures.
Why platforms?
From CS598u by W. Wolf and J. Henkel
![Page 22: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/22.jpg)
22
• General-purpose architectures.• May require much more area to accomplish the same task.
• Often much less energy-efficient.
• Reconfigurable systems.• Good for pieces of the system, but tough to compete with
software for miscellaneous tasks.
Intel
Xilinx
From CS598u by W. Wolf and J. Henkel
![Page 23: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/23.jpg)
• Many high-volume markets are standards-driven:
– wireless;
– multimedia;
– networking.
• Standard defines the basic
I/O requirements.
bluetooth.com
MPEG Tamperemeeting
Standards and platforms
From CS598u by W. Wolf and J. Henkel
![Page 24: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/24.jpg)
• Systems house chooses implementation of standards functions:
– improved quality, lower power, etc.
• Product may be differentiated by added features:
– cell phone user interface.
• Standards encourage platform-based design.
Standards and platforms, cont’d.
From CS598u by W. Wolf and J. Henkel
![Page 25: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/25.jpg)
25
• Platform has many fewer degrees of freedom:• harder to differentiate;
• can analyze design characteristics.
• Full-custom:• extremely long design cycles;
• may use less aggressive design styles if you can’t reuse some pieces.
From CS598u by W. Wolf and J. Henkel
Platform vs. full-custom
![Page 26: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/26.jpg)
26
•Platforms use IP:• CPUs;
• memories;
• I/O devices.
•Platforms are IP at the next level of abstraction.
From CS598u by W. Wolf and J. Henkel
![Page 27: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/27.jpg)
27
• Fast time-to-market.
• Reuse system design---hardware, software.
• Allows chip to be customized to add value.
From CS598u by W. Wolf and J. Henkel
![Page 28: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/28.jpg)
28
• Masks.
• NRE: design of the platform + customization.
• Design verification.
From CS598u by W. Wolf and J. Henkel
![Page 29: Dept. Computer and Information Science (IDA) Linköpings ...TDDI11/lectures/pdf/7-design.pdf · Design challenge: optimizing design metrics ... Design flows for embedded systems •Embedded](https://reader034.vdocuments.net/reader034/viewer/2022042216/5ebf9c0f28a72b1f1e30d158/html5/thumbnails/29.jpg)
29
• Want to reuse as many hardware components as possible:• known performance, power.
• Want to use software libraries where possible.
• RTOS simplifies design of multi-tasking systems.
From CS598u by W. Wolf and J. Henkel