Design & Co-design of
Embedded Systems
Embedded System Design:
Traditional vs. Modern Style
Maziar Goudarzi
2005
Design & Co-design of Embed
ded Systems
2
Today Program
Embedded System Design Process
Traditional approach
Analysis & discussion
Modern approaches
Course final project
2005
Design & Co-design of Embed
ded Systems
3
Traditional Approach
CPU
mem
input
output
analog
analog
embedded
computer
Logic
2005
Design & Co-design of Embed
ded Systems
4
Design Example
Robot Control Unit
(RCU) of Arvand
soccer-playing
robots
Bottom View of
Arvand Robots
castor
wheel
motion
wheels
Touch
sensor
s
Infra-Red
Sensors
steering
motors
(not
shown)
2005
Design & Co-design of Embed
ded Systems
5
Design Example (cont’d)
Things to handle
Motors
PWM for motion motors
DC control for steering
Touch sensors
Read-in and refresh values
Infra-Red sensors
Reset, then read them
Communication to the main motherboard
RS-232 serial link
castor
wheel
motion
wheels
2005
Design & Co-design of Embed
ded Systems
6
Design Example (cont’d)
Implementation steps
1.
Choose HW or SW implementation per operation
2.
Design the analog IO parts
3.
Design the Printed Circuit Board (PCB)
1.
Pass the PCB files to manufacturing firms
4.
HW: Develop the FPGA contents
1.
Program the FPGA configuration EEPROM
5.
SW: Develop the 8051 program
1.
Program the 8051 instruction memory (EEPROM)
6.
Integrate HW, SW, and the PCB
7.
Test
1.
Limited test in isolation (as far as possible)
2.
Test in action (on the robot)
2005
Design & Co-design of Embed
ded Systems
7
Design Example (cont’d)
Fabrication
Test
System
design
PCB test
SW test
Time
Tasks
Traditional System Design Process
Simulation
PCB design
SW design
FPGA design
2005
Design & Co-design of Embed
ded Systems
8
Analysis
Development
Isolated (SW, HW, Analog electronics)
Consistency check: designers
Debug
Before PCB is available
Isolated (SW, HW, Analog)
After PCB is available
1.
Remove the EEPROM/8051
2.
Change the configuration/program
3.
Re-insert the EEPROM/8051
What if PCB initial design (or analog parts) was wrong?
2005
Design & Co-design of Embed
ded Systems
9
Analysis (cont’d)
Some other problems
Tools used
Protel, OrCAD for PCB
Altera MAX+Plus II for FPGA
8051 command-line compiler and debugger
Tool interoperability issues
2005
Design & Co-design of Embed
ded Systems
10
Solution
Try to do as much of the tests as
early as possible in the design cycle
Step 1: Combine HW and SW simulation
Step 2: Add analog parts as well
Analog Mixed-Signal (AMS) simulation
Step 3: Entire design of the PCB?
2005
Design & Co-design of Embed
ded Systems
11
Modern Design Style (HW+SW)
Shared Design
Co-Design Process
HW design
PCB test
SW test
Time
Tasks
System
design
System-Level Partitioning
SW design
2005
Design & Co-design of Embed
ded Systems
12
Modern Design Style
Various approaches
Application-Specific Instruction
Processor (ASIP)
Platform-based design
Communication-based design
Component-based (core-based) design
etc.
2005
Design & Co-design of Embed
ded Systems
13
The approach to be evaluated
here
Synthesize HW
Design interface
Time
Tasks
System
Design
Compile SW
Data type
refinement
C++
SystemC
Parallelize
Xilinx tools
Integrate
& Test
2005
Design & Co-design of Embed
ded Systems
14
Ideas for course project
Alternative 1: App. case study
1.
Select an embedded application
2.
Design an executable specification for it
3.
Step by step manually refine it to HW-SW implementation
4.
Report performance, area, power & compare with full-SW
& write a paper (optional)
Suggestions
Data compressor/decompressor
Voice codec
A game
JPEG, JPEG2000
2005
Design & Co-design of Embed
ded Systems
15
Ideas for course project (cont’d)
Alternative 2: Methodology case study
1.
Select a system design language and
methodology
2.
Implement an application using them
3.
Give a presentation
Suggestions:
Handle-C & Celoxica “DK Design Suite”
SpecC & the associated tools from UCI
Tensilica’s processor generator (XTensa processor)
2005
Design & Co-design of Embed
ded Systems
16
Ideas for course project (cont’d)
Alternative 3: Case study in ODYSSEY
1.
Select an application
2.
Develop an OO C++ program for that
3.
Implement it as HW-SW system using
ODYSSEY tools and flows
Suggestions
The same applications as in alternative 1
2005
Design & Co-design of Embed
ded Systems
17
Ideas for course project (cont’d)
Alternative 4: Implement
algorithms
1.
Select one of the co-synthesis
algorithms (to be taught during the
course)
2.
Develop a program that implements
the algorithm for ODYSSEY
2005
Design & Co-design of Embed
ded Systems
18
Summary
Problems inherent in traditional style
of designing embedded systems
The general solution
A modern approach followed in this
course and to be used in its final
project
2005
Design & Co-design of Embed
ded Systems
19
Other Notes
Reading assignments on the course web-page
Announce by the end of next week (1 page)
1.
Your team members (at most 3 persons)
2.
Your selection for course project
3.
Rough schedule
Other deadlines for the project
1.
Report 1: Sun. Aban 15
th
2-3 pages:
•
List of your collected material
•
Summary of what you’ve done + demo of the C++ app.
•
Your plan for next phases and role of each person
2.
Report 2 + Oral presentation: Sun. Azar 13th
4-5 pages:
•
15 min. oral presentation
•
Summary of what you’ve done + experimental results (as far as
available)
•
What’s remained? Plan to finish it.
2005
Design & Co-design of Embed
ded Systems
20
Tool Presentation
Short presentation of the tools to be used
in the course project (now, in the lab.)
Xilinx EDK: Naser MohammadZadeh
Synopsys SystemC Compiler: Morteza
NajafVand