Hardware/Software Codesign I

Transcription

Hardware/Software Codesign I
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
Hardware/Software Codesign I
System Development –
Models and Methods
Prof.
o Dr. Wolfram
o a Hardt
a dt
Dipl.-Inf. Mirko Caspar
Wintersemester 2010/11
Version: 10.02.L.r-1.0-100929
Contents
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• HW/SW Codesign
C d i
Process
P
• Design Abstraction and Views
• Synthesis
• Control/Data-Flow
Control/Data Flow Models
• System Synthesis Models
Wintersemester 2010/11
CO
Hardware/Software Codesign I
mplex
ncurrent
rrect
ordinated
DESIGN
02-2
1
Designing Embedded Systems
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• design structuring
– representation of requirements
– necessary for automation of design process
design partitioning
• ________________________
– chip - chip
– board – board
– hardware – software
objects
algorithms
• design steps
– scheduling
– allocation
– binding
for HW and SW
Hardware/Software Codesign I
Wintersemester 2010/11
02-3
HW/SW Codesign Process
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
Specification
System Synthesis
InterfaceSynthesis
SW Synthesis
y
machine code
Wintersemester 2010/11
____________
Estimation
HW Synthesis
y
netlist
Hardware/Software Codesign I
02-4
2
Contents
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• HW/SW Codesign
C d i
Process
P
• Design Abstraction and Views
• Synthesis
• Control/Data-Flow
Control/Data Flow Models
• System-Synthesis Models
CO
mplex
ncurrent
rrect
ordinated
DESIGN
Hardware/Software Codesign I
Wintersemester 2010/11
02-5
Y-Chart
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
Behavioural
View
Synthesis
Structural
View
Test
View
 X-Chart
Physical
View
Wintersemester 2010/11
Hardware/Software Codesign I
02-6
3
Example
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• device: MP3 decoder ASIC (HW)
Behavioural View
Structural View
system
decode files with 32…256kBit,
32 Bit output quality, …
components for sample
detection, configurable decoder,
output registers
algorithm
description for each part, e.g. in
C / Java
detailed structure for different
parts of system
registertransfer
complex modules and their data
flow / communication
register-transfer components
and connections
gate
flip-flops, signals
Boolean
equation, FSM gates,
__________________________
__________________________
transistor
differential equations
transistors, resistors, wires, …
Hardware/Software Codesign I
Wintersemester 2010/11
02-7
Double-Roof-Model
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• abstraction of Y/X-chart
software
hardware
behaviour
___________
system
module
architecture
block
logic
 HW and SW design processes are equally structured
Wintersemester 2010/11
Hardware/Software Codesign I
___________
structure
02-8
4
P-Chart
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• dimension
– SW-Synthesis
– …
• level
–
–
–
–
system level
algorithm level
RT level
…
• view
–
–
–
–
behaviour
structure
test
geometry
Wintersemester 2010/11
Hardware/Software Codesign I
02-9
Contents
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• HW/SW Codesign
C d i
Process
P
• Design Abstraction and Views
• Synthesis
• Control/Data-Flow
Control/Data Flow Models
• System Synthesis Models
Wintersemester 2010/11
CO
Hardware/Software Codesign I
mplex
ncurrent
rrect
ordinated
DESIGN
02-10
5
Synthesis
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
software
hardware
behaviour
system
y
module
architecture
block
logic
structure
• synthesis = _________________________
behaviour -> structure
• tasks for synthesis:
– allocation:
– binding:
– scheduling:
select components
map functions to components
plan execution order
Hardware/Software Codesign I
Wintersemester 2010/11
02-11
Example
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• behaviour:
Boolean equation
f  ab  cd
synthesis
• structure:
netlist
a
b
&
≥1
f
c
d
Wintersemester 2010/11
&
Hardware/Software Codesign I
02-12
6
Specification on System Level
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
constraints
A
task graph
B
C
execution time
< 200ms
D
E
Wintersemester 2010/11
Hardware/Software Codesign I
02-13
Allocation on System Level
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• processor, dedicated hardware
• memory, I/O
• connection structures
Wintersemester 2010/11
Hardware/Software Codesign I
02-14
7
Binding on System Level
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• map tasks to resources
A
B
C
D
E
Wintersemester 2010/11
Hardware/Software Codesign I
02-15
Scheduling on System Level
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
Wintersemester 2010/11
Hardware/Software Codesign I
02-16
8
Rating of Design Alternatives
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
pareto point
_______________:
criteria can not be
improved without worsen
another
pareto points
 1, 2, 4, 6 are ___________
