CGS analog logic voltage processor

Revision as of 19:44, 22 October 2018 by Rob Kam (talk | contribs) (Created page with "centre|400px'''CGS26''' the '''Analog Logic voltage processor''' module is the analog implementation of some basic logic elements. Instea...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Cgs photo cgs26 analogic.jpg

CGS26 the Analog Logic voltage processor 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 v1.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.
The component overlay for the v1.2 PCB. Click through for an enlarged, printable version. Print at 300dpi for a correct scale printout.

Note that the v1.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.

Before you start assembly, check the board for etching faults. Look for any shorts between tracks, or open circuits due to over etching. Take this opportunity to sand the edges of the board if needed, removing any splinters or rough edges.

When you are happy with the printed circuit board, construction can proceed as normal, starting with the resistors first, followed by the IC sockets if used, then moving onto the taller components.

Take particular care with the orientation of the polarized components, the electrolytics, diodes, transistors and ICs.

When inserting the ICs in their sockets, take care not to accidentally bend any of the pins under the chip. Also, make sure the notch on the chip is aligned with the notch marked on the PCB overlay.

Ideally, the diodes should all be matched for voltage drop, so all inputs can be set to track 1/v per octave. I did not do this on my 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. Note: I did not do this for my module, so this is untried. Alternatively, you could use the diode test function present on most digital multimeters.

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 v1.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).
  • A 10 to 22 ohm resistor can be used instead of the ferrite bead. If you don't care about power-rail noise, just use a link instead.

Parts list

This is a guide only. Parts needed will vary with individual constructor's needs.

Versions prior to 1.2
Part Quantity
100n 2
10uF 25V 2
1k 1% 4
4k7 1% 4
10k 1% 24
100k 1% 6
1N4148 12
BC547 (or sim) 1
BC557 (or sim) 1
TL072 2
TL074 2
Ferrite Bead (or 10R resistor) 2
0.156 4 pin connector 1
Version 1.2
Part Quantity
47pF 8
100n 7
10uF 25V 2
330R 1% 8
4k7 1% 4
10k 1% 24
100k 1% 18
270k 1% 2
1N4148 14
BAT48 4
BC547 (or sim) 1
BC557 (or sim) 1
TL072 4
TL074 2
Ferrite Bead (or 10R resistor) 2
0.156 4 pin connector 1
CGS26 v2.1 PCB 1

See also


Analog Logic for music synthesizers (Archived) by Ken Stone, 2001, with permission of the author

External links