SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
sim_context_proxy.h
Go to the documentation of this file.
1/*
2 © 2014 Intel Corporation
3
4 This software and the related documents are Intel copyrighted materials, and
5 your use of them is governed by the express license under which they were
6 provided to you ("License"). Unless the License provides otherwise, you may
7 not use, modify, copy, publish, distribute, disclose or transmit this software
8 or the related documents without Intel's prior written permission.
9
10 This software and the related documents are provided as is, with no express or
11 implied warranties, other than those that are expressly stated in the License.
12*/
13
14#ifndef SIMICS_SYSTEMC_SIM_CONTEXT_PROXY_H
15#define SIMICS_SYSTEMC_SIM_CONTEXT_PROXY_H
16
17
18
20#include <tlm>
21#include <algorithm> // std::sort
22#include <string>
23#include <vector>
24
25// Helper class to access private methods and general useful event data of
26// sc_simcontext. This relies on a patched SystemC kernel with the
27// simContextProxy marked as a "friend" to get access to some of the internals.
28namespace sc_core {
29
32 public:
36 return (i.when() < j.when());
37 }
38
39 static EventVector get_timed_event_list(sc_core::sc_object* filter);
40
42 static const char *get_typename(sc_export_base *object);
43 static const char *get_typename(sc_port_base *object);
44 static sc_bind_info *get_bind_info(sc_port_base *object);
45 static void trigger_static(sc_process_b *object);
46 static void set_simulation_status(sc_status status);
48 static bool get_paused();
49 static bool get_pause_pending();
50 static void set_pause_pending(bool pause);
51
52 private:
53 static void add_events(sc_event_timed *timed_event,
54 sc_object* filter,
55 EventVector *evs);
56
57 static void add_process_events(const sc_time &t,
58 const char *kind,
59 sc_object* filter,
60 sc_object* object,
61 EventVector *evs);
62};
63
64} // namespace sc_core
65
66#endif
Definition: sim_context_proxy.h:31
static bool get_paused()
static sc_bind_info * get_bind_info(sc_port_base *object)
static void set_pause_pending(bool pause)
simics::systemc::EventVector EventVector
Definition: sim_context_proxy.h:33
static sc_time sc_time_to_pending_activity_ignore_async()
static bool is_time_less(simics::systemc::Event i, simics::systemc::Event j)
Definition: sim_context_proxy.h:34
static bool get_pause_pending()
static void set_simulation_status(sc_status status)
static EventVector get_timed_event_list(sc_core::sc_object *filter)
static const char * get_typename(sc_export_base *object)
static const char * get_typename(sc_port_base *object)
static int get_timed_event_list_size()
static void trigger_static(sc_process_b *object)
Definition: event.h:27
sc_core::sc_time when() const
Definition: argument_registry.h:24
std::vector< Event > EventVector
Definition: event.h:59