Revision history for Perl extension SystemC::Vregs
The contributors that suggested a given feature are shown in [].
* Vregs 1.470 2012/06/19
*** Internal refactoring to create ::Input modules.
*** Add creset_zero attribute. [by John DeRoo]
* Vregs 1.464 2010/02/24
**** Fix Pod::Usage dependency, rt51024. [Andreas Koenig]
**** Fix GCC 4.3.2 compile issues.
* Vregs 1.463 2009/05/19
** This package is now licensed under LGPL v3 and/or Artistic v2.0.
**** Pass "Hardwired" comments into .vregs file. [Brian Cassell]
* Vregs 1.462 2009/02/25
*** Fix extra semicolons on declarations, bug109. [Mark Pettigrew]
**** Fix test compile error on cygwin, bug69. [Yoram Stern]
* Vregs 1.461 2009/01/05
**** Support define document sections with empty category names.
**** Allow multilineL/R in descriptions. [Mat Zeno]
* Vregs 1.460 2008/09/15
** Vreg now does not create files by default. Use --files
to get all files, or specific flags to enable each output.
*** VregsRegEntry now includes register attribute string.
*** With -nofielddefines attribute, suppress class and field definitions.
This avoids the almost duplicate defines for derived registers.
*** With -packholes attribute, reduce VregsRegInfo memory usage
on registers with large spacing between entries. [Brian Cassell]
**** Allow package attributes to set values.
**** Fix CM# defines with registers over 32 bits. [Vasu Arasanipalai]
**** Fix Perl warning when registers have no bits. [by Vasu Arasanipalai]
* Vregs 1.450 2008/1/3
*** Added vreg_latex2html program.
**** Update Latex example to use tablex and environments.
**** When HTML errors are found, report line numbers instead of char#.
**** Fix HTML::Parser missing occasional characters.
**** Fix tests under 32bit GCC 4.1.2 systems. [Bernd Weber]
* Vregs 1.441 2007/11/8
*** Added Latex output, and associated examples.
**** Fix parsing attributes in define sections.
**** Fix propagating attributes across wildcarded types. [Mat Zeno]
**** Fix deleting registers when related types are deleted. [Brian Cassell]
* Vregs 1.440 2007/4/6
*** Allow free-form define values such as doubles. [Larry Stewart]
*** Use single underscore instead of __ to separate sub-ENUM expansions.
**** Fix --help to use Pod::Usage instead of depreciated pod2text.
* Vregs 1.430 2007/1/2
*** Add vreg --if-product option and Product column.
This allows the same specification to be used for multiple revisions
of registers, with output selectable at vregs run time.
*** Add vreg --change-diff option for preventing changes.
*** Add vreg --filename-* options for changing output filenames.
* Vregs 1.421 2006/10/17
*** Warn if specified ending addresses are incorrect. [Peter Holmes]
*** Create 64-bit perl constants wrapped in 'no warnings'. [Bryce Denney]
*** Add CBitFields example outputter. [Igor]
* Vregs 1.420 2006/5/19
*** Add vreg -dry-run option.
*** The vreg_write fuction is now replaced with the
SystemC::Vregs::Output::Layout->new->write function to match the
other outputters. For backward compatibility, the regs_write
function still works.
* Vregs 1.410 2006/4/18
** Change all VregsRegInfo classes to support 64 bit registers.
** Always include RAE_, RAC_ and RRP_ for non-arrays. [Larry Stewart]
** Wrap 64-bit ULL numbers to appease Microsoft Visual C. [Aaron Brooks]
*** Allow bus subscripts in attributes. [Matt Reilly]
**** Tabify all output files.
* Vregs 1.400 2006/3/6
** The package SystemC::Vregs::Outputs has been removed, and split
into independent package for each output file type. This makes it
easier make new output formats by coping an existing Output/*.pm
module.
*** Vderegs now uses host byte order by default.
Use "netorder" and "hostorder" commands to flip this mode.
* Vregs 1.320 2006/1/16
** Lowercase first letter of _struct.h accessor functions.
** Add Gnu Assembler format.
*** With --public_rdwr_accessors attributes, make _private functions
in public: section for read-only or write-only bits. [Peter Holmes]
*** With -v2k, parameters will now exceed 32 bits when appropriate.
*** Add valid() methods to enums. [Bobby Woods-Corwin]
**** Fix uint8_t shift deposit problems. [Bryce Denney]
* Vregs 1.310 2005/9/20
** Add _struct.h files for C (not C++) use. [Larry Stewart]
*** Add enumeration iterators for walking valid values. [Dale Bertrand]
*** Allow register spacing and bounds to exceed 32 bits.
*** Add SystemC::Language::CPP, now separate from SystemC::Language::C.
* Vregs 1.301 2005/7/27
*** Create parameters for 'define's to allow bit extraction. [Bryce Denney]
*** Fix wBitMaskWritable() with > 32 bit registers.
* Vregs 1.300 2005/6/17
** Added vderegs program, for dumping structures.
** The previous _named.cpp/.h files are now part of the _info.cpp/h files.
Any programs which used these needs to modify their include list.
*** Read attribute columns from Enum value tables. [Larry Stewart]
*** Added Lisp to Verilog::Language formats. [Larry Stewart]
**** Added warning when define/enum value exceeds field width.
**** Fix Latex2html documents getting mismerged register attributes.
* Vregs 1.261 2005/5/23
*** In classes, support h# and d# for 16 & 64-bit words. [Jud Leonard]
**** Add enum attribute --allowlc for lower case enums. [Bryce Denney]
**** Fix class header packing on 64 bit architectures. [Bryce Denney]
**** Better use of tabs in .vregs output file.
* Vregs 1.260 2005/3/1
*** With -v2k attribute, use localparam instead of parameter.
*** Add Doxygen comments to C++ sources.
* Vregs 1.250 2005/1/13
** NEWS is now renamed Changes, to support CPAN indexing. [Offer Kaye]
*** Support Unicode decoding in Perl 5.8.0
*** Support latex2html documents.
**** Fix 64-bit compile warnings.
* Vregs 1.246 2004/10/23
*** Support Star Office documents.
* Vregs 1.245 2004/7/22
*** Add operator!= to enum classes for GCC 3.0
*** Support parsing of Netscape Composer documents. [Reed Lawson]
* Vregs 1.244 2004/1/27
**** Documentation fixes.
* Vregs 1.243 2003/10/30
*** Add before_any_file rule.
**** Documentation fixes. [Mike Castle]
* Vregs 1.242 2003/9/4
** Allow classes to have fields which are expanded from other classes.
For an example, see "ExClass" in vregs_spec.doc. [John DeRoo]
*** Add CRESET_ defines for the default values of non-zero, non-bool fields.
[John DeRoo]
* Vregs 1.241 2003/6/9
*** Added error if a derived class is extended to more words than its base
class. Use the '-stretchable' attribute on the base class to disable this.
Also check at runtime the word set methods, unless -stretchable is used.
*** Added enum values to parameter files
These include a enum declaration for Synopsys and the author's
verilog-mode for emacs. This allows the enumeration values to be
decoded into verilog strings. [John DeRoo]
**** With vspec --rm switch, remove MS Word change bar comments
This enables use of wvHtml to convert MSWord doc files to html.
**** Attributes in special columns of register bits are now passed
through into .vregs files. [Tom Levergood]
**** Fix structs referencing structs declared later in the same package.
**** Add/drop leading 0s in define values to make correctly widthed numbers.
* Vregs 1.240 2002/12/13
** Added subclassing of enumerations.
A enumeration can now reference another enumeration, and all values under the
lower enumeration will be included in the upper enumeration.
** Added a castHBytep() or castNBytep() method to each structure.
For safety, use it in place of reinterpret_cast<uint8_t*>(&struct)
to avoid endian-ness mistakes.
** Added support for registers wider than 32 bits.
** Renamed "vregs" executable to "vreg" to avoid Win2K conflict
with uppercase directory by the same name.
** Allow -descfunc attribute on enums to create a function to get description name
*** Added error when a struct of one endian-ness inherits a struct of
opposite endian-ness. Use "-[no]netorder" on derived type to fix it.
**** Fixed propagation of attributes across wildcarded classes.
**** Fixed decimal reset values in VregsRegInfo classes.
* Vregs 1.230 2002/8/8
** Added --noregtest attribute to registers, for suppressing testing.
*** Added _hash.pm output file, for easy conversion of enum
values to/from text descriptions.
*** Make m_w data storage protected. Use w() accessors instead.
**** Warn about empty bit descriptions.
**** Added dump() methods for internal debugging.
* Vregs 1.210 2002/3/11
*** Allow duplicate enumeration values. The ascii() method will
print the first sorted enumeration text.
**** Fix ORing in of ranged addresses. [Greg Waters]
* Vregs 1.200 2001/11/26
** Allow replacement of enumeration before/after rules.
*** Fixed bug where enumerations in registers would cause wrong
reset value in _info.cpp
*** Made sizes in vregs_info be a 64 bit integer.
** Added macros for compile-time hooks to add debugging checks, listed
below. See them in include/VregsClass.h.
*** Define VREGS_ENUM_DEF_INITTER(badValue) to make the default ctor
for enum-classes initialize the enum. Otherwise it's undefined.
*** Define VREGS_SETFIELD_CHK(str,val,u_max) to validate the argument
before stuffing it into struct.field "str". Otherwise Vregs classes
silently truncate the argument.
*** Define VREGS_STRUCT_DEF_CTOR(TypeName, numWords) if you want structs
to have a default constructor, e.g. to initialize the words to
0xdeadbeef. Otherwise Vregs structs are initially undefined (just
like a C++ array of uint32_t).
**** Changed enumeration ascii() default to "?E" instead of "%E"
* Vregs 1.100 2001/10/18
** Added rules for .cpp files: before_enum_cpp,
after_enum_cpp, before_class_cpp, after_class_cpp.
*** Made RBASEA_ and RBASEAE_ defines from common prefix
existing across multiple registers. RBASEAM_ is a power-of-two
mask for extracting that range.
*** Classes which have a smaller base class now have the
correct sizeof(), previously they would have the base's sizeof.
*** Non-contiguous fields are now postfixed with a number instead
of prefixed. Thus CR1_Reg_Field and CR2_Reg_Field become
CR_Reg_Field_1 and CR_Reg_Field_2.
*** Fields that extend beyond 32 bits now get additional defines
with the word number enclosed in them. This allows for easy
extraction from 32-bit busses.
**** Comment columns in register definitions now become attributes.
This allows other parsers to pick off the fields they need.
**** Fixed E_ enum defines to be in hex, not decimal.
* Vregs 1.000 2001/9/03
** First publicized release.
*** Added ENUM ascii() methods to cpp instead of inlined .h
* Vregs 0.1 2001/6/27
**** Package Released as Beta
----------------------------------------------------------------------
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: