Download presentation
Presentation is loading. Please wait.
Published byGeorgina Black Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.