head 1.3; access; symbols pkgsrc-2013Q2:1.3.0.30 pkgsrc-2013Q2-base:1.3 pkgsrc-2012Q4:1.3.0.28 pkgsrc-2012Q4-base:1.3 pkgsrc-2011Q4:1.3.0.26 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q2:1.3.0.24 pkgsrc-2011Q2-base:1.3 pkgsrc-2009Q4:1.3.0.22 pkgsrc-2009Q4-base:1.3 pkgsrc-2008Q4:1.3.0.20 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.18 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.16 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.14 pkgsrc-2008Q2-base:1.3 pkgsrc-2008Q1:1.3.0.12 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.10 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.3.0.8 pkgsrc-2007Q3-base:1.3 pkgsrc-2007Q2:1.3.0.6 pkgsrc-2007Q2-base:1.3 pkgsrc-2007Q1:1.3.0.4 pkgsrc-2007Q1-base:1.3 pkgsrc-2006Q4:1.3.0.2 pkgsrc-2006Q4-base:1.3 pkgsrc-2006Q3:1.2.0.2 pkgsrc-2006Q3-base:1.2; locks; strict; comment @# @; 1.3 date 2006.10.12.03.11.18; author dmcmahill; state dead; branches; next 1.2; 1.2 date 2006.08.31.17.26.42; author rillig; state Exp; branches; next 1.1; 1.1 date 2006.08.22.17.00.24; author joerg; state Exp; branches; next ; desc @@ 1.3 log @update to covered-0.4.7. * 08/30/2006 Stable release covered-0.4.7 made. This release is mostly a bug fix release with two feature additions. The new feature is the global -B option was performs name obfuscation on all identifying, design-sensitive names from all output (with the exception of CDD file output). This option is mostly useful as a way to share debugging information with the maintainer(s) of Covered without giving away sensitive information. Additionally, the -rI score option was added to allow user's to completely skip the race condition checking phase. This allows users to force Covered to consider all code for coverage (if race condition checking is performed, all code considered to be potential race conditions are automatically excluded from coverage consideration). User documentation has been updated for these changes. The following lists the changes in this release. - Fixed bug 1535412. Implicit event expressions (i.e., "always @@*") now traverse named begin/end blocks correctly to search for RHS variables. - Fixed bugs related to segmentation faults and memory leak issues - Fixed hierarchical reference search to match Verilog-1995 LRM - Fixed bug 1538922. If -vcd or -lxt option was specified twice, an incorrect error message was displayed to the user. - Added -rI option to allow user's to bypass the race condition checking step in the score command. - Fixed bug 1538920. Handling of any-edge triggered events (i.e., "@@(b)") was incorrectly handled by Covered. Additionally, fixed the event trigger operator (->) to work correctly with the new changes. - Fixed bug 1541944. Command options that require a value are now checked to make sure that a value exists, and an appropriate error message is output if this is not achieved. - Fixed bug 1542454. Command options that must only be allowed once on a command-line are now checked and handled appropriately (caused a segmentation fault previously). - Fixed bug 1544322. When an AND- or OR-type expression has either a left or right expression evaluate to 0 or 1, respectively, Covered now outputs correct coverage information when the opposite expression evaluates to an X or Z value, simultaneously. - Fixed bug 1544325. Multi-variable expressions are now always output as such in report files. - Fixed bug 1544169. Avoiding consideration of named begin/end block keywords in line coverage. - Fixed bug 1546059. Covered now properly handles the removal of statement blocks that cannot be considered for coverage which also contain parameters from another functional unit block. - Fixed bug with connection of statements in a statement block. - Updated documentation to match new features added in this release. * 07/22/2006 Stable release covered-0.4.6 made. This release contains several bug fixes that are listed below. - Fixed segmentation fault bug which occurs when a multi-bit select on the LHS contains any expression besides static values. - Fixed several memory leaks found with valgrind - Fixed bug 1520159 - arrays of instances incorrectly always started at index 0. - Fixed bug 1521598 having to do with reduction unary invert and logical not operators not calculating correctly. - Fixed bug in db_read when a functional unit is being merged to point to the used module. - Fixed assertion in link.c such that no segmentation fault occurs if a string is not found in a str_link list for deletion. - Fixed bug pertaining to embedded concatenations within function/task parameter lists. - Fixed bug pertaining to empty named begin-end blocks. - Fixed bug in the db_read function that would cause Covered to flag an internal assertion error if an error occurred while reading the CDD file and the global -D option was specified. - Fixed upwards name referencing bug (1524705). - Enhanced regression suite to verify that all of these bugs are properly fixed. * 07/08/2006 Stable release covered-0.4.5 made. This release contains a bug fix to properly handle cases where two or more signals are declared with a parameter in their range field (i.e., reg [FOO:0] a, b;) This caused Covered to segfault due to attempting to free the same address twice. Bug 1518932. Also contains a bug fix to properly remove statement blocks that contain case, casex or casez expressions and unbindable expressions. * 5/28/2006 Stable release covered-0.4.4 made. This release contains a bug fix to proper handle hierarchical referencing of parameter values. This feature was technically not supported in the past but caused an internal assertion error when this was performed. The feature is now fully supported. * 4/21/2006 Stable release covered-0.4.3 made. This release contains a bug fix to the statement connection function that caused segmentation faults during the score command. Also added support for big endian wires/regs. This information was being ignored by the parser and, consequently, was not being handled correctly by Covered's internal simulator, leading to incorrect coverage information. The lack of this support was also causing an internal error in the memory allocation routine when scoring the dumpfile. * 4/17/2006 Stable release covered-0.4.2 made. This release contains a bug fix that caused an assertion error in the binding.c source file to occur. The reason for this assertion was a syntax error in the parser that caused problems when more than one task call was made in a statement block. Also added support for multi-line definitions (i.e., a '\' character used at the end of a definition line). This was missing but was not meant to be missing. * 4/4/2006 Stable release covered-0.4.1 made. This release contains one bug fix that causes an assertion error when compiling designs that use a concatenation operation on the left-hand-side of assignment statements. If you are experiencing this problem with the 0.4 release, it is recommended that you use this new release instead. * 3/29/2006 Stable release covered-0.4 made. In addition to all of the features, optimizations and bug fixes that have gone into the development releases from the 0.3 stable release, the following features, updates and bug fixes have been added. - Fixed bug with a statement connection issue that causes lines of code to be not considered for coverage that should have been. - Fixed bug in report command where combinational expressions were not being output to match the original Verilog code. - Added CDD file viewer window to GUI to allow the user to see which CDD files are currently loaded/merged. - Fixed bug in combinational logic verbose viewer which caused the window to resize dependent upon the location of the cursor (this was an annoyance) - Changed the output of simple combinational logic to change to unary combinational logic output if either the left or the right expression was a constant value (eliminates unachievable combinational logic cases from being output leading to more accurate coverage results). - Removed combinational expressions that contain only constant values from being considered for coverage. - Updated simple combinational logic output in reports to be as concise as possible for AND and OR type expressions. - Removed duplication of information in CDD files for race conditions. - Fixed bug in GUI dealing with showing race conditions - Fixing bug in GUI pertaining to the next/previous buttons in the combinational logic detail viewer. Previously, clicking on one of these buttons would only advance you to the next uncovered line. Now it will advance you to the next uncovered statement. - Updated development, user and GUI documentation to reflect the above changes and to bring them up-to-date with the rest of the tool. Please see the ChangeLog file for all changes made from the 0.3 stable release to the 0.4 stable release. Lots of enhancements, features, optimizations, bug fixes, performance improvements and documentation improvements are contained in this stable release, making it very worth while for any Covered users to get their hands on it. @ text @$NetBSD: patch-ae,v 1.2 2006/08/31 17:26:42 rillig Exp $ --- src/signal.c.orig 2004-03-16 06:45:43.000000000 +0100 +++ src/signal.c 2006-08-31 19:22:06.000000000 +0200 @@@@ -40,7 +40,7 @@@@ extern char user_msg[USER_MSG_LENGTH]; creating temporary signals (reduces the need for dynamic memory allocation). for performance enhancing purposes. */ -void signal_init( signal* sig, char* name, vector* value, int lsb ) { +void signal_init( signal_s* sig, char* name, vector* value, int lsb ) { sig->name = name; sig->value = value; @@@@ -62,11 +62,11 @@@@ void signal_init( signal* sig, char* nam values for a signal and returns a pointer to this newly created signal. */ -signal* signal_create( char* name, int width, int lsb ) { +signal_s* signal_create( char* name, int width, int lsb ) { - signal* new_sig; /* Pointer to newly created signal */ + signal_s* new_sig; /* Pointer to newly created signal */ - new_sig = (signal*)malloc_safe( sizeof( signal ), __FILE__, __LINE__ ); + new_sig = (signal_s*)malloc_safe( sizeof( signal_s ), __FILE__, __LINE__ ); signal_init( new_sig, strdup_safe( name, __FILE__, __LINE__ ), vector_create( width, TRUE ), lsb ); @@@@ -82,7 +82,7 @@@@ signal* signal_create( char* name, int w specified file. This file will be the database coverage file for this design. */ -void signal_db_write( signal* sig, FILE* file ) { +void signal_db_write( signal_s* sig, FILE* file ) { exp_link* curr; /* Pointer to current expression link element */ @@@@ -125,7 +125,7 @@@@ bool signal_db_read( char** line, module bool retval = TRUE; /* Return value for this function */ char name[256]; /* Name of current signal */ - signal* sig; /* Pointer to the newly created signal */ + signal_s* sig; /* Pointer to the newly created signal */ vector* vec; /* Vector value for this signal */ int lsb; /* Least-significant bit of this signal */ int exp_id; /* Expression ID */ @@@@ -226,7 +226,7 @@@@ bool signal_db_read( char** line, module If both signals are the same, perform the merge on the signal's vectors. */ -bool signal_db_merge( signal* base, char** line, bool same ) { +bool signal_db_merge( signal_s* base, char** line, bool same ) { bool retval; /* Return value of this function */ char name[256]; /* Name of current signal */ @@@@ -269,7 +269,7 @@@@ bool signal_db_merge( signal* base, char Sets the wait bit in the specified signal to the specified value. */ -void signal_set_wait_bit( signal* sig, int val ) { +void signal_set_wait_bit( signal_s* sig, int val ) { assert( sig != NULL ); assert( sig->value != NULL ); @@@@ -286,7 +286,7 @@@@ void signal_set_wait_bit( signal* sig, i Gets the value of the wait bit from the specified signal. */ -int signal_get_wait_bit( signal* sig ) { +int signal_get_wait_bit( signal_s* sig ) { assert( sig != NULL ); assert( sig->value != NULL ); @@@@ -306,7 +306,7 @@@@ int signal_get_wait_bit( signal* sig ) { iterates through its expression list, setting the TRUE and FALSE bits accordingly. Finally, calls the simulator expr_changed function for each expression. */ -void signal_vcd_assign( signal* sig, char* value, int msb, int lsb ) { +void signal_vcd_assign( signal_s* sig, char* value, int msb, int lsb ) { exp_link* curr_expr; /* Pointer to current expression link under evaluation */ @@@@ -344,7 +344,7 @@@@ void signal_vcd_assign( signal* sig, cha Adds the specified expression to the end of this signal's expression list. */ -void signal_add_expression( signal* sig, expression* expr ) { +void signal_add_expression( signal_s* sig, expression* expr ) { exp_link_add( expr, &(sig->exp_head), &(sig->exp_tail) ); @@@@ -355,7 +355,7 @@@@ void signal_add_expression( signal* sig, Displays signal's name, width, lsb and value vector to the standard output. */ -void signal_display( signal* sig ) { +void signal_display( signal_s* sig ) { assert( sig != NULL ); @@@@ -375,9 +375,9 @@@@ void signal_display( signal* sig ) { signal may be a standard signal name, a single bit select signal or a multi-bit select signal. */ -signal* signal_from_string( char** str ) { +signal_s* signal_from_string( char** str ) { - signal* sig; /* Pointer to newly created signal */ + signal_s* sig; /* Pointer to newly created signal */ char name[4096]; /* Signal name */ int msb; /* MSB of signal */ int lsb; /* LSB of signal */ @@@@ -408,7 +408,7 @@@@ signal* signal_from_string( char** str ) Deallocates all malloc'ed memory back to the heap for the specified signal. */ -void signal_dealloc( signal* sig ) { +void signal_dealloc( signal_s* sig ) { exp_link* curr_expl; /* Pointer to current expression link to set to NULL */ @ 1.2 log @Renamed one more instance of "signal" to "signal_s" to fix the build on NetBSD. @ text @d1 1 a1 1 $NetBSD: patch-ae,v 1.1 2006/08/22 17:00:24 joerg Exp $ @ 1.1 log @Naming a type "signal" is a bad idea since a compatibility function of that name exists and GCC 3.4 complains about it. Rename it to signal_s. @ text @d1 1 a1 1 $NetBSD$ d3 2 a4 2 --- src/signal.c.orig 2006-08-22 18:49:38.000000000 +0000 +++ src/signal.c d25 1 a25 1 + new_sig = (signal_s*)malloc_safe( sizeof( signal ), __FILE__, __LINE__ ); @