High-level synthesis method for microfluidic biochip under channel storage and volume management

CN117608789BActive Publication Date: 2026-09-22FUZHOU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311627016.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-30
Publication Date
2026-09-22
Estimated Expiration
2043-11-30

AI Technical Summary

Benefits of technology

[0111]本发明针对分布式通道存储下的缓存以及流体体积通过整数线性规划进行建模,能合理分析流体缓存的情况以及各流处理任务的时序关系并根据流体体积合理预估各流处理任务的执行时间。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117608789B_ABST
    Figure CN117608789B_ABST
Patent Text Reader

Abstract

The application provides a high-level synthesis method for a microfluidic biochip under channel storage and volume management, and comprises the following steps: step S1, modeling the fluid cache and volume management in the high-level synthesis task by integer linear programming, modeling the related problems under the fluid cache and volume management in the high-level synthesis task into an ILP model, analyzing various situations requiring the use of the cache, and reducing the cache times as much as possible under the premise of ensuring the biochemical reaction efficiency; step S2, analyzing the fluid cache situation and the timing relationship of each flow processing task, calculating the cache time upper limit, the operation end time and the flow processing task end time upper limit by a list scheduling algorithm when solving the ILP model, estimating the execution time of each flow processing task according to the fluid volume, and determining the scheduling scheme bound with the task target; and the application can obtain a scheme in which the fluid cache times, the maximum volume of the fluid cache, the biochemical reaction completion time and the number of flow processing tasks are optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer-aided design technology for integrated circuits, and in particular to a high-level synthesis method for microfluidic biochips under channel storage and volume management. Background Technology

[0002] Continuous-Flow Microfluidic Biochips (CFMBs) are chips that utilize microfluidic technology to perform biochemical analysis, characterized by high efficiency and high precision. Before physical designing the chip, high-level synthesis (HLS) is required to determine the necessary components and the timing of each operation and fluid transport between operations. Specifically, HLS determines the binding and scheduling scheme based on a directed acyclic graph (DAG) called a timing graph and a component library indicating component information. After determining the binding scheme, HLS further needs to finely schedule the execution time of each operation and fluid transport between operations to generate a scheduling scheme. Furthermore, traditional biochip architectures using dedicated memory have several limitations: 1) limited storage cell capacity; 2) once the memory location is determined, it cannot be moved; 3) the memory occupies a large chip area; and 4) limited storage bandwidth. Therefore, in order to overcome the above-mentioned limitations, the Distributed Channel-Storage Architecture (DCSA) allows the intermediate fluids generated by each component during the execution of a biochemical reaction to be stored in a flow channel near that component. This allows the flow channel to switch arbitrarily between storage and transmission functions according to actual needs.

[0003] In DCSA (Distributed Dynamic Synthesis), flow channels serve a dual function of transport and buffering. The number of buffering operations and their volume are crucial factors influencing the final chip architecture. Therefore, in HLS (High-Speed ​​Synthesis), the number of fluid buffering operations and their volume need to be carefully considered to avoid insufficient flow channels on the chip due to excessive buffering operations, or an excessively large fluid buffer volume preventing the availability of flow channels with corresponding volumes. In recent years, researchers have proposed many high-level synthesis strategies for different objectives. However, there is currently no method that simultaneously considers the volume of the fluid to be buffered and the number of buffering operations under DCSA. Therefore, it is necessary to propose a high-level synthesis method that considers channel storage and volume management to ensure the reliability of fluid buffering and the efficiency of biochemical reactions under DCSA.

[0004] High-level synthesis is a crucial step in continuous microfluidic biochips. The advent of distributed channel storage architectures allows fluids to be buffered directly within the flow channels without needing to be transported to memory. However, current work does not simultaneously consider fluid buffering and volume management during the high-level synthesis stage under distributed channel storage architectures. This can lead to excessive buffering in the generated binding and scheduling schemes, resulting in excessively large fluid volumes and significantly prolonged fluid biochemical reaction times, while also increasing the complexity of physical design. Summary of the Invention

[0005] This invention proposes a high-level integrated method for microfluidic biochips under channel storage and volume management. It belongs to the high-level integrated method for continuous microfluidic biochips that considers distributed channel storage and volume management, and can obtain a high-level integrated scheme that optimizes the number of fluid buffering times, the maximum volume of fluid buffers, the completion time of biochemical reactions, and the number of stream processing tasks.

[0006] The present invention adopts the following technical solution.

[0007] A high-level integrated method for microfluidic biochips under channel storage and volume management, wherein the fluid energy of the microfluidic biochip is directly buffered within the flow channels of the distributed channels without needing to be transported to a memory for storage; the method includes the following steps;

[0008] Step S1: Model the cache and fluid volume of the distributed channel storage using integer linear programming. Model the related problems of fluid caching and volume management in the high-level synthesis task as an ILP model to analyze various situations that require the use of cache, so as to minimize the number of caching times while ensuring the efficiency of biochemical reaction.

[0009] Step S2: Analyze the fluid buffering situation and the temporal relationship of each stream processing task using a greedy optimization acceleration strategy. When solving the ILP model, calculate the upper bound of the number of buffering attempts, the end time of each operation, and the upper bound of the end time of each stream processing task using a list scheduling algorithm. Estimate the execution time of each stream processing task based on the fluid volume, and determine a scheduling scheme that can simultaneously minimize the biochemical reaction completion time, the number of buffering attempts, the maximum buffer volume, and the number of stream processing tasks, and is bound to the task objective.

[0010] In step S1, the method includes the following steps;

[0011] Step A1: Configure components for the ILP model and manage fluid volume between components;

[0012] Step A2: Define the timing relationships between the operations of the ILP model and the stream processing tasks;

[0013] Step A3: Analyze the conditions under which the cache occurs;

[0014] Option A4: Model the execution time of stream processing tasks;

[0015] In step S2, the method includes the following steps;

[0016] Step A5: Solve the optimization problem of the acceleration strategy based on the greedy strategy, and determine a binding scheduling scheme that simultaneously minimizes the biochemical reaction completion time, the number of caches, the maximum cache size, and the number of stream processing tasks;

[0017] Step A6: Use an adaptive optimization acceleration strategy to reduce the redundant problem space, thereby improving the efficiency of solving the problem without reducing the quality of the solution.

