Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 SW HW Hardware-Software Codesign 軟硬體共同設計 Trong-Yen Lee 李宗演 Graduate Institute of Computer, Communication, and Control National Taipei University of Technology.

Similar presentations


Presentation on theme: "1 SW HW Hardware-Software Codesign 軟硬體共同設計 Trong-Yen Lee 李宗演 Graduate Institute of Computer, Communication, and Control National Taipei University of Technology."— Presentation transcript:

1 1 SW HW Hardware-Software Codesign 軟硬體共同設計 Trong-Yen Lee 李宗演 Graduate Institute of Computer, Communication, and Control National Taipei University of Technology Taipei 106, Taiwan, R.O.C.

2 2 SW HW Course Grading l Assignments and Paper Reading: 30% l Mid-Term Test: 35% l Final Exam: 35%

3 3 SW HW Rapid Prototyping Design Process SYSTEM DEF. SW DESIGN VIRTUAL PROTOTYPE REUSE DESIGN LIBRARIES AND DATABASE Primarily software Primarily hardware SW CODE FUNCTION DESIGN HW & SW PART. HW DESIGN HW FAB INTEG. & TEST HW & SW CODESIGN HW & SW Partitioning & Codesign

4 4 SW HW Hardware-Software Codesign  Man-Woman Marriage ?

5 5 SW HW Course Goals l Introduce the fundamentals of HW/SW codesign and partitioning concepts in designing embedded systems m Discuss the current trends in the codesign of embedded systems m Provide information on the goals of and methodology for partitioning hardware/software in systems l Show benefits of the codesign approach over current design process m Provide information on how to incorporate these techniques into a general digital design methodology for embedded systems l Illustrate how codesign concepts are being introduced into design methodologies m Several example codesign systems are discussed

6 6 SW HW Course Outline l Introduction to Embedded Systems and Hardware-Software Codesign l Models and Architectures for System Specification l Specification Languages for System Design l A Specification Example: Telephone Answering Machine l Translation to VHDL l System Partitioning l Design Quality Estimation l Specification Refinement l System-Design Methodology l Codesign Examples

7 7 SW HW Outline l Introduction to Hardware-Software Codesign l System Modeling, Architectures, Languages l Partitioning Methods l Design Quality Estimation l Specification Refinement l Co-synthesis Techniques l Function-Architecture Codesign Paradigm l Coverification Methodology & Tools l Codesign Case Studies m ATM Virtual Private Network m Digital Camera and JPEG

8 8 SW HW Introduction to Embedded Systems and Hardware-Software Codesign l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW Modeling Methodologies l HW and SW Synthesis Methodologies l Industry Approaches to HW/SW Codesign l Hardware/Software Codesign Research l Summary

9 9 SW HW Codesign Definition and Key Concepts l Codesign m The meeting of system-level objectives by exploiting the trade-offs between hardware and software in a system through their concurrent design l Key concepts m Concurrent: hardware and software developed at the same time on parallel paths m Integrated: interaction between hardware and software developments to produce designs that meet performance criteria and functional specifications

10 10 SW HW Motivations for Codesign l Factors driving codesign (hardware/software systems): m Instruction Set Processors (ISPs) available as cores in many design kits (386s, DSPs, microcontrollers,etc.) m Systems on Silicon - many transistors available in typical processes (> 10 million transistors available in IBM ASIC process, etc.) m Increasing capacity of field programmable devices - some devices even able to be reprogrammed on-the-fly (FPGAs, CPLDs, etc.) m Efficient C compilers for embedded processors m Hardware synthesis capabilities

11 11 SW HW Motivations for Codesign (cont.) l The importance of codesign in designing hardware/software systems: m Improves design quality, design cycle time, and cost q Reduces integration and test time m Supports growing complexity of embedded systems m Takes advantage of advances in tools and technologies q Processor cores q High-level hardware synthesis capabilities q ASIC development

12 12 SW HW Categorizing Hardware/Software Systems l Application Domain m Embedded systems q Manufacturing control q Consumer electronics q Vehicles q Telecommunications q Defense Systems m Instruction Set Architectures m Reconfigurable Systems l Degree of programmability m Access to programming m Levels of programming l Implementation Features m Discrete vs. integrated components m Fabrication technologies

13 13 SW HW Categories of Codesign Problems l Codesign of embedded systems m Usually consist of sensors, controller, and actuators m Are reactive systems m Usually have real-time constraints m Usually have dependability constraints l Codesign of ISAs m Application-specific instruction set processors (ASIPs) m Compiler and hardware optimization and trade-offs l Codesign of Reconfigurable Systems m Systems that can be personalized after manufacture for a specific application m Reconfiguration can be accomplished before execution or concurrent with execution (called evolvable systems)

14 14 SW HW Components of the Codesign Problem l Specification of the system l Hardware/Software Partitioning m Architectural assumptions - type of processor, interface style between hardware and software, etc. m Partitioning objectives - maximize speedup, latency requirements, minimize size, cost, etc. m Partitioning strategies - high level partitioning by hand, automated partitioning using various techniques, etc. l Scheduling m Operation scheduling in hardware m Instruction scheduling in compilers m Process scheduling in operating systems l Modeling the hardware/software system during the design process

15 15 SW HW Embedded Systems Application-specific systems which contain hardware and software tailored for a particular task and are generally part of a larger system (e.g., industrial controllers) l Characteristics m Are dedicated to a particular application m Include processors dedicated to specific functions m Represent a subset of reactive (responsive to external inputs) systems m Contain real-time constraints m Include requirements that span: q Performance q Reliability q Form factor

16 16 SW HW Embedded Systems: Specific Trends l Use of microprocessors only one or two generations behind state-of-the-art for desktops m E.g. N/2 bit width where N is the bit width of current desktop systems l Contain limited amount of memory l Must satisfy strict real-time and/or performance constraints l Must optimize additional design objectives: m Cost m Reliability m Design time l Increased use of hardware/software codesign principles to meet constraints

17 17 SW HW Embedded Systems: Examples l Banking and transaction processing applications l Automobile engine control units l Signal processing applications l Home appliances (microwave ovens) l Industrial controllers in factories l Cellular communications

18 18 SW HW Embedded Systems: Complexity Issues l Complexity of embedded systems is continually increasing l Number of states in these systems (especially in the software) is very large l Description of a system can be complex, making system analysis extremely hard l Complexity management techniques are necessary to model and analyze these systems l Systems becoming too complex to achieve accurate “first pass” design using conventional techniques l New issues rapidly emerging from new implementation technologies

19 19 SW HW Techniques to Support Complexity Management l Delayed HW/SW partitioning m Postpone as many decisions as possible that place constraints on the design l Abstractions and decomposition techniques l Incremental development m “Growing” software m Requiring top-down design l Description languages l Simulation l Standards l Design methodology management framework

20 20 SW HW A Model of the Current Hardware/Software Design Process System Concepts Sys/HW Require. Analysis Sys/SW Require. Analysis Operation. Testing and Eval. Software Require. Analysis Prelim. Design Detailed Design Coding, Unit test., Integ. test SW Development HWCI Testing CSCI Testing System Integ. and test [Franke91] Hardware Require. Analysis Prelim. Design Detailed Design Fabric. HW Development DOD-STD-2167A © IEEE 1991

21 21 SW HW Current Hardware/Software Design Process l Basic features of current process: m System immediately partitioned into hardware and software components m Hardware and software developed separately m “Hardware first” approach often adopted l Implications of these features: m HW/SW trade-offs restricted q Impact of HW and SW on each other cannot be assessed easily m Late system integration l Consequences these features: m Poor quality designs m Costly modifications m Schedule slippages

22 22 SW HW Incorrect Assumptions in Current Hardware/Software Design Process l Hardware and software can be acquired separately and independently, with successful and easy integration of the two later l Hardware problems can be fixed with simple software modifications l Once operational, software rarely needs modification or maintenance l Valid and complete software requirements are easy to state and implement in code

