a network-flow based algorithm for digital microfluidic biochip routing ping-hung yuh, chia-lin...
TRANSCRIPT
A Network-Flow Based Algorithm for Digital Microfluidic Biochip Routing
Ping-Hung Yuh, Chia-Lin Yang, and Yao-Wen Chang
Department of CSIE, NTU18th VLSI Design/CAD Symposium, Taiwan, 2007
Outline
Introduction Droplet Routing Problem Biochip Routing Algorithm
Global Routing – Network based Detailed Routing – Negotiation based
Experimental Results Conclusions
Introduction
Electrowetting on Dielectric (EWOD) 絕緣層電潤濕現象 The digital microfluidic biochips are based on the
manipulation of droplets in a 2D array The basic operations (e.g., mix, dilute, etc.) can b
e performed anywhere in the 2D array Electrodes can be re-programmed
Droplet Routing
A droplet can move to an adjacent cell when the corresponding electrode is activated
The droplet routing problem is to route all droplets
From a reservoir/dispensing port to a target pin
From a source pin to a waste reservoir
From a source pin to a target pin
Droplet Routing (cont.)
Sequentially route each 2D plane to determine the routing path and schedule of each droplet
Fluidic constraint To avoid the unexpected mixing of two droplets of
different nets during their transportation Timing constraint
The maximum allowed transportation time of a droplet
Fluidic Constraints
Static fluidic constraint The minimum spacing between two droplets is
one cell Dynamic fluidic constraint
t = tp
t = tp + 1
t = tp - 1
No other droplets can stay in the 3D cube, when dp is located at cell c at time tp
Timing Constraint
The maximum allowed transportation time of a droplet d from its source s to target c: Tmax
Earliest reaching time: minT(c, d) = md(c, s) Latest time of staying at c:
maxT(c, d) = Tmax - md(c, s)
c is available to d at time t if maxT ≥ minT Idle interval: [minT(c, d), maxT(c, d)]
The timing interval that d can stay at c
Violation interval: [minT(c, d) - 1, maxT(c, d) + 1] No other droplets can be scheduled in violation interval at c
or the neighboring cells of c
Droplet Routing Problemof One 2D Plane
Given Netlist of nets, where each net is a 2-pin net (one droplet) o
r a 3-pin net (two droplets) Location of pins and obstacles Timing constraint
Objective Route all droplets from their source pins to target pins Minimize the number of cells for routing
Constraint Both the fluidic and the timing contraints are satisfied
Net Criticality
A net n is said to be critical if n has few possible solutions (routing paths and sc
hedules) due to timing constraint The routing solution of n will be affected by other
nets
u(c, n, t) is 1 if c is available to net n at time t
Global Routing
Determine a rough routing path for each droplet
Decompose into a set of subproblems by selecting a set of independent nets that do not interfere with each other
Two nets are said to be independent nets if Their bounding boxes do not overlap, or All cells in the overlapping area are violation-free
cells One cell such that the idle interval of d1 overlaps with violati
on interval of d2 Not violation-free cell Construct a conflict graph for net selection
Network-Flow Based Routing Algorithm
Use min-cost max-flow (MCNF) algorithm to solve each subproblem
Divide a biochip into a set of global cells gc Each global cell contains 3x3 basic cells
A node vpa in the flow graph represents
At least one cell c in gcp is available to da and c is in the bounding box of net a
Network-Flow Based Routing Algorithm (cont.)
Each node has its capacity Kp – UGp
Kp is the capacity of a global cell p
Total time of each droplet staying at each cell in gcp
UGp is the number of droplets that currently uses gcp
Each node has its cost Φ(vpa)
|N’|: # input nets, snp: # input nets that can use gcp
Encourage multiple droplets to share the same global cell Encourage two nets in N’ to share the same global cell
)( apg v
0 ,' pp UGsnN
otherwise ,'1 psnN
Handling 3-pin Nets
Route the droplet d1 with a longer Manhattan distance first
Then route d2 to one of the global cells, common mixing nodes, that are used by d1
Common Mixing Nodes
Detailed Routing
Ref.: “Pathfinder: a negotiation-based perfrormance-driven router for fpgas,” L. McMurchie and C. Ebeling, in FPGA,1995
Route and schedule each droplet in the decreasing order of their criticality Determine the arrival and departure times of each
droplet on each cell
To find the minimum cost routing tree RTa for each droplet on net a
Negotiation Based Algorithm
Construct a routing graph A unique node vp for each cell cp
vp and vq are connected via a directed edge if droplets can move from cp to cq
The node vp is associated with its cost
UC(vp) is 0 if cp is used by at least one droplet The F term is to guide to satisfy the fluidic constrai
nt If the fluidic constraint is violated in many previous iter
ations, F will be large. The router tends not to use vp at time t to route droplets
),,,()(),,,( tdvvFvUCtdvv aqpp
aqpd
Experimental Results
Compared with [5] Smaller total number of cells used for routing (237
vs. 267) Less CPU time (0.03 sec vs. 0.15 sec)