Revision history for Perl extension SystemC::Netlist

The contributors that suggested a given feature are shown in [].

**** Fix support for Verilog-Perl 3.305; removing defines, bug300.

**** Fix make parallel builds, bug255. [Petr Pisar]

**** Fix Pod::Usage dependency, rt51024. [Andreas Koenig]

**** Fix trace files with empty modules crashing some viewers.

**** Add tracing doubles and floats to SpTraceVcdC.

**** Fix MSVC++ 2008 compile issues, bug209. [Amir Gonnen]

**** Fix expanding modules called from AUTOINOUTMODULEs, broke in 1.330.

**** Fix tracing of little endian [0:15] bit vectors.

*** Traces are opened with O_NONBLOCK for faster writes. [Rodney Sinclair]

**** Fix compilation and installation on MacOS 10.4. [Robert Guenzel]

**** Fix link error in SpTraceVcd on Cadence Incisive. [Avner Fish]

**      Patching SystemC is no longer required to trace sc_bvs.
        Note patching is still required if using Verilator before 3.712.

***     Add sp_preproc -Mdir option to change output directory.

**** Fix test warnings on 32-bit Perls.

**** Fix missing uint32_t definition on Fedora, bug100. [Lane Brooks]

**** Work around compiler warning when using flex 2.5.35. [Jonathan Kimmitt]

**** SP_COVERGROUP timing windows can now have options/illegal/ignore/limit

like other coverpoints.

**** Fix test failure on 32-bit systems. [Brennan Ashton]

** This package is now licensed under LGPL v3 and/or Artistic v2.0.

** Verilog-Perl 3.200 or newer is required to run this version.

*** Add signal and direction regexp to AUTOINOUT_MODULE. [Brian Cassell]

*** Include list of "use"d files in .sp_tree report.

*** Fix tracing Verilog escaped identifiers with dots getting mis-scoped.

**** Respect #sp ifdef's in coverage groups.

**** Fix warning about README on git installs. [Brian Small]

**      Created SYSTEMPERL_INCLUDE which if set allows relocating the
        src directory.

***     The systemc-mode.el provided now just calls c++-mode.  This solves
        many Emacs 22 incompatibilities, and does enough for now.

**** The README was converted into pod format to create SystemC::Manual.

**** Added SpCoverage::write data can now be filtered by a string.

**** Fix compile error with Bison 2.4.1. [Chitlesh Goorah]

** Further refinements of coverage. [by Robert Woods-Corwin]

**      SP_COVER_INSERT now only accepts char* keys and values.
        This prevents GCC 4.2.1 from running out of memory.

***     Support new CovVise coverage system.

**** SpCoverage dumps are now written in the faster binary format.

**** Fix parsing comments at end of "#sp ifelse" lines. [Brian Cassell]

**** Fix parsing sp_ui as basic type. [Prabhat Gupta]

**      Many improvements to coverage, including coverage groups and automatic
        binning - see the documentation for details.  [by Robert Woods-Corwin]

**      The SP_COVERAGE define must now be set when doing coverage.
        This accelerates compilation and run-time when not using coverage.

**      Coverage across multiple hierarchies is now compressed together,
        as per the SystemVerilog standard.  Use SP_COVER_INSERT(...,
        per_instance,1) to override this behavior.

***     Added "#sp slow" directive for splitting up large files into
        portions that can be compiled with less aggressive optimization.

**** Support more arguments to SP_COVER_INSERT. [by Robert Woods-Corwin]

**** Fix string.h compile error. [Rodney Sinclair]

**** Fix tracing signals with negative lsbs. [Stephane Laurent]

**** Fix cpan-testers mis-reporting FAIL when no flex installed.

*** Support Verilog-Perl 3.041+'s Logger-based error handling.

*** Support SystemC 2.2.0 20070314 without warnings.

**** Report tracer write problems as fatal errors. [Ed Spittles]

**** Fix systemc-mode.el to support GNU Emacs 22.

*** Allow AUTOINOUT_MODULE to read Verilog pins.

*** Added AUTOTIEOFF to create zero assignments for all outputs.

**** Patches to support MSVC++. [John Stroebel]

*** Support wave timestamps using uint64_t. [John Stroebel]

**** Support wave files over 4GB using 32 bit compilers. [Brian Cassell]

This requires gcc with -D_GNU_SOURCE or -D_LARGEFILE_SOURCE.

*** Add vcoverage --unlink option.

**** Fix systemc-mode.el Emacs highlighting. [Brian Cassell]

**** Fix --help to use Pod::Usage instead of depreciated pod2text.

**** Fix timescale problems in trace files.

*** Support SystemPerl 2.2.05jun06 (via GreenSocs release).

**** Report error on close if sp_log file fills disk. [Greg Waters]

***** Fix missing install of SystemC::Coverage::Item, bug111.

** Support SystemPerl 2.1.v1. [Oleg Petlin]

**** Fix SpTraceVcdC to allow multiple top modules. [Robert Woods-Corwin]

*** Cleanup SpCoverage memory at exit for leak checkers. [Prabhat Gupta]

**** Fix AUTOENUM iterator begin() ignoring zero elements. [James Kilham]

** Added iterators to AUTOENUM structures. [Nijan Datar]

** Added SP_AUTO_COVER_CMT_IF for conditional coverage. [Dale Bertrand]

*** Added faster file format for SystemC::Coverage data.

*** Improved trace-file performance.

**** Fix GCC 4.0 compile problems. [Allan Cochrane]

**** Fix nested "#sp else". [Nijan Datar]

**** Fix extra trace dump transitions in Verilated files.

**** Fix 32-bit trace timestamps (again). [Andy Meier]

** Added SP_AUTO_METHOD for declaring methods and sensitivities.

** AUTOCTOR is renamed AUTOINIT to avoid confusion with SP_AUTO_CTOR.

** Added sp_ui<#,#> magic data type.

** Added #sp ifdef/ifndef/else/endif.

*** Added SP_AUTO_COVER_CMT. [Bobby Woods-Corwin]

**** Warn users if misconnects and missing AUTOINST. [Vasu Arasanipalai]

**** Fix truncation of timescales in vcd files. [Prabhat Gupta]

**** Fix SP_TEMPLATE with ${#} replacements. [Bryce Denney]

**      Rewrote the coverage analysis classes to allow cross products.
        Note this may break tools that used the lower level coverage classes.

***     Vcoverage may now report multiple coverage items per line.
        This occurs when multiple items were declared on the same line.

** SP_TEMPLATE can now apply to specified pin types, for example 'sc_in's.

**** Fix virtual public class parsing. [Bobby Woods-Corwin]

**** Fix missing Class.pm file. [Marek R]

** Parse SP_TRACED inside classes used inside sp_in/outs. [Matt Reilly]

*** Add SP_MODULE_CONTINUED for huge Verilated files.

**** Support SystemPerl 2.1 Beta. [Fuat Keceli]

*** Parse pinouts from ncshell (ncsc_foreign_modules).

**** Warn if second AUTOINST declared for same cell. [Matt Reilly]

**** Fix tracing of signals that change in less than one time-unit.

**** Fix systemc-mode.el missing require statements. [Andrew Scott]

**** Fix C++ Comments [Merijn Brand]

** Add AUTOINIT for constructing port names in SC_CTORs.

** Add SP_TEMPLATE for wildcarding AUTOINST signals. [Bryce Denney]

*** Add support for Cadence NC-SystemC.

*** Fix tracing at time scales other than ns. [Matt Reilly]

**** Fix make test no matching function compile error. [Thomas Dodd]

** NEWS is now renamed Changes, to support CPAN indexing. [Offer Kaye]

** SystemC 1.170 requires Verilog-Perl 2.310 or newer.

*** Add Doxygen comments to C++ sources.

*** Fix sc_in<sc_clock> vs. sc_in_clk SystemPerl 2.0.1 difference.

*** Fix tracing of uint64_t. [Bryce Denney]

*** Fix declaring pins not directly under cells. [Matt Reilly]

*** Fix make test "0" is not a reference error. [Thomas Dodd]

**** Fix sc_lite.cpp compile error on GCC 3.3.3. [Hans van Antwerpen]

**** Allow any filename to be a coverage file. [Dawn Campanelli]

*** Support macro calls in enumeration values.

**** Fixed sp_log_file empty file creation on GCC 3.

**** Fixed cygwin test error. [John Brownlee]

**** Fix pod documentation errors. [Offer Kaye]

**      Added vcoverage, SystemC::Coverage, and related coverage examples.
        Functions named sp_coverage_ have been changed to SpCoverage::

***     Added uint64 tracing and structure support for Verilator 3.240.

*** Trace file code now supports standalone C code.

**** More reliable detection of existing patches.

*** Patch process fixes for Solaris.

**** Documentation fixes

**** Support Verilator Modules

**** Support Verilator PVT cell names

**** Fix rare array-out-of-bounds crash with tracing array signal

**** More Redhat 9 and GCC 3.2.2 fixes

**** Redhat 9 and GCC 3.2.2 fixes

**** Redhat 9 installation fixes

**** Support tracing of uint8_t's

*** Allow "sp use .cell.subcell.subsubcell" to include entire paths.

**** Fix whitespace in sp preprocessor directives, "# sp use ...".

**** Fix some RedHat 9.0 warnings

***     Allow "sp use DEFINE" where DEFINE is a symbol like ALIAS_CELL
        that should be replaced with the definition value of ALIAS_CELL.

***     Support tracing AUTOENUM types. [Greg Waters]

**** Report warning if SP_TRACED variables aren't traced. [Greg Waters]

**** Allow enum values to initialize to symbolic constants. [Greg Waters]

**** Use low level I/O routines to improve tracing by 30%.

**** Have AUTOTRACE use values from the module that generates the signal

rather than the top level. With Verilator, tracing is 10% faster.

**** Support bison 1.75

**      Support SystemPerl version 2.0.1.  A patch is required for tracing
        input signals and sc_bv types, see the the README file.

***     Add example of SP_COVER statement.
***     Put AUTOINOUT signals under that label, so they can be public
        while AUTOSIGNALs can be private.  [Greg Waters]

***     Support signals in inherited sc_modules. [Navit Fedida]

*** Support modules declared as inherited from sc_module. [Navit Fedida]

**** Allow traced modules to determine if they might have any activity.

Used for Verilator3 to improve trace speed by about 60%.

** Added Emacs mode in systemc-mode.el

** Added #sp use "filename", for determining link objects automatically.

***     Allow modules not specified on the command line to be found
        automatically by using the search path (ala Verilog.)

**** SystemC::Parser now emits a separate text() callback for the text

of a AUTO. This allows programs to more easily replace the text inline.

**** Improve tracing to allow smaller files, rollover, inlining child traces.

**      Moved Netlist guts into Verilog package,
        made SystemPerl a derived class.  This allows mixed-mode netlists.

**      $SYSTEMPERL should now point to the root of this package,
        not the root/src directory.

***     Include header guards in .cpp file so that multiple CONCAT
        inclusions with sp_includer work OK.

***     Allow tracing of sc_bv<>'s

**** Addition of experimental sclite library

for testing package without SystemPerl installed.

** Added #sp include directive. [Experimental, some crashes]

**      AUTOMETHODS is the new name for AUTODECLS
        AUTOMETHODS will create a SC_CTOR(__MODULE__); if there is not
        already one in the class interface.

**      AUTOTRACE uses a internal library to trace ports.
        AUTOTRACE should work on all clocks, ports, arrays, etc, and
        any simple types marked with SP_TRACED.
        AUTOTRACE requires AUTOMETHODS to be used in the class interface.

**      The #include systemperl.h at the top of all .h files has been removed.
        It must be included manually.  This allows systemperl to be used in
        non-systemc applications.

***     AUTOENUM ascii() method implementations are now put in the .cpp
        rather than the .h file.  This is indicated by a AUTOIMPLEMENTATION
        section, which is inserted automatically at the bottom of the .cpp
        file if not elsewhere in the file.

***     Detect and report unterminated strings, automodes, comment blocks.

***     Handle character constants ('a', '\0').  Handle octal and hex
        escape sequences in strings and char-constants.

***     Handle nested typenames (e.g. sc_out<ClassFoo::EnumBar>).

** Added AUTOSUBCELL_INCLUDE and AUTOSUBCELL_CLASS

** Extracted SystemC::Template for other programs needing #line'd files.

**      Comments are now properly extracted for signals & ports.
        Note such comments must begin on the same line as the declaration.

***     Fixed extra #line statements in output files.

***     Added directional comment to /AUTOINST/ created pins.

***     Fixed bug with recognizing sc_inouts.  [Amir Sahar]

** Added AUTOTRACE for creating trace statements for all signals.

** Added sp_includer and sp_makecheck for faster SystemPerl compiles.

***     Added sp_preproc --libcell for cells that are not to be expanded.
        This is useful for hierarchical sp_preproc'essing.

** Added AUTOENUM_* for ascii displays of enum values.

** Added SP_CTOR_IMP for constructors outside of the class decl.

** Added SP_CELL_DECL, and allowed arrayed cell declarations.

** Added SP_CELL_FORM for printf formatting of cell name.

** Fixed class x {enum y}, class z {enum y} problem.

*** Fixed test on Solaris Linux.

**** The debugging dump methods are now ->dump, not ->print.

** sc_clocks are now recognized as signal declarations.

** sc_main is considered similar to a SC_MODULE(sc_main)

**** Support Perl 5.005_003 and non-GCC

**** Many, Many bug fixes.

**** Package Created



DESCRIPTION: Documentation on change history for this package

This uses outline mode in Emacs. See C-h m [M-x describe-mode].

Copyright 2001-2010 by Wilson Snyder. This program is free software; you can redistribute it and/or modify it under the terms of either the GNU Lesser General Public License Version 3 or the Perl Artistic License Version 2.0.

Local variables:
mode: outline
paragraph-separate: "[ \f\n]*$"
end: