-
Notifications
You must be signed in to change notification settings - Fork 3
Structural Descriptions
Structural descriptions are the basis for describing microfluidic architectures using LFR. The structural primitives and operations described in this section can allow the user to describe any arbitrary netlist structure. All of the language features build upon this foundation and utilize the primitives and operators specified here.
The structural primitives consist of finput
, foutput
, flow
and control
elements. You can find more information on these primitives in their respective sections.
The CONNECT
operation is currently the only operator that is defined as a structural operator. This operation can be implemented using the assign
statement. The assign
statement allows the user to stitch together different fluidic elements and describe their connectivity. Almost every design will necessitate the use of an assign
statement.
There are some basic rules as to how an assign
statement stitches together different structural primitives and creates the connectivity. Because the assign
statement has the following format:
assign <list-of-outputs> = <list-of-inputs>;
there are 4 cases for how the connectivity is defined:
In the case where the number of input elements are equal to the number of outputs, the compiler creates a 1-1 link between all the elements. The base case is seen below:
The extended case where it applies for more than 1 element is seen below:
When the size of inputs in not equal the size of outputs, each of the input elements creates a link to one of the outputs. The case with a single input and multiple outputs is shown below:
The extended case where the condition size(inputs) < size(outputs)
holds:
When the size of inputs in not equal the size of outputs, each of the input elements creates a link to one of the outputs. The case with multiple inputs and a single output is shown below:
The extended case where the condition size(inputs) > size(outputs)
holds:
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
To be added soon