Wintersemester 2010/11
Hardware/Software Codesign I
02-17
Contents
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• HW/SW Codesign
C d i
Process
P
• Design Abstraction and Views
• Synthesis
• Control/Data-Flow
Control/Data Flow Models
• System Synthesis Models
Wintersemester 2010/11
CO
Hardware/Software Codesign I
mplex
ncurrent
rrect
ordinated
DESIGN
02-18
9
Data Structures
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• ffor algorithms
l
ith
((calculation
l l ti
off optimisations)
ti i ti
) are d
dedicated
di t d and
d
formal models necessary  data structures
• granularity
– detailing for optimisation parameters
– abstraction for manageability
• extendibility
– annotation by optimisation method
– output generation, if necessary for common optimisation
Wintersemester 2010/11
Hardware/Software Codesign I
02-19
Graph
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• modelling by graphs
– graph G = (V
(V,E),
E) E ‫ ك‬V x V
set of vertices (nodes) V:
operation, tasks, communication
set of arcs (edges)
dependencies between nodes
E:
A
• example:
– G = ((V,E))
– V = (A, B, C, D, E)
– E = ((A,B), (A,C), (B,E), (C,D), (D,E))
– directed graph (A,B) ֙(B,A)
Wintersemester 2010/11
Hardware/Software Codesign I
B
C
D
E
02-20
10
Control and Data Flow Models
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• possible
ibl dependencies
d
d
i to
t model
d l by
b d
data
t structure
t
t
– data dependency
– control dependency
resource conflicts
– ____________________
(caused by implementation)
• important models
– data flow graph (DFG)
– control flow graph (CFG)
– system modelling graphs (later)
Hardware/Software Codesign I
Wintersemester 2010/11
02-21
Data Flow Graph (DFG)
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• shows data dependencies between calculation or memory units
(functions, variables, ALUs, …)
• directed edge,
edge if a producer-consumer
producer consumer relation between two
nodes
x = 3*a + b*b – c;
y = a + b*x;
z = b – cc*(a
(a + b);
Wintersemester 2010/11
Hardware/Software Codesign I
02-22
11
Control Flow Graph (CFG)
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• models control paths of algorithms
• directed graph with one start and
one end node
foo
{ read(a,b);
done = false;
repeat
{
if (a > b)
a = a – b;
else
if (b > a)
b = b – a;
else done = true;
} until done;
write(a);
}
start
instructions
read(a,b)
done = FALSE
branch
a > b
a = a-b
b > a
b = b-a
true
false
done = TRUE
done != TRUE
write(a)
end
Wintersemester 2010/11
Hardware/Software Codesign I
02-23
Contents
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• HW/SW Codesign
C d i
Process
P
• Design Abstraction and Views
• Synthesis
• Control/Data-Flow
Control/Data Flow Models
• System Synthesis Models
Wintersemester 2010/11
CO
Hardware/Software Codesign I
mplex
ncurrent
rrect
ordinated
DESIGN
02-24
12
Models for System Synthesis
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• problem graph
– nodes:
nodes
– edges:
ffunctional
nctional and communication
comm nication objects
dependencies
• architecture graph
– nodes:
– edges:
functional and communication resources
directed communication paths
• specification graph
possible mapping
– problem graph + architecture graph + ___________________
Hardware/Software Codesign I
Wintersemester 2010/11
02-25
Problem Graph
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
1
2
1
2
5
3
3
6
7
4
DFG
Wintersemester 2010/11
communication nodes
4
problem graph
Hardware/Software Codesign I
02-26
13
Architecture Graph
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
architecture
architecture graph
RISC
RISC
bus
bus
FPGA1
FPGA1
FPGA2
P2P
point-to-point link
communication resources
FPGA2
Hardware/Software Codesign I
Wintersemester 2010/11
02-27
Specification Graph
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
weighting (different scenarios)
1
2
10 | 7 | 100
RISC
1|1|5
5
3
6
5 | 3 | 100
bus
FPGA1
P2P
7
FPGA2
4
problem graph
possible mapping
architecture graph
specification graph
Wintersemester 2010/11
Hardware/Software Codesign I
02-28
14
Example
Professur Technische Informatik
Prof. Dr. Wolfram Hardt
• HW/SW partitioning (__________________)
bi-partitioning
HW
HW
bus
bus
processor
processor
architecture
architecture graph
 only two blocks (HW and SW)
Wintersemester 2010/11
Hardware/Software Codesign I
02-29
15

Documents pareils