Model availability is crucial for the success of ESL. With the finalization of TLM 2.0 at DAC08 the industry reached a significant milestone, to enable interoperability between different provider’s models and close this gap on model availability. The TLM 2.0 specification has evolved significantly from its first draft. To support all the requirements from users and various applications, the standard defines comprehensive and fairly complex protocol specification with more than 150 rules.
The TLM 2.0 rules are defined to make sure that the intended communication behavior is implemented correctly. If one component is not compliant to the TLM 2.0 specification how reliable are all analysis and performance results derived using it? Moreover, how could one rely on the Software developed using a virtual platform that is not correct? How can a user ensure that his/her components obey all such rules defined by the TLM 2.0 protocol? How can one be certain that models from various sources are fully interoperable inside real applications? What happens if a model is not following the standards?
In this article we will answer those questions. We will describe the impact to the user when some components are not compliant to the TLM 2.0 standard. We also discuss debugging effort to find TLM 2.0 protocol violations and the different options developers have to quickly identify if a component is TLM 2.0 compliant.