By 
Alan Kamas, for Sonics, Inc.
Herve Alexandrian, Sonics, Inc.
Yann Bajot, Prosilog 
Stphane Guntz, Prosilog 
James Aldis, Texas Instruments
Tim Kogel, CoWare, Inc.
and Anssi Haverinen, Nokia, Inc.

14-July-2005

Code Revision 2.1.1

Support
---------------

OCP-IP members may contact techsupport@ocpip.org for any support questions.

Description
---------------

The OCP channels, the examples and the underlaying concepts are
described in the (Pdf) document OCP_TL_Channel.pdf.

Installation
---------------

- Untar the 'tar.gz' archive
- Change directories to 'tl_sc' and run:

    make PREFIX=/path/to/distribution

    where /path/to/distribution represents the full path of the directory 
    where you want to install the package.  Note that some versions of "make"
    will have difficulties if there is a "~" (tilde) or "*" (asterix) in the
    path name.


Building and running the examples
---------------

Once you have installed the distribution, you can run the different examples:
    * 'examples/ocp_tl1' directory contains OCP TL1 examples coded with the 
      OCP specific TL1 channel 
    * 'examples/ocp_tl2' directory contains OCP TL1 examples coded with the 
      OCP specific TL2 channel 
    * 'examples/supplemental' directory contains additional, undocumented
      simple examples for generic and OCP channels
    
Refer to the README files for instructions to build and run the examples.


Notes
---------------
- See KNOWN_ISSUES.TXT for the latest issue reports.
- Self-timed TL1 has been phased out. Only clock driven TL1
  modeling is available. Blocking requests have been redesigned.
  This makes model interoperability better.
- Generic TLM API methods have been phased out since generic TLM exists
  as an OSCI deliverable.
- Pre-emptive release (e.g. putSCmdAccept(true)) behavior is
  corrected and interoperates now properly with regular release 
  (e.g. putSCmdAccept().)
- New timing interfaces have been added to TL1 channel. These
  are used for communicating timing related parameters to 
  masters and slaves.
- Thread_busy_next APIs have been removed from TL1 as they
  were inherently broken :-(
- TL2 OCP SRMD transactions have been implemented.
- Threadbusy events have been added to TL1 channel also.
- A wrapper channel with a clock port has been added for TL1.
- The examples run with SystemC 2.0.1 using the compilers supported
  by SystemC 2.0.1.
- The compilers and OS listed in makefiles are the ones used in our tests. 
  SystemC must be compiled with the same compilers. Other OS and compiler 
  versions may work as well.
- The examples may also run with SystemC 2.0 and 2.1 in conjunction with the
  supported compilers

