[sdiy] FPGA digital audio

Magnus Danielson cfmd at swipnet.se
Sun Jan 6 00:54:28 CET 2002


From: "Paul Maddox" <Paul.Maddox at wavesynth.com>
Subject: Re: [sdiy] FPGA digital audio
Date: Sat, 5 Jan 2002 21:24:58 -0000

> Hi,

Hi Paul,

> a friend of mine , who's on the list (HIYA)
> did me an oscillator chip on an FPGA...
> with some incredible specs/power/modulation on board,
> oh, and its 32 oscillators, not just one :-)

... also, there is no difficulty in doing *MUCH MORE* if you really
need to.

> > Some FPGA tips from him:
> 
> all valid
> But Id add, learn to think about how it works..
> dont forget an FPGA is NOT a sequential device, its all happening at the
> same time..

Indeed. The sequential thinking which many people have from doing
software on "generic processors" is a real burden. Parallel computers
often bumps into trouble when they transport data between nodes and
waits for synchronisation. This is why asynchronously designed
computers where and the reason they failed was that you where allways
waiting...

In synchrounous design you also do a fair amount of waiting, but most
of it is choped up and you can much easier figure out how to handle
parallelism and keep many things happening simultanously.

There is also a robustness in setting up some hardware in the corner
pushing wavetables or whatever. Only when you need to fiddle with it
to change frequency or wavetable (or whatever) you will actually have
to interact, and then you can do it with care.

This is for instance how Lexicon machines have been working all the
time. The main CPU (often a Z80 or something) just handles the messy
I/O stuff and set things up. When they need to change the setup over
time (say as the pitch routine) they toss in another Z80 to do the
task (which is really the main difference between the LXP-1 and
LXP-5).

You can think in a similar sense with FPGAs and various blocks there.

CPUs are such a limited way of thinking!

Cheers,
Magnus



More information about the Synth-diy mailing list