Having found its niche as a verification vehicle, the SystemC language and ecosystem continues to evolve under the aegis of the Open SystemC Initiative (OSCI), a confederation of organizations with various degrees and styles of interest in the language. I recently had occasion to chat with Mike Meredith of Forte Design Systems, who serves as OSCI’s president, and to catch up on some of the activities in the various OSCI working groups.
One of OSCI’s primary activities of late is the evolution of standards for transaction-level modeling (TLM), now embodied in the TLM 2.0 standard. “TLM 2 has reached another finish line or milestone,” says Meredith, referring to the release of a draft of the standard in November. That draft library has seen over 1,400 downloads since November. Public review and comments on the draft were closed on January 31, and the TLM 2.0 working group in OSCI is now in the process of cataloging the feedback. There are about 18 organizations involved in the working group.
“Based the comments on the draft standard, there are a couple of technical issues that need some work, mostly minor refinements and some documentation stuff,” says Meredith. One common thread in the feedback was that it was very use-case oriented. “One of the difficulties in developing a standard for TLM is that there’s a divergence of needs in the market,” Meredith says. “For some, it’s about throughput and performance analysis. Others want to boot software on a virtual platform; they need speed and don’t care about fidelity. The challenge for us is to come up with a standard that covers the waterfront.”
The working group ended up with three modeling styles to address the four use cases (see the figure). In addition, a raft of new technology stemmed from feedback of the draft-review process. There was refinement of a generic payload modeling mechanism. The working group also built a direct memory-interface mechanism as a result of feedback. “This is something that has been used in proprietary instruction-set simulators for some time,” says Meredith. The direct memory interface mechanism enables the master in a TLM simulation to bypass the bus and obtain direct access to memory. Simulations can be adjusted at runtime as to when to make that tradeoff.
For the virtual-system use case of TLMsµa key element in software development, designers requested that the standard provide the ability for a master to manage the granularity of synchronization in the system. “You might want to let the processor run 100 instructions before syncing with the other things on the bus,” says Meredith. To that end, the working group came up with a quantum keeper for trading off simulation fidelity versus performance.
Additionally, TLM 2 incorporates improvements in the mechanisms by which the various modeling styles interoperate together. “The real key is allowing different users to be able to combine models, either of different types because they have different needs, or because those are just the models they have,” says Meredith. What will move this into adoption, according to Meredith, will be having a common framework for lots of different kinds of models, including those for which you have adaptors.