MatchLib
All Classes Namespaces Files Functions Modules Pages
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