Overview

Consortium

Results

Articles

SystemC(TM)

SystemC(TM) Plus Methodology

Events

Links


ODETTE project - overview




 

HOME


ODETTE page at OFFIS


Motivations

ODETTE project

SystemC(TM)

SystemC(TM) Plus Methodology

Benefits

Results

 

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
  • current abstraction level is too low for handling complex functionality
  • no uniform description language for specification and implementation
  • gap between executable specification and first HW implementation
  • paradigm break between hardware and software development techniques
  • success of object-orientation in software development
  •  



    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)

  • SystemC(TM) system description language and simulation kernel
  • 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.

  • OSSS (ODETTE System Synthesis Subset) - C++/SystemC(TM) language subset supported by the ODETTE Synthesizer
  • 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.

  • additional C++ class library built on top of the SystemC(TM) Class Libraries
  • 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

  • one language for whole systems at various abstraction levels
  • useful object-oriented features: inheritance, templates, global objects, polymorphism - available for both modelling and synthesis
  • handling higher complexity
  • higher level abstraction for modelling and automated synthesis path
  • high level functional verification
  • executable specification
  • early co-simulation preventing extensive design cycles
  • testbench environment reuse
  • target designs containing less lines of code
  • high speed simulation and verification
  • ability for efficient concurrent design process
  • shorter time-to-market and reduced design cost
  • first step towards real system level modelling
  •  


    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.

  • object-oriented hardware description language based on the SystemC(TM) (OSSS)
  • a truly object-oriented design methodology (SystemC(TM) Plus Methodology)
  • tool set supporting object-oriented design methodology including:
  • C++/SystemC(TM) front-end
  • VHDL/SystemC(TM) co-simulator
  • ODETTE synthesis tool
  • generic and application specific class libraries
  • high level verification methodology and library implementing it
  • industrial evaluation
  • methodology and guidelines for high-level modelling, verification and synthesis

  •