39 #ifndef DISCREPANCY_HPP 40 #define DISCREPANCY_HPP 180 std::map<DiscrepancyOpInfo, std::list<std::pair<uint64_t, std::string>>>
c_op_trace;
206 unsigned long long n_total_operations = 0;
208 unsigned long long n_checked_operations = 0;
219 unfolded_root_v = {};
220 selected_vcd_signals.clear();
221 opid_to_outsignal.clear();
222 unfolded_v_to_scope.clear();
223 f_id_to_scope.clear();
225 c_control_flow_trace.clear();
227 context_to_scope.clear();
228 c_trace_filename.clear();
229 n_total_operations = 0;
230 n_checked_operations = 0;
REF_FORWARD_DECL(structural_manager)
Base class storing user data information to the whole graph.
This class manages the circuit structures.
std::string c_trace_filename
name of the file that contains the c trace to parse
HWDiscrepancyInfoRef hw_discrepancy_info
Reference to a struct holding info on the control flow traces for hw discrepancy analysis.
CustomUnorderedMap< unsigned int, UnorderedSetStdStable< unsigned int > > fu_id_to_call_ids
Maps every function to the calls it performs.
CustomUnorderedMap< unsigned int, std::string > opid_to_outsignal
A map to store the name of the output signal of every operation.
CallSitesInfoRef call_sites_info
Reference to a struct holding info on the call sites.
TreeNodeSet ssa_to_skip_if_address
Set of tree nodes.
CustomUnorderedMap< unsigned int, UnorderedSetStdStable< unsigned int > > fu_id_to_states_to_check
Maps every function ID to a set of states that must always be checked by the hardware discrepancy con...
CustomUnorderedMap< uint64_t, std::string > context_to_scope
Maps every call context in the discrepancy trace to the corresponding scope in the generated HW...
redefinition of map to manage ordered/unordered structures
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.
UnorderedMapStd< std::string, UnorderedSetStdStable< std::string > > vcd_filter_t
this is the type used to select which signals have to be filtered during parsing. ...
absl::flat_hash_map< T, U, Hash, Eq, Alloc > CustomUnorderedMap
TreeNodeSet address_ssa
Set of tree nodes representing the ssa_name to be treated as addresses in discrepancy analysis...
CustomUnorderedMap< unsigned int, size_t > fu_id_to_epp_trace_bitsize
Maps every function ID to the bitsize of the epp trace that is necessary for checking the control flo...
redefinition of set to manage ordered/unordered structures
UnfoldedVertexDescriptor unfolded_root_v
UnfoldedVertexDescriptor of the root of the DiscrepancyCallGraph.
CustomUnorderedMap< unsigned int, UnorderedSetStdStable< unsigned int > > fu_id_to_feedback_states_to_check
Maps every function ID to a set of states that must be checked by the hardware discrepancy control fl...
CustomUnorderedMap< unsigned int, UnorderedSetStdStable< unsigned int > > call_id_to_called_id
Maps every id of a call site to the id of the called function.
Classes specification of the tree_node data structures.
boost::graph_traits< UnfoldedCallGraph >::vertex_descriptor UnfoldedVertexDescriptor
Template definition of refcount.
CustomUnorderedSet< unsigned int > indirect_calls
Set of indirect calls.
refcount< GraphInfo > GraphInfoRef
RefCount type definition of the GraphInfo class structure.
UnfoldedCallGraph DiscrepancyCallGraph
Reference to the unfolded call graph used for the discrepancy analysis.
TreeNodeSet ssa_to_skip
Set of tree nodes representing the ssa_name to be skipped in discrepancy analysis.
CustomUnorderedSet< unsigned int > taken_addresses
Set of taken addresses.
CustomUnorderedMap< uint64_t, CustomUnorderedMapStable< unsigned int, uint64_t > > c_addr_map
Address map used for address discrepancy analysis.
CustomUnorderedSet< unsigned int > fu_id_control_flow_skip
This set contains the ids of functions for which the control flow hardware discrepancy analyssi is no...
vcd_parser::vcd_filter_t selected_vcd_signals
A map to store the vcd signals to be dumped.
CustomUnorderedMap< UnfoldedVertexDescriptor, std::string > unfolded_v_to_scope
Map every vertex of the UnfoldedCallGraph to a scope in HW.
CustomUnorderedMap< unsigned int, UnorderedSetStdStable< EdgeDescriptor > > fu_id_to_reset_edges
Maps every function ID to a set EdgeDescriptors.
this class is used to manage the command-line or XML options.
CustomUnorderedMap< unsigned int, CustomOrderedSet< std::string > > f_id_to_scope
Map every fun_id to the set of HW scopes of the functional modules.
CustomUnorderedMap< unsigned int, size_t > fu_id_to_max_epp_path_val
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...