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

/Users/trevorw/projects/release/covered-0.7.4/src/defines.h File Reference


Detailed Description

Contains definitions/structures used in the Covered utility.

Author:
Trevor Williams (phase1geo@gmail.com)
Date:
11/27/2001
This file is included by all files within Covered. All defines, macros, structures, enums, and typedefs in the tool are specified in this file.

#include "../config.h"
#include <sys/time.h>
#include <string.h>
#include <float.h>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "cexcept.h"

Go to the source code of this file.

Data Structures

union  asuppl_u
struct  attr_param_s
struct  case_gitem_s
struct  case_stmt_s
struct  comp_cdd_cov_s
struct  const_value_s
struct  db_s
struct  dim_and_nba_s
struct  dim_range_s
struct  enum_item_s
union  esuppl_u
struct  exclude_reason_s
struct  exp_bind_s
struct  exp_dim_s
struct  exp_info_s
struct  exp_link_s
union  expr_stmt_u
struct  expression_s
struct  fsm_arc_s
struct  fsm_link_s
struct  fsm_s
struct  fsm_table_arc_s
struct  fsm_table_s
struct  fsm_var_s
union  fsuppl_u
struct  func_unit_s
struct  funit_inst_s
struct  funit_link_s
struct  fv_bind_s
struct  gen_item_s
struct  gitem_link_s
struct  inst_link_s
struct  inst_parm_s
union  isuppl_u
struct  mod_parm_s
struct  nonblock_assign_s
struct  param_oride_s
struct  perf_stat_s
struct  port_info_s
struct  profiler_s
union  psuppl_u
struct  race_blk_s
struct  reentrant_s
struct  rv32_s
struct  rv64_s
struct  sig_link_s
struct  sig_range_s
struct  sim_time_s
union  ssuppl_u
struct  statement_s
struct  static_expr_s
struct  statistic_s
struct  stmt_blk_s
struct  stmt_iter_s
struct  stmt_link_s
struct  stmt_loop_link_s
struct  str_link_s
struct  struct_union_s
struct  su_member_s
struct  sym_sig_s
struct  symtable_s
struct  thr_link_s
struct  thr_list_s
struct  thread_s
struct  timer_s
struct  tnode_s
struct  typedef_item_s
struct  vecblk_s
struct  vector_s
struct  vector_width_s
struct  vsignal_s
union  vsuppl_u

Defines

