Apparent bug in LPDDR3 simulation (altera_emif:19.2.0) Arria 10
During a long burst read from a (simulated) Micron LPDDR3 memory, the simulation of the Intel Arria 10 hard controller (quarter-rate) eventually drops a 32-bit word (it delivers xxx's for that portion of the 256-bit delivery). Which kind of destroys the logic that follows. Note that the data arrives from the Micron simulation correctly.
The ram is clocked with default automatic values (800MHz bus rate, 200 MHz reference). It's a bit too much for me to debug, but one glaring issue is that the emif_usr_clk returned by the controller to the user design is not 200MHz but 199MHz. This may account for an eventual data overflow in the controller.
I can mitigate this failure with a limitation on bursts, but that isn't really satisfactory. I suspect that I will not see this issue in the actual hardware, but the controller simulation ought to be fixed.
Quartus IP folder zipped and attached.
Hi KCMurphy,
The emif_usr_clk is around 199MHz and that is in the acceptable range.
The ref_clk is still at the 200MHz.