Hi,

"Resource stall" means that you are running out of something to perform the 
transition right now.
Something can be: room in the TBE table, banks in a cache tag or data array, 
space in a message buffer, etc.
All these things are grouped under the concept of resources.

Before a transition takes place, SLICC introduces checks for all resources 
consumed by the upcoming transition.
Specifically, an enqueue block triggers a check on the available space in the 
enqueue buffer. check_allocate(SOMETHING) will test the return value of 
SOMETHING.areNSlotsAvailable(...). Finally, a "transition(...) {RESOURCE_TAG} 
{...}" (notice the extra braces with RESOURCE_TAG in), will test the return 
value of checkResourceAvailable(RESOURCE_TAG, address) that you implement 
yourself in your machine definition. The later typically is for more advanced 
protocols.

If one of the required resources is lacking (the corresponding test fails), 
then the transition will not take place.
It will still be logged in the protocol trace but with the Resource Stall flag 
at the end to indicate that the transition did not take place.
The controller then schedules a wake up at the next cycle to retry the 
transition and then jump to the next in_port.

In you case, the transition requires two resources to take place: a slot in the 
TBE table for the i_allocateTBE action and an entry in the requestNetwork 
buffer for the a_issueGETS action. You are likely running out of one of these 
two resources.
Sadly, SLICC will not tell you witch one... Luckily, because this is perfectly 
normal, you probably don't need to know unless you are hacking the protocol and 
suspect this is a bug.

If you scroll down (possibly a few hundred lines), you should see the 
transition being performed at some point (no resource stall at the end).
I recommend grepping on the line address to remove some noise ;)

Gabriel
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to