electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
Live streaming at radio.electro-music.com

  host / artist show at your time
  EdisonRex Edison's Electronic Review
Please visit the chat
 Forum index » DIY Hardware and Software » Microcontrollers and Programmable Logic
FPGA's and Development Boards
Post new topic   Reply to topic Moderators: State Machine
Page 3 of 3 [72 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2, 3
Author Message
kitsune



Joined: Jan 04, 2010
Posts: 1
Location: Switzerland

PostPosted: Mon Jan 04, 2010 3:22 am    Post subject: Reply with quote  Mark this post and the followings unread

I'm a programmer by trade, but quite dusty when it comes to EE.

What do you think of the new Spartan-6 boards by Xilinx? Unfortunately, I think they do not have the same feature set for audio as the Spartan-3E kits (DAC and outs missing?).

What are some good FPGA dev kits for a beginner like me who is interested in DIY Synthesis? Are there any dev kits that target audio dsp programming?

Or is Spartan-3E still the way to go?
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1214
Location: West Red Spot, Jupiter
Audio files: 157

PostPosted: Mon Jan 04, 2010 9:31 am    Post subject: FPGA's and Development Boards Reply with quote  Mark this post and the followings unread

I haven't had a chance (or the cash) to evaluate the Spartan-6.

However, I have experience designing synthesizers using the Spartan-3E Starter Kit board (have 4 of them).

There is also a much less expensive Spartan-3A (400K gate part) by Avnet. Last I checked, they are $49.

And I also have a Spartan-3A DSP 1800 board ($300).

Of these, the only dev board that has DAC/ADC resources on board is the Spartan-3E.

I've used external DAC boards that plug into a 6 pin "Digilent port" to provide stereo out at 24 bits (delta sigma) at up to 200 KHz sample rate.

I have a link to some of my synth designs in my sig, many/most contain all of the source code (Verilog).

I've designed several synths for the Spartan-3E board that output through the 12 bit onboard DAC. I must say, that for 12 bits, it sounds pretty smooth. That may be due in part to the fact that I like to run at high sample rates. One synth outputs at 1.0 MHz...

EDIT ADD: I am not aware of any FPGA dev board that is targetted at audio applications. Most boards are more general purpose so that they can satisfy a wider variety of needs. As long as a dev board has a good number of uncommitted I/O pins which run out to board connectors, it should be fairly easy to add parts that are useful for audio. In my work, I've designed a little MIDI interface board to connect the MIDI 20 mA current loop to a dev board for MIDI input.

The Spartan-3A DSP 1800 board I have appears to be designed mainly for video DSP since there is a VGA port on board driven by a 12 bit DAC (actually, three 4 bit DACs, one for each color).

What sorts of DSP did you want to work with?

_________________
FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff
I am formerly known as ScottG here

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
Back to top
View user's profile Send private message Visit poster's website
SynchronousArts



Joined: Jan 07, 2010
Posts: 4
Location: People's Republic of Kaulifonnia

PostPosted: Fri Jan 08, 2010 12:49 am    Post subject: Re: FPGA's and Development Boards Reply with quote  Mark this post and the followings unread

ScottG wrote:


EDIT ADD: I am not aware of any FPGA dev board that is targetted at audio applications. Most boards are more general purpose so that they can satisfy a wider variety of needs. As long as a dev board has a good number of uncommitted I/O pins which run out to board connectors, it should be fairly easy to add parts that are useful for audio. In my work, I've designed a little MIDI interface board to connect the MIDI 20 mA current loop to a dev board for MIDI input.



Check out the Altium NanoBoard 3000, I just got one and it has everything needed for music/sound applications and even has MIDI!

http://nb3000.altium.com/intro.html

_________________
Grunt: 4b- one who does routine unglamorous work
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1214
Location: West Red Spot, Jupiter
Audio files: 157

PostPosted: Fri Jan 08, 2010 4:55 am    Post subject: FPGA's and Development Boards Reply with quote  Mark this post and the followings unread

Heh $400 price tag and 8 bit DAC?

The FPGA is a pretty good, albeit only Spartan-3AN, but at least it's pretty big. The SRAM is useful, but IMO it should be at least 2 megawords (x 16 bits). SDRAM is a pain to use unless they give away usable and useful IP for it.

_________________
FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff
I am formerly known as ScottG here

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
Back to top
View user's profile Send private message Visit poster's website
magman



Joined: Feb 04, 2009
Posts: 360
Location: Liverpool, UK

PostPosted: Fri Jan 08, 2010 6:01 am    Post subject: Re: FPGA's and Development Boards Reply with quote  Mark this post and the followings unread

ScottG wrote:
Heh $400 price tag and 8 bit DAC?

The FPGA is a pretty good, albeit only Spartan-3AN, but at least it's pretty big. The SRAM is useful, but IMO it should be at least 2 megawords (x 16 bits). SDRAM is a pain to use unless they give away usable and useful IP for it.


I read it as having an additional 4 port 8-bit DAC. I believe the Audio Codec is 24-bit (Checked on the guided tour).

Regards

Magman
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1214
Location: West Red Spot, Jupiter
Audio files: 157

PostPosted: Fri Jan 08, 2010 12:23 pm    Post subject: Reply with quote  Mark this post and the followings unread

How does that work - to turn 8 bits into 24? If they use an oversampling trick - what does that do to the actual output sample rate?
_________________
FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff
I am formerly known as ScottG here

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
Back to top
View user's profile Send private message Visit poster's website
SynchronousArts



Joined: Jan 07, 2010
Posts: 4
Location: People's Republic of Kaulifonnia

PostPosted: Sat Jan 09, 2010 1:31 am    Post subject: Reply with quote  Mark this post and the followings unread

It looks like it has a CS4270 according to the schematics. So it has a 24 bit Stereo Delta/Sigma A/D and D/A. I haven't had time to do anything with the board and probably won't for a while.

http://www.cirrus.com/en/pubs/proDatasheet/CS4270_PP1.pdf

the specs aren't much better than 16 bits but it should be fine for Synth development.

I don't know about a DRAM controller but it looks like Altium includes IP that is built into their FPGA design environment. I have never used this feature before, just the Schematics, Simulation and PCB Router+Layout. All of my previous FPGA work was done with very old versions of ISE with schematic entry (XC4010 FPGA). Verilog looks straight forward to me and I can't wait to get working on something...

The 8 bit A/D is probably only useful for interfacing to controllers, pots etc...

SA

_________________
Grunt: 4b- one who does routine unglamorous work
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1214
Location: West Red Spot, Jupiter
Audio files: 157

PostPosted: Sat Jan 09, 2010 6:33 am    Post subject: Reply with quote  Mark this post and the followings unread

Interesting. I get the impression that there are two separate systems, the 8 bit and the 24.

I'm using some CS4344 DACs which are also 24 bit delta-sigma - and they are pretty much no better than 16 bits as well. They sound fine. I've also got a Spartan-3E Starter Kit which has a 12 bit DAC - that sounds better than you might think.

All of my work is in Verilog using ISE. I've never done schematic entry.

I'll be interested to hear some sounds when you get that far.

_________________
FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff
I am formerly known as ScottG here

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
Back to top
View user's profile Send private message Visit poster's website
emeb



Joined: Dec 16, 2008
Posts: 27
Location: Arizona

PostPosted: Sat Jan 09, 2010 4:38 pm    Post subject: Reply with quote  Mark this post and the followings unread

I've had a fair amount of fun with audio/synth applications for FPGAs. I've got a couple of home-made boards coupling FPGAs, memories, codecs and processors of various sorts documented on my website:

http://members.cox.net/ebrombaugh1/synth/index.html

I've still got a few of the Digilent-compatible stereo DAC boards based on the CS4344 available (down to 6 or 7 now) that will work with the Spartan 3E starter kit as well as the Avnet S3A boards.

FWIW, my ARM FPGA board also uses a CS4270 codec. This seems to work fine - sounds good and has plenty of internal control registers for setting up sample rates, volume controls, etc. I used the I2C control port since my ARM processor had a master port available. The main thing to watch out for is the automute function - that confused me for a while.

Eric
Back to top
View user's profile Send private message
SynchronousArts



Joined: Jan 07, 2010
Posts: 4
Location: People's Republic of Kaulifonnia

PostPosted: Sun Jan 10, 2010 1:51 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks Scott and Eric,

I've been monitoring your work as I am subscribed to the Fpga-synth mailing list, as well as lurking around here before I joined. I tried to sub to the SDIY list also but can't get a reply mail. My mail server is really tight on the spam and may be rejecting mail from that list.

I worked with music electronics back in the 80's and know my way around a synth but have been in the Multi-Media world since then. I have many ideas of things that I would like to build but will probably focus on basic building blocks at first.

_________________
Grunt: 4b- one who does routine unglamorous work
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1214
Location: West Red Spot, Jupiter
Audio files: 157

PostPosted: Sat Jan 26, 2013 3:28 pm    Post subject: Reply with quote  Mark this post and the followings unread

I've found 2 projects that use the CS4270 codec, (Seb Francis and emeb here). Both use the device in "stand-alone" mode and I see the mention of the "nasty" auto-mute.

I have to ask why "software mode" isn't used to eliminate the need for bit-bobbling to prevent the auto-mute? The I2C connection looks to be 2 pins. Is there something else that makes doing this a pain in the butt?

_________________
FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff
I am formerly known as ScottG here

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
Back to top
View user's profile Send private message Visit poster's website
emeb



Joined: Dec 16, 2008
Posts: 27
Location: Arizona

PostPosted: Sat Jan 26, 2013 3:52 pm    Post subject: Reply with quote  Mark this post and the followings unread

Quote:
I've found 2 projects that use the CS4270 codec, (Seb Francis and emeb here). Both use the device in "stand-alone" mode and I see the mention of the "nasty" auto-mute.

I have to ask why "software mode" isn't used to eliminate the need for bit-bobbling to prevent the auto-mute? The I2C connection looks to be 2 pins. Is there something else that makes doing this a pain in the butt?


You must have mis-read my schematic - the CS4270 is being used in I2C software controlled mode on my ARM FPGA board. It's not hard to do and does allow more fine-grained control of the codec operating modes.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1214
Location: West Red Spot, Jupiter
Audio files: 157

PostPosted: Sat Jan 26, 2013 3:59 pm    Post subject: Reply with quote  Mark this post and the followings unread

Of course I misread your schematic Smile

Seems that software mode is the way to go...

_________________
FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff
I am formerly known as ScottG here

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
Back to top
View user's profile Send private message Visit poster's website
elektromeister



Joined: Feb 18, 2013
Posts: 18
Location: Freiburg

PostPosted: Fri Mar 29, 2013 9:04 am    Post subject: Reply with quote  Mark this post and the followings unread

JovianPyx wrote:

work with 200 MHz.

You know that current DSPs work with the double speed already?
DSPs used for VideoApp / GPU go with > 1GHz.

JovianPyx wrote:

I've done 8 voice polyphony using only the on-chip resources of an FPGA and there are still unused resources within the IC.

How many voices can you implement, with a completely filled IC of that type?

Current Synthesizers offer 128 voices of polyphony using DSPs which is already much!
http://www.rolandus.com/products/details/272

On the other hand, searching google for FPGA & polyphony shows up with a FPGA Synth including 8192 voices:

http://www.96khz.org/htm/cyclone4platform.htm

Here is a small one with less voices:
http://hackaday.com/2011/07/10/improved-fpga-synth/
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1214
Location: West Red Spot, Jupiter
Audio files: 157

PostPosted: Fri Mar 29, 2013 9:40 am    Post subject: Reply with quote  Mark this post and the followings unread

First, voice count is a rather crude measure of what a device will support. A "voice" can be as little as a single oscillator or it may be well featured with waveshapers, filters, envelope generators and special effects such that one voice could fill a small FPGA. So to do a reasonable comparison of different devices, one has to account for exactly what the voice does and then compare different devices using the same definition of a voice for each.

200 MHz is not fast for an FPGA and the FPGAs I've used are an older generation (which are slower than new devices). My collection consists of Spartan-3 types.

I've put 16 voices of FM synth (fixed algorithm of 8 operators for bell sounds) into a 400,000 "equivalent gates" FPGA. The same FPGA supports only 8 voices of karplus-strong strings and one voice of a synth with a 60+ state state machine. This is a rather small FPGA (and old). Such FPGAs are fairly inexpensive and can still be purchased in TQFP packages.

The two main advantages I see of the FPGA is the ability of the designer to determine what kind and how much parallelism is used and to determine the exact arithmetic width. The freedom to decide that portion A of a design shall be 96 bits arithmetic and portion B shall be 18 bits allows the hardware real estate to be used very effectively.

Preference can also come into play regarding what kind of coding style you use. I am a C programmer of some 3 decades, yet when I got into using Verilog, I found the design process quite different and for me easier in Verilog than C. Assembly language is powerful, but visually obfuscated. I use it, but I suffer a bit getting what I want out of it.

Basically, and this is just my opinion, working with an FPGA allows you to design a digital circuit really. So the efficiency of it is primarily up to the designer. Using any processor whether RISC, or DSP or whatever, confines the designer to the constraints put in place by the CPU device. These designs are in a class of "general purpose" and not all designs are good for all applications - and some are enhanced by just upping the clock speed. In fact, most general purpose CPUs are "pretty good" at most things and excellent at almost nothing. But the bottom line is that you are forced to work with whatever "stuff" the IC mfr decided to put in the CPU. Every time I've worked with any CPU, I always have to think 'Why didn't they put a "mumbly" instruction in this?' where you discover a need (the "mumbly" process) that requires an inordinate number of instructions to accomplish.

Your milage, however, may vary Cool

_________________
FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff
I am formerly known as ScottG here

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
Back to top
View user's profile Send private message Visit poster's website
elektromeister



Joined: Feb 18, 2013
Posts: 18
Location: Freiburg

PostPosted: Fri Mar 29, 2013 2:28 pm    Post subject: Reply with quote  Mark this post and the followings unread

That is of course true: voice number finally says nothing. From my point I do not have implemented any functions into the FPGA myself yet, I am only in designing the maths around that in terms of regulation processes and algorithms. Noise supression by counter emission of sound, oscillation analysis and cancelling is a common subject related a bit to musics. Basically the same algorithms are used.

We do that with MATLAB which can generate VHDL itself and found that both logical development and implementation of algorithms is much more time demanding when done for FPGAs than for processors because of verification issues and the better support in debugging in the field of microcontrollers.

I also see the costs of FPGA based System components, which are significantly higher and so is the powering demand, compared to a CPU platform with the same calculation power.

For these reasons, FPGAs are only used when absolutely necessary because of IO width and bandwidth in General. Adding another DSP is mostly cheaper.

We recently rebuilt a full scale resonance analyzer formerly based on a virtex FPGA including a Power PC Core at 440MHz already and found though, that a DSP System which operates the same calculations comes with half the Price. The DSPs were 2x$150 instead of $ 750 for the FPGA. Implementation was also done much quicker.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1214
Location: West Red Spot, Jupiter
Audio files: 157

PostPosted: Fri Mar 29, 2013 3:08 pm    Post subject: Reply with quote  Mark this post and the followings unread

All valid points.

For myself, cost was only part of the issue. Once I learned Verilog, I could design for literally any FPGA. Any. If you choose a DSP IC, you are constrained by it's instruction set at least. If you program in C, the compiler masks these constraints, but you have to trust the optimization or go through the output code to determine if C is being properly reduced to machine language. If you program in assembly language (my personal preference) then for each DSP IC (especially when there are different mfrs involved) you must learn it's assembly language. I am not an advocate of "generated code", I prefer to write exactly what I want done rather than trust someone else's interpretation of my high level code to create proper machine language or HDL for a given process.

I've never liked being constrained by a bit width that a DSP (or CPU) chip designer decided was good. I like the idea of being able to use more bits or fewer bits depending on the architecture I'm creating.

Much of this is just personal choice. As far as cost goes, I'm not looking to create a business that sells FPGA based products. To save $100 today for a device I will use for 20 years is pretty insignificant in the long run. I just wanted to make some music doing my own DSP ideas. I had looked at DSP dev boards and their cost was substantial. Not sure if DSP IC mfrs subsidise their dev boards, but FPGA mfrs do. The FPGA boards I use have prices from $50 to $300 (again - older slower devices, but still very useful).

One thing I've learned over my lifetime is that there is no such thing as "permanently optimal". Every invention is eventually (often very quickly) superceded by something new which is faster, bigger or otherwise better than what you currently own. I picked some "low end" FPGA dev boards and continue to be amazed by what they will do. To each his own in this regard. What is most important is - does it do what you want it to do? And can you make it do it?

In my view, the best choice is the one that makes you a happy developer.

_________________
FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff
I am formerly known as ScottG here

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
Back to top
View user's profile Send private message Visit poster's website
elektromeister



Joined: Feb 18, 2013
Posts: 18
Location: Freiburg

PostPosted: Sat Mar 30, 2013 10:59 am    Post subject: Reply with quote  Mark this post and the followings unread

Yes, good point: The limited number of bits were the reason, why the above mentioned system had been changed from a DSP into a FPGA platform at that point of time: A 12 Bit DSP had been used and a 16Bit offered, so a 48Bit precision calculation which was required for the application would have caused long processing cycles when emulating that iw th only 16 Bits. The FPGA was quicker in many meanings.

Later, with 32 Bit DSPs this is much different then and the system was changed back. Now, since 64Bit system with intel workstations are available, people think of moving as most as possible to the PC plattform Smile

The big issue with FPGAs: They do not sell in such large numbers as Microconrollers and platform design is expensive. Using the eval baords is a good idea then, because the are really cheap, since they seem to be sponsored.
Back to top
View user's profile Send private message
elektromeister



Joined: Feb 18, 2013
Posts: 18
Location: Freiburg

PostPosted: Wed Apr 17, 2013 4:21 pm    Post subject: Reply with quote  Mark this post and the followings unread

For those who are interested in this subejct, I found another FPGA project:

The are holding a patent on it in emulating musical instruments. I am not totally sure what is new about it.

http://hamburg-innovation.de/file.php?get=Expose_DE_UHH063.pdf-2011-06-01
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1214
Location: West Red Spot, Jupiter
Audio files: 157

PostPosted: Wed Apr 17, 2013 5:13 pm    Post subject: Reply with quote  Mark this post and the followings unread

heh - Virtex... nice...
_________________
FPGA Synth Stuff
FatMan Mods
dsPIC Synth Stuff
I am formerly known as ScottG here

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
Back to top
View user's profile Send private message Visit poster's website
elektromeister



Joined: Feb 18, 2013
Posts: 18
Location: Freiburg

PostPosted: Fri Apr 19, 2013 3:29 pm    Post subject: Reply with quote  Mark this post and the followings unread

hm, just read again: It is a virtex 2 as I just have seen. Maybe it is not new, but only the patent announcement?

AFAIU they are extracting whole musical equations from the instruments.

Strange
Back to top
View user's profile Send private message
engineer



Joined: Mar 31, 2014
Posts: 4
Location: Frankfurt / Germay

PostPosted: Mon Mar 31, 2014 9:47 am    Post subject: FPGAs for music synthesis applications Reply with quote  Mark this post and the followings unread

Hello al, I came here because when examining my server logs I found my website linked from within this thread in here.

Well, interesting discussion indeed to which I would like to add some words:

Comparing to DSPs and common microcontrollers, FPGAs can really help to improve sound generation in that way, that principally a higher precision of sound quality can be achieved because of then timing: Although DSP's clock frequencies do regularly range higher than those one can effectively use in FPGAs, the ability of easier and smaller implementation of simple oscillators already leads to a lower granularity of the time steps which is closer to analog and parallel processing additionally helps to overcome several limits of the DSPs.

The question is: Is this very fine time processing necessary for sound generation and quality maintainance and the answer is practically often "NO" because according to the sample frequency- and filter physics, it is very well possible to produce a significant number of channels and audio effects at such a sufficient quality with DSPs, to let other devices like microphones and speakers become dominant for the final quality in the signal path. While even with 192kHz and best anti aliasing filters, there are still differences between digital sound and true analog sound, the speakers and head phones often used, hardly can show the differences anymore. By using e.g. 96kHz, 20Bit and filtering, one easily can achieve an "analog like" accuracy (a nearly continuous artefact free time signal).

Also for a given minimum of quality, DSPs architectures are cheaper, easier to use, to program and to test, if one likes to bring it to market, whereby one can often see, that the theoretically possible sound quality of the DSP is not even used, but a tradeoff between number of voices and costs is offered. Keep in mind, that with DSPs, using the half of the sample rate typically offers the double number of voices Smile

So no need for FPGAs?

Well, I'd say no, though. FPGAs are the devices to choose when it comes to the absolute sound quality and when costs are not the point.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Moderators: State Machine
Page 3 of 3 [72 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Microcontrollers and Programmable Logic
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
AmbiphonicDSP

Please support our site. If you click through and buy from
our affiliate partners, we earn a small commission.


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use