#define COVERED_VERSION   VERSION
#define CDD_VERSION   20
#define COVERED_HEADER   "\nCovered %s -- Verilog Code Coverage Utility\nWritten by Trevor Williams (phase1geo@gmail.com)\nFreely distributable under the GPL license\n", COVERED_VERSION
#define DFLT_OUTPUT_CDD   "cov.cdd"
#define PROFILING_OUTPUT_NAME   "covered.prof"
#define DFLT_VPI_NAME   "covered_vpi.v"
#define DFLT_DUMPVARS_NAME   "covered_dump.v"
#define INTEGER_WIDTH   (SIZEOF_INT * 8)
#define MAX_BIT_WIDTH   65536
#define MAX_MALLOC_SIZE   (MAX_BIT_WIDTH * 2)
#define USER_MSG_LENGTH   (MAX_BIT_WIDTH * 2)
#define DEFAULT_LINE_WIDTH   105
#define GENERATION_1995   0
#define GENERATION_2001   1
#define GENERATION_SV   2
#define DUMP_FMT_NONE   0
#define DUMP_FMT_VCD   1
#define DUMP_FMT_LXT   2
#define FATAL   1
#define FATAL_WRAP   2
#define WARNING   3
#define WARNING_WRAP   4
#define NORMAL   5
#define DEBUG   6
#define DB_TYPE_SIGNAL   1
#define DB_TYPE_EXPRESSION   2
#define DB_TYPE_FUNIT   3
#define DB_TYPE_STATEMENT   4
#define DB_TYPE_INFO   5
#define DB_TYPE_FSM   6
#define DB_TYPE_RACE   7
#define DB_TYPE_SCORE_ARGS   8
#define DB_TYPE_SU_START   9
#define DB_TYPE_SU_END   10
#define DB_TYPE_MESSAGE   11
#define DB_TYPE_MERGED_CDD   12
#define DB_TYPE_EXCLUDE   13
#define DB_TYPE_FUNIT_VERSION   14
#define DB_TYPE_INST_ONLY   15
#define FUNIT_MODULE   0
#define FUNIT_NAMED_BLOCK   1
#define FUNIT_FUNCTION   2
#define FUNIT_TASK   3
#define FUNIT_NO_SCORE   4
#define FUNIT_AFUNCTION   5
#define FUNIT_ATASK   6
#define FUNIT_ANAMED_BLOCK   7
#define FUNIT_TYPES   8
#define MERGE_ER_NONE   0
#define MERGE_ER_FIRST   1
#define MERGE_ER_LAST   2
#define MERGE_ER_ALL   3
#define MERGE_ER_NEW   4
#define MERGE_ER_OLD   5
#define REPORT_SUMMARY   0x0
#define REPORT_DETAILED   0x2
#define REPORT_VERBOSE   0xffffffff
#define VECTOR_MERGE_MASK   0x6c
#define ESUPPL_MERGE_MASK   0x3fffff
#define ESUPPL_BITS_TO_STORE   5
#define ESUPPL_WAS_SWAPPED(x)   x.part.swapped
#define ESUPPL_IS_ROOT(x)   x.part.root
#define ESUPPL_IS_TRUE(x)   x.part.eval_t
#define ESUPPL_IS_FALSE(x)   x.part.eval_f
#define ESUPPL_WAS_TRUE(x)   x.part.true
#define ESUPPL_WAS_FALSE(x)   x.part.false
#define ESUPPL_IS_LEFT_CHANGED(x)   x.part.left_changed
#define ESUPPL_IS_RIGHT_CHANGED(x)   x.part.right_changed
#define ESUPPL_WAS_COMB_COUNTED(x)   x.part.comb_cntd
#define ESUPPL_IS_LHS(x)   x.part.lhs
#define ESUPPL_IS_IN_FUNC(x)   x.part.in_func
#define ESUPPL_OWNS_VEC(x)   x.part.owns_vec
#define ESUPPL_EXCLUDED(x)   x.part.excluded
#define ESUPPL_TYPE(x)   x.part.type
#define ESUPPL_STATIC_BASE(x)   x.part.base
#define SSUPPL_TYPE_INPUT_NET   0
#define SSUPPL_TYPE_INPUT_REG   1
#define SSUPPL_TYPE_OUTPUT_NET   2
#define SSUPPL_TYPE_OUTPUT_REG   3
#define SSUPPL_TYPE_INOUT_NET   4
#define SSUPPL_TYPE_INOUT_REG   5
#define SSUPPL_TYPE_DECL_NET   6
#define SSUPPL_TYPE_DECL_REG   7
#define SSUPPL_TYPE_EVENT   8
#define SSUPPL_TYPE_IMPLICIT   9
#define SSUPPL_TYPE_IMPLICIT_POS   10
#define SSUPPL_TYPE_IMPLICIT_NEG   11
#define SSUPPL_TYPE_PARAM   12
#define SSUPPL_TYPE_GENVAR   13
#define SSUPPL_TYPE_ENUM   14
#define SSUPPL_TYPE_MEM   15
#define SSUPPL_TYPE_DECL_SREAL   16
#define SSUPPL_TYPE_DECL_REAL   17
#define SSUPPL_TYPE_PARAM_REAL   18
#define SSUPPL_TYPE_IMPLICIT_REAL   19
#define SSUPPL_TYPE_IMPLICIT_SREAL   20
#define SIGNAL_IS_NET(x)
#define READ_MODE_NO_MERGE   0
#define READ_MODE_MERGE_NO_MERGE   1
#define READ_MODE_REPORT_NO_MERGE   2
#define READ_MODE_MERGE_INST_MERGE   3
#define READ_MODE_REPORT_MOD_MERGE   4
#define PARAM_TYPE_DECLARED   0
#define PARAM_TYPE_OVERRIDE   1
#define PARAM_TYPE_SIG_LSB   2
#define PARAM_TYPE_SIG_MSB   3
#define PARAM_TYPE_INST_LSB   4
#define PARAM_TYPE_INST_MSB   5
#define PARAM_TYPE_DECLARED_LOCAL   6
#define GI_TYPE_EXPR   0
#define GI_TYPE_SIG   1
#define GI_TYPE_STMT   2
#define GI_TYPE_INST   3
#define GI_TYPE_TFN   4
#define GI_TYPE_BIND   5
#define DELAY_EXPR_DEFAULT   0
#define DELAY_EXPR_MIN   1
#define DELAY_EXPR_TYP   2
#define DELAY_EXPR_MAX   3
#define EXPR_IS_MEASURABLE(x)
#define EXPR_IS_STATIC(x)   exp_op_info[x->op].suppl.is_static
#define EXPR_IS_COMB(x)
#define EXPR_IS_EVENT(x)   exp_op_info[x->op].suppl.is_event
#define EXPR_IS_CONTEXT_SWITCH(x)
#define EXPR_OWNS_VEC(o)
#define EXPR_IS_UNARY(x)   exp_op_info[x->op].suppl.is_unary
#define EXPR_COMB_MISSED(x)   (EXPR_IS_MEASURABLE( x ) && (x->ulid != -1))
#define EXPR_LEFT_DEALLOCABLE(x)
#define EXPR_RIGHT_DEALLOCABLE(x)   (TRUE)
#define EXPR_IS_OP_AND_ASSIGN(x)
#define EXPR_TMP_VECS(x)   exp_op_info[x].suppl.tmp_vecs
#define EXPR_OP_HAS_DIM(x)
#define DECIMAL   0
#define BINARY   1
#define OCTAL   2
#define HEXIDECIMAL   3
#define QSTRING   4
#define ATTRIBUTE_UNKNOWN   0
#define ATTRIBUTE_FSM   1
#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 NOT_COMB   0
#define AND_COMB   1
#define OR_COMB   2
#define OTHER_COMB   3
#define VTYPE_VAL   0
#define VTYPE_SIG   1
#define VTYPE_EXP   2
#define VTYPE_MEM   3
#define VDATA_UL   0
#define VDATA_R64   1
#define VDATA_R32   2
#define VSUPPL_MASK   0x7f
#define ETYPE_NONE   0
#define ETYPE_FUNIT   1
#define ETYPE_DELAY   2
#define ETYPE_THREAD   3
#define ETYPE_VEC1   4
#define ETYPE_VEC2   5
#define THR_ST_NONE   0
#define THR_ST_ACTIVE   1
#define THR_ST_DELAYED   2
#define THR_ST_WAITING   3
#define SU_TYPE_STRUCT   0
#define SU_TYPE_UNION   1
#define SU_TYPE_TAGGED_UNION   2
#define SU_MEMTYPE_VOID   0
#define SU_MEMTYPE_SIG   1
#define SU_MEMTYPE_TYPEDEF   2
#define SU_MEMTYPE_ENUM   3
#define SU_MEMTYPE_SU   4
#define TIME_CMP_LE(x, y)   ((((x).lo <= (y).lo) && ((x).hi <= (y).hi)) || ((x).hi < (y).hi))
#define TIME_CMP_GT(x, y)   (((x).lo > (y).lo) || ((x).hi > (y).hi))
#define TIME_CMP_GE(x, y)   ((((x).lo >= (y).lo) && ((x).hi >= (y).hi)) || ((x).hi > (y).hi))
#define TIME_CMP_NE(x, y)   (((x).lo ^ (y).lo) || ((x).hi ^ (y).hi))
#define TIME_INC(x, y)   (x).hi+=((0xffffffff-(x).lo)<(y).lo)?((y).hi+1):(y).hi; (x).lo+=(y).lo; (x).full+=(y).full;
#define FEQ(x, y)   (fabs(x-y) < FLT_EPSILON)
#define DEQ(x, y)   (fabs(x-y) < DBL_EPSILON)
#define UINT8(x)   x
#define ato8(x)   atoi(x)
#define UINT16(x)   x
#define ato16(x)   atoi(x)
#define UINT32(x)   x
#define ato32(x)   atoi(x)
#define UINT64(x)   x ## LL
#define ato64(x)   atoll(x)
#define UL_SET   (unsigned long)0xffffffff
#define UL_DIV_VAL   5
#define UL_MOD_VAL   0x1f
#define UL_BITS   32
#define UL_DIV(x)   (((unsigned int)x) >> UL_DIV_VAL)
#define UL_MOD(x)   (((unsigned int)x) & UL_MOD_VAL)

Typedefs

typedef enum logic_rm_type_e logic_rm_type
typedef enum exp_op_type_e exp_op_type
typedef enum vtype_val_indices_e vtype_val_indices
typedef enum vtype_sig_indices_e vtype_sig_indices
typedef enum vtype_mem_indices_e vtype_mem_indices
typedef enum vtype_exp_indices_e vtype_exp_indices
typedef enum cp_indices_e cp_indices
typedef enum rpt_type_e rpt_type
typedef unsigned char uint8
typedef unsigned short uint16
typedef unsigned int uint32
typedef float real32
typedef long long int64
typedef unsigned long long uint64
typedef double real64
typedef unsigned long ulong
typedef esuppl_u esuppl
typedef ssuppl_u ssuppl
typedef psuppl_u psuppl
typedef isuppl_u isuppl
typedef vsuppl_u vsuppl
typedef fsuppl_u fsuppl
typedef asuppl_u asuppl
typedef exp_info_s exp_info
typedef str_link_s str_link
typedef rv64_s rv64
typedef rv32_s rv32
typedef vector_s vector
typedef const_value_s const_value
typedef vecblk_s vecblk
typedef exp_dim_s exp_dim
typedef expr_stmt_u expr_stmt
typedef expression_s expression
typedef vsignal_s vsignal
typedef fsm_s fsm
typedef fsm_table_arc_s fsm_table_arc
typedef fsm_table_s fsm_table
typedef statement_s statement
typedef sig_link_s sig_link
typedef stmt_iter_s stmt_iter
typedef exp_link_s exp_link
typedef stmt_link_s stmt_link
typedef stmt_loop_link_s stmt_loop_link
typedef statistic_s statistic
typedef mod_parm_s mod_parm
typedef inst_parm_s inst_parm
typedef fsm_arc_s fsm_arc
typedef fsm_link_s fsm_link
typedef race_blk_s race_blk
typedef func_unit_s func_unit
typedef funit_link_s funit_link
typedef inst_link_s inst_link
typedef sym_sig_s sym_sig
typedef symtable_s symtable
typedef static_expr_s static_expr
typedef vector_width_s vector_width
typedef exp_bind_s exp_bind
typedef case_stmt_s case_statement
typedef case_gitem_s case_gitem
typedef funit_inst_s funit_inst
typedef tnode_s tnode
typedef timer_s timer
typedef fsm_var_s fsm_var
typedef fv_bind_s fv_bind
typedef attr_param_s attr_param
typedef stmt_blk_s stmt_blk
typedef thread_s thread
typedef thr_link_s thr_link
typedef thr_list_s thr_list
typedef perf_stat_s perf_stat
typedef port_info_s port_info
typedef param_oride_s param_oride
typedef gen_item_s gen_item
typedef gitem_link_s gitem_link
typedef typedef_item_s typedef_item
typedef enum_item_s enum_item
typedef sig_range_s sig_range
typedef dim_range_s dim_range
typedef reentrant_s reentrant
typedef rstack_entry_s rstack_entry
typedef struct_union_s struct_union
typedef su_member_s su_member
typedef profiler_s profiler
typedef db_s db
typedef sim_time_s sim_time
typedef comp_cdd_cov_s comp_cdd_cov
typedef exclude_reason_s exclude_reason
typedef dim_and_nba_s dim_and_nba
typedef nonblock_assign_s nonblock_assign

