MatchLib
hls_globals.h
1 /*
2  * Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License")
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Use these macros to print debugging information which gets compiled out when
17 // synthesizing.
18 
19 #pragma GCC diagnostic ignored "-Wunused-parameter"
20 
21 #ifndef DEBUG_LEVEL
22 #define DEBUG_LEVEL 0
23 #endif
24 
25 // the following is to avoid "statement has no effect"
26 // during compilation when CTC coverage is disabled.
27 // When coverage is enabled, these warnings are present.
28 #ifdef COV_ENABLE
29  #define CTC_SKIP_CDCOUT "CTC SKIP";
30  #define CTC_ENDSKIP_CDCOUT "CTC ENDSKIP";
31 #else
32  #define CTC_SKIP_CDCOUT ((void)"CTC SKIP");
33  #define CTC_ENDSKIP_CDCOUT ((void)"CTC ENDSKIP");
34 #endif
35 
36 #define DISABLED_PRINT_STMT() \
37  do { \
38  } while (0)
68 #if __SYNTHESIS__
69  #define DCOUT(x) DISABLED_PRINT_STMT()
70  #define CDCOUT(x,y) DISABLED_PRINT_STMT()
71 #else
72  #define DCOUT(x) cout << x
73  #define CDCOUT(x,y) { \
74  CTC_SKIP_CDCOUT \
75  if (DEBUG_LEVEL >= y) cout << x; \
76  CTC_ENDSKIP_CDCOUT }
77 #endif