PandA-2024.02
|
#include <vcd_trace_head.hpp>
Public Types | |
enum | vcd_head_state { uninitialized, init_fail, initialized, after_discrepancy, discrepancy_found, checked, suspended, running } |
enum | vcd_head_failure { no_start_state, no_end_state, function_does_not_start, fail_none } |
Public Member Functions | |
vcd_trace_head (const DiscrepancyOpInfo &op_info, std::string signame, const std::list< sig_variation > &fv, const std::list< sig_variation > &ov, const std::list< sig_variation > &sv, unsigned int init_state_id, unsigned long long clock_period, const HLS_managerConstRef _HLSMgr, const tree_managerConstRef _TM, const bool one_hot_fsm_encoding) | |
~vcd_trace_head ()=default | |
void | advance () |
bool | starts_after (unsigned long long t) const |
bool | ends_after (unsigned long long t) const |
bool | more_executions_in_this_hw_state () const |
Protected Member Functions | |
void | set_consecutive_state_executions () |
void | unbounded_find_end_time () |
void | update () |
void | detect_new_start_end_times () |
Protected Attributes | |
const bool | one_hot_fsm_encoding |
Definition at line 51 of file vcd_trace_head.hpp.
Enumerator | |
---|---|
no_start_state | |
no_end_state | |
function_does_not_start | |
fail_none |
Definition at line 91 of file vcd_trace_head.hpp.
Enumerator | |
---|---|
uninitialized | |
init_fail | |
initialized | |
after_discrepancy | |
discrepancy_found | |
checked | |
suspended | |
running |
Definition at line 78 of file vcd_trace_head.hpp.
vcd_trace_head::vcd_trace_head | ( | const DiscrepancyOpInfo & | op_info, |
std::string | signame, | ||
const std::list< sig_variation > & | fv, | ||
const std::list< sig_variation > & | ov, | ||
const std::list< sig_variation > & | sv, | ||
unsigned int | init_state_id, | ||
unsigned long long | clock_period, | ||
const HLS_managerConstRef | _HLSMgr, | ||
const tree_managerConstRef | _TM, | ||
const bool | one_hot_fsm_encoding | ||
) |
Definition at line 155 of file vcd_trace_head.cpp.
|
default |
void vcd_trace_head::advance | ( | ) |
Definition at line 391 of file vcd_trace_head.cpp.
References after_discrepancy, checked, detect_new_start_end_times(), discrepancy_found, has_been_initialized, init_fail, initialized, op_end_time, DiscrepancyOpInfo::op_id, op_info, out_var_end, out_var_it, running, state, STR, suspended, THROW_ASSERT, THROW_UNREACHABLE, uninitialized, update(), and var_is_later_or_equal().
Referenced by vcd_utility::Exec().
|
protected |
Definition at line 378 of file vcd_trace_head.cpp.
References clock_period, DiscrepancyOpInfo::is_bounded_op, op_end_time, op_info, op_start_time, and unbounded_find_end_time().
Referenced by advance().
|
inline |
Definition at line 68 of file vcd_trace_head.hpp.
References op_end_time.
Referenced by vcd_utility::Exec().
|
inline |
Definition at line 73 of file vcd_trace_head.hpp.
References consecutive_state_executions, and exec_times_in_current_state.
Referenced by vcd_utility::Exec().
|
protected |
Definition at line 191 of file vcd_trace_head.cpp.
References clock_period, consecutive_state_executions, exec_times_in_current_state, fsm_has_a_single_state, fsm_ss_it, max, op_start_time, running, sp_var_end, sp_var_it, start_state_is_initial, state, STR, THROW_ASSERT, and uninitialized.
Referenced by update().
|
inline |
Definition at line 63 of file vcd_trace_head.hpp.
References op_start_time.
|
protected |
Definition at line 227 of file vcd_trace_head.cpp.
References clock_period, consecutive_state_executions, exec_times_in_current_state, failed, fsm_end, fsm_ss_it, init_fail, is_exec(), is_phi, is_start(), no_end_state, one_hot_fsm_encoding, op_end_time, DiscrepancyOpInfo::op_id, op_info, op_start_time, state, DiscrepancyOpInfo::stg_fun_id, STR, and THROW_ASSERT.
Referenced by detect_new_start_end_times(), and update().
|
protected |
Definition at line 274 of file vcd_trace_head.cpp.
References tree_manager::CGetTreeNode(), clock_period, compute_state_id(), failed, fsm_end, fsm_has_a_single_state, fsm_ss_it, function_does_not_start, has_been_initialized, HLSMgr, init_fail, initial_state_id, is_binary_string_repr(), DiscrepancyOpInfo::is_bounded_op, is_in_reg, is_phi, is_start(), DiscrepancyOpInfo::n_cycles, no_start_state, one_hot_fsm_encoding, op_end_time, DiscrepancyOpInfo::op_id, op_info, op_start_time, set_consecutive_state_executions(), sp_var_end, sp_var_it, DiscrepancyOpInfo::ssa_name_node_id, start_state_is_initial, state, DiscrepancyOpInfo::stg_fun_id, STR, THROW_ASSERT, TM, unbounded_find_end_time(), and var_has_value_ones().
Referenced by advance().
const unsigned long long vcd_trace_head::clock_period |
Definition at line 130 of file vcd_trace_head.hpp.
Referenced by detect_new_start_end_times(), set_consecutive_state_executions(), unbounded_find_end_time(), and update().
unsigned long long vcd_trace_head::consecutive_state_executions |
Definition at line 132 of file vcd_trace_head.hpp.
Referenced by more_executions_in_this_hw_state(), set_consecutive_state_executions(), and unbounded_find_end_time().
unsigned long long vcd_trace_head::exec_times_in_current_state |
Definition at line 131 of file vcd_trace_head.hpp.
Referenced by vcd_utility::Exec(), more_executions_in_this_hw_state(), set_consecutive_state_executions(), and unbounded_find_end_time().
enum vcd_head_failure vcd_trace_head::failed |
Definition at line 98 of file vcd_trace_head.hpp.
Referenced by vcd_utility::print_failed_vcd_head(), unbounded_find_end_time(), and update().
std::list<sig_variation>::const_iterator vcd_trace_head::fsm_end |
Definition at line 120 of file vcd_trace_head.hpp.
Referenced by unbounded_find_end_time(), and update().
bool vcd_trace_head::fsm_has_a_single_state |
Definition at line 134 of file vcd_trace_head.hpp.
Referenced by set_consecutive_state_executions(), and update().
std::list<sig_variation>::const_iterator vcd_trace_head::fsm_ss_it |
Definition at line 119 of file vcd_trace_head.hpp.
Referenced by vcd_utility::print_failed_vcd_head(), set_consecutive_state_executions(), unbounded_find_end_time(), and update().
const std::list<sig_variation>& vcd_trace_head::fsm_vars |
Definition at line 118 of file vcd_trace_head.hpp.
const std::string vcd_trace_head::fullsigname |
Definition at line 127 of file vcd_trace_head.hpp.
Referenced by vcd_utility::detect_mismatch(), vcd_utility::detect_mismatch_element(), vcd_utility::detect_regular_mismatch(), and vcd_utility::print_failed_vcd_head().
bool vcd_trace_head::has_been_initialized |
Definition at line 133 of file vcd_trace_head.hpp.
const HLS_managerConstRef vcd_trace_head::HLSMgr |
Definition at line 115 of file vcd_trace_head.hpp.
Referenced by update().
const unsigned int vcd_trace_head::initial_state_id |
Definition at line 117 of file vcd_trace_head.hpp.
Referenced by update().
const bool vcd_trace_head::is_in_reg |
Definition at line 114 of file vcd_trace_head.hpp.
Referenced by update().
const bool vcd_trace_head::is_phi |
Definition at line 113 of file vcd_trace_head.hpp.
Referenced by unbounded_find_end_time(), and update().
|
protected |
Definition at line 109 of file vcd_trace_head.hpp.
Referenced by unbounded_find_end_time(), and update().
unsigned long long vcd_trace_head::op_end_time |
Definition at line 129 of file vcd_trace_head.hpp.
Referenced by advance(), detect_new_start_end_times(), ends_after(), vcd_utility::print_failed_vcd_head(), unbounded_find_end_time(), update(), and vcd_utility::update_discr_list().
const DiscrepancyOpInfo& vcd_trace_head::op_info |
Definition at line 112 of file vcd_trace_head.hpp.
Referenced by advance(), vcd_utility::detect_mismatch(), vcd_utility::detect_mismatch_element(), vcd_utility::detect_mismatch_simple(), detect_new_start_end_times(), vcd_utility::detect_regular_mismatch(), vcd_utility::print_failed_vcd_head(), unbounded_find_end_time(), update(), and vcd_utility::update_discr_list().
unsigned long long vcd_trace_head::op_start_time |
Definition at line 128 of file vcd_trace_head.hpp.
Referenced by detect_new_start_end_times(), vcd_utility::print_failed_vcd_head(), set_consecutive_state_executions(), starts_after(), unbounded_find_end_time(), and update().
std::list<sig_variation>::const_iterator vcd_trace_head::out_var_end |
Definition at line 123 of file vcd_trace_head.hpp.
Referenced by advance().
std::list<sig_variation>::const_iterator vcd_trace_head::out_var_it |
Definition at line 122 of file vcd_trace_head.hpp.
Referenced by advance(), vcd_utility::detect_mismatch(), vcd_utility::detect_mismatch_element(), and vcd_utility::detect_mismatch_simple().
const std::list<sig_variation>& vcd_trace_head::out_vars |
Definition at line 121 of file vcd_trace_head.hpp.
std::list<sig_variation>::const_iterator vcd_trace_head::sp_var_end |
Definition at line 126 of file vcd_trace_head.hpp.
Referenced by set_consecutive_state_executions(), and update().
std::list<sig_variation>::const_iterator vcd_trace_head::sp_var_it |
Definition at line 125 of file vcd_trace_head.hpp.
Referenced by set_consecutive_state_executions(), and update().
bool vcd_trace_head::start_state_is_initial |
Definition at line 135 of file vcd_trace_head.hpp.
Referenced by set_consecutive_state_executions(), and update().
const std::list<sig_variation>& vcd_trace_head::start_vars |
Definition at line 124 of file vcd_trace_head.hpp.
enum vcd_head_state vcd_trace_head::state |
Definition at line 89 of file vcd_trace_head.hpp.
Referenced by advance(), vcd_utility::Exec(), vcd_utility::print_failed_vcd_head(), set_consecutive_state_executions(), unbounded_find_end_time(), and update().
const tree_managerConstRef vcd_trace_head::TM |
Definition at line 116 of file vcd_trace_head.hpp.
Referenced by update().