                    Release Notes for SystemC CCI 1.0.0
                    ===================================

CONTENTS
========

  1) Overview

  2) Updates since the public review version

  3) Outstanding issues


1) Overview
===========

This package contains a "Proof of Concept" implementation for the SystemC 
Configuration, Control and Inspection (CCI) standard. It works optimally with
SystemC 2.3.2 utilizing its hierarchical name registry to detect and mitigate 
parameter name collisions. On prior versions of SystemC, it doesn't address name
collisions but otherwise works fine.


2) Updates since the public review version
==========================================
  - CCI Forum feedback has been addressed:
    (http://forums.accellera.org/forum/41-systemc-cci-configuration-control-inspection/)
    - LRM: Writing to locked params
      LRM clarifications have been provided as well as a new example
      (ex19_Reset_Param).
    - LRM: Typos and minor issues
      The suggestions have been incorporated into the LRM. 
      ** NOTE **
      Some PDF viewers still have issues displaying underscores ('_') at certain
      zoom levels - try a different zoom level to work around this.
      **********
    - LRM: Callbacks
      LRM clarification has been provided.
    - SystemC CCI Build Issues
      This has been fixed.
    - Problem building CCI using CLang 6.0
      This has been fixed.

  - The following "Known Issues" with the public release version have been
    addressed:
    - Example names have been truncated (reducing the longest path by 42 
      characters) to alleviate 'path too long' errors during uncompression. 
      Note: the open source archiver 7-zip (http://7-zip.org) has been shown to
      work properly even with long paths.
    - The RapidJSON library is now bundled for convenience.
    - Handle originators are no longer overwritten during assignment.
    - Originator construction has been constrained such that it uses the
      current context when inside the module hierarchy and otherwise requires
      a string name.
    - It is allowable to register a broker for a module after some of its
      parameters have been constructed. This facilitates allocating some
      parameters to the parent broker and others to a local broker.
    - A new example (#19) has been added to show parameter reset behaviors and 
      now the examples are numbered consecutively.

  - cci_param_if::get_name() has been renamed to name() for consistency with 
    sc_object.
  - Examples have been updated to consistently use #include <cci_configuration>
    and report start/stop messages; some output messages have been reformatted.
  - A variety of cleanups, such as adding const function qualifiers, have
    been made.

3) Outstanding issues

  - Convenience functions have been added to cci_broker_handle to register
    callbacks based on an object and a member function. This is now consistent 
    with parameter handle callback registration. This is not documented in the 
    1.0.0 LRM but will be added in the next revision.

  - Parameter names may be registered in the future when a preset value is
    provided to the broker. This would allow earlier detection of name
    collisions.  