[0018] In step A1, each operation on the timing diagram of the ILP model biochip needs to be bound to a component in the model's component library D, and the component type should be the same as the operation type. Therefore:

[0019]

[0020] Where, d k For a component in component library D, type(d) k ) and type(O i ) respectively represent component d k Types and Operations O i The type of variable b is 0-1. i,k Used to represent operation O i Is it bound to component d? k superior;

[0021] The flow channels and components of the biochip, before the execution of biochemical operations, timely expel air by constraining the volume of the input fluid. The method is as follows: for any edge e on the time sequence graph... i,j All are planned parent operations O i Bound component D(O) i Output volume and sub-operation O j Bound component D(O) j The relationship between the input volumes of D(O) allows the fluid to displace D(O) j The air within the chamber is then subjected to appropriate biochemical operations, expressed as a formula.

[0022]

[0023] Among them, V k For component d k Volume; 0-1 operation c j,h Indicates operation O j Is it operation O? hThe parent operation.

[0024] In step A2, the ILP model for each operation O i Each has a specified start and end time, expressed as a formula:

[0025]

[0026] in, Operation O i The start time, duration, and end time;

[0027] Introducing 0-1 variable T i,j,k To indicate operation O i To Operation O j Are there stream processing tasks of type k; where T i,j,1 =1 represents O i To O j There is a fluid transport task; T i,j,2 =1 represents O i To O j An excess fluid removal task is required; T i,j,3 =1 indicates O i To O j Waste liquid removal task needs to be performed; T i,j,4 =1 represents O i After execution, the fluid cannot be directly transported to D(O). j Therefore, it needs to be cached within a certain channel segment; T i,j,5 =1 indicates D(O) j Currently in an idle state, the buffer fluid can be removed from the channel segment and transported to D(O). j )Inside;

[0028] In the biochip of the ILP model, before each operation Oi is executed, it is necessary to ensure that D(O) i The cavity is now filled with the required fluid. After the operation is completed, D(O) i Only fluid within the flow channel can be transported to other components or buffered within the flow channel. The formula for modeling the timing relationship between flow processing tasks and operations is as follows:

[0029]

[0030]

[0031] in, O i To O j The start time of the stream processing task. O i To O jThe end time of the stream processing task; M is a maximum constant; in Formula 4, if T m,i,k =1 indicates the existence of an O function of type k. m To O i For stream processing tasks, therefore operation O i The start time should be within the time frame of stream processing task T. m,i,k Execution begins after completion; similarly, in Formula 5, the stream processing task T... i,j,k The start time needs to be during operation O i Start after execution is complete;

[0032]

[0033]

[0034] As shown in Formula 1, each operation in the sequence diagram is bound to a corresponding component. When a component may be bound to multiple operations, in order to prevent multiple operations bound to the same component from executing in parallel at the same time, the timing relationship between these operations is modeled, expressed by the formula:

[0035]

[0036]

[0037]

[0038] Two 0-1 variables are introduced. To indicate O i And O j The execution order, 0-1 variable s i,j,h =1 indicates O i and O j Bound to the same component; Formula 10 limitation At most one of them can be 1, to ensure that Formula 8 and Formula 9 do not both hold true at the same time;

[0039] While ensuring that operations bound to the same component cannot be executed in parallel, further ensure that stream processing tasks related to these operations cannot be executed in parallel, expressed by the formula as follows:

[0040]

[0041]

[0042] In summary, after the introduction of volume management, stream processing tasks are divided into 5 types, and different types of stream processing tasks also need to have strict timing constraints.

[0043] When the fluid volume in the fluid transport task (k=1) and the fluid removal task (k=5) may exceed the minimum input volume of the component, causing some excess fluid remaining outside the component to flow into the interior, an excess fluid removal task is executed to remove the excess fluid from the chip, expressed by the formula:

[0044]

[0045]

[0046] After a component completes its corresponding operation O i Afterwards, this component also needs to be operated by other methods. j Because it is occupied, waste liquid must be removed from this component before other fluids can be allowed to enter it, as expressed by the formula:

[0047] If O i To O j If there is a fluid buffering task, then there must also be a fluid retrieval task to ensure that the fluid can be retrieved in a timely manner, which can be expressed by the following formula:

[0048] T i,j,4 =T i,j,5 Formula Sixteen;

[0049] The fluid retrieval task and the fluid buffer task can only be executed after the fluid buffer task has finished, as expressed by the formula:

[0050]

[0051] In biochips, if a fluid cannot directly enter the target component via a fluid transport task, the fluid must first be buffered and then delivered to the target component via a fluid retrieval task. However, if the fluid can directly enter the component via a fluid transport task, buffering is unnecessary, hence the formula:

[0052] 1≤T i,j,1 +T i,j,4 +T i,j,5 ≤2 Formula 18;

[0053] In biochips, if the fluid within a component is not promptly transported to other components or buffered within a channel after performing a certain operation, it will inevitably be contaminated by the waste liquid left inside the component if other fluids subsequently need to enter the component for corresponding biochemical operations. Therefore, it is necessary to model the waste liquid removal task, as shown in the formula:

[0054]

[0055] In the above formula, if the parent operation O i∈O and suboperation O j ∈O are bound to the same component, and O i There are no flow processing tasks that transport fluid from within the component to other components or buffer it in the channel segment; at this time, because the component is filled with O i Once the fluid has finished executing, it cannot immediately execute O. j Therefore, when executing O j Waste liquid removal is required beforehand;

[0056] In the biochip, the components have varying volumes. If the input fluid volume exceeds the component's capacity, excess fluid will remain in the channels. If this excess fluid is not removed promptly, other fluids passing through the channels will be contaminated, leading to inaccurate biochemical reaction results. Therefore, for flow processing tasks requiring fluid transport to a component (i.e., fluid transport and fluid removal tasks), after completion, it is necessary to check if the fluid volume exceeds the component's minimum input volume. If it does, an excess fluid removal task must be performed, expressed by the formula:

[0057]

[0058] For operations with multiple inputs, O j To avoid O i To O j And O h To O j The transportation or retrieval tasks are carried out simultaneously, and the formula is:

