PandA-2024.02
Public Member Functions | Data Fields
Discrepancy Struct Reference

#include <Discrepancy.hpp>

Collaboration diagram for Discrepancy:
Collaboration graph
[legend]

Public Member Functions

 Discrepancy ()
 
void clear ()
 

Data Fields

CallSitesInfoRef call_sites_info
 Reference to a struct holding info on the call sites. More...
 
HWDiscrepancyInfoRef hw_discrepancy_info
 Reference to a struct holding info on the control flow traces for hw discrepancy analysis. More...
 
UnfoldedCallGraph DiscrepancyCallGraph
 Reference to the unfolded call graph used for the discrepancy analysis. More...
 
UnfoldedVertexDescriptor unfolded_root_v
 UnfoldedVertexDescriptor of the root of the DiscrepancyCallGraph. More...
 
vcd_parser::vcd_filter_t selected_vcd_signals
 A map to store the vcd signals to be dumped. More...
 
CustomUnorderedMap< unsigned int, std::string > opid_to_outsignal
 A map to store the name of the output signal of every operation. More...
 
CustomUnorderedMap< UnfoldedVertexDescriptor, std::string > unfolded_v_to_scope
 Map every vertex of the UnfoldedCallGraph to a scope in HW. More...
 
CustomUnorderedMap< unsigned int, CustomOrderedSet< std::string > > f_id_to_scope
 Map every fun_id to the set of HW scopes of the functional modules. More...
 
TreeNodeSet ssa_to_skip
 Set of tree nodes representing the ssa_name to be skipped in discrepancy analysis. More...
 
TreeNodeSet ssa_to_skip_if_address
 Set of tree nodes. More...
 
TreeNodeSet address_ssa
 Set of tree nodes representing the ssa_name to be treated as addresses in discrepancy analysis. More...
 
std::map< DiscrepancyOpInfo, std::list< std::pair< uint64_t, std::string > > > c_op_trace
 Map a discrepancy info to the list of pairs representing the corresponding assignments in C. More...
 
CustomUnorderedMap< unsigned int, std::map< uint64_t, std::list< unsigned int > > > c_control_flow_trace
 This contains the control flow traces gathered from software execution. More...
 
CustomUnorderedMap< uint64_t, CustomUnorderedMapStable< unsigned int, uint64_t > > c_addr_map
 Address map used for address discrepancy analysis. More...
 
CustomUnorderedMap< uint64_t, std::string > context_to_scope
 Maps every call context in the discrepancy trace to the corresponding scope in the generated HW. More...
 
std::string c_trace_filename
 name of the file that contains the c trace to parse More...
 
unsigned long long n_total_operations = 0
 
unsigned long long n_checked_operations = 0
 

Detailed Description

Definition at line 125 of file Discrepancy.hpp.

Constructor & Destructor Documentation

◆ Discrepancy()

Discrepancy::Discrepancy ( )
inline

Definition at line 210 of file Discrepancy.hpp.

Member Function Documentation

◆ clear()

void Discrepancy::clear ( )
inline

Definition at line 215 of file Discrepancy.hpp.

Field Documentation

◆ address_ssa

TreeNodeSet Discrepancy::address_ssa

Set of tree nodes representing the ssa_name to be treated as addresses in discrepancy analysis.

Definition at line 171 of file Discrepancy.hpp.

Referenced by DiscrepancyAnalysisCWriter::writePostInstructionInfo().

◆ c_addr_map

CustomUnorderedMap<uint64_t, CustomUnorderedMapStable<unsigned int, uint64_t> > Discrepancy::c_addr_map

Address map used for address discrepancy analysis.

The primary key is the context, the secondary key is the variable id, the mapped value is the base address

Definition at line 195 of file Discrepancy.hpp.

◆ c_control_flow_trace

CustomUnorderedMap<unsigned int, std::map<uint64_t, std::list<unsigned int> > > Discrepancy::c_control_flow_trace

This contains the control flow traces gathered from software execution.

The primary key is is a function id, the secondary key is a software call context id, the mapped value is a list of BB identifiers traversed during the execution of the call in that context.

Definition at line 188 of file Discrepancy.hpp.

◆ c_op_trace

std::map<DiscrepancyOpInfo, std::list<std::pair<uint64_t, std::string> > > Discrepancy::c_op_trace

Map a discrepancy info to the list of pairs representing the corresponding assignments in C.

The firts element of every pair is the context, the second element of the pair (the string) is the binary string representation assigned by the operation identified by the primary key.

Definition at line 180 of file Discrepancy.hpp.

◆ c_trace_filename

std::string Discrepancy::c_trace_filename

name of the file that contains the c trace to parse

Definition at line 204 of file Discrepancy.hpp.

Referenced by DiscrepancyAnalysisCWriter::WriteExtraInitCode().

◆ call_sites_info

CallSitesInfoRef Discrepancy::call_sites_info

Reference to a struct holding info on the call sites.

Definition at line 128 of file Discrepancy.hpp.

◆ context_to_scope

CustomUnorderedMap<uint64_t, std::string> Discrepancy::context_to_scope

Maps every call context in the discrepancy trace to the corresponding scope in the generated HW.

Definition at line 201 of file Discrepancy.hpp.

◆ DiscrepancyCallGraph

UnfoldedCallGraph Discrepancy::DiscrepancyCallGraph

Reference to the unfolded call graph used for the discrepancy analysis.

Definition at line 134 of file Discrepancy.hpp.

◆ f_id_to_scope

CustomUnorderedMap<unsigned int, CustomOrderedSet<std::string> > Discrepancy::f_id_to_scope

Map every fun_id to the set of HW scopes of the functional modules.

Definition at line 155 of file Discrepancy.hpp.

◆ hw_discrepancy_info

HWDiscrepancyInfoRef Discrepancy::hw_discrepancy_info

Reference to a struct holding info on the control flow traces for hw discrepancy analysis.

Definition at line 131 of file Discrepancy.hpp.

◆ n_checked_operations

unsigned long long Discrepancy::n_checked_operations = 0

◆ n_total_operations

unsigned long long Discrepancy::n_total_operations = 0

Definition at line 206 of file Discrepancy.hpp.

◆ opid_to_outsignal

CustomUnorderedMap<unsigned int, std::string> Discrepancy::opid_to_outsignal

A map to store the name of the output signal of every operation.

The key is the operation id, the mapped value is the signal name

Definition at line 149 of file Discrepancy.hpp.

◆ selected_vcd_signals

vcd_parser::vcd_filter_t Discrepancy::selected_vcd_signals

A map to store the vcd signals to be dumped.

The key is the scope, and the mapped set contains all the signals to be dumped for that scope

Definition at line 143 of file Discrepancy.hpp.

◆ ssa_to_skip

TreeNodeSet Discrepancy::ssa_to_skip

Set of tree nodes representing the ssa_name to be skipped in discrepancy analysis.

Definition at line 160 of file Discrepancy.hpp.

Referenced by DiscrepancyAnalysisCWriter::writePostInstructionInfo().

◆ ssa_to_skip_if_address

TreeNodeSet Discrepancy::ssa_to_skip_if_address

Set of tree nodes.

SSA in this set must not be checked in the discrepancy analysis if they are also marked as addresses.

Definition at line 166 of file Discrepancy.hpp.

Referenced by DiscrepancyAnalysisCWriter::writePostInstructionInfo().

◆ unfolded_root_v

UnfoldedVertexDescriptor Discrepancy::unfolded_root_v

UnfoldedVertexDescriptor of the root of the DiscrepancyCallGraph.

Definition at line 137 of file Discrepancy.hpp.

◆ unfolded_v_to_scope

CustomUnorderedMap<UnfoldedVertexDescriptor, std::string> Discrepancy::unfolded_v_to_scope

Map every vertex of the UnfoldedCallGraph to a scope in HW.

Definition at line 152 of file Discrepancy.hpp.


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

Generated on Mon Feb 12 2024 13:03:50 for PandA-2024.02 by doxygen 1.8.13