Presentation is loading. Please wait.

Presentation is loading. Please wait.

NCKU CSIE EDALAB Tsung-Wei Huang and Tsung-Yi Ho Department of Computer Science and Information Engineering National Cheng.

Similar presentations


Presentation on theme: "NCKU CSIE EDALAB Tsung-Wei Huang and Tsung-Yi Ho Department of Computer Science and Information Engineering National Cheng."— Presentation transcript:

1 NCKU CSIE EDALAB Tsung-Wei Huang and Tsung-Yi Ho http://eda.csie.ncku.edu.tw Department of Computer Science and Information Engineering National Cheng Kung University Tainan, Taiwan IEEE International Conference on Computer Design

2 NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithms Experimental Results Conclusion

3 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)

4 NCKU CSIE EDALAB Biochip Miniaturization ․ Smaller sample consumption ․ Lower cost ․ Higher throughput ․ Higher sensitivity ․ Higher productivity Conventional Biochemical Analyzer Shrink DNA microarray (Infineon AG)

5 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

6 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)

7 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.)

8 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

9 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

10 NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithms Experimental Results Conclusion

11 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

12 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

13 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 ?

14 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

15 NCKU CSIE EDALAB Preferred Routing Track Construction T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 S1 T1S3 Moving vector

16 NCKU CSIE EDALAB Preferred Routing Track Construction T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 S2 T2 A* maze searching

17 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.

18 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 S5 9 6 9 7

19 NCKU CSIE EDALAB T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 Find a min-cost path for S5 Routing Ordering by Entropy Equation S5

20 NCKU CSIE EDALAB T3S4T2S1 T1S3 T6 T5 T4S2S6 Route S5 to the A-cell of T5 Routing Ordering by Entropy Equation S5

21 NCKU CSIE EDALAB T3S3T2S1 S2 T1 T6 S4T5 T4 Concession control Enhance Routability by Concession Control S5 S6 Dynamic Fluidic Constraint

22 NCKU CSIE EDALAB T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 Routing Compaction by Dynamic Programming duplicate movement Delete the duplicate movement

23 NCKU CSIE EDALAB T3S4T2S1 T1S3 T6 S5 T5 T4S2S6 Routing Compaction by Dynamic Programming D 2 = rruuuuuulllluuruu D 4 = lllddddddddddEx:

24 NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithms Experimental Results Conclusion

25 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%.

26 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 Test112x121210023037662n/a 01006703973 Test212x1212100254n/a 7 1 04765 Test312x1212100284n/a 6 1 04158 Test412x1212100313n/a 5 0706403871 Test516x1616100390281082n/a 078118040100 Test616x16161003004311604413205511904798 Test716x1616100520331043n/a 08911304493 Test816x1616100542n/a 0471290419404996 Test916x1616100724n/a 3 1 04991 Test1016x1616100674n/a 2 07711005194 Test1124x24241001060622520100264047249056228 Test1224x24241001043n/a 080242052219062231 Test1324x24241001370602412n/a 052247062221 Test1424x24241001433n/a 2 057234064219 Test1524x2424100173063246074233083230064227 Test1624x24241001854n/a 3 063223058220 Test1732x32321003159n/a 2 068394077409 Test1832x32321003274n/a 088408091403073385 Test1932x32321003570704022n/a 090371081367 Test2032x32321003633n/a 091382099393078360 Test2132x32321003648n/a 2 076389085370 Test2232x32321003635n/a 4 085393073369 Test2348x48481006456n/a 0100681078738075709 Test2448x48481006538n/a 099737094807082717 Test2548x48481007635n/a 0100729091792087698 Test2648x48481007703n/a 099709088798084691 Test2748x48481008574n/a 0100770099762092739 Test2848x48481008645n/a 4 099808087726 Test2948x484810010167n/a 6 098733094698 Test3048x484810010178n/a 4 088751092701 Total1066130 ■ 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

27 Benchmark Suite I High-PerformanceOur NameT la #T cell CPUT la #T cell CPU Test1100670.1139730.08 Test470640.1338710.09 Test5781180.47401000.21 Test6551190.2547980.24 Test7891130.4744930.37 Test841940.2749960.19 Test10771100.4951940.64 Test11472490.55562280.81 Test12522191.59622310.91 Test13522471.52622210.98 Test14572343.03642192.82 Test15832301.42642272.08 Test16632230.95582201.74 Test17683942.42774093.85 Test18914031.32733850.91 Test19903711.33813670.78 Test20993935.76783603.71 Test217638911.22853704.31 Test22853935.13733694.18 Test23787383.59757095.84 Test24948073.66827175.78 Test25917924.30876986.91 Test26887983.71846914.11 Test27997626.26927395.41 Test28998084.31877265.97 Test299873336.47946989.72 Test308875129.72927018.14 Avg.1.211.101.40111 ■ 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

28 Benchmark Suite IIHigh-PerformanceOur NameSize#NetT max #Blk#FailT la #T cell #FailT la #T cell Test a13x136100691n/a 01751 Test b13x135100532n/a 01333 Test c16x167100950297402461 Test d16x1691001332n/a 02787 Test e24x2410100173038170038128 Test f24x24121002153n/a 045129 Test g32x3261004402n/a 039121 Test h32x3281004851n/a 03988 Test I48x481210010133n/a 085197 Test j48x48201001079086637083459 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

29 Benchmark Suite IIINetwork-FlowHigh-PerformanceOur NameSize#Sub.#Net# T max #D max #T cell in-vitro_116 x 161128205237258231 in-vitro_214 x 141535206236246229 protein_121 x 2164181206161816881588 protein_213 x 1378178206939963923 Avg.1.0231.0741.000 ■ 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

30 NCKU CSIE EDALAB Outline Introduction Problem Formulation Algorithms Experimental Results Conclusion

31 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.

32 NCKU CSIE EDALAB


Download ppt "NCKU CSIE EDALAB Tsung-Wei Huang and Tsung-Yi Ho Department of Computer Science and Information Engineering National Cheng."

Similar presentations


Ads by Google