- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have recently switched from sopc builder to qsys and am having problems with some of my own components that include avalon masters.
I'm using a very simple avalon master (not pipelined). What I'm seeing is the waitrequest input to my master is always active if it's connected to a slave that is also connected to another master. The waitrequest is active even if my master isn't accessing the bus. Waitrequest is active even if no master in the system is accessing the slave port that my master is connected to. I don't recall having problems like this with sopc builder. Is there some setting that I've overlooked? The first time I saw this problem I was able to work around it by changing the system design so that only my master was connected to the slave (an internal RAM block which I changed to dual port). I'm now seeing the same problem on a second component which doesn't have such a simple work around. Thanks for any pointers.Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, it's been a long day.
Just after posting I was going back through the Avalon spec and ran into this: --- Quote Start --- A master must make no assumption about the assertion state of waitrequest when the master is idle. --- Quote End --- That's my problem of course, I had misremembered how the waitrequest signal worked and was expecting it to be inactive when my master wasn't busy. Nothing to see here folkes, move along! :oops:- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Well, I've also been going through this and it means that if the waitrequest is stuck high, then it may simply be that the master is idle and hiding its bug.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The master behavior has well to be changed on that case when migrating from SOPC to QSys to avoid the deadlock:
SOPC Builder to Qsys Migration Guidelines : --- Quote Start --- Avalon-MM wait-request Signal If your Avalon-MM master component is configured to wait until the wait-request signal is deasserted before starting a transaction, the transaction may become deadlocked. You must configure your component to start transactions independent of the status of the wait-request signal. --- Quote End --- http://www.altera.com/literature/an/an632.pdf
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page