• 沒有找到結果。

BioRoute: A network-flow-based routing algorithm for the synthesis of digital microfluidic biochips

N/A
N/A
Protected

Academic year: 2021

Share "BioRoute: A network-flow-based routing algorithm for the synthesis of digital microfluidic biochips"

Copied!
14
0
0

加載中.... (立即查看全文)

全文

(1)

BioRoute: A Network-Flow-Based Routing

Algorithm for the Synthesis of Digital

Microfluidic Biochips

Ping-Hung Yuh, Chia-Lin Yang, Member, IEEE, and Yao-Wen Chang, Member, IEEE

Abstract—Due to recent advances in microfluidics, digital

microfluidic biochips are expected to revolutionize laboratory pro-cedures. One critical problem for biochip synthesis is the drop-let routing problem. Unlike traditional very large scale integration routing problems, in addition to routing path selection, the biochip routing problem needs to address the issue of scheduling droplets under practical constraints imposed by the fluidic property and timing restriction of synthesis results. In this paper, we present the

first network-flow-based routing algorithm that can concurrently

route a set of noninterfering nets for the droplet routing problem on biochips. We adopt a two-stage technique of global routing followed by detailed routing. In global routing, we first identify a set of noninterfering nets and then adopt the network-flow approach to generate optimal global-routing paths for nets. In detailed routing, we present the first polynomial-time algorithm for simultaneous routing and scheduling using the global-routing paths with a negotiation-based routing scheme. Our algorithm targets at both the minimization of cells used for routing for better fault tolerance and minimization of droplet transportation time for better reliability and faster bioassay execution. Experimental results show the robustness and efficiency of our algorithm.

Index Terms—Detailed routing, digital microfluidic biochips,

global routing, network-flow-based algorithm.

I. INTRODUCTION

D

UE TO the advances in microfabrication and micro-electromechanical systems, microfluidic technology has gained much attention recently. The composite microsystems could perform conventional biological laboratory procedures on a small and integrated system by manipulating microliter or nanoliter fluids. Therefore, microfluidic biochips are used in several common procedures in molecular biology, such as clini-cal diagnostics and deoxyribonucleic acid sequencing analysis.

First-generation (analog) microfluidic biochips are based on

manipulating continuous liquid flow by permanently etched mi-Manuscript received March 11, 2008; revised June 27, 2008. Current version published October 22, 2008. This work was supported in part by the Na-tional Science Council of Taiwan under Grants NSC 96-2752-E-002-008-PAE, NSC 2628-E-002-248-MY3, NSC 2628-E-002-249-MY3, and NSC 96-2221-E-002-245 and in part by the Excellent Research Projects of National Taiwan University under Grant 96R0062-AE00-07. An earlier version of this paper was presented at the IEEE/ACM International Conference on Computer-Aided Design 2007 [1]. This paper was recommended by Associate Editor K. Chakrabarty.

P.-H. Yuh and C.-L. Yang are with the Department of Computer Science and Information Engineering, National Taiwan University, Taipei 106, Taiwan (e-mail: r91089@csie.ntu.edu.tw; yangc@csie.ntu.edu.tw).

Y.-W. Chang is with the Department of Electrical Engineering and the Graduate Institute of Electronics Engineering, National Taiwan University, Taipei 106, Taiwan (e-mail: ywchang@cc.ee.ntu.edu.tw).

Digital Object Identifier 10.1109/TCAD.2008.2006140

Fig. 1. Schematic view of digital microfluidic biochips.

crochannels and external pressure sources (e.g., micropumps). Recently, second-generation (digital) microfluidic biochips, which are based on the manipulation of discrete microliter or nanoliter liquid particles (the droplets), have been pro-posed [2]. In digital microfluidic biochips, each droplet can be independently controlled by electrohydrodynamic forces generated by an electric field. The field can be generated by an individually accessible electrode. Compared with the first-generation biochips, droplets can move anywhere in a 2-D array to perform desired chemical reactions, and electrodes can be reprogrammed for different bioassays.

Fig. 1 shows the schematic view of a digital microflu-idic biochip based on the principle of electrowetting on di-electric [3]. There are three major components in a biochip: 2-D microfluidic array, dispensing ports/reservoirs, and optical detectors. The 2-D microfluidic array contains a set of basic cells (i.e., unit cells for droplet movement). A droplet moves one cell in one clock cycle. Each basic cell has identical archi-tecture and is used to perform various fundamental operations, such as mixing of multiple droplets, droplet transportation, droplet dilution, and droplet fission. Note that we can perform these fundamental operations anywhere on the 2-D array. In other words, a portion of the 2-D array can perform different operations at different times. This property is referred to as the reconfigurability of biochips. Moreover, we can use these fundamental operations to build a complex bioassay. We refer to this property as the scalability of biochips. The dispensing ports/reservoirs are responsible for droplet generation while the optical detectors are used for reaction detection. These three components allow researchers to perform laboratory procedures on a biochip, from sample preparation, reaction, to detection.

Similar to traditional very large scale integrated (VLSI) syn-thesis methodology, a top–down synsyn-thesis approach for digital microfluidic biochips has been proposed [2]. The synthesis step is divided into architectural- and geometry-level syntheses. 0278-0070/$25.00 © 2008 IEEE

(2)

The architectural-level synthesis performs scheduling with a given bioassay and a set of design specifications [4], while the geometry-level synthesis performs physical placement to deter-mine the physical location of each operation as well as other geometry details [5]. Recently, a unified synthesis and physical placement approach has been proposed [6]–[8]. However, there is not much work that handles the droplet routing problem [9]–[11].

The main challenge of droplet routing is ensuring the correct execution of bioassays; the fluidic property that prevents un-expected mixing among droplets needs to be satisfied. Unlike traditional VLSI routing, in addition to routing path selection, the biochip routing problem needs to address the issue of scheduling droplets under practical constraints imposed by the fluidic property and timing restriction of synthesis results.

There are two main optimization objectives for droplet rout-ing. The first objective is to minimize the number of cells used for routing for better fault tolerance, which is important for safety-critical applications, such as patient health monitoring or biosensors for detecting environmental toxins. As discussed in [5], a biochip contains primary cells for bioassay execution and spare cells for replacing faulty primary cells to ensure the correctness of bioassay execution. Since droplets can only be routed through spare cells, to maximize the number of spare cells for fault tolerance, we need to minimize the number of cells for droplet routing. The second objective is to shorten droplet transportation time, i.e., minimizing the time (in cycles) to route all droplets. Droplet transportation time is critical for applications requiring real-time response for early warnings, such as monitoring environmental toxins. Moreover, shorter droplet transportation time improves the reliability of a biochip. Longer transportation time implies that high actuation voltage (up to 90 V [12]) must be maintained for a long period of time, thereby accelerating dielectric breakdown on some cells. Droplet transportation time is also critical for maintaining the integrity of bioassay execution. Biological samples are sensi-tive to environmental variations. For example, many biological reactions require very small temperature variation (within 1C [13]). Unfortunately, it is hard to maintain an optimal laboratory environment on a biochip. Therefore, it is desirable to shorten the droplet transportation time to maintain the integrity of bioassay execution.

A. Previous Work

In the literature, there are three methods to solve the droplet routing problem. The first one is the prioritized A-search algorithm [9]. Each droplet is assigned a priority, and the A-search algorithm is used to coordinate each droplet based on its priority. The drawback of this approach is that they did not consider the practical timing constraint for throughput consid-eration. Moreover, they only considered two-pin nets. However, for practical bioassays, droplet routing must be modeled as multipin nets, since droplets connect multiple terminals for a mix assay operation.

