14#ifndef SIMICS_SYSTEMC_TOOLS_SC_PROTOCOL_CHECKER_TOOL_H
15#define SIMICS_SYSTEMC_TOOLS_SC_PROTOCOL_CHECKER_TOOL_H
34 for (
auto &entry : checkers_)
39 tlm::tlm_generic_payload *trans,
40 tlm::tlm_phase *phase,
41 sc_core::sc_time *delay)
override {
43 start_phase_[std::make_pair(proxy, trans)] = *phase;
47 tlm::tlm_generic_payload *trans,
48 tlm::tlm_phase *phase,
49 sc_core::sc_time *delay,
50 tlm::tlm_sync_enum *ret)
override {
53 start_phase_[std::make_pair(proxy, trans)], *phase, *delay, *ret);
56 tlm::tlm_generic_payload *trans,
57 sc_core::sc_time *delay)
override {
63 tlm::tlm_generic_payload *trans,
64 sc_core::sc_time *delay)
override {
69 tlm::tlm_generic_payload *trans,
70 tlm::tlm_dmi *dmi_data)
override {
75 tlm::tlm_generic_payload *trans,
76 tlm::tlm_dmi *dmi_data,
82 tlm::tlm_generic_payload *trans)
override {
88 tlm::tlm_generic_payload *trans,
89 unsigned int *ret)
override {
94 tlm::tlm_generic_payload *trans,
95 tlm::tlm_phase *phase,
96 sc_core::sc_time *delay)
override {
101 tlm::tlm_generic_payload *trans,
102 tlm::tlm_phase *phase,
103 sc_core::sc_time *delay,
104 tlm::tlm_sync_enum *ret)
override {
110 sc_dt::uint64 *start_range,
111 sc_dt::uint64 *end_range)
override {
114 sc_dt::uint64 *start_range,
115 sc_dt::uint64 *end_range)
override {
118 scla::ProxyInterface *proxy) {
119 auto i = checkers_.find(proxy);
120 if (i == checkers_.end()) {
121 i = checkers_.emplace(
130 std::map<scla::ProxyInterface *,
132 std::map<std::pair<scla::ProxyInterface *, tlm::tlm_generic_payload *>,
133 tlm::tlm_phase> start_phase_;
Utility class that handles the context switching, using RAII methodology.
Definition: context.h:31
Definition: tlm2_base_protocol_checker.h:134
void transport_dbg_pre_checks(tlm::tlm_generic_payload &trans)
void nb_transport_fw_pre_checks(tlm::tlm_generic_payload &trans, tlm::tlm_phase &phase, sc_core::sc_time &delay)
void b_transport_pre_checks(tlm::tlm_generic_payload &trans, sc_core::sc_time &delay)
void nb_transport_fw_post_checks(tlm::tlm_generic_payload &trans, tlm::tlm_phase &start_phase, tlm::tlm_phase &phase, sc_core::sc_time &delay, tlm::tlm_sync_enum status)
void get_direct_mem_ptr_post_checks(tlm::tlm_generic_payload &trans, tlm::tlm_dmi &dmi_data)
void b_transport_post_checks(tlm::tlm_generic_payload &trans, sc_core::sc_time &delay)
void transport_dbg_post_checks(tlm::tlm_generic_payload &trans, unsigned int count)
void nb_transport_bw_post_checks(tlm::tlm_generic_payload &trans, tlm::tlm_phase &phase, sc_core::sc_time &delay, tlm::tlm_sync_enum status)
void get_direct_mem_ptr_pre_checks(tlm::tlm_generic_payload &trans, tlm::tlm_dmi &dmi_data)
void nb_transport_bw_pre_checks(tlm::tlm_generic_payload &trans, tlm::tlm_phase &phase, sc_core::sc_time &delay)