[0059] (k=1∨k=5)∧(l=1∨l=5):

[0060]

[0061]

[0062]

[0063] in the formula O i To O j The task was later than O h To O j The task O i To O j The task was earlier than O h To O j The task.

[0064] In step A3, the possible scenarios for caching are summarized as follows:

[0065] Case B1: This case is used to avoid deadlocks caused by component occupancy. If three operations are bound to the same component, and two of them are the parent operations of another operation, caching is necessary for the biochemical reaction to execute correctly. In this case, let O... i and O m For O j The parent operation, O i O j O m If they are bound to the same component, the execution order is: O i O m O j At this time O i After execution, a caching task must be performed, and from O h To O m All tasks must wait for the cached tasks to finish before starting; and retrieval tasks must wait from O m To O p It begins after all tasks have finished; therefore, the caching situation in case B1 is modeled as follows:

[0066] c i,j =1∧c m,j =1∧D(O m )=D(O i )=d(O j ):

[0067] T i,j,4 =1 Formula Twenty-Four;

[0068]

[0069]

[0070] Case B2: This case is used to avoid deadlocks caused by component occupancy. In this case, operation O... i O p Bind to the same component d k O m O j Bind to the same component d s Component d s Still by O m Occupied, O m After the component d ends k Still by component O i If caching is not performed at this point, a deadlock will occur, preventing subsequent biochemical reactions from executing correctly. Therefore, to ensure the normal execution of biochemical reactions, caching is necessary in O... m Or O i After execution, the fluid is buffered. This buffering situation is modeled as follows:

[0071]

[0072] T i,j,4 =1, Formula Twenty-Seven;

[0073]

[0074]

[0075] Case B3: This case is used to improve the efficiency of biochemical reactions; assuming that in this case, operation O... i O l Bind to the same component d s Above, operation O p O j Bind to the same component d k Above, O i O p For O j The parent operation, O i After O p It's not over yet, so O j Temporarily unable to execute; in order to speed up the execution efficiency of the biochemical reaction, first... i After the fluid buffer is in the middle, execute O l until O p After completion, the buffer fluid is removed and transported to D(O) j This type of caching is modeled as follows:

[0076]

[0077] T i,j,4 =1 Formula Thirty;

[0078]

[0079]

[0080] In step A4, to address the issue that estimating the execution time of a stream processing task without considering its fluid volume can lead to a significant discrepancy between the biochemical reaction completion time obtained by HLS and the actual time, the execution time of each stream processing task is modeled under volume management, using the following formula:

[0081]

[0082]

[0083]

[0084] Formula 33 specifies the estimated execution time P for each stream processing task. i,j,k If T i,j,kIf the value is 1, then the execution time of the stream processing task is P. i,j,k ; and when T i,j,k =0, which means there is no O. i To O k For k-type stream processing tasks, then directly... Set to 0;

[0085] In formula thirty-four, Vl i,j,k For the fluid volume in a flow processing task of type k, α c β L and λ v Let O be a constant, representing the volume per unit length of the flow channel, the estimated flow channel length, and the fluid velocity transported within the flow channel, respectively; when O... i To O j When there is a k-type stream processing task, the fluid volume Vl of the k-type stream processing task is calculated using formula 35. i,j,k According to Vl i,j,k Computational fluid dynamics from D(O) i The time required for all goods to be transported to the flow channel, i.e. Finally, add the time it takes for the fluid to travel over the estimated flow channel length. This gives the estimated execution time of the stream processing task, taking fluid volume management into account.

[0086] In Formula 35, the fluid volume for each stream processing task is related to the volume of the source component and the target component, specifically:

[0087] First, for fluid transport tasks and fluid buffering tasks, all the fluid in the source component can be transported directly to the target component or channel segment. The fluid volume of the fluid retrieval task is the same as the fluid volume of the fluid buffering task.

[0088] Secondly, as can be seen from Formula 29, the excess fluid removal task only occurs after the fluid transport task and the fluid extraction task, and when their fluid volume is greater than the input volume of the target component; at this time, the excess fluid volume to be removed is the difference between the fluid volume of the fluid transport task and the fluid buffer task and the minimum input volume of the target component.

[0089] Finally, after each operation is completed, it is necessary to determine whether a waste liquid removal task is required. If a waste liquid removal task exists, some fluid inside the component needs to be removed so that other fluids can normally enter the component to execute sub-operations. At this time, the volume of fluid to be removed is the difference between the current component's volume and the minimum input volume of the sub-operation occupying the same component. This ensures that the fluids required for the sub-operations can reasonably enter the component.

[0090] In step A5, the following four variables T are used. ECache max , Task max These represent the completion time of the biochemical reaction, the number of fluid buffer cycles, the maximum fluid buffer volume, and the number of stream processing tasks, respectively, as shown in the following formulas:

[0091]

[0092]

[0093]

[0094]

[0095] Finally, by solving the optimization problem expressed by the following formula, a binding scheduling scheme that simultaneously minimizes the biochemical reaction completion time, the number of cache iterations, the maximum cache size, and the number of stream processing tasks is determined.

[0096]

[0097] In step A6, solving the ILP model is an NP-hard problem. The efficiency of solving the ILP model is improved by limiting the number of caches, specifically by setting an upper bound Θ for the estimated number of cache iterations. c Specifically:

[0098] Cache max ≤Θ C Formula 41;

[0099] Combining formula thirty-nine, we get:

[0100]

[0101] In biochips, each fluid caching task results in one caching requirement; a single fluid caching task is equivalent to one caching operation. From the above equation, the range of caching counts will be limited to a maximum upper bound Θ. c Inside;

[0102] The caching task in the ILP modeling part needs to be determined by the execution time of different operations and stream processing tasks. By limiting the execution time of stream processing tasks and operations, the execution time of solving the final biochemical reaction can be accelerated, while simultaneously speeding up the determination of the fluid caching task's execution time. This is achieved by setting a constant κ. t Let represent the upper bound of the end time for each stream processing task and operation, thus we have:

[0103] T E ≤κ Formula 43;

[0104] Combining formulas seven and thirty-six, we get

[0105]

[0106] In the above formula, the end time of each stream processing task and operation is limited to a maximum upper bound κ. t Inside;

