It looks like the write mask is set to 'U'. I'm guessing that the DQ lines toggle, but the DM lines are not correct. There isn't enough info as you don't have any waveforms of the writes.
Yeah,that was the problem.
Now,i've set my app_wdf_mask bus to "000...0" & also set data mask(dm bits) to 0.
In ug586 manual,he was saying,if you are not driving dm bits in fpga,pull them down with a pull down resistor on your board.
So,i was keeping it undriven.But,now i am assigning it 0 & i'm able to read my data correctly.
But,the 1st data word that i read is still some wierd data & from the 2nd data word onwards,i'm reading my data.
P.S: that wierd data i'm talking about is the same wierd dataword in snapshot 3 of post #9.
Snapshot1: wierd data read in 1st dataword.
Snapshot2: my data from 2nd dataword onwards.
Is the data i'm reading in the 1st data word "444444222222.............999999" is because of some calibration or something ?
That data "444444222222.............999999" is going before my data into ddr3 from ddr3_dq signal as shown in snapshot3 in #9
---------------------------- Edited --------------------------------
Looking back at his example design simulation,he was keeping wdf_mask as "000...0" but his dm bits were "XXX",so i think my problem was because of my wdf_mask remaining as U