Provided that one is using a simple Avalon MM interface with waitrequest, is it possible to read or write data on every clock cycle or does one need to use avalon streaming interface or avalon mm burst interface?
Depending on details, it may be possible with a pipelined interface. I'm not sure if it would be possible with a bursting interface (you would need to pipeline the burst requests as well).Depending on what you're doing, it might be simpler to run the Avalon-MM at a higher clock rate with bursting in order to achieve your net required throughput. https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/manual/mnl_avalon_spec.pd... --- Quote Start --- 3.5.3 Pipelined Transfers Avalon-MM pipelined read transfers increase the throughput for synchronous slave devices that require several cycles to return data for the first access. such devices can typically return one data value per cycle
for some time thereafter. New pipelined read transfers can start before readdata for the previous transfers is returned. Write transfers cannot be pipelined. --- Quote End ---