2.5 Logic¶
The Logic blocks all share the same configurable Function property, which lets a single placed block be switched between any of the boolean functions (AND, NAND, OR, NOR, XOR, or XNOR), and an Inputs property to set the number of inputs (2–16). Each block is described below with its truth table.
NOT¶

This block inverts a signal.
Truth table
| Input | Output |
|---|---|
| 0 | 1 |
| 1 | 0 |
Inputs
- Input — the signal to invert.
Outputs
- Output — the inverted signal.
Properties: None.
AND¶

This block performs the boolean AND function between its inputs and outputs the result on the output.
Truth table for 8 inputs (x = don't-care)
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Output |
|---|---|---|---|---|---|---|---|---|
| 0 | x | x | x | x | x | x | x | 0 |
| x | 0 | x | x | x | x | x | x | 0 |
| x | x | 0 | x | x | x | x | x | 0 |
| x | x | x | 0 | x | x | x | x | 0 |
| x | x | x | x | 0 | x | x | x | 0 |
| x | x | x | x | x | 0 | x | x | 0 |
| x | x | x | x | x | x | 0 | x | 0 |
| x | x | x | x | x | x | x | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Inputs
- 1–16 — the signals that should be used in the function.
Outputs
- The result of the function.
Properties
- Function — changes the function to another boolean function (AND, NAND, OR, NOR, XOR, or XNOR).
- Inputs — the number of inputs that should be used. 2–16 can be configured.
NAND¶

This block performs the boolean NAND function between its inputs and outputs the result on the output.
Truth table for 8 inputs (x = don't-care)
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Output |
|---|---|---|---|---|---|---|---|---|
| 0 | x | x | x | x | x | x | x | 1 |
| x | 0 | x | x | x | x | x | x | 1 |
| x | x | 0 | x | x | x | x | x | 1 |
| x | x | x | 0 | x | x | x | x | 1 |
| x | x | x | x | 0 | x | x | x | 1 |
| x | x | x | x | x | 0 | x | x | 1 |
| x | x | x | x | x | x | 0 | x | 1 |
| x | x | x | x | x | x | x | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
Inputs
- 1–16 — the signals that should be used in the function.
Outputs
- The result of the function.
Properties
- Function — changes the function to another boolean function (AND, NAND, OR, NOR, XOR, or XNOR).
- Inputs — the number of inputs that should be used. 2–16 can be configured.
OR¶

This block performs the boolean OR function between its inputs and outputs the result on the output.
Truth table for 8 inputs (x = don't-care)
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Output |
|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | x | x | x | x | x | x | x | 1 |
| x | 1 | x | x | x | x | x | x | 1 |
| x | x | 1 | x | x | x | x | x | 1 |
| x | x | x | 1 | x | x | x | x | 1 |
| x | x | x | x | 1 | x | x | x | 1 |
| x | x | x | x | x | 1 | x | x | 1 |
| x | x | x | x | x | x | 1 | x | 1 |
| x | x | x | x | x | x | x | 1 | 1 |
Inputs
- 1–16 — the signals that should be used in the function.
Outputs
- The result of the function.
Properties
- Function — changes the function to another boolean function (AND, NAND, OR, NOR, XOR, or XNOR).
- Inputs — the number of inputs that should be used. 2–16 can be configured.
NOR¶

This block performs the boolean NOR function between its inputs and outputs the result on the output.
Truth table for 8 inputs (x = don't-care)
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Output |
|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 1 | x | x | x | x | x | x | x | 0 |
| x | 1 | x | x | x | x | x | x | 0 |
| x | x | 1 | x | x | x | x | x | 0 |
| x | x | x | 1 | x | x | x | x | 0 |
| x | x | x | x | 1 | x | x | x | 0 |
| x | x | x | x | x | 1 | x | x | 0 |
| x | x | x | x | x | x | 1 | x | 0 |
| x | x | x | x | x | x | x | 1 | 0 |
Inputs
- 1–16 — the signals that should be used in the function.
Outputs
- The result of the function.
Properties
- Function — changes the function to another boolean function (AND, NAND, OR, NOR, XOR, or XNOR).
- Inputs — the number of inputs that should be used. 2–16 can be configured.
XOR¶

This block performs the boolean XOR function between its inputs and outputs the result on the output.
Truth table for 3 inputs
| 1 | 2 | 3 | Output |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Inputs
- 1–16 — the signals that should be used in the function.
Outputs
- Output — the result of the function.
Properties
- Function — changes the function to another boolean function (AND, NAND, OR, NOR, XOR, or XNOR).
- Inputs — the number of inputs that should be used. 2–16 can be configured.
XNOR¶

This block performs the boolean XNOR function between its inputs and outputs the result on the output.
Truth table for 3 inputs
| 1 | 2 | 3 | Output |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
Inputs
- 1–16 — the signals that should be used in the function.
Outputs
- The result of the function.
Properties
- Function — changes the function to another boolean function (AND, NAND, OR, NOR, XOR, or XNOR).
- Inputs — the number of inputs that should be used. 2–16 can be configured.