- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I want to use avalon interface to read the data from DDR to BRAM with a burst size of 512, bit interface is 64. Currently i am sending the read request as a pulse. But i am not sure if it is the correct way. My rtl stops at some point when i run it on FPGA .
Can someone specify if the READ REQUEST is a pulse or continuous signal?
Thanks
SBilg
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is no "read request" signal in Avalon. If you are saying that you are reading from an Avalon slave, as a master, you must honor the waitrequest signal. You can issue a read command to the slave, but you must hold the command active until one clock cycle after waitrequest goes low (unless there's some additional latency parameters set by the slave) at which point the readdata should be available.
See the Avalon spec for details:
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/manual/mnl_avalon_spec.pdf
#iwork4intel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi sstrell,
Yes, i want to read as a master. I am using the signal WAITREQUEST_N. When i run the module on FPGA, the WAITREQUEST_N is always high, irrespective of whether i am issuing a read command or not. I am using a single master.Even In this case should my module be WAITREQUEST_N dependent?
Thank you for your reply.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your wait request need to be deassert in the slave itself. without deassert on the slave, you cannot do anythings.
Unless you are using fixed wait states, your wait request need to be deassert. Page 26 base on the link above.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
additionally, you can refer to the above link page 21 for the waveforms and explanation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any further queries?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
What happens to the wait request while the data is being sent from the slave side? Does it remain low the whole time until entire transaction is completed?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When the slave asserts waitrequest, the transfer is delayed. While waitrequest is asserted, the address and other control signals are held constant. Transfers complete on the rising edge of the first clk after the slave interface deasserts waitrequest.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page