GreenBus
GreenBus stops at TLM 2.0! Many core concepts of GreenBus have been incorporated into OSCI's new TLM 2.0 standard. To get the latest information on TLM 2.0, check out http://www.systemc.org.
Overview
In addition to the core communication fabric, which now is being ported to TLM2, GreenBus comes with:
- A library of bus protocol classes. They can be plugged into the GreenBus TLM2-compliant Generic Router, thus changing a channel's behavior on the fly, e.g. from CoreConnect PLB to AMBA AXI.
- A library of User APIs, e.g. TLM1, ST TAC, OCP-tl1, PCIe. They fit on top of the TLM2 generic protocol and allow connecting models with different interfaces and different abstractions to any generic TLM2 interconnect.
Key Concepts
GreenBus is not a bus. GreenBus is a versatile SystemC framework with which to model busses, aiming at simulation models of complex on-chip communication architectures. In addition to the bus fabric itself, GreenBus also provides other related services such as configuration and analysis.
The key advantages of GreenBus over other SystemC TLM fabrics are:
- Separation of communication architecture functional simulation and user APIs (e.g., connect an OCP device to an AMBA bus functional model without writing an adapter);
- Supports transactions between components at different levels of abstraction (PV, PV+T, BA, CC, ...);
- Immersed configuration, analysis, and SystemC/TLM-aware debug features;
- Open architecture for user extensions and tool integration (download additional protocols and APIs);
- Adheres to common standards such as OSCI-TLM and OCP.
Getting GreenBus and Documentation
| Get the source code (in SVN repository) |
| GreenBus v2.0 White Paper and Implementation Proposal |
GreenBus is open source. To get started with GreenBus use one of the download links above. There are several examples included with the GreenBus distribution.
History of GreenBus
GreenBus was developed from 2004 to 2007 in close cooperation with SystemC enthusiasts in both industry and academia. The core fabric went through several refinement cycles. See projects/Greenbus/docs/History for a list of documents that track this development.
This work is supported by
![]() |
Documentation:
Release List:
| package lable | Stability | Date | Project | Architecture | Quality |
|---|---|---|---|---|---|
| greenbus/1.0.1686/bare | Unstable (Not tested yet) | 30 Jan 08 | GreenBus | all | ![]() |
| greenbus/1.0/bare | Testing (being tested) | 27 Jul 07 | GreenBus | all | ![]() |
Posted November 29th, 2007 by WolfgangKlingauf