The second one is based on the open shortest path first routing protocol [10]. They defined layout patterns of a biochip. Each layout pattern has a routing table that is computed by

Dijkstra’s shortest path algorithm. We can then route each droplet based on this routing table. However, since droplet routing only occurs at these layout patterns, their algorithm did not exploit the dynamic reconfiguration property of digital microfluidic biochips.

The third one is a two-stage algorithm [11]. In the first stage (alternative routing path generation), a set of shortest routing paths for each droplet is generated by maze routing. In the second stage (random selection and scheduling), a random selection approach is used to randomly select a routing path for each droplet. A scheduling approach is used to schedule droplets based on the selected routing paths. The aforemen-tioned procedure (random selection and scheduling) repeats for an adequate number of iterations to find a feasible solution. There are two drawbacks of this approach. First, since droplet routing and scheduling are separated into two stages with-out considering the interaction between them, this approach may not find a good solution. Second, this approach may not be efficient, since the maze routing algorithm is performed multiple times to generate alternative routing paths for each droplet.

B. Our Contribution

In this paper, we propose the first network-flow-based routing algorithm for the droplet routing problem on digital microflu-idic biochips. The network-flow routing approach can concur-rently route a set of noninterfering nets and obtain optimal routing solutions in polynomial time. To tackle the complexity issue of simultaneously considering routing and scheduling, we adopt a two-stage technique of global routing followed by detailed routing. In global routing, we first identify a set of non-interfering nets and then adopt the network-flow approach to generate optimal global-routing paths for the identified nets. In detailed routing, we present the first polynomial-time algorithm for simultaneous routing and scheduling with a negotiation-based routing scheme negotiation-based on the global-routing paths in the context of biochip routing.

In this paper, we also present how to handle three-pin nets for practical bioassays. As discussed in [11] and [14], for a mix operation, mixing time can be greatly reduced if its two input droplets are mixed during their transportation. Since mix operations are one of the fundamental operations of a bioassay, it is important to induce the mixing of droplets before reaching their destinations. Hence, these two input droplets must be modeled as three-pin nets, instead of two two-pin ones.

Experimental results demonstrate the robustness and effi-ciency of our algorithm. Our algorithm can successfully route all benchmarks while previous works cannot. Moreover, our algorithm can achieve better solution quality in reasonable CPU time. For example, for the in vitro diagnostics, our algorithm achieves an 11.23% fewer number of cells used for routing (237 versus 267) with less CPU time (0.05 versus 0.15 s) than the two-stage algorithm proposed in [11]. Our algorithm also outperforms previous works in minimizing the number of cycles to route all bioassays. For example, for the same bioassay, our algorithm obtains a routing solution requiring less

(3)

Fig. 2. Side view of a 2-D microfluidic array.

routing time1 than the two-stage algorithm proposed in [11]

(1.16 versus 2.22) with less CPU time (0.05 versus 0.17 s). The remainder of this paper is organized as follows. Section II describes droplet routing on biochips and formulates the droplet routing problem. Section III details our routing algorithm. Section IV shows the experimental results. Finally, concluding remarks are given in Section V.

II. ROUTING ONBIOCHIPS

In this section, we first show droplet routing on biochips. Then, we detail the routing constraints for droplet routing. Finally, we present the problem formulation of the droplet routing problem.

A. Droplet Routing

Fig. 2 shows the side view of a 2-D microfluidic array. A droplet is sandwiched by two plates. The top plate contains one ground electrode, and the bottom plate contains a set of control electrodes. A droplet moves to an adjacent electrode when this electrode is activated. A droplet can stay at a cell for a period of time if we do not activate its neighboring electrodes. Fig. 3 shows a droplet routing example. Fig. 3(a) shows a task graph to represent a bioassay and a 3-D module placement with three modules to represent a synthesis result. In a task graph, nodes represent assay operations, and edges represent data dependences among operations. A 3-D module placement can be divided into a set of 2-D planes at different time steps due to the ability of dynamic reconfiguration [7]. Droplet movement among modules only occurs at these 2-D planes. For example, the 3-D placement shown in Fig. 3(a) can be divided into two 2-D planes, one representing the time t1 before the execution of the two dilute operations a and c and the other one representing the time t2 when dilute a is finished. Fig. 3(b) shows the corresponding two 2-D planes. Note that each module is wrapped with segregation cells for functional isolation.

The droplet routing problem is to route all droplets from a reservoir/dispensing port to a target pin [such as the solid lines shown in Fig. 3(b)], from a source pin to a target pin [such as the dashed lines shown in Fig. 3(b)], or from a source pin to a waste reservoir [such as the dotted lines shown in Fig. 3(b)]. A pin is defined as a fluidic port on the boundary of a module.

1Routing time is measured as the maximum droplet transportation time over

the maximum Manhattan distance of all nets.

Since droplets are generated before routing, the source pin of a droplet generated by a reservoir is the cell next to this reservoir. To satisfy the fluidic property for correct droplet movement,2a

droplet may stay at a basic cell for a period of time. Therefore, in addition to determining the routing path for each droplet, we need to schedule each droplet to satisfy the fluidic property, i.e., to determine the arrival and departure times of each droplet on each basic cell. Only modules (and the surrounding segregation cells) that are active during droplet routing on one 2-D plane are considered as obstacles. For example, dilute c is considered as an obstacle at time t2 since this operation is active at t2. To obtain a complete routing solution, we can sequentially route each 2-D plane to determine the routing path and schedule of each droplet.

The fluidic route of a droplet can be modeled either as a two-or three-pin net. Ftwo-or a dilute operation, we model each input droplet as a two-pin net with only one droplet. For example, the two input droplets from the reservoirs to dilute a at time

t1 can be modeled as two two-pin nets. However, for a mix

operation, we need to model two input droplets as a three-pin net due to the preference of merging two droplets during their transportation for an efficient mix assay operation [11].3 With

this modeling, the two input droplets will be merged before reaching their sink. For example, in Fig. 3(b), the two droplets of the mix b operation form a three-pin net. A droplet routing algorithm must be capable of handling both two- and three-pin nets. We use da

j to denote the jth droplet of net na. If na is a

two-pin net, j is always 1; otherwise, j = 1 or 2. For a two-pin net na, we also use dato denote the droplet of na.

B. Routing Constraints

There are two routing constraints in droplet routing: fluidic

and timing constraints. The fluidic constraints are used to avoid

an unexpected mixing between two droplets of different nets during their transportation, while the timing constraint states the maximum allowed transportation time of a droplet.

The fluidic constraints can be further divided into the static and dynamic fluidic constraints [11]. The static fluidic con-straint states that the minimum spacing between two droplets is two cells if the Cartesian coordinate system is used. In other words, if a droplet is located at cell c at time t, then there does not exist any droplet at the neighboring cells of c at time t. The dynamic fluidic constraint is related to two moving droplets: If a droplet dp moves to cell c at time t + 1, then there must

not be any other droplet dq that moves to cell c at time t + 1

and locates at one of the neighboring cells of c at time t. The reason is that since both cells c and c are activated, dq

may stay at its original location due to these two opposing electrohydrodynamic forces. As a result, an unexpected droplet mixing may occur.

Besides the fluidic constraints, there exists the timing con-straint. The timing constraint specifies the maximum allowed transportation time of a droplet from its source to its target. Since droplet movement is relatively fast compared to assay

2The fluidic property will be formally described in Section II-B. 3Droplets of the same net have the same target pin.

