Skip to content
This repository has been archived by the owner on Jul 12, 2022. It is now read-only.

Types LFR Descriptions

Radhakrishna Sanka edited this page Apr 7, 2020 · 2 revisions

Describing Microfluidics using LFR

In order to describe microfluidic device architectures, LFR provides the designer with capability that allows the compiler to infer designs from different types of descriptions. Essentially, this capability allows the user to describe a single device in different ways.

In practice, these capabilities are automatically invoked based on the syntax usage of the user.

Structural Operation Descriptions

This is the most straight-forward way to describe any microfluidic design. In this method, the user simply describes the entire design in terms of flow and control elements and every operator used needs to be #MAPed to a microfluidic component.

The structural description will allow the user to represent the microfluidic netlist as a graph where each of the unary operator nodes will be explicitly be mapped to microfluidic components and every assign statement will be used to generate the corresponding network of channels that connect them.

The user user should this form of a description when exact design details need to be specified and to ensure that the LFR compiler does not try to optimize/autogenerate the microfluidic network on the LFR description.

NOTE: This is the most tedious way of making design description.

Fluidic Operation Descriptions

This is the easiest and the most conducive way of describing microfluidic device architectures using LFR. In order to invoke LFR's capabilities of inferring the fluidic operations. The user simply has to use one of the series of operators (+, - , /, *, % ) provided by the LFR language.

Each one of these operators describes a specific type of fluidic interaction that will dictate how the microfluidic netlist needs to be synthesized.

NOTE: A design can have a mix of both Fluidic and Structural descriptions. Structural descriptions form the basic core set of operations that are utilized to describe microfluidic devices. Fluidic Operations just build on top of that.

Behavioral Descriptions

This form of descriptions makes use of @distribute blocks that can be used to describe the connectivity of the device based on the states of the different control signals.

TBA: 3DuF + LFR Example