BURST ACCESS with UNIPHY DDR-FPGA and DDR-HPS memory controller in CYCLONE V, using QUARTUS Prime 18
WRITE BURSTS
Since the beginbursttransfer signal no longer exists, if you want to concatenate successive write bursts:
Q: is it necessary to enter a dead cycle with write=0 at the end of each burst so that the driver reads the new writeaddress and the burstcount value at the start of the next burst?
Q: How can this dead cycle be avoided?
READ BURSTS:
In this case a single master wants to read a contiguous block of memory through successive read bursts, for example with burstcount=8.
For a single read burst we have interpreted that:
Since the beginbursttransfer signal no longer exists, a read burst is commanded to the controller when in one cycle simultaneously the signal read=1 and waitrequest=0, and it is in that cycle when the burstcount value is copied (beginbursttransfer is no longer needed nor available on QSYS). And that after that cycle the read signal MUST go to 0. And the data to be read is available only when readvalid=1 indicates it, regardless of the value of the read and waitrequest signals.
Q: Is it like that?
For contiguous read bursts we have interpreted that:
Once a master has ordered a read burst cycle, if it (or another master) wishes to order another read-burst cycle that sequence can be performed without waiting for the end of the current burst reading, and the new ordered cycle is accepted and stays on hold within the controller. The pending commands are served in the sequence it were ordered.
Q: Is this the case?
Q: And if so, how many read-burst commands on hold can the UNIPHY controller store?
Hi GuilleJake,
The controller can identify the burst operation from user's command.
When user assert the address, burstcount, read or write and data, the controller knows that the user want to do the burst operation starting at the address with the burstcount value.
So when there is a burst signal such as burstcount, the controller will know that this is a burst operation.
Then the controller will act accordingly to do the burst operation.
They do not need the beginbursttransfer signal to start the operation because the controller is smart enough to identify the operation.
Thanks,
Adzim