Automated Generation of Microfluidic Netlists using Large Language Models
Organizations: Department of Electrical and Computer Engineering, University of Utah · Primis AI, Inc.
Abstract
Microfluidic devices have emerged as powerful tools in various laboratory applications, but the complexity of their design limits accessibility for many practitioners. While progress has been made in microfluidic design automation (MFDA), a practical and intuitive solution is still needed to connect microfluidic practitioners with MFDA techniques. This work introduces the first practical application of large language models (LLMs) in this context, providing a preliminary demonstration. Building on prior research in hardware description language (HDL) code generation with LLMs, we propose an initial methodology to convert natural language microfluidic device specifications into system-level structural Verilog netlists. We demonstrate the feasibility of our approach by generating structural netlists for practical benchmarks representative of typical microfluidic designs with correct functional flow and an average syntactical accuracy of 88%.
Figures & tables
| Model | Parameters | Layers | Context Length |
|---|---|---|---|
| (Number of Tokens) | |||
| CodeLlama | 7 billion | 32 | 16,384 |
| Codestral | 22 billion | 56 | 32,768 |
| Llama3 | 70 billion | 32 | 8,192 |
| Qwen2 | 72 billion | 80 | 32,768 |
| DeepSeek-R1 | 32 billion | 60 | 131,072 |
| Benchmarks used for generating Prompting Methodology | Tests for: | |
|---|---|---|
| 1 | Take 2 solutions as input. Mix them together. | Basic interpretation of prompts |
| 2 | Take 5 solutions as input to the experiment module. Mix the 5 solutions together parallel. | Reasoning in parallel |
| 3 | Take 5 solutions as input to the experiment module. Mix the 5 solutions together sequentially. | Reasoning in sequence |
| 4 | Take 3 solutions as input. Dilute the first solution, then mix with the other two solutions. | Reasoning with dilution |
| 5 | Put an algae solution into a heater. Mix the heated algae solution with itself to create a | Abstract reasoning |
| stirring effect. Pass through a membrane filter |
| Test Benchmarks | Tests for: | |
|---|---|---|
| 6 | Take 2 solutions as input. Mix them together to create the output solution. | Basic interpretation of prompts |
| 7 | Take 4 solutions as input. Mix the 4 solutions together sequentially to create the output. | Reasoning in sequence |
| 8 | Take 6 solutions as input. Mix the 6 solutions together in parallel to create the output. | Reasoning in parallel |
| 9 | Take two solutions as input. Dilute the first solution, then mix with the other solution. | Reasoning with dilution |
| 10 | Heat up a solution of water. Filter the water to purify it, then mix with a diluted solution of oil. | Abstract Reasoning |
| Specification | Verilog Syntax | Microfluidic Function | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Pass@1[%] | CodeLlama | Codestral | Llama3 | Qwen2 | DeepDeek-R1 | CodeLlama | Codestral | Llama3 | Qwen2 | DeepDeek-R1 |
| Benchmark 6 | 80% | 100% | 100% | 100% | 100% | 80% | 100% | 100% | 100% | 100% |
| Benchmark 7 | 80% | 80% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% |
| Benchmark 8 | 0% | 20% | 60% | 80% | 100% | 0% | 40% | 80% | 100% | 100% |
| Benchmark 9 | 80% | 100% | 60% | 100% | 80% | 100% | 100% | 100% | 100% | 100% |
| Benchmark 10 | 0% | 100% | 60% | 60% | 60% | 0% | 100% | 80% | 100% | 100% |
Program Synthesis
Program synthesis automatically constructs executable programs from examples, specifications, demonstrations, or natural-language descriptions.
See all 179 papers