defines.h File Reference

Contains definitions/structures used in the Covered utility. More...

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

Defines

#define COVERED_VERSION   VERSION
#define CDD_VERSION   24
#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 DUMP_FMT_FST   3
#define FATAL   1
#define FATAL_WRAP   2
#define WARNING   3
#define WARNING_WRAP   4
#define NORMAL   5
#define DEBUG   6
#define HEADER   7
#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 SIGNAL_ASSIGN_FROM_DUMPFILE(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   (unsigned char)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 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 long ulong
typedef union esuppl_u esuppl
typedef union ssuppl_u ssuppl
typedef union psuppl_u psuppl
typedef union isuppl_u isuppl
typedef union vsuppl_u vsuppl
typedef union fsuppl_u fsuppl
typedef union asuppl_u asuppl
typedef struct exp_info_s exp_info
typedef struct str_link_s str_link
typedef struct rv64_s rv64
typedef struct rv32_s rv32
typedef struct vector_s vector
typedef struct const_value_s const_value
typedef struct vecblk_s vecblk
typedef struct exp_dim_s exp_dim
typedef union expr_stmt_u expr_stmt
typedef struct expression_s expression
typedef struct vsignal_s vsignal
typedef struct fsm_s fsm
typedef struct fsm_table_arc_s fsm_table_arc
typedef struct fsm_table_s fsm_table
typedef struct statement_s statement
typedef struct sig_link_s sig_link
typedef struct exp_link_s exp_link
typedef struct stmt_link_s stmt_link
typedef struct stmt_loop_link_s stmt_loop_link
typedef struct statistic_s statistic
typedef struct mod_parm_s mod_parm
typedef struct inst_parm_s inst_parm
typedef struct fsm_arc_s fsm_arc
typedef struct fsm_link_s fsm_link
typedef struct race_blk_s race_blk
typedef struct func_unit_s func_unit
typedef struct funit_link_s funit_link
typedef struct inst_link_s inst_link
typedef struct sym_sig_s sym_sig
typedef struct symtable_s symtable
typedef struct static_expr_s static_expr
typedef struct vector_width_s vector_width
typedef struct exp_bind_s exp_bind
typedef struct case_stmt_s case_statement
typedef struct case_gitem_s case_gitem
typedef struct funit_inst_s funit_inst
typedef struct tnode_s tnode
typedef struct fsm_var_s fsm_var
typedef struct fv_bind_s fv_bind
typedef struct attr_param_s attr_param
typedef struct stmt_blk_s stmt_blk
typedef struct thread_s thread
typedef struct thr_link_s thr_link
typedef struct thr_list_s thr_list
typedef struct perf_stat_s perf_stat
typedef struct port_info_s port_info
typedef struct param_oride_s param_oride
typedef struct gen_item_s gen_item
typedef struct gitem_link_s gitem_link
typedef struct typedef_item_s typedef_item
typedef struct enum_item_s enum_item
typedef struct sig_range_s sig_range
typedef struct dim_range_s dim_range
typedef struct reentrant_s reentrant
typedef struct rstack_entry_s rstack_entry
typedef struct struct_union_s struct_union
typedef struct su_member_s su_member
typedef struct profiler_s profiler
typedef struct db_s db
typedef struct sim_time_s sim_time
typedef struct comp_cdd_cov_s comp_cdd_cov
typedef struct exclude_reason_s exclude_reason
typedef struct dim_and_nba_s dim_and_nba
typedef struct 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_SCLOG2, EXP_OP_SREALTIME,
  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

struct exception_context the_exception_context [1]

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.

Define Documentation

#define CDD_VERSION   24

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

Referenced by info_db_read(), and info_db_write().

#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.

Referenced by command_exclude(), command_merge(), command_rank(), command_report(), and command_score().

#define COVERED_VERSION   VERSION

Specifies current version of the Covered utility.

Referenced by main().

#define DEFAULT_LINE_WIDTH   105

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

Referenced by report_parse_args(), and report_usage().

#define DEQ ( x,
 )     (fabs(x-y) < DBL_EPSILON)
#define DFLT_DUMPVARS_NAME   "covered_dump.v"

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

Referenced by score_parse_args().

#define DFLT_OUTPUT_CDD   "cov.cdd"

Default database filename if not specified on command-line.

Referenced by command_score().

#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.

Referenced by score_parse_args(), and score_usage().

#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.

Referenced by combination_get_missed_expr().

#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.

Referenced by combination_get_missed_expr(), combination_get_tree_stats(), and rank_gather_comb_cov().

#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.

Referenced by sim_thread(), and statement_connect().

#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).

Referenced by combination_get_missed_expr(), combination_get_tree_stats(), and rank_gather_comb_cov().

#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.

Referenced by combination_get_tree_stats(), combination_output_expr(), and rank_gather_comb_cov().

#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.)

Referenced by expression_is_static_only_helper().

#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.

Referenced by expression_db_read(), expression_is_static_only_helper(), reentrant_count_afu_bits(), reentrant_restore_data_bits(), and reentrant_store_data_bits().

#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.

