UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor ugii
Visitor
6,229 Views
Registered: ‎04-01-2011

DDR2 Memory

Jump to solution

Hi All,

Can anyone give me clue or show me a documentation about how to use external memory on FPGA board.

My question is I want to upload few .mp3 files to DDR2 Memory I have on my FPGA board and then I will send  to my AC97 decoder so I can listen the .mp3 file from my head phones, I searched it on internet and I am not being able to find the right source about how to upload .mp3 files from my PC to my on board memory module on FPGA. Can you give me any advise about this.

 

Regards

Mustafa

0 Kudos
1 Solution

Accepted Solutions
Teacher eteam00
Teacher
7,748 Views
Registered: ‎07-21-2009

Re: MP3 player

Jump to solution

I need to read and learn about DRAM controllers more to figure out how to make them work (what I know about them is simply We can make them work like a bridge between PC and External memory on the FPGA board)

 

Yes, the memory controller is a bridge between PC (I hope you mean "FPGA logic" rather than "PC") and external memory.  To efficiently use this "bridge", however, requires some knowledge of SDRAMs at the device level.  The Spartan-6 memory controller is a tremendous simplification for the hardware designer who requires external memory, and the Spartan-6 memory controller is packaged as such.  If you are a programmer at your core, wishing to build a hardware system by dragging and dropping blocks (cores) into a bucket, using the Spartan-6 memory controller may not be quite as simple as strolling across a bridge.

 

The good news is that you need learn only as much as necessary, as the need arises.  FPGAs are quite forgiving, and the Atlys board is already proven.

 

MP3 decoder on the board can do DAC and ADC so I can send my digital .mp3 signals to DAC and headphone jack on the board can transfer the Analogue signal to headphones, If my understanding is not wrong( you can correct me if I am completely wrong) simply this is how it works.

 

You have some reading to do.  Wikipedia articles on AC'97 and MP3 (they aren't the same) would be a good start.  You should also read the datasheet for the NatSemi LM4550 audio chip on the Atlys board.

 

Let me be somewhat blunt and terse:  FPGAs do only what you design into them, and no more.  They are a blank slate which you must fill.  It is up to you to identify and resolve every last functional detail.

 

At a top-level block diagram level, your functional description of your design is entirely reasonable and straightforward.  The experienced designer knows that each block and each connection between blocks in the diagram must be designed and debugged.

 

If this is your first FPGA design, start with something simple to the point of silliness.  A UART or a 'press a switch and light some LED' design is a good start.  This will give you a feel for the use of the tools and the level of detail which will be needed to successfully complete a design.  Then you can move on to the MP3 player with confidence which comes from knowledge, understanding, and some experience.

 

One last note:  The Atlys board is a 3rd party product designed and offered by Digilent.  In a perfect world, this thread belings in the 3rd Party/Other Boards and Kits forum.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.

View solution in original post

0 Kudos
6 Replies
Teacher eteam00
Teacher
6,208 Views
Registered: ‎07-21-2009

MP3 player?

Jump to solution

You want to build an .MP3 decoder/player, correct?

 

Do you know anything about FPGAs, .MP3 decoding, audio amplifiers, DRAM controllers, or logic system design?

 

You request is very broad and very vague.  Designers usually accumulate the needed bits and pieces of expertise and knowledge over months or years, perhaps you can narrow down you request to some specific items.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
0 Kudos
Visitor ugii
Visitor
6,198 Views
Registered: ‎04-01-2011

Re: MP3 player?

Jump to solution

Thanks for your response

 

Yes I would like to build a simple  .mp3 player. I do have a knowledge about FPGAs, but I need to read and learn about DRAM controllers more to figure out how to make them work(what I know about them is simply We can make them work like a bridge between PC and External memory on the FPGA board),  Also I am not bad with logic system design. 

 

I have a digilent Atlys development board which already occupies MP3 decoding IC on board. MP3 decoder on the board can do DAC and ADC so I can send my digital .mp3 signals to DAC and headphone jack on the board can transfer the Analogue signal to headphones, If my understanding is not wrong( you can correct me if I am completely wrong) simply this is how it works.

 

To narrow down my request I have a small system where I need to play some .mp3 files according to coming input from external devices(i.e, if push_button 1 pressed which gives "pass " command and else if push_button 2 pressed gives"fail" command and according to my inputs I would like to play some .mp3 files). I am not going to do any processing with .mp3 files. Simply I want to put 3 or 4 mp3 files in to memory and according to my input states I would like to play those mp3 files from my memory

 

Regards

Mustafa

0 Kudos
Teacher eteam00
Teacher
7,749 Views
Registered: ‎07-21-2009

