Boolean logic is a means of processing signals that occupy one of two voltage states, called false and true. All digital synthesizers inherently contain Boolean logic by definition, but many analog synthesizers also contain some Boolean logic circuitry, particularly those with MIDI and/or patch memory. However, these are usually not exposed to the performer. This article concentrates mainly on the use of Boolean logic as signal processing in modular synthesizers, where it is sometimes used to produce complex trigger and gate signals. (Gate signals are essentially already Boolean logic signals, since they represent an on/off state.)
Basic Logic Functions[edit | edit source]
There are thee essential functions in Boolean logic, called AND, OR, and NOT (or INVERT). The definitions of these are:
- AND takes two or more inputs, and produces one output. The output is true when all of the inputs are true; otherwise the output is false.
- OR takes two or more inputs, and produces one output. The output is true except when all of the inputs are false; when all of the inputs are false, the output is false.
- NOT takes one input and produces one output. The output is true when the input is false, and vice versa.
Commonly Used Derived Logic Functions[edit | edit source]
Basic Boolean math theory says that all other logic functions can be produced by combinations ot these three. However, a few derived functions are often treated as entities in themselves, and they are available as pre-made circuits. Here are the most commonly used ones.
- NAND ("not AND") takes two or more inputs, and produces one output. The output is false when all of the inputs are true; otherwise the output is true. This function is the equivalent of an AND with its output sent into a NOT.
- NOR ("not OR") takes two or more inputs, and produces one output. The output is false except when all of the inputs are false; when all of the inputs are false, the output is true. This function is the equivalent of an OR with its output sent into a NOT.
- XOR ("exclusive OR") takes two inputs and produces one output. The output is true when exactly one of the inputs is true. When both inputs are true, or both inputs are false, the output is false. This can be built from a combination of AND, OR and NOT functions. In computers, the XOR is the basis for building circuits that add binary numbers.
Representations and Truth Tables[edit | edit source]
For more complex functions, and combinations of functions, the inputs and outputs are often represented in a truth table. This is a table that gives all of the possible combinations of inputs, and the output for each combination. The true state is usually represented by the letter 'T' or the numeral '1', and the false state by the letter 'F' or the numeral '0'. For example, here is the truth table representation for the XOR function described above.
|Input 1||Input 2||Output|
Anther example: NOT'ing the output of the XOR function produces what is sometimes called the "equivalence" function, and its truth table is:
|Input 1||Input 2||Outpu|
Logic Circuits[edit | edit source]
All of the basic and derived functions listed above are available as integrated circuits. Depending on the function and the circuit packaging (number of pins), a basic logic IC usually contains between 2 and 6 independently-functioning copies of the logic function, each of which conventially is called a "gate". A number of ICs that implement certain combinations of functions are also available.
If one studies actual circuit designs, one will sometimes find that the implementaion is more complex, in terms of the logic functions used, than the seemingly obvious implementation of the desired logic would be. This is usually done by designers to reduce the total parts count by taking advantage of individual gates that would go unused in the straightforward implementation. A peculiar aspect of Boolean logic theory is that any logic function can be implemented using nothing but NAND gates, or nothing but NOR gates. A simple example is that either a NAND or a NOR gate can perform the NOT function by connecting the signal to be NOT'ed to all of the inputs.
There are several series of integrated circuits that implement Boolean logic functions. The most convenient to use in a modular synth design is the so-called "4000" series, because these are flexible about power supply voltages.
Electrical Circuit Considerations[edit | edit source]
WIth most types of logic circuit ICs, the true state is represented by a voltage near the power supply voltage, and the false state is represented by a voltage near ground potential (0 volts). The 4000 series logic is flexible about supply voltages; it can be powered by the +15V or +12V supply in a modular synth. However... the "transition point", the dividing line between what the circuit considers the true and false states, is about 2.5V below the supply voltage. This means that if the circuit is powered from 15V, the transition point will be around 12.5V. Most synth circuits that produce gate and trigger signals use 5V, or thereabouts, for the "on" state, and 0V for the "off" state, but the logic circuit will consider both of these to be false, and fail to distinguish between them. One strategy for dealing with this is to power the logic ICs from the synth's +5V supply, if it has one.
If there is any question about the voltages that may be input to the logic (and in a modular synth, there often is), measures must be taken to protect the logic circuits from out-of-spec voltages. The inputs cannot take any voltage exceeding the power supply voltage, nor can they take any negative voltage.