driver.h
2.7 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
/*
*
*
*
*
*/
#ifndef DRIVER_INCLUDE
#define DRIVER_INCLUDE
#define LOD_DLYS 1
#define S_DLYS 2
#define T_DLYS 2
#define MIN_LEVEL_DLYS 6
#define DETAIL_EN_DLYS 6
#define SHARP_EN_DLYS 6
#define LOD_EN_DLYS 6
#define COPY_DLYS 9
#define SAMP_TYPE_DLYS 10
#define TLUT_EN_D6_DLYS 11
#define TLUT_TYPE_DLYS 13
#define MAX_LEVEL_DLYS 6
#define PRIM_TILE_DLYS 6
#define SHIFT_COORD_DLYS 9
#define TILE_ADRS_DLYS 7
#define TILE_DATA_DLYS 7
#define WE_TILE_SIZE_DLYS 7
#define WE_TILE_ATTR_DLYS 7
#define VM_IN_DLYS 11
#define VM_DV_DLYS 11
#define LOAD_DV_DLYS 11
#define DV_DLYS_MAX 16
#define EXIT1_DLYS_MAX 16
#define X_DLYS_MAX 16
#define Y_DLYS_MAX 16
#define COPY_LOAD_DLYS 11
#define DUMPLOD 1
#define DUMPTILEMEM 2
#define DUMPDIV 4
#define DUMPADJ 8
#define DUMPFRAC 16
#define DUMPADRS 32
#define DUMPSORT 64
#define DUMPLOAD 128
#define DUMPMUX 256
#define DUMPTEX 512
#include "ints.h"
typedef struct {
/* required */
char *label;
int gclk;
int gclk_old;
int argc;
char **argv;
int copy_load_e;
/* output */
int st_span;
int ncyc;
int lod;
int s;
int t;
int w;
int min_level;
int detail_en;
int sharp_en;
int lod_en;
int persp_en;
int copy;
int samp_type;
int tlut_en;
int tlut_type;
int max_level;
int prim_tile;
int load;
int shift_coord;
int tile_adrs;
int64 tile_data;
int we_tile_size;
int we_tile_attr;
int vm_in;
int vm_dv;
int load_dv;
int dv;
int exit1;
int x;
int y;
int64 copy_load;
/* Intermediate signals */
int lod_dly[LOD_DLYS];
int s_dly[S_DLYS];
int t_dly[T_DLYS];
int min_level_dly[MIN_LEVEL_DLYS];
int detail_en_dly[DETAIL_EN_DLYS];
int sharp_en_dly[SHARP_EN_DLYS];
int lod_en_dly[LOD_EN_DLYS];
int copy_dly[COPY_DLYS];
int samp_type_dly[SAMP_TYPE_DLYS];
int tlut_en_d6_dly[TLUT_EN_D6_DLYS];
int tlut_type_dly[TLUT_TYPE_DLYS];
int max_level_dly[MAX_LEVEL_DLYS];
int prim_tile_dly[PRIM_TILE_DLYS];
int shift_coord_dly[SHIFT_COORD_DLYS];
int tile_adrs_dly[TILE_ADRS_DLYS];
int64 tile_data_dly[TILE_DATA_DLYS];
int we_tile_size_dly[WE_TILE_SIZE_DLYS];
int we_tile_attr_dly[WE_TILE_ATTR_DLYS];
int vm_in_dly[VM_IN_DLYS];
int vm_dv_dly[VM_DV_DLYS];
int load_dv_dly[LOAD_DV_DLYS];
int dv_dly[DV_DLYS_MAX];
int exit1_dly[EXIT1_DLYS_MAX];
int x_dly[X_DLYS_MAX];
int y_dly[Y_DLYS_MAX];
int64 copy_load_dly[COPY_LOAD_DLYS];
} driver_t;
/*
* Prototypes
*/
void driver(driver_t **pp0, driver_t **pp1);
void driver_init(driver_t *p0, driver_t *p1);
#endif /* DRIVER_INCLUDE */