Enumerations

enum  logic_rm_type_e { LOGIC_RM_REAL = 0, LOGIC_RM_SYSFUNC, LOGIC_RM_SYSTASK, LOGIC_RM_NUM }
enum  exp_op_type_e {
  EXP_OP_STATIC = 0, EXP_OP_SIG, EXP_OP_XOR, EXP_OP_MULTIPLY,
  EXP_OP_DIVIDE, EXP_OP_MOD, EXP_OP_ADD, EXP_OP_SUBTRACT,
  EXP_OP_AND, EXP_OP_OR, EXP_OP_NAND, EXP_OP_NOR,
  EXP_OP_NXOR, EXP_OP_LT, EXP_OP_GT, EXP_OP_LSHIFT,
  EXP_OP_RSHIFT, EXP_OP_EQ, EXP_OP_CEQ, EXP_OP_LE,
  EXP_OP_GE, EXP_OP_NE, EXP_OP_CNE, EXP_OP_LOR,
  EXP_OP_LAND, EXP_OP_COND, EXP_OP_COND_SEL, EXP_OP_UINV,
  EXP_OP_UAND, EXP_OP_UNOT, EXP_OP_UOR, EXP_OP_UXOR,
  EXP_OP_UNAND, EXP_OP_UNOR, EXP_OP_UNXOR, EXP_OP_SBIT_SEL,
  EXP_OP_MBIT_SEL, EXP_OP_EXPAND, EXP_OP_CONCAT, EXP_OP_PEDGE,
  EXP_OP_NEDGE, EXP_OP_AEDGE, EXP_OP_LAST, EXP_OP_EOR,
  EXP_OP_DELAY, EXP_OP_CASE, EXP_OP_CASEX, EXP_OP_CASEZ,
  EXP_OP_DEFAULT, EXP_OP_LIST, EXP_OP_PARAM, EXP_OP_PARAM_SBIT,
  EXP_OP_PARAM_MBIT, EXP_OP_ASSIGN, EXP_OP_DASSIGN, EXP_OP_BASSIGN,
  EXP_OP_NASSIGN, EXP_OP_IF, EXP_OP_FUNC_CALL, EXP_OP_TASK_CALL,
  EXP_OP_TRIGGER, EXP_OP_NB_CALL, EXP_OP_FORK, EXP_OP_JOIN,
  EXP_OP_DISABLE, EXP_OP_REPEAT, EXP_OP_WHILE, EXP_OP_ALSHIFT,
  EXP_OP_ARSHIFT, EXP_OP_SLIST, EXP_OP_EXPONENT, EXP_OP_PASSIGN,
  EXP_OP_RASSIGN, EXP_OP_MBIT_POS, EXP_OP_MBIT_NEG, EXP_OP_PARAM_MBIT_POS,
  EXP_OP_PARAM_MBIT_NEG, EXP_OP_NEGATE, EXP_OP_NOOP, EXP_OP_ALWAYS_COMB,
  EXP_OP_ALWAYS_LATCH, EXP_OP_IINC, EXP_OP_PINC, EXP_OP_IDEC,
  EXP_OP_PDEC, EXP_OP_DLY_ASSIGN, EXP_OP_DLY_OP, EXP_OP_RPT_DLY,
  EXP_OP_DIM, EXP_OP_WAIT, EXP_OP_SFINISH, EXP_OP_SSTOP,
  EXP_OP_ADD_A, EXP_OP_SUB_A, EXP_OP_MLT_A, EXP_OP_DIV_A,
  EXP_OP_MOD_A, EXP_OP_AND_A, EXP_OP_OR_A, EXP_OP_XOR_A,
  EXP_OP_LS_A, EXP_OP_RS_A, EXP_OP_ALS_A, EXP_OP_ARS_A,
  EXP_OP_FOREVER, EXP_OP_STIME, EXP_OP_SRANDOM, EXP_OP_PLIST,
  EXP_OP_SASSIGN, EXP_OP_SSRANDOM, EXP_OP_SURANDOM, EXP_OP_SURAND_RANGE,
  EXP_OP_SR2B, EXP_OP_SB2R, EXP_OP_SSR2B, EXP_OP_SB2SR,
  EXP_OP_SI2R, EXP_OP_SR2I, EXP_OP_STESTARGS, EXP_OP_SVALARGS,
  EXP_OP_SSIGNED, EXP_OP_SUNSIGNED, EXP_OP_NUM
}
enum  vtype_val_indices_e { VTYPE_INDEX_VAL_VALL, VTYPE_INDEX_VAL_VALH, VTYPE_INDEX_VAL_NUM }
enum  vtype_sig_indices_e {
  VTYPE_INDEX_SIG_VALL, VTYPE_INDEX_SIG_VALH, VTYPE_INDEX_SIG_XHOLD, VTYPE_INDEX_SIG_TOG01,
  VTYPE_INDEX_SIG_TOG10, VTYPE_INDEX_SIG_MISC, VTYPE_INDEX_SIG_NUM
}
enum  vtype_mem_indices_e {
  VTYPE_INDEX_MEM_VALL, VTYPE_INDEX_MEM_VALH, VTYPE_INDEX_MEM_XHOLD, VTYPE_INDEX_MEM_TOG01,
  VTYPE_INDEX_MEM_TOG10, VTYPE_INDEX_MEM_WR, VTYPE_INDEX_MEM_RD, VTYPE_INDEX_MEM_MISC,
  VTYPE_INDEX_MEM_NUM
}
enum  vtype_exp_indices_e {
  VTYPE_INDEX_EXP_VALL, VTYPE_INDEX_EXP_VALH, VTYPE_INDEX_EXP_EVAL_A, VTYPE_INDEX_EXP_EVAL_B,
  VTYPE_INDEX_EXP_EVAL_C, VTYPE_INDEX_EXP_EVAL_D, VTYPE_INDEX_EXP_NUM
}
enum  cp_indices_e {
  CP_TYPE_LINE, CP_TYPE_TOGGLE, CP_TYPE_MEM, CP_TYPE_LOGIC,
  CP_TYPE_FSM, CP_TYPE_ASSERT, CP_TYPE_NUM
}
enum  rpt_type_e { RPT_TYPE_HIT, RPT_TYPE_MISS, RPT_TYPE_EXCL }
enum  bool { FALSE, TRUE }

Functions

 define_exception_type (int)

Variables

exception_context the_exception_context [1]


Define Documentation

#define ato16  )     atoi(x)
 

#define ato32  )     atoi(x)
 

