Hardware-Software Codesign: Trong-Yen Lee
Hardware-Software Codesign: Trong-Yen Lee
Hardware-Software Codesign: Trong-Yen Lee
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
2
HW
Rapid Prototyping Design
SW Process
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
SW
Course Outline
6
HW
SW
Outline
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
10
HW
Motivations for Codesign
SW (cont.)
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
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
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
17
HW
Embedded Systems:
SW Complexity Issues
18
HW
Techniques to Support
SW Complexity Management
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
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
24
HW
Requirements for the Ideal
SW Codesign Environment (cont.)
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
26
HW Cross-fertilization Between
SW
Hardware and Software
Design (cont.)
VLSI SOFTWARE
DESIGN ENGINEERING
Graphics-driven design
27
HW Cross-fertilization Between
SW
Hardware and Software
Design (cont.)
SOFTWARE VLSI
ENGINEERING DESIGN
SW
Typical Codesign Process
System
FSM- Description Concurrent processes
directed graphs (Functional) Programming languages
SW HW
Another
HW/SW Software Interface Hardware
Synthesis Synthesis Synthesis
partition
29
HW
Conventional Codesign
SW Methodology
Analysis of Constraints
and Requirements
System Specs..
HW/SW
Partitioning
HW/SW Integration
and Cosimulation
Integrated
System © IEEE 1994
System Evaluation Design Verification
[ Rozenblit94] 30
HW
SW
Codesign Features
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
3
Cost / Instr.
Relative
2
Prog.
1 Folklore
25 50 75 100
% Util. of speed and mem capacity
33