cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Newbie
Newbie
10,338 Views
Registered: ‎08-10-2010

How to use external RAM in nexys2??

Hello everybody!

 

I'm developping a control system for a robot using a RS232 GPS antenna and a digilent nexys2, everything works fine, but I'm worry because I have to do some operations with the coordinates and when I use atan2 function Data2Mem says that I haven't got enough RAM memory. I tried to increase it from 32K to 64K but I haven't got enough space in the FPGA.

My board has an external 16 Mb RAM (Micron), and I would like to transfer my code (.text is the largest data in my design) to it, so, I change it in the linker script but, when I try to download my .bit to the FPGA it doesn't work. Have you got any idea or tutorial of how I have to change the address to relocate the code in the external ram, and still working???

I have to say that I create the embedded processor with BSB and it creates also the memory controller and everything to communicate with the RAM memory, moreover I programmed the FPGA with the test_memory_app and it works.

 

thank you, and sorry about my awful english...

0 Kudos
10 Replies
Highlighted
Xilinx Employee
Xilinx Employee
10,311 Views
Registered: ‎07-30-2007

Since your code is not longer in BRAM, it also is no longer in the .bit file that you program.  Set only the bootloop program to be placed in BRAM. and thent ry downloading the ELF file via XMD after programming the FPGA. 

0 Kudos
Highlighted
Newbie
Newbie
10,292 Views
Registered: ‎08-10-2010

may I need a special cable or something?? because i try to download it with the USB cable that came with my nexys2 and i'm not able to do that, i tried to use a special plugin that i downloaded from digilent's website but with no results...

0 Kudos
Highlighted
Visitor
Visitor
10,078 Views
Registered: ‎11-07-2010

 cmjulian I have the same issue.  I think the deal is that the nexus2 shared bus of the flash and the ram doesnt adheare to the common flash interface so all that XMD stuff is out of the sindow i think because XMD wants to drive a CFI.  I have been looking for workarounds myself.

 

i 'think' what has to happen is the code has to put in binary form then 'manually' placed in flash/ram by some other means. (maybe the Adept software).  still tho, the bootloader is going to have to know how to run the shared Micron bus unpun reset to fetch the code.

 

im just thinking out loud, that also creates a problem, because i 'think' the bootloaders want to fetch data from Flash and place that code into ram and run it from RAM.  our nexys2 boards have ram and flash on the same bus, so some arbitration would have to be done.  ive seen some edk design on digilents website which shows how to use both the flash and the ram on the same bus with some utility logic. i coulnt ever get it working tho. lost a few days messing with it.

 

 

let me know if you find out anything. id love to hear the resolution.

0 Kudos
Highlighted
Contributor
Contributor
9,970 Views
Registered: ‎10-26-2010

I'm able to download elf binaries using Xilinx SDK and the digilent plugin. Of course, you need to go over Cable setup before programming the board and make sure the linker script sections are assigned to external ram

0 Kudos
Highlighted
Visitor
Visitor
9,855 Views
Registered: ‎11-07-2010

the digilient plugin works with the nexys2? i could never get mine to work? did you ever write a bootloader and get the thing to work with the flash and RAM?

0 Kudos
Highlighted
Contributor
Contributor
9,664 Views
Registered: ‎10-26-2010

Check the digilent website, it has instructions on how to use both flash and RAM resolving the addressing conflict

0 Kudos
Highlighted
Visitor
Visitor
9,380 Views
Registered: ‎11-07-2010

Yea,.. i finally got it to work with xilinx 12.  It seems that the bytes are transposed when the controller does a read, so you have flip flop those when you do the bootloader.

 

I wasted a bunch of time messing with it before i got it to work. Meanwhile since the bytes are transposed you cant use the flash programmer in SDK, so you still have to burn the binary using adept.

 

if anyone else out there is having problems, ill do all i can to get you guys running too.

0 Kudos
Highlighted
Observer
Observer
9,344 Views
Registered: ‎12-04-2009

Well, cmjullian, we too work here on nexsys 2 board and have applications running on external ram. This is how we port the code onto the external ram.
First, in your application menu check the microblaze_bootloop and uncheck the rest.
Next synthesize the design and dump onto to the board using adept.
Connect your JTAG cable (we use xilinx platfrom usb cable) to the connectors on the fpga in the given order. Check the schematic of the board for details.
dump the code using xmd

Hope it helps,

Regards,

Sudeep K C
Regards,

Sudeep K C
0 Kudos
Highlighted
9,003 Views
Registered: ‎02-03-2011

Hi westocl,

 

I am using XIlinx 13.1 with digilent nexy2. I am not able to program the fpga from SDK, although i can do that using the adept software external to Xilinx tools. I would like to know how can i program the elf file, foreg, a helloworld.elf on a custom hardware with standalone bsp. 

 

I tried to configure JTAG on the SDK to use 3rd party plugin, but there is no change. Could you help on this one.

 

Thanks

 

 

0 Kudos
Highlighted
Visitor
Visitor
2,516 Views
Registered: ‎04-13-2011

I have the same problem, but I don't really understand which steps I have to go through to get this to work. I'm using a Nexys2 too. Can anyone explain the steps a little bit or is there a tutorial somewhere?

0 Kudos