[0107] In step A6, Θ c and κ t It varies depending on the input, Θ c and κ t The value of Θ is automatically adjusted according to different inputs. Before solving the ILP model, Θ is calculated in advance under the current input through an optimization acceleration strategy. c With κ t Then the model is solved, specifically:

[0108] Step C1: Based on the idea of ​​the greedy strategy, first calculate the execution time of all nodes between each operation and the last operation under the current path according to the time sequence diagram of the model, and use this as the priority value to insert it into some queues;

[0109] Step C2: Select a suitable component according to Formula 1 and bind it to the current operation; then take out the operations in the queue one by one, and determine whether the component bound to the current operation needs to perform the waste liquid removal task according to Formula 19.

[0110] Step C3: Transport the required fluid into the component and determine whether to perform the excess fluid removal task according to Formula 20; if it is still not possible to accurately determine the required number of caches according to the three caching situations described in the ILP modeling section, then if the component bound to the current operation is still occupied by other operations, this method will first perform the caching task for other operations.

[0111] This invention models the cache and fluid volume under distributed channel storage using integer linear programming, which can reasonably analyze the fluid cache situation and the timing relationship of each stream processing task, and reasonably predict the execution time of each stream processing task based on the fluid volume.

[0112] This invention also proposes an optimization acceleration strategy based on a greedy approach, which greatly improves the solution efficiency of the algorithm without reducing the solution quality. Experimental results under multiple benchmark tests confirm that the method proposed in this invention can effectively reduce the completion time of biochemical reactions, the number of cache iterations, the maximum cache size, and the number of stream processing tasks. Attached Figure Description

[0113] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments:

[0114] Appendix Figure 1 This is a timing and scheduling diagram corresponding to scenario B1 where the cache needs to occur;

[0115] Appendix Figure 2 This is a timing and scheduling diagram corresponding to scenario B2 where the cache needs to occur;

[0116] Appendix Figure 3 This is a timing and scheduling diagram corresponding to the scenario B3 that the cache needs to occur. Detailed Implementation

[0117] As shown in the figure, a high-level integrated method for microfluidic biochips under channel storage and volume management is presented. The fluid energy of the microfluidic biochip can be directly buffered in the flow channels of the distributed channels without being transported to a memory for storage. The method includes the following steps.

[0118] Step S1: Model the cache and fluid volume of the distributed channel storage using integer linear programming. Model the related problems of fluid caching and volume management in the high-level synthesis task as an ILP model to analyze various situations that require the use of cache, so as to minimize the number of caching times while ensuring the efficiency of biochemical reaction.

[0119] Step S2: Analyze the fluid buffering situation and the temporal relationship of each stream processing task using a greedy optimization acceleration strategy. When solving the ILP model, calculate the upper bound of the number of buffering attempts, the end time of each operation, and the upper bound of the end time of each stream processing task using a list scheduling algorithm. Estimate the execution time of each stream processing task based on the fluid volume, and determine a scheduling scheme that can simultaneously minimize the biochemical reaction completion time, the number of buffering attempts, the maximum buffer volume, and the number of stream processing tasks, and is bound to the task objective.

[0120] In step S1, the method includes the following steps;

[0121] Step A1: Configure components for the ILP model and manage fluid volume between components;

[0122] Step A2: Define the timing relationships between the operations of the ILP model and the stream processing tasks;

[0123] Step A3: Analyze the conditions under which the cache occurs;

[0124] Option A4: Model the execution time of stream processing tasks;

[0125] In step S2, the method includes the following steps;

[0126] Step A5: Solve the optimization problem of the acceleration strategy based on the greedy strategy, and determine a binding scheduling scheme that simultaneously minimizes the biochemical reaction completion time, the number of caches, the maximum cache size, and the number of stream processing tasks;

[0127] Step A6: Use an adaptive optimization acceleration strategy to reduce the redundant problem space, thereby improving the efficiency of solving the problem without reducing the quality of the solution.

[0128] In step A1, each operation on the timing diagram of the ILP model biochip needs to be bound to a component in the model's component library D, and the component type should be the same as the operation type. Therefore:

[0129]

[0130] Where, d k For a component in component library D, type(d) k ) and type(O i ) respectively represent component d k Types and Operations O i The type of variable b is 0-1. i,k Used to represent operation O i Is it bound to component d? k superior;

[0131] The flow channels and components of the biochip, before the execution of biochemical operations, timely expel air by constraining the volume of the input fluid. The method is as follows: for any edge e on the time sequence graph... i,j All are planned parent operations O i Bound component D(O) i Output volume and sub-operation O j Bound component D(O) j The relationship between the input volumes of D(O) allows the fluid to displace D(O) j The air within the chamber is then subjected to appropriate biochemical operations, expressed as a formula.

[0132]

[0133] Among them, V k For component d k Volume; 0-1 operation c j,h Indicates operation O j Is it operation O? h The parent operation.

[0134] In step A2, the ILP model for each operation O i Each has a specified start and end time, expressed as a formula:

[0135]

[0136] in, Operation O i The start time, duration, and end time;

[0137] Introducing 0-1 variable T i,j,k To indicate operation O i To Operation O j Are there stream processing tasks of type k; where T i,j,1 =1 represents O i To O j There is a fluid transport task; T i,j,2 =1 represents O i To O j An excess fluid removal task is required; T i,j,3 =1 indicates O i To O j Waste liquid removal task needs to be performed; T i,j,4 =1 represents O i After execution, the fluid cannot be directly transported to D(O). j Therefore, it needs to be cached within a certain channel segment; T i,j,5 =1 indicates that D(Oj) is currently idle, and the buffer fluid can be taken from the channel segment and transported to D(Oj). j )Inside;

[0138] In the biochip of the ILP model, before each operation Oi is executed, it is necessary to ensure that D(O) i The cavity is now filled with the required fluid. After the operation is completed, D(O) i Only fluid within the flow channel can be transported to other components or buffered within the flow channel. The formula for modeling the timing relationship between flow processing tasks and operations is as follows:

[0139]

[0140]

