Revision history for Perl extension SystemC::Vregs The contributors that suggested a given feature are shown in []. * 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, rt43629. [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(&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-2009 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: