Guest
#6630892
Hello guys, I'm working with the IS42S16400 model 64-Mbit SDRAM that I have. I write 16-bit data to random addresses and read. It's okay to write, but I'm having trouble on the reading side. I used the SDRAM controller model in the link. The friend who designed it used IS42S16160G. I changed the timing and address sizes according to my own integration. constant CL : integer := 2; constant tRCD : integer := 2; constant tRP : integer := 2; constant tRAS : integer := 4; constant tRC : integer := 7; constant tREF : integer := 64; In the test program I designed, I printed the values I specified in the addresses below and then had them read. Address -> Value 1024 -> 3000 + state 2097152 -> 16000 + state 2048 -> 12000 + state 8192 -> 6800 + state 16384 -> 1800 + state 32768 -> 5862 + state As seen in the picture true_read.PNG, the data I wrote was read correctly. However, if I change any address or address content and read, the address content is read incorrectly. I changed the address content of 2097152 to 19000. He read this address correctly, but read 1024 as 1814. false_read.PNG Sometimes it reads incorrectly on the first load. Why is it reading incorrectly this way? SDRAM: https://bertantaskin.com/fpga-ile-sdr-sdram-kontrolu/ SDRAM Test: https://github.com/onur94/FPGA/blob/master/SDRAM_Controller_Fifo.vhd

