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