(4)

Fig. 3. Example of droplet routing on biochip. (a) A task graph and a 3-D module placement, i.e., a synthesis result. (b) The corresponding two 2-D planes. Droplet routing only occurs at these 2-D planes.

Fig. 4. Example of fluidic constraints. (a) The static fluidic constraint. (b) The dynamic fluidic constraint when a droplet dqmoves to one of the neighboring

cells of cell (xp, yp) at time tp. (c) The dynamic fluidic constraint when a droplet dpmoves to cell (xp, yp) at time tp. (d) The 3-D modeling of dp, where dpis

located at the center of this 3-D cube.

operations, the existing synthesis algorithms of biochips [6], [7] usually ignore droplet transportation time. To ensure that the aforementioned assumption is valid for complex bioassays, the droplet transportation time must be within a maximum value. Note that we need to account for a droplet’s idle time when calculating the transportation time of this droplet.

C. Modeling the Routing Constraints

We first detail how to model the fluidic constraints. The flu-idic constraints can be illustrated in three scenarios as shown in Fig. 4. The X(Y ) dimension represents the width (height) of a biochip, and the T dimension represents the droplet transporta-tion time. Let (xp, yp, tp) be the coordinate of droplet dpin this

3-D space to represent the location of dpat time tp. To satisfy

the static fluidic constraint, there exist no other droplets in the

2-D rectangle defined by the two coordinates (xp− 1, yp−

1, tp) and (xp+ 1, yp+ 1, tp) in the 3-D space, as shown in

Fig. 4(a). For the dynamic fluidic constraint, we need to con-sider two cases. First, when dqmoves to one of the neighboring

cells of (xp, yp) at time tp, to satisfy the dynamic fluidic

con-straint, no other droplets can be in the 2-D rectangle defined by the two coordinates (xp− 1, yp− 1, tp+ 1) and (xp+ 1, yp+

1, tp+ 1) in the 3-D space, as shown in Fig. 4(b). Second, when

dp moves to cell (xp, yp) at time tp, to satisfy the dynamic

fluidic constraint, there exist no other droplets in the 2-D rectan-gle defined by the two coordinates (xp− 1, yp− 1, tp− 1) and

(xp+ 1, yp+ 1, tp− 1) in the 3-D space, as shown in Fig. 4(c).

Therefore, the three rectangles identified in the aforementioned three scenarios form a 3× 3 × 3 3-D cube in the 3-D space as shown in Fig. 4(d), where dp is located at the center of this

(5)

satisfied if, for each droplet dp located at cell c at time t, there

exist no other droplets in the 3-D cube defined by dp.

Now, we present how the timing constraint is modeled. The notations and definitions used in modeling the timing constraint will be used in the droplet routing algorithm de-scribed in Section III. Given the timing constraint Tmax,

we define Tsm(c, dij)(TsM(c, dij)) as the earliest (latest) time that the droplet dij of net ni can reach (stay at) a cell c

without violating the timing constraint, where Tm

s (c, dij) =

md(c, sij)(TsM(c, dij) = Tmax− md(c, ˆti)), sij represents the

source cell of the droplet di

j, ˆti represents the target cell of net

ni, and md(c1, c2) represents the Manhattan distance between

two cells c1and c2. We say that a cell c is available to a droplet di

j if TsM(c, dij)≥ Tsm(c, dij) and no obstacle is located at c.

Moreover, c is available to di

j at time t if TsM(c, dij)≥ t ≥

Tm

s (c, dij). Similarly, c is available to a net ni if c is available

to at least one droplet of ni, and c is available to ni at time

t if c is available to at least one droplet of ni at time t. The

time interval that a droplet can stay at a cell without violating the timing constraint is referred to as the idle interval. We use

dicij to denote the idle interval of droplet dij at cell c, where

dicij is defined as [Tsm(c, dij), TsM(c, dij)] if c is available to

di

j. We also define the violation interval vicij of dij at cell c

as the time interval [Tm

s (c, dij)− 1, TsM(c, dij) + 1]. If another

droplet is scheduled in c or c’s neighboring cells during the violation interval of c and di

j is scheduled at c in its idle

interval, then the fluidic constraints may be violated. We say that a cell c is used for routing if at least one droplet uses c for routing.

D. Problem Formulation

Since we can sequentially route each 2-D plane to form a complete droplet routing solution, we only show the problem formulation of one 2-D plane. Other 2-D planes can be handled similarly. In this paper, we consider two problems. The first one is to minimize the number of cells used for routing for better fault tolerance. The problem formulation is given as follows.

Input) A netlist of m nets N ={n1, n2, . . . , nm},

where each net na is a two- (one droplet) or

three-pin net (two droplets), the locations of pins and obstacles, and the timing constraint Tmax.

Objective) Minimize the number of cells used for routing for better fault tolerance.

Constraint) Both fluidic and timing constraints must be sat-isfied. The second problem is to minimize the maximum droplet transportation time for fast bioassay execution or better reliability. The prob-lem formulation is given as follows.

Input) A netlist of m nets N ={n1, n2, . . . , nm},

where each net na is a two- (one droplet) or

three-pin net (two droplets), and the locations of pins and obstacles.

Objective) Minimize the maximum droplet transportation time for better reliability.

Constraint) The fluidic constraints must be satisfied.

Fig. 5. Droplet routing algorithm overview.

III. BIOCHIPROUTINGALGORITHM

In this section, we present our biochip routing algorithm. We first give the overview of the proposed routing algorithm. Then, we detail each phase of our algorithm in subsequent sections with the optimization objective of minimizing the number of cells used for routing. Finally, we show how to extend our algorithm to handle the timing-aware routing problem.

A. Routing Algorithm Overview

Fig. 5 shows the overview of the proposed routing algorithm. There are three phases in our routing algorithm: 1) net criticality calculation; 2) global routing based on the min-cost max-flow (MCMF) algorithm [15]; and 3) detailed routing based on a negotiation-based routing algorithm.

In net criticality calculation, we determine the criticality of each net. A net is said to be critical if it is difficult to route this net, due to the severe interferences with other nets or a tight timing constraint. This criticality information will be used in both global and detailed routing.

In global routing, the goal is to determine a rough routing path of each droplet. We divide a biochip into a set of global cells. We first select a set of independent nets4that do not

inter-fere with each other. Based on these global cells, we construct the flow network. We then apply the MCMF algorithm to route the selected nets with the constructed flow network.

In detailed routing, the goal is to simultaneously perform routing and scheduling based on the result of global routing. Scheduling a droplet is equivalent to determining the arrival and departure times of this droplet on each cell. We propose a negotiation-based routing algorithm to handle the detailed routing. The negotiation-based routing algorithm terminates when a feasible solution is found or a specified maximum number of iterations is reached.

(6)

TABLE I

NOTATIONSUSED INGLOBALROUTING

B. Net Criticality Calculation

A net nais said to be critical if 1) nahas fewer possible

solu-tions (routing paths and schedules) due to the timing constraint or 2) there are more nets whose solutions affect the solution of

na. We use crit(a) to denote the criticality value of na. crit(a)

is defined by the following: crit(a) =  k∈N  c∈Ca  t∈vic a1∪vica2u(c, k, t)  c∈Ca  t∈dic a1∪dica2u(c, a, t) (1) where Ca is the set of available cells in the bounding box of

na and u(c, a, t) is one if c is available to net na at time t;

otherwise, u(c, a, t) is zero. The larger the crit(a) is, the more critical the na is. The reason is that, with a tighter timing

constraint, there are fewer possible routing solutions for na, and