Re: MP3 player

Jump to solution

I need to read and learn about DRAM controllers more to figure out how to make them work (what I know about them is simply We can make them work like a bridge between PC and External memory on the FPGA board)

 

Yes, the memory controller is a bridge between PC (I hope you mean "FPGA logic" rather than "PC") and external memory.  To efficiently use this "bridge", however, requires some knowledge of SDRAMs at the device level.  The Spartan-6 memory controller is a tremendous simplification for the hardware designer who requires external memory, and the Spartan-6 memory controller is packaged as such.  If you are a programmer at your core, wishing to build a hardware system by dragging and dropping blocks (cores) into a bucket, using the Spartan-6 memory controller may not be quite as simple as strolling across a bridge.

 

The good news is that you need learn only as much as necessary, as the need arises.  FPGAs are quite forgiving, and the Atlys board is already proven.

 

MP3 decoder on the board can do DAC and ADC so I can send my digital .mp3 signals to DAC and headphone jack on the board can transfer the Analogue signal to headphones, If my understanding is not wrong( you can correct me if I am completely wrong) simply this is how it works.

 

You have some reading to do.  Wikipedia articles on AC'97 and MP3 (they aren't the same) would be a good start.  You should also read the datasheet for the NatSemi LM4550 audio chip on the Atlys board.

 

Let me be somewhat blunt and terse:  FPGAs do only what you design into them, and no more.  They are a blank slate which you must fill.  It is up to you to identify and resolve every last functional detail.

 

At a top-level block diagram level, your functional description of your design is entirely reasonable and straightforward.  The experienced designer knows that each block and each connection between blocks in the diagram must be designed and debugged.

 

If this is your first FPGA design, start with something simple to the point of silliness.  A UART or a 'press a switch and light some LED' design is a good start.  This will give you a feel for the use of the tools and the level of detail which will be needed to successfully complete a design.  Then you can move on to the MP3 player with confidence which comes from knowledge, understanding, and some experience.

 

One last note:  The Atlys board is a 3rd party product designed and offered by Digilent.  In a perfect world, this thread belings in the 3rd Party/Other Boards and Kits forum.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.

View solution in original post

0 Kudos
Scholar joelby
Scholar
6,178 Views
Registered: ‎10-05-2010

Re: MP3 player?

Jump to solution

Are you absolutely sure that the Atlys contains an MP3 decoder?

 

You could have a look at my Digilent Atlys Resources page for a basic guide to using the Memory Interface Generator with this board. It's mainly helpful if you've read the MIG documentation and are still a bit confused about how it all goes together.

 

No universal guide exists for uploading data to a DDR memory chip because everyone will want to do this a different way and for different reasons. You'll need to decide what PC interface to use (the USB serial interface might be the easiest) and then some method for negotiating a transfer with the PC and uploading it to memory. You could do this with a big state machine, but it would be significantly easier to use MicroBlaze if you have a license for it.

0 Kudos
Visitor ugii
Visitor
6,164 Views
Registered: ‎04-01-2011

Re: MP3 player

Jump to solution

Thanks for your response again

 

I think you made everything more clear for me.I need to read more about AC`97 audio codec and MP3 format. So I can distinguish the differences between them.

 

LM4550 is not a MP3 decoder(I missed this out, wrong thinking)!!! it is a Audio Codec that streams the data out to headphone outputs.

 

We can place the MP3 files to memory, as you mentioned in your post as well, it is up to designer is need to what to do with this inside the FPGA(or what you want to do with this data while it is passing throught the FPGA), this is the beauty of the FPGAs, empty fabric(blank state and designer must fill) can be modified according to designer`s needs(for example : filtering or processing can be done inside the FPGA) and different functionality can be produced and send to AC`97 audi codec to stream the data out from headphone outputs.

 

Thanks for pointing this important informations to me, your help and your time is really appreciated.

 

Regards

Mustafa

0 Kudos
Visitor ugii
Visitor
6,163 Views
Registered: ‎04-01-2011

Re: MP3 player?

Jump to solution

Thnaks for your response Jeolby,

 

Atlys does not contain MP3 decoder it contains AC`97 audi codec!!!, thanks for helping me to realize this important information as well..

 

You are right, there is no universal way of uploading data to DDR memory, it depends on designer is needs how to upload and what sort of interface is available( for eample for atlys board if you want to capture data coming from HDMI port you can design it and data coming from HDMI port can be written into memory or you can use USB or UART.) .

 

Also your page looks really handy about MIG, I ll read through this useful information from your page.

 

Thanks for your tim, really appreciated

 

Regards

Mustafa

0 Kudos