Altera_Forum
Honored Contributor
10 years agoUser Auto-Refresh Conduit with hard memory Controller. Strange request behaviour?
Hi all,
I have an FPGA application which needs the DDR3. I am able to write and read through the MPFE (Multi-Port Front End) but I have some criticial timing therefore I want to handle the refresh by myself. I checked the User Auto-Refresh controls and the conduit is there. So, when I know that there is enough time to do a refresh, I simply set the local_refresh_req to high/1 and wait for the local_refresh_ack to get high. Besides that, the chip signal is also set to the right value. But that never happens. The acknowledgment through the local_refresh_ack only gets to a high/1 value, if I oscillate the request signal from 0 to 1 and the next clock cycle from 1 to 0 until the acknowledgment is high. At this point, I stop to oscillate and a refresh really happens at the DDR3. Why do I need to do that? I thought that it would be much more intuitive if the request signal can be assigned to 1 until I receive an acknowledgment. And I can not even find something in the documentation which descirbes this behaviour. Any ideas if I am doing something wrong or experience with the User Auto-Refresh controls? All this happens in the simulation. Never tested that on the real board because there is some other work to do before it can be tested on the board. Thanks!