Lect 1
Lect 1
Class Overview
Forrest Brewer
Class Overview
What is an Embedded System?
– Physical Constraints: Time, Cost, Power
– Software Engineering in Real Time
– Multiple Stimulus/Response loops
Principles of Structured Design
– Metrics and System Performance
– Correctness and Design Costs
– Specification, Modeling and Abstraction
Class Logistics
2 Weekly Lectures
– Papers to read (no textbook --)
– Ref: “Practical UML StateCharts in C/C++” Miro Samek
– Weekly Exercises (Homework) 25%
– Out Wednesday, due Wednesday before 3PM in box
Recitation Section 10%
– Graded only for undergrads, everyone should go!
Final Project + Presentation 25%
– Graduates – ‘open’ final project
– Undergraduates – directed lab
4 orchestrated Labs 40%
Lab Location
Linux or Windows can be used
– Beware path issues if moving between platforms
– You can install 14.3 on your own laptop
• Need to use VPN to access license off campus
2-person teams need to obtain:
– Digilent Spartan 3E Starter Board
• $179 from http:/5/www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,792&Prod=S3EBOARD
• PMOD SPI Microphone (digilent site)
• Order asap! – labs start in 1 week
Embedded Computers
Computers
80%
In Vehicles In Robots
Embedded
Look
Lookfor
forthe
theCPUs…the
CPUs…theOpportunities
OpportunitiesWill
WillFollow!
Follow!
Source: DARPA/Intel (Tennenhouse)
Design Issues
Complex Systems!
– How to get it working?
• (on time, on budget)
• Need for abstraction and design reuse
– How to test it?
• Unforeseen Behaviors (Air Bus!)
Real Time Physical Embedding
– Does it meet constraints?
– Design Budgeting: Power, Size, Cost, Reliability
– What are the exploitable design options?
Technology
Integrated Processors
– Nearly free in production
A/D, D/A, Sampling
– Interface Analog world to cheap computing
MEMS, NEMS, Opto-Devices
– Miniature Direct Coupling to Real World
Batteries, Solar Cells, Vibration
Scavenging, Thermal Gradient Cell
– Computation and Communication Power
“Traditional” Software Embedded Systems =
CPU + RTOS
ASIC Features
Area: 4.6 mm x 5.1 mm
Speed: 20 MHz @ 10 Mcps
Technology: HP 0.5 m
Power: 16 mW - 120 mW
(mode dependent) @ 20
MHz, 3.3 V
Avg. Acquisition Time: 10 s
to 300 s
Other Examples
Atmel’s FPSLIC
(AVR + FPGA)
Altera’s Nios
(configurable
RISC on a PLD)
TI’s OMAP
(ARM Cortex+
Custom GPU+ TI
DSP)
Triscend’s A7 CSoC
Slide courtesy of Mani Srivastava
FPGA
CLB
Switchbox Routing
Channel
IOB
Channel
Routing
FPGA advantage:
performance of
parallel hardware
with the flexibility
of software
Configuration
Bit
FPGA Embedded RAM
Xilinx – Block SelectRAM
– 18Kb dual-port RAM arranged in columns
Altera – TriMatrix Dual-Port RAM
– M512 – 512 x 1
– M4K – 4096 x 1
– M-RAM – 64K x 8
Embedded System Design Flow
Environ Modeling
-ment the system, and algorithms involved;
Refining (or “partitioning”)
the function into smaller, interacting pieces
Test Bench Design
Abstractions from the Design, Communication,
Storage, and Computation resources
HW-SW partitioning: Allocation
(1) HW
(2) SW
Determine power and performance bounds
Scheduling
When are functions executed
Resource Arbitration
Mapping (Implementing)
(1) software, (2) Hardware,
(3) Coherence/Communication
Testing/Validation
Insitu with Design
DSP
Code
Many Implementation Choices
Microprocessors Speed Power Cost
Domain-specific processors
– DSP
– Network processors
– Microcontrollers
ASIPs
Reconfigurable SoC
FPGA
GateArray
ASIC
Full-Custom (COTS) High Low
Volume
Slide courtesy of Mani Srivastava
Hardware vs. Software Modules
Hardware = functionality implemented in custom
architecture
Software = functionality implemented stored
program
Key differences:
– Configurability, Adaptability
– Process Time Multiplexing
• software modules time multiplexed on a processor
• hardware modules often mapped to dedicated hardware
– Concurrency
• processors have serial “thread of control”
• dedicated hardware has concurrent activity