thus, the denominator is decreased. If there are more nets that might use cells in Ca for routing, the value of the numerator is

increased, meaning that it is more difficult to route na without

violating the fluidic constraints.

C. Global Routing

Global routing is to determine a rough routing path for each droplet. We decompose the global routing problem into a set of subproblems by selecting a set of independent nets that do not interfere with each other. We first explain how to select a set of independent nets. Then, we present the MCMF algorithm to solve the global routing problem with the selected nets and the approach to estimate the capacity of a global cell. Finally, we handle three-pin nets with the MCMF algorithm. Table I shows the notations used in global routing.

1) Net Selection: We first give the following two definitions. Definition 1: A cell c is said to be a violation-free cell for two

nets naand nbif it is guaranteed to satisfy the fluidic constraints

when the droplet dai uses c and the droplet dbj uses one of c’s neighboring cells or c for routing.

Definition 2: Two nets are said to be independent nets if

1) their bounding boxes are not overlapped or adjacent, or 2) all cells in the overlapping area (if they are overlapped) or all boundary cells (if they are adjacent) are violation-free cells.

Fig. 6. Illustration of Definition 2. (a) Two boundaries are overlapped. (b) Two boundaries are (diagonally) adjacent.

Fig. 6 shows Definition 2. Based on the aforementioned two definitions, the goal of the net selection process is to select a set of independent nets with the maximum sum of criticality, since we should route critical nets first. First, we define Cp as the set of cpand cp’s neighboring cells. The cell cpis not violation free

for two nets na and nb if there exists a cell cq ∈ Cp such that

the violation interval vicp

ai of droplet dai overlaps with the idle

interval dicq

bjof droplet dbj. If these two intervals are overlapped,

it means that it is possible to violate the fluidic constraints if da i

uses cpand dbjuses cqfor routing. If the bounding boxes of na

and nbare overlapped and at least one cell in the overlapping

area is not violation free, then na and nb are not independent

nets. Similarly, if the bounding boxes of naand nbare adjacent

and at least one boundary cell is not violation free, then naand

nbare not independent nets.

Now, we present how to select a set of independent nets for routing. We construct an undirected conflict graph Gc for net

selection. For each unrouted net na, we create a corresponding

node vain Gc. The weight of vais its criticality. Two nodes va

and vbare connected if naand nb are not independent. Under

this formulation, the net selection problem is equivalent to the maximum weighted independent set (MWIS) problem, which is NP-complete on general graphs [16]. Therefore, we resort to an efficient heuristic to find the MWIS of Gc.

We use a priority queue Q to find the MWIS of Gc. Q

contains all candidate nets, and the priority is the criticality of each net. We iteratively select the most critical net nain Q and

delete all nodes vbthat are connected by vaand vain Gc. We

also remove nband na from Q. When Q becomes empty, we

find the set of independent nets, denoted by N. Nwill be used as the input to the MCMF algorithm. The time complexity of the net selection process is O(|N|3), since we need to visit at

most O(|N|2) edges per iteration, and there are at most |N|

iterations. Finally, Fig. 7 shows our net selection algorithm.

2) Network-Flow-Based Routing Algorithm: We divide a

biochip into a set of global cells ˆc. Each global cell contains

3× 3 basic cells. With the global cells and the selected set Nof independent nets to represent a subproblem, we use the MCMF algorithm to solve each subproblem. We first present the basic network formulation for routing all two-pin nets. Finally, we explain how to handle three-pin nets with the MCMF algorithm.

Basic network formulation: We create a directed graph Gf = (Vg∪ {sf, ˆtf}, Eg), where sftf) is the source (target)

of Gf, Vg is the set of routing nodes, and Eg is the set of

edges. For each droplet da, we create a node vpafor each global

cell ˆcp if at least one cell c in ˆcp is available to da and c is

(7)

Fig. 7. Summary of the net selection algorithm.

Fig. 8. Illustration of the simple routing path assumption when a droplet passes through a global cell.

multiple nodes may correspond to the same global cell since

c may be available to multiple droplets. Each node vpa has a

capacity ˜Up− Opand its cost φg(vap).

To calculate U˜p, we first define the set of Lp=

{lp

1, l

p

2, . . . , l

p

k} as the union of all idle intervals of each droplet

da

j at each cell c in ˆcp. Lprepresents all possible time instances

that a droplet may use ˆcpfor routing. To determine the capacity

of ˆcp, we first assume that each droplet passes through a global

cell with a straight line or an L-shaped routing path, as shown in Fig. 8. Under this assumption, if a droplet arrives at ˆcp at time

t, then this droplet leaves ˆcp at time t + 2. It also means that

to satisfy the fluidic constraints, there exist no other droplets scheduled in the time interval [t− 1, t + 3] based on the 3-D modeling of the fluidic constraints presented in Section II. In other words, we need five time units for a droplet to pass through a global cell without violating the fluidic constraints. Then, ˜Upis calculated by the following:

˜ Up=  lpk∈Lp  |lp k| + 2 5  (2)

where|lpk| is the range of lkpand is defined as the difference of the two endpoints of lpkplus one. Moreover, to consider the case when a droplet arrives or leaves at one of the two endpoints of

lpk, the numerator is increased by two.

For two adjacent global cells, ˆcp and ˆcq, we create two

directed edges between va

p and vqa for all nets na. The costs

and capacities of these two edges are both zero and one, respectively. For all droplets da, we create an edge from s

f

to va

p with capacity one and cost zero if the source of da is

in ˆcp. Similarly, we create an edge from vpa to ˆtf if the target

of da is in ˆc

p with capacity one and cost zero. We will detail

how to transfer the node cost/capacity to the edge cost/capacity later. Fig. 9 shows an example of our network formulation. Fig. 9(a) shows the 2-D plane at time t1 of the 3-D module placement shown in Fig. 3(a). The whole chip is divided into 16 global cells. The bottom-left global cell is labeled as 0 while the upper-right global cell is labeled as 15. Fig. 9(b) shows the corresponding network flow formulation. For simplicity, we only show nets n1and n2. As shown in this figure, there are two

nodes that represent the same global cell ˆc6. Similarly, there are

two nodes that represent the same global cell ˆc7.

Cost assignment and node construction: The cost φg(vpa)

of the global cell ˆcpfor net nais defined by the following:

φg  vpa  =  |N| − On p, Op= 0 1 +|N| − Onp, otherwise (3)

where |N| is the size of the input nets. Since our goal is to minimize the number of cells used for routing, we encourage multiple droplets to share the same global cell by assigning a smaller cost to va

pif Opis not zero. Moreover, to encourage two

nets in Nto share the same global cell, we add the difference of|N| and On

p into the cost function.

Now, we present how to transfer the node cost/capacity to the edge cost/capacity so that the MCMF algorithm can be applied. Since each node va

p has capacity ˜Up− Op, it means

that the number of outgoing flows cannot exceed ˜Up− Op. The

same condition holds for all incoming flows of vap. We use the node split technique [15] to decompose each node vpinto two

intermediate nodes vp and vp, and an edge is connected from

vp to vp. Fig. 10 shows this technique. All outgoing edges of

vp are now connected from vp, and all incoming ones are now

connected to vp. The cost and capacity of the edge from vpto

vpare φg(vpa) and ˜Up− Op, respectively.

Under our flow-network construction, one special situation occurs when the size of N is larger than the capacity of a node vp. In this situation, it is possible that, after applying the

MCMF algorithm, Opis larger than the capacity of ˆcp, since in

