PandA-2024.02
Public Types | Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes
vcd_trace_head Struct Reference

#include <vcd_trace_head.hpp>

Collaboration diagram for vcd_trace_head:
Collaboration graph
[legend]

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
 

Data Fields

enum vcd_head_state state
 
enum vcd_head_failure failed
 
const DiscrepancyOpInfoop_info
 
const bool is_phi
 
const bool is_in_reg
 
const HLS_managerConstRef HLSMgr
 
const tree_managerConstRef TM
 
const unsigned int initial_state_id
 
const std::list< sig_variation > & fsm_vars
 
std::list< sig_variation >::const_iterator fsm_ss_it
 
std::list< sig_variation >::const_iterator fsm_end
 
const std::list< sig_variation > & out_vars
 
std::list< sig_variation >::const_iterator out_var_it
 
std::list< sig_variation >::const_iterator out_var_end
 
const std::list< sig_variation > & start_vars
 
std::list< sig_variation >::const_iterator sp_var_it
 
std::list< sig_variation >::const_iterator sp_var_end
 
const std::string fullsigname
 
unsigned long long op_start_time
 
unsigned long long op_end_time
 
const unsigned long long clock_period
 
unsigned long long exec_times_in_current_state
 
unsigned long long consecutive_state_executions
 
bool has_been_initialized
 
bool fsm_has_a_single_state
 
bool start_state_is_initial
 

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
 

Detailed Description

Definition at line 51 of file vcd_trace_head.hpp.

Member Enumeration Documentation

◆ vcd_head_failure

Enumerator
no_start_state 
no_end_state 
function_does_not_start 
fail_none 

Definition at line 91 of file vcd_trace_head.hpp.

◆ vcd_head_state

Enumerator
uninitialized 
init_fail 
initialized 
after_discrepancy 
discrepancy_found 
checked 
suspended 
running 

Definition at line 78 of file vcd_trace_head.hpp.

Constructor & Destructor Documentation

◆ vcd_trace_head()

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.

◆ ~vcd_trace_head()

vcd_trace_head::~vcd_trace_head ( )
default

Member Function Documentation

◆ advance()

void vcd_trace_head::advance ( )

◆ detect_new_start_end_times()

void vcd_trace_head::detect_new_start_end_times ( )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ends_after()

bool vcd_trace_head::ends_after ( unsigned long long  t) const
inline

Definition at line 68 of file vcd_trace_head.hpp.

References op_end_time.

Referenced by vcd_utility::Exec().

Here is the caller graph for this function:

◆ more_executions_in_this_hw_state()

bool vcd_trace_head::more_executions_in_this_hw_state ( ) const
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().

Here is the caller graph for this function:

◆ set_consecutive_state_executions()

void vcd_trace_head::set_consecutive_state_executions ( )
protected

◆ starts_after()

bool vcd_trace_head::starts_after ( unsigned long long  t) const
inline

Definition at line 63 of file vcd_trace_head.hpp.

References op_start_time.

◆ unbounded_find_end_time()

void vcd_trace_head::unbounded_find_end_time ( )
protected

◆ update()

void vcd_trace_head::update ( )
protected

Field Documentation

◆ clock_period

const unsigned long long vcd_trace_head::clock_period

◆ consecutive_state_executions

unsigned long long vcd_trace_head::consecutive_state_executions

◆ exec_times_in_current_state

unsigned long long vcd_trace_head::exec_times_in_current_state

◆ failed

enum vcd_head_failure vcd_trace_head::failed

◆ fsm_end

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

◆ fsm_has_a_single_state

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

◆ fsm_ss_it

std::list<sig_variation>::const_iterator vcd_trace_head::fsm_ss_it

◆ fsm_vars

const std::list<sig_variation>& vcd_trace_head::fsm_vars

Definition at line 118 of file vcd_trace_head.hpp.

◆ fullsigname

const std::string vcd_trace_head::fullsigname

◆ has_been_initialized

bool vcd_trace_head::has_been_initialized

Definition at line 133 of file vcd_trace_head.hpp.

Referenced by advance(), and update().

◆ HLSMgr

const HLS_managerConstRef vcd_trace_head::HLSMgr

Definition at line 115 of file vcd_trace_head.hpp.

Referenced by update().

◆ initial_state_id

const unsigned int vcd_trace_head::initial_state_id

Definition at line 117 of file vcd_trace_head.hpp.

Referenced by update().

◆ is_in_reg

const bool vcd_trace_head::is_in_reg

Definition at line 114 of file vcd_trace_head.hpp.

Referenced by update().

◆ is_phi

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

◆ one_hot_fsm_encoding

const bool vcd_trace_head::one_hot_fsm_encoding
protected

Definition at line 109 of file vcd_trace_head.hpp.

Referenced by unbounded_find_end_time(), and update().

◆ op_end_time

unsigned long long vcd_trace_head::op_end_time

◆ op_info

const DiscrepancyOpInfo& vcd_trace_head::op_info

◆ op_start_time

unsigned long long vcd_trace_head::op_start_time

◆ out_var_end

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

◆ out_var_it

std::list<sig_variation>::const_iterator vcd_trace_head::out_var_it

◆ out_vars

const std::list<sig_variation>& vcd_trace_head::out_vars

Definition at line 121 of file vcd_trace_head.hpp.

◆ sp_var_end

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

◆ sp_var_it

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

◆ start_state_is_initial

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

◆ start_vars

const std::list<sig_variation>& vcd_trace_head::start_vars

Definition at line 124 of file vcd_trace_head.hpp.

◆ state

enum vcd_head_state vcd_trace_head::state

◆ TM

const tree_managerConstRef vcd_trace_head::TM

Definition at line 116 of file vcd_trace_head.hpp.

Referenced by update().


The documentation for this struct was generated from the following files:

Generated on Mon Feb 12 2024 13:04:09 for PandA-2024.02 by doxygen 1.8.13