SlideShare a Scribd company logo
1 of 65
Download to read offline
CprE 488 – Embedded Systems Design
Lecture 1 – Introduction
Phillip Jones
Electrical and Computer Engineering
Iowa State University
www.ece.iastate.edu/~phjones
rcl.ece.iastate.edu
The trouble with computers, of course, is that they’re very sophisticated idiots. They do
exactly what you tell them at amazing speed – The Doctor
Lect-01.2
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
What is an Embedded System? (CPRE 288 reminder)
• Your Definition?
• What are some properties
of an Embedded System?
Blu-Ray / Remote
Programmable
Thermostat Roomba
Micro SD Card?
Quadcopter
Lect-01.3
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
What is an Embedded System? (CPRE 288 reminder)
• Your Definition?
• What are some properties
of an Embedded System?
Blu-Ray / Remote
Programmable
Thermostat Roomba
Micro SD Card?
Quadcopter
Lect-01.4
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
• The textbook definitions all have their limits
• An embedded system is simultaneously:
1. “a digital system that provides service as part of a
larger system” – G. De Micheli
2. “any device that includes a programmable computer
but is not itself a general-purpose computer” – M.
Wolf
3. “a less visible computer” - E. Lee
4. “a single-functioned, tightly constrained, reactive
computing system” – F. Vahid
5. “a computer system with a dedicated function within
a larger mechanical or electrical system, often with
real-time computing constraints” – Wikipedia
What is an Embedded System?
Lect-01.5
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
• These definitions quickly become blurred
when changing perspective:
Perspective Matters!
Part of a larger system:
Dedicated function:
Less visible:
Tightly constrained:
Not general-purpose:
Lect-01.6
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
• An embedded system is a computing system that uses an ARM
processor
• Multiple caveats:
– There is a significant 8-bit embedded market as well (e.g. PIC, Atmel,
8051)
– ARM is also attempting to grow into the desktop and server market
Another Practical Definition
Lect-01.7
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
A Different Paradigm
• Cyber-Physical System (CPS): an integration of
computation with physical processes
– Embedded computers monitor and control the physical
processes
– Feedback loops – physical processes affect computation,
and vice versa
• Examples tend to include networks of interacting components
(as opposed to standalone embedded devices)
• Still a matter of perspective as networks can span continents or be
enclosed in a single chip
Lect-01.8
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
• Even as Electrical and Computer Engineers it can be
easy to understate the scale (both in terms of size
and ubiquity) of embedded devices
Scale of Embedded Devices
• Apple Lightning Digital AV Adapter
• 256 MB DDR2, ARM SoC
• SanDisk microSD card
• 100 MHz ARM CPU
• But for what reason?
Lect-01.9
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
• Embedded system design – the methodologies, tools, and platforms
needed to model, implement, and analyze modern embedded
systems:
– Modeling – specifying what the system is supposed to do
– Implementation – the structured creation of hardware and software
components
– Analysis – understanding why the implementation matches (or fails to
match) the model
– Design is not just hacking things together (which is admittedly also fun)
• What makes embedded system design uniquely challenging?
– System reliability needs:
• Can’t crash, may not be able to reboot
• Can’t necessarily receive firmware / software updates
– System performance and power constraints:
• Real-time issues in many applications
• (Potentially) limited memory and processing power
– System cost:
• Fast time to market on new products
• Typically very cost competitive
This Course’s Focus
Lect-01.10
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Necessary Skill Gained From
Software Development (General) ComS 207/227, EE 285
Pointers CprE 288
Memory and Peripheral Interfacing CprE 288
CPU Architecture CprE 381
HDL Design CprE 381
Circuits and Signals EE 230, EE 224
Critical Thinking Your Parents
Planning and Hard Work Your Parents
CprE 488 Survival Skills
• Any course that claims to teach you how to design embedded
systems is somewhat misleading you, as the technology will
continue to undergo rapid change
• Our goal: provide a fundamental understanding of existing design
methodology coupled with some significant experience on a
current state-of-the-art platform
Pointers
Lect-01.11
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
CprE 488 – Meet the Staff
Prof. Phillip Jones
phjones@iastate.edu
Office Hours: TBA (329 Durham)
Teaching
Assistants
cpre488-tas@iastate.edu
Office Hours: TBA (Lab)
Robert Wernsman
Instructor James Talbert
Lect-01.12
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
CprE 488 – Resources
• We are here to help, but communication is key!
• Key online resources:
– Class webpage: class.ece.iastate.edu/cpre488 – contains
lecture notes, assignments, documentation, general
schedule information (Note: HW0 is due this Friday!!)
– Canvas space: https://canvas.iastate.edu is heavily used
for announcements, discussion, online submission, grading
– Class wiki: wikis.ece.iastate.edu/cpre488 – updated (by
you!) to include general tips and tricks and project
photos/videos
• Main text: M. Wolf. Computers as
Components (4th edition): Principles of
Embedded Computing System Design,
Morgan Kaufmann, 2017.
Lect-01.13
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Weekly Layout (Office hours to add)
Lecture
(1126 Sweeney)
Monday Tuesday Wednesday Thursday Friday
9 am
10 00
11 00
12 pm
1 00
2 00
3 00
4 00
…
Lab A
(2041 Coover)
Lab B
(2041 Coover)
Lecture
(1126 Sweeney)
7 00
Lab C
(2041 Coover)
Lect-01.14
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
• Necessary steps (scripts will be provided to help automate):
1. Login to any of the departmental Linux machines:
• Remote access to machines on the list here:
http://it.engineering.iastate.edu/remote/
• Use Cygwin/X (ssh), NX client (preferred if the machine supports it)
• Some extra machines connected to FPGA boards if you really need them
2. From the bash shell, enter the following:
source /remote/Xilinx/14.6/settings64.sh
export PATH=$PATH:/remote/Modelsim/10.1c/modeltech/linux_x86_64/
export LM_LICENSE_FILE=1717@io.ece.iastate.edu:27006@io.ece.iastate.edu
FPGA Design Tools
Lect-01.15
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Lect-01: Introduction
• Lect-02: Embedded Platforms
• Lect-03: Processors and Memory
• Lect-04: Interfacing Technologies
• Lect-05: Software Optimization
• Lect-06: Accelerator Design
• Lect-07: Embedded Control Systems
• Lect-08: Embedded OS
Lecture Topic Outline
Lect-01.16
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Machine Problems (MPs)
• 5 team-based, applied assignments
– Graded on completeness and effort
– Significant hardware and software components
– Two weeks each, with in-class and in-lab demos
• Tentative agenda:
– MP-0: Platform Introduction
– MP-1: Quad UAV Interfacing
– MP-2: Digital Camera
– MP-3: Target Acquisition
– MP-4: UAV Control
Lect-01.17
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Course Project
• Student-proposed, student-assessed embedded system
design project
• Essentially a capstone project – integrating your
knowledge in digital logic, programming, and system
design
• Something reasonable in a 5-6 week timeframe, likely
leveraging existing lab infrastructure
• Deliverables:
– Project proposal presentation and assessment rubric (week 9)
– Project presentation and demo (10 minutes, week 16)
– Project page on class wiki, with images / video (continuous)
Lect-01.18
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Grading Policies
• Grade components:
– Machine Problems [5x] (40%)
– Homework (10%)
– Class Participation (5%)
– Midterm Exams [2x] (30%)
– Final Project (15%)
• At first glance, CprE 488 appears to be quite a bit of work!
– Yes. Yes it is. 
– The lab/final project component is probably the most important
– If you are a valuable member of your lab team, you will get an A
• Our goals as your instructor:
– To create a fun, yet challenging, collaborative learning environment
– To motivate the entire class to a 4.0 GPA
– To inspire you to learn more (independent study / MS thesis ideas?)
Lect-01.19
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Some High-Level Challenges
• How much hardware do we need?
– How fast is the CPU? How large is Memory?
• How do we meet our deadlines?
– Faster hardware or cleverer software?
• How do we minimize power?
– Turn off unnecessary logic?
– Reduce memory accesses?
– Data compression?
• Multi-objective optimization in a vast design space
Lect-01.20
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Design Considerations: Mars Rovers
Mars Sojourner Rover (1997)
– About 25 pounds
– 25 x 19 x 12 inches
– 8-bit Intel 80C85
• 100 KHz
Opportunity/ Spirit (2004)
– About 400 pounds
– 5.2 x 7.5 x 4.9 ft
– 32-bit Rad6000
• 20 MHz
• cost: ??
Lect-01.21
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Some High-Level Challenges
• How much hardware do we need?
– How big is the CPU? Memory?
• How do we meet our deadlines?
– Faster hardware or cleverer software?
• How do we minimize power?
– Turn off unnecessary logic?
– Reduce memory accesses?
– Data compression?
• Multi-objective optimization in a vast design space
Lect-01.22
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Some High-Level Challenges
• How much hardware do we need?
– How big is the CPU? Memory?
• How do we meet our deadlines?
– Faster hardware or cleverer software?
• How do we minimize power?
– Turn off unnecessary logic?
– Reduce memory accesses?
– Data compression?
• Multi-objective optimization in a vast design space
Lect-01.23
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
System Constraints and Considerations
• Exploring Martian surface (Power consumption)
– Movement
– Communications
– Computation
Lect-01.24
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Energy / Power
• Quadcopter Battery
– Capacity: ~2000mAh
– Max current: 35C, 7.4V
– Quad
• On average requires 20A
• Average Watts required?
• Average Flight time?
Lect-01.25
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Energy / Power
• Quadcopter Battery
– Capacity: ~2000mAh
– Max current: 35C, 7.4V
– Quad
• On average requires 20A
• 20A * 7.4V = 148 W
• 2000/20,000=.1 hr=6 min
Lect-01.26
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
System Constraints and Considerations
• Exploring Martian surface (Power consumption)
– Movement: (??)
– Communications: (??)
– Computation: (??)
• Power Available
– Solar panels (140W, 4-hours/day)
– Battery storage
Lect-01.27
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
System Constraints and Considerations
• Exploring Martian surface (Power consumption)
– Movement: 100 W
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
– Computation: 20W@20Mhz, 5W@2.5MHz
• Power Available
– Solar panels (140W, 4-hours/day)
– Battery storage
Lect-01.28
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
System Constraints and Considerations
• Exploring Martian surface (Power consumption)
– Movement: 100 W
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
– Computation: 20W@20Mhz, 5W@2.5MHz
• Power Available
– Solar panels (140W, 4-hours/day)
• Capabilities
– 3,500 – 12,000 bit/s to Earth
– ~120,000 bit/s to Orbiter
Lect-01.29
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
System Constraints and Considerations
• Exploring Martian surface (Power consumption)
– Movement: 100 W
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
– Computation: 20W@20Mhz, 5W@2.5MHz
• Power Available
– Solar panels (140W, 4-hours/day)
• Capabilities
– 3,500 – 12,000 bit/s to Earth
– ~120,000 bit/s to Orbiter
• Task
– Image transmission:1024x1024 12-bit-pixels
Lect-01.30
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Image transmission
• Communicating with Earth or Orbiter
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
• 100,000 bits/s to Obiter 10,000 bit/s to Earth
– Computation: 20W@20Mhz, 5W@2.5MHz
– Image Size: 1000x1000 10-bit-pixels
• Constraints
– 3 hour window/day for Earth transmission
– 10 min widow/day for Obiter transmission
• Compute
– Time to send 1 image to Earth, to Obiter
– How many pics per day (Earth and Obiter)
Lect-01.31
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Image transmission
• Communicating with Earth or Orbiter
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
• 100,000 bits/s to Obiter 10,000 bit/s to Earth
– Computation: 20W@20Mhz, 5W@2.5MHz
– Image Size: 1000x1000 10-bit-pixels
• Constraints
– 3 hour window/day for Earth transmission
– 10 min widow/day for Obiter transmission
• Compute
– Time to send 1 image to Earth, to Obiter
– How many pics per day (Earth and Obiter)
Channel Power
(W=J/s)
Time/
pic (s)
Energy/
pic (J)
Time/
day (s)
Pics
/day
Energy
/day (J)
Rov->Orb 5 600
Rov->Earth 100 10,000
Lect-01.32
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Image transmission
• Communicating with Earth or Orbiter
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
• 100,000 bits/s to Obiter 10,000 bit/s to Earth
– Computation: 20W@20Mhz, 5W@2.5MHz
– Image Size: 1000x1000 10-bit-pixels
• Constraints
– 3 hour window/day for Earth transmission
– 10 min widow/day for Obiter transmission
• Compute
– Time to send 1 image to Earth, to Obiter
– How many pics per day (Earth and Obiter)
Channel Power
(W=J/s)
Time/
pic (s)
Energy/
pic (J)
Time/
day (s)
Pics
/day
Energy
/day (J)
Rov->Orb 5 100 500 600 6 3,000
Rov->Earth 100 1,000 100,000 10,000 10 1,000,000
Lect-01.33
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Image transmission
• Communicating with Earth or Orbiter (5,000 J / day budget)
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
• 100,000 bits/s to Obiter 10,000 bit/s to Earth
– Computation: 20W@20Mhz, 5W@2.5MHz
– Image Size: 1000x1000 10-bit-pixels
• Constraints
– 3 hour window/day for Earth transmission
– 10 min widow/day for Obiter transmission
• Compute
– Time to send 1 image to Earth, to Obiter
– How many pics per day (Earth and Obiter)
Channel Power
(W=J/s)
Time/
pic (s)
Energy/
pic (J)
Time/
day (s)
Pics
/day
Energy
/day (J)
Rov->Orb 5 100 500 600 6 3,000
Rov->Earth 100 1,000 100,000 10,000 10 1,000,000
Lect-01.34
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Image transmission
• Communicating with Earth or Orbiter (5,000 J / day budget)
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
• 100,000 bits/s to Obiter 10,000 bit/s to Earth
– Computation: 20W@20Mhz, 5W@2.5MHz
– Image Size: 1000x1000 10-bit-pixels
• Constraints
– 3 hour window/day for Earth transmission
– 10 min widow/day for Obiter transmission
• How could you get a better image rate?
Channel Power
(W=J/s)
Time/
pic (s)
Energy/
pic (J)
Time/
day (s)
Pics
/day
Energy
/day (J)
Rov->Orb 5 100 500 600 6 3,000
Rov->Earth 100 1,000 100,000 10,000 10 1,000,000
Lect-01.35
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Image transmission
• Communicating with Earth or Orbiter (5,000 J / day budget)
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
• 100,000 bits/s to Obiter (10 min), 10,000 bit/s to Earth (3 hr)
– Computation: 20W@20Mhz, 5W@2.5MHz
– Image Size: 1000x1000 10-bit-pixels=10,000,000 bits/image
• Compression: ICER (Compression Incremental cost-effectiveness
Ratio): ~1 bit/pixel
– 1,000,000 bits/image
• Compress 1/pixel per clock.
– How long to compress 1 image?
– How much Energy to compress 1 image?
Channel Power
(W=J/s)
Time/
pic (s)
Energy/
pic (J)
Time/
day (s)
Pics
/day
Energy
/day (J)
Comp time
/pic (s)
Comp Eng
/pic (J)
Rov->Orb 5 100 500 600 6 3,000
Rov->Earth 100 1,000 100,000 10,000 10 1,000,000
Lect-01.36
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Image transmission
• Communicating with Earth or Orbiter (5,000 J / day budget)
– Communications: Rover-Orbiter (5W), Rover-Earth (100W)
• 100,000 bits/s to Obiter (10 min), 10,000 bit/s to Earth (3 hr)
– Computation: 20W@20Mhz, 5W@2.5MHz
– Image Size: 1000x1000 10-bit-pixels=10,000,000 bits/image
• Compression: ICER (Compression Incremental cost-effectiveness
Ratio): ~1 bit/pixel
– 1,000,000 bits/image
• Compress 1/pixel per clock.
– How long to compress 1 image?
– How much Energy to compress 1 image?
Channel Power
(W=J/s)
Time/
pic (s)
Energy/
pic (J)
Time/
day (s)
Pics
/day
Energy
/day (J)
Comp time
/pic (s)
Comp Eng
/pic (J)
Rov->Orb 5 100 500 600 6 3,000 .05 / .4 1 / 2
Rov->Earth 100 1,000 100,000 10,000 10 1,000,000 .05 / .4 1 / 2
Lect-01.37
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
• An illustrative example of embedded system
design inspired by Chapter 1 of the M. Wolf
textbook
Illustrative Design Exercise
GPS Navigation Unit
Lect-01.38
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Major Steps in the Design Process
Lect-01.39
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Abstraction Levels
Temporal order
Low abstraction
High abstraction
Implementation Detail
Spatial order
physical layout
unstructured
Structure
real time
untimed
Timing
Lect-01.40
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Abstraction Levels [cont]
Implementation
Architecture
Specification
Logic Design
Product planning
Structure
pure functional
bus functional
RTL / ISA
gates
requirements
Timing
untimed
timing accurate
cycle accurate
gate delays
constraints
System Design
Processor Design
Lect-01.41
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Abstraction Levels [cont]
System level
System level
• Growing system complexities
 Move to higher levels of abstraction [ITRS07, itrs.net]
 Electronic system-level (ESL) design
