# Getting started: logic

Today, we’ll be exploring logic: logic modules process gate and trigger signals, and logic can be a quick and easy way to derive new musically-useful patterns from existing sequences and clock generators in your system.

## What are logic modules?

Logic modules are utilities that are generally used with binary gate signals. Logic modules will have a number of gate inputs, and a number of gate outs that will be high or low depending on the status of the ins defined by a truth table (see below). Many logic modules have just two inputs, but some have more: logic functions can be applied to any number of signals, so the desired number of inputs just depends on your patch.

## What are truth tables?

Logic functions are defined using truth tables. If you purchase a logic module, you’ll probably find a truth table in its user manual describing the functions of its outputs. A truth table will represent a low gate with a 0 and a high gate with a 1.

The truth table for the module will show you the possible combinations for ins and outs, making it simple to look up how a module will function in a patch.

*Truth table for the Doepfer A-166 Dual Logic Module. *

## Starting simple: logic invert

The simplest logic function is the logic invert: it’s the only single-channel logic function. If its input is low, its output will be high, and vice versa. I find this to be especially useful in percussion sequencing: if we invert a /2 clock, we create gates that go high on the two 2 and 4 beats, commonly used for snares in basic dance rhythms.

Logic invert differs from inverting with something like an attenuverter: an attenuverter would change the polarity of a gate (a +5V gate would be -5V when attenuverted), but logic invert keeps signals positive.

Logic invert is also useful since it will give the opposite function of another logic output: for example, OR run through an invert will become NOR.

## OR: it’s like a mixer for your gates

OR is the most common function to see in logic modules. It outputs a high gate whenever one or more of its inputs are high, and as such it can act as a mixer for multiple gate signals. OR modules can be compact and passive, too, so they’re a useful utility in most any system.

There are also variations of OR: NOR is the opposite of OR and outputs a high gate when all its inputs are low. XOR will output a high gate when only one of its outputs is high, but not all. Lastly, XNOR outputs a high gate when all of its inputs are either low or high.

## AND and friends

AND is the last set of logic functions commonly seen in Eurorack. AND will output a high gate when all of its inputs are high. I find this particularly useful in generative patching: running two gate sequences of different lengths into an AND gate is a great way to generate a third somewhat-related and repeating sequence.

AND also has a variation: NAND outputs a high gate as long as at least one of its inputs are low. XAND functions identically to XNOR, and is usually referred to as such.

## Analog logic

We’ve only been discussing binary logic here, but you may occasionally see analog logic modules, too. These can be used to process CV signals instead of just gates. Generally, you will only see OR and AND on analog logic. OR will output the highest voltage signal at any input, and AND will output the lowest. These are sometimes referred to as minimum and maximum instead of OR and AND.