vcsuser.h
6.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
/*
* vcsuser.h - Chronologic Simulation pli-tf routine include file
$Header: /root/leakn64/depot/rf/sw/n64os20l/rdpsim2/pli/vcsuser.h,v 1.1.1.2 2002/10/29 08:06:53 blythe Exp $
*/
#define true 1
#define false 0
#define TRUE 1
#define FALSE 0
typedef struct t_tfexprinfo {
unsigned short expr_type;
unsigned short padding;
struct t_vecval *expr_value_p;
double real_value;
char *expr_string;
int expr_ngroups;
int expr_vec_size;
int expr_sign;
int expr_lhs_select; /* not used */
int expr_rhs_select; /* not used */
} s_tfexprinfo, *p_tfexprinfo;
#define tf_nullparam 0
#define TF_NULLPARAM 0
#define tf_string 1
#define TF_STRING 1
#define tf_specialparam 2
#define TF_SPECIALPARAM 2
#define tf_readonly 10
#define TF_READONLY 10
#define tf_readwrite 11
#define TF_READWRITE 11
#define tf_rwbitselect 12
#define TF_RWBITSELECT 12
#define tf_rwpartselect 13
#define TF_RWPARTSELECT 13
#define tf_rwmemselect 14
#define TF_RWMEMSELECT 14
#define tf_readonlyreal 15
#define TF_READONLYREAL 15
#define tf_readwritereal 16
#define TF_READWRITEREAL 16
typedef struct t_tfnodeinfo
{
short node_type;
short padding;
union {
struct t_vecval *vecval_p;
struct t_strengthval *strengthval_p;
char *memoryval_p;
double *real_val_p;
} node_value;
char *node_symbol;
int node_ngroups;
int node_vec_size;
int node_sign;
int node_ms_index; /* not used */
int node_ls_index; /* not used */
int node_mem_size; /* not used */
int node_lhs_element; /* not used */
int node_rhs_element; /* not used */
int *node_handle; /* not used */
} s_tfnodeinfo, *p_tfnodeinfo;
#define tf_null_node 100
#define TF_NULL_NODE 100
#define tf_reg_node 101
#define TF_REG_NODE 101
#define tf_integer_node 102
#define TF_INTEGER_NODE 102
#define tf_time_node 103
#define TF_TIME_NODE 103
#define tf_netvector_node 104
#define TF_NETVECTOR_NODE 104
#define tf_netscalar_node 105
#define TF_NETSCALAR_NODE 105
#define tf_memory_node 106
#define TF_MEMORY_NODE 106
#define tf_real_node 107
#define TF_REAL_NODE 107
typedef struct t_vecval {
int avalbits; /* '0':0 '1':1 'z':0 'x':1 */
int bvalbits; /* 0 0 1 1 */
} s_vecval, *p_vecval;
typedef struct t_strengthval
{
int strength0;
int strength1;
} s_strengthval, *p_strengthval;
/*** misctf callback reasons ***/
#define reason_checktf 1
#define REASON_CHECKTF 1
#define reason_sizetf 2
#define REASON_SIZETF 2
#define reason_calltf 3
#define REASON_CALLTF 3
#define reason_save 4
#define REASON_SAVE 4
#define reason_restart 5
#define REASON_RESTART 5
#define reason_disable 6
#define REASON_DISABLE 6
#define reason_paramvc 7
#define REASON_PARAMVC 7
#define reason_synch 8
#define REASON_SYNCH 8
#define reason_finish 9
#define REASON_FINISH 9
#define reason_reactivate 10
#define REASON_REACTIVATE 10
#define reason_rosynch 11
#define REASON_ROSYNCH 11
#define reason_interactive 18
#define REASON_INTERACTIVE 18
/*** levels for tf_message() ***/
#define ERR_MESSAGE 1
#define ERR_WARNING 2
#define ERR_ERROR 3
#define ERR_INTERNAL 4
#define ERR_SYSTEM 5
/*** this structure is provided to allow compilation of pli applications ***/
/*** containing s_tfcell arrays; these arrays are not used by VCS ***/
typedef struct t_tfcell {
short type;
short data;
int (*checktf)();
int (*sizetf)();
int (*calltf)();
int (*misctf)();
char *tfname;
char *fill1;
char *fill2;
int fill3;
struct t_tfcell *fill4;
struct t_tfcell *fill5;
char *fill6;
int fill7;
} s_tfcell;
#define usertask 1
#define userfunction 2
#define userrealfunction 3
#ifdef VCSXLIF
#include "vcsuserxlif.h"
#endif
/*** utility routine declarations ***/
int io_printf();
int io_mcdprintf();
char *mc_scan_plusargs();
int tf_asynchoff(); int tf_iasynchoff();
int tf_asynchon(); int tf_iasynchon();
int tf_clearalldelays(); int tf_iclearalldelays();
int tf_copypvc_flag(); int tf_icopypvc_flag();
int tf_dostop();
int tf_dofinish();
int tf_error();
p_tfexprinfo tf_exprinfo(); p_tfexprinfo tf_iexprinfo();
char *tf_getcstringp(); char *tf_igetcstringp();
char *tf_getinstance();
int tf_getlongtime();
int tf_getlongp(); int tf_igetlongp();
int tf_getnextlongtime();
int tf_getp(); int tf_igetp();
int tf_getpchange(); int tf_igetpchange();
char *tf_getroutine(); char *tf_igetroutine();
char *tf_gettflist(); char *tf_igettflist();
int tf_gettime();
int tf_gettimeprecision(); int tf_igettimeprecision();
int tf_gettimeunit(); int tf_igettimeunit();
char *tf_getworkarea(); char *tf_igetworkarea();
char *tf_longtime_tostr();
int tf_message();
char *tf_mipname(); char *tf_imipname();
int tf_movepvc_flag(); int tf_imovepvc_flag();
p_tfnodeinfo tf_nodeinfo(); p_tfnodeinfo tf_inodeinfo();
int tf_nump(); int tf_inump();
int tf_putlongp(); int tf_iputlongp();
int tf_putp(); int tf_iputp();
int tf_rosynchronize(); int tf_irosynchronize();
void tf_scale_longdelay();
int tf_setdelay(); int tf_isetdelay();
void tf_setworkarea(); void tf_isetworkarea();
void tf_setroutine(); void tf_isetroutine();
void tf_settflist(); void tf_isettflist();
int tf_sizep(); int tf_isizep();
char *tf_spname(); char *tf_ispname();
int tf_strdelputp(); int tf_istrdelputp();
char *tf_strgetp(); char *tf_istrgetp();
char *tf_strgettime();
int tf_setlongdelay(); int tf_isetlongdelay();
int tf_strlongdelputp(); int tf_istrlongdelputp();
int tf_synchronize(); int tf_isynchronize();
int tf_testpvc_flag(); int tf_itestpvc_flag();
int tf_text();
int tf_typep(); int tf_itypep();
void tf_unscale_longdelay();
int tf_warning();