statement_s Struct Reference

#include <defines.h>

Data Fields

expressionexp
statementnext_true
statementnext_false
statementhead
int conn_id
func_unitfunit
union {
   uint32   all
   struct {
      uint32   head:1
      uint32   stop_true:1
      uint32   stop_false:1
      uint32   cont:1
      uint32   is_called:1
      uint32   excluded:1
      uint32   final:1
      uint32   ignore_rc:1
      uint32   added:1
   }   part
suppl
unsigned int ppline

Detailed Description

A statement is defined to be the structure connected to the root of an expression tree. Statements are sequentially run in the run-time engine, starting at the root statement. After a statements expression tree has been checked for changes and possibly placed into the run-time expression queue, the statements calls the next statement to be run. If the value of the root expression of the associated expression tree is a non-zero value, the next_true statement will be executed (if next_true is not NULL); otherwise, the next_false statement is run. If next_true and next_false point to the same structure, we have hit the end of the statement sequence; executing the next statement will be executing the first statement of the statement sequence (next_true and next_false should both point to the first statement in the sequence).


Field Documentation

Bit 8. Mask bit = 0. Temporary bit value used by the score command but not displayed to the CDD file. When this bit is set to a one, it indicates to the db_add_statement function that this statement and all children statements have already been added to the functional unit statement list and should not be added again.

Current connection ID (used to make sure that we do not infinitely loop in connecting statements together)

Referenced by race_calc_assignments(), race_find_head_statement_containing_statement_helper(), statement_connect(), and statement_create().

Bit 3. Mask bit = 1. Indicates the statement which this expression belongs is part of a continuous assignment. As such, stop simulating this statement tree after this expression tree is evaluated.

Bit 5. Mask bit = 1. Indicates that this statement (and its associated expression tree) should be excluded from coverage results.

Pointer to associated expression tree

Referenced by bind_signal(), combination_collect(), combination_display_verbose(), combination_get_stats(), db_add_statement(), db_connect_statement_false(), db_connect_statement_true(), db_parallelize_statement(), db_remove_statement(), db_remove_statement_from_current_funit(), db_statement_connect(), exclude_is_assert_excluded(), exclude_is_comb_excluded(), exclude_is_line_excluded(), exclude_set_assert_exclude(), exclude_set_comb_exclude(), exclude_set_line_exclude(), expression_dealloc(), fsm_var_bind_stmt(), fsm_var_cleanup(), func_iter_sort(), gen_item_compare(), gen_item_stringify(), generate_remove_stmt_helper(), instance_remove_parms_with_expr(), line_collect(), line_display_verbose(), line_get_stats(), ovl_collect(), ovl_display_verbose(), ovl_get_coverage(), ovl_get_coverage_point(), ovl_get_funit_stats(), race_calc_assignments(), race_check_one_block_assignment(), race_find_head_statement_containing_statement_helper(), race_handle_race_condition(), rank_gather_comp_cdd_cov(), sim_add_thread(), sim_display_thread(), sim_thread(), sim_thread_pop_head(), sim_thread_push(), statement_assign_expr_ids(), statement_connect(), statement_contains_expr_calling_stmt(), statement_create(), statement_db_write(), statement_db_write_expr_tree(), statement_dealloc_recursive(), statement_find_rhs_sigs(), statement_find_statement(), statement_get_last_line_helper(), statement_queue_compare(), statement_queue_display(), statement_size_elements(), stmt_blk_add_to_remove_list(), stmt_blk_remove(), stmt_link_add(), stmt_link_display(), stmt_link_find(), and stmt_link_find_by_pos().

Bit 6. Mask bit = 1. Indicates that this statement block should only be executed during the final simulation step.

Pointer to statement's functional unit that it belongs to

Referenced by fsm_var_bind_stmt(), sim_expr_changed(), and statement_create().

Bit 0. Mask bit = 1. Indicates the statement is a head statement

Bit 7. Mask bit = 1. Specifies that we should ignore race condition checking for this statement.

Bit 4. Mask bit = 1. Indicates that this statement is called by a FUNC_CALL, TASK_CALL, NB_CALL or FORK statement. If a statement has this bit set, it will NOT be automatically placed in the thread queue at time 0.

struct { ... } statement_s::part
unsigned int statement_s::ppline

Bit 2. Mask bit = 1. Indicates the statement which this expression belongs should write itself to the CDD and not continue to traverse its next_false pointer.

Bit 1. Mask bit = 1. Indicates the statement which this expression belongs should write itself to the CDD and not continue to traverse its next_true pointer.

union { ... } statement_s::suppl

The documentation for this struct was generated from the following file:
Generated on Sun Nov 21 00:55:43 2010 for Covered by  doxygen 1.6.3