Using XMD for memory dumps (speed)

Hello,

I am using the Xilinx XUPV2P board and connect to it using the USB cable. My idea is to upload some data to the board, have the FPGA do some processing and then downloading the result from the board.

To transfer the data I use the XMD utility and connect GDB to it. In GDB I use the "restore" and "dump memory" commands to access the DDR memory on the board and the "load" and "c" commands to load my program and execute it. The nice thing is that all of this is easy to set up, can be scripted, and requires only the usb cable to connect to the board.

The bad thing is that dumping the memory takes a long time. Downloading the data set to the board using the "restore" command has a reasonable speed (for my purposes), about 60K/sec. Uploading the memory from the board back to the PC with the "dump memory" command, however, has a speed of approx. 2K/sec.

This was measured running the USB cable at 12 Mhz, and after the program had finished so no other peripherals were using the bus. The system consisted of a powerPC core, a serial interface and a 256 MB DDR module, and everything the BSB adds to make them work together.

Can anybody tell me what causes this difference in speed? Any hints on how to increase the speed would also be very welcome.

Currently I am considering using the serial port to transfer data back to the PC, since it would get a higher throughput. The ethernet port would also be an option, but since I have no license for the Ethernet core from Xilinx it is kinda hard to get it working.

Thanks,

Martijn

Reply to
Martijn
Loading thread data ...

I'd suggest you try using a download TCL script from within XMD. Basically write a TCL script which reads N bytes from X location, source it within XMD and then execute it. This will avoid the socket communication and remote protocol overhead between XMD and GDB.

However, I *think* you are mainly limited by the speed of the jtag protocol between the powerpc and XMD. In which case using Ethernet or RS232 might be the better option.

/Siva

Reply to
Siva Velusamy

Thanks, I tried that too, but it did not seem to improve the speed very much. So, I think you are right about the JTAG protocol being the bottleneck.

I have the RS232 port working now and am using the xmodem protocol to transfer data. Theoretically the USB interface with the board should be a lot faster, but I can manage like this too.

Reply to
Martijn

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.