210 likes | 424 Views
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. Traditional Approach. output. CPU. analog.
E N D
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 Design & Co-design of Embedded Systems
Traditional Approach output CPU analog input analog Logic mem embedded computer Design & Co-design of Embedded Systems
steering motors(not shown) Infra-Red Sensors Touch sensors Design Example • Robot Control Unit (RCU) of Arvand soccer-playing robots motion wheels castor wheel Bottom View of Arvand Robots Design & Co-design of Embedded Systems
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 motion wheels castor wheel Design & Co-design of Embedded Systems
Design Example (cont’d) • Implementation steps • Choose HW or SW implementation per operation • Design the analog IO parts • Design the Printed Circuit Board (PCB) • Pass the PCB files to manufacturing firms • HW: Develop the FPGA contents • Program the FPGA configuration EEPROM • SW: Develop the 8051 program • Program the 8051 instruction memory (EEPROM) • Integrate HW, SW, and the PCB • Test • Limited test in isolation (as far as possible) • Test in action (on the robot) Design & Co-design of Embedded Systems
Tasks SW design System design PCB test FPGA design PCB design Fabrication Test Time Design Example (cont’d) Traditional System Design Process SW test Simulation Design & Co-design of Embedded Systems
Analysis • Development • Isolated (SW, HW, Analog electronics) • Consistency check: designers • Debug • Before PCB is available • Isolated (SW, HW, Analog) • After PCB is available • 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
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 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? Design & Co-design of Embedded Systems
System-Level Partitioning Modern Design Style (HW+SW) Co-Design Process Tasks SW design SW test System design Shared Design PCB test HW design Time Design & Co-design of Embedded Systems
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
The approach to be evaluated here Tasks Compile SW System Design Data type refinement Parallelize Integrate& Test Design interface Synthesize HW Time C++ SystemC Xilinx tools Design & Co-design of Embedded Systems
Ideas for course project • Alternative 1: App. case study • 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 Design & Co-design of Embedded Systems
Ideas for course project (cont’d) • Alternative 2: Methodology case study • Select a system design language and methodology • Implement an application using them • Give a presentation • Suggestions: • Handle-C & Celoxica “DK Design Suite” • SpecC & the associated tools from UCI • Tensilica’s processor generator (XTensa processor) Design & Co-design of Embedded Systems
Ideas for course project (cont’d) • Alternative 3: Case study in ODYSSEY • Select an application • Develop an OO C++ program for that • Implement it as HW-SW system using ODYSSEY tools and flows • Suggestions • The same applications as in alternative 1 Design & Co-design of Embedded Systems
Ideas for course project (cont’d) • Alternative 4: Implement algorithms • Select one of the co-synthesis algorithms (to be taught during the course) • Develop a program that implements the algorithm for ODYSSEY Design & Co-design of Embedded Systems
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 Design & Co-design of Embedded Systems
Other Notes • 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 • Other deadlines for the project • Report 1: Sun. Aban 15th • 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 • 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. Design & Co-design of Embedded Systems
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 Design & Co-design of Embedded Systems