#define ato64  )     atoll(x)
 

#define ato8  )     atoi(x)
 

#define CDD_VERSION   20
 

Contains the CDD version number of all CDD files that this version of Covered can write and read.

#define COVERED_HEADER   "\nCovered %s -- Verilog Code Coverage Utility\nWritten by Trevor Williams (phase1geo@gmail.com)\nFreely distributable under the GPL license\n", COVERED_VERSION
 

This contains the header information specified when executing this tool.

#define COVERED_VERSION   VERSION
 

Specifies current version of the Covered utility.

#define DEFAULT_LINE_WIDTH   105
 

If -w option is specified to report command, specifies number of characters of width we will output.

#define DEQ x,
 )     (fabs(x-y) < DBL_EPSILON)
 

Compares two double values

#define DFLT_DUMPVARS_NAME   "covered_dump.v"
 

Default filename that will contain the code necessary to dump only the needed signals of the design.

#define DFLT_OUTPUT_CDD   "cov.cdd"
 

Default database filename if not specified on command-line.

#define DFLT_VPI_NAME   "covered_vpi.v"
 

Default filename that will contain the code necessary to attach Covered as a VPI to the Verilog simulator.

#define EXPR_COMB_MISSED  )     (EXPR_IS_MEASURABLE( x ) && (x->ulid != -1))
 

Returns a value of 1 if the specified expression was measurable for combinational coverage but not fully covered during simulation.

#define EXPR_IS_COMB  ) 
 

Value:

((exp_op_info[x->op].suppl.is_comb > 0) && \
                                  (EXPR_IS_OP_AND_ASSIGN(x) || \
                                  (!expression_is_static_only( x->left ) && \
                                   !expression_is_static_only( x->right))))
Returns a value of true if the specified expression is considered a combination expression by the combinational logic report generator.

#define EXPR_IS_CONTEXT_SWITCH  ) 
 

Value:

((exp_op_info[x->op].suppl.is_context_switch == 1) || \
                                         ((x->op == EXP_OP_NB_CALL) && !ESUPPL_IS_IN_FUNC(x->suppl)))
These expressions will only allow a statement block to advance when they evaluate to a value of true (i.e., their statement's false path is NULL). They allow context switching to occur if they evaluate to false.

#define EXPR_IS_EVENT  )     exp_op_info[x->op].suppl.is_event
 

Returns a value of true if the specified expression is considered to be an event type (i.e., it either occurred or did not occur -- WAS_FALSE is not important).

#define EXPR_IS_MEASURABLE  ) 
 

Value:

(((exp_op_info[x->op].suppl.measurable == 1) && \
                                     (ESUPPL_IS_LHS( x->suppl ) == 0) && \
                                     (x->value->suppl.part.data_type != VDATA_R64) && \
                                     (x->value->suppl.part.data_type != VDATA_R32) && \
                                     !((ESUPPL_IS_ROOT( x->suppl ) == 0) && \
                                       ((x->op == EXP_OP_SIG) || \
                                        (x->op == EXP_OP_SBIT_SEL) || \
                                        (x->op == EXP_OP_MBIT_SEL) || \
                                        (x->op == EXP_OP_MBIT_POS) || \
                                        (x->op == EXP_OP_MBIT_NEG)) && \
                                       (x->parent->expr->op != EXP_OP_ASSIGN) && \
                                       (x->parent->expr->op != EXP_OP_DASSIGN) && \
                                       (x->parent->expr->op != EXP_OP_BASSIGN) && \
                                       (x->parent->expr->op != EXP_OP_NASSIGN) && \
                                       (x->parent->expr->op != EXP_OP_RASSIGN) && \
                                       (x->parent->expr->op != EXP_OP_DLY_OP) && \
                                       (x->parent->expr->op != EXP_OP_IF) && \
                                       (x->parent->expr->op != EXP_OP_WHILE) && \
                                       (x->parent->expr->op != EXP_OP_COND)) && \
                                     (x->line != 0)) ? 1 : 0)
Returns a value of 1 if the specified expression is considered to be measurable.

#define EXPR_IS_OP_AND_ASSIGN  ) 
 

Value:

((x->op == EXP_OP_ADD_A) || \
                                      (x->op == EXP_OP_SUB_A) || \
                                      (x->op == EXP_OP_MLT_A) || \
                                      (x->op == EXP_OP_DIV_A) || \
                                      (x->op == EXP_OP_MOD_A) || \
                                      (x->op == EXP_OP_AND_A) || \
                                      (x->op == EXP_OP_OR_A)  || \
                                      (x->op == EXP_OP_XOR_A) || \
                                      (x->op == EXP_OP_LS_A)  || \
                                      (x->op == EXP_OP_RS_A)  || \
                                      (x->op == EXP_OP_ALS_A) || \
                                      (x->op == EXP_OP_ARS_A))
Specifies if the expression is an op-and-assign operation (i.e., +=, -=, &=, etc.)

#define EXPR_IS_STATIC  )     exp_op_info[x->op].suppl.is_static
 

Returns a value of TRUE if the specified expression is a STATIC, PARAM, PARAM_SBIT, PARAM_MBIT, PARAM_MBIT_POS or PARAM_MBIT_NEG operation type.

#define EXPR_IS_UNARY  )     exp_op_info[x->op].suppl.is_unary
 

Returns a value of true if the specified expression is considered a unary expression by the combinational logic report generator.

#define EXPR_LEFT_DEALLOCABLE  ) 
 

Value:

(((x->op != EXP_OP_CASE)  && \
                                       (x->op != EXP_OP_CASEX) && \
                                       (x->op != EXP_OP_CASEZ)) || \
                                      (x->suppl.part.owned == 1))
Returns a value of 1 if the specified expression's left child may be deallocated using the expression_dealloc function. We can deallocate any left expression that doesn't belong to a case statement or has the owned bit set to 1.

#define EXPR_OP_HAS_DIM  ) 
 

Value:

((x == EXP_OP_DIM)            || \
                                     (x == EXP_OP_SBIT_SEL)       || \
                                     (x == EXP_OP_PARAM_SBIT)     || \
                                     (x == EXP_OP_MBIT_SEL)       || \
                                     (x == EXP_OP_PARAM_MBIT)     || \
                                     (x == EXP_OP_MBIT_POS)       || \
                                     (x == EXP_OP_MBIT_NEG)       || \
                                     (x == EXP_OP_PARAM_MBIT_POS) || \
                                     (x == EXP_OP_PARAM_MBIT_NEG))
Returns TRUE if this expression should have its dim element populated.

#define EXPR_OWNS_VEC  ) 
 

Value:

((o != EXP_OP_SIG)            && \
                                         (o != EXP_OP_SBIT_SEL)       && \
                                         (o != EXP_OP_MBIT_SEL)       && \
                                         (o != EXP_OP_MBIT_POS)       && \
                                         (o != EXP_OP_MBIT_NEG)       && \
                                         (o != EXP_OP_TRIGGER)        && \
                                         (o != EXP_OP_PARAM)          && \
                                         (o != EXP_OP_PARAM_SBIT)     && \
                                         (o != EXP_OP_PARAM_MBIT)     && \
                                         (o != EXP_OP_PARAM_MBIT_POS) && \
                                         (o != EXP_OP_PARAM_MBIT_NEG) && \
                                         (o != EXP_OP_ASSIGN)         && \
                                         (o != EXP_OP_DASSIGN)        && \
                                         (o != EXP_OP_BASSIGN)        && \
                                         (o != EXP_OP_NASSIGN)        && \
                                         (o != EXP_OP_RASSIGN)        && \
                                         (o != EXP_OP_IF)             && \
                                         (o != EXP_OP_WHILE)          && \
                                         (o != EXP_OP_PASSIGN)        && \
                                         (o != EXP_OP_DLY_ASSIGN)     && \
                                         (o != EXP_OP_DIM))
These expressions all use someone else's vectors instead of their own.

#define EXPR_RIGHT_DEALLOCABLE  )     (TRUE)
 

Specifies if the right expression can be deallocated (currently there is no reason why a right expression can't be deallocated.

#define EXPR_TMP_VECS  )     exp_op_info[x].suppl.tmp_vecs
 

Specifies the number of temporary vectors required by the given expression operation.

#define FEQ x,
 )     (fabs(x-y) < FLT_EPSILON)
 

Compares two float values

#define INTEGER_WIDTH   (SIZEOF_INT * 8)
 

Determine size of integer in bits.

#define MAX_BIT_WIDTH   65536
 

Specifies the maximum number of bits that a vector can hold.

#define MAX_MALLOC_SIZE   (MAX_BIT_WIDTH * 2)
 

Specifies the maximum number of bytes that can be allocated via the safe allocation functions in util.c.

#define PROFILING_OUTPUT_NAME   "covered.prof"
 

Default profiling output filename.

#define SIGNAL_IS_NET  ) 
 

Value:

((x->suppl.part.type == SSUPPL_TYPE_INPUT_NET)    || \
                                   (x->suppl.part.type == SSUPPL_TYPE_OUTPUT_NET)   || \
                                   (x->suppl.part.type == SSUPPL_TYPE_INOUT_NET)    || \
                                   (x->suppl.part.type == SSUPPL_TYPE_EVENT)        || \
                                   (x->suppl.part.type == SSUPPL_TYPE_DECL_NET)     || \
                                   (x->suppl.part.type == SSUPPL_TYPE_IMPLICIT)     || \
                                   (x->suppl.part.type == SSUPPL_TYPE_IMPLICIT_POS) || \
                                   (x->suppl.part.type == SSUPPL_TYPE_IMPLICIT_NEG))
Returns TRUE if the given vsignal is a net type.

#define TIME_CMP_GE x,
 )     ((((x).lo >= (y).lo) && ((x).hi >= (y).hi)) || ((x).hi > (y).hi))
 

