-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvc_hdrs.h
107 lines (66 loc) · 3.41 KB
/
vc_hdrs.h
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
#ifndef _VC_HDRS_H
#define _VC_HDRS_H
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
#include <stdio.h>
#include <dlfcn.h>
#include "svdpi.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _VC_TYPES_
#define _VC_TYPES_
/* common definitions shared with DirectC.h */
typedef unsigned int U;
typedef unsigned char UB;
typedef unsigned char scalar;
typedef struct { U c; U d;} vec32;
#define scalar_0 0
#define scalar_1 1
#define scalar_z 2
#define scalar_x 3
extern long long int ConvUP2LLI(U* a);
extern void ConvLLI2UP(long long int a1, U* a2);
extern long long int GetLLIresult();
extern void StoreLLIresult(const unsigned int* data);
typedef struct VeriC_Descriptor *vc_handle;
#ifndef SV_3_COMPATIBILITY
#define SV_STRING const char*
#else
#define SV_STRING char*
#endif
#endif /* _VC_TYPES_ */
extern SV_STRING snps_reg__get_context_name(/* INPUT */int id);
extern int snps_reg__get_reg_id(/* INPUT */const char* path, /* INPUT */const char* name);
extern int snps_reg__get_reg_array_id(/* INPUT */const char* path, /* INPUT */const char* name, /* INPUT */int index1, /* INPUT */int index2, /* INPUT */int index3);
extern int snps_reg__get_fld_id(/* INPUT */const char* path, /* INPUT */const char* rg, /* INPUT */const char* name);
extern int snps_reg__get_fld_array_id(/* INPUT */const char* path, /* INPUT */const char* rg, /* INPUT */const char* name, /* INPUT */int index1, /* INPUT */int index2, /* INPUT */int index3);
extern void snps_reg__use_context_map(/* INPUT */int ctxt);
extern void snps_reg__regRead(/* INPUT */int id, /* OUTPUT */long long *val);
extern void snps_reg__regReadAtAddr(/* INPUT */int reg_addr, /* OUTPUT */long long *val);
extern void snps_reg__regWrite(/* INPUT */int id, /* INPUT */long long val);
extern void snps_reg__regWriteAtAddr(/* INPUT */int reg_addr, /* INPUT */long long val);
extern int uvm_hdl_check_path(/* INPUT */const char* path);
extern int uvm_hdl_deposit(/* INPUT */const char* path, const /* INPUT */svLogicVecVal *value);
extern int uvm_hdl_force(/* INPUT */const char* path, const /* INPUT */svLogicVecVal *value);
extern int uvm_hdl_release_and_read(/* INPUT */const char* path, /* INOUT */svLogicVecVal *value);
extern int uvm_hdl_release(/* INPUT */const char* path);
extern int uvm_hdl_read(/* INPUT */const char* path, /* OUTPUT */svLogicVecVal *value);
extern SV_STRING uvm_hdl_read_string(/* INPUT */const char* path);
extern int uvm_memory_load(/* INPUT */const char* nid, /* INPUT */const char* scope, /* INPUT */const char* fileName, /* INPUT */const char* radix, /* INPUT */const char* startaddr, /* INPUT */const char* endaddr, /* INPUT */const char* types);
extern SV_STRING uvm_dpi_get_next_arg_c(/* INPUT */int init);
extern SV_STRING uvm_dpi_get_tool_name_c();
extern SV_STRING uvm_dpi_get_tool_version_c();
extern void* uvm_dpi_regcomp(/* INPUT */const char* regex);
extern int uvm_dpi_regexec(/* INPUT */void* preg, /* INPUT */const char* str);
extern void uvm_dpi_regfree(/* INPUT */void* preg);
extern int uvm_re_match(/* INPUT */const char* re, /* INPUT */const char* str);
extern void uvm_dump_re_cache();
extern SV_STRING uvm_glob_to_re(/* INPUT */const char* glob);
extern void m__uvm_report_dpi(/* INPUT */int severity, /* INPUT */const char* id, /* INPUT */const char* message, /* INPUT */int verbosity, /* INPUT */const char* filename, /* INPUT */int line);
void SdisableFork();
#ifdef __cplusplus
}
#endif
#endif //#ifndef _VC_HDRS_H