tab2wvs.h
892 Bytes
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
/*
* tab2wvs.h
*/
#ifndef TAB2WVS_INCLD
#define TAB2WVS_INCLD
#define MAX_SIGNALS 512
#define MAX_CLOCKS 20
#define MAX_SIG_NAME 128
#define MAX_CLK_PHASES 10
typedef enum {
WVS_INPUT,
WVS_OUTPUT,
WVS_BIDIR,
WVS_VALID
} SignalNodeType;
typedef struct {
char sig_name[MAX_SIG_NAME];
char val_sig_name[MAX_SIG_NAME]; /* data valid */
char en_sig_name[MAX_SIG_NAME]; /* output enable sig name */
int msb;
int lsb;
int size; /* bits */
int hex_dig; /* nibbles */
int edge; /* nanoseconds */
int strobe; /* nanoseconds */
SignalNodeType type;
int valid; /* valid signal present */
int polarity;/* polarity of output enable sig, 0 = active low */
} SigDef;
typedef struct {
char sig_name[MAX_SIG_NAME];
int val[MAX_CLK_PHASES];
int time[MAX_CLK_PHASES];
int phases;
} ClockDef;
#endif /* TAB2WVS_INCLD */