Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Networks

SystemC revision drives toward synchronized system-level design

Posted: 01 Apr 2001 ?? ?Print Version ?Bookmark and Share

Keywords:osci? systemc? bus protocol? synthesis tool?

Taking a big step toward creating a full system-level design language, the Open SystemC Initiative (OSCI) steering group announced the SystemC v2.0 specification at the Asia South Pacific Design Automation Conference in early February this year. The group also announced the availability of beta software for v1.2, which has a more limited set of the system-level features in v2.0.

Synopsys and CoWare launched the SystemC effort to create a standardized dialect of C/C++ for both hardware and software design. SystemC provides a C/C++ class library that represents hardware concepts such as concurrency. Some 54 companies have endorsed OSCI, and six companies-Synopsys, CoWare, Cadence, Fujitsu, STMicroelectronics and Motorola-were heavily involved in the 2.0 specification.

The original SystemC 1.0 was essentially a register-transfer-level language, said Gary Smith, chief EDA analyst at Dataquest. "SystemC 2.0 has basically brought it up to the ES (electronic-system) level, so it may address the original high-level modeling language requirements," Smith said. "It is an announcement of major importance."

SystemC 2.0 provides new methods of synchronization and control, including channels and events. But it does not include some features that may be important to software developers, such as dynamic threads, RTOS modeling and interrupt modeling. Those features are on the SystemC road map, however.

"SystemC 2.0 is all about modeling entire systems that consist of hardware and software," said Kevin Kranen, director of marketing for SystemC at Synopsys. "1.0 is about capturing things at the functional block level. 2.0 extends that to the notion of a global system with many subsystems, both hardware and software, interacting in a concurrent fashion."

SystemC 1.01, 1.1 beta and 1.2 beta are available now at The software is available through open-source licensing. Kranen said OSCI is shooting for third-quarter delivery of 2.0 software, with an intermediate beta version likely in the second quarter.

Channels and events

While SystemC 1.0 has some features that support system-level modeling, it relies on hardware signals for communication and synchronization. Hardware signals are difficult to model in software and are generally not sufficient for system-level modeling.

SystemC 2.0 introduces three new features that implement a new model for communication and synchronization. These include channels, which allow communications between blocks; interfaces, which specify access methods to be implemented within a channel; and events, which are low-level synchronization primitives.

Events provide a more flexible synchronization mechanism than signals. Unlike signals, an event does not have a type and does not transmit a value. Events always cause sensitive processes to be resumed. And event notifications can be specified to occur at any time, whereas signal assignments always occur one delta step in the future. Also new in SystemC 2.0 is the notion of dynamic sensitivity, accomplished by allowing arguments to the "wait" statement.

SystemC 2.0 will not support the continuous time models used in analog modeling. It will, however, support various models of computation, including static and dynamic multirate dataflow, Kahn process networks, communicating sequential processes, and discrete events.

"We have grown up out of the hardware box into the system architect box," said Pete Hardee, director of product marketing at CoWare. "Version 2.0 pretty much has all most people would ever want."

The SystemC 1.2 beta release, apparently, has some but not all of what systems designers would want. It has channels and interfaces, but they are limited to implementation of bus protocols. The capability in version 2.0 is much more general-purpose, Hardee said.

? Richard Goering

CMP Media

Article Comments - SystemC revision drives toward synch...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top