Using TLM-2.0 Extensions for Bus Locking and Snooping
John Aynsley, Doulos
The OSCI TLM-2.0 standard includes a base protocol that supports many common features of memory-mapped busses, but omits certain features such as the ability to claim exclusive access to resources on the bus (locking) and to inform the processor when another bus master writes to memory (snooping). TLM-2.0 was architected such that functionality can be added to the base protocol using a built-in extension mechanism. This begs the question "How easy is it to do?"
In this presentation, John Aynsley of Doulos shows how he has been able to use the TLM-2.0 extension mechanism to support simple bus locking and snooping schemes. The purpose of this work is twofold: to demonstrate that the TLM-2.0 extension mechanism is both powerful and straightforward to use, and to give a simple tutorial on how to make effective use of some of the TLM-2.0 infrastructure. In addition, John shows how he was able to benefit from taking a more disciplined approach to memory management than that provided natively in TLM-2.0.
The tutorial was presented on July 27, 2009. A shortened version of this tutorial was presented at the North American SystemC User's Group meeting at DAC 2009.