ISPD 2014 Shang-Tsung Yu, Sheng-Han Yeh, and Tsung-Yi Ho jidung@eda.csie.ncku.edu.tw http://eda.csie.ncku.edu.tw Electronic Design Automation Laboratory Department of Computer Science and Information Engineering National Cheng Kung University Tainan, Taiwan NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithm Experimental Results Conclusions NCKU CSIE EDALAB 2 Digital Microfluidic Biochips (DMFBs) ․The architecture of DMFBs 2D microfluidic array: A set of basic cells for biological reactions Droplets: Biological sample carrier as basic units to perform the laboratory procedures on a DMFB Reservoirs/dispensing ports: Generate droplets Optical detectors: Detection of reaction result NCKU CSIE EDALAB 3 Electrowetting-On-Dielectric Chips (EWOD Chips) ․For EWOD chips, electrodes can be actuated by applying voltage to the electrode. Hydrophobic insulation Ground electrode Control electrodes Top plate Droplet Bottom plate Side view Droplet Actuated Generated electrical field NCKU CSIE EDALAB 4 Operation of Digital Microfluidics (1/3) Transport 25 cm/s flow rates, order of magnitude NCKU CSIE EDALAB 5 Operation of Digital Microfluidics (2/3) Splitting/Merging NCKU CSIE EDALAB 6 Operation of Digital Microfluidics (3/3) Droplet Dispensing Synchronization of many droplets 7 NCKU CSIE EDALAB Chip-Level Design of EWOD Chips ․Bottom layer contains conduction wires, electrical pads, and a substrate ․The routing problem: 2D pin array (routing inner electrodes to outside electrical pads) ․How to control these electrodes Bottom Layer NCKU CSIE EDALAB 8 Pin-Constrained EWOD chips ․Huge number of electrodes in large-scale DMFBs ․Limited number of ports in external controller Electrodes ․Broadcast addressing technique for pin-constrained - Reduce pin count and fabricate cost Pin Count: 12 NCKU CSIE EDALAB share the same control pin Pin Count: 5 9 Broadcast Electrode Addressing (1/2) ․Electrode Actuation Sequence (AS) An AS represents every status demanded at each time step 1: Actuated term 0: Grounded term X: Don’t care term time step 1 2 3 4 5 6 status of electrode 1 0 X 0 1 X ․Share the same control pin By observing, multiple electrodes can share an identical sequence by replacing X with 1 or 0 11 X01 00 X 1 Compatible X 11 0 1 X 0X 01 NCKU CSIE EDALAB These electrodes can be merged into the same control pin 10 Broadcast Electrode Addressing (2/2) ․Broadcast addressing constraint If the actuation sequences are (aren’t) mutually compatible, they can (cannot) be addressed with the same control pin e3 e11 e1 e3 e5 e9 e6 e8 e10 e7 e4 e12 e2 NCKU CSIE EDALAB Clique partition Compatible Compatibility graph Pin 2 Pin 1 Electrode e11 Pin 3 e1 e5 e9 e6 e8 e10 e7 e4 e12 e2 Electrode groups: {e1 , e2 , e9 , e10}, {e3 , e4 , e5 , e8 , e11 , e12}, {e6 , e7} 11 Reliability Issue (1/2) ․Arbitrary broadcast addressing will cause huge number of switching times in resulting AS 10X0X0 100000 e1 101010 e2 e3 1X0X00 X01X1X Number of switching times (𝑆𝑇) = 1 5 NCKU CSIE EDALAB 10 Reliability Issue (2/2) ․Contact angle reduction problem [10] High switching times will cause contact angle change reduction, and it will decrease the reliability especially in high frequency DMFB. Grounded Actuated ․The reliability issue can be modeled as Maximum of switching times (𝑆𝑇𝑚𝑎𝑥 ) [10] L. Huang, B. Koo, and C. J. Kim, Evaluation of anodic Ta2O5 as the dielectric layer for EWOD devices," IEEE MEMS, pp. 428-431, 2012. NCKU CSIE EDALAB 13 Outline Introduction Problem Formulation Algorithm Experimental Results Conclusions NCKU CSIE EDALAB 14 Problem Formulation ․Input Chip size: m x n Electrode set: 𝐸 = {𝑒1 , 𝑒2 , … 𝑒𝑛 } (their locations) Actuation sequence 𝐴𝑆𝑖 of each electrode 𝑒𝑖 (ex: “0010X”) Pin constraint 𝑃𝑚𝑎𝑥 ․Goal & Constraint Minimize the value of 𝑆𝑇𝑚𝑎𝑥 : 𝑀𝑎𝑥 𝑆𝑇𝑖 , 𝑒𝑖 ∈ 𝐸 Meet all the design constraints Broadcast addressing constraint Pin constraint Wire routing constraint ․Output A feasible electrode addressing solution and wire routing solution NCKU CSIE EDALAB 15 Outline Introduction Problem Formulation Algorithm Experimental Results Conclusions NCKU CSIE EDALAB 16 Algorithm ․The algorithm contains 2 main steps Step 1. Incremental search Step 2. Simultaneous broadcast addressing and routing NCKU CSIE EDALAB 17 Incremental Search Method (1/4) ․Lower Bound of Switching Times (BST) 𝐴𝑆3 = XX0X111XXX001X01 eliminate X terms 011100101 𝐵𝑆𝑇𝐴𝑆3 = 5 𝑆𝑇𝑖 ≥ 𝐵𝑆𝑇𝐴𝑆𝑖 (∀𝑒𝑖 ∈ 𝐸) 𝑆𝑇𝑚𝑎𝑥 ≥ max(𝐵𝑆𝑇𝐴𝑆𝑖 ) (∀𝑒𝑖 ∈ 𝐸) NCKU CSIE EDALAB 18 Incremental Search Method (2/4) ․Switching-constrained compatibility graph 𝐺𝑠𝑐𝑐 under a specific value 𝑆𝑚𝑎𝑥 An edge was constructed between two electrodes a & b when their switching times is not greater than 𝑆𝑚𝑎𝑥 after merging 10X0X0 100000 (ST=1) e2 1X0X00 NCKU CSIE EDALAB e1 101010 (ST=5) e3 3 Smax = 5 X01X1X 19 Incremental Search Method (3/4) ․A value 𝑆𝑚𝑎𝑥 (start from lower bound 𝐵𝑆𝑇𝑚𝑎𝑥 ) is gradually increasing by 1 for each iteration 𝑆𝑚𝑎𝑥 = 𝐵𝑆𝑇𝑚𝑎𝑥 𝑆𝑇𝑚𝑎𝑥 ≥ max(𝐵𝑆𝑇𝐴𝑆𝑖 ) (∀𝑒𝑖 ∈ 𝐸) Construct switching constrained compatibility graph Gscc under 𝑆𝑚𝑎𝑥 Smax NO += 1 Simultaneous broadcast addressing and routing Feasible solution? YES A feasible solution NCKU CSIE EDALAB 20 Incremental Search Method (4/4) ․If we can find a feasible solution under 𝐺𝑠𝑐𝑐 , then we can obtain a solution with 𝑆𝑇𝑚𝑎𝑥 ≤ 𝑆𝑚𝑎𝑥 high 𝑆𝑚𝑎𝑥 𝑆𝑚𝑎𝑥 𝑆𝑚𝑎𝑥 ST low 𝑒1 𝑒2 𝑒3 𝑒4 𝑒5 𝑒6 𝑒7 𝑒8 infeasible feasible NCKU CSIE EDALAB 21 Simultaneous Broadcast Addressing and Routing (1/2) Main idea: progressive solving Divide the original problem into a set of manageable sub-problems corresponding to a pin-electrode merging : Unaddressed electrodes Switching-constrained compatibility graph 𝑮𝒔𝒄𝒄 : Addressed electrodes e22 e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 Set Broadcast anpins unaddressed electrode as routing a new pin Set initial by addressing aaddressing maximal independent set Broadcast and routing and e3 e1 e2 e5 e6 e8 e7 e10 e9 e4 P1 P2 P3 P4 P5 ee33 e1 ee10 10 ee44 ee99 ee55 e88 ee7 7 NCKU CSIE EDALAB ee6 6 22 Simultaneous Broadcast Addressing and Routing (2/2) Identify an initial electrode set and address them with individual control pins 𝑆𝑚𝑎𝑥 = 𝐵𝑆𝑇𝑚𝑎𝑥 All electrodes addressed? Constructare switching constrained compatibility graph Gscc under 𝑆𝑚𝑎𝑥 NO Smax Simultaneous broadcast candidates Simultaneous broadcastby NOFind pin-electrode addressing routing network flow model += 1 addressing andandrouting YES solution? 1. Trace theFeasible resulting flow 2. Routing check and conduct the YES broadcast addressing and routing A feasible solution Do escape routing and output the solution NCKU CSIE EDALAB 23 Network Flow Model (1/2) ․Minimum-Cost Maximum-Flow (MCMF) formulation To find suitable merging candidates between 𝑃𝑖 and 𝑈𝐸𝑗 Capacity = 1 P1 Cost = 0 P2 UE1 Gscc Capacity = 1 Cost = 0 UE2 ‧‧‧ ‧‧‧ S T Pn-1 UEm-1 Pn UEm Capacity Existed= 1 Unaddressed Cost = HPWL-Extension( Pi , UEj ) control pins electrodes NCKU CSIE EDALAB 24 Network Flow Model (2/2) ․HPWL-Extension The variation of half-perimeter wire length (The variation of half-perimeter of bounding box) 𝑒𝑒33 𝑒𝑒77 𝑃1 𝑃1 Cost = 03 𝑒2 𝑒2 𝑒𝑒88 𝑒2 Using lower routing cost to do the broadcast addressing and routing NCKU CSIE EDALAB 25 Wire Routing ․Pin-electrode merge Only if there is a successful routing between a pin and an electrode, they can be merged e1 candidate 1 P1 candidate 2 candidate 3 e8 e2 routing check Two-stage routing check will be conducted one by one from candidates NCKU CSIE EDALAB 26 Wire Routing Check ․Stage 1: Do wire routing check between existing pin and unaddressed electrode from candidates 𝑒2 𝑒7 𝑒5 𝑒1 𝑒3 𝑒6 𝑒4 If 𝑒5 is going to be merged with a pin containing 𝑒6 and 𝑒7 , a wire routing check is conducted by BFS algorithm Wire routing check failed because 𝑒5 can NOT reach the pin Drop this pin-electrode merging! 27 NCKU CSIE EDALAB Escape Routing Check ․Stage 2: Do escape routing check whenever a wire routing check (stage 1) is successful 𝑒5 𝑒1 𝑒7 Although the wire routing check between 𝑒3 and 𝑒4 is successful… 𝑒3 𝑒6 𝑒2 𝑒4 𝑒8 Escape routing check failed because 𝑒5 and 𝑒7 can NOT escape simultaneously without overlapping (implemented by maximum flow) Drop this pin-electrode merging! Escape routing Wire routing NCKU CSIE EDALAB 28 Conduct the Merging and Routing Successfully ․If both the stage 1 and stage 2 checks are approved, conduct the merging and routing immediately P1 e1 candidate e1 e2 e8 P1 e8 e8 NCKU CSIE EDALAB e2 conduct routingrouting check 29 Matching Pairs in Order ․To have more pairs of successful routing, matching pairs (candidates) will be checked for routing and route in the increasing order of their cost (𝛻𝐻𝑃𝑊𝐿) P1 P2 7 UE1 UE2 9 S T P3 12 5 P4 P5 UE3 20 Order: 1. 𝑃3 -𝑈𝐸4 2. 𝑃1 -𝑈𝐸1 3. 𝑃2 -𝑈𝐸3 4. 𝑃4 -𝑈𝐸5 (5) (7) (9) (20) UE4 UE5 30 NCKU CSIE EDALAB Blacklist of Failed Routing Pairs ․Record those pin-electrode matching pairs (candidates) with failed routing check into the blacklist ․When the 𝐺𝑠𝑐𝑐 is rebuilt for the following network flow model, the edges in the blacklist will NOT be built again. P1 UE1 P2 UE2 S T P3 UE3 P4 UE4 P5 UE5 NCKU CSIE EDALAB Blacklist: 𝑃1 -𝑈𝐸2 𝑃3 -𝑈𝐸1 𝑃3 -𝑈𝐸5 𝑃4 -𝑈𝐸4 31 Review Algorithm Calculate Lower Bound of Switching Times Set Initial Switching-Constrained Abandon Current Matching Results Construct Compatibility Graph Select an Initial Pin Set Rebuild Compatibility Graph Routing Check, Merge Pins and Electrodes and Conduct Wire Routing Build MCMF Network Flow Model NO Resulting Flow = 0? YES Select an Unaddressed Electrode as a New Pin NO # of Unaddressed Electrodes = 0 ? YES Switching-Constrained = SwitchingConstrained + 1 NO Meet PinConstrained ? YES End NCKU CSIE EDALAB 29 Outline Introduction Problem Formulation Algorithm Experimental Results Conclusions NCKU CSIE EDALAB 33 Experimental Result (1/3) ․Environmental Setup CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz Memory: 8GB DDR3-1600 Operating System: Linux Mint 15 Olivia with 64-bits Programming Language: C++ ․5 real-life chips are used for test cases Chip Size #E Pmax #Time Step BST amino 6X8 20 16 34 12 Multiplex 15 X 15 59 32 20 4 PCR 15 X 15 62 32 20 6 Multifunctional 15 X 15 91 64 77 12 DNA preparation 13 X 21 77 32 106 12 NCKU CSIE EDALAB 34 Experimental Result (2/3) Baseline Ours Chip 𝑆𝑇𝑚𝑎𝑥 #Pin GR(%) CPU 𝑆𝑇𝑚𝑎𝑥 #Pin GR(%) CPU amino 14 13 16.67% 0.19 12 14 0% 0.15 multiplex 10 18 150% 29.6 4 23 0% 21.95 PCR 12 29 100% 33.2 6 32 0% 34.09 multifunctional 16 58 33.33% 39.8 12 61 0% 37.62 DNA preparation 22 28 83.33% 41.5 13 31 8.33% 70.78 𝑆𝑇𝑚𝑎𝑥 −𝐵𝑆𝑇𝑚𝑎𝑥 *Growth Rate (GR): 𝐵𝑆𝑇𝑚𝑎𝑥 NCKU CSIE EDALAB 35 Experimental Result (3/3) ․Result of multifunctional assay ․Size: 15x15 ․#Electrode: 91 ․Pmax: 64 ․#Pin: 64 ․𝐺𝑅: 0% NCKU CSIE EDALAB 36 Outline Introduction Problem Formulation Algorithm Experimental Results Conclusions NCKU CSIE EDALAB 37 Conclusions ․Reliability-driven chip-level design for high-frequency DMFB ․A network flow based progressive addressing to handle the complex problem ․The contact angle reduction problem is minimized. NCKU CSIE EDALAB 38 NCKU CSIE EDALAB 39 Appendixes Motivation for Microfluidic Biochips ․ Applications: Clinical diagnostics, environmental monitoring, automated drug discovery, etc. Automation Test tubes Integration Miniaturization Higher throughput, minimal human intervention, Automation Robotics smaller sample/reagent consumption Integration Miniaturization Automation Microfluidics Biochips NCKU CSIE EDALAB Integration nl-pl sample Miniaturization 40 Appendix Broadcast Electrode Addressing Electrode Spacing Droplet Actuation sequence High voltage to generate an electrical field time 0 X X X X 0 0 X X X 00 00 XX X X X X 1 0 0 X X 1 0 0 1 0 0 1 0 0 X 0 1 0 0 1 X 0 1 0 0 impossible X1 X 0 0 0 1 01 0 X X X 0 1 0 1 0 0 1 7 pins -> 4 pins Broadcast addressing Wire External controller NCKU CSIE EDALAB 41 Appendixes CAD Flow (1/2) Store O3 O6 Dispense Store O1 O5 Mix O2 Detection Mix O4 Resource Area Time Mixer 2x2-array 7 Max. Area: 5x5 array Mixer 1x3-array 4 LED 1x1 cell 10 Max. Completion Time: 50 seconds Storage 1x1 cell N/A Microfluidic Module Library Sequencing Graph Design Spec. Architectural-Level Synthesis Resource Binding Operation Resource O1 On-chip O2 2x2-array O3 1x1 cell O4 LED O5 1x3-array O6 1x1 cell NCKU CSIE EDALAB Scheduling O6 O3 O5 O2 O4 O1 Appendixes CAD Flow (2/2) Resource Binding Operation Resource O1 On-chip O2 2x2-array O3 1x1 cell O4 LED O5 1x3-array O6 1x1 cell Scheduling O6 O3 O1 O5 O2 O4 Physical-Level Synthesis Placement O2 O2 O1 O4 O1 O4 O5 O6 NCKU CSIE EDALAB Routing O3 O5 O6 O3 43