our formulation, multiple nodes represent the same global cell and these nodes may be used by different droplets for routing. Assume that nets na and nb[crit(b) > crit(a)] both use ˆcpfor

routing and Op> ˜Up. We then keep the flow of nb and rip up

and reroute nawithout using ˆcpfor routing. If nacannot reach

its sink without using ˆcp, then the flow of nais restored, and we

rip up and reroute nb. If both na and nb fail for routing, then

we keep the flow of nb (since it is more critical) and treat na

as a failed net. Then, nawill be handled in the detailed routing

stage. The aforementioned process repeats until Op≤ ˜Up for

all global cells ˆcp.

Based on the aforementioned network formulation and the cost/capacity assignment of edges, we have the following theorem.

Theorem 1: Given a set Nof independent two-pin nets with its size not larger than the minimum capacity of all nodes, we can apply the MCMF algorithm to find the minimum number of cells for nondetour routing.

Proof: The MCMF algorithm obtains flows with

mini-mum edge costs. Since we encourage a droplet to use a global cell that has been used by other droplets and two to-be-routed

(8)

Fig. 9. Example of the MCMF formulation of the 3-D module placement shown in Fig. 3(a) before node split. (a) The 2-D plane at time t1. The whole chip is divided into 16 global cells. (b) The network flow formulation for two nets, n1and n2. (c) The 2-D plane at time t2. (d) The network flow formulation to route

the second droplet of the three-pin net n6.

Fig. 10. Node split in global routing.

droplets to use the same global cell, the MCMF algorithm obtains the global routing paths with the minimum number of global cells used for routing, if there are no routing detours. Also, since the size of Nis less than the minimum capacity of all nodes in the flow graph, the flows on the flow graph are the exact global routing paths of all droplets. Therefore, our MCMF algorithm can find the minimum number of cells for nondetour

routing. 

Handling three-pin nets: We decompose a three-pin net na into two two-pin nets. We first route the droplet da1 with a

longer Manhattan distance between its source and sink and then route the other droplet da

2. The main idea is to route da2 to one

of the global cells that are used by da

1so that they can be mixed

during transportation. We say a node va

p is a mixing node if at

least one cell c in the global cell ˆcpcan be used to mix da1 and da2, i.e., the two idle intervals dica1and dica2are overlapped. We refer to the mixing nodes used by da1for routing as the common

mixing nodes. When routing da2, our goal is to route da2to one of

the common mixing nodes. When routing da2, we first remove

all edges connecting to ˆtf and connected from sf. Next, for all

droplets da

2, we create edges from its common mixing nodes to

ˆ

tfwith capacity one and cost zero. Similarly, we create an edge

from sf to vpaif the source pin of da2is in ˆcpwith capacity one

and cost zero. Fig. 9(c) shows the 2-D plane at time t2 of the 3-D module placement shown in Fig. 3(a). Fig. 9(d) shows the flow network when we route the second droplet, from dilute a to mix b, of net n6. Note that the source node is connected to

node v5, and the target node is now connected from nodes v6

and v10, since these two nodes are common mixing nodes.

Note that, to mix da

1and da2, the number of common mixing

nodes cannot be zero. When routing da

1, we additionally add

the mix cost Mg(vpa, da1) for each vpato ensure that da1visits at

least one mixing node. Mg(vpa, da1) is one if vap is not a mixing

node; otherwise, Mg(vpa, da1) is zero. With the mix cost, the

MCMF algorithm will route da1to one of its mixing nodes, and

therefore, the number of the common mixing node is not zero when we route da2.

3) Time Complexity Analysis: The global routing problem

consists of the net selection and the routing of all droplets by the MCMF algorithm. Given |N| nets, the heuristic al-gorithm for solving the MWIS problem takes O(|N|3) time.

Therefore, in the worst case, the net selection process can be solved in O(|N|4) time, where exactly one net is selected for

routing at one iteration. The MCMF algorithm can be solved in

O(|Vg||Eg| log U log(|Vg|φmax)) time, where U is the largest

edge capacity and φmax is the largest cost. The size of Vg

and Eg are both O(WcHc). Note that, in our formulation,

multiple routing nodes correspond to the same global cell. Hence, the number of nodes and edges in a network flow graph is proportional to the number of to-be-routed droplets. In the worst case, all nets are three-pin nets, and each time, we determine the routing path of one net and route the remaining nets. Therefore, we need O(|N|2) times in total. Based on the

previous discussion, the global routing problem can be solved in

O(|N|4+|N|4(W

cHc)2log U log(|N|(WcHc)φmax)) time. Theorem 2: Given a set N of nets and a biochip of the width

(9)

TABLE II

NOTATIONSUSED INDETAILEDROUTING

O(|N|4+|N|4(W

cHc)2log U log(|N|(WcHc)φmax)) time,

where U is the largest edge capacity and φmax is the

larg-est cost.

D. Detailed Routing

In this section, we present the proposed detailed routing scheme. The negotiation-based detailed routing algorithm is inspired by [17]. The proposed routing algorithm iteratively routes and schedules each droplet in the decreasing order of their criticality. To schedule each droplet, we determine the arrival and departure times of each droplet on each cell. We also perform rip-up and reroute on failed nets. A failed net is a net that cannot find a routing solution satisfying the fluidic constraints or a three-pin net whose two droplets cannot be mixed during their transportation. The proposed routing algo-rithm terminates if a feasible routing solution is found or a specified maximum number of iterations is reached. We first present how to route two-pin nets. Then, we detail how to handle three-pin nets. Finally, we present the time complexity analysis. Table II lists the notations used in detailed routing.

1) Routing Graph Construction: We construct a directed

routing graph Gd= (Vd, Ed), where Vdis the set of all routing

nodes and Edrepresents the set of edges. Unlike global routing,

we create a unique node vp for each cell cp. Two nodes

vp and vq are connected via a directed edge if droplets can

move from cp to cq. Each node vp is associated with two

variables, arr(vp, da) and dep(vp, da), to denote the arrival and

departure times of the droplet da on vp, respectively. vpis also

associated with its cost φd(vp, vq, da, t) to represent the cost

when a droplet da moves from vq to vpat time t. The goal of

detailed routing is to find the minimum cost routing tree Rafor

each droplet embedded in Gdand to determine the arrival and

departure times of each node in Ra, provided that the timing

and fluidic constraints are both satisfied. A routing tree’s cost is the sum of the cost of all tree nodes.

2) Cost of Routing Nodes: The cost φd(vp, vq, da, t) when

droplet da moves from v

q to vp at time t is defined by the

following:

φd(vp, vq, da, t) = Ud(vp) + F (vp, vq, ) (4)

Fig. 11. Illustration of the fluidic penalty.

where Ud(vp) is the usage cost of vp and F (vp, vq, t) is the

fluidic penalty for the fluidic constraints. Ud(vp) is zero if cp

is used by at least one droplet; otherwise, Ud(vp) is one. The

fluidic penalty F (vp, vq, t) is used to guide the detailed router

to satisfy the fluidic constraints and is defined as follows:

F (vp, vq, t) =  t+1≤k≤t−1 s(vq, k) Nf × Hf(vq, k) +s(vp, t) Nf × Hf (vp, t) (5)

where t is the arrival time of droplet da at v

q, s(vp, t) is

the number of droplets that use vp for routing at time t,

and Hf(vp, t) is the historic fluidic penalty. Nf is used for

normalization and is set to 27 in this paper. It will be explained later when we present our detailed routing algorithm. In the aforementioned equation, the first term accounts for the fluidic penalty if da stays at v