1E0
1E1
1E2
1E3
1E4
1E5
1E6
1E7
Number of components
Level
Gate
RTL
Algorithm
Transistor
Abstraction
Accuracy
Source: R. Doemer, UC Irvine
Lect-01.42
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Major Steps in the Design Process
GPS Navigation Unit
Lect-01.43
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Requirements
• Plain language description of what the user
wants and expects to get
• May be developed in several ways:
– Talking directly to customers (User Research)
– Talking to marketing representatives
– Providing prototypes to users for comment
Lect-01.44
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Functional vs. Non-Functional Requirements
• Functional requirements:
– output as a function of input
• Non-functional requirements:
– time required to compute output;
– size, weight, etc.;
– power consumption;
– reliability;
– etc.
Lect-01.45
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
GPS Navigation Unit Requirements
• Example: Table for summarizing metrics of interest
Lect-01.46
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
GPS Navigation Unit Requirements
• Functionality: Hand held. Show major roads & landmarks.
• User interface: At least 400 x 600 pixel screen. Three
buttons max. Pop-up menu.
• Performance: Map should scroll smoothly. No more than 1
sec power-up. Lock onto GPS within 15 seconds.
• Cost: $120 street price = approx. $40 cost of goods sold.
• Physical size/weight: Should fit in hand
• Power consumption: Should run for 8 hours on four AA
batteries
• Any others?
Lect-01.47
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Requirements: Summary & Prototype
Lect-01.48
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Major Steps in the Design Process
GPS Navigation Unit
Lect-01.49
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
GPS Specification
• What should system include:
– What is received from GPS;
– Map data;
– User interface;
– Operations required to satisfy user requests;
– Background operations needed to keep the system
running
• Often described using mechanisms such as:
– UML
– Data/Control Flow diagrams, Compute Model (FSM)
– Formal Method language (1st order logic, LTL)
Lect-01.50
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
System Specification
• Capture requirements
– Functional
• Free of any implementation details
– Non-functional
• Quality metrics, constraints
• Formal representation
– Models of computation
• Allow analysis of properties
– Executable
• Can validate using simulation
• Can verify with formal methods
• Used for application development
– Precise description of desired system behavior
Natural language
 Ambiguous
 Incomplete
