Manifold 2.0: A hardware description language for microfluidic devices
Nicholas Klassen, Michael Lyons, Michael Prysiazny, Paul Roth, Peter Socha, Murphy Berzish, Atulan Zaman, Derek Rayside · 2017
Manifold is a generic high-level system design language designed to resemble modern functional programming languages. It is intended to be usable in a variety of design domains that can be conceptualized with components, connectors, ports, and constraints. Domain-specific backends exist for microfluidic devices and digital logic circuits. In Manifold 2.0 we have enhanced both the frontend language and the microfluidic backend. The syntax of the frontend language has been expanded with several useful features, including a type system, a module system, and tuples as first-class values. The microfluidic backend has been extended to generate Modelica code, which can be used to run time-domain simulations in third-party tools such as MapleSim.