Analog Logic
Analog Logic
for music synthesizers.


This module is the analog implementation of some basic logic elements. Instead of dealing with binary inputs, the "logic" is applied to whatever voltages are present on the inputs. When the AND element is fed several voltages, the output will equal the the lowest input voltage. The NAND output will be the inversion around 0 volts of the AND output. When the OR element is fed several voltages, the output will equal the the highest input voltage. The NOR output will be the inversion around 0 volts of the OR output. Apparently the AND and OR functions are the same thing as "peak" and "trough" on old Serge synthesizers, though they are implemented somewhat differently.

How to use this module:

Connect the inputs to several voltage sources feed the outputs to a module that requires a CV input. Unused inputs will automatically set themselves to a voltage where they will not interfere with the operation of the logic elements. The modules have an operational range of +/-10V.

A little on how it works:

The schematic of the Analog Logic.
There are minor differences between this diagram and the earlier version, notably with the output buffers.

The schematic of the onboard mixer included on the VER1.2 PCB.

The elements along the left side of the schematic are essentially "perfect diodes", that is diodes with a voltage drop of 0 volts. For the OR/NOR module, the diodes are forward biased, while for the AND/NAND module they are reverse biased. Pull down resistors on the inputs of the OR/NOR module set any unused inputs to the lowest voltage possible, so that those inputs will not affect the output. Pull up resistors pull any unused inputs of the AND/NAND module to the highest possible voltage for the same reason.

In both modules (AND/NAND and OR/NOR), the next op amp is wired as a voltage follower, to buffer the voltage from the combined inputs. Following that are traditional unity gain inverting buffers, the first giving the inverted outputs and the second giving the non inverted outputs for their corresponding modules. There is a trimpot in series with each of the output buffers, allowing the modules to be precisely trimmed for 1/V per octave on at least one of the inputs.

Two transistors wired as emitter followers give the (approx.) +10 volt and -10 volt levels as used elsewhere in the circuit.


The component overlay. Connections can be determined from the circuit diagram.
For +/-12V fit 2K2 resistors where shown

Note that the VER1.2 board has the following issues:

  • OR and NOR outputs have their labels swapped with each other.
  • AND and NAND outputs have their labels swapped with each other.

Ideally, the diodes should all be matched for voltage drop, so all inputs can be set to track 1/V per octave. Ken did not do this on his prototype, instead selecting one input to be accurate, and accepting the others as they came, as they were only being used for varying LFO voltages, or other voltage sources for which any variation could be trimmed out elsewhere.

To match diodes, try connecting them in series with a 10k resistor across 10 to 15 volts, and measuring for identical drops across the diodes themselves. It would be best to use the same supply and resistor for all measurements, and try to do all measurements at the same temperature. Avoid handling the diodes while testing them to prevent body heat changing their temperature.

If you are going to match your diodes, it would be worth the extra effort to hand-match the 10k resistors too.

Diodes and resistors need only match each other within each gate. There is no need for the OR/NOR parts to match the AND/NAND parts.

When assembly is complete, the trimpots can be adjusted so that the output voltage on each module accurately tracks one input of the corresponding module. This is to counteract the attenuation of the input networks. It would be possible to substitute the input resistors for 1k, and the pull down and pull up resistors for 1M, for less attenuation though as this is countered by the gain in the later stages, it is not really an issue.

Euro and Frac rack builders can cut off the mixer section of the VER1.2 board if required.

The value of the pot used in the processor will affect the response of the pot. The pot itself MUST be linear. Other values of pot will vary the degree of the curve. For example, a 50k will be slightly anti-log.

  • 10k - Anti-log response - Greater sensitivity near center of rotation. Finer control towards ends of travel.
  • 100k - Linear response.
  • 1M - Log response - Finer control near center of rotation. Greater sensitivity towards ends of travel.


  • With no inputs connected, the AND module output will sit at approx. +10V.
  • With no inputs connected, the OR module output will sit at approx. -10V.
  • Do not connect the inputs of the AND module to the OR module to produce a combined module with only three inputs, as the pull up and pull down resistors will interfere with each other. It is however fine to connect the inputs of both modules to the same voltage source, as the voltage source will override the effects of the pull up and pull down resistors.
  • If you wish to have a panel mounted pot to set the maximum voltage for the AND/NAND module and the minimum for the OR/NOR module, they can be wired in with the pots connected between the outputs of the transistor regulators (+10V and -10V) with their wipers fed via a signal diode to pin 10 of the corresponding voltage follower. This is possible because the "perfect diode" is not required in this circumstance. Use a pot of 5k or 10k to get a more linear response. Higher values will work, but the pot response will be decidedly curved. Additional "inaccurate" inputs for other voltage sources could also be added in a similar manner - with a diode and series 1k resistor wired into the corresponding voltage follower. These "inaccurate" inputs will be affected by the output impedance of what is driving them, so do not be surprised if it responds differently when connected to different modules.
  • While untested, the module should work on +/-12 volts, though you will need to adjust the resistor networks for the +/- 10 volt regulators if you wish to maintain the range (use 2k2 resistors instead of the 4k7 resistors for the two transistor base resistors).

Parts list

Article, art & design copyright 2001 by Ken Stone