q from time t+ 1 to t− 1, and the

second term represents the fluidic penalty when da arrives at

vp at time t. Fig. 11 shows the fluidic penalty computation.

Fig. 11 shows a simple biochip with two cells vq and vp and

the arrival/departure times of a droplet for the two cells. Since this droplet stays at cell vqfrom time 0 to 3, the fluidic penalty

is3k=0Hf(vq, k). Also, since this droplet moves to vpat time

4, we need to add Hf(vp, 4) to the fluidic penalty. The historic

fluidic penalty Hf(vp, t) is defined by the following:

Hf(vp, t) = Hfc(vp, t)× Hfp(vp, t) (6)

where Hfc(vp, t) is the fluidic penalty related to the current

iteration and Hfp(cp, t) is the fluidic penalty related to previous

iterations. We update the value of Hc

fafter routing a net to avoid

violating the fluidic constraints when routing other nets and the value of Hfpat the end of one routing iteration. The initial values of Hc

f(vp, t) and Hfp(vp, t) are both one. Both Hfc(vp, t) and

Hfp(vp, t) are increased when s(vp, t) is larger than one. If the

fluidic constraints are violated in many previous iterations, the value of Hf(vp, t) will be large. Therefore, the detailed router

tends not to route a droplet to a cell at the time t with a large historic fluidic penalty.

3) Routing Algorithm: Fig. 12 shows the flow of our

de-tailed routing algorithm. We route all successfully routed nets in global routing in the decreasing order of their criticality value. At first, we erase the routing tree Rafrom the previous iteration

and add the source saof dawith arr(sa, da) = 0 into a priority

Q. The cost of sa is zero. Let v

q be the node with the lowest

cost in Q. We remove vq from Q and examine the fan-out vp

(10)

Fig. 12. Detailed routing flow.

used to route dain global routing. As described in the previous

section, the cost of vp consists of both usage cost and fluidic

penalty which is related to the time when da arrives at vp. We

need to determine the arrival time of each droplet on each cell to minimize the fluidic penalty during routing. If there is a tie, we choose the smallest arrival time. We then add vpinto Q with

the cost φd(vp, vq, da, t) + Psq, where Psqis the path cost from

sa to v

q. The aforementioned process repeats until da reaches

its target. Then, we perform back trace to update the departure time and usage cost of each cell and to form the routing tree Ra

of da. We also update the value of s(v

p, t) if dauses cell cpat

time t for routing. Note that, based on the 3-D model presented in Section II-B, if da stays at c

p at time t, da is considered

to use all cells in Cp from time t− 1 to t + 1. Therefore, we update all s(vj, k) and Hfc(vj, k), cj ∈ Cp, t− 1 ≤ k ≤ t + 1

after routing da. Therefore, the maximum number of droplets

that can use cp at time t for routing is 27. This is the reason

why the normalization factor Nfin (5) is set to be 27. If a net is

a failed net, we rip up and reroute this net in the next iteration. Note that we do not honor the global routing result after the first iteration. Moreover, if a net nafails in global routing, we treat

naas a failed net and route naafter the first iteration.

4) Handling Three-Pin Nets: We also handle three-pin nets

in detailed routing. Similar to global routing, we first route da

1

with a longer Manhattan distance from its source to its sink and then route da

2 to a cell that is also used by da1, and the idle

intervals of the two droplets in this cell are overlapped. The mixing nodes defined in global routing now refer to the routing nodes vpif cpcan be used to mix da1 and da2, i.e., the two idle

intervals of the two droplets are overlapped in cp. The common

mixing nodes now refer to the mixing nodes used by da

1, and

the arrival time of da

1 is in the idle interval of da2. Since to mix

two droplets, these two droplets must be in the same cell at the same time. Our goal is to route da2to one of its common mixing nodes for mixing.

To handle three-pin nets more efficiently and effectively, we add additional mix and distance costs when routing da1. The

mix cost is used to encourage da

1 to use a mixing node for

routing. The distance cost is used to encourage the detailed

router to route da

1 as close to da2 as possible. The new routing

cost φd(vp, vq, da1, t) to route da1is defined by the following: φd(vp, vq, d1a, t) = Ud(vp) + F (vp, vq, t)

+ Md(vp, da1, t) + ˆD (vp, da1) (7)

where Md(vp, da1, t) is the mix cost and ˆD(vp, da1) is the

distance cost. The mix cost is defined as follows:

Md(vp, da1, t) =

⎧ ⎨ ⎩

0, vpis a mixing node and

t∈ diia1∩ diia2

Hm(vp, da), otherwise

(8) where Hm(vp, da1) is the historic mix cost of vprelated to

pre-vious iterations. Initially, Hm(vp, da1) is zero and is increased

by one every time we cannot mix a three-pin net na. There are

two reasons. First, since three-pin nets are handled in global routing, it is very likely that da

1 uses at least one mixing node

for routing. Second, our goal is to minimize the number of cells used for routing. Therefore, we first focus on the cell number minimization problem. If these two droplets fail to be mixed, then we increase the cost of nonmixing nodes. By doing so, the detailed router will be forced to use mixing nodes for routing due to the mix cost at next iteration.

We observe that using the mix cost alone may not be efficient and effective for droplet mixing. When two droplets fail to be mixed, we need another iteration and, therefore, more CPU time. Therefore, we also define the distance cost when routing

da1. The distance cost of vpis the sum of the Manhattan distance

between cell cp and the source of da2 and between cp and the

target of da

2divided by Tmaxand is defined by the following:

ˆ D (vp, da1) = md(sa2, cp) + md  cp, ˆta  Tmax . (9)

With the distance cost, the detailed router will route da1as close to da2 as possible; as a result, it is more likely to use a mixing node when routing da1.

Note that we do not update the fluidic penalty after routing the first droplet of a three-pin net. The fluidic penalty is referenced when considering the fluidic constraints. Since we intentionally mix two droplets of a three-pin net na during

their transportation, it could be treated as no fluidic constraints between da

1and da2. Instead, we update the usage cost so that da1

and da

2 can use the same cells for routing. After the mixing of da

1and da2, we treat it as one droplet. Finally, Fig. 13 shows the

proposed detailed routing algorithm.

5) Time Complexity Analysis: We route at most O(|N|)

droplets per iteration. The while loop in line 10 of Fig. 13 iterates at most O(|Ed|) times. By using a priority queue, the

time complexity of queue insertion, deletion, and adjustment is O(log(|Vd|)). The size of Vd and Ed are both O(WcHc),

where Wc (Hc) is the width (height) of a biochip. The

vio-lation detection of the fluidic constraints takes O(|N|2) time. Therefore, the time complexity of detailed routing is O(|N|2+

|N|(WcHc) log(WcHc)) if the maximum number of iterations

(11)

Fig. 13. Summary of the detailed routing algorithm.

Theorem 3: Given a set of N nets and a biochip of the

width (height) Wc (Hc), the time complexity of the detailed

routing algorithm is O(|N|2+|N|(W

cHc) log(WcHc)) if the

maximum number of iterations is given as a constant.

E. Timing-Aware Routing

In this section, we detail how to extend the aforementioned algorithm for the timing-aware routing problem. The goal of timing-aware droplet routing is to minimize the maximum transportation time for higher reliability and faster bioassay execution. To achieve this goal, we replace the usage cost with the timing cost in both global and detailed routing. In this way, we could minimize the droplet transportation time while minimizing the routing cost.

