Introduction To Embedded Systems: Semicon Solutions
Introduction To Embedded Systems: Semicon Solutions
Introduction To Embedded Systems: Semicon Solutions
Embedded Systems
Semicon Solutions
Computing Systems
Desktop
PC, Workstations, Laptops
Servers
Embedded Systems
PDA
Cellphone
Routers
Microcontrollers
Embedded?
Computing system embedded within
electronic devices.
Combination of computer hardware and
software designed to performance a
specific function.
Any computing system that is not a
desktop computer nor a server.
Area of Applications
General purpose
PDA
Control systems
Electronics, Automotive
Signal processing
Media player, Camera
Communication
Cellphone, switch
Market
Average household uses ~225 embedded
processors; about 35 for automobile
Estimated 5 billion embedded processors
in use
94% share of world market
6%: Pentium, PowerPC, etc.
[Source: World Semiconductor Trade Statistics Bluebook]
Key Issues
Users Point of View
Single function/application
Dedicated to specific type of tasks
Tight constraints
Size
Power
Cost
Time-to-market
Real-time
Respond to environment in real time
Safety/Reliability
Failure can result in critical damages
Key Issues
Developers Point of View
Concurrent development of HW and SW, i.e.
HW/SW codesign
Wide selection of uPs.
Wide selection of OS, mostly real time (RTOS)
Few system resources
Specialized development tools
Debugging skills important
Robust HW/SW
Example
Elements
Trends
High level of integration
System-on-chip (SoC)
Multiprocessor System-on-Chip (MPSoC)
HW/SW co-design
Concurrent development
Optimization
Design flow
Design tools
Experiences
Microcontroller
Usually a simple uP plus
peripheral support devices
integrated in a single
package
SoC
A uP plus peripheral
support devices
integrated in a single
chip
E.g. Intel StrongARM
SoC vs uController?
SoC Design
Intellectual Property (IP)
Circuits or cores pre-deisgned/pre-verified for
certain functions
Implications:
Lower design cost
Fast time-to-market
Requirements
Functional
Functions
I/O
Non-functional
Performance
Cost
Power consumption
Size/weight
Architecture
How to implement the specifications
Components
System structure
Hardware/software partitioning
HW/SW work together to solve a problem
Partitioning decided by
Performance
Flexibility
Cost
Architecture Design
Designing An Embedded
System
Understand the big picture
Understand the details
Design SW with
Real time constraints
Low power
Small code size
Domain-specific knowledge