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 SC_DEFINE_MESSAGE(SC_ID_SET_STACK_SIZE_ , 511,
73  "set_stack_size() is only allowed for SC_THREADs and SC_CTHREADs" )
74 SC_DEFINE_MESSAGE(SC_ID_SC_MODULE_NAME_USE_ , 512,
75  "incorrect use of sc_module_name" )
76 SC_DEFINE_MESSAGE(SC_ID_SC_MODULE_NAME_REQUIRED_ , 513,
77  "an sc_module_name parameter for your constructor is required" )
78 SC_DEFINE_MESSAGE(SC_ID_SET_TIME_RESOLUTION_ , 514,
79  "set time resolution failed" )
80 SC_DEFINE_MESSAGE(SC_ID_SET_DEFAULT_TIME_UNIT_ , 515,
81  "set default time unit failed" )
82 SC_DEFINE_MESSAGE(SC_ID_DEFAULT_TIME_UNIT_CHANGED_ , 516,
83  "default time unit changed to time resolution" )
84 SC_DEFINE_MESSAGE(SC_ID_INCONSISTENT_API_CONFIG_ , 517,
85  "inconsistent library configuration detected" )
86 // available message number 518
87 SC_DEFINE_MESSAGE(SC_ID_WAIT_NOT_ALLOWED_ , 519,
88  "wait() is only allowed in SC_THREADs and SC_CTHREADs" )
89 SC_DEFINE_MESSAGE(SC_ID_NEXT_TRIGGER_NOT_ALLOWED_ , 520,
90  "next_trigger() is only allowed in SC_METHODs" )
91 SC_DEFINE_MESSAGE(SC_ID_IMMEDIATE_NOTIFICATION_ , 521,
92  "immediate notification is not allowed during the update phase" )
93 SC_DEFINE_MESSAGE(SC_ID_HALT_NOT_ALLOWED_ , 522,
94  "halt() is only allowed in SC_CTHREADs" )
95 SC_DEFINE_MESSAGE(SC_ID_WATCHING_NOT_ALLOWED_ , 523,
96  "watching() has been deprecated, use reset_signal_is()" )
97 SC_DEFINE_MESSAGE(SC_ID_DONT_INITIALIZE_ , 524,
98  "dont_initialize() has no effect for SC_CTHREADs" )
99 SC_DEFINE_MESSAGE(SC_ID_WAIT_N_INVALID_ , 525,
100  "wait(n) is only valid for n > 0" )
101 SC_DEFINE_MESSAGE(SC_ID_MAKE_SENSITIVE_ , 526,
102  "make sensitive failed" )
103 SC_DEFINE_MESSAGE(SC_ID_MAKE_SENSITIVE_POS_ , 527,
104  "make sensitive pos failed" )
105 SC_DEFINE_MESSAGE(SC_ID_MAKE_SENSITIVE_NEG_ , 528,
106  "make sensitive neg failed" )
107 SC_DEFINE_MESSAGE(SC_ID_INSERT_MODULE_ , 529,
108  "insert module failed" )
109 SC_DEFINE_MESSAGE(SC_ID_REMOVE_MODULE_ , 530,
110  "remove module failed" )
111 SC_DEFINE_MESSAGE(SC_ID_NOTIFY_DELAYED_ , 531,
112  "notify_delayed() cannot be called on events "
113  "that have pending notifications" )
114 SC_DEFINE_MESSAGE(SC_ID_GEN_UNIQUE_NAME_ , 532,
115  "cannot generate unique name from null string" )
116 SC_DEFINE_MESSAGE(SC_ID_MODULE_NAME_STACK_EMPTY_ , 533,
117  "module name stack is empty: did you forget to "
118  "add a sc_module_name parameter to your module "
119  "constructor?" )
120 // available message number 534
121 // available message number 535
122 SC_DEFINE_MESSAGE( SC_ID_IMMEDIATE_SELF_NOTIFICATION_, 536,
123  "immediate self-notification ignored as of IEEE 1666-2011" )
124 SC_DEFINE_MESSAGE( SC_ID_WAIT_DURING_UNWINDING_ , 537,
125  "wait() not allowed during unwinding" )
126 SC_DEFINE_MESSAGE(SC_ID_CYCLE_MISSES_EVENTS_ , 538,
127  "the simulation contains timed-events but they are "
128  "ignored by sc_cycle() ==> the simulation will be "
129  "incorrect" )
130 SC_DEFINE_MESSAGE( SC_ID_RETHROW_UNWINDING_ , 539,
131  "sc_unwind_exception not re-thrown during kill/reset" )
132 SC_DEFINE_MESSAGE( SC_ID_PROCESS_ALREADY_UNWINDING_ , 540,
133  "kill/reset ignored during unwinding" )
134 SC_DEFINE_MESSAGE(SC_ID_MODULE_METHOD_AFTER_START_ , 541,
135  "call to SC_METHOD in sc_module while simulation running" )
136 SC_DEFINE_MESSAGE(SC_ID_MODULE_THREAD_AFTER_START_ , 542,
137  "call to SC_THREAD in sc_module while simulation running" )
138 SC_DEFINE_MESSAGE(SC_ID_MODULE_CTHREAD_AFTER_START_ , 543,
139  "call to SC_CTHREAD in sc_module while simulation running" )
140 SC_DEFINE_MESSAGE(SC_ID_SIMULATION_TIME_OVERFLOW_ , 544,
141  "simulation time value overflow, simulation aborted" )
142 SC_DEFINE_MESSAGE(SC_ID_SIMULATION_STOP_CALLED_TWICE_ , 545,
143  "sc_stop has already been called" )
144 SC_DEFINE_MESSAGE(SC_ID_SIMULATION_START_AFTER_STOP_ , 546,
145  "sc_start called after sc_stop has been called" )
146 SC_DEFINE_MESSAGE(SC_ID_STOP_MODE_AFTER_START_ , 547,
147  "attempt to set sc_stop mode after start will be ignored" )
148 SC_DEFINE_MESSAGE( SC_ID_SIMULATION_START_AFTER_ERROR_, 548,
149  "attempt to restart simulation after error" )
150 SC_DEFINE_MESSAGE( SC_ID_SIMULATION_UNCAUGHT_EXCEPTION_, 549,
151  "uncaught exception" )
152 SC_DEFINE_MESSAGE(SC_ID_PHASE_CALLBACKS_UNSUPPORTED_ , 550,
153  "simulation phase callbacks not enabled")
154 SC_DEFINE_MESSAGE(SC_ID_PHASE_CALLBACK_NOT_IMPLEMENTED_, 551,
155  "empty simulation phase callback called" )
156 SC_DEFINE_MESSAGE(SC_ID_PHASE_CALLBACK_REGISTER_, 552,
157  "register simulation phase callback" )
158 SC_DEFINE_MESSAGE(SC_ID_PHASE_CALLBACK_FORBIDDEN_, 553,
159  "forbidden action in simulation phase callback" )
160 // available message number 554
161 // available message number 555
162 SC_DEFINE_MESSAGE(SC_ID_THROW_IT_IGNORED_ , 556,
163  "throw_it on method/non-running process is being ignored " )
164 SC_DEFINE_MESSAGE(SC_ID_NOT_EXPECTING_DYNAMIC_EVENT_NOTIFY_ , 557,
165  "dynamic event notification encountered when sensitivity is static" )
166 SC_DEFINE_MESSAGE(SC_ID_DISABLE_WILL_ORPHAN_PROCESS_ , 558,
167  "disable() or dont_initialize() called on process with no static sensitivity, it will be orphaned" )
168 SC_DEFINE_MESSAGE(SC_ID_PROCESS_CONTROL_CORNER_CASE_ , 559,
169  "Undefined process control interaction" )
170 SC_DEFINE_MESSAGE(SC_ID_METHOD_TERMINATION_EVENT_ , 560,
171  "Attempt to get terminated event for a method process" )
172 SC_DEFINE_MESSAGE(SC_ID_JOIN_ON_METHOD_HANDLE_ , 561,
173  "Attempt to register method process with sc_join object" )
174 SC_DEFINE_MESSAGE(SC_ID_NO_PROCESS_SEMANTICS_ , 563,
175  "Attempt to invoke process with no semantics() method" )
176 SC_DEFINE_MESSAGE(SC_ID_EVENT_ON_NULL_PROCESS_ , 564,
177  "Attempt to get an event for non-existent process" )
178 // available message number 565
179 SC_DEFINE_MESSAGE(SC_ID_UNKNOWN_PROCESS_TYPE_, 566,
180  "Unknown process type" )
181 // available message number 567
182 SC_DEFINE_MESSAGE(SC_ID_NEGATIVE_SIMULATION_TIME_, 568,
183  "negative simulation interval specified in sc_start call" )
184 SC_DEFINE_MESSAGE(SC_ID_BAD_SC_MODULE_CONSTRUCTOR_ , 569,
185  "sc_module(const char*), sc_module(const std::string&) "
186  "have been deprecated, use sc_module(const sc_module_name&)" )
187 SC_DEFINE_MESSAGE(SC_ID_EMPTY_PROCESS_HANDLE_ , 570,
188  "attempt to use an empty process handle ignored" )
189 SC_DEFINE_MESSAGE(SC_ID_NO_SC_START_ACTIVITY_ , 571,
190  "no activity or clock movement for sc_start() invocation" )
191 SC_DEFINE_MESSAGE(SC_ID_KILL_PROCESS_WHILE_UNITIALIZED_ , 572,
192  "a process may not be killed before it is initialized" )
193 SC_DEFINE_MESSAGE(SC_ID_RESET_PROCESS_WHILE_NOT_RUNNING_ , 573,
194  "a process may not be asynchronously reset while the simulation is not running" )
195 SC_DEFINE_MESSAGE(SC_ID_THROW_IT_WHILE_NOT_RUNNING_ , 574,
196  "throw_it not allowed unless simulation is running " )
197 
198 
199 /*****************************************************************************
200 
201  MODIFICATION LOG - modifiers, enter your name, affiliation, date and
202  changes you are making here.
203 
204  Name, Affiliation, Date:
205  Description of Modification:
206 
207  *****************************************************************************/
208 
209 // $Log: sc_kernel_ids.h,v $
210 // Revision 1.25 2011/08/26 22:06:34 acg
211 // Torsten Maehne: formating fix.
212 //
213 // Revision 1.24 2011/08/07 19:08:04 acg
214 // Andy Goodrich: moved logs to end of file so line number synching works
215 // better between versions.
216 //
217 // Revision 1.23 2011/07/24 11:15:47 acg
218 // Philipp A. Hartmann: Improvements to error/warning messages related to
219 // process control.
220 //
221 // Revision 1.22 2011/05/09 04:07:48 acg
222 // Philipp A. Hartmann:
223 // (1) Restore hierarchy in all phase callbacks.
224 // (2) Ensure calls to before_end_of_elaboration.
225 //
226 // Revision 1.21 2011/04/19 19:15:41 acg
227 // Andy Goodrich: fix so warning message is always issued for a throw_it()
228 // on a method process.
229 //
230 // Revision 1.20 2011/04/19 15:04:27 acg
231 // Philipp A. Hartmann: clean up SC_ID messages.
232 //
233 // Revision 1.19 2011/04/19 02:39:09 acg
234 // Philipp A. Hartmann: added checks for additional throws during stack unwinds.
235 //
236 // Revision 1.18 2011/04/05 06:23:45 acg
237 // Andy Goodrich: comments for throws while the simulator is not running.
238 //
239 // Revision 1.17 2011/04/01 22:30:39 acg
240 // Andy Goodrich: change hard assertion to warning for trigger_dynamic()
241 // getting called when there is only STATIC sensitivity. This can result
242 // because of sc_process_handle::throw_it().
243 //
244 // Revision 1.16 2011/03/28 13:02:51 acg
245 // Andy Goodrich: Changes for disable() interactions.
246 //
247 // Revision 1.15 2011/03/07 17:34:21 acg
248 // Andy Goodrich: changed process control corner case message. Added more
249 // place holders for unused message numbers.
250 //
251 // Revision 1.14 2011/03/06 19:57:11 acg
252 // Andy Goodrich: refinements for the illegal suspend - synchronous reset
253 // interaction.
254 //
255 // Revision 1.13 2011/03/06 15:56:29 acg
256 // Andy Goodrich: added process control corner case error message, remove
257 // unused messages.
258 //
259 // Revision 1.12 2011/03/05 19:44:20 acg
260 // Andy Goodrich: changes for object and event naming and structures.
261 //
262 // Revision 1.11 2011/02/18 20:27:14 acg
263 // Andy Goodrich: Updated Copyrights.
264 //
265 // Revision 1.10 2011/02/13 21:47:37 acg
266 // Andy Goodrich: update copyright notice.
267 //
268 // Revision 1.9 2011/02/13 21:29:16 acg
269 // Andy Goodrich: added error messages for throws that occur before
270 // simulator intialization.
271 //
272 // Revision 1.8 2011/02/11 13:25:24 acg
273 // Andy Goodrich: Philipp A. Hartmann's changes:
274 // (1) Removal of SC_CTHREAD method overloads.
275 // (2) New exception processing code.
276 //
277 // Revision 1.7 2011/02/07 19:17:20 acg
278 // Andy Goodrich: changes for IEEE 1666 compatibility.
279 //
280 // Revision 1.6 2011/01/19 23:21:50 acg
281 // Andy Goodrich: changes for IEEE 1666 2011
282 //
283 // Revision 1.5 2010/07/30 05:21:22 acg
284 // Andy Goodrich: release 2.3 fixes.
285 //
286 // Revision 1.4 2009/02/28 00:26:58 acg
287 // Andy Goodrich: changed boost name space to sc_boost to allow use with
288 // full boost library applications.
289 //
290 // Revision 1.3 2008/11/17 15:57:15 acg
291 // Andy Goodrich: added deprecation message for sc_module(const char*)
292 //
293 // Revision 1.2 2008/05/22 17:06:25 acg
294 // Andy Goodrich: updated copyright notice to include 2008.
295 //
296 // Revision 1.1.1.1 2006/12/15 20:20:05 acg
297 // SystemC 2.3
298 //
299 // Revision 1.7 2006/08/29 23:37:13 acg
300 // Andy Goodrich: Added check for negative time.
301 //
302 // Revision 1.6 2006/04/20 17:08:16 acg
303 // Andy Goodrich: 3.0 style process changes.
304 //
305 // Revision 1.5 2006/01/25 00:31:19 acg
306 // Andy Goodrich: Changed over to use a standard message id of
307 // SC_ID_IEEE_1666_DEPRECATION for all deprecation messages.
308 //
309 // Revision 1.4 2006/01/24 20:49:04 acg
310 // Andy Goodrich: changes to remove the use of deprecated features within the
311 // simulator, and to issue warning messages when deprecated features are used.
312 //
313 // Revision 1.3 2006/01/13 18:44:29 acg
314 // Added $Log to record CVS changes into the source.
315 //
316 
317 #endif
318 
319 // Taf!
operand is not sc_logic object already exists internal error
Definition: sc_kernel_ids.h:62
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_
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 reset_signal_is()" ) SC_DEFINE_MESSAGE(SC_ID_DONT_INITIALIZE_
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 next_trigger() is only allowed in SC_METHODs" ) SC_DEFINE_MESSAGE(SC_ID_IMMEDIATE_NOTIFICATION_
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 wait() is only allowed in SC_THREADs and SC_CTHREADs" ) SC_DEFINE_MESSAGE(SC_ID_NEXT_TRIGGER_NOT_ALLOWED_
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
#define SC_DEFINE_MESSAGE(id, unused1, unused2)
Definition: sc_kernel_ids.h:41
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_CTHREAD(func, edge)
Definition: sc_module.h:445
void sc_start()
#define SC_METHOD(func)
Definition: sc_module.h:452
void neg(sc_fxval &c, const sc_fxnum &a)
Definition: sc_fxnum.h:2687
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
const char SC_ID_REGISTER_ID_FAILED_[]
Definition: sc_bit_ids.h:70
#define SC_THREAD(func)
Definition: sc_module.h:458
void sc_stop()