Products Using OCP
Advancing Transaction Level Modeling
The growing need for Transaction Level Modeling (TLM) standards that can
link together SoC architecture and software development at levels of
abstractions higher than RTL has stimulated CoWare (an OCP-IP Sponsor member
and founder of OSCI) and Sonics (co-founder of OCP-IP and contributor to the
OCP-IP System Level Design Working Group) to collaborate on a cohesive
methodology that addresses both SoC designer and software developer
needs.
The convergence of communications and multimedia data processing onto a
single chip continues to push SoC complexity in two areas, SoC integration
and software development. To address SoC integration issues, the industry
has been moving towards standardizing the IP core interfaces to achieve high
reuse. To address software development, the industry has been adopting
higher abstraction simulation models which can deliver near enough
performance and accuracy to enable software development to begin in parallel
with chip development. While OSCI has focused on the software development
concerns and OCP has focused on SoC integration concerns, the concept of
Transaction Level Modeling would most benefit from a methodology such that
both standards can be utilized in a straight forward manner. Using CoWare’s
ConvergenSC and Sonics’ SMART interconnects; the two companies have designed
such a common methodology which achieves the unified TLM goal.
TLM in SystemC – The
OSCI Proposal
The primary goal of TLM is to dramatically increase simulation speeds,
while offering enough accuracy for the design task at hand. The increase in
speed is achieved by the TLM abstracting away the number of events and
amount of information that have to be processed during simulation to the
minimum required. For example, instead of driving the individual signals of
a bus protocol, the goal is to exchange only what is really necessary: the
data payload. TLM also reduces the amount of detail the designer must
handle, therefore making modeling easier. The necessary information is
presented to the designer as a TLM API (Application Program
Interface).
The OSCI TLM API is built as a set of interfaces that define how models
communicate. These interfaces can be used in their primitive form or be
augmented with a ‘protocol-layer’, which will target the basic interfaces to
a specific on-chip communication protocol or design task. This protocol
layer provides a set of convenience functions that make the TLM modeling
abstraction much easier to use.
TLM in
SystemC – The OCP-IP Proposal
The OCP-IP TLM proposal provides a SoC communication modeling framework and
is an output of the System Level Design Working Group within OCP-IP. The
proposal comprises a set of well described layers of abstraction that
together create a structured link between up-front architecture exploration
and SoC implementation. An additional objective is to create a hierarchy of
models that are re-usable from one layer of abstraction to the next and
across uses (e.g. performance analysis and testbench creation). Finally, the
proposal is intended to provide clearly articulated entry points into the
hierarchy from which EDA vendors, chip designers and architects can create
and easily distribute tools, testbenches, executable specifications, etc.
within their organization or the industry as a whole.
Message
layer (L-3)
Message, or Layer 3, models are at the highest level of abstraction defined
and are intended to be used by SoC architects as proof of concept tools, to
rationalize first order functional partitioning and to provide data needed
to make system level architectural trade-offs. SoC models created at Layer 3
are also intended to be re-used as executable specifications. L-3 models are
event driven and untimed. Each transfer across their interface contains
several datum that are often abstracted to a higher order. For example, a
message could contain the equivalent data from several bursts of data at a
lower level of abstraction that form a complete MPEG4 macro-block. Another
key characteristic of the models created at this level of abstraction is
that they are not address mapped, but process mapped.
Transaction Layer
(L-2)
Transaction, or Layer 2, models are designed to be used by SoC architects
to carry out detailed hardware performance analysis and hardware/software
partitioning and co-development. They also contain a high degree of
versatility in their application. They can be used to interface low level
drivers with hardware simulation models and integrate Operating System
simulators with hardware emulators. Continuing the re-use objective,
Transaction Layer models can also be used as the source for “Golden” test
patterns and can form the test bench for Transfer Layer (L-1, below) models.
L-2 models have structural accuracy sufficient to model a complete system
(address information and communication constraints), an event-driven
computational model with approximate timing and are highly parameterizable.
Each transaction contains a transfer of several datum, such as a burst to
memory, which are OCP specific but are independent of any bus fabric
protocols.
Transfer Layer
(L-1)
Transfer, or Layer-1, models are designed to be used by designers to
perform detailed modeling tasks that do not require accuracy down to the per
interface signal level. They can be used for modeling the interfaces of
embedded processors, creating cycle accurate test benches and carrying out
cycle accurate performance simulations. They can also be used to perform
equivalent performance comparisons with RTL objects. L-1 models are clocked
cycle-accurate. While interface pins are abstracted away, they follow
interface protocols which are mapped onto the chosen hardware interface and
bus structures. Each Transfer Layer transaction contains a single data item
which is byte-accurate. The below table provides a simple chart showing some
functional equivalents when moving from an RTL Layer model to a Transfer
Layer model.
RTL
Layer (L-0)
For a point of reference, RTL, or L-0 Layer, models are both pin and bit
accurate. They also register transfer accurate and are written in VHDL,
Verilog or synthesizable SystemC. Finally, estimated propagation timing can
be back annotated.
Back to Adoption
Stories