From FPGA-Synth Wiki

FPGASynth: GateManPoly

Author: Scott Gravenhorst

Verilog, designed for Spartan-3E SK, certainly adaptable for others.

8 Voice LA/FM Polysynth


This project is an 8 voice linear arithmetic with FM polysynth. It is controlled with an embedded PicoBlaze MIDI controller.

The structure of each voice is based on the GateMan monosynth.

Block Diagram

As can be seen in the diagram above, each of the 8 voices uses 4 NCOs for a total of 32 NCOs. Each NCO can produce one of 4 waveforms. Pitch can be band limited noise modulated (FM). NCOs use 33 bit phase accumulators for high pitch resolution.

This is a basic design that I am sure will morph and change over time. The design currently uses about 35% of the FPGA's slice resources. 14 block RAMs or dedicated multipliers remain free. The design uses 4 dedicated multipliers and 2 block RAMs.

The design uses a 50 MHz system clock and a sample rate of 250 KHz.

Synth parameters can be updated either by MIDI system exclusive messages or via a serial port connection.

The sample rate allows for a useful range of f and Q parameters for the state variable filter. Maximum Q is about 10.

This synthesizer contains 32 NCOs, 16 ADSRs, 32 noise generators, 32 single stage IIR noise filters, 8 NCAs and 8 state variable filters.

MIDI Input and Audio Output Circuits:

GateManPoly Source Code

Version History:

GateManPoly Patch Editor

GateManPoly Sounds


Retrieved from
Page last modified on January 10, 2009, at 02:02 PM