#define TIME_CMP_GT x,
 )     (((x).lo > (y).lo) || ((x).hi > (y).hi))
 

#define TIME_CMP_LE x,
 )     ((((x).lo <= (y).lo) && ((x).hi <= (y).hi)) || ((x).hi < (y).hi))
 

Performs time comparison with the sim_time structure

#define TIME_CMP_NE x,
 )     (((x).lo ^ (y).lo) || ((x).hi ^ (y).hi))
 

#define TIME_INC x,
 )     (x).hi+=((0xffffffff-(x).lo)<(y).lo)?((y).hi+1):(y).hi; (x).lo+=(y).lo; (x).full+=(y).full;
 

Performs time increment where x is the sim_time structure to increment and y is a 64-bit value to increment to

#define UINT16  )     x
 

#define UINT32  )     x
 

#define UINT64  )     x ## LL
 

#define UINT8  )     x
 

#define UL_BITS   32
 

#define UL_DIV  )     (((unsigned int)x) >> UL_DIV_VAL)
 

Divides a bit position by an unsigned long

#define UL_DIV_VAL   5
 

#define UL_MOD  )     (((unsigned int)x) & UL_MOD_VAL)
 

Mods a bit position by an unsigned long

#define UL_MOD_VAL   0x1f
 

#define UL_SET   (unsigned long)0xffffffff
 

Create defines for unsigned long.

#define USER_MSG_LENGTH   (MAX_BIT_WIDTH * 2)
 

Length of user_msg global string (used for inputs to snprintf calls).

#define VECTOR_MERGE_MASK   0x6c
 

Used for merging two vector nibbles from two vectors. Both vector nibble fields are ANDed with this mask and ORed together to perform the merge. Fields that are merged are:

  • TOGGLE0->1
  • TOGGLE1->0
  • FALSE
  • TRUE

#define VSUPPL_MASK   0x7f
 

Mask for signal supplemental field when writing to CDD file.


Typedef Documentation

typedef union asuppl_u asuppl
 

Renaming asuppl_u field for convenience.

typedef struct attr_param_s attr_param
 

Renaming attribute parameter structure for convenience.

typedef struct case_gitem_s case_gitem
 

Renaming case generate item structure for convenience.

typedef struct case_stmt_s case_statement
 

Renaming case statement structure for convenience.

typedef struct comp_cdd_cov_s comp_cdd_cov
 

Renaming comp_cdd_cov_s structure for convenience.

typedef struct const_value_s const_value
 

Renaming vector structure for convenience.

typedef enum cp_indices_e cp_indices
 

Enumeration of coverage point types that are stored in the cps array in the comp_cdd_cov structure.

typedef struct db_s db
 

Renaming db_s structure for convenience.

typedef struct dim_and_nba_s dim_and_nba
 

Renaming dim_and_nba_s structure for convenience.

typedef struct dim_range_s dim_range
 

Renaming dim_range_s structure for convenience.

typedef struct enum_item_s enum_item
 

Renaming enum_item_s structure for convenience.

typedef union esuppl_u esuppl
 

Renaming esuppl_u for naming convenience.

typedef struct exclude_reason_s exclude_reason
 

Renaming exclude_reason_s structure for convenience.

typedef struct exp_bind_s exp_bind
 

Renaming signal/functional unit to expression binding structure for convenience.

typedef struct exp_dim_s exp_dim
 

Renaming expression dimension structure for convenience.

typedef struct exp_info_s exp_info
 

Renaming expression operation information structure for convenience.

typedef struct exp_link_s exp_link
 

Renaming expression link structure for convenience.

typedef enum exp_op_type_e exp_op_type
 

Enumeration of the various expression operations that Covered supports.

typedef union expr_stmt_u expr_stmt
 

Renaming expression statement union for convenience.

typedef struct expression_s expression
 

Renaming expression structure for convenience.

typedef struct fsm_s fsm
 

Renaming FSM structure for convenience.

typedef struct fsm_arc_s fsm_arc
 

Renaming FSM arc structure for convenience.

typedef struct fsm_link_s fsm_link
 

Renaming fsm_link structure for convenience.

typedef struct fsm_table_s fsm_table
 

Renaming FSM table structure for convenience.

typedef struct fsm_table_arc_s fsm_table_arc
 

Renaming FSM table arc structure for convenience.

typedef struct fsm_var_s fsm_var
 

Renaming FSM variable structure for convenience.

typedef union fsuppl_u fsuppl
 

Renaming fsuppl_u field for convenience.

typedef struct func_unit_s func_unit
 

Renaming functional unit structure for convenience.

typedef struct funit_inst_s funit_inst
 

Renaming functional unit instance structure for convenience.

typedef struct funit_link_s funit_link
 

Renaming functional unit link structure for convenience.

typedef struct fv_bind_s fv_bind
 

Renaming FSM bind structure for convenience.

typedef struct gen_item_s gen_item
 

Renaming gen_item_s structure for convenience.

typedef struct gitem_link_s gitem_link
 

Renaming gitem_link_s structure for convenience.

typedef struct inst_link_s inst_link
 

Renaming functional unit instance link structure for convenience.

typedef struct inst_parm_s inst_parm
 

