PandA-2024.02
|
#include <Discrepancy.hpp>
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 |
Definition at line 125 of file Discrepancy.hpp.
|
inline |
Definition at line 210 of file Discrepancy.hpp.
|
inline |
Definition at line 215 of file Discrepancy.hpp.
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().
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.
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.
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.
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().
CallSitesInfoRef Discrepancy::call_sites_info |
Reference to a struct holding info on the call sites.
Definition at line 128 of file Discrepancy.hpp.
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.
UnfoldedCallGraph Discrepancy::DiscrepancyCallGraph |
Reference to the unfolded call graph used for the discrepancy analysis.
Definition at line 134 of file Discrepancy.hpp.
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.
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.
unsigned long long Discrepancy::n_checked_operations = 0 |
Definition at line 208 of file Discrepancy.hpp.
Referenced by DiscrepancyAnalysisCWriter::writePostInstructionInfo().
unsigned long long Discrepancy::n_total_operations = 0 |
Definition at line 206 of file Discrepancy.hpp.
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.
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.
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().
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().
UnfoldedVertexDescriptor Discrepancy::unfolded_root_v |
UnfoldedVertexDescriptor of the root of the DiscrepancyCallGraph.
Definition at line 137 of file Discrepancy.hpp.
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.