Introduction to System-on

advertisement
Design & Co-design of
Embedded Systems
Embedded System Design:
Traditional vs. Modern Style
Maziar Goudarzi
Today Program
Embedded System Design Process
Traditional approach
Analysis & discussion
Modern approaches
Course final project
2005
Design & Co-design of Embedded
Systems
2
Traditional Approach
output
analog
input
analog
CPU
Logic
embedded
computer
2005
mem
Design & Co-design of Embedded
Systems
3
Design Example
Robot Control Unit
(RCU) of Arvand
soccer-playing robots
motion wheels
steering
motors
(not
shown)
castor wheel
Infra-Red
Sensors
2005
Bottom View of
Arvand Robots
Design & Co-design of Embedded
Systems
Touch
sensors
4
Design Example (cont’d)
Things to handle
motion wheels
Motors
PWM for motion motors
DC control for steering
Touch sensors
Read-in and refresh values
Infra-Red sensors
castor wheel
Reset, then read them
Communication to the main motherboard
RS-232 serial link
2005
Design & Co-design of Embedded
Systems
5
Design Example (cont’d)

Implementation steps
1.
2.
3.
4.
5.
6.
7.
2005
Choose HW or SW implementation per operation
Design the analog IO parts
Design the Printed Circuit Board (PCB)
1.
Pass the PCB files to manufacturing firms
1.
Program the FPGA configuration EEPROM
1.
Program the 8051 instruction memory (EEPROM)
1.
2.
Limited test in isolation (as far as possible)
Test in action (on the robot)
HW: Develop the FPGA contents
SW: Develop the 8051 program
Integrate HW, SW, and the PCB
Test
Design & Co-design of Embedded
Systems
6
Design Example (cont’d)
Tasks
Traditional System Design Process
SW design
SW test
System
design
FPGA design
Simulation
PCB design
Fabrication
PCB test
Test
Time
2005
Design & Co-design of Embedded
Systems
7
Analysis

Development



Isolated (SW, HW, Analog electronics)
Consistency check: designers
Debug

Before PCB is available
 Isolated (SW, HW, Analog)

After PCB is available
1.
2.
3.

2005
Remove the EEPROM/8051
Change the configuration/program
Re-insert the EEPROM/8051
What if PCB initial design (or analog parts) was wrong?
Design & Co-design of Embedded
Systems
8
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 Embedded
Systems
9
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 Embedded
Systems
10
Modern Design Style
(HW+SW)
Tasks
Co-Design Process
SW design
SW test
System
design
Shared Design
PCB test
HW design
Time
System-Level Partitioning
2005
Design & Co-design of Embedded
Systems
11
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 Embedded
Systems
12
The approach to be evaluated
here
Tasks
Compile SW
System
Design
Data type
refinement
Parallelize
Design interface
Synthesize HW
C++
2005
SystemC
Design & Co-design of Embedded
Systems
Integrate
& Test
Time
Xilinx tools
13
Ideas for course project

Alternative 1: App. case study
1.
2.
3.
4.
Select an embedded application
Design an executable specification for it
Step by step manually refine it to HW-SW implementation
Report performance, area, power & compare with full-SW
& write a paper (optional)
 Suggestions




2005
Data compressor/decompressor
Voice codec
A game
JPEG, JPEG2000
Design & Co-design of Embedded
Systems
14
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 Embedded
Systems
15
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 Embedded
Systems
16
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 Embedded
Systems
17
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 Embedded
Systems
18
Other Notes



Reading assignments on the course web-page
Announce by the end of next week (1 page)
1.
2.
3.
Your team members (at most 3 persons)
Your selection for course project
Rough schedule
1.
Report 1: Sun. Aban 15th
Other deadlines for the project

2.
•
•
•
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
Report 2 + Oral presentation: Sun. Azar 13th

2005
2-3 pages:
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.
Design & Co-design of Embedded
Systems
19
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
2005
Design & Co-design of Embedded
Systems
20
Download