23 23 SW HW Directions of the HW/SW Design Process System Concepts Sys/HW Require. Analysis Sys/SW Require. Analysis Hardware Require. Analysis Software Require. Analysis Operation. Testing and Evaluation SW Development HW Development System Integ. and test HWCI Testing CSCI Testing [Franke91] Integrated Modeling Substrate Prelim. Design Prelim. Design Detailed Design Detailed Design Fabric. Coding, Unit test., Integ. test © IEEE 1991

24 24 SW HW Requirements for the Ideal Codesign Environment l Unified, unbiased hardware/software representation m Supports uniform design and analysis techniques for hardware and software m Permits system evaluation in an integrated design environment m Allows easy migration of system tasks to either hardware or software l Iterative partitioning techniques m Allow several different designs (HW/SW partitions) to be evaluated m Aid in determining best implementation for a system m Partitioning applied to modules to best meet design criteria (functionality and performance goals)

25 25 SW HW Requirements for the Ideal Codesign Environment (cont.) l Integrated modeling substrate m Supports evaluation at several stages of the design process m Supports step-wise development and integration of hardware and software l Validation Methodology m Insures that system implemented meets initial system requirements

26 26 SW HW Cross-fertilization Between Hardware and Software Design l Fast growth in both VLSI design and software engineering has raised awareness of similarities between the two m Hardware synthesis m Programmable logic m Description languages l Explicit attempts have been made to “transfer technology” between the domains

27 27 SW HW Cross-fertilization Between Hardware and Software Design (cont.) l EDA tool technology has been transferred to SW CAD systems m Designer support (not automation) m Graphics-driven design m Central database for design information m Tools to check design behavior early in process VLSI DESIGN SOFTWARE ENGINEERING

28 28 SW HW Cross-fertilization Between Hardware and Software Design (cont.) l Software technology has been transferred to EDA tools m Single-language design q Use of 1 common language for architecture spec. and implementation of a chip m Compiler-like transformations and techniques q Dead code elimination q Loop unrolling m Design change management q Information hiding q Design families SOFTWARE ENGINEERING VLSI DESIGN

29 29 SW HW Typical Codesign Process System Integration Instruction set level HW/SW evaluation Unified representation (Data/control flow) HW/SW Partitioning Interface Synthesis Software Synthesis SW Hardware Synthesis HW System Description (Functional) Concurrent processes Programming languages FSM- directed graphs Another HW/SW partition

30 30 SW HW Conventional Codesign Methodology Analysis of Constraints and Requirements System Specs.. HW/SW Partitioning Hardware Descript.Software Descript. HW Synth. and Configuration Interface Synthesis Software Gen. & Parameterization Configuration Modules Hardware Components HW/SW Interfaces Software Modules HW/SW Integration and Cosimulation Integrated System System EvaluationDesign Verification [Rozenblit94] © IEEE 1994

31 31 SW HW Codesign Features Basic features of a codesign process l Enables mutual influence of both HW and SW early in the design cycle m Provides continual verification throughout the design cycle m Separate HW/SW development paths can lead to costly modifications and schedule slippages l Enables evaluation of larger design space through tool interoperability and automation of codesign at abstract design levels l Advances in key enabling technologies (e.g., logic synthesis and formal methods) make it easier to explore design tradeoffs

32 32 SW HW State of Codesign Technology l Current use limited by: m Lack of a standardized representation m Lack of good validation and evaluation methods l Possible solutions: m Extend existing hardware/software languages to the use of heterogeneous paradigms m Extend formal verification techniques to the HW/SW domain

33 33 SW HW Issues and Problems: Integration l Errors in hardware and software design become much more costly as more commitments are made l “Hardware first” approach often compounds software cost because software must compensate for hardware inadequacies 1 2 3 4 255075100 Relative Prog. Cost / Instr. % Util. of speed and mem capacity Experience Folklore Software Cost Impact of Inadequate Hardware Resources


Download ppt "1 SW HW Hardware-Software Codesign 軟硬體共同設計 Trong-Yen Lee 李宗演 Graduate Institute of Computer, Communication, and Control National Taipei University of Technology."

Similar presentations


Ads by Google