[sdiy] Digital 4 pole filter in an FPGA

Scott Gravenhorst music.maker at gte.net
Thu Dec 11 17:10:05 CET 2008


"HL-SDK Synths" <syntroniks at gmail.com> wrote:
>
>Now its interesting that you mention verilog since this one intro to digital
>systems book I have for a class next semester almost religiously praises
>VHDL and altera's AHDL. I suppose one of these days I'm going to have to
>shell out some $$ and get a fpga board.

http://www.em.avnet.com/evk/home/0,1707,RID%253D0%2526CID%253D46501%2526CCD%253DUSA%2526SID%253D32214%2526DID%253DDF2%2526LID%253D32232%2526PRT%253D0%2526PVW%253D%2526BID%253DDF2%2526CTP%253DEVK,00.html

Watch wrap, this is a 400K gate Xilinx Spartan-3A board from Avnet for $39.00.  Not a lot
of cash.  No DAC though, but when I connected a DAC to it (Cirrus CS4344 24 bit stereo), I
was able to put an 8 voice physical model polysynth in it.

My understanding is that VHDL and Verilog can describe the same hardware, just with
different syntax.  As a C programmer, I am very comfortable with Verilog syntax.

>
>Also, I checked out that DK synergy briefly, it would be great to get my
>hands on one of them!
>
>On Thu, Dec 11, 2008 at 9:59 AM, Scott Gravenhorst <music.maker at gte.net>wrote:
>
>> Jim Patchell <patchell at cox.net> wrote:
>> >I have been doing digital design since about 1975...using FPGAs is just
>> >another phase of doing the same thing...instead of using 74xxx
>> >logic...now I write in verilog.  There are a lot of books on Amazon.com
>> >that cover this subject...although, I wouldn't really know which one
>> >would be the best to begin with.
>> >
>> >And FPGA synths are a lot of fun...and there are more ways to skin this
>> >cat than you can shake a leg at...
>>
>> That's no exageration.  Ditto on the "fun" part.  If you want to get a
>> taste of what
>> Verilog looks like, try this tutorial:
>>
>> http://www.asic-world.com/verilog/veritut.html
>>
>> It's last update was in December of 2008, so the maintainer is active.
>>  There are LOADS
>> of simple examples.
>>
>> After reading this tutorial, I was able to get some Hello World design
>> projects
>> working.  I will admit that I am also a software developer from way back.
>>  With some
>> study, practice and help from kind folks here and on a couple other forums,
>> I've been
>> able to design MIDI synthesizers.  I also found very good supplemental
>> information in
>> other tutorials and PDF papers I found on the web.  If you're into USENET,
>> good sources
>> of information can be found on comp.arch.fpga and comp.lang.verilog.
>>
>> Basic digital design knowledge is definately a good thing to have.  When I
>> work in
>> Verilog, I find myself thinking in terms of registers (flipflops or RAM),
>> OR gates, AND
>> gates, multiplexors, etc. just as if I were going to solder up some CD4xxx
>> stuff.
>> Verilog is used to describe how these little logic bits (I call it Logic
>> Lego) are
>> connected together to make a working system.
>>
>> >-Jim
>> >
>> >HL-SDK Synths wrote:
>> >> I'm interested as well, I have a question though, where did you learn
>> >> all of this FPGA ...stuff? I've looked around on the web and I'm no
>> >> computer science guy. Is it all hidden in the textbooks? I think FPGA
>> >> synths are crazy cool!
>> >>
>> >> On Tue, Dec 9, 2008 at 12:09 AM, Jim Patchell <patchell at cox.net
>> >> <mailto:patchell at cox.net>> wrote:
>> >>
>> >>     Hope y'all aren't getting tired of these progress reports.
>> >>
>> >>     But it looks like I have got the basics of the four pole filter
>> >>     working (at least in the simulator).  It is going to take a bit more
>> >>     testing to verify that all of the data is going where and when it is
>> >>     supposed to...
>> >>
>> >>     The filter has a four clock pipe delay through it...i.e. it takes
>> >>     four clock cycles to complete one sample...but since it is
>> >>     pipelined...it only takes 512 clocks to complete all 512 filters...
>> >>
>> >>     One of the things I need to verify yet is that the resonance control
>> >>     works as it should.
>> >>
>> >>     Now, also to give you an idea of exactly what I am doing, this is
>> >>     basically the same kind of filter you would make with an
>> >>     SSM2040...without, unfortunately, the non-linear distortion that is
>> >>     inherent in the SSM2040.  I am not sure if I will be able to add a
>> >>     non-linearity in the filter loop or not.  That may be some future
>> >>     experiment.
>> >>
>> >>     Anyway...it is sure looking promising.
>> >>
>> >>     -Jim
>> >>     ----------------------------------------------
>> >>     Visit http://www.noniandjim.com <http://www.noniandjim.com/>
>> >>     SDIY: http://www.noniandjim.com/Jim/index.html
>> >>     ----------------------------------------------
>> >>
>> >>     _______________________________________________
>> >>     Synth-diy mailing list
>> >>     Synth-diy at dropmix.xs4all.nl <mailto:Synth-diy at dropmix.xs4all.nl>
>> >>     http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>> >>
>> >>
>> >
>> >--
>> >----------------------------------------------
>> >Visit http://www.noniandjim.com
>> >SDIY: http://www.noniandjim.com/Jim/index.html
>> >----------------------------------------------
>> >
>> >_______________________________________________
>> >Synth-diy mailing list
>> >Synth-diy at dropmix.xs4all.nl
>> >http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>> >
>>
>> -- 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.
>>
>> _______________________________________________
>>  Synth-diy mailing list
>> Synth-diy at dropmix.xs4all.nl
>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>
>

-- 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 Synth-diy mailing list