To minimize droplet transportation time, different from the optimization objective of minimizing the cells used for routing, a droplet needs to use as few numbers of global cells for routing as possible. To minimize the cells used for routing, we would like to route a droplet through the cells that have already been used by other droplets as much as possible. Even with the objective of shortening routing time, we need to use as few numbers of cells as possible to route a droplet, no matter if these cells are used by other droplets or not. Therefore, the node cost of all nodes in the flow graph is one plus the mix cost when routing a three-pin net. Note that the MCMF algorithm can also find the minimum droplet transportation time for a set of independent nets for nondetour routing. With the timing cost,

the MCMF algorithm finds the flow that visits the minimum number of nodes. This flow corresponds to a shortest path and, hence, the shortest time to route a droplet from its source to its sink.

In detailed routing, the usage cost Ud(vp) in (4) is replaced

with the timing cost Ut

d(vp). Udt(vp) is defined by the following:

Udt(vp) = α×

arr (vp, dak)

Tl

(10) where Tl is used for normalization and α is a user-specified

constant. In this paper, we set Tl as the maximum bounding

box of all nets and α = 10. With the timing cost, the detailed router will minimize the time that a droplet arrives at its sink. Therefore, the maximum droplet transportation time is minimized.

IV. EXPERIMENTALRESULTS

Our algorithm was implemented in the C++ language and ran on a 1.2-GHz SUN Blade-2000 machine with 8-GB memory. For the MCMF algorithm, we used the LEDA package [18]. We also implemented the two-stage routing algorithm [11] and the prioritized A-search algorithm [9] on the same machine. For both our algorithm and the two-stage algorithm, the maximum number of iterations of routing one 2-D plane is 30. The prior-itized A-search algorithm originally targets at minimizing the droplet transportation time. For fair comparison, we performed

(12)

four modifications on the prioritized A-search algorithm. First, we used the criticality information calculated in Section III-B as the priority. Second, for a three-pin net, we simultaneously routed the two droplets to ensure that these two droplets will be mixed during their transportation and to obtain the optimal solution. Third, to minimize the number of cells used when routing a net na, the total cost of a node in the search graph

is the sum of the number of cells that are only visited by these droplets daj, j = 1, 2, and the half perimeter of the bounding box defined by the coordinates of daj and the target pin. Finally, to satisfy the timing constraint, we also used the idle interval defined in Section II-C to restrict the possible droplet routing paths and schedules. We also modified the basic integer linear programming (ILP) formulation proposed in [19] to find the optimal solution. The major constraints include the fluidic constraints and the droplet movement constraint that constrains a droplet to move only to one of its four adjacent cells or to stay at where it is at the next time step. We also handled three-pin nets in the basic ILP formulation. The GNU Linear Programming Kit [20] is used as our ILP solver. For the details of the basic ILP formulation, please refer to [19].

We evaluated our routing algorithm on two bioassays: the

in vitro diagnostics [11] and the colorimetric protein assay

[6]. The in vitro diagnostics involves the measurement of glucose and lactate in human physiological fluids, which is very important in the clinical diagnostics of metabolic disorder. A colorimetric enzyme-based method (Trinder’s reaction) is used to measure the concentrations of both glucose and lactate. The diagnostics consists of three steps: the dispensing step to generate droplets containing samples/reagents, the mixing step for biological reactions, and the detection step for the detection of the reaction result by an optical detector [21]. The protocol of protein assay is to first dilute samples containing protein with buffers such as 1-M NaOH solution. Then, reagents are mixed with samples for reaction. Finally, an optical detector (e.g., an LED-photodiode setup) is used to detect protein concentration. The readers can refer to [22] for more details.

The diagnostics_1 is the benchmark used in [11]. To compare the routability of each router on harder routing cases, we used the placer proposed in [7] to place the two bioassays with the same design specification specified in [11] and [6] for the

in vitro diagnostic and the protein assay, respectively. The new

benchmarks are diagnostics_2, protein_1, and protein_2. We also performed pin assignment. Table III shows the statistics of each benchmark. Column 2 shows the chip dimension. Column 3 lists the total number of 2-D planes. Column 4 lists the total number of nets of all 2-D planes, and column 5 shows the timing constraint. For all benchmarks, we followed [11] to assume that the electrodes are controlled by a 100-Hz clock, and the maximum delay constraint is 0.2 s. Therefore, one time unit in routing is 10 ms, and the timing constraint is 20 time units.

For the comparative studies, we first observed that the basic ILP formulation needs at least five days to route a benchmark. This result reveals that the ILP formulation is not practical for the droplet routing problem. Therefore, we omit the comparison with the basic ILP formulation. Instead, we compared our proposed routing algorithms with the two-stage and prioritized

TABLE III

STATISTICS OF THEROUTINGBENCHMARKS

TABLE IV

ROUTINGRESULT OF THETWOREAL-WORLDBIOASSAYS. N/A DENOTES

THATSOME2-D PLANESAREFAILED FORROUTING

Fig. 14. Routing result of the 2-D plane of the diagnostics_1 benchmark obtained. There are a total of five nets in this 2-D plane. The arrows represent droplet movement directions.

A-search algorithms in terms of solution quality and CPU time. Table IV shows the experimental results. We report the total number of cells used for routing on all 2-D planes (#Tcell) and the CPU time to route all 2-D planes. As shown in this table, our routing algorithm can route all benchmarks while previous works cannot. For example, for the diagnostics_2 benchmark, neither of the two-stage routing and the prioritized A-search algorithms is able to generate a routing solution, while our schemes have successfully routed this benchmark with reasonable CPU time. Furthermore, for those benchmarks where previous approaches can generate a feasible solution, e.g., diagnostics_1, our routing algorithm provides solutions with fewer cells used for routing in less CPU time com-pared with the two-stage routing algorithm and the prioritized A-search algorithm. This result demonstrates the robustness and efficiency of our routing algorithm. Fig. 14 shows the routing result of one 2-D plane of the diagnostics_1 benchmark. This 2-D plane has 5 nets and 45 cells used for routing. Arrows represent the droplets’ moving directions.

Here, we discuss why our approach is more robust and effective than the other two routing algorithms. For the two-stage algorithm, droplet routing and scheduling are performed in separate stages without considering the interaction among them. Moreover, the alternative routing path generation stage only finds the shortest path without explicitly minimizing the number of cells used for routing. In contrast, our algorithm can

(13)

TABLE V

TIMING-AWAREROUTINGRESULT OF THETWOREAL-WORLD

BIOASSAYS. N/A DENOTESTHATSOME2-D PLANES

AREFAILED FORROUTING

concurrently route a set of independent nets in global routing and simultaneously perform droplet routing and scheduling in detailed routing. For the prioritized A-search algorithm, the possible routing path and schedules of low-priority droplets are not considered while routing high-priority droplets. Therefore, droplets with lower priorities may be blocked by droplets with higher priorities, making this approach harder to find a feasible solution. In contrast, our algorithm adopts a negotiation-based routing scheme. We iteratively rip up and reroute a set of nets to modify the routing solution. Therefore, our algorithm is more robust for various bioassays.

Next, we show the timing-aware droplet routing results in Table V. Note that, in this experiment, for fair comparison, we adopted the original prioritized A-search algorithm without any modifications. Let Rtdbe the ratio of the maximum droplet transportation time (in cycles) over the maximum Manhattan distance of all nets in one 2-D plane. The maximum Manhattan distance is the minimum time to route all droplets from their sources to sinks. Therefore, a smaller Rt

dindicates shorter time

to route all droplets. We report the maximum Rt

d of all 2-D

planes and CPU time. Compared with the two-stage routing algorithm, our algorithm obtains a better solution, i.e., smaller

Rt

d (1.16 versus 2.22), in less CPU time (0.05 versus 0.17 s)

for the diagnostics_1 benchmark. The experimental results also show that our routing algorithm outperforms the prioritized A-search algorithm. For the same benchmark, our algorithm obtains a routing solution with shorter routing time (1.16 versus 1.17) in much less CPU time (0.05 versus 45.26 s).

V. CONCLUSION

In this paper, we have proposed an efficient and robust routing algorithm for the droplet routing problem on digital microfluidic biochips. We adopted a two-stage routing method-ology. In global routing, we proposed the first network-flow-based routing algorithm to optimally route a set of independent nets. In detailed routing, we proposed the first polynomial-time routing algorithm to simultaneously route and schedule all droplets. The proposed routing algorithm can handle two different routing objectives: minimizing the number of cells used for routing or shortening routing time. The experimental results demonstrated the robustness and efficiency of our rout-ing algorithm.

Future work includes the consideration of cross-contamination among different samples while minimizing the number of cells used for routing. The avoidance of cross-contamination is important since, once proteins are absorbed

on surface, they may trigger further protein absorption [23]. There are two possible ways to handle this problem. The first one is to update the absorption level of biological samples on each cell after routing a droplet. When the absorption level of a cell exceeds a threshold, this cell is treated as an obstacle. No other droplets can further use this cell for routing, and therefore, the risk of cross-contamination is minimized. The other one is to incorporate the possibility of absorption of biological samples on each cell into the routing cost function. Research along this direction is ongoing.

REFERENCES

[1] P.-H. Yuh, C.-L. Yang, and Y.-W. Chang, “BioRoute: A network-flow based routing algorithm for digital microfluidic biochips,” in Proc. Int.

Conf. Comput.-Aided Des., Nov. 2007, pp. 752–757.

[2] F. Su, K. Chakrabarty, and R. B. Fair, “Microfluidics-based biochips: Technology issues, implementation platforms, and design-automation challenges,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 25, no. 2, pp. 211–223, Feb. 2006.

[3] R. B. Fair, V. Srinivasan, H. Ren, P. Paik, V. Pamula, and M. Pollack, “Electrowetting-based on-chip sample processing for integrated microflu-idics,” in IEDM Tech. Dig., Dec. 2003, pp. 32.5.1–32.5.4.

[4] F. Su and K. Chakrabarty, “Architectural-level synthesis of digital microfluidics-based biochips,” in Proc. Int. Conf. Comput.-Aided Des., Nov. 2004, pp. 223–228.

[5] F. Su and K. Chakrabarty, “Design of fault-tolerant and dynamically-reconfigurable microfluidic biochips,” in Proc. Des. Autom. Test Eur., Mar. 2005, pp. 1202–1207.

[6] F. Su and K. Chakrabarty, “Unified high-level synthesis and module placement for defect-tolerant microfluidic biochips,” in Proc. Des. Autom.

Conf., Jun. 2005, pp. 825–830.

[7] P.-H. Yuh, C.-L. Yang, and Y.-W. Chang, “Placement of digital microflu-idic biochips using the T-tree formulation,” in Proc. Des. Autom. Conf., Jul. 2006, pp. 931–934.

[8] P.-H. Yuh, C.-L. Yang, and Y.-W. Chang, “Placement of defect-tolerant digital microfluidic biochips using the T-tree formulation,” ACM J.

Emerging Technol. Comput. Syst., vol. 3, no. 3, pp. 1–31, Nov. 2007.

[9] K. F. Böhringer, “Modeling and controlling parallel tasks in droplet-based microfluidic systems,” IEEE Trans. Comput.-Aided Design Integr.

Circuits Syst., vol. 25, no. 2, pp. 334–344, Feb. 2006.

[10] E. J. Griffith, S. Akella, and M. K. Goldberg, “Performance charac-terization of a reconfigurable planar-array digital microfluidic system,”

IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 25, no. 2,

pp. 345–357, Feb. 2006.

[11] F. Su, W. Hwang, and K. Chakrabarty, “Droplet routing in the synthesis of digital microfluidic biochips,” in Proc. Des. Autom. Test Eur., Mar. 2006, pp. 323–328.

[12] M. G. Pallock, A. D. Shenderov, and R. B. Fair, “Electrowetting-based actuation of droplets for integrated microfluidics,” Lab Chip, vol. 2, no. 2, pp. 96–101, May 2002.

[13] G. N. Somero, “Proteins and temperature,” Annu. Rev. Physiol., vol. 57, pp. 43–68, 1995.

[14] V. Srinivasan, V. Pamula, and R. Fair, “An integrated digital microfluidic lab-on-a-chip for clinical diagnostics on human physiological fluids,” Lab

Chip, vol. 4, no. 4, pp. 310–315, Aug. 2004.

[15] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network Flows: Theory,

Al-gorithms, and Applications. Englewood Cliffs, NJ: Prentice-Hall, 1993.

[16] R. D. Mohring, Graphs and Orders: The Role of Graphs in the Theory of

Ordered Sets and Its Application. Amsterdam, The Netherlands: Reidel,

1984.

[17] L. McMurchie and C. Ebeling, “PathFinder: A negotiation-based performance-driven router for FPGAs,” in Proc. Int. Symp.

Field-Programmable Gate Array, Feb. 1995, pp. 111–117.

[18] K. Mehlhorn and S. Näher, The LEDA Platform of Combinatorial and

Geometric Computing. Cambridge, U.K.: Cambridge Univ. Press, 1999.

[19] P.-H. Yuh, S. S. Sapatnekar, C.-L. Yang, and Y.-W. Chang, “A progressive-ILP based routing algorithm for cross-referencing biochips,” in Proc. Des.

Autom. Conf., Jun. 2008, pp. 284–289.

[20] [Online]. Available: http://www.gnu.org/software/glpk/

[21] V. Srinivasan, V. Pamula, and R. Fair, “A droplet-based microfluidic lab-on-a-chip for glucose detection,” Anal. Chim. Acta, vol. 507, no. 1, pp. 145–150, 2004.

數據

Fig. 1. Schematic view of digital microfluidic biochips.
Fig. 2. Side view of a 2-D microfluidic array.
Fig. 3. Example of droplet routing on biochip. (a) A task graph and a 3-D module placement, i.e., a synthesis result
Fig. 5. Droplet routing algorithm overview.
+7

參考文獻

相關文件

In an ad-hoc mobile network where mobile hosts (MHs) are acting as routers and where routes are made inconsistent by MHs’ movement, we employ an associativity-based routing scheme

Since the sink is aware of the location of the interested area, simple greedy geographic routing scheme is used to send a data request (in the form of

To solve this problem, this study proposed a novel neural network model, Ecological Succession Neural Network (ESNN), which is inspired by the concept of ecological succession

This project integrates class storage, order batching and routing to do the best planning, and try to compare the performance of routing policy of the Particle Swarm

Therefore, the purpose of this study is to propose a model, named as the Interhub Heterogeneous Fleet Routing Problem (IHFRP), to deal with the route design

The GCA scheduling algorithm employs task prioritizing technique based on CA algorithm and introduces a new processor selection scheme by considering heterogeneous communication

Abstract: This paper presents a meta-heuristic, which is based on the Threshold Accepting combined with modified Nearest Neighbor and Exchange procedures, to solve the Vehicle

The GCA scheduling algorithm employs task prioritizing technique based on CA algorithm and introduces a new processor selection scheme by considering heterogeneous communication