C1
P5
P3
P4
d
P1
P2
d
C2
Lect-01.51
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Major Steps in the Design Process
GPS Navigation Unit
Lect-01.52
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
• Processing elements (PEs)
– Processors
• General-purpose, programmable
• Digital signal processors (DSPs)
• Application-specific instruction
set processor (ASIP)
• Custom hardware processors
• Intellectual property (IP)
– Memories
• Communication elements (CEs)
– Transducers, bus bridges
– I/O peripherals
• Busses
– Communication media
• Parallel, master/slave protocols
• Serial and network media
 Heterogeneous multi-
processor systems
Multi-Processor System-
on-Chip (MPSoC)
Bridge
P1 P3
CPU Mem
HW IP
P5
C1, C2
Arbiter
P4
P2
C1, C2
CPU Bus IP Bus
System Architecture
Lect-01.53
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
GPS Unit System Architecture (Diagram)
GPS
receiver
search
engine
renderer
user
interface
database
display
Lect-01.54
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
GPS Unit Architecture
display
position database
search
renderer
timer
user
interface
pixels
frame
buffer
memory
GPS
receiver
CPU
panel I/O
SW Architecture
HW Architecture
Sys Diagram
Lect-01.55
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Major Steps in the Design Process
GPS Navigation Unit
Lect-01.56
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Component Design/Implementation
• Hardware
– Microarchitecture
– Register-transfer level (RTL)
• Software binaries
– Application object code
– Real-time operating
system (RTOS)
– Hardware abstraction layer (HAL)
• Interfaces
– Pins and wires
– Arbiters, muxes, interrupt
controllers (ICs), etc.
– Bus protocol state machines
CPU
Mem
Bridge
HW IP
Arbiter
HAL
RTOS
EXE
IC
Program
 Further logic and
