SystemC  2.3.2
Accellera SystemC proof-of-concept library
sc_communication_ids.h
Go to the documentation of this file.
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 */
33 #ifndef SC_COMMUNICATION_IDS_H
34 #define SC_COMMUNICATION_IDS_H
35 
36 
37 #include "sysc/utils/sc_report.h"
38 
39 
46 #ifndef SC_DEFINE_MESSAGE
47 
48 #define SC_DEFINE_MESSAGE(id,unused1,unused2) \
49  namespace sc_core { extern SC_API const char id[]; }
50 namespace sc_core {
51  extern SC_API const char SC_ID_REGISTER_ID_FAILED_[]; // in sc_report_handler.cpp
52 } // namespace sc_core
53 #endif
54 
55 SC_DEFINE_MESSAGE( SC_ID_PORT_OUTSIDE_MODULE_, 100,
56  "port specified outside of module" )
57 SC_DEFINE_MESSAGE( SC_ID_CLOCK_PERIOD_ZERO_, 101,
58  "sc_clock period is zero" )
59 SC_DEFINE_MESSAGE( SC_ID_CLOCK_HIGH_TIME_ZERO_, 102,
60  "sc_clock high time is zero" )
61 SC_DEFINE_MESSAGE( SC_ID_CLOCK_LOW_TIME_ZERO_, 103,
62  "sc_clock low time is zero" )
63 SC_DEFINE_MESSAGE( SC_ID_MORE_THAN_ONE_FIFO_READER_, 104,
64  "sc_fifo<T> cannot have more than one reader" )
65 SC_DEFINE_MESSAGE( SC_ID_MORE_THAN_ONE_FIFO_WRITER_, 105,
66  "sc_fifo<T> cannot have more than one writer" )
67 SC_DEFINE_MESSAGE( SC_ID_INVALID_FIFO_SIZE_, 106,
68  "sc_fifo<T> must have a size of at least 1" )
69 SC_DEFINE_MESSAGE( SC_ID_BIND_IF_TO_PORT_, 107,
70  "bind interface to port failed" )
71 SC_DEFINE_MESSAGE( SC_ID_BIND_PORT_TO_PORT_, 108,
72  "bind parent port to port failed" )
73 SC_DEFINE_MESSAGE( SC_ID_COMPLETE_BINDING_, 109,
74  "complete binding failed" )
75 SC_DEFINE_MESSAGE( SC_ID_INSERT_PORT_, 110,
76  "insert port failed" )
77 SC_DEFINE_MESSAGE( SC_ID_REMOVE_PORT_, 111,
78  "remove port failed" )
79 SC_DEFINE_MESSAGE( SC_ID_GET_IF_, 112,
80  "get interface failed" )
81 SC_DEFINE_MESSAGE( SC_ID_INSERT_PRIM_CHANNEL_, 113,
82  "insert primitive channel failed" )
83 SC_DEFINE_MESSAGE( SC_ID_REMOVE_PRIM_CHANNEL_, 114,
84  "remove primitive channel failed" )
85 SC_DEFINE_MESSAGE( SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, 115,
86  "sc_signal<T> cannot have more than one driver" )
87 SC_DEFINE_MESSAGE( SC_ID_NO_DEFAULT_EVENT_, 116,
88  "channel doesn't have a default event" )
89 SC_DEFINE_MESSAGE( SC_ID_RESOLVED_PORT_NOT_BOUND_, 117,
90  "resolved port not bound to resolved signal" )
91 SC_DEFINE_MESSAGE( SC_ID_FIND_EVENT_, 118,
92  "find event failed" )
93 SC_DEFINE_MESSAGE( SC_ID_INVALID_SEMAPHORE_VALUE_, 119,
94  "sc_semaphore requires an initial value >= 0" )
95 SC_DEFINE_MESSAGE( SC_ID_SC_EXPORT_HAS_NO_INTERFACE_, 120,
96  "sc_export instance has no interface" )
97 SC_DEFINE_MESSAGE( SC_ID_INSERT_EXPORT_, 121,
98  "insert sc_export failed" )
99 SC_DEFINE_MESSAGE( SC_ID_EXPORT_OUTSIDE_MODULE_, 122,
100  "sc_export specified outside of module" )
101 SC_DEFINE_MESSAGE( SC_ID_SC_EXPORT_NOT_REGISTERED_, 123,
102  "remove sc_export failed, sc_export not registered" )
103 SC_DEFINE_MESSAGE( SC_ID_SC_EXPORT_NOT_BOUND_AFTER_CONSTRUCTION_, 124,
104  "sc_export instance not bound to interface at end of construction" )
105 SC_DEFINE_MESSAGE( SC_ID_ATTEMPT_TO_WRITE_TO_CLOCK_, 125,
106  "attempt to write the value of an sc_clock instance" )
107 SC_DEFINE_MESSAGE( SC_ID_SC_EXPORT_ALREADY_BOUND_, 126,
108  "sc_export instance already bound" )
109 SC_DEFINE_MESSAGE( SC_ID_OPERATION_ON_NON_SPECIALIZED_SIGNAL_, 127,
110  "attempted specalized signal operation on non-specialized signal" )
111 SC_DEFINE_MESSAGE( SC_ID_ATTEMPT_TO_BIND_CLOCK_TO_OUTPUT_, 128,
112  "attempted to bind sc_clock instance to sc_inout or sc_out" )
113 SC_DEFINE_MESSAGE( SC_ID_NO_ASYNC_UPDATE_, 129,
114  "this build has no asynchronous update support" )
115 
116 /*
117 $Log: sc_communication_ids.h,v $
118 Revision 1.5 2011/08/26 20:45:39 acg
119  Andy Goodrich: moved the modification log to the end of the file to
120  eliminate source line number skew when check-ins are done.
121 
122 Revision 1.4 2011/04/19 02:36:26 acg
123  Philipp A. Hartmann: new aysnc_update and mutex support.
124 
125 Revision 1.3 2011/02/18 20:23:45 acg
126  Andy Goodrich: Copyright update.
127 
128 Revision 1.2 2011/02/14 17:50:16 acg
129  Andy Goodrich: testing for sc_port and sc_export instantiations during
130  end of elaboration and issuing appropriate error messages.
131 
132 Revision 1.1.1.1 2006/12/15 20:20:04 acg
133 SystemC 2.3
134 
135 Revision 1.5 2006/01/25 00:31:11 acg
136  Andy Goodrich: Changed over to use a standard message id of
137  SC_ID_IEEE_1666_DEPRECATION for all deprecation messages.
138 
139 Revision 1.4 2006/01/24 20:46:31 acg
140 Andy Goodrich: changes to eliminate use of deprecated features. For instance,
141 using notify(SC_ZERO_TIME) in place of notify_delayed().
142 
143 Revision 1.3 2006/01/18 21:42:26 acg
144 Andy Goodrich: Changes for check writer support, and tightening up sc_clock
145 port usage.
146 
147 Revision 1.2 2006/01/03 23:18:26 acg
148 Changed copyright to include 2006.
149 
150 Revision 1.1.1.1 2005/12/19 23:16:43 acg
151 First check in of SystemC 2.1 into its own archive.
152 
153 Revision 1.12 2005/04/03 22:52:51 acg
154 Namespace changes.
155 
156 Revision 1.11 2005/03/21 22:31:32 acg
157 Changes to sc_core namespace.
158 
159 Revision 1.10 2004/10/28 00:21:48 acg
160 Added check that sc_export instances are not bound twice.
161 
162 Revision 1.9 2004/09/27 21:02:54 acg
163 Andy Goodrich - Forte Design Systems, Inc.
164  - Added a $Log comment so that CVS checkin comments will appear in
165  checked out source.
166 
167 */
168 
169 #endif
170 
171 // Taf!
#define SC_DEFINE_MESSAGE(id, unused1, unused2)
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
SC_API const char SC_ID_REGISTER_ID_FAILED_[]
Definition: sc_bit_ids.h:77
Run-time logging and reporting facilities.
#define SC_API
Definition: sc_cmnhdr.h:168