0% found this document useful (0 votes)
214 views

Hardware-Software Codesign: Trong-Yen Lee

Uploaded by

Poonthalir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
214 views

Hardware-Software Codesign: Trong-Yen Lee

Uploaded by

Poonthalir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy