-
Notifications
You must be signed in to change notification settings - Fork 0
/
vc_hdrs.h
64 lines (44 loc) · 1.54 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
#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 void open_pipeline_output_file(/* INPUT */const char* file_name);
extern void print_header(/* INPUT */const char* str);
extern void print_cycles();
extern void print_stage(/* INPUT */const char* div, /* INPUT */int inst, /* INPUT */int npc, /* INPUT */int valid_inst);
extern void print_reg(/* INPUT */int wb_reg_wr_data_out_hi, /* INPUT */int wb_reg_wr_data_out_lo, /* INPUT */int wb_reg_wr_idx_out, /* INPUT */int wb_reg_wr_en_out);
extern void print_membus(/* INPUT */int proc2mem_command, /* INPUT */int mem2proc_response, /* INPUT */int proc2mem_addr_hi, /* INPUT */int proc2mem_addr_lo, /* INPUT */int proc2mem_data_hi, /* INPUT */int proc2mem_data_lo);
extern void print_close();
#ifdef __cplusplus
}
#endif
#endif //#ifndef _VC_HDRS_H