physical synthesis
Manufacturing
Prototyping
boards
Lect-01.57
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Major Steps in the Design Process
GPS Navigation Unit
Lect-01.58
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Component Design and System Integration
• Must spend time architecting the system before coding
– Draw pictures/diagrams at various levels of detail
• Evaluate Component Sourcing Options:
– Ready-made,
– Modified from existing designs,
– Designed from scratch
• Putting components together early
– Many bugs appear only at this stage
• Have a plan for integrating components to uncover bugs
quickly, test as much functionality as early as possible
Lect-01.59
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Important questions to keep in mind
• Does it really work?
– Is the specification correct?
– Does the implementation meet the spec?
– How do we test for real-time characteristics?
– How do we test on real data?
• How do we work on the system?
– Observability, controllability?
– What is our development platform?
Lect-01.60
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
• These slides are inspired in part by material
developed and copyright by:
– Marilyn Wolf (Georgia Tech)
– Frank Vahid (UC-Riverside)
– A. Gerstlauer (UT-Austin)
– Daniel Gajski (UC-Irvine)
– Ed Lee (UC-Berkeley)
– James Hamblen (Georgia Tech)
Acknowledgments
Lect-01.61
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Extra slides
Lect-01.62
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
GPS Unit System Specification (Diagram)
GPS
receiver
search
engine
renderer
user
interface
database
display
Lect-01.63
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
Abstraction Levels [cont.]
Temporal order
Low abstraction
High abstraction
Implementation Detail
Spatial order
physical layout
unstructured
Structure
real time
untimed
Timing
Lect-01.64
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
GPS Unit System Architecture (HW)
GPS
receiver
CPU
panel I/O
display frame
buffer
memory
Lect-01.65
CprE 488 (Introduction)
Jones, Spring 2019 © ISU
GPS Unit System Specification (SW)
position database
search
renderer
timer
user
interface
pixels

More Related Content

Similar to Lect-01_embedded_system_design_concepts.pdf

12 la bel_soc overview
12 la bel_soc overview12 la bel_soc overview
12 la bel_soc overview
Hema Chandran
 
Exploring emerging technologies in the HPC co-design space
Exploring emerging technologies in the HPC co-design spaceExploring emerging technologies in the HPC co-design space
Exploring emerging technologies in the HPC co-design space
jsvetter
 
Parallelism Processor Design
Parallelism Processor DesignParallelism Processor Design
Parallelism Processor Design
Sri Prasanna
 
Computer architecture overview
Computer architecture overviewComputer architecture overview
Computer architecture overview
Muhammad Ishaq
 
Whitepaper: Where did my CPU go?
Whitepaper: Where did my CPU go?Whitepaper: Where did my CPU go?
Whitepaper: Where did my CPU go?
Kristofferson A
 

Similar to Lect-01_embedded_system_design_concepts.pdf (20)

12 la bel_soc overview
12 la bel_soc overview12 la bel_soc overview
12 la bel_soc overview
 
Exploring emerging technologies in the HPC co-design space
Exploring emerging technologies in the HPC co-design spaceExploring emerging technologies in the HPC co-design space
Exploring emerging technologies in the HPC co-design space
 
IT ESSENTIALS 6.0
IT ESSENTIALS 6.0IT ESSENTIALS 6.0
IT ESSENTIALS 6.0
 
Unit 1 Introduction to Embedded computing and ARM processor
Unit 1 Introduction to Embedded computing and ARM processorUnit 1 Introduction to Embedded computing and ARM processor
Unit 1 Introduction to Embedded computing and ARM processor
 
Chapter 1 - Personal Computers and Applications.pptx
Chapter 1 - Personal Computers and Applications.pptxChapter 1 - Personal Computers and Applications.pptx
Chapter 1 - Personal Computers and Applications.pptx
 
Embedded syllabus
Embedded syllabusEmbedded syllabus
Embedded syllabus
 
Fundamentals.pptx
Fundamentals.pptxFundamentals.pptx
Fundamentals.pptx
 
lec00_introduction.ppt
lec00_introduction.pptlec00_introduction.ppt
lec00_introduction.ppt
 
introduction to computer engineering
introduction to computer engineeringintroduction to computer engineering
introduction to computer engineering
 
lec01.pdf
lec01.pdflec01.pdf
lec01.pdf
 
Parallelism Processor Design
Parallelism Processor DesignParallelism Processor Design
Parallelism Processor Design
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
 
Japan's post K Computer
Japan's post K ComputerJapan's post K Computer
Japan's post K Computer
 
Computer architecture overview
Computer architecture overviewComputer architecture overview
Computer architecture overview
 
Unit2 soc
Unit2 socUnit2 soc
Unit2 soc
 
1. An Introduction to Embed Systems_DRKG.pptx
1. An Introduction to Embed Systems_DRKG.pptx1. An Introduction to Embed Systems_DRKG.pptx
1. An Introduction to Embed Systems_DRKG.pptx
 
Development Trends of Next-Generation Supercomputers
Development Trends of Next-Generation SupercomputersDevelopment Trends of Next-Generation Supercomputers
Development Trends of Next-Generation Supercomputers
 
Distributed DNN training: Infrastructure, challenges, and lessons learned
Distributed DNN training: Infrastructure, challenges, and lessons learnedDistributed DNN training: Infrastructure, challenges, and lessons learned
Distributed DNN training: Infrastructure, challenges, and lessons learned
 
05 Preparing for Extreme Geterogeneity in HPC
05 Preparing for Extreme Geterogeneity in HPC05 Preparing for Extreme Geterogeneity in HPC
05 Preparing for Extreme Geterogeneity in HPC
 
Whitepaper: Where did my CPU go?
Whitepaper: Where did my CPU go?Whitepaper: Where did my CPU go?
Whitepaper: Where did my CPU go?
 