[0141] in, O i To O j The start time of the stream processing task. O i To O j The end time of the stream processing task; M is a maximum constant; in Formula 4, if T m,i,k =1 indicates the existence of an O function of type k. m To O i For stream processing tasks, therefore operation O i The start time should be within the time frame of stream processing task T. m,i,k Execution begins after completion; similarly, in Formula 5, the stream processing task T... i,j,k The start time needs to be during operation O i Start after execution is complete;

[0142]

[0143]

[0144] As shown in Formula 1, each operation in the sequence diagram is bound to a corresponding component. When a component may be bound to multiple operations, in order to prevent multiple operations bound to the same component from executing in parallel at the same time, the timing relationship between these operations is modeled, expressed by the formula:

[0145]

[0146]

[0147]

[0148] Two 0-1 variables are introduced. To indicate O i And O j The execution order, 0-1 variable s i,j,h =1 indicates O i and O j Bound to the same component; Formula 10 limitation At most one of them can be 1, to ensure that Formula 8 and Formula 9 do not both hold true at the same time;

[0149] While ensuring that operations bound to the same component cannot be executed in parallel, further ensure that stream processing tasks related to these operations cannot be executed in parallel, expressed by the formula as follows:

[0150]

[0151]

[0152] In summary, after the introduction of volume management, stream processing tasks are divided into 5 types, and different types of stream processing tasks also need to have strict timing constraints.

[0153] When the fluid volume in the fluid transport task (k=1) and the fluid removal task (k=5) may exceed the minimum input volume of the component, causing some excess fluid remaining outside the component to flow into the interior, an excess fluid removal task is executed to remove the excess fluid from the chip, expressed by the formula:

[0154]

[0155]

[0156] After a component completes its corresponding operation O i Afterwards, this component also needs to be operated by other methods. jBecause it is occupied, waste liquid must be removed from this component before other fluids can be allowed to enter it, as expressed by the formula:

[0157]

[0158] If O i To O j If there is a fluid buffering task, then there must also be a fluid retrieval task to ensure that the fluid can be retrieved in a timely manner, which can be expressed by the following formula:

[0159] T i,j,4 =T i,j,5 Formula Sixteen;

[0160] The fluid retrieval task and the fluid buffer task can only be executed after the fluid buffer task has finished, as expressed by the formula:

[0161]

[0162] In biochips, if a fluid cannot directly enter the target component via a fluid transport task, the fluid must first be buffered and then delivered to the target component via a fluid retrieval task. However, if the fluid can directly enter the component via a fluid transport task, buffering is unnecessary, hence the formula:

[0163] 1≤T i,j,1 +T i,j,4 +T i,j,5 ≤2 Formula 18;

[0164] In biochips, if the fluid within a component is not promptly transported to other components or buffered within a channel after performing a certain operation, it will inevitably be contaminated by the waste liquid left inside the component if other fluids subsequently need to enter the component for corresponding biochemical operations. Therefore, it is necessary to model the waste liquid removal task, as shown in the formula:

[0165]

[0166] In the above formula, if the parent operation O i ∈O and suboperation O j ∈O are bound to the same component, and O i There are no flow processing tasks that transport fluid from within the component to other components or buffer it in the channel segment; at this time, because the component is filled with O i Once the fluid has finished executing, it cannot immediately execute O. j Therefore, when executing O j Waste liquid removal is required beforehand;

[0167] In the biochip, the components have varying volumes. If the input fluid volume exceeds the component's capacity, excess fluid will remain in the channels. If this excess fluid is not removed promptly, other fluids passing through the channels will be contaminated, leading to inaccurate biochemical reaction results. Therefore, for flow processing tasks requiring fluid transport to a component (i.e., fluid transport and fluid removal tasks), after completion, it is necessary to check if the fluid volume exceeds the component's minimum input volume. If it does, an excess fluid removal task must be performed, expressed by the formula:

[0168]

[0169] For operations with multiple inputs, O j To avoid O i To O j And O h To O j The transportation or retrieval tasks are carried out simultaneously, and the formula is:

[0170] (k=1∨k=5)∧(l=1∨l=5):

[0171]

[0172]

[0173]

[0174] in the formula O i To O j The task was later than O h To O j The task O i To O j The task was earlier than O h To O j The task.

[0175] In step A3, the possible scenarios for caching are summarized as follows:

[0176] Case B1: This case is used to avoid deadlocks caused by component occupancy. If three operations are bound to the same component, and two of them are the parent operations of another operation, caching is necessary for the biochemical reaction to execute correctly. In this case, let O... i and O m For O j The parent operation, O i O j O m If they are bound to the same component, the execution order is: O i Om O j At this time O i After execution, a caching task must be performed, and from O h To O m All tasks must wait for the cached tasks to finish before starting; and retrieval tasks must wait from O m To O p It begins after all tasks have finished; therefore, the caching situation in case B1 is modeled as follows:

[0177] c i,j =1∧c m,j =1∧D(O m )=D(O i )=d(O j ):

[0178] T i,j,4 =1 Formula Twenty-Four;

[0179]

[0180]

[0181] Case B2: This case is used to avoid deadlocks caused by component occupancy. In this case, operation O... i O p Bind to the same component d k O m O j Bind to the same component d s Component d s Still by O m Occupied, O m After the component d ends k Still by component O i If caching is not performed at this point, a deadlock will occur, preventing subsequent biochemical reactions from executing correctly. Therefore, to ensure the normal execution of biochemical reactions, caching is necessary in O... m Or O i After execution, the fluid is buffered. This buffering situation is modeled as follows:

[0182]

[0183] T i,j,4 =1, Formula Twenty-Seven;

[0184]

[0185]

[0186] Case B3: This case is used to improve the efficiency of biochemical reactions; assuming that in this case, operation O...i O l Bind to the same component d s Above, operation O p O j Bind to the same component d k Above, O i O p For O j The parent operation, O i After O p It's not over yet, so O j Temporarily unable to execute; in order to speed up the execution efficiency of the biochemical reaction, first... i After the fluid buffer is in the middle, execute O l until O p After completion, the buffer fluid is removed and transported to D(O) j This type of caching is modeled as follows:

[0187]

[0188] T i,j,4 =1 Formula Thirty;

[0189]

[0190]