Referenced by exp_link_remove(), expression_db_write_tree(), and expression_dealloc().

#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.

Referenced by expression_create(), and expression_dealloc().

#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.

Referenced by expression_db_write(), reentrant_count_afu_bits(), reentrant_restore_data_bits(), and reentrant_store_data_bits().

#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.

Referenced by exp_link_remove(), and expression_dealloc().

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

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

Referenced by expression_create_tmp_vecs(), and expression_dealloc().

#define FEQ ( x,
 )     (fabs(x-y) < FLT_EPSILON)
#define INTEGER_WIDTH   (SIZEOF_INT * 8)

Determine size of integer in bits.

#define MAX_BIT_WIDTH   65536
#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.

Referenced by malloc_safe1(), realloc_safe1(), and strdup_safe1().

#define PROFILING_OUTPUT_NAME   "covered.prof"

Default profiling output filename.

Referenced by covered_sim_calltf(), and main().

#define SIGNAL_ASSIGN_FROM_DUMPFILE (  ) 
Value:
((x->suppl.part.assigned == 0)                  && \
                                         (x->suppl.part.type != SSUPPL_TYPE_PARAM)      && \
                                         (x->suppl.part.type != SSUPPL_TYPE_PARAM_REAL) && \
                                         (x->suppl.part.type != SSUPPL_TYPE_ENUM)       && \
                                         (x->suppl.part.type != SSUPPL_TYPE_MEM)        && \
                                         (x->suppl.part.type != SSUPPL_TYPE_GENVAR)     && \
                                         (x->suppl.part.type != SSUPPL_TYPE_EVENT))

Returns TRUE if the signal must be assigned from the dumpfile.

Referenced by db_assign_symbol(), and funit_is_one_signal_assigned().

#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.

Referenced by vsignal_db_write().

#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))

Overload for the snprintf function which verifies that we don't overrun character arrays

Performs time comparison with the sim_time structure

Referenced by expression_op_func__delay(), and sim_simulate().

#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

Referenced by expression_op_func__delay().

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

Create defines for unsigned long.

Divides a bit position by an unsigned long

Referenced by rank_create_comp_cdd_cov(), rank_dealloc_comp_cdd_cov(), rank_gather_comb_cov(), rank_gather_expression_cov(), rank_gather_fsm_cov(), rank_gather_signal_cov(), rank_perform(), rank_perform_greedy_sort(), rank_perform_weighted_selection(), rank_selected_cdd_cov(), reentrant_restore_data_bits(), reentrant_store_data_bits(), vector_bitwise_and_op(), vector_bitwise_nand_op(), vector_bitwise_nor_op(), vector_bitwise_nxor_op(), vector_bitwise_or_op(), vector_bitwise_xor_op(), vector_ceq_ulong(), vector_copy_range(), vector_copy_val_and_sign_extend_ulong(), vector_from_int(), vector_from_uint64(), vector_get_eval_a(), vector_get_eval_b(), vector_get_eval_c(), vector_get_eval_d(), vector_get_sign_extend_vector_ulong(), vector_get_toggle01_ulong(), vector_get_toggle10_ulong(), vector_lshift_ulong(), vector_mem_rw_count(), vector_op_add(), vector_op_arshift(), vector_op_cxeq(), vector_op_czeq(), vector_op_eq(), vector_op_expand(), vector_op_ge(), vector_op_gt(), vector_op_le(), vector_op_list(), vector_op_lshift(), vector_op_lt(), vector_op_ne(), vector_op_negate(), vector_op_rshift(), vector_op_subtract(), vector_part_select_pull(), vector_part_select_push(), vector_reverse_for_cmp_ulong(), vector_rshift_ulong(), vector_set_assigned(), vector_set_coverage_and_assign_ulong(), vector_set_static(), vector_set_to_x(), vector_set_value_ulong(), vector_sign_extend_ulong(), vector_to_string(), vector_unary_inv(), and vector_vcd_assign().

#define UL_MOD (  )     (((unsigned int)x) & UL_MOD_VAL)
#define USER_MSG_LENGTH   (MAX_BIT_WIDTH * 2)

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

