Hardware-Software Codesign: Trong-Yen Lee

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 33

HW

SW

Hardware-Software Codesign
軟硬體共同設計

Trong-Yen Lee
李宗演
Graduate Institute of Computer, Communication, and Control
National Taipei University of Technology
Taipei 106, Taiwan, R.O.C.

1
HW

SW
Course Grading

 Assignments and Paper Reading: 30%


 Mid-Term Test: 35%
 Final Exam: 35%

2
HW
Rapid Prototyping Design
SW Process

REUSE DESIGN LIBRARIES AND DATABASE


Primarily Primarily
software
VIRTUAL PROTOTYPE hardware

HW HW
DESIGN FAB
SYSTEM FUNCTION HW & INTEG.
DEF. DESIGN SW & TEST
PART.
SW SW
HW & SW
DESIGN CODE
CODESIGN

HW & SW
Partitioning
& Codesign
3
HW

Hardware-Software Codesign
SW
 Man-Woman Marriage

4
HW

SW
Course Goals

 Introduce the fundamentals of HW/SW codesign


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

SW
Course Outline

 Introduction to Embedded Systems and Hardware-Software


Codesign
 Models and Architectures for System Specification
 Specification Languages for System Design
 A Specification Example: Telephone Answering Machine
 Translation to VHDL
 System Partitioning
 Design Quality Estimation
 Specification Refinement
 System-Design Methodology
 Codesign Examples

6
HW

SW
Outline

 Introduction to Hardware-Software Codesign


 System Modeling, Architectures, Languages
 Partitioning Methods
 Design Quality Estimation
 Specification Refinement
 Co-synthesis Techniques
 Function-Architecture Codesign Paradigm
 Coverification Methodology & Tools
 Codesign Case Studies
 ATM Virtual Private Network
 Digital Camera and JPEG

7
HW
Introduction to Embedded Systems
SW and Hardware-Software Codesign

 Introduction
 Unified HW/SW Representations
 HW/SW Partitioning Techniques
 Integrated HW/SW Modeling Methodologies
 HW and SW Synthesis Methodologies
 Industry Approaches to HW/SW Codesign
 Hardware/Software Codesign Research
 Summary

8
HW
Codesign Definition
SW and Key Concepts

 Codesign
 The meeting of system-level objectives by exploiting
the trade-offs between hardware and software in a
system through their concurrent design

 Key concepts
 Concurrent: hardware and software developed at the
same time on parallel paths
 Integrated: interaction between hardware and software
developments to produce designs that meet
performance criteria and functional specifications

9
HW

SW
Motivations for Codesign

 Factors driving codesign (hardware/software


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

10
HW
Motivations for Codesign
SW (cont.)

 The importance of codesign in designing


hardware/software systems:
 Improves design quality, design cycle time, and cost
 Reduces integration and test time

 Supports growing complexity of embedded systems


 Takes advantage of advances in tools and technologies
 Processor cores
 High-level hardware synthesis capabilities
 ASIC development

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

12
HW
Categories of Codesign
SW Problems
 Codesign of embedded systems
 Usually consist of sensors, controller, and actuators
 Are reactive systems
 Usually have real-time constraints
 Usually have dependability constraints

 Codesign of ISAs
 Application-specific
instruction set processors (ASIPs)
 Compiler and hardware optimization and trade-offs

 Codesign of Reconfigurable Systems


 Systems that can be personalized after manufacture for
a specific application
 Reconfiguration can be accomplished before execution
or concurrent with execution (called evolvable systems)

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

 Modeling the hardware/software system during


the design process
14
HW

SW
Embedded Systems

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)
 Characteristics
 Are dedicated to a particular application
 Include processors dedicated to specific functions
 Represent a subset of reactive (responsive to external inputs)
systems
 Contain real-time constraints
 Include requirements that span:
 Performance
 Reliability
 Form factor

15
HW
Embedded Systems:
SW Specific Trends

 Use of microprocessors only one or two


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

 Banking and transaction processing applications


 Automobile engine control units
 Signal processing applications
 Home appliances (microwave ovens)
 Industrial controllers in factories
 Cellular communications

17
HW
Embedded Systems:
SW Complexity Issues

 Complexity of embedded systems is continually increasing


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

18
HW
Techniques to Support
SW Complexity Management

 Delayed HW/SW partitioning


 Postpone as many decisions as possible that place