[0191] In step A4, to address the issue that estimating the execution time of a stream processing task without considering its fluid volume can lead to a significant discrepancy between the biochemical reaction completion time obtained by HLS and the actual time, the execution time of each stream processing task is modeled under volume management, using the following formula:

[0192]

[0193]

[0194]

[0195] Formula 33 specifies the estimated execution time P for each stream processing task. i,j,k If T i,j,k If the value is 1, then the execution time of the stream processing task is P. i,j,k ; and when T i,j,k =0, which means there is no O. i To O k For k-type stream processing tasks, then directly... Set to 0;

[0196] In formula thirty-four, Vl i,j,k For the fluid volume in a flow processing task of type k, α c β Land λ v Let O be a constant, representing the volume per unit length of the flow channel, the estimated flow channel length, and the fluid velocity transported within the flow channel, respectively; when O... i To O j When there is a k-type stream processing task, the fluid volume Vl of the k-type stream processing task is calculated using formula 35. i,j,k According to Vl i,j,k Computational fluid dynamics from D(O) i The time required for all goods to be transported to the flow channel, i.e. Finally, add the time it takes for the fluid to travel over the estimated flow channel length. This gives the estimated execution time of the stream processing task, taking fluid volume management into account.

[0197] In Formula 35, the fluid volume for each stream processing task is related to the volume of the source component and the target component, specifically:

[0198] First, for fluid transport tasks and fluid buffering tasks, all the fluid in the source component can be transported directly to the target component or channel segment. The fluid volume of the fluid retrieval task is the same as the fluid volume of the fluid buffering task.

[0199] Secondly, as can be seen from Formula 29, the excess fluid removal task only occurs after the fluid transport task and the fluid extraction task, and when their fluid volume is greater than the input volume of the target component; at this time, the excess fluid volume to be removed is the difference between the fluid volume of the fluid transport task and the fluid buffer task and the minimum input volume of the target component.

[0200] Finally, after each operation is completed, it is necessary to determine whether a waste liquid removal task is required. If a waste liquid removal task exists, some fluid inside the component needs to be removed so that other fluids can normally enter the component to execute sub-operations. At this time, the volume of fluid to be removed is the difference between the current component's volume and the minimum input volume of the sub-operation occupying the same component. This ensures that the fluids required for the sub-operations can reasonably enter the component.

[0201] In step A5, the following four variables T are used. E Cache max , Task max These represent the completion time of the biochemical reaction, the number of fluid buffer cycles, the maximum fluid buffer volume, and the number of stream processing tasks, respectively, as shown in the following formulas:

[0202]

[0203]

[0204]

[0205]

[0206] Finally, by solving the optimization problem expressed by the following formula, a binding scheduling scheme that simultaneously minimizes the biochemical reaction completion time, the number of cache iterations, the maximum cache size, and the number of stream processing tasks is determined.

[0207]

[0208] In step A6, solving the ILP model is an NP-hard problem. The efficiency of solving the ILP model is improved by limiting the number of caches, specifically by setting an upper bound Θ for the estimated number of cache iterations. c Specifically:

[0209] Cache max ≤Θ C Formula 41;

[0210] Combining formula thirty-nine, we get:

[0211]

[0212] In biochips, each fluid caching task results in one caching requirement; a single fluid caching task is equivalent to one caching operation. From the above equation, the range of caching counts will be limited to a maximum upper bound Θ. c Inside;

[0213] The caching task in the ILP modeling part needs to be determined by the execution time of different operations and stream processing tasks. By limiting the execution time of stream processing tasks and operations, the execution time of solving the final biochemical reaction can be accelerated, while simultaneously speeding up the determination of the fluid caching task's execution time. This is achieved by setting a constant κ. t Let represent the upper bound of the end time for each stream processing task and operation, thus we have:

[0214] T E ≤κ Formula 43;

[0215] Combining formulas seven and thirty-six, we get

[0216]

[0217] In the above formula, the end time of each stream processing task and operation is limited to a maximum upper bound κ. t Inside;

[0218] In step A6, Θ c and κ t It varies depending on the input, Θ c and κ tThe value of Θ is automatically adjusted according to different inputs. Before solving the ILP model, Θ is calculated in advance under the current input through an optimization acceleration strategy. c With κ t Then the model is solved, specifically:

[0219] Step C1: Based on the idea of ​​the greedy strategy, first calculate the execution time of all nodes between each operation and the last operation under the current path according to the time sequence diagram of the model, and use this as the priority value to insert it into some queues;

[0220] Step C2: Select a suitable component according to Formula 1 and bind it to the current operation; then take out the operations in the queue one by one, and determine whether the component bound to the current operation needs to perform the waste liquid removal task according to Formula 19.

[0221] Step C3: Transport the required fluid into the component and determine whether to perform the excess fluid removal task according to Formula 20; if it is still not possible to accurately determine the required number of caches according to the three caching situations described in the ILP modeling section, then if the component bound to the current operation is still occupied by other operations, this method will first perform the caching task for other operations.

Claims

1. A high-level integrated method for microfluidic biochips under channel storage and volume management, characterized by: The fluid in the microfluidic biochip can be directly buffered within the flow channels of the distributed channels without needing to be transported to a memory for storage; the method includes the following steps; Step S1: Model the cache and fluid volume of the distributed channel storage using integer linear programming. Model the related problems of fluid caching and volume management in the high-level synthesis task as an ILP model to analyze various situations that require the use of cache, so as to minimize the number of caching times while ensuring the efficiency of biochemical reaction. Step S2: Analyze the fluid buffering situation and the temporal relationship of each stream processing task using a greedy optimization acceleration strategy. When solving the ILP model, calculate the upper bound of the number of buffering attempts, the end time of each operation, and the upper bound of the end time of each stream processing task using a list scheduling algorithm. Estimate the execution time of each stream processing task based on the fluid volume and determine a scheduling scheme that can simultaneously minimize the biochemical reaction completion time, the number of buffering attempts, the maximum buffer volume, and the number of stream processing tasks, and is bound to the task objective. In step S1, the method includes the following steps; Step A1: Configure components for the ILP model and manage fluid volume between components; Step A2: Define the timing relationships between the operations of the ILP model and the stream processing tasks; Step A3: Analyze the conditions under which the cache occurs; Option A4: Model the execution time of stream processing tasks; In step S2, the method includes the following steps; Step A5: Solve the optimization problem of the acceleration strategy based on the greedy strategy, and determine a binding scheduling scheme that simultaneously minimizes the biochemical reaction completion time, the number of caches, the maximum cache size, and the number of stream processing tasks; Step A6: Use an adaptive optimization acceleration strategy to reduce the redundant problem space, thereby improving the problem-solving efficiency without reducing the quality of the solution; In step A3, the possible scenarios for caching are summarized as follows: Case B1: This case is used to avoid deadlocks caused by component occupancy. If three operations are bound to the same component, and two of the operations are the parent operations of the third, caching is necessary for the biochemical reaction to execute correctly. In this case, ... and for The parent operation, If they are bound to the same component, the execution order is as follows: ,at this time After execution, a caching task must be performed, and from... arrive All tasks must wait for the cached tasks to finish before starting; and retrieval tasks must wait from... arrive It begins after all tasks have finished; therefore, the caching situation in case B1 is modeled as follows: Formula 24; Formula 25; Formula 26; Case B2: This case is used to avoid deadlocks caused by component occupancy. In this case, the operation... Bind to the same component , , Bind to the same component Components Still being Occupy After the component ends Still being used as a component If caching is not performed at this point, a deadlock will occur, preventing subsequent biochemical reactions from executing properly. Therefore, to ensure the normal execution of biochemical reactions, caching is necessary. or After execution, the fluid is buffered. This buffering situation is modeled as follows: Formula 27; Formula 28; Formula 29; Case B3: This case is used to improve the efficiency of biochemical reactions; assuming that in this case, the operation... , Bind to the same component Above, operation , Bind to the same component superior, , for The parent operation, After the end It's not over yet, so Temporarily unable to execute; in order to speed up the execution efficiency of the biochemical reaction, first... Execution after fluid buffering within ,until After completion, the buffer fluid was removed and transported to This type of caching is modeled as follows: Formula 30; Formula 31; Formula 32; In step A4, to address the issue that estimating the execution time of a stream processing task without considering its fluid volume can lead to a significant discrepancy between the biochemical reaction completion time obtained by HLS and the actual time, the execution time of each stream processing task is modeled under volume management, using the following formula: Formula 33; Formula 34; ; Formula thirty-five; Formula 33 specifies the estimated execution time for each stream processing task. ,like The execution time of this stream processing task is then... ; and when This means there is no arrive of For stream processing tasks, then directly... Set to 0; In formula thirty-four, for Fluid volume on this type of flow processing task as well as Let be constants, representing the volume per unit length of the flow channel, the estimated flow channel length, and the fluid velocity transported within the flow channel, respectively; when arrive have For this type of stream processing task, the result is calculated using formula thirty-five. Fluid volume on type of stream processing task ;according to Computational fluid dynamics from The time required for all transportation to the flow channel, i.e. Finally, add the time it takes for the fluid to travel over the estimated flow channel length. This gives the estimated execution time of the stream processing task, taking fluid volume management into account. In Formula 35, the fluid volume for each stream processing task is related to the volume of the source component and the target component, specifically: First, for fluid transport tasks and fluid buffering tasks, all the fluid in the source component can be transported directly to the target component or channel segment. The fluid volume of the fluid retrieval task is the same as the fluid volume of the fluid buffering task. Secondly, as can be seen from Formula 29, the excess fluid removal task only occurs after the fluid transport task and the fluid extraction task, and when their fluid volume is greater than the input volume of the target component; at this time, the excess fluid volume to be removed is the difference between the fluid volume of the fluid transport task and the fluid buffer task and the minimum input volume of the target component. Finally, after each operation is completed, it is necessary to determine whether a waste liquid removal task is required. If a waste liquid removal task is required, some fluid in the component needs to be removed so that other fluids can enter the component normally to perform sub-operations. At this point, the fluid volume to be removed is the difference between the current component's volume and the minimum input volume of the sub-operation occupying the same component, thus ensuring that the fluid required by the sub-operation enters the component reasonably.

2. The high-level integration method for microfluidic biochips under channel storage and volume management according to claim 1, characterized in that: In step A1, each operation on the timing diagram of the ILP model biochip needs to be correlated with the model's component library. A component is bound to another component, and the component type should be the same as the operation type. Therefore: Formula 1; in, For component library One of the components, and Representing components respectively Types and Operations Type, 0-1 variable Used to indicate operation Is it bound to the component? superior; The flow channels and components of the biochip timely expel air by constraining the volume of the input fluid before the biochemical operation is performed. The method is as follows: for any edge on the timing graph... All planned parent operations Bound Components Output volume and suboperations Bound Components The relationship between the input volume and the fluid exclude The air inside is properly subjected to corresponding biochemical operations, expressed as a formula. Formula 2; in, For components Volume; 0-1 operation Indicates operation Is it an operation? The parent operation.

3. The high-level integration method for microfluidic biochips under channel storage and volume management according to claim 2, characterized in that: In step A2, the ILP model for each operation Each has a specified start and end time, expressed as a formula: Formula 3; in, , , Operations The start time, duration, and end time; Introducing 0-1 variables To indicate the operation To operation Is there a type? Stream processing tasks; among them, express arrive There is a fluid transport task; express arrive An excess fluid removal task is required; show arrive Waste liquid removal task needs to be performed; express After execution, the fluid cannot be directly transported to... Therefore, it needs to be cached within a certain channel segment; illustrate Currently in an idle state, the buffer fluid will be removed from the channel segment and transported to... Inside; In biochips based on ILP models, each operation Before execution, it is necessary to ensure The chamber is now filled with the required fluid. After the operation is completed... Only fluid within the flow channel can be transported to other components or buffered within the flow channel. The formula for modeling the timing relationships between flow processing tasks and operations is as follows: Formula 4; Formula 5; in, arrive The start time of the stream processing task. express arrive The end time of the stream processing task; It is a maximal constant; in Formula 4, if This indicates the existence of a type of of arrive Stream processing tasks, therefore operations The start time should be within the stream processing task. Execution begins after completion; similarly, in Formula 5, the stream processing task... The start time needs to be within the operation Start after execution is complete; Formula Six; Formula 7; As shown in Formula 1, each operation in the sequence diagram is bound to a corresponding component. When a component may be bound to multiple operations, in order to prevent multiple operations bound to the same component from executing in parallel at the same time, the timing relationship between these operations is modeled, expressed by the formula: Formula 8; Formula Nine; Formula 10; Two 0-1 variables are introduced. , To indicate as well as The execution order, 0-1 variables Explanation and Bound to the same component; Formula 10 limitation , At most one of them can be 1, to ensure that Formula 8 and Formula 9 do not both hold true at the same time; While ensuring that operations bound to the same component cannot be executed in parallel, further ensure that stream processing tasks related to these operations cannot be executed in parallel, expressed by the formula as follows: Formula 11; Official Twelve; In summary, after the introduction of volume management, stream processing tasks are divided into 5 types, and different types of stream processing tasks also need to have strict timing constraints. When the fluid volume in fluid transport and fluid removal tasks may exceed the component's minimum input volume, causing some excess fluid remaining outside the component to flow into the interior, an excess fluid removal task is executed to remove the excess fluid from the chip. This can be expressed by the following formula: Formula Thirteen; Formula Fourteen; After a component completes its corresponding operation Afterwards, this component still needs to be operated on. Because it is occupied, waste liquid must be removed from this component before other fluids can be allowed to enter it, as expressed by the formula: Formula 15; like arrive If there is a fluid buffering task, then there must also be a fluid retrieval task to ensure that the fluid can be retrieved in a timely manner, which can be expressed by the following formula: Formula Sixteen; The fluid retrieval task and the fluid buffer task can only be executed after the fluid buffer task has finished, as expressed by the formula: Formula 17; In biochips, if fluid cannot directly enter the target component via a fluid transport task, the fluid must first be buffered and then delivered to the target component via a fluid retrieval task. However, if the fluid enters the component directly via a fluid transport task, buffering is unnecessary. Hence, the formula states: Formula 18; In biochips, if the fluid within a component is not promptly transported to other components or buffered within a channel after performing a certain operation, it will inevitably be contaminated by the waste liquid left inside the component if other fluids subsequently need to enter the component for corresponding biochemical operations. Therefore, it is necessary to model the waste liquid removal task, as shown in the formula: Formula 19; In the above formula, if the parent operation AND operation Bound to the same component, and There are no flow processing tasks that transport fluid from within the component to other components or buffer it in the channel segment; at this time, because the component is full... Once the fluid has been processed, it cannot be processed immediately. Therefore, in execution Waste liquid removal is required beforehand; In the biochip, the components have varying volumes. If the input fluid volume exceeds the component's capacity, excess fluid will remain in the channels. If this excess fluid is not removed promptly, other fluids passing through the channels will be contaminated, leading to inaccurate biochemical reaction results. Therefore, for flow processing tasks requiring fluid transport to a component (i.e., fluid transport and fluid removal tasks), after completion, it is necessary to check if the fluid volume exceeds the component's minimum input volume. If it does, an excess fluid removal task must be performed, expressed by the formula: Formula 20; For operations with multiple inputs To avoid arrive as well as arrive The transportation or retrieval tasks are carried out simultaneously, and the formula is: Formula 21; Formula 22; Formula 23; in the formula express arrive The task was later than arrive The task express arrive The mission was earlier than arrive The task.

4. The high-level integration method for microfluidic biochips under channel storage and volume management according to claim 1, characterized in that: In step A5, the following four variables are used. These represent the completion time of the biochemical reaction, the number of fluid buffer cycles, the maximum fluid buffer volume, and the number of stream processing tasks, respectively, as shown in the following formulas: Formula Thirty-Six; Official 37; Formula 38; Formula 39; Finally, by solving the optimization problem expressed by the following formula, a binding scheduling scheme that simultaneously minimizes the biochemical reaction completion time, the number of cache iterations, the maximum cache size, and the number of stream processing tasks is determined. Formula 40.

5. The high-level integration method for microfluidic biochips under channel storage and volume management according to claim 4, characterized in that: In step A6, solving the ILP model is an NP-hard problem. The efficiency of solving the ILP model is improved by limiting the number of cache iterations, which is achieved by setting an upper bound on the estimated number of cache iterations. Specifically: Official 41; Combining formula thirty-nine, we get: Formula 42; In biochips, each fluid caching task results in one caching requirement; a single fluid caching task is equivalent to one caching operation. From the above formula, the range of caching counts will be limited to a maximum upper bound. Inside; The caching task in the ILP modeling part needs to be determined by the execution time of different operations and stream processing tasks. By limiting the execution time of stream processing tasks and operations, the execution time of solving the final biochemical reaction can be accelerated, while simultaneously speeding up the determination of the fluid caching task's execution time. This is achieved by setting constants. Let represent the upper bound of the end time for each stream processing task and operation, thus we have: Official 43; Combining formulas seven and thirty-six, we get Formula 44; In the above formula, the end time of each stream processing task and operation is limited to a maximum upper bound. Inside.

6. The high-level integration method for microfluidic biochips under channel storage and volume management according to claim 5, characterized in that: In step A6, and It varies depending on the input. as well as The value of is automatically adjusted according to different inputs. Before solving the ILP model, the value of is calculated in advance under the current input through an optimized acceleration strategy. and Then the model is solved, specifically: Step C1: Based on the idea of ​​the greedy strategy, first calculate the execution time of all nodes between each operation and the last operation under the current path according to the time sequence diagram of the model, and use this as the priority value to insert it into some queues; Step C2: Select a suitable component according to Formula 1 and bind it to the current operation; then take out the operations in the queue one by one, and determine whether the component bound to the current operation needs to perform the waste liquid removal task according to Formula 19. Step C3: Transport the required fluid into the component and determine whether to perform the excess fluid removal task according to Formula 20; If the required number of cache cycles cannot be accurately determined based on the three caching scenarios described in the ILP modeling section, then if the component bound to the current operation is still occupied by other operations, this method will first perform caching tasks on the other operations.

Citation Information

Patent Citations

  • Continuous microfluidic biochip design method considering fluid operation and channel storage

    CN113836842A

  • Physical design method of microfluidic biochip considering volume management and channel storage

    CN116681022A