Referenced by bind_perform(), bind_signal(), bind_task_function_namedblock(), check_option_value(), combination_underline_tree(), command_exclude(), command_merge(), command_rank(), command_report(), command_score(), covered_create_value_change_cb(), covered_parse_instance(), covered_parse_signals(), covered_parse_task_func(), covered_value_change_bin(), covered_value_change_real(), db_add_declared_param(), db_add_defparam(), db_add_enum(), db_add_expression(), db_add_file_version(), db_add_function_task_namedblock(), db_add_instance(), db_add_module(), db_add_override_param(), db_add_signal(), db_add_statement(), db_add_typedef(), db_add_vector_param(), db_assign_symbol(), db_bind_expr_tree(), db_check_dumpfile_scopes(), db_connect_statement_false(), db_connect_statement_true(), db_create_attr_param(), db_create_expr_from_static(), db_create_expression(), db_create_statement(), db_do_timestep(), db_end_function_task_namedblock(), db_end_module(), db_find_gen_item(), db_find_signal(), db_find_typedef(), db_gen_item_connect(), db_gen_item_connect_false(), db_gen_item_connect_true(), db_parallelize_statement(), db_read(), db_remove_statement(), db_remove_statement_from_current_funit(), db_set_symbol_char(), db_set_symbol_string(), db_set_vcd_scope(), db_statement_connect(), db_vcd_upscope(), db_write(), defparam_add(), directory_load(), enumerate_resolve(), exclude_apply_exclusions(), exclude_assert_from_id(), exclude_expr_from_id(), exclude_fsm_from_id(), exclude_get_message(), exclude_line_from_id(), exclude_memory_from_id(), exclude_parse_args(), exclude_toggle_from_id(), expression_assign(), expression_create_value(), expression_db_read(), expression_dealloc(), expression_op_func__bitstoreal(), expression_op_func__bitstoshortreal(), expression_op_func__itor(), expression_op_func__realtobits(), expression_op_func__rtoi(), expression_op_func__shortrealtobits(), expression_op_func__test_plusargs(), expression_op_func__urandom_range(), expression_op_func__value_plusargs(), expression_operate(), expression_resize(), expression_string(), fsm_arg_parse_attr(), fsm_arg_parse_trans(), fsm_db_read(), fsm_var_bind_expr(), funit_db_read(), funit_db_write(), gen_item_create_bind(), gen_item_create_expr(), gen_item_create_inst(), gen_item_create_sig(), gen_item_create_stmt(), gen_item_create_tfn(), gen_item_resolve(), instance_resolve_helper(), lxt2_rd_iter_radix(), lxt2_rd_iter_radix0(), lxt2_rd_process_block(), main(), merge_parse_args(), merged_cdd_db_read(), param_find_and_set_expr_value(), parse_and_score_dumpfile(), parse_design(), parse_readline(), print_output(), profiler_report(), race_check_race_count(), race_handle_race_condition(), rank_check_index(), rank_output(), rank_parse_args(), rank_perform(), rank_read_cdd(), read_command_file(), report_parse_args(), report_parse_metrics(), scope_find_param(), scope_find_signal(), scope_find_task_function_namedblock(), score_generate_pli_tab_file(), score_generate_top_dumpvars_module(), score_generate_top_vpi_module(), score_parse_args(), search_add_directory_path(), search_add_extensions(), search_add_file(), search_add_include_path(), search_add_no_score_funit(), sim_expr_changed(), sim_expression(), sim_thread(), stmt_blk_specify_removal_reason(), substitute_env_vars(), vcd_parse_def(), vcd_parse_sim(), VLerror(), VLwarn(), and vsignal_vcd_assign().

#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   (unsigned char)0x7f

Mask for signal supplemental field when writing to CDD file.

Referenced by vector_db_write().


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.

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.

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 union isuppl_u isuppl

Renaming isuppl_u field for convenience.

Reasons for excluding a logic block from coverage consideration.

typedef struct mod_parm_s mod_parm

Renaming module parameter structure for convenience.

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 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_link_s stmt_link

Renaming statement link structure for convenience.

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 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 long ulong

Create an 8-bit unsigned value.

Create an 16-bit unsigned value.

Create a 32-bit unsigned value.

Create a 32-bit real value.

Create a 64-bit unsigned value.

Create a 64-bit real value.

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.

Enumerator:
FALSE 

Boolean false value

TRUE 

Boolean true value

01388              {
01389   FALSE,   
01390   TRUE     
01391 } bool;

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

Enumerator:
CP_TYPE_LINE 
CP_TYPE_TOGGLE 
CP_TYPE_MEM 
CP_TYPE_LOGIC 
CP_TYPE_FSM 
CP_TYPE_ASSERT 
CP_TYPE_NUM 

01248                           {
01249   CP_TYPE_LINE,
01250   CP_TYPE_TOGGLE,
01251   CP_TYPE_MEM,
01252   CP_TYPE_LOGIC,
01253   CP_TYPE_FSM,
01254   CP_TYPE_ASSERT,
01255   CP_TYPE_NUM
01256 } cp_indices;

Enumeration of the various expression operations that Covered supports.

Enumerator:
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_SCLOG2 

122:0x7a. Specifies the $clog2 system call

EXP_OP_SREALTIME 

123:0x7b. Specifies the $realtime system call

EXP_OP_NUM 

The total number of defines for expression values

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

Reasons for excluding a logic block from coverage consideration.

Enumerator:
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

00779                              {
00780   LOGIC_RM_REAL = 0,     
00781   LOGIC_RM_SYSFUNC,      
00782   LOGIC_RM_SYSTASK,      
00783   LOGIC_RM_NUM           
00784 } logic_rm_type;

enum rpt_type_e

Enumeration of report types to output.

Enumerator:
RPT_TYPE_HIT 
RPT_TYPE_MISS 
RPT_TYPE_EXCL 

01261                         {
01262   RPT_TYPE_HIT,
01263   RPT_TYPE_MISS,
01264   RPT_TYPE_EXCL
01265 } 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

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

Referenced by covered_sim_calltf(), and main().

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