constraints on the design
 Abstractions and decomposition techniques
 Incremental development
 “Growing” software
 Requiring top-down design

 Description languages
 Simulation
 Standards
 Design methodology management framework

19
HW A Model of the Current
SW
Hardware/Software Design
Process
DOD-STD-2167A
HWCI
HW Development Testing
Fabric.
Detailed
Design
Prelim.
Design
Hardware
Require.
Sys/HW
Analysis
Require.
Analysis
System System Operation.
Concepts Integ. and Testing and
Sys/SW test Eval.
Require.
Analysis Software
Require.
Analysis Prelim.
Design
Detailed
Design
Coding,
Unit test.,
SW Development Integ. test CSCI
Testing
© IEEE 1991 [ Franke91] 20
HW
Current Hardware/Software
SW Design Process
 Basic features of current process:
 System immediately partitioned into hardware and software
components
 Hardware and software developed separately
 “Hardware first” approach often adopted

 Implications of these features:


 HW/SW trade-offs restricted
 Impact of HW and SW on each other cannot be assessed easily
 Late system integration

 Consequences these features:


 Poor quality designs
 Costly modifications
 Schedule slippages

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

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

 Unified, unbiased hardware/software representation


 Supports uniform design and analysis techniques for
hardware and software
 Permits system evaluation in an integrated design
environment
 Allows easy migration of system tasks to either hardware or
software
 Iterative partitioning techniques
 Allow several different designs (HW/SW partitions) to be
evaluated
 Aid in determining best implementation for a system
 Partitioning applied to modules to best meet design criteria
(functionality and performance goals)

24
HW
Requirements for the Ideal
SW Codesign Environment (cont.)

 Integrated modeling substrate


 Supports evaluation at several stages of the design process
 Supports step-wise development and integration of hardware
and software
 Validation Methodology
 Insures that system implemented meets initial system
requirements

25
HW Cross-fertilization Between
SW
Hardware and Software
Design
 Fast growth in both VLSI design and software
engineering has raised awareness of similarities
between the two
 Hardware synthesis
 Programmable logic
 Description languages

 Explicit attempts have been made to “transfer


technology” between the domains

26
HW Cross-fertilization Between
SW
Hardware and Software
Design (cont.)

VLSI SOFTWARE
DESIGN ENGINEERING

 EDA tool technology has been transferred to SW


CAD systems
 Designer support (not automation)

 Graphics-driven design

 Central database for design information

 Tools to check design behavior early in process

27
HW Cross-fertilization Between
SW
Hardware and Software
Design (cont.)
SOFTWARE VLSI
ENGINEERING DESIGN

 Software technology has been transferred to EDA


tools
 Single-language design
 Use of 1 common language for architecture spec.
and implementation of a chip
 Compiler-like transformations and techniques
 Dead code elimination
 Loop unrolling
 Design change management
 Information hiding
 Design families
28
HW

SW
Typical Codesign Process

System
FSM- Description Concurrent processes
directed graphs (Functional) Programming languages

HW/SW Unified representation


Partitioning (Data/control flow)

SW HW
Another
HW/SW Software Interface Hardware
Synthesis Synthesis Synthesis
partition

System Instruction set level


Integration HW/SW evaluation

29
HW
Conventional Codesign
SW Methodology
Analysis of Constraints
and Requirements

System Specs..

HW/SW
Partitioning

Hardware Descript. Software Descript.

HW Synth. and Interface Synthesis Software Gen.


Configuration & Parameterization

Configuration Hardware HW/SW Software


Modules Components Interfaces Modules

HW/SW Integration
and Cosimulation

Integrated
System © IEEE 1994
System Evaluation Design Verification
[ Rozenblit94] 30
HW

SW
Codesign Features

Basic features of a codesign process


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

 Current use limited by:


 Lack of a standardized representation
 Lack of good validation and evaluation methods

 Possible solutions:
 Extend existing hardware/software languages to the use
of heterogeneous paradigms
 Extend formal verification techniques to the HW/SW
domain

32
HW
Issues and Problems:
SW Integration

 Errors in hardware and software design become much more


costly as more commitments are made
 “Hardware first” approach often compounds software cost
because software must compensate for hardware
inadequacies

Software Cost Impact of Inadequate Hardware Resources


4 Experience

3
Cost / Instr.
Relative

2
Prog.

1 Folklore

25 50 75 100
% Util. of speed and mem capacity

33

You might also like