NCKU CSIE EDALAB Tsung-Wei Huang and Tsung-Yi Ho Department of Computer Science and Information Engineering National Cheng Kung University Tainan, Taiwan IEEE International Conference on Computer Design
NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithms Experimental Results Conclusion
NCKU CSIE EDALAB Introduction to Biochips ․ General definition A chip with a small solid platform made of glass, plastic, or membrane ․ Functionality Analysis, reaction, or detection of biological samples (DNA or human blood) ․ Application Clinical diagnostics Environmental monitoring Massive parallel DNA analysis Automated drug discovery Protein crystallization Biochip (Agilent Technologies)
NCKU CSIE EDALAB Biochip Miniaturization ․ Smaller sample consumption ․ Lower cost ․ Higher throughput ․ Higher sensitivity ․ Higher productivity Conventional Biochemical Analyzer Shrink DNA microarray (Infineon AG)
NCKU CSIE EDALAB The Need of CAD Support ․ Design complexity is increased Large-scale bioassays Multiple and concurrent assay operations on a biochip ․ Electro-biological devices integration System-level design challenges beyond 2009 International Technology Roadmap of Semiconductors (ITRS) Microfluidic components MEMS components Heterogeneous SOCs -Mixed-signal -Mixed-technology Digital blocks Analog blocks
NCKU CSIE EDALAB Classification of Biochips Biochips Microfluidic biochips Microarray DNA chipProtein chip Continuous- flow Droplet- based Electrical method Acoustical method Thermal method Chemical method Digital Microfluidic Biochips (DMFBs)
NCKU CSIE EDALAB DMFB Architecture Side view Top view Droplet Bottom plate Top plate Ground electrode Control electrodes (cells) Hydrophobic insulation Droplet Spacing Reservoirs/Dispensing ports Photodiode 2D microfluidic array Droplets Control electrodes High voltage to generate an electric field The schematic view of a biochip (Duke Univ.)
NCKU CSIE EDALAB Routing Constraints ․ Fluidic constraint For the correctness of droplet transportation No unexpected mixing among droplets of different nets Static and dynamic fluidic constraints ․ Timing constraint Maximum transportation time of droplets Static fluidic constraint Minimum spacing Dynamic fluidic constraint X Y T
NCKU CSIE EDALAB Droplet Routing vs. VLSI Routing ․ Droplet routing Droplets transportation from one location to another for reaction ․ Difference from traditional VLSI routing Cells can be temporally shared by droplets - no permanent wires on a biochip Droplet routing and scheduling; scheduling is to determine droplets’ locations at each time step Unique fluidic properties for correct droplet movement ST DiDi DiDi ST Droplet Routing VLSI Routing
NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithms Experimental Results Conclusion
NCKU CSIE EDALAB Droplet Routing on Digital Microfluidic Biochips (DMFBs) ․ Input: A netlist of n droplets D = {d 1, d 2,…, d n }, the locations of m blockages B = {b 1, b 2,…, b m }, and the timing constraint T max. minimizing the number of unit cells ․ Objective: Route all droplets from their source cells to their target cells while minimizing the number of unit cells for better fault tolerance. ․ Constraint: Both fluidic and timing constraints are satisfied. T3T3 S4S4 T2T2 S1S1 T1T1 S3S3 T6T6 S5S5 T5T5 T4T4 S2S2 S6S6 Fluidic constraint Timing constraint BlockageSource of droplet iTarget of droplet i SiSi TiTi
NCKU CSIE EDALAB Related Work Prioritized A*-search algorithm [K. Böhringer, TCAD’06] A*-search for each droplet based on its priority High-priority droplets may block low-priority droplets Open shortest path first algorithm [Griffith et al, TCAD’06] Layout patterns with routing table No dynamic reconfiguration Two-stage algorithm [Su et al, DATE’06] Alternative routing path generation and droplet scheduling Random selection Network flow-based approach [Yuh et al, ICCAD’07] Maximize the number of nets routed Min-cost Max-flow formulation + prioritized A* search High-performance approach [Cho and Pan, ISPD’08] Capable of handing routing obstacles Routing order decided by bypassibility of targets
BlockageSource of droplet iTarget of droplet i SiSi TiTi (a) Test b (b) Test d S3S3 S2S2 S1S1 S5S5 S4S4 T2T2 T3T3 T4T4 T1T1 T5T5 S2S2 S1S1 S3S3 S4S4 S7S7 S9S9 S6S6 S8S8 T6T6 T4T4 T1T1 T9T9 T8T8 S5S5 T3T3 T5T5 T7T7 T2T2 Problems with Bypassibility ?
NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithms Experimental Results Conclusion Preferred Routing Track Construction Routing Ordering by Entropy Equation Routing Compaction by Dynamic Programming
NCKU CSIE EDALAB Preferred Routing Track Construction T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 S1 T1S3 Moving vector
NCKU CSIE EDALAB Preferred Routing Track Construction T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 S2 T2 A* maze searching
NCKU CSIE EDALAB Routing Ordering by Entropy Equation ․ Entropy where ΔBE di : the variant of entropy of each droplet ΔQ di : the energy variant for this energy system ES di : the energy system for the droplet.
NCKU CSIE EDALAB T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 ΔBE d5 = (9-(4+5)-(6)+(9+7))/9 = 10/9 Routing Ordering by Entropy Equation 4 5 T5 S
NCKU CSIE EDALAB T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 Find a min-cost path for S5 Routing Ordering by Entropy Equation S5
NCKU CSIE EDALAB T3S4T2S1 T1S3 T6 T5 T4S2S6 Route S5 to the A-cell of T5 Routing Ordering by Entropy Equation S5
NCKU CSIE EDALAB T3S3T2S1 S2 T1 T6 S4T5 T4 Concession control Enhance Routability by Concession Control S5 S6 Dynamic Fluidic Constraint
NCKU CSIE EDALAB T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 Routing Compaction by Dynamic Programming duplicate movement Delete the duplicate movement
NCKU CSIE EDALAB T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 Routing Compaction by Dynamic Programming D 2 = rruuuuuulllluuruu D 4 = lllddddddddddEx:
NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithms Experimental Results Conclusion
NCKU CSIE EDALAB Experimental Settings ․ Implemented our algorithm in C++ language on a 2 GHz 64-bit Linux machine w/ 8GB memory ․ Compared with three state-of-the-art algorithms Prioritized A* search [K. Böhringer, TCAD’06] Network-flow algorithm [Yuh et al, ICCAD’07] High-performance algorithm [Cho and Pan, ISPD’08] ․ Tested on three benchmark suites Benchmark I [30] [Cho and Pan, ISPD’08] Benchmark II [10] [Self generated] Benchmark III [4] [Su and Chakrabarty, DAC’05] ※ Benchmark II: (1) bounding boxes of droplets are overlapped; (2) nx1 or 1xn narrow routing regions are used for routing; (3) the density of blockage area is over 30%.
Benchmark Suite IPrioritized A*Network-FlowHigh-PerformanceOur NameSize#NetT max #Blk#FailT la #T cell #FailT la #T cell #FailT la #T cell #FailT la #T cell Test112x n/a Test212x n/a Test312x n/a Test412x n/a Test516x n/a Test616x Test716x n/a Test816x n/a Test916x n/a Test1016x n/a Test1124x Test1224x n/a Test1324x n/a Test1424x n/a Test1524x Test1624x n/a Test1732x n/a Test1832x n/a Test1932x n/a Test2032x n/a Test2132x n/a Test2232x n/a Test2348x n/a Test2448x n/a Test2548x n/a Test2648x n/a Test2748x n/a Test2848x n/a Test2948x n/a Test3048x n/a Total ■ Size: Size of microfluidic array. ■ #Net: Number of droplets. ■ T max : Timing constraints. ■ #Blk: Number of blockage cells. ■ #Fail: Number of failed droplets. ■ T la : latest arrival time among all droplets. ■ T cell : Total number of cells used for routing. Experimental Results on Benchmark Suite I
Benchmark Suite I High-PerformanceOur NameT la #T cell CPUT la #T cell CPU Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Avg ■ T la : latest arrival time among all droplets. ■ T cell : Total number of cells used for routing. ■ CPU: CPU time (sec) Experimental Results on Benchmark Suite I
Benchmark Suite IIHigh-PerformanceOur NameSize#NetT max #Blk#FailT la #T cell #FailT la #T cell Test a13x n/a Test b13x n/a Test c16x Test d16x n/a Test e24x Test f24x n/a Test g32x n/a Test h32x n/a Test I48x n/a Test j48x Total140 ■ Size: Size of microfluidic array. ■ #Net: Number of droplets. ■ T max : Timing constraints. ■ #Blk: Number of blockage cells. ■ #Fail: Number of failed droplets. ■ T la : latest arrival time among all droplets. ■ T cell : Total number of cells used for routing. (1) bounding boxes of droplets are overlapped; (2) nx1 or 1xn narrow routing regions are used for routing; (3) the density of blockage area is over 30%. Experimental Results on Benchmark Suite II
Benchmark Suite IIINetwork-FlowHigh-PerformanceOur NameSize#Sub.#Net# T max #D max #T cell in-vitro_116 x in-vitro_214 x protein_121 x protein_213 x Avg ■ Size: Size of microfluidic array. ■ #Sub: Number of subproblems. ■ #Net: Number of droplets. ■ T max : Timing constraints. ■ #D max : Maximum number of droplets among subproblems. ■ T cell : Total number of cells used for routing. Experimental Results on Benchmark Suite III
NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithms Experimental Results Conclusion
NCKU CSIE EDALAB Conclusion ․ We proposed a fast routability- and performance-driven droplet router for DMFBs. ․ Experimental results demonstrated that our algorithm achieves 100% routing completion for all test cases in three Benchmark Suites while the previous algorithms are not. ․ Furthermore, the experimental results shown that our algorithm can achieve better timing result (T la ) and fault tolerance (T cell ) and faster runtime (CPU) with the best known results.
NCKU CSIE EDALAB