HelloI am simulating DDR2 Hi performance controller that came with Q9.1. The problem is my simulation works fine for MAXIMUM_ROWS = 16'h0018 MAXIMUM_COLS = 10'h3F8 but read back fails with MAXIMUM_ROWS = 16'h0019 MAXIMUM_COLS = 10'h3F8 (I assert the read_req but never receive a read_valid back from the controller) Somewhere there are write requests in the system that are left unfinished while my state machine switches to reads. I am attaching my state machine + a snapshot of waveform. The snap shows end of writes and beginning of read for which the read_valid never comes if MAX_ROWS are greater than 0x18. Can someone guide me to whats wrong; all my debugging skills have failed so far. Thanks a million and Regards.
What are your interface specs? Half rate DDR3? If you have a half rate controller you need 2 beats of write data on the local side, ie a 2 write burst, over 2 clock cycles, burst begin only goes high for the first one however. This is assuming local size is set to 2. If you only have half this data then you need to set local size to 1 for that write.
HelloYes, I am using half rate DDR2 and local size = 2 and i am doing 2 beats, burst begin is high for 1 cycle and low for 1. I attached my state machine and a waveform capture of these signals in my previous post, if you want to take a look. Thank you! Regards
you say the read goes out but data never comes back?, are you sure the read went out (externally). i would probe many more signals in your simulation to get a better picture of what is happening.