1/*****************************************************************************
2
3  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4  more contributor license agreements.  See the NOTICE file distributed
5  with this work for additional information regarding copyright ownership.
6  Accellera licenses this file to you under the Apache License, Version 2.0
7  (the "License"); you may not use this file except in compliance with the
8  License.  You may obtain a copy of the License at
9
10    http://www.apache.org/licenses/LICENSE-2.0
11
12  Unless required by applicable law or agreed to in writing, software
13  distributed under the License is distributed on an "AS IS" BASIS,
14  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15  implied.  See the License for the specific language governing
16  permissions and limitations under the License.
17
18 *****************************************************************************/
19
20/*****************************************************************************
21
22  sc_communication_ids.h -- Report ids for the communication code.
23
24  Original Author: Martin Janssen, Synopsys, Inc., 2002-01-17
25
26  CHANGE LOG IS AT THE END OF THE FILE
27 *****************************************************************************/
28
29#ifndef SC_COMMUNICATION_IDS_H
30#define SC_COMMUNICATION_IDS_H
31
32
33#include "sysc/utils/sc_report.h"
34
35
36// ----------------------------------------------------------------------------
37//  Report ids (communication)
38//
39//  Report ids in the range of 100-199.
40// ----------------------------------------------------------------------------
41
42#ifndef SC_DEFINE_MESSAGE
43#define SC_DEFINE_MESSAGE(id,unused1,unused2) \
44    namespace sc_core { extern const char id[]; }
45namespace sc_core {
46    extern const char SC_ID_REGISTER_ID_FAILED_[]; // in sc_report_handler.cpp
47} // namespace sc_core
48#endif
49
50SC_DEFINE_MESSAGE( SC_ID_PORT_OUTSIDE_MODULE_, 100,
51			"port specified outside of module" )
52SC_DEFINE_MESSAGE( SC_ID_CLOCK_PERIOD_ZERO_, 101,
53			"sc_clock period is zero" )
54SC_DEFINE_MESSAGE( SC_ID_CLOCK_HIGH_TIME_ZERO_, 102,
55			"sc_clock high time is zero" )
56SC_DEFINE_MESSAGE( SC_ID_CLOCK_LOW_TIME_ZERO_, 103,
57			"sc_clock low time is zero" )
58SC_DEFINE_MESSAGE( SC_ID_MORE_THAN_ONE_FIFO_READER_, 104,
59			"sc_fifo<T> cannot have more than one reader" )
60SC_DEFINE_MESSAGE( SC_ID_MORE_THAN_ONE_FIFO_WRITER_, 105,
61			"sc_fifo<T> cannot have more than one writer" )
62SC_DEFINE_MESSAGE( SC_ID_INVALID_FIFO_SIZE_, 106,
63			"sc_fifo<T> must have a size of at least 1" )
64SC_DEFINE_MESSAGE( SC_ID_BIND_IF_TO_PORT_, 107,
65			"bind interface to port failed" )
66SC_DEFINE_MESSAGE( SC_ID_BIND_PORT_TO_PORT_, 108,
67			"bind parent port to port failed" )
68SC_DEFINE_MESSAGE( SC_ID_COMPLETE_BINDING_, 109,
69			"complete binding failed" )
70SC_DEFINE_MESSAGE( SC_ID_INSERT_PORT_, 110,
71			"insert port failed" )
72SC_DEFINE_MESSAGE( SC_ID_REMOVE_PORT_, 111,
73			"remove port failed" )
74SC_DEFINE_MESSAGE( SC_ID_GET_IF_, 112,
75			"get interface failed" )
76SC_DEFINE_MESSAGE( SC_ID_INSERT_PRIM_CHANNEL_, 113,
77			"insert primitive channel failed" )
78SC_DEFINE_MESSAGE( SC_ID_REMOVE_PRIM_CHANNEL_, 114,
79			"remove primitive channel failed" )
80SC_DEFINE_MESSAGE( SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, 115,
81			"sc_signal<T> cannot have more than one driver" )
82SC_DEFINE_MESSAGE( SC_ID_NO_DEFAULT_EVENT_,    116,
83			"channel doesn't have a default event" )
84SC_DEFINE_MESSAGE( SC_ID_RESOLVED_PORT_NOT_BOUND_, 117,
85			"resolved port not bound to resolved signal" )
86SC_DEFINE_MESSAGE( SC_ID_FIND_EVENT_, 118,
87			"find event failed" )
88SC_DEFINE_MESSAGE( SC_ID_INVALID_SEMAPHORE_VALUE_,  119,
89			"sc_semaphore requires an initial value >= 0" )
90SC_DEFINE_MESSAGE( SC_ID_SC_EXPORT_HAS_NO_INTERFACE_,  120,
91			"sc_export instance has no interface" )
92SC_DEFINE_MESSAGE( SC_ID_INSERT_EXPORT_,  121,
93    "insert sc_export failed" )
94SC_DEFINE_MESSAGE( SC_ID_SC_EXPORT_NOT_REGISTERED_,  123,
95    "remove sc_export failed, sc_export not registered" )
96SC_DEFINE_MESSAGE( SC_ID_SC_EXPORT_NOT_BOUND_AFTER_CONSTRUCTION_,  124,
97    "sc_export instance not bound to interface at end of construction" )
98SC_DEFINE_MESSAGE( SC_ID_ATTEMPT_TO_WRITE_TO_CLOCK_,  125,
99   "attempt to write the value of an sc_clock instance" )
100SC_DEFINE_MESSAGE( SC_ID_SC_EXPORT_ALREADY_BOUND_,  126,
101    "sc_export instance already bound" )
102SC_DEFINE_MESSAGE( SC_ID_OPERATION_ON_NON_SPECIALIZED_SIGNAL_,  127,
103    "attempted specalized signal operation on non-specialized signal" )
104SC_DEFINE_MESSAGE( SC_ID_ATTEMPT_TO_BIND_CLOCK_TO_OUTPUT_,  128,
105    "attempted to bind sc_clock instance to sc_inout or sc_out" )
106SC_DEFINE_MESSAGE( SC_ID_NO_ASYNC_UPDATE_,  129,
107    "this build has no asynchronous update support" )
108
109/*
110$Log: sc_communication_ids.h,v $
111Revision 1.5  2011/08/26 20:45:39  acg
112 Andy Goodrich: moved the modification log to the end of the file to
113 eliminate source line number skew when check-ins are done.
114
115Revision 1.4  2011/04/19 02:36:26  acg
116 Philipp A. Hartmann: new aysnc_update and mutex support.
117
118Revision 1.3  2011/02/18 20:23:45  acg
119 Andy Goodrich: Copyright update.
120
121Revision 1.2  2011/02/14 17:50:16  acg
122 Andy Goodrich: testing for sc_port and sc_export instantiations during
123 end of elaboration and issuing appropriate error messages.
124
125Revision 1.1.1.1  2006/12/15 20:20:04  acg
126SystemC 2.3
127
128Revision 1.5  2006/01/25 00:31:11  acg
129 Andy Goodrich: Changed over to use a standard message id of
130 SC_ID_IEEE_1666_DEPRECATION for all deprecation messages.
131
132Revision 1.4  2006/01/24 20:46:31  acg
133Andy Goodrich: changes to eliminate use of deprecated features. For instance,
134using notify(SC_ZERO_TIME) in place of notify_delayed().
135
136Revision 1.3  2006/01/18 21:42:26  acg
137Andy Goodrich: Changes for check writer support, and tightening up sc_clock
138port usage.
139
140Revision 1.2  2006/01/03 23:18:26  acg
141Changed copyright to include 2006.
142
143Revision 1.1.1.1  2005/12/19 23:16:43  acg
144First check in of SystemC 2.1 into its own archive.
145
146Revision 1.12  2005/04/03 22:52:51  acg
147Namespace changes.
148
149Revision 1.11  2005/03/21 22:31:32  acg
150Changes to sc_core namespace.
151
152Revision 1.10  2004/10/28 00:21:48  acg
153Added check that sc_export instances are not bound twice.
154
155Revision 1.9  2004/09/27 21:02:54  acg
156Andy Goodrich - Forte Design Systems, Inc.
157   - Added a $Log comment so that CVS checkin comments will appear in
158     checked out source.
159
160*/
161
162#endif
163
164// Taf!
165