The spread of embedded systems comprising hardware and software components
has been on the rise for quite a while and is still increasing. Today they
have an impact on our daily lives in many areas from our workplace to our
leisure time. The requirements for these systems are steadily growing, along
with their complexity. However, today's technology based on circuits providing
several hundred million transistors on a single chip is able to meet most
of these requirements. The problem is that the state of the art hardware
design methods cannot keep pace with the rapid advance of technological
development, i.e. the frequently mentioned design gap is becoming increasingly
wider.
As we have learned from software development, the introduction of object-oriented
development methods provides a very promising way of getting to grips with
complex systems. Object-oriented features such as classes, inheritance and
polymorphism are powerful modelling techniques, but applying them to hardware
design raises many questions.
Motivations
|
|
ODETTE - Object-oriented co-DEsign
and functional Test TEchniques
The ODETTE project was started in June 2000 as part of the IST framework
programme 5 financed by the European Commission.
The main goal of the project was to develop object-oriented hardware design
methodology. This new design methodology, combined with a class library
of basic building blocks and a tool-set that provides synthesis and simulation
support, allows the hardware design community to take advantage of the object-oriented
paradigm and follow the success of this paradigm in the software community.
The prime deliverable of the ODETTE project is a system for object-oriented
hardware design based on SystemC(TM) system description language, which
provides a migration path from object-oriented system specifications to
efficient hardware implementations. This method differs from existing design
methodologies in its seamless synthesis of the hardware designs directly
from object-oriented specifications.
Developed in the project methodology has been called SystemC(TM) Plus
Methodology and the C++/SystemC(TM) language subset defined in the project
- OSSS (ODETTE System Synthesis Subset).
SystemC(TM)
SystemC(TM) is a C++ class library and a simulation kernel.
The standard C++ has been language augmented by the hardware-related constructs
including hardware timing, concurrency, and reactive behaviour.
SystemC(TM) is regarded as the industry standard for system level modelling
and the efficient solution for representing functionality, communication,
software and hardware at various levels of abstraction.
SystemC(TM) Plus
Methodology
- object-oriented design methodology and hardware description language
based on SystemC(TM)
Neither SystemC(TM) Class Libraries nor the included simulation kernel
and nor the tools supporting SystemC(TM) have to be adapted in order to
take advantage of using SystemC(TM) Plus Methodology.
C++/SystemC(TM) language subset and modelling techniques defined in
ODETTE enable usage of object-oriented and other useful features (e.g.
classes, objects, inheritance, method-based communication, templates, fixed-point
types, etc) in hardware design and synthesis.
The OOHWLib - Object-Oriented HardWare Library, is an optional class
library necessary for using polymorphism (polymorphic objects) and special
kind of inter-process communication (global objects) in hardware design
and synthesis.

Using OSSS (ODETTE System Synthesis Subset) and ODETTE synthesis tool
you can benefit from using common object-oriented features in hardware modelling
and synthesis. OSSS extends the synthesisable SystemC(TM) subset by possibility
of using object-orientation in hardware modelling, design and synthesis.
More about SystemC(TM) Plus Methodology and OSSS can be found here.
Benefits of SystemC(TM)
Plus Methodology
|
|
The results of the
project
The main results of the project are the object-oriented design methodology
and hardware synthesis technology from object-oriented SystemC(TM)/C++
specification. But also other topics have been addressed within the ODETTE
project, like HDL/SystemC(TM) co-simulation, the creation of class
libraries that fit hardware synthesis and verification techniques
which can also greatly benefit from the higher level of abstraction offered
by object-orientation.
|