Recently uploaded

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
dharasingh5698
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 

Recently uploaded (20)

Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 

Lect-01_embedded_system_design_concepts.pdf

  • 1. CprE 488 – Embedded Systems Design Lecture 1 – Introduction Phillip Jones Electrical and Computer Engineering Iowa State University www.ece.iastate.edu/~phjones rcl.ece.iastate.edu The trouble with computers, of course, is that they’re very sophisticated idiots. They do exactly what you tell them at amazing speed – The Doctor
  • 2. Lect-01.2 CprE 488 (Introduction) Jones, Spring 2019 © ISU What is an Embedded System? (CPRE 288 reminder) • Your Definition? • What are some properties of an Embedded System? Blu-Ray / Remote Programmable Thermostat Roomba Micro SD Card? Quadcopter
  • 3. Lect-01.3 CprE 488 (Introduction) Jones, Spring 2019 © ISU What is an Embedded System? (CPRE 288 reminder) • Your Definition? • What are some properties of an Embedded System? Blu-Ray / Remote Programmable Thermostat Roomba Micro SD Card? Quadcopter
  • 4. Lect-01.4 CprE 488 (Introduction) Jones, Spring 2019 © ISU • The textbook definitions all have their limits • An embedded system is simultaneously: 1. “a digital system that provides service as part of a larger system” – G. De Micheli 2. “any device that includes a programmable computer but is not itself a general-purpose computer” – M. Wolf 3. “a less visible computer” - E. Lee 4. “a single-functioned, tightly constrained, reactive computing system” – F. Vahid 5. “a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints” – Wikipedia What is an Embedded System?
  • 5. Lect-01.5 CprE 488 (Introduction) Jones, Spring 2019 © ISU • These definitions quickly become blurred when changing perspective: Perspective Matters! Part of a larger system: Dedicated function: Less visible: Tightly constrained: Not general-purpose:
  • 6. Lect-01.6 CprE 488 (Introduction) Jones, Spring 2019 © ISU • An embedded system is a computing system that uses an ARM processor • Multiple caveats: – There is a significant 8-bit embedded market as well (e.g. PIC, Atmel, 8051) – ARM is also attempting to grow into the desktop and server market Another Practical Definition
  • 7. Lect-01.7 CprE 488 (Introduction) Jones, Spring 2019 © ISU A Different Paradigm • Cyber-Physical System (CPS): an integration of computation with physical processes – Embedded computers monitor and control the physical processes – Feedback loops – physical processes affect computation, and vice versa • Examples tend to include networks of interacting components (as opposed to standalone embedded devices) • Still a matter of perspective as networks can span continents or be enclosed in a single chip
  • 8. Lect-01.8 CprE 488 (Introduction) Jones, Spring 2019 © ISU • Even as Electrical and Computer Engineers it can be easy to understate the scale (both in terms of size and ubiquity) of embedded devices Scale of Embedded Devices • Apple Lightning Digital AV Adapter • 256 MB DDR2, ARM SoC • SanDisk microSD card • 100 MHz ARM CPU • But for what reason?
  • 9. Lect-01.9 CprE 488 (Introduction) Jones, Spring 2019 © ISU • Embedded system design – the methodologies, tools, and platforms needed to model, implement, and analyze modern embedded systems: – Modeling – specifying what the system is supposed to do – Implementation – the structured creation of hardware and software components – Analysis – understanding why the implementation matches (or fails to match) the model – Design is not just hacking things together (which is admittedly also fun) • What makes embedded system design uniquely challenging? – System reliability needs: • Can’t crash, may not be able to reboot • Can’t necessarily receive firmware / software updates – System performance and power constraints: • Real-time issues in many applications • (Potentially) limited memory and processing power – System cost: • Fast time to market on new products • Typically very cost competitive This Course’s Focus
  • 10. Lect-01.10 CprE 488 (Introduction) Jones, Spring 2019 © ISU Necessary Skill Gained From Software Development (General) ComS 207/227, EE 285 Pointers CprE 288 Memory and Peripheral Interfacing CprE 288 CPU Architecture CprE 381 HDL Design CprE 381 Circuits and Signals EE 230, EE 224 Critical Thinking Your Parents Planning and Hard Work Your Parents CprE 488 Survival Skills • Any course that claims to teach you how to design embedded systems is somewhat misleading you, as the technology will continue to undergo rapid change • Our goal: provide a fundamental understanding of existing design methodology coupled with some significant experience on a current state-of-the-art platform Pointers
  • 11. Lect-01.11 CprE 488 (Introduction) Jones, Spring 2019 © ISU CprE 488 – Meet the Staff Prof. Phillip Jones phjones@iastate.edu Office Hours: TBA (329 Durham) Teaching Assistants cpre488-tas@iastate.edu Office Hours: TBA (Lab) Robert Wernsman Instructor James Talbert
  • 12. Lect-01.12 CprE 488 (Introduction) Jones, Spring 2019 © ISU CprE 488 – Resources • We are here to help, but communication is key! • Key online resources: – Class webpage: class.ece.iastate.edu/cpre488 – contains lecture notes, assignments, documentation, general schedule information (Note: HW0 is due this Friday!!) – Canvas space: https://canvas.iastate.edu is heavily used for announcements, discussion, online submission, grading – Class wiki: wikis.ece.iastate.edu/cpre488 – updated (by you!) to include general tips and tricks and project photos/videos • Main text: M. Wolf. Computers as Components (4th edition): Principles of Embedded Computing System Design, Morgan Kaufmann, 2017.
  • 13. Lect-01.13 CprE 488 (Introduction) Jones, Spring 2019 © ISU Weekly Layout (Office hours to add) Lecture (1126 Sweeney) Monday Tuesday Wednesday Thursday Friday 9 am 10 00 11 00 12 pm 1 00 2 00 3 00 4 00 … Lab A (2041 Coover) Lab B (2041 Coover) Lecture (1126 Sweeney) 7 00 Lab C (2041 Coover)
  • 14. Lect-01.14 CprE 488 (Introduction) Jones, Spring 2019 © ISU • Necessary steps (scripts will be provided to help automate): 1. Login to any of the departmental Linux machines: • Remote access to machines on the list here: http://it.engineering.iastate.edu/remote/ • Use Cygwin/X (ssh), NX client (preferred if the machine supports it) • Some extra machines connected to FPGA boards if you really need them 2. From the bash shell, enter the following: source /remote/Xilinx/14.6/settings64.sh export PATH=$PATH:/remote/Modelsim/10.1c/modeltech/linux_x86_64/ export LM_LICENSE_FILE=1717@io.ece.iastate.edu:27006@io.ece.iastate.edu FPGA Design Tools
  • 15. Lect-01.15 CprE 488 (Introduction) Jones, Spring 2019 © ISU Lect-01: Introduction • Lect-02: Embedded Platforms • Lect-03: Processors and Memory • Lect-04: Interfacing Technologies • Lect-05: Software Optimization • Lect-06: Accelerator Design • Lect-07: Embedded Control Systems • Lect-08: Embedded OS Lecture Topic Outline
  • 16. Lect-01.16 CprE 488 (Introduction) Jones, Spring 2019 © ISU Machine Problems (MPs) • 5 team-based, applied assignments – Graded on completeness and effort – Significant hardware and software components – Two weeks each, with in-class and in-lab demos • Tentative agenda: – MP-0: Platform Introduction – MP-1: Quad UAV Interfacing – MP-2: Digital Camera – MP-3: Target Acquisition – MP-4: UAV Control
  • 17. Lect-01.17 CprE 488 (Introduction) Jones, Spring 2019 © ISU Course Project • Student-proposed, student-assessed embedded system design project • Essentially a capstone project – integrating your knowledge in digital logic, programming, and system design • Something reasonable in a 5-6 week timeframe, likely leveraging existing lab infrastructure • Deliverables: – Project proposal presentation and assessment rubric (week 9) – Project presentation and demo (10 minutes, week 16) – Project page on class wiki, with images / video (continuous)
  • 18. Lect-01.18 CprE 488 (Introduction) Jones, Spring 2019 © ISU Grading Policies • Grade components: – Machine Problems [5x] (40%) – Homework (10%) – Class Participation (5%) – Midterm Exams [2x] (30%) – Final Project (15%) • At first glance, CprE 488 appears to be quite a bit of work! – Yes. Yes it is.  – The lab/final project component is probably the most important – If you are a valuable member of your lab team, you will get an A • Our goals as your instructor: – To create a fun, yet challenging, collaborative learning environment – To motivate the entire class to a 4.0 GPA – To inspire you to learn more (independent study / MS thesis ideas?)
  • 19. Lect-01.19 CprE 488 (Introduction) Jones, Spring 2019 © ISU Some High-Level Challenges • How much hardware do we need? – How fast is the CPU? How large is Memory? • How do we meet our deadlines? – Faster hardware or cleverer software? • How do we minimize power? – Turn off unnecessary logic? – Reduce memory accesses? – Data compression? • Multi-objective optimization in a vast design space
  • 20. Lect-01.20 CprE 488 (Introduction) Jones, Spring 2019 © ISU Design Considerations: Mars Rovers Mars Sojourner Rover (1997) – About 25 pounds – 25 x 19 x 12 inches – 8-bit Intel 80C85 • 100 KHz Opportunity/ Spirit (2004) – About 400 pounds – 5.2 x 7.5 x 4.9 ft – 32-bit Rad6000 • 20 MHz • cost: ??
  • 21. Lect-01.21 CprE 488 (Introduction) Jones, Spring 2019 © ISU Some High-Level Challenges • How much hardware do we need? – How big is the CPU? Memory? • How do we meet our deadlines? – Faster hardware or cleverer software? • How do we minimize power? – Turn off unnecessary logic? – Reduce memory accesses? – Data compression? • Multi-objective optimization in a vast design space
  • 22. Lect-01.22 CprE 488 (Introduction) Jones, Spring 2019 © ISU Some High-Level Challenges • How much hardware do we need? – How big is the CPU? Memory? • How do we meet our deadlines? – Faster hardware or cleverer software? • How do we minimize power? – Turn off unnecessary logic? – Reduce memory accesses? – Data compression? • Multi-objective optimization in a vast design space
  • 23. Lect-01.23 CprE 488 (Introduction) Jones, Spring 2019 © ISU System Constraints and Considerations • Exploring Martian surface (Power consumption) – Movement – Communications – Computation
  • 24. Lect-01.24 CprE 488 (Introduction) Jones, Spring 2019 © ISU Energy / Power • Quadcopter Battery – Capacity: ~2000mAh – Max current: 35C, 7.4V – Quad • On average requires 20A • Average Watts required? • Average Flight time?
  • 25. Lect-01.25 CprE 488 (Introduction) Jones, Spring 2019 © ISU Energy / Power • Quadcopter Battery – Capacity: ~2000mAh – Max current: 35C, 7.4V – Quad • On average requires 20A • 20A * 7.4V = 148 W • 2000/20,000=.1 hr=6 min
  • 26. Lect-01.26 CprE 488 (Introduction) Jones, Spring 2019 © ISU System Constraints and Considerations • Exploring Martian surface (Power consumption) – Movement: (??) – Communications: (??) – Computation: (??) • Power Available – Solar panels (140W, 4-hours/day) – Battery storage
  • 27. Lect-01.27 CprE 488 (Introduction) Jones, Spring 2019 © ISU System Constraints and Considerations • Exploring Martian surface (Power consumption) – Movement: 100 W – Communications: Rover-Orbiter (5W), Rover-Earth (100W) – Computation: 20W@20Mhz, 5W@2.5MHz • Power Available – Solar panels (140W, 4-hours/day) – Battery storage
  • 28. Lect-01.28 CprE 488 (Introduction) Jones, Spring 2019 © ISU System Constraints and Considerations • Exploring Martian surface (Power consumption) – Movement: 100 W – Communications: Rover-Orbiter (5W), Rover-Earth (100W) – Computation: 20W@20Mhz, 5W@2.5MHz • Power Available – Solar panels (140W, 4-hours/day) • Capabilities – 3,500 – 12,000 bit/s to Earth – ~120,000 bit/s to Orbiter
  • 29. Lect-01.29 CprE 488 (Introduction) Jones, Spring 2019 © ISU System Constraints and Considerations • Exploring Martian surface (Power consumption) – Movement: 100 W – Communications: Rover-Orbiter (5W), Rover-Earth (100W) – Computation: 20W@20Mhz, 5W@2.5MHz • Power Available – Solar panels (140W, 4-hours/day) • Capabilities – 3,500 – 12,000 bit/s to Earth – ~120,000 bit/s to Orbiter • Task – Image transmission:1024x1024 12-bit-pixels
  • 30. Lect-01.30 CprE 488 (Introduction) Jones, Spring 2019 © ISU Image transmission • Communicating with Earth or Orbiter – Communications: Rover-Orbiter (5W), Rover-Earth (100W) • 100,000 bits/s to Obiter 10,000 bit/s to Earth – Computation: 20W@20Mhz, 5W@2.5MHz – Image Size: 1000x1000 10-bit-pixels • Constraints – 3 hour window/day for Earth transmission – 10 min widow/day for Obiter transmission • Compute – Time to send 1 image to Earth, to Obiter – How many pics per day (Earth and Obiter)
  • 31. Lect-01.31 CprE 488 (Introduction) Jones, Spring 2019 © ISU Image transmission • Communicating with Earth or Orbiter – Communications: Rover-Orbiter (5W), Rover-Earth (100W) • 100,000 bits/s to Obiter 10,000 bit/s to Earth – Computation: 20W@20Mhz, 5W@2.5MHz – Image Size: 1000x1000 10-bit-pixels • Constraints – 3 hour window/day for Earth transmission – 10 min widow/day for Obiter transmission • Compute – Time to send 1 image to Earth, to Obiter – How many pics per day (Earth and Obiter) Channel Power (W=J/s) Time/ pic (s) Energy/ pic (J) Time/ day (s) Pics /day Energy /day (J) Rov->Orb 5 600 Rov->Earth 100 10,000
  • 32. Lect-01.32 CprE 488 (Introduction) Jones, Spring 2019 © ISU Image transmission • Communicating with Earth or Orbiter – Communications: Rover-Orbiter (5W), Rover-Earth (100W) • 100,000 bits/s to Obiter 10,000 bit/s to Earth – Computation: 20W@20Mhz, 5W@2.5MHz – Image Size: 1000x1000 10-bit-pixels • Constraints – 3 hour window/day for Earth transmission – 10 min widow/day for Obiter transmission • Compute – Time to send 1 image to Earth, to Obiter – How many pics per day (Earth and Obiter) Channel Power (W=J/s) Time/ pic (s) Energy/ pic (J) Time/ day (s) Pics /day Energy /day (J) Rov->Orb 5 100 500 600 6 3,000 Rov->Earth 100 1,000 100,000 10,000 10 1,000,000
  • 33. Lect-01.33 CprE 488 (Introduction) Jones, Spring 2019 © ISU Image transmission • Communicating with Earth or Orbiter (5,000 J / day budget) – Communications: Rover-Orbiter (5W), Rover-Earth (100W) • 100,000 bits/s to Obiter 10,000 bit/s to Earth – Computation: 20W@20Mhz, 5W@2.5MHz – Image Size: 1000x1000 10-bit-pixels • Constraints – 3 hour window/day for Earth transmission – 10 min widow/day for Obiter transmission • Compute – Time to send 1 image to Earth, to Obiter – How many pics per day (Earth and Obiter) Channel Power (W=J/s) Time/ pic (s) Energy/ pic (J) Time/ day (s) Pics /day Energy /day (J) Rov->Orb 5 100 500 600 6 3,000 Rov->Earth 100 1,000 100,000 10,000 10 1,000,000
  • 34. Lect-01.34 CprE 488 (Introduction) Jones, Spring 2019 © ISU Image transmission • Communicating with Earth or Orbiter (5,000 J / day budget) – Communications: Rover-Orbiter (5W), Rover-Earth (100W) • 100,000 bits/s to Obiter 10,000 bit/s to Earth – Computation: 20W@20Mhz, 5W@2.5MHz – Image Size: 1000x1000 10-bit-pixels • Constraints – 3 hour window/day for Earth transmission – 10 min widow/day for Obiter transmission • How could you get a better image rate? Channel Power (W=J/s) Time/ pic (s) Energy/ pic (J) Time/ day (s) Pics /day Energy /day (J) Rov->Orb 5 100 500 600 6 3,000 Rov->Earth 100 1,000 100,000 10,000 10 1,000,000
  • 35. Lect-01.35 CprE 488 (Introduction) Jones, Spring 2019 © ISU Image transmission • Communicating with Earth or Orbiter (5,000 J / day budget) – Communications: Rover-Orbiter (5W), Rover-Earth (100W) • 100,000 bits/s to Obiter (10 min), 10,000 bit/s to Earth (3 hr) – Computation: 20W@20Mhz, 5W@2.5MHz – Image Size: 1000x1000 10-bit-pixels=10,000,000 bits/image • Compression: ICER (Compression Incremental cost-effectiveness Ratio): ~1 bit/pixel – 1,000,000 bits/image • Compress 1/pixel per clock. – How long to compress 1 image? – How much Energy to compress 1 image? Channel Power (W=J/s) Time/ pic (s) Energy/ pic (J) Time/ day (s) Pics /day Energy /day (J) Comp time /pic (s) Comp Eng /pic (J) Rov->Orb 5 100 500 600 6 3,000 Rov->Earth 100 1,000 100,000 10,000 10 1,000,000
  • 36. Lect-01.36 CprE 488 (Introduction) Jones, Spring 2019 © ISU Image transmission • Communicating with Earth or Orbiter (5,000 J / day budget) – Communications: Rover-Orbiter (5W), Rover-Earth (100W) • 100,000 bits/s to Obiter (10 min), 10,000 bit/s to Earth (3 hr) – Computation: 20W@20Mhz, 5W@2.5MHz – Image Size: 1000x1000 10-bit-pixels=10,000,000 bits/image • Compression: ICER (Compression Incremental cost-effectiveness Ratio): ~1 bit/pixel – 1,000,000 bits/image • Compress 1/pixel per clock. – How long to compress 1 image? – How much Energy to compress 1 image? Channel Power (W=J/s) Time/ pic (s) Energy/ pic (J) Time/ day (s) Pics /day Energy /day (J) Comp time /pic (s) Comp Eng /pic (J) Rov->Orb 5 100 500 600 6 3,000 .05 / .4 1 / 2 Rov->Earth 100 1,000 100,000 10,000 10 1,000,000 .05 / .4 1 / 2
  • 37. Lect-01.37 CprE 488 (Introduction) Jones, Spring 2019 © ISU • An illustrative example of embedded system design inspired by Chapter 1 of the M. Wolf textbook Illustrative Design Exercise GPS Navigation Unit
  • 38. Lect-01.38 CprE 488 (Introduction) Jones, Spring 2019 © ISU Major Steps in the Design Process
  • 39. Lect-01.39 CprE 488 (Introduction) Jones, Spring 2019 © ISU Abstraction Levels Temporal order Low abstraction High abstraction Implementation Detail Spatial order physical layout unstructured Structure real time untimed Timing
  • 40. Lect-01.40 CprE 488 (Introduction) Jones, Spring 2019 © ISU Abstraction Levels [cont] Implementation Architecture Specification Logic Design Product planning Structure pure functional bus functional RTL / ISA gates requirements Timing untimed timing accurate cycle accurate gate delays constraints System Design Processor Design
  • 41. Lect-01.41 CprE 488 (Introduction) Jones, Spring 2019 © ISU Abstraction Levels [cont] System level System level • Growing system complexities  Move to higher levels of abstraction [ITRS07, itrs.net]  Electronic system-level (ESL) design 1E0 1E1 1E2 1E3 1E4 1E5 1E6 1E7 Number of components Level Gate RTL Algorithm Transistor Abstraction Accuracy Source: R. Doemer, UC Irvine
  • 42. Lect-01.42 CprE 488 (Introduction) Jones, Spring 2019 © ISU Major Steps in the Design Process GPS Navigation Unit
  • 43. Lect-01.43 CprE 488 (Introduction) Jones, Spring 2019 © ISU Requirements • Plain language description of what the user wants and expects to get • May be developed in several ways: – Talking directly to customers (User Research) – Talking to marketing representatives – Providing prototypes to users for comment
  • 44. Lect-01.44 CprE 488 (Introduction) Jones, Spring 2019 © ISU Functional vs. Non-Functional Requirements • Functional requirements: – output as a function of input • Non-functional requirements: – time required to compute output; – size, weight, etc.; – power consumption; – reliability; – etc.
  • 45. Lect-01.45 CprE 488 (Introduction) Jones, Spring 2019 © ISU GPS Navigation Unit Requirements • Example: Table for summarizing metrics of interest
  • 46. Lect-01.46 CprE 488 (Introduction) Jones, Spring 2019 © ISU GPS Navigation Unit Requirements • Functionality: Hand held. Show major roads & landmarks. • User interface: At least 400 x 600 pixel screen. Three buttons max. Pop-up menu. • Performance: Map should scroll smoothly. No more than 1 sec power-up. Lock onto GPS within 15 seconds. • Cost: $120 street price = approx. $40 cost of goods sold. • Physical size/weight: Should fit in hand • Power consumption: Should run for 8 hours on four AA batteries • Any others?
  • 47. Lect-01.47 CprE 488 (Introduction) Jones, Spring 2019 © ISU Requirements: Summary & Prototype
  • 48. Lect-01.48 CprE 488 (Introduction) Jones, Spring 2019 © ISU Major Steps in the Design Process GPS Navigation Unit
  • 49. Lect-01.49 CprE 488 (Introduction) Jones, Spring 2019 © ISU GPS Specification • What should system include: – What is received from GPS; – Map data; – User interface; – Operations required to satisfy user requests; – Background operations needed to keep the system running • Often described using mechanisms such as: – UML – Data/Control Flow diagrams, Compute Model (FSM) – Formal Method language (1st order logic, LTL)
  • 50. Lect-01.50 CprE 488 (Introduction) Jones, Spring 2019 © ISU System Specification • Capture requirements – Functional • Free of any implementation details – Non-functional • Quality metrics, constraints • Formal representation – Models of computation • Allow analysis of properties – Executable • Can validate using simulation • Can verify with formal methods • Used for application development – Precise description of desired system behavior Natural language  Ambiguous  Incomplete C1 P5 P3 P4 d P1 P2 d C2
  • 51. Lect-01.51 CprE 488 (Introduction) Jones, Spring 2019 © ISU Major Steps in the Design Process GPS Navigation Unit
  • 52. Lect-01.52 CprE 488 (Introduction) Jones, Spring 2019 © ISU • Processing elements (PEs) – Processors • General-purpose, programmable • Digital signal processors (DSPs) • Application-specific instruction set processor (ASIP) • Custom hardware processors • Intellectual property (IP) – Memories • Communication elements (CEs) – Transducers, bus bridges – I/O peripherals • Busses – Communication media • Parallel, master/slave protocols • Serial and network media  Heterogeneous multi- processor systems Multi-Processor System- on-Chip (MPSoC) Bridge P1 P3 CPU Mem HW IP P5 C1, C2 Arbiter P4 P2 C1, C2 CPU Bus IP Bus System Architecture
  • 53. Lect-01.53 CprE 488 (Introduction) Jones, Spring 2019 © ISU GPS Unit System Architecture (Diagram) GPS receiver search engine renderer user interface database display
  • 54. Lect-01.54 CprE 488 (Introduction) Jones, Spring 2019 © ISU GPS Unit Architecture display position database search renderer timer user interface pixels frame buffer memory GPS receiver CPU panel I/O SW Architecture HW Architecture Sys Diagram
  • 55. Lect-01.55 CprE 488 (Introduction) Jones, Spring 2019 © ISU Major Steps in the Design Process GPS Navigation Unit
  • 56. Lect-01.56 CprE 488 (Introduction) Jones, Spring 2019 © ISU Component Design/Implementation • Hardware – Microarchitecture – Register-transfer level (RTL) • Software binaries – Application object code – Real-time operating system (RTOS) – Hardware abstraction layer (HAL) • Interfaces – Pins and wires – Arbiters, muxes, interrupt controllers (ICs), etc. – Bus protocol state machines CPU Mem Bridge HW IP Arbiter HAL RTOS EXE IC Program  Further logic and physical synthesis Manufacturing Prototyping boards
  • 57. Lect-01.57 CprE 488 (Introduction) Jones, Spring 2019 © ISU Major Steps in the Design Process GPS Navigation Unit
  • 58. Lect-01.58 CprE 488 (Introduction) Jones, Spring 2019 © ISU Component Design and System Integration • Must spend time architecting the system before coding – Draw pictures/diagrams at various levels of detail • Evaluate Component Sourcing Options: – Ready-made, – Modified from existing designs, – Designed from scratch • Putting components together early – Many bugs appear only at this stage • Have a plan for integrating components to uncover bugs quickly, test as much functionality as early as possible
  • 59. Lect-01.59 CprE 488 (Introduction) Jones, Spring 2019 © ISU Important questions to keep in mind • Does it really work? – Is the specification correct? – Does the implementation meet the spec? – How do we test for real-time characteristics? – How do we test on real data? • How do we work on the system? – Observability, controllability? – What is our development platform?
  • 60. Lect-01.60 CprE 488 (Introduction) Jones, Spring 2019 © ISU • These slides are inspired in part by material developed and copyright by: – Marilyn Wolf (Georgia Tech) – Frank Vahid (UC-Riverside) – A. Gerstlauer (UT-Austin) – Daniel Gajski (UC-Irvine) – Ed Lee (UC-Berkeley) – James Hamblen (Georgia Tech) Acknowledgments
  • 61. Lect-01.61 CprE 488 (Introduction) Jones, Spring 2019 © ISU Extra slides
  • 62. Lect-01.62 CprE 488 (Introduction) Jones, Spring 2019 © ISU GPS Unit System Specification (Diagram) GPS receiver search engine renderer user interface database display
  • 63. Lect-01.63 CprE 488 (Introduction) Jones, Spring 2019 © ISU Abstraction Levels [cont.] Temporal order Low abstraction High abstraction Implementation Detail Spatial order physical layout unstructured Structure real time untimed Timing
  • 64. Lect-01.64 CprE 488 (Introduction) Jones, Spring 2019 © ISU GPS Unit System Architecture (HW) GPS receiver CPU panel I/O display frame buffer memory
  • 65. Lect-01.65 CprE 488 (Introduction) Jones, Spring 2019 © ISU GPS Unit System Specification (SW) position database search renderer timer user interface pixels