Digital microfluidic chip non-regular electrode wiring method based on reduced network flow
Patent Information
- Application Number
- CN202310575127.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-21
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-05-21
AI Technical Summary
然而,随着布线网格大小的缩小以及布线面积的增大,对应的模型中所需要的结点的数量就越多,这增加了模型复杂度以及求解问题所需的计算开销
[0095] The method of this invention can simultaneously handle the wiring problems of the electrode area, the contact area, and the area between them from a global perspective, thereby transforming the minimum cost flow into a wiring result with no intersections and the shortest line length.
Smart Images

Figure CN116738926B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of biochip electronic automation technology, specifically relating to a method for irregular electrode wiring in digital microfluidic chips. Background Technology
[0002] DMFB is an experimental platform capable of independently controlling individual droplets. DMFB uses a programmable electrode array on a substrate as the basic unit for performing droplet manipulation. The electrodes are connected to contacts on the chip edge via wires and receive control signals from external control circuitry through these contacts. Based on the principle of electrowetting-on-dielectric (EWOD), by applying control signals to adjacent electrodes, DMFB can independently manipulate the movement of discrete droplets on the chip, thereby achieving basic droplet operations such as transport, separation, and merging at the milliliter / nanoliter level. Thanks to this, DMFB can improve the automation level of biochemical experiments and significantly reduce sample consumption and experimental time. Currently, DMFB is used in experiments in many biomedical and biochemical fields.
[0003] With advancements in DMFB fabrication technology, various substrate materials (such as glass, paper, and printed circuit boards) and electrode shapes have been developed to meet the needs of diverse applications. Glass substrates with irregular electrodes (i.e., any shape other than a square) are one of the most widely adopted DMFB configurations. Glass-based DMFBs, with their smooth surfaces, easily identifiable electrodes, and transparent substrates, provide reliable droplet manipulation and facilitate the integration of optical devices (such as sensors and cameras), greatly expanding their application scenarios. Meanwhile, irregular electrodes are widely implemented in various DMFBs. For example, "C"-shaped and "T"-shaped electrodes are commonly used to dispense droplets from reservoirs, a structure that promotes rapid and efficient droplet splitting and dispensing. Furthermore, many DMFBs also employ serrated electrodes to enhance precise control over droplet volume and prevent pinning effects during droplet movement. It is also noteworthy that electrodes with specific irregular shapes are necessary to achieve certain functions. For example, PY-Keng designed a concentrically shaped multifunctional electrode for heating and temperature sensing in the on-chip synthesis of molecular probes.
[0004] Currently, most existing DMFB routing methods are designed based on the routing problem of printed circuit boards (PCBs). For this problem, wires are allowed to pass through vias on the PCB, thus eliminating the need to consider electrode obstructions during routing. Furthermore, to address similar routing problems with paper-based DMFBs, Q. Wang proposed a minimum-cost flow algorithm based on a routing mesh. However, these methods cannot solve the routing problem of glass-based DMFBs with irregular electrodes. Due to the lack of reliable and economical methods for fabricating multilayer interconnects on glass substrates, most glass-based DMFBs use a single-layer configuration, with electrodes and wires fabricated on the substrate surface. Therefore, the large number of electrodes in DMFB chip design presents a significant challenge for routing. Moreover, the pin selection problem caused by irregular electrodes further complicates the glass-based DMFB routing problem. To address the pin selection problem caused by irregular electrodes, existing methods introduce structures called pseudo-nodes to select candidate pins on irregular electrodes.
[0005] Existing methods introduce pseudo-nodes to address the pin selection problem caused by irregular electrodes. Pseudo-nodes are grid points located outside and adjacent to the electrode. The number of pseudo-nodes available for an electrode is actually related to the size of the routing grid used by the algorithm. A smaller routing grid provides more pseudo-nodes and increases the routing success rate. However, as the routing grid size decreases and the routing area increases, the number of nodes required in the model increases, increasing model complexity and computational cost. Therefore, existing methods struggle to balance routing success rate and computational cost when solving large-scale DMFB routing problems. Summary of the Invention
[0006] To overcome the shortcomings of existing technologies, this invention provides a method for irregular electrode routing in digital microfluidic chips based on reduced network flow. First, a reduced network flow model is constructed by dividing the electrode region and contact region using routing meshes of different sizes. Then, a mesh reduction strategy is used to simplify the routing mesh of the electrode region. A reduced network flow model is constructed based on the flow model corresponding to each mesh and supermesh. Next, the final routing result is solved: using the network flow model constructed in the previous stage, the minimum cost flow is solved. Based on the minimum cost flow, an ILP-based flow allocation algorithm is used to solve the final DMFB irregular electrode routing result. This invention can simultaneously handle the routing problems of the electrode region, contact region, and the areas between them from a global perspective, thereby transforming the minimum cost flow into a routing result with no intersections and the shortest line length.
[0007] The technical solution adopted by this invention to solve its technical problem includes the following steps:
[0008] Step 1: Construct a reduced network flow model;
[0009] Step 1-1: Divide the wiring area of the DMFB into an electrode area and a contact area. The contact area is located at the top and bottom of the chip and includes all contacts; the electrode area is located in the middle of the chip and includes all electrodes.
[0010] In the contact area, the contact area is divided into multiple squares of the same size by adjacent contacts, with one corner of each square corresponding to a contact. These squares are called tiles. The electrode area is divided into grids by horizontal and vertical lines of equal spacing. The square area formed by two adjacent horizontal lines and two adjacent vertical lines is called a grid, and the intersection of the horizontal and vertical lines is called a grid point. The width of the grid is determined by formula (1):
[0011]
[0012] Among them, w l and s l These refer to the wire width and spacing, respectively.
[0013] Steps 1-2: Use a grid reduction strategy to merge redundant grids in the super grid;
[0014] Assume the size of the super grid is N. S N S ≥2, the grid reduction strategy is to use a super grid to replace multiple adjacent grids; starting from the bottom left corner of the electrode region, check each adjacent N one by one. S ×N S Does each grid contain electrodes? If an electrode exists in an adjacent N grid... S ×N S In the grid, skip that region if there are adjacent N S ×N S If there are no electrodes in a grid, replace all grids and grid points in that area with a super grid, except for the grid points at the four corners of the area.
[0015] Steps 1-3: Treat the tile as a node with a capacity of D-cap, where each node has a flow rate of 1 and a unit flow cost of w. t / 2's unidirectional edge is connected to the adjacent contact, and is connected via a capacity of O-cap and a unit flow cost of w. t The bidirectional edge is connected to the horizontally adjacent tile, with a capacity of O-cap and a unit flow cost of w. t The unidirectional edge is connected to the vertically adjacent tile;
[0016] A boundary node with a capacity of O-cap was added on the tile adjacent to the electrode region to control the flow from the electrode region; each boundary node has a capacity of O-cap and a unit flow cost of w. t A unidirectional edge of / 2 is connected to the corresponding tile node; the grid is treated as a node with a capacity of 1, and connected to a node with a capacity of 1 and a unit flow cost of w. g The bidirectional edge of / 2 is adjacent to the next grid point;
[0017] Each supergrid contains five flow nodes with capacity. Four of these flow nodes are located on the four edges of the supergrid, controlling the flow passing through each edge of the supergrid. The remaining flow node is located inside the supergrid, controlling the flow passing through the supergrid itself. The first four flow nodes are called edge nodes, and the last node is called the center node. Grid points located at the four corners of the supergrid are also called corner nodes. Adjacent supergrids share edge nodes on common edges, and grid points located on the common edge of the supergrid and the grid are reserved. These grid points pass through a flow with a capacity of 1 and a unit flow cost of N. S ×w g A bidirectional edge of size / 2 is connected to the center node of the super grid; each edge node has a capacity of N. S -1, the capacity of the central node is 2×N S -1; In each supergrid, the central node passes through a node with a capacity of N. S -1. The unit flow cost is N S ×w g A bidirectional edge of 2 is connected to each edge node;
[0018] Steps 1-4: Assume the network flow model is G = (V, E), where each edge (u, v) ∈ E has a corresponding capacity c(u, v), flow f(u, v), and unit flow cost a(u, v); A is the set of super grids and grid points adjacent to the upper contact area; A′ is the set of super grids and grid points adjacent to the lower contact area; B is the set of contact nodes and boundary nodes adjacent to the upper boundary of the electrode area; B′ is the set of contact nodes and boundary nodes adjacent to the lower boundary of the electrode area; the corresponding network flow model is constructed as follows:
[0019] • Add a super source node S and a super source node T to V, which has infinite capacity and zero unit flow cost;
[0020] For each pseudo-node, assign a node p with a capacity of 1 and a unit flow cost of 0. i Add to V;
[0021] • For each contact, a node c with a capacity of 1 and a unit flow cost of 0 is selected. j Add to V;
[0022] • For each grid point, add a node with a capacity of 1 and a unit flow cost of 0 to V;
[0023] • For grids not covered by electrodes, add a node with a capacity of 1 and a unit flow cost of 0 to V;
[0024] • For each tile, add a node with capacity D-cap and unit flow cost of 0 to V;
[0025] • For each tile adjacent to the electrode region, add a boundary node with a capacity of O-cap and a unit flow cost of 0 to V;
[0026] For each super grid, four grids with a capacity of N are configured. S -1. An edge node with a unit flow cost of 0 and a node with a capacity of 2×N. S -1. Add the center node with a unit flow cost of 0 to V;
[0027] For each (S, p) i ), (c j Add a unidirectional edge with a capacity of 1 and a unit flow cost of 0 to E (T).
[0028] • For each pseudo-node and its adjacent grid point, and for each pseudo-node and its adjacent grid, add a unidirectional edge with a capacity of 1 and a unit flow cost of 0 to E.
[0029] For each tile and its adjacent contact, a pseudo-capacity of 1 is created, with a unit flow cost of [missing value]. Add a one-way edge to E;
[0030] • Add the edges obtained by Connect(A,B) and Connect(A,B) to E;
[0031] • For each boundary node and for each tile, establish a flow path with capacity O-cap and unit flow cost w. t Add a unidirectional edge of 2 to E;
[0032] • For each super grid and its adjacent grid, establish a connection with a capacity of 1 and a unit flow cost of w. g ×N S Add a bidirectional edge of 2 to E;
[0033] Within the same super grid, for each edge node and center node, a path with capacity N is created. S -1. The unit flow cost is w g ×N S Add a bidirectional edge of 2 to E;
[0034] • For each grid and its adjacent grid points, a flow with a capacity of 1 and a unit flow cost of w will be placed between them. g Add a bidirectional edge of 2 to E;
[0035] • For each adjacent grid point, a flow with a capacity of 1 and a unit flow cost of w will be created. g bidirectional edge
[0036] Add to E;
[0037] • For each adjacent tile, a line with a capacity of O-cap and a unit flow cost of w will be created. t Bidirectional edge addition
[0038] Add to E;
[0039] ·Target:
[0040] Step 2: Solve for the final routing result: Based on the network flow model in Step 1, solve for the minimum cost flow, and then use the flow allocation algorithm based on ILP to obtain the final routing result;
[0041] Step 2-1: Use 0-1 variables and Let p represent grid point respectively i These are the starting and ending points of the conductor segment; p i It cannot be both the start and end point at the same time; therefore, it is constrained as follows:
[0042]
[0043] Among them G s For the set of all super grids, For located The set of grid points on the boundary;
[0044] Step 2-2: For a super grid The flow from its edge node is equal to the number of starting points on the corresponding edge; the flow into its edge node is equal to the number of ending points on the corresponding edge. Therefore, the following constraints apply:
[0045]
[0046]
[0047] in, and They respectively represent the locations The set of grid points on the top, bottom, left, and right boundaries; and They represent from The flow of the top node, bottom node, left node, and right node; and They represent entering respectively The flow of the top node, bottom node, right node, and left node;
[0048] For a super grid The flow from its corner nodes is equal to the number of starting points at the corresponding corner, and the flow into its corner nodes is equal to the number of ending points at the corresponding corner. This leads to the following constraints:
[0049]
[0050]
[0051] in, and They respectively represent the locations The top left, top right, bottom left, and bottom right grid points. and They represent from The flow rates at the top left, top right, bottom left, and bottom right corners. and Enter The flow rates at the top left, top right, bottom left, and bottom right corners.
[0052] Steps 2-3: For For any two points on the boundary, there is at least one way to connect the wire from p1 to p2; all possible wiring paths are called wiring tracks; if p i If p is the starting point of a conductor segment, then there is one and only one conductor segment starting from p. i The wiring track starting at point p is occupied by a conductor. jIf p is the endpoint of the conductor segment, then there is one and only one conductor segment ending at p. j The wiring track ending at a certain point is occupied by a conductor; the following constraints apply:
[0053]
[0054]
[0055] Wherein, Φ(p) i ,p j ) is from p i to p j The set of all wiring tracks; μ k It is a 0-1 variable, indicating whether a wire occupies φ. k ∈Φ(p i ,p j );
[0056] To prevent wires from crossing, use a 0-1 variable O(φ) k ,φ k′ ) represents φ k With φ k′ Whether they intersect; for a pair of wiring tracks φ in the same super grid k With φ k′ If φ k With φ k′ If they intersect, then φ k With φ k′ It cannot be occupied by a wire at the same time, the constraint is:
[0057]
[0058] For a pair of wiring tracks φ in adjacent super grids k With φ k′ If φ k With φ k′ If they intersect, then φ k With φ k′ It cannot be occupied by a wire at the same time, the constraint is:
[0059]
[0060] in Indicates and The set of adjacent super grids;
[0061] Steps 2-4: Model the flow distribution problem in the contact area;
[0062] For any tile, first add O-cap equally spaced tile points on each edge to serve as the start and end points of the conductor segment; additionally, consider the contact points at the four corners of each tile as tile points, serving as the end points of the conductor segment; use 0-1 variables. and Representing tile point q respectively i Whether it serves as the start and end point of a conductor segment; q i It cannot simultaneously serve as both the start and end point of a conductor segment, thus imposing the following constraints:
[0063]
[0064] Where Q(t) h ) represents tile t h The set of tile points on the boundary, T D and T U These represent the sets of tiles located in the upper and lower contact areas, respectively.
[0065] For a super grid, the inflow / outflow through a tile edge is equal to the number of start / end points on the corresponding boundary, as constrained as follows:
[0066]
[0067]
[0068] Among them, Q U (t h ), Q D (t h ), Q L (t h ) and Q R (t h ) respectively represent the locations at t h The set of tile points of the upper, lower, left, and right boundaries; f in (t h ,U)f in (t h ,D), f in (t h ,L) and f in (t h R) represent the passage through t h The inflow rates at the upper, lower, left, and right boundaries; f out (t h ,U)f out (t h ,D), f out (th ,L) and f out (t h ,R) through t h The outflow rates at the upper, lower, left, and right boundaries;
[0069] If t h If the outflow rate at the top left, top right, bottom left, or bottom right corner is not zero, then the corresponding contact point is taken as the end point of the conductor segment, with the following constraints:
[0070]
[0071] Among them, Q UL (t h ), Q UR (t h ), Q DL (t h ) and Q DR (t h ) respectively represent the locations at t h The top left, top right, bottom left, and bottom right tile points; f out (t h ,UL), f out (t h ,UR)f out (t h ,DL) and f out (t h ,DR) represent the flow direction t respectively h The flow rates at the top left, top right, bottom left, and bottom right corners;
[0072] Build wiring tracks for each tile, if q i If it is the start / end point of the conductor segment, then there is only one wiring track with q. i As the start / end point, the constraints are as follows:
[0073]
[0074]
[0075] Wherein, Φ(q) i ,q j ) indicates from q i to q j A collection of wiring tracks; ν k A 0-1 variable, representing the wiring track φ k ∈Φ(q i ,q j Is it occupied by a wire?
[0076] To prevent wires from crossing, use a 0-1 variable O(φ)k ,φ k′ ) represents φ k With φ k′ Do they intersect? For a pair of wiring tracks φ in the same tile k With φ k′ If φ k With φ k′ If they intersect, then φ k With φ k′ It cannot be occupied by a wire at the same time, the constraint is:
[0077]
[0078] Construct a set of wiring tracks for connecting the electrode region and the contact region. These wiring tracks start from the grid and grid point of the electrode region and end at the contact point and boundary node of the contact region, using θ. i,j Indicated by p i Starting from q j For the wiring track at the endpoint, ρ i,j A 0-1 variable, representing θ i,j Whether a space is occupied by a wire depends on the following constraints:
[0079]
[0080]
[0081] Among them, P(G s D) represents the set of grid points on the lower boundary of the electrode region, Q(T) D U) represents the set of tile points located at the upper boundary of the lower contact area;
[0082] To prevent wires from crossing, use a 0-1 variable O(ρ) i,j ,ρ i′,j′ ) represents θ i,j With θ i,j Whether there is an intersection depends on the following constraints:
[0083]
[0084] The following constraints apply to the connection between the electrode region and the upper contact region:
[0085]
[0086]
[0087]
[0088] Among them, P(G sU) represents the set of grid points on the upper boundary of the electrode region, Q(T) U D) represents the set of tile points located at the lower boundary of the upper contact area;
[0089] Steps 2-5: The optimization objectives for the stream allocation problem are as follows:
[0090]
[0091] subject to (2)-(23) (24)
[0092] Where, L(ρ) i,j ) and L(φ k ) represent ρ respectively i,j and φ k The length of the routing is determined by solving the optimization problem.
[0093] Preferably, the for There are three ways to connect any two points on the boundary to a wire from p1 to p2.
[0094] The beneficial effects of this invention are as follows:
[0095] The method of this invention can simultaneously handle the wiring problems of the electrode area, the contact area, and the area between them from a global perspective, thereby transforming the minimum cost flow into a wiring result with no intersections and the shortest line length. Attached Figure Description
[0096] Figure 1 The flow model construction process of the present invention includes: (a) a schematic diagram of a DMFB to be routed; (b) a schematic diagram of the routing mesh structure; (c) a schematic diagram of the mesh reduction strategy result; (d) a schematic diagram of the constructed network flow model; and (e) a magnified view of the connection between the Super grid and the grid, and a magnified view of the electrode area and the contact area.
[0097] Figure 2 The diagrams are schematic diagrams of flow models: (a) flow model diagram of Tile, (b) flow model diagram of Grid, and (c) flow model diagram of Super grid.
[0098] Figure 3 The diagrams show the implementation of nodes with capacity and bidirectional edges. (a) Schematic diagram of nodes with capacity, (b) Schematic diagram of the flow model without nodes in (a), (c) Schematic diagram of the bidirectional edge between two nodes with capacity, and (d) Flow model of (c) in the form of nodes without capacity.
[0099] Figure 4The diagram shows the connection method: (a) the wiring track from p1 to p2, and (b) the wiring track connecting the electrode area to the contact area. Detailed Implementation
[0100] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0101] The purpose of this invention is to design a method for irregular electrode routing in DMFB (Digital Mesh Filtering) based on a reduced network flow model. This method utilizes a mesh reduction strategy and a flow allocation algorithm based on Integer Linear Programming (ILP) to reduce the computational power required to solve irregular electrode routing in DMFB. Specifically, it includes the following steps:
[0102] 1. Construction of a reduced network flow model:
[0103] In this stage, the electrode region and contact region are first divided using wiring meshes of different sizes. Then, a mesh reduction strategy is used to simplify the wiring mesh of the electrode region. The main idea of this strategy is to use a supergrid model to reduce redundant wiring meshes, thereby fundamentally reducing the complexity of the constructed network flow model. Finally, a reduced network flow model is constructed based on the flow model corresponding to each mesh and supergrid.
[0104] 2. Solve for the final routing result:
[0105] In this stage, the minimum cost flow is first solved using the network flow model built in the previous stage. Then, based on the minimum cost flow, an ILP-based flow allocation algorithm is used to solve for the final DMFB irregular electrode routing result. This algorithm can simultaneously handle the routing problems of the electrode region, contact region, and the areas between them from a global perspective, thereby transforming the minimum cost flow into a routing result with no intersections and the shortest line length.
[0106] A method for irregular electrode wiring in a digital microfluidic chip based on reduced network flow includes the following steps:
[0107] 1. Construction of a reduced network flow model:
[0108] This invention divides the wiring area of the DMFB into an electrode area and a contact area, such as... Figure 1 As shown in (a), the contact area is located at the top and bottom of the chip and contains all the contacts. The electrode area is located in the middle of the chip and contains all the electrodes. Within the contact area, adjacent contacts can be used to divide the area into multiple squares of the same size, such as... Figure 1As shown in (b). Each square has one corner corresponding to a contact point. For ease of representation, these squares are referred to as tiles in this invention. Furthermore, this invention uses equally spaced horizontal and vertical lines to divide the electrode area into a grid. This invention refers to the square area formed by two adjacent horizontal lines and two adjacent vertical lines as a grid, and the intersection of the horizontal and vertical lines as a grid point. To allow sufficient spacing between conductors, the width of the grid is determined by formula (1):
[0109]
[0110] Among them, w l and s l These refer to the wire width and spacing, respectively.
[0111] Subsequently, this invention utilizes the proposed grid reduction strategy to merge redundant grids using a super grid. Assume the size of the super grid is N. S (N S ≥2). The main idea of the proposed grid reduction strategy is to use a super grid to replace multiple adjacent grids. The grid reduction strategy proposed in this invention is shown in Algorithm 1. Starting from the lower left corner of the electrode region, each of the adjacent N grids is checked sequentially. S ×N S Does each grid contain electrodes? If an electrode exists in an adjacent N... S ×N S In the grid, skip that region. If the adjacent N S ×N S If there are no electrodes in a given grid, replace all grids and grid points in that region with a super grid, except for the grid points at the four corners of that region. The reduction result is as follows: Figure 1 As shown in (c).
[0112]
[0113] Finally, the present invention utilizes Figure 2 The flow model shown in the paper constructs a reduced network flow model. This invention treats a tile as a node with a capacity of D-cap, which connects to other nodes with a capacity of 1 and a unit flow cost of w. t / 2's unidirectional edge is connected to the adjacent contact, and is connected via a capacity of O-cap and a unit flow cost of w. t The bidirectional edge is connected to the horizontally adjacent tile, with a capacity of O-cap and a unit flow cost of w. t A unidirectional edge is connected to a vertically adjacent tile, such as... Figure 2 As shown in (a), the implementation of nodes with capacity and bidirectional edges is as follows. Figure 3As shown. Furthermore, a boundary node with a capacity of O-cap was added to the tile adjacent to the electrode region to control the flow rate from the electrode region, as shown. Figure 1 As shown in (e), each boundary node has a capacity of O-cap and a unit flow cost of w. t A unidirectional edge of / 2 is connected to the corresponding tile node. This invention treats the grid as a node with a capacity of 1, and connects it to a node with a capacity of 1 and a unit flow cost of w. g The bidirectional edge of / 2 is adjacent to the adjacent grid point, such as Figure 2 As shown in (b). In this invention, each supergrid contains five flow nodes with capacity, as shown in Figure 2(c). Four of these nodes are located on the four sides of the supergrid and are used to control the flow passing through each edge of the supergrid, while the remaining node is located inside the supergrid and is used to control the flow passing through the supergrid. The first four nodes are called edge nodes, and the last node is called the center node. The grid points located at the four corners of the supergrid are also called corner nodes of the supergrid. Adjacent supergrids share edge nodes on common edges. And grid points located on the common edge of the supergrid and the grid are reserved. These grid points are connected by a flow with a capacity of 1 and a unit flow cost of N. S ×w g The bidirectional edge of / 2 is connected to the center node of the supergrid, such as Figure 1 As shown in (e), each edge node has a capacity of N. S -1, the capacity of the central node is 2×N S -1. In each super grid, the central node passes through a node with a capacity of N. S -1. The unit flow cost is N S ×w g / 2 bidirectional edges are connected to each boundary point.
[0114] Assume the network flow model is G = (V, E), where each edge (u, v) ∈ E has a corresponding capacity c(u, v), flow f(u, v), and unit flow cost a(u, v). Algorithm 2 is used to connect the electrode region and the contact region. A is the set of super grids and grid points adjacent to the upper contact region. A′ is the set of super grids and grid points adjacent to the lower contact region. B is the set of contact nodes and boundary nodes adjacent to the upper boundary of the electrode region. B′ is the set of contact nodes and boundary nodes adjacent to the lower boundary of the electrode region. The corresponding network flow model is constructed as follows:
[0115] • Add a super source node S and a super source node T to V, which has infinite capacity and zero unit flow cost.
[0116] For each pseudo-node, assign a node p with a capacity of 1 and a unit flow cost of 0. i Add to V.
[0117] • For each contact, a node c with a capacity of 1 and a unit flow cost of 0 is selected. j Add to V.
[0118] • For each grid point, add a node with a capacity of 1 and a unit flow cost of 0 to V.
[0119] • For grids not covered by electrodes, add a node with a capacity of 1 and a unit flow cost of 0 to V.
[0120] • For each tile, add a node with capacity D-cap and unit flow cost of 0 to V.
[0121] • For each tile adjacent to the electrode region, add a boundary node with a capacity of O-cap and a unit flow cost of 0 to V.
[0122] For each super grid, four grids with a capacity of N are configured. S -1. An edge node with a unit flow cost of 0 and a node with a capacity of 2×N. S -1. Add the center node with a unit flow cost of 0 to V.
[0123] For each (S, p) i ), (c j Add a unidirectional edge with a capacity of 1 and a unit flow cost of 0 to E.
[0124] • For each pseudo-node and its adjacent grid point, and for each pseudo-node and its adjacent grid, add a unidirectional edge with a capacity of 1 and a unit flow cost of 0 to E.
[0125] For each tile and its adjacent contact, a pseudo-capacity of 1 is created, with a unit flow cost of [missing value]. Add a one-way edge to E.
[0126] Add the edges obtained by Connect(A,B) and Connect(A,B) to E. Connect(A,B) is shown in Algorithm 2.
[0127] • For each boundary node and for each tile, establish a flow path with capacity O-cap and unit flow cost w.t Add a unidirectional edge of 2 to E.
[0128] • For each super grid and its adjacent grid, establish a connection with a capacity of 1 and a unit flow cost of w. g ×N S Add a bidirectional edge of 2 to E.
[0129] Within the same super grid, for each edge node and center node, a path with capacity N is created. S -1. The unit flow cost is w g ×N S Add a bidirectional edge of 2 to E.
[0130] • For each grid and its adjacent grid points, a flow with a capacity of 1 and a unit flow cost of w will be placed between them. g Add a bidirectional edge of 2 to E.
[0131] • For each adjacent grid point, a flow with a capacity of 1 and a unit flow cost of w will be created. g Add the bidirectional edge to E.
[0132] • For each adjacent tile, a line with a capacity of O-cap and a unit flow cost of w will be created. t Add the bidirectional edge to E.
[0133] ·Target:
[0134]
[0135]
[0136] 2. Solve for the final routing result:
[0137] Based on the network flow model constructed above, the minimum cost flow is solved. Then, the proposed ILP-based flow allocation algorithm is used to obtain the final routing result.
[0138] To determine the start and end points of conductor segments passing through the super grid, the gridpoints on the four sides of the super grid are reconstructed. 0-1 variables are used. and Let p represent grid point respectively i Is it the beginning or the end of the conductor segment? i It cannot be both the start and end point at the same time; this can be constrained as follows:
[0139]
[0140] Among them G s For the set of all super grids, For located The set of grid points on the boundary.
[0141] For a super grid The flow from its edge nodes is equal to the number of origin nodes on the corresponding edge. Similarly, the flow into its boundary nodes is equal to the number of destination nodes on the corresponding edge. This leads to the following constraints:
[0142]
[0143]
[0144] in, and They respectively represent the locations The set of grid points on the upper, lower, left, and right boundaries. and They represent from The flow of the top node, bottom node, left node, and right node. and They represent entering respectively The flow of the top node, bottom node, right node, and left node.
[0145] For a super grid The flow from its corner nodes is equal to the number of starting points at the corresponding corner. Similarly, the flow entering its corner nodes is equal to the number of ending points at the corresponding corner. This leads to the following constraints:
[0146]
[0147]
[0148] in, and They respectively represent the locations The top left, top right, bottom left, and bottom right grid points. and They represent from The flow rates at the top left, top right, bottom left, and bottom right corners. and Enter The flow rates at the top left, top right, bottom left, and bottom right corners.
[0149] for For any two points on the boundary, there is at least one way to connect them, such as Figure 4 As shown in (a), there are three ways to connect a wire from p1 to p2. This invention refers to all possible wiring paths as wiring tracks. If p i If p is the starting point of a conductor segment, then there is one and only one conductor segment starting from p. i The wiring track starting at point p is occupied by a conductor. Similarly, if p j If p is the endpoint of the conductor segment, then there is one and only one conductor segment ending at p. j The wiring track ending at a certain point is occupied by a conductor. The following constraints apply:
[0150]
[0151]
[0152] Wherein, Φ(p) i ,p j ) is from p i to p j The collection of all wiring tracks. μ k It is a 0-1 variable, indicating whether a wire occupies φ. k ∈Φ(p i ,p j ).
[0153] In addition, to prevent wires from crossing, a 0-1 variable O(φ) is used. k ,φ k′ ) represents φ k With φ k′ Do they intersect? For a pair of wiring tracks φ in the same super grid. k With φ k′ If φ k With φ k′ If they intersect, then φ k With φ k′ Cannot be occupied by a wire simultaneously, constrained as follows:
[0154]
[0155] For a pair of wiring tracks φ in adjacent super grids k With φ k′ If φ k With φ k′ If they intersect, then φ k With φ k′ Cannot be occupied by a wire simultaneously, constrained as follows:
[0156]
[0157] in Indicates and The set of adjacent super grids.
[0158] The flow assignment problem in the contact area is modeled in a similar manner. For any tile, O-cap equally spaced tile points are first added to each edge to serve as the start and end points of the conductor segment. Furthermore, the contact points at the four corners of each tile are also considered tile points, serving as the end points of the conductor segment. 0-1 variables are used. and They represent tilepoint q respectively i Whether it serves as the start and end point of a conductor segment. q i It cannot simultaneously serve as both the start and end point of a conductor segment, thus imposing the following constraints:
[0159]
[0160] Where Q(t) h ) represents tile t h The set of tile points on the boundary. T D and T U These represent the sets of tiles located in the upper and lower contact areas, respectively.
[0161] Similar to the super grid, the inflow (outflow) through a tile edge is equal to the number of start (end) points on the corresponding boundary, as constrained as follows:
[0162]
[0163]
[0164] Among them, Q U (t h ), Q D (t h ), Q L (t h ) and Q R (t h ) respectively represent the locations at t h f is the set of tile points that define the upper, lower, left, and right boundaries of a point. in (t h ,U)f in (t h ,D), f in (t h ,L) and f in (t h R) represent the passage through t h The inflow rates at the upper, lower, left, and right boundaries.out (t h ,U)f out (t h ,D), f out (t h ,L) and f out (t h ,R) through t h The outflow rates at the upper, lower, left, and right boundaries.
[0165] If t h If the outflow rate at the top left, top right, bottom left, or bottom right corner is not zero, then the corresponding contact point is taken as the end point of the conductor segment, with the following constraints:
[0166]
[0167] Among them, Q UL (t h ), Q UR (t h ), Q DL (t h ) and Q DR (t h ) respectively represent the locations at t h The tile points at the top left, top right, bottom left, and bottom right corners. out (t h ,UL), f out (t h ,UR)f out (t h ,DL) and f out (t h ,DR) represent the flow direction t respectively h The flow rates at the top left, top right, bottom left, and bottom right corners.
[0168] Build wiring tracks for each tile. If q i If it is the starting (ending) point of the conductor segment, then there is only one wiring track with q. i As the starting point (end point), the constraints are as follows:
[0169]
[0170]
[0171] Wherein, Φ(q) i ,q j ) indicates from q i to q j A collection of wiring tracks. k A 0-1 variable, representing the wiring track φ k ∈Φ(qi ,q j Whether it is occupied by a wire.
[0172] In addition, to prevent wires from crossing, a 0-1 variable O(φ) is used. k ,φ k′ ) represents φ k With φ k′ Do they intersect? For a pair of wiring tracks φ in the same tile. k With φ k′ If φ k With φ k′ If they intersect, then φ k With φ k′ Cannot be occupied by a wire simultaneously, constrained as follows:
[0173]
[0174] A set of wiring tracks is constructed for connecting the electrode region and the contact region. These wiring tracks start from the grid and grid point of the electrode region and end at the contact point and boundary node of the contact region, as follows: Figure 4 As shown in (b). Using θ i,j Indicated by p i Starting from q j The wiring track with the endpoint as its destination. ρ i,j A 0-1 variable, representing θ i,j Is it occupied by a wire? The following constraints apply:
[0175]
[0176]
[0177] Among them, P(G s D) represents the set of grid points on the lower boundary of the electrode region. Q(T) D ,U) represents the set of tile points located at the upper boundary of the lower contact area.
[0178] To prevent wires from crossing, use a 0-1 variable O(ρ) i,j ,ρ i′,j′ ) represents θ i,j With θ i,j Whether there is an intersection depends on the following constraints:
[0179]
[0180] Similarly, the connection between the electrode region and the upper contact region is subject to the following constraints:
[0181]
[0182]
[0183]
[0184] Among them, P(G s U) represents the set of grid points on the upper boundary of the electrode region. Q(T) U D) represents the set of tile points located at the lower boundary of the upper contact area.
[0185] Finally, the optimization objective of the stream allocation problem is as follows:
[0186]
[0187] subject to (2)-(23) (24)
[0188] Where, L(ρ) i,j ) and L(φ k ) represent ρ respectively i,j and φ k The length of the routing is determined by solving this optimization problem.
[0189] This invention utilizes two actual DMFB benchmarks and twelve synthetic benchmarks for testing to verify the proposed algorithm. Table 1 shows the basic information of the above benchmarks, where N E S E S P and N P These represent the number of electrodes, electrode area size, contact area size, and number of contacts, respectively. The effectiveness of this invention is verified by comparing it with existing irregular electrode routing algorithms (exhaustive search, A* algorithm, and network flow method).
[0190] Detailed information on the benchmarks used in Table 1
[0191]
[0192] Table 2 shows the comparison results of the present invention with the exhaustive search method and the A* algorithm in terms of line length and CPU time. Compared with the exhaustive search method, the present invention achieves shorter line length and CPU time. This is because the exhaustive search method needs to traverse the unreduced dense wiring mesh, which makes the exhaustive search method consume a lot of time. In addition, the present invention provides more connection options between electrode regions and contact regions compared with the exhaustive search method, thus achieving a reduction in line length. Compared with the A* algorithm, the wiring results generated by the present invention have an average reduction in line length of 140.48% and an average CPU time acceleration of 11.5 times. Although the A* algorithm has excellent efficiency in the shortest path problem, it cannot obtain the optimal global wiring result. Especially when the reference has a large number of electrodes, the CPU time of the A* algorithm increases significantly. This is because the computational complexity of the A* algorithm increases while constantly determining the path. Conversely, because the number of mesh nodes covered by electrodes increases, the complexity of the network flow model is reduced, and the present invention can still obtain good wiring results in a shorter time on these references.
[0193] Table 2 Comparison of the present invention with exhaustive search and A* algorithm in terms of line length and CPU time.
[0194]
[0195] Table 3 shows the comparison results of the proposed method and the network flow method in terms of line length and CPU time. Compared with the network flow method, the proposed method achieves a line length optimization of 0.05%-6.67% across all benchmarks, with an average reduction of 1.55%. As mentioned earlier, this is because the proposed method provides more connection options between electrode and contact regions compared to the network flow method, thus achieving a shorter line length. Furthermore, compared with the network flow method, the proposed method achieves a maximum CPU time speedup of 4.6 times and an average of 2.6 times across all benchmarks. This is mainly due to the simplified network flow model achieved by the mesh reduction strategy. As shown in Table 4, the number of nodes and edges used in the network flow model increases with chip size. Compared with the network flow method, the proposed method achieves an average reduction of 49.91% and 66.17% in the number of nodes and edges in the network flow model, respectively. The simplification of the network flow model reduces the CPU time required to solve the minimum cost flow problem. As shown in Table 5, compared with the network flow method, the CPU time occupied by the solution model of this invention is reduced from an average of 56.14% to an average of 38.67%, a reduction of 29.09% on average.
[0196] Table 3 Comparison of the present invention and network flow method in terms of line length and CPU time.
[0197]
[0198]
[0199] Table 4 Comparison of the present invention and network flow method in terms of line length and CPU time.
[0200]
[0201] Table 5 compares the solution time of the present invention and the network flow method.
[0202]
[0203]
Claims
1. A method for irregular electrode wiring in a digital microfluidic chip based on reduced network flow, characterized in that, Includes the following steps: Step 1: Construct a reduced network flow model; Step 1-1: Divide the wiring area of the DMFB into an electrode area and a contact area. The contact area is located at the top and bottom of the chip and includes all contacts; the electrode area is located in the middle of the chip and includes all electrodes. In the contact area, the contact area is divided into multiple squares of the same size by adjacent contacts, with one corner of each square corresponding to a contact. These squares are called tiles. The electrode area is divided into grids using horizontal and vertical lines of equal spacing. The square area formed by two adjacent horizontal lines and two adjacent vertical lines is called a grid, and the intersection of the horizontal and vertical lines is called a grid point. The width of the grid is determined by formula (1): (1) in, and These refer to the wire width and spacing, respectively. Steps 1-2: Use a grid reduction strategy to merge redundant grids in the super grid; Assume the size of the super grid is The grid reduction strategy involves replacing multiple adjacent grids with a super grid; starting from the bottom left corner of the electrode region, adjacent grids are checked one by one. Does each grid contain electrodes? If electrodes exist in adjacent grids... In the grid, skip that region if it is adjacent. If there are no electrodes in a grid, replace all grids and grid points in that area with a super grid, except for the grid points at the four corners of the area. Steps 1-3: Treat the tile as a node with a capacity of D-cap, where each node has a capacity of 1 and a unit flow cost of... The unidirectional edge is connected to the adjacent contact point, and is connected through a capacity of O-cap and a unit flow cost of The bidirectional edge is connected to the horizontally adjacent tile, with a capacity of O-cap and a unit flow cost of The unidirectional edge is connected to the vertically adjacent tile; A boundary node with a capacity of O-cap was added to the tile adjacent to the electrode region to control the flow from the electrode region; each boundary node has a capacity of O-cap and a unit flow cost of The unidirectional edges are connected to the corresponding tile nodes; the grid is treated as a node with a capacity of 1, and connected through nodes with a capacity of 1 and a unit flow cost of 1. The bidirectional edge is adjacent to the adjacent gridpoint; Each supergrid contains five flow nodes with capacity. Four of these flow nodes are located on the four edges of the supergrid, controlling the flow passing through each edge. The remaining flow node is located inside the supergrid, controlling the flow passing through it. The first four flow nodes are called edge nodes, and the last node is called the center node. Grid points located at the four corners of the supergrid are also called corner nodes. Adjacent supergrids share edge nodes on common edges, and grid points located on the common edge of the supergrid and the grid are reserved. These grid points are accessed through a flow with a capacity of 1 and a unit flow cost of [missing information]. The bidirectional edges are connected to the center node of the super grid; each edge node has a capacity of [value missing]. The capacity of the central node is In each super grid, the central node has a capacity of Unit flow cost is The bidirectional edges are connected to each edge node; Steps 1-4: Assume the network flow model is as follows Each edge It has the corresponding capacity ,flow and unit flow cost ; It is a collection of super grids and grid points adjacent to the upper contact area; It is a collection of super grids and grid points adjacent to the contact area below; It is the set of contact nodes and boundary nodes adjacent to the upper boundary of the electrode region; It is the set of contact nodes and boundary nodes adjacent to the lower boundary of the electrode region; the corresponding network flow model is constructed as follows: Add a super source node S and a super target node T to In this context, its capacity is infinite and the unit flow cost is 0; For each pseudo-node, assign a node with a capacity of 1 and a unit flow cost of 0. Add to middle; For each contact, a node with a capacity of 1 and a unit flow cost of 0 is assigned. Add to middle; For each grid point, add a node with a capacity of 1 and a unit flow cost of 0. middle; For grids not covered by electrodes, add a node with a capacity of 1 and a unit flow cost of 0. middle; For each tile, add a node with capacity D-cap and unit flow cost of 0. middle; For each tile adjacent to the electrode region, add a boundary node with a capacity of O-cap and a unit flow cost of 0. middle; For each super grid, four grids with capacity of An edge node with a unit flow cost of 0 and a capacity of Add a central node with a unit flow cost of 0 to middle; For each , Add a unidirectional edge with a capacity of 1 and a unit flow cost of 0 to middle; For each pseudo-node and its adjacent grid point, and for each pseudo-node and its adjacent grid, add a unidirectional edge with a capacity of 1 and a unit flow cost of 0. middle; For each tile and its adjacent contact, a pseudo-capacity of 1 is created, with a unit flow cost of [value missing]. Add one-way edge middle; Will and The obtained edges are added to middle; For each boundary node and for each tile, a flow with capacity O-cap and unit flow cost of O-cap will be established. Add a one-way edge middle; For each super grid and its adjacent grid, a flow with a capacity of 1 and a unit flow cost of [value missing] will be placed between them. Add bidirectional edges middle; Within the same super grid, for each edge node and the center node, a line with a capacity of... Unit flow cost is Add bidirectional edges middle; For each grid and its adjacent grid points, a flow with a capacity of 1 and a unit flow cost of [value missing] will be placed between them. Add bidirectional edges middle; For each adjacent grid point, a flow with a capacity of 1 and a unit flow cost of [value missing] will be created. Add bidirectional edges middle; For each adjacent tile, a line with a capacity of O-cap and a unit flow cost of [value missing] is placed between them. Add bidirectional edges middle; Target: Step 2: Solve for the final routing result: Based on the network flow model in Step 1, solve for the minimum cost flow, and then use the flow allocation algorithm based on ILP to obtain the final routing result; Step 2-1: Use 0-1 variables and To represent grid points respectively These are the starting and ending points of the conductor segment; It cannot be both the start and end point at the same time; therefore, it is constrained as follows: (2) in For the set of all super grids, For located The set of grid points on the boundary; Step 2-2: For a super grid The flow from its edge nodes is equal to the number of starting points on the corresponding edge; the flow into its edge nodes is equal to the number of ending points on the corresponding edge. Therefore, the following constraints apply: (3) (4) in, , , and They respectively represent the locations The set of grid points on the top, bottom, left, and right boundaries; , , and They represent from The flow of the top node, bottom node, left node, and right node; , , and They represent entering The flow of the top node, bottom node, right node, and left node; For a super grid The flow from its corner nodes is equal to the number of starting points at the corresponding corner, and the flow entering its corner nodes is equal to the number of ending points at the corresponding corner. Therefore, the following constraints apply: (5) (6) in, , , and They respectively represent the locations The top left, top right, bottom left, and bottom right grid points. , , and They represent from The flow rates at the top left, top right, bottom left, and bottom right corners. , , and Enter The flow rates at the top left, top right, bottom left, and bottom right corners. Steps 2-3: For For any two points on the boundary, there is at least one way to connect the wire from... Connected to ; All possible wiring paths are called wiring tracks; if If it is the starting point of a conductor segment, then there is one and only one conductor segment starting from it. The wiring track starting from is occupied by wires, if If it is the end point of the conductor segment, then there is one and only one conductor segment ending at... The wiring track ending at a certain point is occupied by a conductor; the following constraints apply: (7) (8) in, From arrive The collection of all wiring tracks; It's a 0-1 variable, indicating whether a wire is in use. ; To prevent wires from crossing, use 0-1 variables. express and Do they cross? For a pair of wiring tracks in the same super grid? and ,like and Intersection, then and It cannot be occupied by a wire at the same time, the constraint is: (9) For a pair of wiring tracks in adjacent super grids and ,like and Intersection, then and It cannot be occupied by a wire at the same time, the constraint is: (10) in Indicates and The set of adjacent super grids; Steps 2-4: Model the flow distribution problem in the contact area; For any tile, first add O-cap equally spaced tile points on each edge to serve as the start and end points of the conductor segment; additionally, consider the contact points at the four corners of each tile as tile points, serving as the end points of the conductor segment; use 0-1 variables. and They represent tile points respectively. Whether it serves as the start and end point of a conductor segment; It cannot simultaneously serve as both the start and end point of a conductor segment, thus imposing the following constraints: (11) in Indicates tile The set of tile points on the boundary. and These represent the sets of tiles located in the upper and lower contact areas, respectively. For a super grid, the inflow / outflow through a tile edge is equal to the number of start / end points on the corresponding boundary, as constrained as follows: (12) (13) in, , , and They respectively represent the locations The set of tile points that define the upper, lower, left, and right boundaries; , , and They represent passing through The inflow rates at the upper, lower, left, and right boundaries; , , and pass The outflow rates at the upper, lower, left, and right boundaries; like If the outflow rate at the top left, top right, bottom left, or bottom right corner is not zero, then the corresponding contact point is taken as the end point of the conductor segment, with the following constraints: (14) in, , , and They respectively represent the locations The tile points at the top left, top right, bottom left, and bottom right corners; , , and They represent the flow direction respectively. The flow rates at the top left, top right, bottom left, and bottom right corners; Build wiring tracks for each tile, if If it is the start / end point of the conductor segment, then there is only one wiring track. As the start / end point, the constraints are as follows: (15) (16) in, Indicates from arrive A collection of wiring tracks; A 0-1 variable, representing the wiring track. Is it occupied by a wire? To prevent wires from crossing, use 0-1 variables. express and Do they intersect? For a pair of wiring tracks within the same tile? and ,like and Intersection, then and It cannot be occupied by a wire at the same time, the constraint is: (17) Construct a set of wiring tracks for connecting the electrode region and the contact region. These wiring tracks start from the grid and grid points of the electrode region and end at the contact points and boundary nodes of the contact region. Indicated by Starting from The wiring track is the endpoint. 0-1 variables represent Whether a space is occupied by a wire depends on the following constraints: (18) (19) in, This represents the set of grid points on the lower boundary of the electrode region. This represents the set of tile points located at the upper boundary of the lower contact area; To prevent wires from crossing, use 0-1 variables. express and Whether there is an intersection depends on the following constraints: (20) The following constraints apply to the connection between the electrode region and the upper contact region: (21) (22) (23) in, This represents the set of grid points on the upper boundary of the electrode region. This represents the set of tile points located at the lower boundary of the upper contact area; Steps 2-5: The optimization objectives for the stream allocation problem are as follows: (24) (2)-(23)(24) in, and They represent and The length of the routing is determined by solving the optimization problem.
2. The irregular electrode wiring method for a digital microfluidic chip based on reduced network flow according to claim 1, characterized in that, The for For any two points on the boundary, there are three ways to connect them, which can connect the wire from... Connected to .