iverilog/ivtest/src/globals.h

89 lines
1.8 KiB
C

/*
* Copyright (c) Tony Bybell 1999-2000.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*/
#ifndef WAVE_GLOBALS_H
#define WAVE_GLOBALS_H
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include "alloca.h"
#include "debug.h"
struct globals
{
struct symbol **sym;
struct symbol **facs;
char facs_are_sorted;
int numfacs;
int regions;
int longestname;
struct symbol *firstnode; /* 1st sym in aet */
struct symbol *curnode; /* current loaded sym in aet loader */
char hier_delimeter;
char autocoalesce;
int vcd_explicit_zero_subscripts; /* 0=yes, -1=no */
char convert_to_reals;
char atomic_vectors;
FILE *vcd_handle;
char vcd_is_compressed;
int vcdbyteno; /* really should be size_t, but this is only used for debugging mangled traces */
int header_over;
int dumping_off;
TimeType start_time;
TimeType end_time;
TimeType current_time;
TimeType time_scale; /* multiplier is 1, 10, 100 */
int count_glitches; /* set to 1 if we want to enable glitch code */
int num_glitches;
int num_glitch_regions;
char vcd_hier_delimeter[2]; /* fill in after rc reading code */
struct vcdsymbol *pv, *rootv;
struct slist *slistroot, *slistcurr;
char *slisthier;
int slisthier_len;
int T_MAX_STR; /* was originally a const..now it reallocs */
char *yytext;
int yylen, yylen_cache;
struct vcdsymbol *vcdsymroot, *vcdsymcurr;
struct vcdsymbol **sorted;
int numsyms;
struct HistEnt *he_curr, *he_fini;
char *vcdbuf, *vst, *vend;
char *varsplit, *vsplitcurr;
int var_prevch;
TimeType currenttime, max_time, min_time;
char time_dimension;
};
struct globals *make_vcd_class(void);
#endif