Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎12-18-2017

read and write data into ddr3 memory in virtex7 - vc707

I want to write 65532*1024 bit values into DDR3 memory in virtex-7 (vc707) FPGA board.

And I need to read any one of 65532 data using an 16bit address input.That (16bit address)  should be given through gpio to the memory during runtime.

I generated the block using block design in vivado 2015.1.And exported the bitstream into SDK.

I want to access the DDR3 memory from PC through the UART using hyperterminal or teraterm.

I got a sample code from lancesimms website(under mapping uart to led concept) and edited the code to my necessity.

I attached the 'C' code to run in SDK to accept 10*1024 bit values.

Here I accept hexadecimal input and I stored 32 bits of data at each memory location starting from the base address of SDRAM.


Here in the above code when I tried to write 10 or above values each of 1024bits (which i declared as variable "ad" in the attached code), only 9 values are getting stored and the rest are not getting written into the memory.


Even if I increase the "ad" value  above 10, the loop runs completely for just 9 iterations and when it comes to 10th iteration it gets stopped in the middle as shown in the png file.


As I've attached the png file, data to be written gets stopped in the middle after the 9th iteration of "ad" variable in the attached code.

I've tried changing the AXI data width but no changes in the result.


Is there a problem with the hardware (that is the block design) or the code which I've uploaded.

Could you please identify any mistake in the code.


Or do I need to change the way of execution.


I'm new to the FPGA world so help me from the scratch.

Thank you.


0 Kudos
2 Replies
Registered: ‎03-22-2016

venkat@ssn you could use the console XSCT to read from file and write to memory

See page 26

But because you are on a VC707 you will need a microblaze with UART access. --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
Registered: ‎12-18-2017


Thanks for your response sir,

In that case what is the maximum word size that can be given as input in the bin file.

And how do I differentiate between each word while creating the bin file.

And is there any other way to send the input file with hexadecimal values?.

0 Kudos