SystemC  Recoding Infrastructure for SystemC v0.6.2 derived from Accellera SystemC 2.3.1
Accellera SystemC proof-of-concept library
sc_kernel_ids.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  The following code is derived, directly or indirectly, from the SystemC
4  source code Copyright (c) 1996-2014 by all Contributors.
5  All Rights reserved.
6 
7  The contents of this file are subject to the restrictions and limitations
8  set forth in the SystemC Open Source License (the "License");
9  You may not use this file except in compliance with such restrictions and
10  limitations. You may obtain instructions on how to receive a copy of the
11  License at http://www.accellera.org/. Software distributed by Contributors
12  under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
13  ANY KIND, either express or implied. See the License for the specific
14  language governing rights and limitations under the License.
15 
16  *****************************************************************************/
17 
18 /*****************************************************************************
19 
20  sc_kernel_ids.h -- Report ids for the kernel code.
21 
22  Original Author: Martin Janssen, Synopsys, Inc., 2002-01-17
23 
24  CHANGE LOG AT THE END OF THE FILE
25  *****************************************************************************/
26 
27 #ifndef SC_KERNEL_IDS_H
28 #define SC_KERNEL_IDS_H
29 
30 
31 #include "sysc/utils/sc_report.h"
32 
33 
34 // ----------------------------------------------------------------------------
35 // Report ids (kernel)
36 //
37 // Report ids in the range of 500-599.
38 // ----------------------------------------------------------------------------
39 
40 #ifndef SC_DEFINE_MESSAGE
41 #define SC_DEFINE_MESSAGE(id,unused1,unused2) \
42  namespace sc_core { extern const char id[]; }
43 namespace sc_core {
44  extern const char SC_ID_REGISTER_ID_FAILED_[]; // in sc_report_handler.cpp
45 }
46 #endif
47 
48 SC_DEFINE_MESSAGE(SC_ID_NO_BOOL_RETURNED_ , 500,
49  "operator does not return boolean")
50 SC_DEFINE_MESSAGE(SC_ID_NO_INT_RETURNED_ , 501,
51  "operator does not return int")
52 SC_DEFINE_MESSAGE(SC_ID_NO_SC_LOGIC_RETURNED_ , 502,
53  "operator does not return sc_logic")
54 SC_DEFINE_MESSAGE(SC_ID_OPERAND_NOT_SC_LOGIC_ , 503,
55  "operand is not sc_logic")
56 SC_DEFINE_MESSAGE(SC_ID_OPERAND_NOT_BOOL_ , 504,
57  "operand is not bool")
58 SC_DEFINE_MESSAGE(SC_ID_INSTANCE_EXISTS_ , 505,
59  "object already exists")
60 SC_DEFINE_MESSAGE(SC_ID_ILLEGAL_CHARACTERS_ , 506,
61  "illegal characters" )
62 SC_DEFINE_MESSAGE(SC_ID_VC6_PROCESS_HELPER_ , 507,
63  "internal error: sc_vc6_process_helper" )
64 SC_DEFINE_MESSAGE(SC_ID_VC6_MAX_PROCESSES_EXCEEDED_ , 508,
65  "maximum number of processes per module exceeded (VC6)" )
66 SC_DEFINE_MESSAGE(SC_ID_END_MODULE_NOT_CALLED_ , 509,
67  "module construction not properly completed: did "
68  "you forget to add a sc_module_name parameter to "
69  "your module constructor?" )
70 SC_DEFINE_MESSAGE(SC_ID_HIER_NAME_INCORRECT_ , 510,
71  "hierarchical name as shown may be incorrect due to previous errors" )
72 // 04/03/2015 GL: the original assumption is obsolete, now we can set the stack size of SC_METHODs
73 // 04/03/2015 GL: modify message number 511 as follows
74 //SC_DEFINE_MESSAGE(SC_ID_SET_STACK_SIZE_ , 511,
75 // "set_stack_size() is only allowed for SC_THREADs and SC_CTHREADs" )
76 SC_DEFINE_MESSAGE(SC_ID_SET_STACK_SIZE_ , 511,
77  "set_stack_size() is only allowed for SC_METHODs, SC_THREADs and SC_CTHREADs" )
78 SC_DEFINE_MESSAGE(SC_ID_SC_MODULE_NAME_USE_ , 512,
79  "incorrect use of sc_module_name" )
80 SC_DEFINE_MESSAGE(SC_ID_SC_MODULE_NAME_REQUIRED_ , 513,
81  "an sc_module_name parameter for your constructor is required" )
82 SC_DEFINE_MESSAGE(SC_ID_SET_TIME_RESOLUTION_ , 514,
83  "set time resolution failed" )
84 SC_DEFINE_MESSAGE(SC_ID_SET_DEFAULT_TIME_UNIT_ , 515,
85  "set default time unit failed" )
86 SC_DEFINE_MESSAGE(SC_ID_DEFAULT_TIME_UNIT_CHANGED_ , 516,
87  "default time unit changed to time resolution" )
88 SC_DEFINE_MESSAGE(SC_ID_INCONSISTENT_API_CONFIG_ , 517,
89  "inconsistent library configuration detected" )
90 // available message number 518
91 SC_DEFINE_MESSAGE(SC_ID_WAIT_NOT_ALLOWED_ , 519,
92  "wait() is only allowed in SC_THREADs and SC_CTHREADs" )
93 SC_DEFINE_MESSAGE(SC_ID_NEXT_TRIGGER_NOT_ALLOWED_ , 520,
94  "next_trigger() is only allowed in SC_METHODs" )
95 SC_DEFINE_MESSAGE(SC_ID_IMMEDIATE_NOTIFICATION_ , 521,
96  "immediate notification is not allowed during the update phase" )
97 SC_DEFINE_MESSAGE(SC_ID_HALT_NOT_ALLOWED_ , 522,
98  "halt() is only allowed in SC_CTHREADs" )
99 SC_DEFINE_MESSAGE(SC_ID_WATCHING_NOT_ALLOWED_ , 523,
100  "watching() has been deprecated, use reset_signal_is()" )
101 SC_DEFINE_MESSAGE(SC_ID_DONT_INITIALIZE_ , 524,
102  "dont_initialize() has no effect for SC_CTHREADs" )
103 SC_DEFINE_MESSAGE(SC_ID_WAIT_N_INVALID_ , 525,
104  "wait(n) is only valid for n > 0" )
105 SC_DEFINE_MESSAGE(SC_ID_MAKE_SENSITIVE_ , 526,
106  "make sensitive failed" )
107 SC_DEFINE_MESSAGE(SC_ID_MAKE_SENSITIVE_POS_ , 527,
108  "make sensitive pos failed" )
109 SC_DEFINE_MESSAGE(SC_ID_MAKE_SENSITIVE_NEG_ , 528,
110  "make sensitive neg failed" )
111 SC_DEFINE_MESSAGE(SC_ID_INSERT_MODULE_ , 529,
112  "insert module failed" )
113 SC_DEFINE_MESSAGE(SC_ID_REMOVE_MODULE_ , 530,
114  "remove module failed" )
115 SC_DEFINE_MESSAGE(SC_ID_NOTIFY_DELAYED_ , 531,
116  "notify_delayed() cannot be called on events "
117  "that have pending notifications" )
118 SC_DEFINE_MESSAGE(SC_ID_GEN_UNIQUE_NAME_ , 532,
119  "cannot generate unique name from null string" )
120 SC_DEFINE_MESSAGE(SC_ID_MODULE_NAME_STACK_EMPTY_ , 533,
121  "module name stack is empty: did you forget to "
122  "add a sc_module_name parameter to your module "
123  "constructor?" )
124 // available message number 534
125 // available message number 535
126 SC_DEFINE_MESSAGE( SC_ID_IMMEDIATE_SELF_NOTIFICATION_, 536,
127  "immediate self-notification ignored as of IEEE 1666-2011" )
128 SC_DEFINE_MESSAGE( SC_ID_WAIT_DURING_UNWINDING_ , 537,
129  "wait() not allowed during unwinding" )
130 SC_DEFINE_MESSAGE(SC_ID_CYCLE_MISSES_EVENTS_ , 538,
131  "the simulation contains timed-events but they are "
132  "ignored by sc_cycle() ==> the simulation will be "
133  "incorrect" )
134 SC_DEFINE_MESSAGE( SC_ID_RETHROW_UNWINDING_ , 539,
135  "sc_unwind_exception not re-thrown during kill/reset" )
136 SC_DEFINE_MESSAGE( SC_ID_PROCESS_ALREADY_UNWINDING_ , 540,
137  "kill/reset ignored during unwinding" )
138 SC_DEFINE_MESSAGE(SC_ID_MODULE_METHOD_AFTER_START_ , 541,
139  "call to SC_METHOD in sc_module while simulation running" )
140 SC_DEFINE_MESSAGE(SC_ID_MODULE_THREAD_AFTER_START_ , 542,
141  "call to SC_THREAD in sc_module while simulation running" )
142 SC_DEFINE_MESSAGE(SC_ID_MODULE_CTHREAD_AFTER_START_ , 543,
143  "call to SC_CTHREAD in sc_module while simulation running" )
144 SC_DEFINE_MESSAGE(SC_ID_SIMULATION_TIME_OVERFLOW_ , 544,
145  "simulation time value overflow, simulation aborted" )
146 SC_DEFINE_MESSAGE(SC_ID_SIMULATION_STOP_CALLED_TWICE_ , 545,
147  "sc_stop has already been called" )
148 SC_DEFINE_MESSAGE(SC_ID_SIMULATION_START_AFTER_STOP_ , 546,
149  "sc_start called after sc_stop has been called" )
150 SC_DEFINE_MESSAGE(SC_ID_STOP_MODE_AFTER_START_ , 547,
151  "attempt to set sc_stop mode after start will be ignored" )
152 SC_DEFINE_MESSAGE( SC_ID_SIMULATION_START_AFTER_ERROR_, 548,
153  "attempt to restart simulation after error" )
154 SC_DEFINE_MESSAGE( SC_ID_SIMULATION_UNCAUGHT_EXCEPTION_, 549,
155  "uncaught exception" )
156 SC_DEFINE_MESSAGE(SC_ID_PHASE_CALLBACKS_UNSUPPORTED_ , 550,
157  "simulation phase callbacks not enabled")
158 SC_DEFINE_MESSAGE(SC_ID_PHASE_CALLBACK_NOT_IMPLEMENTED_, 551,
159  "empty simulation phase callback called" )
160 SC_DEFINE_MESSAGE(SC_ID_PHASE_CALLBACK_REGISTER_, 552,
161  "register simulation phase callback" )
162 SC_DEFINE_MESSAGE(SC_ID_PHASE_CALLBACK_FORBIDDEN_, 553,
163  "forbidden action in simulation phase callback" )
164 // available message number 554
165 // available message number 555
166 SC_DEFINE_MESSAGE(SC_ID_THROW_IT_IGNORED_ , 556,
167  "throw_it on method/non-running process is being ignored " )
168 SC_DEFINE_MESSAGE(SC_ID_NOT_EXPECTING_DYNAMIC_EVENT_NOTIFY_ , 557,
169  "dynamic event notification encountered when sensitivity is static" )
170 SC_DEFINE_MESSAGE(SC_ID_DISABLE_WILL_ORPHAN_PROCESS_ , 558,
171  "disable() or dont_initialize() called on process with no static sensitivity, it will be orphaned" )
172 SC_DEFINE_MESSAGE(SC_ID_PROCESS_CONTROL_CORNER_CASE_ , 559,
173  "Undefined process control interaction" )
174 SC_DEFINE_MESSAGE(SC_ID_METHOD_TERMINATION_EVENT_ , 560,
175  "Attempt to get terminated event for a method process" )
176 SC_DEFINE_MESSAGE(SC_ID_JOIN_ON_METHOD_HANDLE_ , 561,
177  "Attempt to register method process with sc_join object" )
178 SC_DEFINE_MESSAGE(SC_ID_NO_PROCESS_SEMANTICS_ , 563,
179  "Attempt to invoke process with no semantics() method" )
180 SC_DEFINE_MESSAGE(SC_ID_EVENT_ON_NULL_PROCESS_ , 564,
181  "Attempt to get an event for non-existent process" )
182 // available message number 565
183 SC_DEFINE_MESSAGE(SC_ID_UNKNOWN_PROCESS_TYPE_, 566,
184  "Unknown process type" )
185 // available message number 567
186 SC_DEFINE_MESSAGE(SC_ID_NEGATIVE_SIMULATION_TIME_, 568,
187  "negative simulation interval specified in sc_start call" )
188 SC_DEFINE_MESSAGE(SC_ID_BAD_SC_MODULE_CONSTRUCTOR_ , 569,
189  "sc_module(const char*), sc_module(const std::string&) "
190  "have been deprecated, use sc_module(const sc_module_name&)" )
191 SC_DEFINE_MESSAGE(SC_ID_EMPTY_PROCESS_HANDLE_ , 570,
192  "attempt to use an empty process handle ignored" )
193 SC_DEFINE_MESSAGE(SC_ID_NO_SC_START_ACTIVITY_ , 571,
194  "no activity or clock movement for sc_start() invocation" )
195 SC_DEFINE_MESSAGE(SC_ID_KILL_PROCESS_WHILE_UNITIALIZED_ , 572,
196  "a process may not be killed before it is initialized" )
197 SC_DEFINE_MESSAGE(SC_ID_RESET_PROCESS_WHILE_NOT_RUNNING_ , 573,
198  "a process may not be asynchronously reset while the simulation is not running" )
199 SC_DEFINE_MESSAGE(SC_ID_THROW_IT_WHILE_NOT_RUNNING_ , 574,
200  "throw_it not allowed unless simulation is running " )
201 
202 
203 /*****************************************************************************
204 
205  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
206  changes you are making here.
207 
208  Name, Affiliation, Date:
209  Description of Modification:
210 
211  *****************************************************************************/
212 
213 // $Log: sc_kernel_ids.h,v $
214 // Revision 1.25 2011/08/26 22:06:34 acg
215 // Torsten Maehne: formating fix.
216 //
217 // Revision 1.24 2011/08/07 19:08:04 acg
218 // Andy Goodrich: moved logs to end of file so line number synching works
219 // better between versions.
220 //
221 // Revision 1.23 2011/07/24 11:15:47 acg
222 // Philipp A. Hartmann: Improvements to error/warning messages related to
223 // process control.
224 //
225 // Revision 1.22 2011/05/09 04:07:48 acg
226 // Philipp A. Hartmann:
227 // (1) Restore hierarchy in all phase callbacks.
228 // (2) Ensure calls to before_end_of_elaboration.
229 //
230 // Revision 1.21 2011/04/19 19:15:41 acg
231 // Andy Goodrich: fix so warning message is always issued for a throw_it()
232 // on a method process.
233 //
234 // Revision 1.20 2011/04/19 15:04:27 acg
235 // Philipp A. Hartmann: clean up SC_ID messages.
236 //
237 // Revision 1.19 2011/04/19 02:39:09 acg
238 // Philipp A. Hartmann: added checks for additional throws during stack unwinds.
239 //
240 // Revision 1.18 2011/04/05 06:23:45 acg
241 // Andy Goodrich: comments for throws while the simulator is not running.
242 //
243 // Revision 1.17 2011/04/01 22:30:39 acg
244 // Andy Goodrich: change hard assertion to warning for trigger_dynamic()
245 // getting called when there is only STATIC sensitivity. This can result
246 // because of sc_process_handle::throw_it().
247 //
248 // Revision 1.16 2011/03/28 13:02:51 acg
249 // Andy Goodrich: Changes for disable() interactions.
250 //
251 // Revision 1.15 2011/03/07 17:34:21 acg
252 // Andy Goodrich: changed process control corner case message. Added more
253 // place holders for unused message numbers.
254 //
255 // Revision 1.14 2011/03/06 19:57:11 acg
256 // Andy Goodrich: refinements for the illegal suspend - synchronous reset
257 // interaction.
258 //
259 // Revision 1.13 2011/03/06 15:56:29 acg
260 // Andy Goodrich: added process control corner case error message, remove
261 // unused messages.
262 //
263 // Revision 1.12 2011/03/05 19:44:20 acg
264 // Andy Goodrich: changes for object and event naming and structures.
265 //
266 // Revision 1.11 2011/02/18 20:27:14 acg
267 // Andy Goodrich: Updated Copyrights.
268 //
269 // Revision 1.10 2011/02/13 21:47:37 acg
270 // Andy Goodrich: update copyright notice.
271 //
272 // Revision 1.9 2011/02/13 21:29:16 acg
273 // Andy Goodrich: added error messages for throws that occur before
274 // simulator intialization.
275 //
276 // Revision 1.8 2011/02/11 13:25:24 acg
277 // Andy Goodrich: Philipp A. Hartmann's changes:
278 // (1) Removal of SC_CTHREAD method overloads.
279 // (2) New exception processing code.
280 //
281 // Revision 1.7 2011/02/07 19:17:20 acg
282 // Andy Goodrich: changes for IEEE 1666 compatibility.
283 //
284 // Revision 1.6 2011/01/19 23:21:50 acg
285 // Andy Goodrich: changes for IEEE 1666 2011
286 //
287 // Revision 1.5 2010/07/30 05:21:22 acg
288 // Andy Goodrich: release 2.3 fixes.
289 //
290 // Revision 1.4 2009/02/28 00:26:58 acg
291 // Andy Goodrich: changed boost name space to sc_boost to allow use with
292 // full boost library applications.
293 //
294 // Revision 1.3 2008/11/17 15:57:15 acg
295 // Andy Goodrich: added deprecation message for sc_module(const char*)
296 //
297 // Revision 1.2 2008/05/22 17:06:25 acg
298 // Andy Goodrich: updated copyright notice to include 2008.
299 //
300 // Revision 1.1.1.1 2006/12/15 20:20:05 acg
301 // SystemC 2.3
302 //
303 // Revision 1.7 2006/08/29 23:37:13 acg
304 // Andy Goodrich: Added check for negative time.
305 //
306 // Revision 1.6 2006/04/20 17:08:16 acg
307 // Andy Goodrich: 3.0 style process changes.
308 //
309 // Revision 1.5 2006/01/25 00:31:19 acg
310 // Andy Goodrich: Changed over to use a standard message id of
311 // SC_ID_IEEE_1666_DEPRECATION for all deprecation messages.
312 //
313 // Revision 1.4 2006/01/24 20:49:04 acg
314 // Andy Goodrich: changes to remove the use of deprecated features within the
315 // simulator, and to issue warning messages when deprecated features are used.
316 //
317 // Revision 1.3 2006/01/13 18:44:29 acg
318 // Added $Log to record CVS changes into the source.
319 //
320 
321 #endif
322 
323 // Taf!
operand is not sc_logic object already exists internal maximum number of processes per module module construction not properly hierarchical name as shown may be incorrect due to previous errors incorrect use of sc_module_name set time resolution failed default time unit changed to time resolution next_trigger() is only allowed in SC_METHODs" ) SC_DEFINE_MESSAGE(SC_ID_IMMEDIATE_NOTIFICATION_
void halt(sc_simcontext *)
operand is not sc_logic object already exists internal maximum number of processes per module module construction not properly hierarchical name as shown may be incorrect due to previous errors incorrect use of sc_module_name set time resolution failed default time unit changed to time resolution immediate notification is not allowed during the update phase use dont_initialize() has no effect for SC_CTHREADs" ) SC_DEFINE_MESSAGE(SC_ID_WAIT_N_INVALID_
#define SC_DEFINE_MESSAGE(id, unused1, unused2)
#define SC_METHOD(func, seg_id, inst_id)
Two new parameters segment ID and instance ID are added for the out-of-order simulation.
Definition: sc_module.h:673
void wait(int, sc_simcontext *)
#define SC_CTHREAD(func, edge, seg_id, inst_id)
Two new parameters segment ID and instance ID are added for the out-of-order simulation.
Definition: sc_module.h:658
operand is not sc_logic object already exists internal maximum number of processes per module exceeded(VC6)" ) SC_DEFINE_MESSAGE(SC_ID_END_MODULE_NOT_CALLED_
operand is not sc_logic object already exists internal maximum number of processes per module module construction not properly hierarchical name as shown may be incorrect due to previous errors incorrect use of sc_module_name set time resolution failed default time unit changed to time resolution immediate notification is not allowed during the update phase watching() has been deprecated
void sc_start()
operand is not sc_logic object already exists internal error
Definition: sc_kernel_ids.h:62
#define SC_THREAD(func, seg_id, inst_id)
Two new parameters segment ID and instance ID are added for the out-of-order simulation.
Definition: sc_module.h:687
operand is not sc_logic object already exists internal maximum number of processes per module module construction not properly completed
Definition: sc_kernel_ids.h:66
void neg(sc_fxval &c, const sc_fxnum &a)
Definition: sc_fxnum.h:2687
const char SC_ID_REGISTER_ID_FAILED_[]
Definition: sc_bit_ids.h:70
sc_clock period is zero sc_clock low time is zero sc_fifo< T > cannot have more than one writer bind interface to port failed complete binding failed remove port failed insert primitive channel failed sc_signal< T > cannot have more than one driver resolved port not bound to resolved signal sc_semaphore requires an initial value
operand is not sc_logic object already exists internal maximum number of processes per module module construction not properly hierarchical name as shown may be incorrect due to previous errors incorrect use of sc_module_name set time resolution failed default time unit changed to time resolution immediate notification is not allowed during the update phase use reset_signal_is()" ) SC_DEFINE_MESSAGE(SC_ID_DONT_INITIALIZE_
void sc_stop()