tab2wvs.h 892 Bytes
/*
 *  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 */