Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | /* |
2 | * FileName: vcs_vpi_user.h | |
3 | * | |
4 | * Facility: Verilog Compiled Simulator (VCS) | |
5 | * | |
6 | * Functional Description: | |
7 | * Defines vpi types and routines that are not part of the OVI standard. | |
8 | * | |
9 | * Notes: | |
10 | * "vpi_user.h" is included here (to get type definitions.) | |
11 | * | |
12 | * Copyright (c) 1997-98 by Synopsys, Inc. All rights reserved. | |
13 | */ | |
14 | ||
15 | #ifndef VCS_VPI_USER_H | |
16 | #define VCS_VPI_USER_H | |
17 | ||
18 | #include "vpi_user.h" | |
19 | #ifdef __cplusplus | |
20 | extern "C" { | |
21 | #endif | |
22 | ||
23 | /************** Objects added for System Verilog **********/ | |
24 | ||
25 | #define vpiChar 140 /* char data type */ | |
26 | #define vpiCharBit 141 /* bit of char data type */ | |
27 | #define vpiShortInt 142 /* shortint data type */ | |
28 | #define vpiShortIntBit 143 /* bit of shortint data type */ | |
29 | #define vpiLongInt 144 /* longint data type */ | |
30 | #define vpiLongIntBit 145 /* bit of longint data type */ | |
31 | #define vpiByte 146 /* byte data type */ | |
32 | #define vpiByteBit 147 /* bit of byte data type */ | |
33 | #define vpiBitType 148 /* scalar or vector bit */ | |
34 | #define vpiBitTypeBit 149 /* bit of vector bit type */ | |
35 | #define vpiLogic 150 /* scalar or vector logic */ | |
36 | #define vpiLogicBit 151 /* bit of vector logic */ | |
37 | #define vpiInt 152 /* int variable */ | |
38 | #define vpiIntBit 153 /* bit of int variable */ | |
39 | #define vpiStructure 154 /* structure */ | |
40 | #define vpiUnion 155 /* union */ | |
41 | #define vpiStringVar 156 /* string variable */ | |
42 | #define vpiEnum 157 /* enum */ | |
43 | #define vpiEnumConstant 158 /* enum constant */ | |
44 | #define vpiInterface 159 /* interface */ | |
45 | #define vpiPortRefObj 162 | |
46 | #define vpiModPort 163 | |
47 | #define vpiMpPort 164 | |
48 | #define vpiTfDecl 165 | |
49 | #define vpiAccessType 166 | |
50 | #define vpiEnumType 167 | |
51 | #define vpiInterfacePort 168 | |
52 | #define vpiModPortPort 169 | |
53 | #define vpiPortType 170 | |
54 | #define vpiInterfaceConn 172 | |
55 | #define vpiRefObj 173 | |
56 | #define vpiRefObjType 174 | |
57 | #define vpiRealWire 130 | |
58 | #define vpiClass 175 | |
59 | #define vpiThread 176 | |
60 | #define vpiOrigin 177 | |
61 | #define vpiClassDefn 178 | |
62 | #define vpiBase 179 | |
63 | #define vpiInstances 180 | |
64 | #define vpiDerived 181 | |
65 | #define vpiMailbox 182 | |
66 | #define vpiSemaphore 183 | |
67 | #define vpiReturnStmt 184 | |
68 | ||
69 | /*********************** properties added with System Verilog**************/ | |
70 | #define vpiPacked 72 /* packed or unpacked aggregate */ | |
71 | #define vpiMultiPacArray 73 /* multiple packed dimensions */ | |
72 | #define vpiImport 74 /* import task or function */ | |
73 | #define vpiExport 75 /* export task or function */ | |
74 | #define vpiExtern 76 /* extern task or function */ | |
75 | #define vpiExternForkJoin 77 /* extern fork join task or function */ | |
76 | #define vpiPacArray 78 /* packed dimensions */ | |
77 | #define vpiVirtual 79 | |
78 | #define vpiLifeTime 80 | |
79 | #define vpiStatic 81 | |
80 | #define vpiMethod 82 | |
81 | #define vpiMember 83 | |
82 | #define vpiId 84 /* thread/mailbox/semaphore id */ | |
83 | #define vpiThreadState 85 /* thread state subtypes: */ | |
84 | #define vpiWaitingProcess 86 /* blocked processes on mailbox/semaphore */ | |
85 | #define vpiMessage 87 /* messages in mailbox */ | |
86 | #define vpiDynamicArray 88 | |
87 | #define vpiAssociativeArray 89 | |
88 | #define vpiCurrent 1 /* currently executing */ | |
89 | #define vpiReady 2 /* ready to execute at current time */ | |
90 | #define vpiBlocked 3 /* blocked due to mailbox/semaphore/event */ | |
91 | #define vpiWaiting 4 /* waiting for child(ren) to finish */ | |
92 | ||
93 | /************** Always Objects added for System Verilog **********/ | |
94 | #define vpiAlwaysComb 71 /* always_comb */ | |
95 | #define vpiAlwaysLatch 72 /* always_latch */ | |
96 | #define vpiAlwaysFf 73 /* always_Ff */ | |
97 | ||
98 | /************** Callback reasons added for System Verilog **********/ | |
99 | #define cbStartOfThread 31 | |
100 | #define cbEndOfThread 32 | |
101 | #define cbEnterThread 33 | |
102 | #define cbStartOfFrame 34 | |
103 | #define cbEndOfFrame 35 | |
104 | ||
105 | #define vpiSignalDriver 74 | |
106 | #define vpiSignalLoad 75 | |
107 | #define vpiReaderExpr 76 | |
108 | #define vpiWriterExpr 77 | |
109 | ||
110 | #ifdef VCS_ARGS_DEFINED_HERE | |
111 | #undef VCS_ARGS_DEFINED_HERE | |
112 | #undef VCS_ARGS | |
113 | #endif | |
114 | ||
115 | #ifdef __cplusplus | |
116 | } /* extern "C" */ | |
117 | #endif | |
118 | ||
119 | #endif /* VCS_VPI_USER_H */ |