B2-Embedded System Design_2

Embed Size (px)

Citation preview

  • 8/7/2019 B2-Embedded System Design_2

    1/20

    Design & Co-design of

    Embedded Systems

    Embedded System Design:

    Traditional vs. Modern Style

    Maziar Goudarzi

  • 8/7/2019 B2-Embedded System Design_2

    2/20

    2005

    Design & Co-design of Embedded

    Systems 2

    Today Program

    Embedded System Design Process

    Traditional approach

    Analysis & discussion Modern approaches

    Course final project

  • 8/7/2019 B2-Embedded System Design_2

    3/20

    2005

    Design & Co-design of Embedded

    Systems 3

    Traditional Approach

    CPU

    mem

    input

    output analog

    analog

    embedded

    computer

    Logic

  • 8/7/2019 B2-Embedded System Design_2

    4/20

    2005

    Design & Co-design of Embedded

    Systems 4

    Design Example

    Robot Control Unit(RCU) of Arvand

    soccer-playing robots

    Bottom View of

    Arvand Robots

    castor wheel

    motion wheels

    Touch

    sensors

    Infra-Red

    Sensors

    steering

    motors

    (not

    shown)

  • 8/7/2019 B2-Embedded System Design_2

    5/20

    2005

    Design & Co-design of Embedded

    Systems 5

    Design Example (contd)

    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

  • 8/7/2019 B2-Embedded System Design_2

    6/20

    2005

    Design & Co-design of Embedded

    Systems 6

    Design Example (contd)

    Implementation steps1. Choose HW or SW implementation per operation2. Design the analog IO parts

    3. Design the Printed Circuit Board (PCB)1. Pass the PCB files to manufacturing firms4. HW: Develop the FPGA contents

    1. Program the FPGA configuration EEPROM

    5. SW: Develop the 8051 program1. Program the 8051 instruction memory (EEPROM)

    6. Integrate HW, SW, and the PCB7. Test

    1. Limited test in isolation (as far as possible)2. Test in action (on the robot)

  • 8/7/2019 B2-Embedded System Design_2

    7/20

    2005

    Design & Co-design of Embedded

    Systems 7

    Design Example (contd)

    Fabrication Test

    Systemdesign PCB test

    SW test

    Time

    TasksTraditional System Design Process

    Simulation

    PCB design

    SW design

    FPGA design

  • 8/7/2019 B2-Embedded System Design_2

    8/20

    2005

    Design & Co-design of Embedded

    Systems 8

    Analysis

    Development Isolated (SW, HW, Analog electronics)

    Consistency check: designers

    Debug Before PCB is available

    Isolated (SW, HW, Analog)

    After PCB is available1. Remove the EEPROM/8051

    2. Change the configuration/program3. Re-insert the EEPROM/8051

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

  • 8/7/2019 B2-Embedded System Design_2

    9/20

    2005

    Design & Co-design of Embedded

    Systems 9

    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

  • 8/7/2019 B2-Embedded System Design_2

    10/20

    2005

    Design & Co-design of Embedded

    Systems 10

    Solution

    Try to do as much of the tests as early aspossible 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?

  • 8/7/2019 B2-Embedded System Design_2

    11/20

    2005

    Design & Co-design of Embedded

    Systems 11

    Modern Design Style (HW+SW)

    Shared Design

    Co-Design Process

    HW design

    PCB test

    SW test

    Time

    Tasks

    Systemdesign

    System-Level Partitioning

    SW design

  • 8/7/2019 B2-Embedded System Design_2

    12/20

    2005

    Design & Co-design of Embedded

    Systems 12

    Modern Design Style

    Various approaches

    Application-Specific Instruction Processor

    (ASIP) Platform-based design

    Communication-based design

    Component-based (core-based) design etc.

  • 8/7/2019 B2-Embedded System Design_2

    13/20

    2005

    Design & Co-design of Embedded

    Systems 13

    The approach to be evaluated

    here

    Synthesize HW

    Design interface

    Time

    Tasks

    SystemDesign

    Compile SW

    Data typerefinement

    C++ SystemC

    Parallelize

    Xilinx tools

    Integrate& Test

  • 8/7/2019 B2-Embedded System Design_2

    14/20

    2005

    Design & Co-design of Embedded

    Systems 14

    Ideas for course project

    Alternative 1: App. case study1. Select an embedded application

    2. Design an executable specification for it

    3. Step by step manually refine it to HW-SW implementation4. Report performance, area, power & compare with full-SW

    & write a paper (optional)

    Suggestions Data compressor/decompressor

    Voice codec A game

    JPEG, JPEG2000

  • 8/7/2019 B2-Embedded System Design_2

    15/20

    2005

    Design & Co-design of Embedded

    Systems 15

    Ideas for course project

    (contd)

    Alternative 2: Methodology case study1. Select a system design language and methodology

    2. Implement an application using them3. Give a presentation

    Suggestions:

    Handle-C & Celoxica DK Design Suite SpecC & the associated tools from UCI

    Tensilicas processor generator (XTensa processor)

  • 8/7/2019 B2-Embedded System Design_2

    16/20

    2005

    Design & Co-design of Embedded

    Systems 16

    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 usingODYSSEY tools and flows

    Suggestions

    The same applications as in alternative 1

  • 8/7/2019 B2-Embedded System Design_2

    17/20

    2005

    Design & Co-design of Embedded

    Systems 17

    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

  • 8/7/2019 B2-Embedded System Design_2

    18/20

    2005

    Design & Co-design of Embedded

    Systems 18

    Summary

    Problems inherent in traditional style ofdesigning embedded systems

    The general solution

    A modern approach followed in thiscourse and to be used in its final project

  • 8/7/2019 B2-Embedded System Design_2

    19/20

    2005

    Design & Co-design of Embedded

    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 15th

    2-3 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

    2. Report 2 + Oral presentation: Sun. Azar 13th 4-5 pages:

    15 min. oral presentation Summary of what youve done + experimental results (as far as available) Whats remained? Plan to finish it.

  • 8/7/2019 B2-Embedded System Design_2

    20/20

    2005

    Design & Co-design of Embedded

    Systems 20

    Tool Presentation

    Short presentation of the tools to be used in thecourse project (now, in the lab.)

    Xilinx EDK: Naser MohammadZadeh Synopsys SystemC Compiler: Morteza NajafVand