Subject: CVS commit: pkgsrc/cad/covered-current
From: Dan McMahill
Date: 2006-10-12 05:13:30
Message id: 20061012031330.8FE01211CA@cvs.netbsd.org

Log Message:
update to covered-current-20060904

    * 09/04/2006

Development release covered-20060904 made.  This is primarily an enhanced \ 
language support release
containing support for the Verilog-2001 'generate' block and support for some \ 
SystemVerilog constructs.
All bug fixes from the stable release branch have also been included in this \ 
release as well.  Some
updates to the GUI (to match changes made on the score command side).  The \ 
following is a list of
changes made from the last development release

  - Complete parsing/simulation support for generate blocks include generate \ 
for, if/else and
    case constructs.
  - Fixed bug in hierarchically referencing items within an array of instances.
  - Added -g option to score command to allow the user to specify on either a \ 
global or modular
    level which Verilog generation to consider for that design.  This allows a \ 
block of logic written
    with Verilog-1995 in mind to use names that would be keywords in \ 
Verilog-2001 or SystemVerilog,
    as an example.
  - Removed "manstyle" type documentation in user's guide as this tool \ 
is no longer used for this
    project.  This change should be transparent to the user, however.
  - Fixed scoping/hierarchical referencing rules to match the Verilog LRM properly.
  - Added parsing/handling support for SystemVerilog always_comb, always_ff and \ 
always_latch blocks.
  - Added parsing support for 'unique' and 'priority' SystemVerilog keywords \ 
before if and case
    statements (Covered doesn't need to do anything with them, however).
  - Added parsing/handling support for 'do .. while' SystemVerilog loops.
  - Added parsing/handling support for new SystemVerilog data types, including:  \ 
byte, bit, logic,
    char, shorting, int and longint.
  - Added -rI option to the score command which allows the user to completely \ 
bypass the race
    condition checking phase of the score command.
  - Added -B global option which obfuscates all identifying names from Covered's \ 
output (for use
    in providing debugging information to the developer's of Covered).
  - Added parsing/handling support for operate-and-assign SystemVerilog \ 
operators, including:
    +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, <<<=, \ 
>>>=, ++ and --.  These can be used wherever
    their counterparts can be used (including generate for loops).
  - Added proper handling of Verilog-1995 delayed blocking assignments (i.e., \ 
"a = #5 b;" or
    "a = @(posedge clk) c;").  Previously, the delay was being \ 
incorrectly ignored which could
    have lead to infinite looping of always/forever blocks or could calculate \ 
incorrect coverage
    information.
  - Added parsing support for SystemVerilog .name and .* port lists.
  - Added partial parsing/handling support for SystemVerilog 'typedef' usage.  \ 
This should work for
    enumerations but not other data types at this point.
  - Added parsing/handling support for SystemVerilog 'enum' constructs.  These \ 
should be fully
    supported with the exception of their built-in '.first', '.last', '.next', \ 
'.prev', '.num' and
    '.name' methods.
  - Added full support of handling Verilog-1995 repeated delay blocking \ 
assignments (i.e.,
    "a = repeat(5) @(posedge clk) b;".  These were previously being \ 
treated as normal blocking
    assignments.
  - Added keyword highlighting support in GUI for Verilog-2001 and SystemVerilog \ 
keywords depending
    on the -g value specified for a particular module.
  - Added parsing support for SystemVerilog assertion, property and sequence \ 
blocks.  These constructs
    are ignored by the parser but should not cause a parsing error now.
  - Added parsing support for SystemVerilog multi-dimensional arrays.  These are \ 
ignored by the
    parser but should not cause an error.
  - Added full support for the SystemVerilog $root global space -- though \ 
limited testing has
    been performed with this at this point.
  - Added -s option to the report command to suppress the output for \ 
modules/instances that contain
    no coverage information.
  - Updated all user documentation to match changes made for this development \ 
release.
  - Lots of new diagnostics added to regression suite to verify the majority of \ 
these changes.

There you have it.  A lot of enhancements made for language support for \ 
Verilog-1995, Verilog-2001
and SystemVerilog.  Some of the additions for SystemVerilog, especially typedefs \ 
and $root global
space, have not been fully verified to work and may still be a bit buggy, but \ 
everything else should
be expected to work as advertised.  Please submit any bugs that you find.  The \ 
next development
release should contain support for some more language enhancements, including \ 
full support for
typedef and enumeration usage, support for memories, multi-dimensional arrays, \ 
structs and unions.
I will also be looking at adding support for bitwise coverage information (for \ 
vectored calculations).
As always, have fun!

Files:
RevisionActionfile
1.13modifypkgsrc/cad/covered-current/Makefile
1.3modifypkgsrc/cad/covered-current/PLIST
1.7modifypkgsrc/cad/covered-current/distinfo
1.3removepkgsrc/cad/covered-current/patches/patch-aa
1.3removepkgsrc/cad/covered-current/patches/patch-ab
1.3removepkgsrc/cad/covered-current/patches/patch-ac
1.1removepkgsrc/cad/covered-current/patches/patch-ad