07-18-2014 05:08 AM
This message has a previous question. Click
When I do the DDR3 simulation I commented out the example design"traffic generator" and wrote a simple state machine which only write and read once.
here is part of my code.
idle:begin if(done==1) //wait for init_calib_complete finish next<=wr_ac; else next<=idle; end wr_ac:begin //write address,cmd and assert app_en until app_rdy assert if(app_rdy==1) next<=wr_data; else next<=wr_ac; end wr_data:begin //write 576bits data once next<=stop; //assert "app_wdf_wren" and "app_wdf_end" end stop:begin if(counter==10) //wait for counter 10 cycles next<=read_d; else next<=stop; end read_d:begin if(app_rdy==1) // write address,cmd, and assert app_en until app_rdy assert next<=wait_d; else next<=read_d; end wait_d:begin //wait for app_rd_data next<=wait_d; end
If I wrote app_wdf_data as "app_wdf_data=576'h0000000000000000_0000000000001234_0000000000004321_0000000000000abc_0000000000000cba_00000000000001a1_00000000000002a2_00000000000003b3_00000000000004b4;"
the app_rd_data was strange,such like
I do not know the reason.
07-18-2014 06:22 AM
To change the data and command patterns properly, follow these steps:
07-18-2014 06:45 AM
07-18-2014 08:07 AM
Please upload yor mig.prj, xdc and your simulation waveform in vcd format fo analysis
07-18-2014 08:21 PM
Glad that the issue is resolved.
If you remeber I think that is what I said in my earlier post to follow the timing diagrams in UG586
07-18-2014 10:35 PM
05-04-2016 02:15 AM
I am also working on a custom logic that drives the UI. After reading this thread, I am a bit confused.
ug586, Pg 163, the timing diagram and text says that write data & its corresponding signals can be triggered upto 2 clk cycles *before and after* the addr & write_cmd has been placed for it to be successfully buffered insid ethe MIG FIFO
But the jackdo20 mentions initially:
The app_wdf_data must be given with the address and command together.
Then in the end he mentions:
That is true. I am confused because of the "back-to-back"
In burst mode, data seems can not delay for 2 cycles.
Now that looks conflicting to me! What is correct, can anyone please explain?
Consider giving "Kudos" if you like my answer. Please mark my post "Accept as solution" if my answer has solved your problem