Forum Discussion
Altera_Forum
Honored Contributor
10 years ago --- Quote Start --- I'm realizing a custom Avalon MM Slave, which should be able to operate in burst mode. Focusing on burst READ commands, I have a doubt about the possibility that a single master asks for multiple read transaction in a row (without waiting any time between them). My slave can manage only one burst transfer at a time, what should I do in the case of multiple requests? Should I use waitrequest? --- Quote End --- Yes. --- Quote Start --- I can't show here my VHDL code for business reasons, but what if I use an internal status variable and make waitrequest=1 when status=BURSTING (i.e. the slave is managing a burst transfer)? Does this work or the master won't receive any data if waitrequest=1 all the transaction duration long? --- Quote End --- Your interface state machine can assert waitrequest at the end of the clock period where you accept the read transaction, and keep it asserted until the last data phase of readdatavalid assertion. I just posted a tutorial on using the Avalon-MM Master BFM which include VHDL source code. Take a look at it. There is a burst example in the Modelsim simulation. http://www.alteraforum.com/forum/showthread.php?t=48928 Use the BFM to test your component. My test example does not generate lots of different Avalon-MM sequences, but the example will be enough to get you started. Cheers, Dave