Renaming instance parameter structure for convenience.

typedef long long int64
 

Create a 64-bit unsigned value.

typedef union isuppl_u isuppl
 

Renaming isuppl_u field for convenience.

typedef enum logic_rm_type_e logic_rm_type
 

Reasons for excluding a logic block from coverage consideration.

typedef struct mod_parm_s mod_parm
 

Renaming module parameter structure for convenience.

typedef struct nonblock_assign_s nonblock_assign
 

Renaming nonblock_assign_s structure for convenience.

typedef struct param_oride_s param_oride
 

Renaming param_orides_s structure for convenience.

typedef struct perf_stat_s perf_stat
 

Renaming perf_stat structure for convenience.

typedef struct port_info_s port_info
 

Renaming port_info_s structure for convenience.

typedef struct profiler_s profiler
 

Renaming profiler_s structure for convenience.

typedef union psuppl_u psuppl
 

Renaming psuppl_u field for convenience.

typedef struct race_blk_s race_blk
 

Renaming race_blk structure for convenience.

typedef float real32
 

Create a 32-bit real value.

typedef double real64
 

Create a 64-bit real value.

typedef struct reentrant_s reentrant
 

Renaming reentrant_s structure for convenience.

typedef enum rpt_type_e rpt_type
 

Enumeration of report types to output.

typedef struct rstack_entry_s rstack_entry
 

Renaming rstack_entry_s structure for convenience.

typedef struct rv32_s rv32
 

Renaming rv32 structure for convenience.

typedef struct rv64_s rv64
 

Renaming rv64 structure for convenience.

typedef struct sig_link_s sig_link
 

Renaming signal link structure for convenience.

typedef struct sig_range_s sig_range
 

Renaming sig_range_s structure for convenience.

typedef struct sim_time_s sim_time
 

Renaming sim_time_s structure for convenience.

typedef union ssuppl_u ssuppl
 

Renaming ssuppl_u field for convenience.

typedef struct statement_s statement
 

Renaming statement structure for convenience.

typedef struct static_expr_s static_expr
 

Renaming static expression structure for convenience.

typedef struct statistic_s statistic
 

Renaming statistic structure for convenience.

typedef struct stmt_blk_s stmt_blk
 

Renaming statement-signal structure for convenience.

typedef struct stmt_iter_s stmt_iter
 

Renaming statement iterator structure for convenience.

typedef struct stmt_link_s stmt_link
 

Renaming statement link structure for convenience.

typedef struct stmt_loop_link_s stmt_loop_link
 

Renaming statement loop link structure for convenience.

typedef struct str_link_s str_link
 

Renaming string link structure for convenience.

typedef struct struct_union_s struct_union
 

Renaming struct_unions_s structure for convenience.

typedef struct su_member_s su_member
 

Renaming su_member_s structure for convenience.

typedef struct sym_sig_s sym_sig
 

Renaming symbol signal structure for convenience.

typedef struct symtable_s symtable
 

Renaming symbol table structure for convenience.

typedef struct thr_link_s thr_link
 

Renaming thr_link structure for convenience.

typedef struct thr_list_s thr_list
 

Renaming thr_list structure for convenience.

typedef struct thread_s thread
 

Renaming thread structure for convenience.

typedef struct timer_s timer
 

Renaming timer structure for convenience.

typedef struct tnode_s tnode
 

Renaming tree node structure for convenience.

typedef struct typedef_item_s typedef_item
 

Renaming typedef_item_s structure for convenience.

typedef unsigned short uint16
 

Create an 16-bit unsigned value.

typedef unsigned int uint32
 

Create a 32-bit unsigned value.

typedef unsigned long long uint64
 

typedef unsigned char uint8
 

Create an 8-bit unsigned value.

typedef unsigned long ulong
 

Machine-dependent value.

typedef struct vecblk_s vecblk
 

Renaming vector structure for convenience.

typedef struct vector_s vector
 

Renaming vector structure for convenience.

typedef struct vector_width_s vector_width
 

Renaming vector width structure for convenience.

typedef struct vsignal_s vsignal
 

Renaming signal structure for convenience.

typedef union vsuppl_u vsuppl
 

Renaming vsuppl_u field for convenience.


Enumeration Type Documentation

enum bool
 

Defines boolean variables used in most functions.

Enumeration values:
FALSE  Boolean false value
TRUE  Boolean true value

01366              {
01367   FALSE,   
01368   TRUE     
01369 } bool;

enum cp_indices_e
 

Enumeration of coverage point types that are stored in the cps array in the comp_cdd_cov structure.

Enumeration values:
CP_TYPE_LINE 
CP_TYPE_TOGGLE 
CP_TYPE_MEM 
CP_TYPE_LOGIC 
CP_TYPE_FSM 
CP_TYPE_ASSERT 
CP_TYPE_NUM 

01226                           {
01227   CP_TYPE_LINE,
01228   CP_TYPE_TOGGLE,
01229   CP_TYPE_MEM,
01230   CP_TYPE_LOGIC,
01231   CP_TYPE_FSM,
01232   CP_TYPE_ASSERT,
01233   CP_TYPE_NUM
01234 } cp_indices;

enum exp_op_type_e
 

Enumeration of the various expression operations that Covered supports.

