                             2008-06-09
                 	       TLM 2.0 
                 =================================

This is the proof of concept implementation for the TLM 2.0 standard.

-------------------------------------------------------------------------------
                IMPORTANT

1. This version of the TLM 2.0 standard is a further evolution of draft 2 which
   in itself represents a significant evolution since the draft 1 kit.  
   This version is not, nor was it intended to be, backwards compatible with 
   draft 2 and draft 1.

2. This release has been tested on the following platforms:
    o Linux (Redhat Enterprise 4) with GNU C++ compiler versions gcc-3.4.4,
      gcc-4.0, gcc-4.2.0
    o Windows XP (SP2) with VC++ 2005 SP1 and VC++ 2008
    o Linux (Fedora 8) with GNU C++ compiler version 4.1.2
    o SunOS 5.9, with Sun Forte compiler 10.0
    o SunOS 5.9, with GNU C++ compiler versions gcc-3.3.2
    o MacOSX with GNU C++ compiler versions gcc-3.1, gcc-3.4.2, and gcc-4.0
    o Linux (SuSE SLES9SP3) with GNU C++ compiler versions gcc-3.4.4, gcc-4.2.0


-------------------------------------------------------------------------------

Licensing and Copyright

   See the license agreement at http://www.systemc.org/about/org_docs/license
   to determine your rights and responsibilities for using this kit.

Installation

   No installation, as such, required; simply extract contents of the
   downloaded package.

Release Notes

   See the separate RELEASENOTES file that provides up-to date
   information about this release of TLM 2.0.

User Documentation

   You can find documentation for this release in the docs directory. There is 
   doxygen generated documentation in the doxygen/ subdirectory of docs/ the 
   user manual and training presentation can be found in the release/ 
   subdirectory of docs/. It is recommended that you start with the training 
   presentation (TLM_2_0_presentation.pps) and then the user manual 
   (TLM_2_0_user_manual.pdf).
   See docs/release/README.txt for a description and status of the other 
   documentation.

Directory Structure

   The TLM kit's directory structure has been patterned after that used 
   for the SystemC language and Verification library (SCV).
   Dirs: include/   : contains the TLM 2.0 standard headers
         unit_test/ : contains a set of tests for TLM 2.0
	 examples/  : contains the examples that come with the TLM 2.0 kit
	 docs/	    : contains the documentation for TLM 2.0

Build Support
 
   To use TLM2.0 all you need is the SystemC headers. TLM2.0 has been tested
   with SystemC versions 2.2 and 2.1.1. 
   The multi_passthrough sockets in the tlm_utils directory also depend on 
   the boost library, it has been tested with boost versions 1.33.1 and 1.35.0 
   
   Support for building the examples and unit tests is provided for 'unix', and
   'msvc' (project and make files).

   Makefiles work hierarchically.  Build is the default target; 'clean', 
   'run' (executes built tests/examples) and 'check' (against expected 
   results) targets are also provided.  
   On Unix/Linux/MacOS, the $TLM_HOME environment variable should be set to this
   kit's location; $SYSTEMC_HOME and $TARGET_ARCH should be defined such that
   $SYSTEMC_HOME/lib-$TARGET_ARCH is a directory containing the systemc library.
   On Windows, the SYSTEMC and TLM environments variables should be used.
   To run the multi_socket tests and examples you need to set the environment
   variable BOOST_HOME to point to the boost headers.
   
   Please check the README.txt file for the unit_tests how to setup the build
   environment for different compiler and library versions.

Examples

   There is a set of examples available under the examples/ directory, they
   illustrate the key features of the TLM 2.0 standard. For more information see
   the README.txt. 

Unit Tests

   The unit tests, though not as complete or documented as the examples, can 
   be illustrative for other features of the kit such as payload extensions, 
   UT & AT modeling, transactors, temporal decoupling, direct memory interface,
   etc.
   See instructions in unit_test/README.txt

Problems

   any problems regarding the use of this kit would be can be submitted to 
   tlm2_forum@lists.systemc.org.
