[Fpga-synth] Using Actel Fusion FPGA's to emulate Curtis chips?

malik martin laserbeak43 at gmail.com
Sun Jan 4 18:40:08 CET 2009


Bookmarked :)

On Jan 4, 2009 12:29 PM, "Eric Brombaugh" <ebrombaugh1 at cox.net> wrote:

Joe Rounceville wrote: > I'm new to this list, and a complete newbie to
FPGAs
Welcome to the list!

> As you probably know, the Curtis CEM chip series has become increasingly
NLA

> So, here's the million dollar question.  First, would it be possible to
reverse engineer these: >...
Short answer: No.

For the long answer, let's look first at what the CEMs are: They're designed
at the device level (transistors, resistors, etc) on a custom analog array.
No digital logic, no Flash, PLLs, CPUs, ADCs, DACs, etc.

The Actel Fusion family of parts is essentially a flash FPGA with a bit of
analog I/O tacked on. The analog functions of these parts are really geared
towards data acquisition - hence the focus on ADCs. There's enough pure
analog on-chip to do simple stuff like muxing and gain adjust, but the bulk
of the silicon is still devoted to traditional digital stuff.

So, there's really not a good match between the underlying structure of a
CEM and the Actel parts. The closest you might come would be trying to model
the CEM parts algorithmically, but then you'd be better off just using a
virtual synth on a cheap PC. The reason people love CEM chips is because of
the way they sound, and creating an accurate digital model of their complex
analog behavior would require skills and research that could take literally
years.

There's also the physical-compatibility issue - no way you're going to get
an Actel part into a 14-pin 300mil DIP socket...

> the corollary question is:  "What is the relative difficulty of doing
something like that?"

> Let's say I wanted to start with the CEM3340 (VCO)... where would I start?

Assuming you understand that to do this with an Actel Fusion you need to
build a digital model, I'd start by setting the target hardware aside for a
moment. First you need to learn DSP - how to build a digital model of an
oscillator. Read up on the state of the art in analog modeling, band-limited
oscillator design (BLITs, BLEPs, DPW, etc), get to know the name Julius
Orion Smith, learn what CCRMA stands for. Then start writing code. You have
a background in software so start writing simple algorithms and listening to
the results. When you've got something that sounds good, dig out the Actel
documentation and see how you can map your shiny new algorithm onto the
hardware they provide. At this point you'll probably need to revise it
somewhat to fit into the limited resources available, so scrunch it down,
cut a few corners, test it out. Does it still sound good?

Now that you've got an oscillator running in a Fusion part, try to figure
out how to run that high-performance digital BGA from the power supplies and
I/O signals available in a CEM3340 socket. Whoops! The CEM only draws a few
mA and your digital substitute takes 10-100x that much. Back to the drawing
board.

The simple fact is that FPGAs and MCUs of any kind are not an answer to the
question of how to build a CEM substitute. To make a pin and system
compatible replacement for these parts you need to approach the problem the
same way that Curtis did - using bipolar transistors. That can still be done
today, but learning the skills required and financing the project far
outweigh the possible returns. That's why cannibalizing old synths is more
practical.

On the other hand, if you just want to make a cool synthesizer from scratch
using an Actel Fusion, we're talking about a neat project. That's the kind
of thing you can get some help with on this list.

Best of luck!

Eric
_______________________________________________
Fpga-synth mailing list
Fpga-synth at rubidium.dyndns.org
http://rubidium.dyndns.org/cgi-bin/mailman/listinfo/fpga-synth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubidium.dyndns.org/pipermail/fpga-synth/attachments/20090104/eaf6b02d/attachment.htm>


More information about the Fpga-synth mailing list