Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / pli / vcs_vpi_user.h
CommitLineData
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
20extern "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 */