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 9 * notice, this list of conditions and the following disclaimer in the 10 * documentation and/or other materials provided with the distribution; 11 * neither the name of the copyright holders nor the names of its 12 * contributors may be used to endorse or promote products derived from 13 * this software without specific prior written permission. 14 * 15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 18 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 21 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * 27 * Authors: Gabe Black 28 */ 29 30#include "base/logging.hh"
|
31#include "systemc/core/channel.hh" |
32#include "systemc/ext/core/sc_prim.hh" 33 34namespace sc_core 35{ 36
|
36const char *
37sc_prim_channel::kind() const
38{
39 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
40 return "";
41}
|
37sc_prim_channel::sc_prim_channel() : 38 _gem5_channel(new sc_gem5::Channel(this)) 39{} |
40
|
43sc_prim_channel::sc_prim_channel()
44{
45 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
46}
|
41sc_prim_channel::sc_prim_channel(const char *_name) : 42 sc_object(_name), _gem5_channel(new sc_gem5::Channel(this)) 43{} |
44
|
48sc_prim_channel::sc_prim_channel(const char *)
49{
50 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
51}
|
45sc_prim_channel::~sc_prim_channel() { delete _gem5_channel; } |
46 47void 48sc_prim_channel::request_update() 49{
|
56 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
50 _gem5_channel->requestUpdate(); |
51} 52 53void 54sc_prim_channel::async_request_update() 55{
|
62 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
56 _gem5_channel->asyncRequestUpdate(); |
57} 58 59void 60sc_prim_channel::next_trigger() 61{
|
68 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
62 ::sc_core::next_trigger(); |
63} 64 65void
|
72sc_prim_channel::next_trigger(const sc_event &)
|
66sc_prim_channel::next_trigger(const sc_event &e) |
67{
|
74 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
68 ::sc_core::next_trigger(e); |
69} 70 71void
|
78sc_prim_channel::next_trigger(const sc_event_or_list &)
|
72sc_prim_channel::next_trigger(const sc_event_or_list &eol) |
73{
|
80 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
74 ::sc_core::next_trigger(eol); |
75} 76 77void
|
84sc_prim_channel::next_trigger(const sc_event_and_list &)
|
78sc_prim_channel::next_trigger(const sc_event_and_list &eal) |
79{
|
86 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
80 ::sc_core::next_trigger(eal); |
81} 82 83void
|
90sc_prim_channel::next_trigger(const sc_time &)
|
84sc_prim_channel::next_trigger(const sc_time &t) |
85{
|
92 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
86 ::sc_core::next_trigger(t); |
87} 88 89void
|
96sc_prim_channel::next_trigger(double, sc_time_unit)
|
90sc_prim_channel::next_trigger(double d, sc_time_unit u) |
91{
|
98 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
92 ::sc_core::next_trigger(d, u); |
93} 94 95void
|
102sc_prim_channel::next_trigger(const sc_time &, const sc_event &)
|
96sc_prim_channel::next_trigger(const sc_time &t, const sc_event &e) |
97{
|
104 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
98 ::sc_core::next_trigger(t, e); |
99} 100 101void
|
108sc_prim_channel::next_trigger(double, sc_time_unit, const sc_event &)
|
102sc_prim_channel::next_trigger(double d, sc_time_unit u, const sc_event &e) |
103{
|
110 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
104 ::sc_core::next_trigger(d, u, e); |
105} 106 107void
|
114sc_prim_channel::next_trigger(const sc_time &, const sc_event_or_list &)
|
108sc_prim_channel::next_trigger(const sc_time &t, const sc_event_or_list &eol) |
109{
|
116 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
110 ::sc_core::next_trigger(t, eol); |
111} 112 113void
|
120sc_prim_channel::next_trigger(double, sc_time_unit, const sc_event_or_list &)
|
114sc_prim_channel::next_trigger( 115 double d, sc_time_unit u, const sc_event_or_list &eol) |
116{
|
122 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
117 ::sc_core::next_trigger(d, u, eol); |
118} 119 120void
|
126sc_prim_channel::next_trigger(const sc_time &, const sc_event_and_list &)
|
121sc_prim_channel::next_trigger(const sc_time &t, const sc_event_and_list &eal) |
122{
|
128 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
123 ::sc_core::next_trigger(t, eal); |
124} 125 126void
|
132sc_prim_channel::next_trigger(double, sc_time_unit, const sc_event_and_list &)
|
127sc_prim_channel::next_trigger( 128 double d, sc_time_unit u, const sc_event_and_list &eal) |
129{
|
134 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
130 ::sc_core::next_trigger(d, u, eal); |
131} 132 133bool 134sc_prim_channel::timed_out() 135{ 136 warn("%s not implemented.\n", __PRETTY_FUNCTION__); 137 return false; 138} 139 140void 141sc_prim_channel::wait() 142{
|
147 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
143 ::sc_core::wait(); |
144} 145 146void
|
151sc_prim_channel::wait(int)
|
147sc_prim_channel::wait(int i) |
148{
|
153 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
149 ::sc_core::wait(i); |
150} 151 152void
|
157sc_prim_channel::wait(const sc_event &)
|
153sc_prim_channel::wait(const sc_event &e) |
154{
|
159 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
155 ::sc_core::wait(e); |
156} 157 158void
|
163sc_prim_channel::wait(const sc_event_or_list &)
|
159sc_prim_channel::wait(const sc_event_or_list &eol) |
160{
|
165 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
161 ::sc_core::wait(eol); |
162} 163 164void
|
169sc_prim_channel::wait(const sc_event_and_list &)
|
165sc_prim_channel::wait(const sc_event_and_list &eal) |
166{
|
171 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
167 ::sc_core::wait(eal); |
168} 169 170void
|
175sc_prim_channel::wait(const sc_time &)
|
171sc_prim_channel::wait(const sc_time &t) |
172{
|
177 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
173 ::sc_core::wait(t); |
174} 175 176void
|
181sc_prim_channel::wait(double, sc_time_unit)
|
177sc_prim_channel::wait(double d, sc_time_unit u) |
178{
|
183 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
179 ::sc_core::wait(d, u); |
180} 181 182void
|
187sc_prim_channel::wait(const sc_time &, const sc_event &)
|
183sc_prim_channel::wait(const sc_time &t, const sc_event &e) |
184{
|
189 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
185 ::sc_core::wait(t, e); |
186} 187 188void
|
193sc_prim_channel::wait(double, sc_time_unit, const sc_event &)
|
189sc_prim_channel::wait(double d, sc_time_unit u, const sc_event &e) |
190{
|
195 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
191 ::sc_core::wait(d, u, e); |
192} 193 194void
|
199sc_prim_channel::wait(const sc_time &, const sc_event_or_list &)
|
195sc_prim_channel::wait(const sc_time &t, const sc_event_or_list &eol) |
196{
|
201 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
197 ::sc_core::wait(t, eol); |
198} 199 200void
|
205sc_prim_channel::wait(double, sc_time_unit, const sc_event_or_list &)
|
201sc_prim_channel::wait(double d, sc_time_unit u, const sc_event_or_list &eol) |
202{
|
207 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
203 ::sc_core::wait(d, u, eol); |
204} 205 206void
|
211sc_prim_channel::wait(const sc_time &, const sc_event_and_list &)
|
207sc_prim_channel::wait(const sc_time &t, const sc_event_and_list &eal) |
208{
|
213 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
209 ::sc_core::wait(t, eal); |
210} 211 212void
|
217sc_prim_channel::wait(double, sc_time_unit, const sc_event_and_list &)
|
213sc_prim_channel::wait(double d, sc_time_unit u, const sc_event_and_list &eal) |
214{
|
219 warn("%s not implemented.\n", __PRETTY_FUNCTION__);
|
215 ::sc_core::wait(d, u, eal); |
216} 217 218} // namespace sc_core
|