Race Condition Violation Types

Defines

#define RACE_TYPE_SEQ_USES_NON_BLOCK   0
#define RACE_TYPE_CMB_USES_BLOCK   1
#define RACE_TYPE_MIX_USES_NON_BLOCK   2
#define RACE_TYPE_HOMOGENOUS   3
#define RACE_TYPE_ASSIGN_IN_ONE_BLOCK1   4
#define RACE_TYPE_ASSIGN_IN_ONE_BLOCK2   5
#define RACE_TYPE_STROBE_DISPLAY_NON_BLOCK   6
#define RACE_TYPE_NO_POUND_0_PROC_ASSIGNS   7
#define RACE_TYPE_NUM   8

Detailed Description

The following group of defines specify all of the types of race conditions that Covered is currently capable of detecting:


Define Documentation

#define RACE_TYPE_ASSIGN_IN_ONE_BLOCK1   4

Assignments made to a variable should only be done within one always block

Referenced by race_check_one_block_assignment().

#define RACE_TYPE_ASSIGN_IN_ONE_BLOCK2   5

Signal assigned both in statement block and via input/inout port

Referenced by race_check_one_block_assignment().

#define RACE_TYPE_CMB_USES_BLOCK   1

All combinational logic in an always block uses blocking assignments

Referenced by race_check_assignment_types().

#define RACE_TYPE_HOMOGENOUS   3

Blocking and non-blocking assignments should not be used in the same always block

Referenced by race_check_assignment_types().

#define RACE_TYPE_MIX_USES_NON_BLOCK   2

All mixed sequential and combinational logic in the same always block uses non-blocking assignments

Referenced by race_check_assignment_types().

#define RACE_TYPE_NO_POUND_0_PROC_ASSIGNS   7

No #0 procedural assignments should exist

#define RACE_TYPE_NUM   8

Total number of race condition checks in this list

#define RACE_TYPE_SEQ_USES_NON_BLOCK   0

All sequential logic uses non-blocking assignments

Referenced by race_check_assignment_types().

#define RACE_TYPE_STROBE_DISPLAY_NON_BLOCK   6

The $strobe system call should only be used to display variables that were assigned using non-blocking assignments

Generated on Sun Nov 21 00:55:42 2010 for Covered by  doxygen 1.6.3