Is there any way there are going to be a crap-load of followup questions after I answer your current question with "Yes."? XD
Because generally speaking, yes this is indeed possibly. But the difference between this simple "yes" and something that actually does something is a lot of hard work. And that hard work starts by writing a somewhat detailed specification.
Have you looked at the nexys 3 documentation to determined if there is a A/D converter on the board to sample the audio? Or do you have an A/D convert that you will connect to the nexys 3 board to receive digitized audio data? Do you know anything about Nyquist theorem?
Given the problems you had on your previous posts about the sine wave. I suspect you're biting off more than you can chew with this design.
i hope i'm not ads-ee! I dont know if you know but the nexys 3 board doesn't actually have A2Ds or D2As on board... still i have an external a2d in hand but dont really want to use it for this process. is there a way of transferring already digital audio onto the fpga?
Long answer needs more information from you (specifications).
Where does the digital audio reside? is it going to be sent realtime to the nexys 3 (streaming) or is it a file on a PC that you send to the nexsys 3 possibly in it's entirety to a DDR RAM of some sort.
Things like that need to be understood (by you) before we can make suggestions or help you further.
Well, you said digital audio processing. For that you don't need analog. Needing analog would mean there were some unwritten assumptions. ;-)
For digital audio processing all you need is digital input audio stream ==> processing block ==> digital output audio stream.
On the subject of transferring ... you want to think in terms of stream, not file. You want to stream your digital audio to the fpga and do whatever processing.
You can stream the data either over USB or ethernet. Which one you choose depends on what code and experience with nexys 3 you already have and what your other requirements are.
the aim of my project is of implementing a basic SDR. i would need an audio file streamed to my fpga, which would then be modulated, and later on transmitted.. as you've guessed i'm still learning so i dont have much experience but am willing to learn.. which do you think is easier, streaming data over usb or ethernet ?
Depends. USB probably is a little easier. Anyways, isn't there a supposedly easy to use digilent component that abstracts some of this away for you? I recall trying it waaaay back and not liking it, but that is years ago. With a bit of luck they improved it over time.
I just knew you'd go for file transfer instead of I/O.
Question regarding your requirements:
- do you want process small chunks at a time?
- do you want to process an audio stream?
So, which is it? chunked or stream? If chunked then file might be okay. If stream then I'd ditch file right now and get some I/O going. I'd start with looking how the adept API works so I can make a small tool that sends data to the fpga and can receive data back. And then on fpga you make a simple echo server as first thing. After you get that working you make a small processing pipeline. And after that you do the real design with full processing.
So action numero uno: read the Adept docs and see how you can do streaming read/write to the fpga.
- - - Updated - - -
Grab the SDK for either linux or windoze here: http://www.digilentinc.com/Products/Detail.cfm?Prod=ADEPT2
And then check out the samples + corresponding doc/*.pdf