This directory contains an implementation of a STL (Socket Transaction
Language) parser with an interface to produce TL2 request group structures.

The STL language is specified in the OCP2.0 Behavioral Models Specification
accessible to OCP-IP members on ocpip.org under Specifications.

The IStl.h contains the usage interface for the STL parser. The main interface
class is IStlReader which provides:
   - factory functions to create a new STL reader based on a set of OCP
     parameters and one or more STL (.stl) files.
   - the next() function advances the parser by one command in the STL stream
   - the getCommandType() returns the type of the last command read:
     Types are defined by the StlCommandTypes enumeration in IStl.h
   - the getXXXCommand() command to access the last command read based on its
     type. For example the getTransferCommand() contains a TL2 request that
     can be sent to a TL2 master interface.

The MasterTL2.cpp example in supplementary/ocp_tl2_beh provides a usage
example of how to exploit the STL commands and play them onto a TL2 master
port.

The implementation is based on the boost spirit parser generator, and
therefore a valid install of the boost library headers is required to compile
the STL library. The IStl.h header has no dependencies on boost so code using
the library does not necessarily need the boost library.
It was built and tested successfully with the following library and tool
versions:

-Boost: 1.30.2 and 1.33.1
-SystemC 2.1v1
-gcc: 3.2.3, 3.3.5, 3.4.4
-Summit Vista 1.2

The Makefile produces an archive library (libocpstl). In order to run the
Makefile the following edits are necessary.

   - edit the SYSTEMC and TARGET_ARCH variables to point to the location where
     your systemc library is installed, and the platform you are using.
   - edit the BOOST_INCDIR variable to point to a path containing the headers
     for the boost library.


