Académique Documents
Professionnel Documents
Culture Documents
Outline
1. Introduction
2. Related Work
3. Distributed Embedded System and
System Model
4. Multi-Level Partitioning
5. Case Study
2
1. Introduction
Hardware-Software Codesign
Distributed Embedded System
Motivation
Task Graph
Physical Restrictions
1. Introduction (cont)
Multi-Level Partitioning
Partitioning Algorithm
Sharing, Clustering
Case Studies
2. Related Work
Optimal Codesign
Heuristic Codesign
Exhaustive search
Wolf 1994, Haworth et al. 1993
DAmbrosio and Hu 1994
Iterative:
Dick and Jha 1998 --- MOGAC, CORDS
Dick and Jha 1999 --- MOCYN
Constructive:
Wolf 1996 --- object-oriented
Yen and Wolf 1996 --- sensitivity-driven
Dave, Lakshminarayana, and Jha 1999 --- COSYN
Dave and Jha 1999 --- COFTA
Dave and Jha 1998 --- COHRA
Our proposed: Distributed Embedded System
Codesign (DESC)
9
3. Distributed Embedded
Systems
and
System
Models
An
embedded
computer
system is a system
3. Distributed Embedded
Systems
and System Models (cont)
There are several reasons to build
distributed hardware engine for embedded
system
Cheaper
Faster response time
The devices control may be physically
distributed
11
System Models
Object Model
Dynamic Model
Functional Model
12
3. Distributed Embedded
Systems
andHybrid
System
Models
(cont)
Linear
Automata
(LHA) Models
SES Models
13
4. Multi-Level Partitioning
14
Initialization
SSP level
Generate Structural
Partition
CPU allocation to
distributed subsystems
Copartitioning
ASIC
Sharing
CPU
Sharing
Hardware
Clustering
Software
Grouping
Last Structural
Partition?
No
Yes
Last Design
Alternative?
Yes
Output Heuristically
Optimal Partition
No
BSC level
OMT Models
Copartitioning
BSC level
Next structural partition
Increase software
objects
Cost is more
important Check if the partition
No satisfactory partition
is a heuristically
optimal solution?
Increase hardware
objects
Yes
Partition found?
No
No
No
Yes
Print No partition
where x is a object
17
No Sharing
STD
18
4. Multi-Level Partitioning
(cont)
19
4. Multi-Level Partitioning
(cont)
Algorithm 5.2 Share Components Algorithm
Share_Components(s){
/* s=<s1, s2, ,s>, si=(si1, si2) where si1 is the number of PE in subsystem Si and si2 is
the number of ASIC in subsystem Si. si1, si2{0,1, } */
for (i = 1, i , i++) {
for (j = i, j , j++) {
if SLI(si, sj) STD {
if (si1 0 sj1 0)
Share_PE(Si, Sj); /* Refer to Algorithm 5.3 */
if (si2 0 sj2 0)
Share_ASIC(Si, Sj); /* Refer to Algorithm 5.4 */
}
}
}
}
20
21
4. Multi-Level Partitioning
(cont)
Complexity analysis
MLP Init _ time BSC
MLP r r log r log r
[ sp( p ) C 2 ( 2 max ( p k ) k r 2 )]
p 0 ,...,
p 0 ,...,
1 k p
5. Case Studies
23
VPMS Specifications
24
25
26
ENTRY Management
System
EXIT Management
System
Gate
Controller
Time
Stamp
isa
isa
Sensor
ENTRY Sensor
Control
Unit
isa
EXIT Sensor
Ticket Checker
7-Segment
Control System
Display Device
LCD
Dot Matrix
Counter
EXIT Gate
ENTRY Gate
isa
Motor
Display System
Send/Receive
Device
Control
Unit
Display
Interface
Car out
Car in
Idle
Decrement
counter
Push time stamp
button
Count > 0,
send ACK!
Count = 0,
out of space
Read count
Update
Display
EXIT Sensor
ENTRY Sensor
Car in signal
Increment
Counter
Counter
Counter Data
Update
Display
Decrement
Counter
30
Update Display
t = 42ns, t := 0
t = 42ns, t := 0
Count := Count + 1
Count := Count 1
t = 100ns
Decrement
Counter
Car in
t := 0
Car out
t := 0
Idle
t = 18ns
Read Count
Increment
Counter
t:= 0, x := 0,
Update Display
t = 3.2s, t := 0
Count := Count 1
x 33ms, x := 0
Decrement
Counter
t = 5.12s,
t := 0,
x 33ms,
x := 0
Car in,
t := 0
t = 10ms, t:= 0
x := 0
Polling
t = 10s ,
t := 0
Read Count
Car out,
t := 0
t = 3.2s, t := 0
Count := Count +1
x 33ms, x := 0
Increment
Counter
A car-simulator
A DISPLAY subsystem
33
34
Sensor Driver
Counter
Motor Driver
CPD
7.622
32.533
202.381
35
36
Entry Sensor
& Driver
Exit Sensor
& Driver
Car out(i)
Single-chip
Processor
(8751)
Open(o) or Close(o)
Interface
Time Stamp
Machine
Ticket
Checker
Display
Device
Entry gate
Single-chip
Processor Open(o) or Close(o)
(8751)
Interface
Exit gate
37
38
STD (m)
SLI(ENTRY, EXIT) (m)
SLI(Display, EXIT) (m)
SLI(Display,
ENTRY)
(m)
VPMS-2
2.0
Partitioning Results
(1) ENTRY gate
(1)
control
(2) EXIT gate
2
control
(2)
(3) Display
(1) ENTRY
(1)
sensor
1
control
(2) EXIT sensor
control
1,430
VPMS-3
1.0
0.5
3.0
1.0
0.8
0.5
3.0
0.5
ENTRY/
EXIT gate
control
Display
(1)ENTRY/
EXIT/
1
Display
Subsystem
ENTRY/
EXIT
sensor
(1) ENTRY/
EXIT/
1
Display
Subsystem
Interface
1,250
1,180
13,200
13,200
14,020
210
210
1030
0.602
3.857
14.789
VPMS-A
Number of
Subsystems
VPMS-D
2
VPMS-E
2
(1) ENTRY
(1) ENTRY
Subsystem
Subsystem
(2) EXIT/
(2) EXIT
Display
Subsystem
Subsystem (3) Display
Subsystem
(1) ENTRY
(1) ENTRY
Motor
Motor
Driver
Driver
2 (2) EXIT
3 (2) EXIT
Motor
Motor
Driver/
Driver
Counter
(3) Counter
(1) ENTRY
(1) ENTRY
Sensor
Sensor
2
2
(2) EXIT
(2) EXIT
Sensor
Sensor
1,340
1,430
13,100
13,200
110
110