Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

Race Condition Violation Types


Detailed Description

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


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


Define Documentation

#define RACE_TYPE_ASSIGN_IN_ONE_BLOCK1   4
 

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

#define RACE_TYPE_ASSIGN_IN_ONE_BLOCK2   5
 

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

#define RACE_TYPE_CMB_USES_BLOCK   1
 

All combinational logic in an always block uses blocking assignments

#define RACE_TYPE_HOMOGENOUS   3
 

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

#define RACE_TYPE_MIX_USES_NON_BLOCK   2
 

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

#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

#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 Wed Jun 17 22:19:25 2009 for Covered by doxygen 1.3.4