1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 19 unchanged lines hidden (view full) --- 28 */ 29 30#ifndef __SYSTEMC_EXT_CORE_SC_PRIM_HH__ 31#define __SYSTEMC_EXT_CORE_SC_PRIM_HH__ 32 33#include "sc_object.hh" 34#include "sc_time.hh" 35 |
36namespace sc_gem5 37{ 38 39class Channel; 40 41} // namespace sc_gem5 42 |
43namespace sc_core 44{ 45 46class sc_event; 47class sc_event_and_list; 48class sc_event_or_list; 49 50class sc_prim_channel : public sc_object 51{ 52 public: |
53 virtual const char *kind() const { return "sc_prim_channel"; } |
54 55 protected: 56 sc_prim_channel(); 57 explicit sc_prim_channel(const char *); |
58 virtual ~sc_prim_channel(); |
59 60 void request_update(); 61 void async_request_update(); 62 virtual void update() {} 63 64 void next_trigger(); 65 void next_trigger(const sc_event &); 66 void next_trigger(const sc_event_or_list &); --- 28 unchanged lines hidden (view full) --- 95 virtual void end_of_elaboration() {} 96 virtual void start_of_simulation() {} 97 virtual void end_of_simulation() {} 98 99 private: 100 // Disabled 101 sc_prim_channel(const sc_prim_channel &); 102 sc_prim_channel &operator = (const sc_prim_channel &); |
103 104 friend class sc_gem5::Channel; 105 sc_gem5::Channel *_gem5_channel; |
106}; 107 108} // namespace sc_core 109 110#endif //__SYSTEMC_EXT_CORE_SC_PRIM_HH__ |