SystemC Community Newsletter: December 2007
IN THIS EDITION:
- Working Group
Update: Transaction-Level Modeling
TLM-2 Draft 2 Kit Now Open for Public Review
by Trevor Wieman, TLM WG Chair
The Open SystemC Initiative (OSCI) launched the newly designed and
revamped SystemC.org website in September. The new site furthers our goal of
making the worldwide SystemC community more vibrant, connected, and well
informed. Content has been streamlined in the way it is presented and
accessed on the site, while adding more technical information. In addition,
user group activities are prominently featured. And new discussion forums
invite members to share their insights and experiences with the entire OSCI
New features of the site include (open to the public):
- Link to the free download of IEEE 1666-2005 Language Reference Manual
- Downloads of open source OSCI standards and publicly available drafts
- User group network
- OSCI and SystemC community news
- Event listings
- Free downloads of papers and articles
- Discussion forums
We trust the new website will further open the lines of communication
between all members of the SystemC community. We encourage you use it to its
fullest extent and play an active role in helping make it a success.
If you have comments about the website, please send them to: email@example.com.
TLM-2 Draft 2 Kit Now Open for Public Review
by Trevor Wieman, TLM Working Group Chair
There has been a tremendous amount of activity and
enthusiasm in the TLM working group finalizing the TLM-2 draft 2
standard for a public review period that began on November 30th. It has
been almost one year since draft 1 was released and the standard has
undergone significant change. The scope has been expanded, it is more
cohesive, it has been simplified where possible and it includes more
thorough documentation and improved examples.
The primary goal of TLM-2 is to standardize the way in which models communicate with each other. A set of communications APIs has been provided to form a fundamental, general-purpose interoperability layer. A specific payload, to be used in conjunction with these interfaces, has also been provided to achieve a higher degree of interoperability when generically modeling memory-mapped bus-based components. This generic payload has been simplified, and the efficiency of the mechanism for extending it has been improved.
The communications APIs themselves have also evolved. The lack of synergy between the untimed (using blocking APIs) and approximately-timed (using non-blocking APIs) modeling styles has been addressed by introducing a loosely-timed modeling style based on the non-blocking APIs. This loosely-timed style is recommended for models that will be refined to or co-simulated with approximately-timed models. The un-timed modeling style is simpler to code and less restrictive about how time is managed, so still has a rightful place in the draft standard, primarily for modeling un-timed-only systems. All of these interfaces have been updated to accept a whole (combined request and response) transaction by reference to eliminate redundancy, simplify coding and improve overall efficiency. Support for approximately-timed modeling had initially been slated for inclusion in TLM-2.1, but it turned out to be sufficiently intertwined with loosely-timed that it justified they be fully co-developed. This alleviates the need for TLM-2.1, as previously defined, and TLM-2 will now be used to drive the first round of official TLM standardization.
Several features have been added to improve simulation performance. Temporal decoupling allows initiator models, such as instruction set simulators, to run ahead of the SystemC kernel and synchronize only periodically. This can significantly reduce the required number of costly context switches. The new direct memory interface allows interconnect models to be bypassed facilitating high speed access to modeled memory. A dedicated transaction debug interface has also been provided to ensure absolutely no debug overhead along the mainstream communications paths.
Significant effort has been invested in developing a users manual, training presentation and examples to describe and demonstrate the draft standard's content. The training presentation provides a comprehensive overview of TLM-2 and how to get the most value out of using the standard. The users manual does an excellent job of describing all of the features and defining their detailed semantics. The initial examples demonstrate the un-timed modeling styles as well as integration of legacy models based on TLM-1 interfaces, which are fully preserved in TLM-2. A PowerPoint overview accompanies each example. Examples demonstrating other aspects of the draft standard will continue to be developed and incrementally released for public review.
The TLM working group will continue to improve TLM-2 technical content as well during the public review period. Some areas of likely investigation are locking support for atomic transactions, endian-independent helper functions for the generic payload, analysis ports improvement and integration, direct memory interface snooping support, and enforcing payload attribute mutability rules. Of course, improvements identified via public feedback will receive priority attention.
The SystemC community is strongly encouraged to download the draft 2 standard, available at http://www.systemc.org, and provide feedback throughout the public review period which ends on January 31st. A discussion forum, firstname.lastname@example.org, has been established which will allow subscribers to provide feedback as well as view other reviewer submissions.
A summary of the feedback received and plans for the next revision of the TLM-2 standard will be publicized in conjunction with the DVCon 2008 tutorial, "OSCI TLM-2: An Extensible Interoperability Standard for Untimed, Loosely-timed and Approximately-timed Transaction-level Models," on February 19th. For now, the working group is optimistic that work on a formal TLM-2 language reference manual can begin in earnest around mid-2008 and be completed well before the end of the year. This OSCI LRM will then be used to drive the IEEE standardization process.
We believe today's TLM-2 draft 2 is sufficiently complete and evolved to form the basis of a viable interoperability standard. Please take it for a test drive and let us know if you agree.
Download TLM-2 draft 2 (login required):
Join the TLM discussion group:
Adoption of SystemC continues to build momentum, as do the regional user
groups and resources surrounding SystemC. The newly formed Latin American
SystemC Users Group (LASCUG) hosted its inaugural meeting on Sept 2nd. The
meeting featured 39 attendees and 17 technical submissions.
User group meetings were also held in Europe and North America in the months of September through December. Check the systemc.org website to find out more about the users groups and how to contact them:
OSCI will be hosting forums and user group meetings at upcoming industry
events. Stay tuned for further information.
Feb. 19-21, 2008
Doubletree Hotel, San Jose, CA
Mark your Calendar:
NASCUG Meeting and TLM tutorial will be held on Tuesday, Feb. 19 in conjunction with DVCon.
NASCUG call for papers is open!
Submit your abstract by December 22.
March 10-14, 2008
ICM, Munich Germany
June 9-13, 2008
Anaheim Convention Center, Anaheim, CA
Have a question or information you want to share? Connect with other
experts in the SystemC.org Discussion Forums! The SystemC.org discussion
forums are available to registered SystemC.org site users. Users are
encouraged to post questions and responses to their peers about SystemC
methodology, technical developments and products.
- (NEW!) TLM-2: Allows the SystemC community to interact and provide feedback on the TLM-2 draft 2 standard.
- Announcements: A moderated forum for general news and events from the SystemC community. Submit your news and events to this forum to promote them to other OSCI members and community participants.
- Community: Provides a topical discussion on the SystemC language and how it relates to the community at large. Check here for postings on events, presentations, and downloads.
- ESL: Provides a topical discussion on Electronic System-Level (ESL) Design. Check here for discussion of ESL, including technical activities and advancements.
- Help: Provides peer-to-peer contact for help with specific technical issues encountered by users. Designers will want to check here to find out solutions for architecting a chip, working through bugs and other concerns.
- SystemC: Provides information on SystemC technical activities and advancements, general SystemC discussion, and SystemC verification issues and techniques.
If you wish to participate in a discussion forum, you'll need to register
as an OSCI member employee or SystemC community participant at
www.systemc.org and then subscribe to the forum(s) in which you are
For more information, see http://www.systemc.org/Discussion_Forums/.
If you have questions or need assistance, please contact:
Copyright 2007 Open SystemC Initiative