slides

Synthesis of Digital Microfluidic Biochips
with Reconfigurable Operation Execution
Elena Maftei
Technical University of Denmark
DTU Informatics
www.dreamstime.com
Digital Microfluidic Biochip
Duke University
2
Applications
Sampling and real time testing of
air/water for biochemical toxins

Food testing

DNA analysis and sequencing

Clinical diagnosis

Point of care devices

Drug development

3
Advantages & Challenges

Advantages:





High throughput (reduced sample / reagent consumption)
Space (miniaturization)
Time (parallelism)
Automation (minimal human intervention)
Challenges:



Design complexity
Radically different design and test methods required
Integration with microelectronic components in future SoCs
4
Outline




Motivation
Architecture
Operation Execution
Contribution I


Contribution II


Routing-Based Synthesis
Contribution III


Module-Based Synthesis with Dynamic Virtual Devices
Droplet-Aware Module-Based Synthesis
Conclusions & Future Directions
5
Architecture and Working Principles
Biochip architecture
R
Cell architecture
Reservoir
Ground electrode
2
Top plate
B
Filler fluid
Droplet
Insulators
S2
Bottom plate
S3
Control electrodes
R

Electrowetting-on-dielectric
1
S1
W
Detector
6
Microfluidic Operations
R
2
B


S2
S3


R

Dispensing
Detection
Splitting/Merging
Storage
Mixing/Dilution
1
S1
W
7
Reconfigurability
R
2
B


S2
S3


R

Dispensing
Detection
Splitting/Merging
Storage
Mixing/Dilution
1
S1
W
8
Reconfigurability
R
2
Non-reconfigurable
B


S2
S3


R

Dispensing
Detection
Splitting/Merging
Storage
Mixing/Dilution
1
S1
W
9
Reconfigurability
R
2
Non-reconfigurable
B


S2
S3
R
1
S1
W
Dispensing
Detection
Reconfigurable
 Splitting/Merging
 Storage
 Mixing/Dilution
10
Module-Based Operation Execution
R
2
B
2 x 4 module
S2
S3
R
1
S1
W
11
Module-Based Operation Execution
R
2
Operation Area (cells)
B
2 x 4 module
S2
S3
Time (s)
Mix
2x4
3
Mix
2x2
4
Dilution
2x4
4
Dilution
2x2
5
Module library
R
1
S1
W
12
Module-Based Operation Execution
R
2
B
2 x 4 module
S2
S3
segregation cells
R
1
S1
W
13
Module-Based Operation Execution
R
2

B

S2
S3

Operations confined to
rectangular, fixed modules
Positions of droplets inside
modules ignored
Segregation cells
R
1
S1
W
14
Module-Based Synthesis with Dynamic
Virtual Modules
15
Example
In S1
1
Dilute
In B
2
In S2
5
3
4
6
7
In S3
8
Dilute
In B
9
In R2
In R1
Mix
1
0
1
2
In B
1
3
1
1
S
B
3
1
S
R
1
2
S
R
D1
2
Dilute
B
Application graph
1
2
t
W
16
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
6
2x2
2x4
7
8
9
S3
2x2
B1
2x4
R2
1
0
1
2
1
1
1
3
B2
S
R
1
2
S
R
D1
2
2x2
B
Application graph
1
2
Biochip
W
17
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x2
2x4
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
R
1
2
S
R
D1
2
2x2
B
Application graph
1
2
t
W
18
Example
S1
1
2
S2
3
4
R1
B1
5
2x2
2x4
7
8
9
S3
2x2
B1
2x4
R2
1
0
1
2
3
1
R
1
1
1
1
3
B
D4
(O13)
S
6
S
B2
2
S
D3
(O12)
2
M1
(O6)
1
2x2
B
Application graph
store O5
R
2
t+4
W
19
Example
1
2
S2
3
4
R1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
1
0
1
2
1
R
1
1
1
1
3
3
D4
(O13)
S
6
B
B2
2
S
M2(O7)
S1
S
D3
(O12)
2
1
2x2
B
Application graph
R
2
t+8
W
20
Example
S1
1
2
S2
3
4
R1
B1
t
5
6
8
2x2
9
S3
2x2
B1
2x4
R2
t+11
Allocation
2x4
7
t+8
1
0
1
2
Application graph
1
1
1
3
O6
Mixer1
Diluter2
O5
store
O7
Mixer2
B2
2x2
Diluter3
O12
Diluter4
O13
Schedule
21
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
D1
2
1
2x2
B
Application graph
R
2
t
W
22
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
23
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
24
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
25
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
26
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
27
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
28
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
29
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
30
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
31
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
2
1
2x2
B
Application graph
R
2
t
W
32
Example
S1
1
2
S2
3
4
S
B
3
1
R1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
3
B2
1
2
S
R
D1
2
1
2x2
B
Application graph
R
2
t
W
33
Example
S1
1
2
S2
3
4
S
B
3
1
R1
B1
5
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
D2(O5)
S
6
1
0
1
2
1
1
1
1
3
B2
2
S
M1
(O6)
D1
2
R
1
2x2
B
Application graph
R
2
t
W
34
Example
S1
1
2
S2
3
4
R1
S
B
3
1
B1
S
6
2x4
2x2
7
8
9
S3
2x2
B1
2x4
R2
1
0
1
2
1
1
1
1
3
B2
S
2
D3
(O12)
R
1
2x2
B
Application graph
R
2
M2 (O7)
5
D4
(O13)
2
W
t+4
35
Example
t
t+8
t+11
Allocation
Mixer1
Diluter2
O5
Allocation
t
t+4
O6
Mixer1
O6
store
Diluter2
O5
O7
Mixer2
Mixer2
t+9
O7
Diluter3
O12
Diluter3
O12
Diluter4
O13
Diluter4
O13
Schedule – operation execution
with fixed virtual modules
Schedule – operation execution
with dynamic virtual modules
36
Solution

Binding of modules to operations

Schedule of the operations


Tabu Search
List Scheduling
Placement of modules performed inside scheduling
Placement of the modules
Maximal Empty Rectangles
Free space manager based on [Bazargan et al. 2000] that
divides free space on the chip into overlapping rectangles

37
Dynamic Placement Algorithm
S (3,8)
B
3
1
(8,8)
Rect2
S
R
1
Rect1
(0,4)
S
Rect3
1
R
D1
2
(0,0) B
2
W
2
(7,0)
38
Dynamic Placement Algorithm
S
B
3
1
Rect2
D2(O5)
S
(8,8)
R
1
(3,4)
Rect1
S
2
(0,0) B
2
D1
W
Rect3
(6,4)
1
R
2
(7,0)
39
Dynamic Placement Algorithm
S
B
3
1
(8,8)
D2(O5)
S
1
R
1
Rect2 (8,4)
S
D1
2
B
2
Rect1
R
2
(4,0) W (6,0)
40
Experimental Evaluation


Tabu Search-based algorithm implemented in Java
Benchmarks

Real-life applications




Synthetic benchmarks


Colorimetric protein assay
In-vitro diagnosis
Polymerase chain reaction – mixing stage
10 TGFF-generated benchmarks with 10 to 100 operations
Comparison between:



Module-based synthesis with fixed modules (MBS)
T-Tree [Yuh et al. 2007]
Module-based synthesis with dynamic modules (DMBS)
41
Experimental Evaluation
Best-, average schedule length and standard
deviation out of 50 runs for MBS
Colorimetric
Colorimetric protein
protein
assay
assay
Colorimetric
protein
assay
Area
Time limit
(min)
Best (s)
Average (s)
Standard
dev. (%)
13 x 13
60
182
189.99
2.90
10
182
192.00
3.64
1
191
199.20
4.70
60
182
190.86
3.20
10
185
197.73
6.50
1
193
212.62
10.97
60
184
192.50
3.78
10
194
211.72
14.37
1
226
252.19
15.76
12 x 12
42
Experimental Evaluation
Best schedule length out of 50 runs for MBS vs. T-Tree
Colorimetric
protein
assay
Colorimetric protein
assay
Colorimetric
protein
Colorimetric
protein
assayassay
300
Best schedule length (s)
250
200
150
MBS
T-Tree
100
50
0
10 x 10
10 x 9
9x9
Area (cells x cells)
Colorimetric
protein assay
22.91 % improvement
for 9 x 9
43
Experimental Evaluation
Average schedule length out of 50 runs for DMBS vs. MBS
Colorimetric protein
assay
Colorimetric
protein
assay
Average schedule length (s)
250
200
150
DMBS
MBS
100
50
0
13 x 13
12 x 12
11 x 12
Area (cells x cells)
Colorimetric
protein for
assay
7.68 % improvement
11 x 12
44
Routing-Based Operation Execution
45
Module-Based vs. Routing-Based
Operation Execution
R
R
2
2
B
S
2
S
B
S
c
2
1
3
c
S
2
3
R
S
1
W
1
R
S
W
1
1
46
Operation Execution Characterization
R
2
B
p90, p180, p0 ?
S
c
2
1
180◦
90◦
c 90◦
S
2
3
0◦
S
R
W
1
1
47
Operation Execution Characterization
90◦ 0◦
90◦
0◦
0◦
Type
Area
(cells)
Time
(s)
Mix/Dlt
2x4
2.9
p90, p180, p0
Mix/Dlt
1x4
4.6
Mix/Dlt
2x3
6.1
0◦
90◦
Mix/Dlt
2x2
9.9
◦
0◦ 90◦ 90
90◦ 90◦ 90◦
Input
-
2
Detect
1x1
30
0◦ 90◦
0◦
90◦
90◦
180◦
0◦
90◦
0◦
0◦ 180◦
Electrode pitch size = 1.5 mm, gap spacing = 0.3 mm, average velocity rate = 20 cm/s.
48
Operation Execution Characterization
p90 = 0.1 %
p180 = - 0.5 %
p0 = 0.29 %
1
p0 = 0.58 %
2
Type
Area
(cells)
Time
(s)
Mix/Dlt
2x4
2.9
Mix/Dlt
1x4
4.6
Mix/Dlt
2x3
6.1
Mix/Dlt
2x2
9.9
Input
-
2
Detect
1x1
30
Electrode pitch size = 1.5 mm, gap spacing = 0.3 mm, average velocity rate = 20 cm/s.
49
Example
R
2
B
1
In S1
2
In R1
4
3
In S2
In R2
5
In S3
8
7
Mix
1
0
In B
S
9
Dilute
Mix
Mix
6
2
S
3
1
In R1 1
Mix
1
2
1
3
R
Waste
S
W
1
1
Application graph
Biochip
50
Example
R
2
S1
R1
S2
R2
S3
B
B
4
3
5
6
S
8
7
1x4
9
1x4
1x4
1
0
R1
1
1
2
2x4
2x4
1
2
1
3
M2(O7)
2
M1(O8)
1
S
3
R
W
S
W
1
1
t = 2.04 s
Application graph
51
Example
R
2
S1
R1
S2
R2
S3
B
B
4
3
5
6
S
8
7
9
1x4
1x4
1x4
1
0
R1
1
1
2
2x4
2x4
1
2
1
3
D1(O9)
2
M3(O10)
1
S
3
R
W
S
W
1
1
t = 6.67 s
Application graph
52
Example
R
2
S1
R1
S2
R2
S3
B
B
4
3
5
6
S
8
7
9
1x4
1x4
1x4
1
0
R1
1
1
2
2x4
2x4
1
2
M4(O12)
2
M3(O10)
1
S
3
1
3
R
W
S
W
1
1
t = 9.5 s
Application graph
53
Example
S1
R1
S2
R2
S3
B
2.04
1
2
4
3
5
6
8
7
9
1x4
1x4
1x4
1
0
R1
1
1
2x4
Application graph
1
2
Mixer1
O8
Mixer2
O7
Mixer3
2x4
1
3
Diluter1
Mixer4
12.50
6.67
O10
O9
O12
W
Schedule
54
Example
R
2
S1
R1
1
S2
2
R2
S3
4
3
4
B
5
6
S 3
8
7
9
1x4
1x4
1x4
1
0
R1
1
1
4
6
4
6
8
6
2
2x4
2x4
1
2
1
3
1
W
S
1
1
7
2
W
B
9
5
2
R
1
1
t = 2.03 s
Application graph
55
Example
R
13.58 times
2
S1
R1
S2
R2
S3
B
B
1
2
4
3
5
6
S
8
7
9
1x4
1x4
1x4
1
0
R1
1
1
8
2
9
2x4
2x4
1
2
S
3
1
3
R
7
W
S
W
1
1
t = 4.20 s
Application graph
56
Example
R
2
S1
R1
S2
R2
S3
B
10 8
1
2
4
3
5
6
8
9
1x4
1x4
1x4
1
0
R1
1
1
2
2x4
2x4
1
2
8
8
9
e
e
B
7
S
7
8
1
3
7 13
11 S
7 13 13
7
13
11
3
13 13 13 13 11 R
7
W
12 11
S
W
1
1
t = 4.28 s
Application graph
57
Example
R
10.33 times
2
S1
R1
S2
R2
S3
B
B
10
1
2
4
3
5
6
S
8
7
9
1x4
1x4
1x4
1
0
R1
1
1
12
2
S
2x4
2x4
1
2
3
1
3
R
W
S
W
1
1
t = 6.34 s
Application graph
58
Example
2.04
12.50
6.67
2.03
4.20
Mixer1
O8
O7
Mixer2
O7
O8
Mixer3
Diluter1
Mixer4
6.35
O9
O10
O9
O10
O12
Schedule – module-based
operation execution
O12
Schedule – routing-based
operation execution
59
Solution
S
o
u
r
c
e
1
In S1
2
In R1
In S2
In R2
5
Mix
1
In R1 1
1
0
In B
Mix
Merge
9
Dilute
Mix
Mix
6
In S3
8
7
Mix
4
3
1
2
1
3
Waste
S
i
n
k
60
Solution
S
o
u
r
c
e
1
In S1
2
In R1
In S2
In R2
5
Mix
Minimize the completion
time for the operation
1
In R1 1
1
0
In B
Mix
Merge
9
Dilute
Mix
Mix
6
In S3
8
7
Mix
4
3
1
2
1
3
Minimize the time
until the droplets
meet
Waste
S
i
n
k
61
Solution

Greedy Randomized Adaptive Search Procedure (GRASP)
R
2
3
B
3
3
2
S
2
S
1
3
R
S
W
1
1
62
Solution

Greedy Randomized Adaptive Search Procedure (GRASP)
R
2
3

B
3
3
2
For each droplet:


S
2
Determine possible moves
Evaluate each move

S
1
3
S
W

R

1

Merge: minimize Manhattan
distance
Mix: maximize operation execution
Make a list of the best N moves
Perform a random move from N
1
63
Solution

Greedy Randomized Adaptive Search Procedure (GRASP)
R
2
3

B
3
3
2
For each droplet:


S
2
Determine possible moves
Evaluate each move

S
1
3
S
W

R

1

Merge: minimize Manhattan
distance
Mix: maximize operation execution
Make a list of the best N moves
Perform a random move from N
1
64
Solution

Greedy Randomized Adaptive Search Procedure (GRASP)
R
2
3

B
3
3
2
For each droplet:


S
Determine possible moves
Evaluate each move

2
1
S
1
3
S
W

R

1

Merge: minimize Manhattan
distance
Mix: maximize operation execution
Make a list of the best N moves
Perform a random move from N
1
65
Solution

Greedy Randomized Adaptive Search Procedure (GRASP)
R
2
3

B
3
3
3
2
For each droplet:


S
Determine possible moves
Evaluate each move

2
1
S
1
3
S
W

R

1

Merge: minimize Manhattan
distance
Mix: maximize operation execution
Make a list of the best N moves
Perform a random move from N
1
66
Experimental Evaluation


GRASP-based algorithm implemented in Java
Benchmarks

Real-life applications


Synthetic benchmarks


Colorimetric protein assay
10 TGFF-generated benchmarks with 10 to 100 operations
Comparison between:


Routing-based synthesis (RBS)
Module-based synthesis with fixed modules (MBS)
67
Experimental Evaluation
Average schedule length out of 50 runs for RBS vs. MBS
Colorimetric
protein
assay
Colorimetric protein
assay
Colorimetric
protein
Colorimetric
protein
assayassay
Average schedule length (s)
250
200
150
RBS
MBS
100
50
0
11 x 11
11 x 10 assay
Colorimetric
protein
10 x 10
Area (cells x cells)
Colorimetric
protein assay
44.95%
improvement
for10
10xx10
10
44.95
% improvement
for
68
Routing-Based Operation Execution Conclusions


Improved completion time compared to module-based
synthesis
Challenge: contamination
69
Routing-Based Operation Execution Conclusions


Improved completion time compared to module-based
synthesis
Challenge: contamination
S
B
3
1
R
1
2
S
1
R
S
1
2
residues
B
2
R
3
W
70
Routing-Based Operation Execution Conclusions


Improved completion time compared to module-based
synthesis
Challenge: contamination
S
B
3
1
R
1
2
S
1
R
S
1
2
B
w1
2
R
3
W
71
Routing-Based Operation Execution Conclusions


Improved completion time compared to module-based
synthesis
Challenge: contamination
S
B
3
1
1
R
2
S
1
R
S
1
2
B
w1
R
3
2
W
72
Routing-Based Operation Execution Conclusions


Improved completion time compared to module-based
synthesis
Challenge: contamination
S
B
3
1
1
R
2
S
1
R
S
1
2
w1
B
2
R
3
W
73
Routing-Based Operation Execution Conclusions


Improved completion time compared to module-based
synthesis
Challenge: contamination
S
3
B
1
1
R
2
S
1
Partition2
S
w2
R
1
w1
2
B
2
Partition1
R
3
W
74
Routing-Based Operation Execution Conclusions


Improved completion time compared to module-based
synthesis
Challenge: contamination
S
3
B
1
1
R
S
B
3
1
2
S
R
2
S
1
Partition2
S
w2
R
1
R
1
1
w1
2
S
B
2
B
2
Partition1
R
3
2
1
W
R
3
W
75
Routing-Based Operation Execution Conclusions


Improved completion time compared to module-based
synthesis
Challenge: contamination
S
3
B
1
1
R
S
B
3
1
R
2
S
2
S
1
Partition2
S
w2
R
w2
1
R
1
1
w1
2
S
B
2
w1
2
Partition1
R
3
B
2
1
W
R
3
W
76
Droplet-Aware Operation Execution
without Contamination
77
Example
In S1
1
Dilute
In B
2
In S2
5
In S3
Dilute
In B
9
4
6
7
8
3
Mix
In R2
In R1
Mix
1
0
1
2
In B
1
3
1
1
B
3
1
S
R
1
1
S
R
2
2
Dilute
B
Application graph
S
2
W
Biochip
78
Example
SIn
1 S1
1
2
SIn
2 S2
3
4
InRR
11
S
B
3
1
B1
2Dilute
x4
5
6
7
S3
SIn
3
8
Dilute
2x3
9
1
2
B1
Mix
1x4
R2
Mix
2x4
1
0
1
1
1
3
B2
S
R
1
1
S
R
2
2
Dilute
2x3
B
Application graph
2
W
Biochip
79
Example
SIn
1 S1
1
2
SIn
2 S2
3
4
InRR
11
S
B
3
1
B1
2Dilute
x4
5
6
7
S3
SIn
3
8
Dilute
2x3
9
1
2
B1
Mix
1x4
R2
Mix
2x4
1
0
1
1
1
3
S
R
1
1
D1
(O5)
S
B2
2
R
2
Dilute
2x3
B
Application graph
M1
(O6)
2
W
t=2s
80
Example
SIn
1 S1
1
2
SIn
2 S2
3
4
InRR
11
S
B
3
1
B1
6
7
S3
SIn
3
8
Dilute
2x3
9
1
2
B1
Mix
1x4
R2
D3(O13)
S
Mix
2x4
1
0
1
1
1
1
3
S
B2
2
R
D2(O12)
2
Dilute
2x3
B
Application graph
R
1
M2 (O7)
2Dilute
x4
5
2
W
t = 4.9 s
81
Example
SIn
1 S1
1
2
SIn
2 S2
3
4
InRR
11
B1
2Dilute
x4
5
6
7
S3
SIn
3
8
Dilute
2x3
9
1
2
B1
Mix
1x4
R2
2
Mix
2x4
1
0
Application graph
1
1
1
3
Diluter1
O5
Mixer1
O6
Mixer2
B2
Dilute
2x3
11
4.9
O7
Diluter2
O12
Diluter3
O13
Schedule
82
Example
SIn
1 S1
1
2
SIn
2 S2
3
4
InRR
11
S
B
3
1
B1
2Dilute
x4
5
6
7
S3
SIn
3
8
Dilute
2x3
9
1
2
B1
Mix
1x4
R2
Mix
2x4
1
0
1
1
1
3
S
R
1
1
D1
(O5)
S
B2
2
R
2
Dilute
2x3
B
Application graph
M1
(O6)
2
W
t=2s
83
Example
SIn
1 S1
1
2
SIn
2 S2
3
4
InRR
11
S
B
3
1
B1
2Dilute
x4
5
6
7
S3
SIn
3
8
Dilute
2x3
9
1
2
B1
Mix
1x4
R2
Mix
2x4
1
0
1
1
1
3
S
R
1
1
D1(O5)
S
B2
Dilute
2x3
M1(O6)
2
2
5
6
B
Application graph
R
2
W
t=2s
84
Example
SIn
1 S1
1
2
SIn
2 S2
3
4
InRR
11
S
B
3
1
B1
2Dilute
x4
5
6
D3(O13)
S
Mix
2x4
1
R
1
13
7
S3
SIn
3
8
Dilute
2x3
9
1
2
B1
Mix
1x4
R2
1
0
1
1
1
3
S
B2
Dilute
2x3
M2(O7)
D2(O12)
2
7
B
Application graph
R
2
2
12
W
t = 4.17 s
85
Example
SIn
1 S1
1
2
SIn
2 S2
3
4
InRR
11
B1
2Dilute
x4
5
6
7
S3
SIn
3
8
Dilute
2x3
9
1
2
B1
Mix
1x4
R2
2
Mix
2x4
1
0
Application graph
1
1
1
3
4.17 6.67
Diluter1 O
5
O
Mixer
1
Mixer2
B2
Dilute
2x3
6
Diluter2
O7
O
Diluter3
O
12
13
Schedule
86
Example
2
Diluter1
O5
Mixer1
O6
Mixer2
Diluter2
Diluter3
11
4.9
2
4.17 6.67
Diluter1 O
5
O
Mixer
1
O7
Mixer2
6
O12
Diluter2
O7
O
O13
Diluter3
O
Schedule – module-based
operation execution
12
13
Schedule – droplet-aware
operation execution
87
Solution



Location of modules determined using Tabu Search
Greedy movement of droplets inside modules
Routing of droplets between modules and between
modules and I/O ports determined using GRASP
88
Droplet-Aware Operation Execution
S
B
3
1
D3(O13)
S
1
S
R
1
M2(O7)
R
D2(O12)
2
B
2
W
2
89
Droplet-Aware Operation Execution
S
B
3
1
13 13 13 13
S
7
7
R
7
1
1
7
S
R
12
2
2
12
12 12
B
W
2
90
Droplet-Aware Operation Execution
S
B
3
1
13 13 13 13
S
7
7
R
7
1
1
7
S
R
12
2
2
12
12 12
B
W
2
91
Droplet-Aware Operation Execution
S
B
3
1
13 13 13 13
S
7
7
R
7
1
1
7
S
7
R
12
2
2
12
12 12
B
W
2
92
Experimental Evaluation


Algorithm implemented in Java
Benchmarks

Real-life applications



Synthetic benchmarks


In-vitro diagnosis
Colorimetric protein assay
3 TGFF-generated benchmarks with 20, 40, 60 operations
Comparison between:


Droplet-aware module-based synthesis (DAS)
Module-based synthesis (MBS)
93
Experimental Evaluation
Average schedule length out of 50 runs for DAS vs. MBS
Colorimetric
protein
assay
Colorimetric protein
assay
Colorimetric
protein
Colorimetric
protein
assayassay
140
Average schedule length (s)
120
100
80
DAS
MBS
60
40
20
0
15 x 15
14 x 14
13 x 13
Area (cells x cells)
Colorimetric
protein assay
21.55
% improvement
21.55%
improvementfor
for13
13xx13
13
94
Experimental Evaluation


Algorithm implemented in Java
Benchmarks

Real-life applications


Synthetic benchmarks


Colorimetric protein assay
3 TGFF-generated benchmarks with 20, 40, 60 operations
Comparison between:
Droplet-aware module-based synthesis (DASC)

Routing-based synthesis (RBSC)
with contamination avoidance

95
Experimental Evaluation
Average schedule length out of 50 runs for DASC vs. RBSC
Colorimetric
protein
assay
Colorimetric protein
assay
Colorimetric
protein
Colorimetric
protein
assayassay
Average schedule length (s)
250
200
150
DASC
RBSC
100
50
0
15 x 15
14 x 14
13 x 13
Area (cells x cells)
Colorimetric
protein assay
11.19
%
improvement
11.19% improvementfor
for14
14xx14
14
96
Contributions







Tabu Search-based algorithm for the module-based
synthesis with fixed devices [CASES09]
Module-based synthesis with virtual devices [CASES09]
Module-based synthesis with non-rectangular virtual
devices [DAEM10]
Analytical method for operation execution characterization
[CASES10]
Routing-based synthesis [CASES10] + contamination
[DAEM, submitted]
Droplet-aware module based synthesis [JETC, submitted]
ILP formulation for the synthesis of digital biochips [VLSISoC08]
97
Conclusions
Proposed several synthesis techniques for DMBs

Considered the reconfigurability characteristic of DMBs

Shown that by considering reconfigurability during
operation
execution improvements in the completion time of
applications can be obtained

98
Future Directions
S
B
3
1
S
R
1
1
M2
S
R
2
2
M1
B
W
2
99
Future Directions
Module-Based Synthesis with Overlapping Devices
S
B
S
B
3
1
3
1
S
1
M2
S
2
M1
B
2
W
R
S
R
1
1
1
R
S
2
2
M2
R
2
M1
B
W
2
100
Future Directions
Fault-Tolerant Module-Based Synthesis
S
B
S
B
3
1
3
1
M2
(O2)
S
S
M3(O3)
1
M1
(O1)
2
B
2
W
R
S
1
1
R
S
2
2
M2
(O2)
Faulty cell
R
1
R
M1
(O1)
B
2
W
2
101
Future Directions
Fault-Tolerant Module-Based Synthesis
S
B
S
B
3
1
3
1
S
S
M3(O3)
1
M1
(O1)
2
B
2
W
R
S
1
1
R
S
2
2
M2
(O2)
Faulty cell
R
1
M3(O3)
M2
(O2)
M1
(O1)
B
R
2
W
2
102
103
Back-up slides
104
Electrowetting
105
Surface Tension
Imbalance of forces between molecules
at an interface (gas/liquid, liquid/liquid,
gas/solid, liquid/solid)
106
Dispensing
107
Dispensing
108
Dispensing
109
Splitting
110
Mixing
111
Capacitive sensor
112
Design Tasks
Operation
Area(cells)
Time(s)
Mix
2x2
10
Mix
1x3
5
Dilute
1x3
8
Dilute
2x5
3
113
Design Tasks
S
Operation
Area(cells)
Time(s)
Mix
2x2
10
Mix
1x3
5
Dilute
1x3
8
Dilute
2x5
3
B
3
S
R
1
1
S
R
114
Experimental Evaluation
Quality of the solution compared to classical operation execution
Best out of 50
Colorimetric
Colorimetricprotein
proteinassay
assay
Best schedule length (s)
DMBS vs. FMBS
250
200
150
DMBS
FMBS
100
50
0
13 x 13
12 x 12
11 x 12
Area (cells x cells)
Colorimetric
protein assay
9.73% improvement
for 11 x 12
115
Experimental Evaluation
Quality of the solution compared to classical operation execution
Best out of 50
Colorimetric
Colorimetricprotein
proteinassay
assay
RBS vs. MBS
Best schedule length (s)
250
200
150
RBS
MBS
100
50
0
11 x 11
11 x 10
10 x 10
Area (cells x cells)
Colorimetric
protein assay
44.63% improvement
for 10 x 10
116
Experimental Evaluation
Quality of the solution compared to classical operation execution
Best out of 50
Colorimetric
Colorimetricprotein
proteinassay
assay
DAS vs. MBS
140
Best schedule length (s)
120
100
80
DAS
MBS
60
40
20
0
15 x 15
14 x 14
13 x 13
Area (cells x cells)
Colorimetric
protein assay
15.76% improvement
for 13 x 13
117
Future Directions
Pin-Constrained Routing-Based Synthesis
S
B
3
1
3
S
R
1
1
1
S
R
2
2
2
B
W
2
118
Future Directions
Pin-Constrained Routing-Based Synthesis
S
B
3
1
3
S
R
1
1
1
S
R
2
2
2
B
W
2
119
Future Directions
Pin-Constrained Routing-Based Synthesis
S
B
3
1
3
S
R
1
1
1
S
R
2
2
2
B
W
2
120
Microfluidic Operations
R
Dispensing
2
B

Dispensing
S2
S3
R
1
S1
W
121
Microfluidic Operations
R
2
B


S2
Dispensing
Detection
S3
R
1
S1
W
122
Microfluidic Operations
R
2
B


S2
S3

Dispensing
Detection
Splitting/Merging
R
1
S1
W
123
Microfluidic Operations
R
2
B


S2
S3

Dispensing
Detection
Splitting/Merging
R
1
S1
W
124
Microfluidic Operations
R
2
B


S2
S3


Dispensing
Detection
Splitting/Merging
Storage
R
1
S1
W
125
Motivational Example (for the first
contrib)
In S1
1
In B
2
In S2
3
4
In R1
Operation Area(cells)
Dilute
5
6
7
In S3
8
Dilute
In B
9
Mix
In R2
Mix
1
0
1
2
Application graph
In B
1
3
1
1
Time(s)
Mix
2x4
3
Mix
2x2
4
Dilution
2x4
4
Dilution
2x2
5
Dispense
-
2
Dilute
Module library
126
Motivational Example(for the 2nd
contrib)
S
o
u
r
c
e
1
In S1
2
In R1
4
3
In S2
In R2
5
In S3
8
7
Mix
1
In R1 1
1
0
In B
9
Dilute
Mix
Mix
6
Mix
1
2
1
3
Waste
Type
Area
(cells)
Time
(s)
Mix/Dlt
2x4
2.9
Mix/Dlt
1x4
4.6
Mix/Dlt
2x3
6.1
Mix/Dlt
2x2
9.9
-
2
1x1
30
Input
Detect
S
i
n
k
Application graph
Module library
127
Example(for the 3rd contrib)
In S1
1
Dilute
In B
2
In S2
5
8
Dilute
In B
9
4
6
7
In S3
3
Mix
In R2
1
2
Application graph
Area
(cells)
Time
(s)
Mix/Dlt
2x4
2.9
Mix/Dlt
1x4
4.6
Mix/Dlt
2x3
6.1
Mix/Dlt
2x2
9.9
-
2
1x1
30
In R1
Mix
1
0
Type
In B
1
3
1
1
Input
Detect
Dilute
Module library
128