You are on page 1of 20

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

Traditional Approach
output CPU input analog

analog

Logic
embedded computer
2005

mem

Design & Co-design of Embedded Systems

Design Example
Robot Control Unit (RCU) of Arvand soccer-playing robots
motion wheels steering motors (not shown)

castor wheel Infra-Red Sensors Touch sensors

Bottom View of Arvand Robots

2005

Design & Co-design of Embedded Systems

Design Example (contd)


Things to handle
Motors
PWM for motion motors DC control for steering
motion wheels

Touch sensors
Read-in and refresh values

Infra-Red sensors
Reset, then read them

castor wheel

Communication to the main motherboard


RS-232 serial link
2005 Design & Co-design of Embedded Systems 5

Design Example (contd)

1. 2. 3. 4. 5. 6. 7.

Implementation steps

1. 1.

Choose HW or SW implementation per operation Design the analog IO parts Design the Printed Circuit Board (PCB) HW: Develop the FPGA contents SW: Develop the 8051 program
Pass the PCB files to manufacturing firms Program the FPGA configuration EEPROM

1.

1. 2.

Integrate HW, SW, and the PCB Test

Program the 8051 instruction memory (EEPROM)

Limited test in isolation (as far as possible) Test in action (on the robot)
Design & Co-design of Embedded Systems

2005

Design Example (contd)


Traditional System Design Process
SW design
SW test

Tasks

System design

FPGA design PCB design

Simulation
Fabrication Test

PCB test

Time
2005 Design & Co-design of Embedded Systems 7

Analysis
Development
Isolated (SW, HW, Analog electronics) Consistency check: designers Before PCB is available
Isolated (SW, HW, Analog)

Debug
After PCB is available
1. 2. 3. Remove the EEPROM/8051 Change the configuration/program Re-insert the EEPROM/8051

What if PCB initial design (or analog parts) was wrong?

2005

Design & Co-design of Embedded Systems

Analysis (contd)
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

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
HW design

PCB test

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.
Design & Co-design of Embedded Systems

2005

12

The approach to be evaluated here


Tasks
Compile SW System Design Data type refinement Parallelize

Design interface
Synthesize HW

Integrate & Test

Time

C++
2005

SystemC
Design & Co-design of Embedded Systems

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
Data compressor/decompressor Voice codec A game JPEG, JPEG2000

2005

Design & Co-design of Embedded Systems

14

Ideas for course project (contd)


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 Tensilicas processor generator (XTensa processor)
Design & Co-design of Embedded Systems

2005

15

Ideas for course project (contd)


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 (contd)


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

1. 2. 3. 1.

Reading assignments on the course web-page Announce by the end of next week (1 page)
Your team members (at most 3 persons) Your selection for course project Rough schedule Report 1: Sun. Aban 15th
2-3 pages:

Other deadlines for the project

2.

Report 2 + Oral presentation: Sun. Azar 13th


4-5 pages:

List of your collected material Summary of what youve done + demo of the C++ app. Your plan for next phases and role of each person

15 min. oral presentation Summary of what youve done + experimental results (as far as available) Whats remained? Plan to finish it. Design & Co-design of Embedded Systems

2005

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