Enumeration values:
EXP_OP_STATIC  0:0x00. Specifies constant value.
EXP_OP_SIG  1:0x01. Specifies signal value.
EXP_OP_XOR  2:0x02. Specifies '^' operator.
EXP_OP_MULTIPLY  3:0x03. Specifies '*' operator.
EXP_OP_DIVIDE  4:0x04. Specifies '/' operator.
EXP_OP_MOD  5:0x05. Specifies '%' operator.
EXP_OP_ADD  6:0x06. Specifies '+' operator.
EXP_OP_SUBTRACT  7:0x07. Specifies '-' operator.
EXP_OP_AND  8:0x08. Specifies '&' operator.
EXP_OP_OR  9:0x09. Specifies '|' operator.
EXP_OP_NAND  10:0x0a. Specifies '~&' operator.
EXP_OP_NOR  11:0x0b. Specifies '~|' operator.
EXP_OP_NXOR  12:0x0c. Specifies '~^' operator.
EXP_OP_LT  13:0x0d. Specifies '<' operator.
EXP_OP_GT  14:0x0e. Specifies '>' operator.
EXP_OP_LSHIFT  15:0x0f. Specifies '<<' operator.
EXP_OP_RSHIFT  16:0x10. Specifies '>>' operator.
EXP_OP_EQ  17:0x11. Specifies '==' operator.
EXP_OP_CEQ  18:0x12. Specifies '===' operator.
EXP_OP_LE  19:0x13. Specifies '<=' operator.
EXP_OP_GE  20:0x14. Specifies '>=' operator.
EXP_OP_NE  21:0x15. Specifies '!=' operator.
EXP_OP_CNE  22:0x16. Specifies '!==' operator.
EXP_OP_LOR  23:0x17. Specifies '||' operator.
EXP_OP_LAND  24:0x18. Specifies '&&' operator.
EXP_OP_COND  25:0x19. Specifies '?:' conditional operator.
EXP_OP_COND_SEL  26:0x1a. Specifies '?:' conditional select.
EXP_OP_UINV  27:0x1b. Specifies '~' unary operator.
EXP_OP_UAND  28:0x1c. Specifies '&' unary operator.
EXP_OP_UNOT  29:0x1d. Specifies '!' unary operator.
EXP_OP_UOR  30:0x1e. Specifies '|' unary operator.
EXP_OP_UXOR  31:0x1f. Specifies '^' unary operator.
EXP_OP_UNAND  32:0x20. Specifies '~&' unary operator.
EXP_OP_UNOR  33:0x21. Specifies '~|' unary operator.
EXP_OP_UNXOR  34:0x22. Specifies '~^' unary operator.
EXP_OP_SBIT_SEL  35:0x23. Specifies single-bit signal select (i.e., [x]).
EXP_OP_MBIT_SEL  36:0x24. Specifies multi-bit signal select (i.e., [x:y]).
EXP_OP_EXPAND  37:0x25. Specifies bit expansion operator (i.e., {x{y}}).
EXP_OP_CONCAT  38:0x26. Specifies signal concatenation operator (i.e., {x,y}).
EXP_OP_PEDGE  39:0x27. Specifies posedge operator (i.e., @posedge x).
EXP_OP_NEDGE  40:0x28. Specifies negedge operator (i.e., @negedge x).
EXP_OP_AEDGE  41:0x29. Specifies anyedge operator (i.e., @x).
EXP_OP_LAST  42:0x2a. Specifies 1-bit holder for parent.
EXP_OP_EOR  43:0x2b. Specifies 'or' event operator.
EXP_OP_DELAY  44:0x2c. Specifies delay operator (i.e., #(x)).
EXP_OP_CASE  45:0x2d. Specifies case equality expression.
EXP_OP_CASEX  46:0x2e. Specifies casex equality expression.
EXP_OP_CASEZ  47:0x2f. Specifies casez equality expression.
EXP_OP_DEFAULT  48:0x30. Specifies case/casex/casez default expression.
EXP_OP_LIST  49:0x31. Specifies comma separated expression list.
EXP_OP_PARAM  50:0x32. Specifies full parameter.
EXP_OP_PARAM_SBIT  51:0x33. Specifies single-bit select parameter.
EXP_OP_PARAM_MBIT  52:0x34. Specifies multi-bit select parameter.
EXP_OP_ASSIGN  53:0x35. Specifies an assign assignment operator.
EXP_OP_DASSIGN  54:0x36. Specifies a wire declaration assignment operator.
EXP_OP_BASSIGN  55:0x37. Specifies a blocking assignment operator.
EXP_OP_NASSIGN  56:0x38. Specifies a non-blocking assignment operator.
EXP_OP_IF  57:0x39. Specifies an if statement operator.
EXP_OP_FUNC_CALL  58:0x3a. Specifies a function call.
EXP_OP_TASK_CALL  59:0x3b. Specifies a task call (note: this operator MUST be the root of the expression tree)
EXP_OP_TRIGGER  60:0x3c. Specifies an event trigger (->).
EXP_OP_NB_CALL  61:0x3d. Specifies a "call" to a named block
EXP_OP_FORK  62:0x3e. Specifies a fork command
EXP_OP_JOIN  63:0x3f. Specifies a join command
EXP_OP_DISABLE  64:0x40. Specifies a disable command
EXP_OP_REPEAT  65:0x41. Specifies a repeat loop test expression
EXP_OP_WHILE  66:0x42. Specifies a while loop test expression
EXP_OP_ALSHIFT  67:0x43. Specifies arithmetic left shift (<<<)
EXP_OP_ARSHIFT  68:0x44. Specifies arithmetic right shift (>>>)
EXP_OP_SLIST  69:0x45. Specifies sensitivity list (*)
EXP_OP_EXPONENT  70:0x46. Specifies the exponential operator "**"
EXP_OP_PASSIGN  71:0x47. Specifies a port assignment
EXP_OP_RASSIGN  72:0x48. Specifies register assignment (reg a = 1'b0)
EXP_OP_MBIT_POS  73:0x49. Specifies positive variable multi-bit select (a[b+:3])
EXP_OP_MBIT_NEG  74:0x4a. Specifies negative variable multi-bit select (a[b-:3])
EXP_OP_PARAM_MBIT_POS  75:0x4b. Specifies positive variable multi-bit parameter select
EXP_OP_PARAM_MBIT_NEG  76:0x4c. Specifies negative variable multi-bit parameter select
EXP_OP_NEGATE  77:0x4d. Specifies the unary negate operator (-)
EXP_OP_NOOP  78:0x4e. Specifies no operation is to be performed (placeholder)
EXP_OP_ALWAYS_COMB  79:0x4f. Specifies an always_comb statement (implicit event expression - similar to SLIST)
EXP_OP_ALWAYS_LATCH  80:0x50. Specifies an always_latch statement (implicit event expression - similar to SLIST)
EXP_OP_IINC  81:0x51. Specifies the immediate increment SystemVerilog operator (++a)
EXP_OP_PINC  82:0x52. Specifies the postponed increment SystemVerilog operator (a++)
EXP_OP_IDEC  83:0x53. Specifies the immediate decrement SystemVerilog operator (--a)
EXP_OP_PDEC  84:0x54. Specifies the postponed decrement SystemVerilog operator (a--)
EXP_OP_DLY_ASSIGN  85:0x55. Specifies a delayed assignment (i.e., a = #5 b; or a = @(c) b;)
EXP_OP_DLY_OP  86:0x56. Child expression of DLY_ASSIGN, points to the delay expr and the op expr
EXP_OP_RPT_DLY  87:0x57. Child expression of DLY_OP, points to the delay expr and the repeat expr
EXP_OP_DIM  88:0x58. Specifies a selection dimension (right expression points to a selection expr)
EXP_OP_WAIT  89:0x59. Specifies a wait statement
EXP_OP_SFINISH  90:0x5a. Specifies a $finish call
EXP_OP_SSTOP  91:0x5b. Specifies a $stop call
EXP_OP_ADD_A  92:0x5c. Specifies the '+=' operator
EXP_OP_SUB_A  93:0x5d. Specifies the '-=' operator
EXP_OP_MLT_A  94:0x5e. Specifies the '*=' operator
EXP_OP_DIV_A  95:0x5f. Specifies the '/=' operator
EXP_OP_MOD_A  96:0x60. Specifies the '%=' operator
EXP_OP_AND_A  97:0x61. Specifies the '&=' operator
EXP_OP_OR_A  98:0x62. Specifies the '|=' operator
EXP_OP_XOR_A  99:0x63. Specifies the '^=' operator
EXP_OP_LS_A  100:0x64. Specifies the '<<=' operator
EXP_OP_RS_A  101:0x65. Specifies the '>>=' operator
EXP_OP_ALS_A  102:0x66. Specifies the '<<<=' operator
EXP_OP_ARS_A  103:0x67. Specifies the '>>>=' operator
EXP_OP_FOREVER  104:0x68. Specifies the 'forever' statement
EXP_OP_STIME  105:0x69. Specifies the $time system call
EXP_OP_SRANDOM  106:0x6a. Specifies the $random system call
EXP_OP_PLIST  107:0x6b. Task/function port list glue
EXP_OP_SASSIGN  108:0x6c. System task port assignment holder
EXP_OP_SSRANDOM  109:0x6d. Specifies the $srandom system call
EXP_OP_SURANDOM  110:0x6e. Specifies the $urandom system call
EXP_OP_SURAND_RANGE  111:0x6f. Specifies the $urandom_range system call
EXP_OP_SR2B  112:0x70. Specifies the $realtobits system call
EXP_OP_SB2R  113:0x71. Specifies the $bitstoreal system call
EXP_OP_SSR2B  114:0x72. Specifies the $shortrealtobits system call
EXP_OP_SB2SR  115:0x73. Specifies the $bitstoshortreal system call
EXP_OP_SI2R  116:0x74. Specifies the $itor system call
EXP_OP_SR2I  117:0x75. Specifies the $rtoi system call
EXP_OP_STESTARGS  118:0x76. Specifies the $test$plusargs system call
EXP_OP_SVALARGS  119:0x77. Specifies the $value$plusargs system call
EXP_OP_SSIGNED  120:0x78. Specifies the $signed system call
EXP_OP_SUNSIGNED  121:0x79. Specifies the $unsigned system call
EXP_OP_NUM  The total number of defines for expression values

00769                            {
00770   EXP_OP_STATIC = 0,      
00771   EXP_OP_SIG,             
00772   EXP_OP_XOR,             
00773   EXP_OP_MULTIPLY,        
00774   EXP_OP_DIVIDE,          
00775   EXP_OP_MOD,             
00776   EXP_OP_ADD,             
00777   EXP_OP_SUBTRACT,        
00778   EXP_OP_AND,             
00779   EXP_OP_OR,              
00780   EXP_OP_NAND,            
00781   EXP_OP_NOR,             
00782   EXP_OP_NXOR,            
00783   EXP_OP_LT,              
00784   EXP_OP_GT,              
00785   EXP_OP_LSHIFT,          
00786   EXP_OP_RSHIFT,          
00787   EXP_OP_EQ,              
00788   EXP_OP_CEQ,             
00789   EXP_OP_LE,              
00790   EXP_OP_GE,              
00791   EXP_OP_NE,              
00792   EXP_OP_CNE,             
00793   EXP_OP_LOR,             
00794   EXP_OP_LAND,            
00795   EXP_OP_COND,            
00796   EXP_OP_COND_SEL,        
00797   EXP_OP_UINV,            
00798   EXP_OP_UAND,            
00799   EXP_OP_UNOT,            
00800   EXP_OP_UOR,             
00801   EXP_OP_UXOR,            
00802   EXP_OP_UNAND,           
00803   EXP_OP_UNOR,            
00804   EXP_OP_UNXOR,           
00805   EXP_OP_SBIT_SEL,        
00806   EXP_OP_MBIT_SEL,        
00807   EXP_OP_EXPAND,          
00808   EXP_OP_CONCAT,          
00809   EXP_OP_PEDGE,           
00810   EXP_OP_NEDGE,           
00811   EXP_OP_AEDGE,           
00812   EXP_OP_LAST,            
00813   EXP_OP_EOR,             
00814   EXP_OP_DELAY,           
00815   EXP_OP_CASE,            
00816   EXP_OP_CASEX,           
00817   EXP_OP_CASEZ,           
00818   EXP_OP_DEFAULT,         
00819   EXP_OP_LIST,            
00820   EXP_OP_PARAM,           
00821   EXP_OP_PARAM_SBIT,      
00822   EXP_OP_PARAM_MBIT,      
00823   EXP_OP_ASSIGN,          
00824   EXP_OP_DASSIGN,         
00825   EXP_OP_BASSIGN,         
00826   EXP_OP_NASSIGN,         
00827   EXP_OP_IF,              
00828   EXP_OP_FUNC_CALL,       
00829   EXP_OP_TASK_CALL,       
00830   EXP_OP_TRIGGER,         
00831   EXP_OP_NB_CALL,         
00832   EXP_OP_FORK,            
00833   EXP_OP_JOIN,            
00834   EXP_OP_DISABLE,         
00835   EXP_OP_REPEAT,          
00836   EXP_OP_WHILE,           
00837   EXP_OP_ALSHIFT,         
00838   EXP_OP_ARSHIFT,         
00839   EXP_OP_SLIST,           
00840   EXP_OP_EXPONENT,        
00841   EXP_OP_PASSIGN,         
00842   EXP_OP_RASSIGN,         
00843   EXP_OP_MBIT_POS,        
00844   EXP_OP_MBIT_NEG,        
00845   EXP_OP_PARAM_MBIT_POS,  
00846   EXP_OP_PARAM_MBIT_NEG,  
00847   EXP_OP_NEGATE,          
00848   EXP_OP_NOOP,            
00849   EXP_OP_ALWAYS_COMB,     
00850   EXP_OP_ALWAYS_LATCH,    
00851   EXP_OP_IINC,            
00852   EXP_OP_PINC,            
00853   EXP_OP_IDEC,            
00854   EXP_OP_PDEC,            
00855   EXP_OP_DLY_ASSIGN,      
00856   EXP_OP_DLY_OP,          
00857   EXP_OP_RPT_DLY,         
00858   EXP_OP_DIM,             
00859   EXP_OP_WAIT,            
00860   EXP_OP_SFINISH,         
00861   EXP_OP_SSTOP,           
00862   EXP_OP_ADD_A,           
00863   EXP_OP_SUB_A,           
00864   EXP_OP_MLT_A,           
00865   EXP_OP_DIV_A,           
00866   EXP_OP_MOD_A,           
00867   EXP_OP_AND_A,           
00868   EXP_OP_OR_A,            
00869   EXP_OP_XOR_A,           
00870   EXP_OP_LS_A,            
00871   EXP_OP_RS_A,            
00872   EXP_OP_ALS_A,           
00873   EXP_OP_ARS_A,           
00874   EXP_OP_FOREVER,         
00875   EXP_OP_STIME,           
00876   EXP_OP_SRANDOM,         
00877   EXP_OP_PLIST,           
00878   EXP_OP_SASSIGN,         
00879   EXP_OP_SSRANDOM,        
00880   EXP_OP_SURANDOM,        
00881   EXP_OP_SURAND_RANGE,    
00882   EXP_OP_SR2B,            
00883   EXP_OP_SB2R,            
00884   EXP_OP_SSR2B,           
00885   EXP_OP_SB2SR,           
00886   EXP_OP_SI2R,            
00887   EXP_OP_SR2I,            
00888   EXP_OP_STESTARGS,       
00889   EXP_OP_SVALARGS,        
00890   EXP_OP_SSIGNED,         
00891   EXP_OP_SUNSIGNED,       
00892   EXP_OP_NUM              
00893 } exp_op_type;

enum logic_rm_type_e
 

Reasons for excluding a logic block from coverage consideration.

Enumeration values:
LOGIC_RM_REAL  0. Statement block excluded because it contains a real number.
LOGIC_RM_SYSFUNC  1. Statement block excluded because it contains a system function.
LOGIC_RM_SYSTASK  2. Statement block excluded because it contains a system task.
LOGIC_RM_NUM  Number of valid reasons

00759                              {
00760   LOGIC_RM_REAL = 0,     
00761   LOGIC_RM_SYSFUNC,      
00762   LOGIC_RM_SYSTASK,      
00763   LOGIC_RM_NUM           
00764 } logic_rm_type;

enum rpt_type_e
 

Enumeration of report types to output.

Enumeration values:
RPT_TYPE_HIT 
RPT_TYPE_MISS 
RPT_TYPE_EXCL 

01239                         {
01240   RPT_TYPE_HIT,
01241   RPT_TYPE_MISS,
01242   RPT_TYPE_EXCL
01243 } rpt_type;


Function Documentation

define_exception_type int   ) 
 

This will define the exception type that gets thrown (Covered does not care about this value)


Variable Documentation

struct exception_context the_exception_context[1]
 

Exception context structure used by cexcept.h for throwing and catching exceptions.


Generated on Wed Jun 17 22:19:21 2009 for Covered by doxygen 1.3.4