[Fpga-synth] Starting points?

Scott Gravenhorst music.maker at gte.net
Sat Mar 7 00:10:35 CET 2009


Bryon,

Welcome aboard!

I am most certainly not an authority figure in this field, but if I may,
please allow me to comment inline:

"The making of synthesizers in FPGAs." wrote:
>Howdy everyone,
>
>Some of you may recognize my name from SDIY - I've been lurking 
>for about a year, hoping to get my feet wet at some point. That 
>point seems to have come - I was just laid off. Rather than 
>scurrying to hunt for a new job, I'm going to learn some new 
>skills - FPGA programming being near the top of the list. 
>
>A little bit about my background: I've been a firmware developer 
>for 12 years, working very close to the hardware. I'm good with 
>C/C++/assembly, and can read schematics. My last position 
>involved writing device drivers and exercising a batch of FPGA 
>peripherals...but the FPGA work was done by another engineer. I'd 
>like to be able to fill that gap myself. 
>
>I've got some questions about a starting point.
>
>I know a while back the Spartan 3E was fairly popular. Is that 
>still the best bet for getting started? 

Assuming that you're subbed here for sound/music synthesizers - that board
is not a bad place to start.  I have 4 of them.  It's got everything except
a physical audio out interface which I built with a simple RC circuit. 
It's got a respectably sized FPGA.  It's got a pretty big SDRAM.  And other
doodads that can be interesting/fun.  So hardware resource-wise, it's a
very good deal IMO.  There is also the little Avnet board which has an FPGA
almost as large as the -3E board.  You may already know of the designs I've
posted on http://www.fpga.synth.net/ in the Wiki, the little Avnet board
will support my Karplus-Strong phsyical model string synth which has 8
strings implemented.  So the Avnet board is no slouch either.  It does,
however, need an external DAC to be useful as a synth.

>What are the best books? In C there's K&R, in C++ there's 
>Stroutrup, in electronics there are Horowitz & Hill and 
>Pease...what are the equivalent books for Verilog & VHDL? 

I am a solid expert C programmer.  Because of that, I find Verilog a more
familiar looking language.  I used this tutorial to learn Verilog:

http://www.asic-world.com/verilog/veritut.html

After going through that, I had a few other questions which were answered
in various websites that I found doing basic Google searches.  I spent
$0.00 on any reading material, as such I can't suggest any hardbound books.
 I will tell you that when I started, I knew _nothing_ about FPGA design or
writing Verilog "programs".  Additionally, I had a few remaing nagging
questions about coding that were answered by folks right here (thank you all!).

>What other good references are there? Is there a good mailing 
>list, newsgroup, website, etc? 

This is a great list with some very knowledgable, helpful, intelligent and
experienced people in membership.  

There is also a music DSP email list:

http://www.google.com/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fwww.musicdsp.org%2F&ei=abqxSYaDCIG0sAOFpuRy&usg=AFQjCNG2dwyqGq5lGllJuBhh5hp6T3EkAA&sig2=iL65B2azNU6cqRfQLboPIw

(watch the wrap if any)

I also watch these USENET newsgroups:

comp.arch.fpga
comp.arch.embedded
comp.dsp
comp.lang.verilog

Know that USENET is USENET with all caveats...  (c;

>Any other references, recommendations, etc?

Play play play.  Get a board and play around.  Do stuff.  Experiment.  For
me, I'd say my many failures were at least as important as my successes. 
Go to the FPGA synth website (URL cited above) and look there.  Please
understand that the design material I've posted in the wiki began with my
very first designs and as such may not be the most sophisticated stuff -
but they work.  Later designs will show more advanced coding and design
techniques as I learned them.  The stuff I posted contains text
descriptions of what it is and what it does and in most cases contains full
source code for the projects - these projects should work by plugging them
into WebPACK ISE, compiling and then pushing the bit file into the
appropriate dev. board.  I posted the full source so that interested
parties can start there and then make whatever out of it.

Whatever you do, enjoy your discovery process, have fun.  I sure have,
thanks in great part to the kind people on this very list.

Oh, more stuff here:

http://home1.gte.net/res0658s/FPGA_synth/

-- ScottG
________________________________________________________________________
-- Scott Gravenhorst
-- FPGA MIDI Synthesizer Information: home1.gte.net/res0658s/FPGA_synth/
-- FatMan: home1.gte.net/res0658s/fatman/
-- NonFatMan: home1.gte.net/res0658s/electronics/
-- When the going gets tough, the tough use the command line.



More information about the Fpga-synth mailing list