#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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Contains the CDD version number of all CDD files that this version of Covered can write and read. |
|
|
This contains the header information specified when executing this tool. |
|
|
Specifies current version of the Covered utility. |
|
|
If -w option is specified to report command, specifies number of characters of width we will output. |
|
|
Compares two double values |
|
|
Default filename that will contain the code necessary to dump only the needed signals of the design. |
|
|
Default database filename if not specified on command-line. |
|
|
Default filename that will contain the code necessary to attach Covered as a VPI to the Verilog simulator. |
|
|
Returns a value of 1 if the specified expression was measurable for combinational coverage but not fully covered during simulation. |
|
|
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)))) |
|
|
Value: ((exp_op_info[x->op].suppl.is_context_switch == 1) || \ ((x->op == EXP_OP_NB_CALL) && !ESUPPL_IS_IN_FUNC(x->suppl))) |
|
|
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). |
|
|
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) |
|
|
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)) |
|
|
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. |
|
|
Returns a value of true if the specified expression is considered a unary expression by the combinational logic report generator. |
|
|
Value: (((x->op != EXP_OP_CASE) && \ (x->op != EXP_OP_CASEX) && \ (x->op != EXP_OP_CASEZ)) || \ (x->suppl.part.owned == 1)) |
|
|
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)) |
|
|
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)) |
|
|
Specifies if the right expression can be deallocated (currently there is no reason why a right expression can't be deallocated. |
|
|
Specifies the number of temporary vectors required by the given expression operation. |
|
|
Compares two float values |
|
|
Determine size of integer in bits. |
|
|
Specifies the maximum number of bits that a vector can hold. |
|
|
Specifies the maximum number of bytes that can be allocated via the safe allocation functions in util.c. |
|
|
Default profiling output filename. |
|
|
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)) |
|
|
|
|
|
|
|
|
Performs time comparison with the sim_time structure |
|
|
|
|
|
Performs time increment where x is the sim_time structure to increment and y is a 64-bit value to increment to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Divides a bit position by an unsigned long |
|
|
|
|
|
Mods a bit position by an unsigned long |
|
|
|
|
|
Create defines for unsigned long. |
|
|
Length of user_msg global string (used for inputs to snprintf calls). |
|
|
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:
|
|
|
Mask for signal supplemental field when writing to CDD file. |
|
|
Renaming asuppl_u field for convenience. |
|
|
Renaming attribute parameter structure for convenience. |
|
|
Renaming case generate item structure for convenience. |
|
|
Renaming case statement structure for convenience. |
|
|
Renaming comp_cdd_cov_s structure for convenience. |
|
|
Renaming vector structure for convenience. |
|
|
Enumeration of coverage point types that are stored in the cps array in the comp_cdd_cov structure. |
|
|
Renaming db_s structure for convenience. |
|
|
Renaming dim_and_nba_s structure for convenience. |
|
|
Renaming dim_range_s structure for convenience. |
|
|
Renaming enum_item_s structure for convenience. |
|
|
Renaming esuppl_u for naming convenience. |
|
|
Renaming exclude_reason_s structure for convenience. |
|
|
Renaming signal/functional unit to expression binding structure for convenience. |
|
|
Renaming expression dimension structure for convenience. |
|
|
Renaming expression operation information structure for convenience. |
|
|
Renaming expression link structure for convenience. |
|
|
Enumeration of the various expression operations that Covered supports. |
|
|
Renaming expression statement union for convenience. |
|
|
Renaming expression structure for convenience. |
|
|
Renaming FSM structure for convenience. |
|
|
Renaming FSM arc structure for convenience. |
|
|
Renaming fsm_link structure for convenience. |
|
|
Renaming FSM table structure for convenience. |
|
|
Renaming FSM table arc structure for convenience. |
|
|
Renaming FSM variable structure for convenience. |
|
|
Renaming fsuppl_u field for convenience. |
|
|
Renaming functional unit structure for convenience. |
|
|
Renaming functional unit instance structure for convenience. |
|
|
Renaming functional unit link structure for convenience. |
|
|
Renaming FSM bind structure for convenience. |
|
|
Renaming gen_item_s structure for convenience. |
|
|
Renaming gitem_link_s structure for convenience. |
|
|
Renaming functional unit instance link structure for convenience. |
|
|
Renaming instance parameter structure for convenience. |
|
|
Create a 64-bit unsigned value. |
|
|
Renaming isuppl_u field for convenience. |
|
|
Reasons for excluding a logic block from coverage consideration. |
|
|
Renaming module parameter structure for convenience. |
|
|
Renaming nonblock_assign_s structure for convenience. |
|
|
Renaming param_orides_s structure for convenience. |
|
|
Renaming perf_stat structure for convenience. |
|
|
Renaming port_info_s structure for convenience. |
|
|
Renaming profiler_s structure for convenience. |
|
|
Renaming psuppl_u field for convenience. |
|
|
Renaming race_blk structure for convenience. |
|
|
Create a 32-bit real value. |
|
|
Create a 64-bit real value. |
|
|
Renaming reentrant_s structure for convenience. |
|
|
Enumeration of report types to output. |
|
|
Renaming rstack_entry_s structure for convenience. |
|
|
Renaming rv32 structure for convenience. |
|
|
Renaming rv64 structure for convenience. |
|
|
Renaming signal link structure for convenience. |
|
|
Renaming sig_range_s structure for convenience. |
|
|
Renaming sim_time_s structure for convenience. |
|
|
Renaming ssuppl_u field for convenience. |
|
|
Renaming statement structure for convenience. |
|
|
Renaming static expression structure for convenience. |
|
|
Renaming statistic structure for convenience. |
|
|
Renaming statement-signal structure for convenience. |
|
|
Renaming statement iterator structure for convenience. |
|
|
Renaming statement link structure for convenience. |
|
|
Renaming statement loop link structure for convenience. |
|
|
Renaming string link structure for convenience. |
|
|
Renaming struct_unions_s structure for convenience. |
|
|
Renaming su_member_s structure for convenience. |
|
|
Renaming symbol signal structure for convenience. |
|
|
Renaming symbol table structure for convenience. |
|
|
Renaming thr_link structure for convenience. |
|
|
Renaming thr_list structure for convenience. |
|
|
Renaming thread structure for convenience. |
|
|
Renaming timer structure for convenience. |
|
|
Renaming tree node structure for convenience. |
|
|
Renaming typedef_item_s structure for convenience. |
|
|
Create an 16-bit unsigned value. |
|
|
Create a 32-bit unsigned value. |
|
|
|
|
|
Create an 8-bit unsigned value. |
|
|
Machine-dependent value. |
|
|
Renaming vector structure for convenience. |
|
|
Renaming vector structure for convenience. |
|
|
Renaming vector width structure for convenience. |
|
|
Renaming signal structure for convenience. |
|
|
Renaming vsuppl_u field for convenience. |
|
|
Defines boolean variables used in most functions.
|
|
|
Enumeration of coverage point types that are stored in the cps array in the comp_cdd_cov structure.
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;
|
|
|
Enumeration of the various expression operations that Covered supports.
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;
|
|
|
Reasons for excluding a logic block from coverage consideration.
00759 {
00760 LOGIC_RM_REAL = 0,
00761 LOGIC_RM_SYSFUNC,
00762 LOGIC_RM_SYSTASK,
00763 LOGIC_RM_NUM
00764 } logic_rm_type;
|
|
|
Enumeration of report types to output.
01239 {
01240 RPT_TYPE_HIT,
01241 RPT_TYPE_MISS,
01242 RPT_TYPE_EXCL
01243 } rpt_type;
|
|
|
This will define the exception type that gets thrown (Covered does not care about this value) |
|
|
Exception context structure used by cexcept.h for throwing and catching exceptions. |
1.3.4