Codebase list gtkwave / 760ef74
New upstream version 3.3.104 أحمد المحمودي (Ahmed El-Mahmoudy) 4 years ago
14 changed file(s) with 219 addition(s) and 58 deletion(s). Raw diff Collapse all Expand all
0 GTKWave Wave Viewer is Copyright (C) 1999-2019 Tony Bybell.
1 Windows compatibility and PS/MIF routines are Copyright (C) 1999-2019 Udi Finkelstein.
2 Context support is Copyright (C) 2007-2019 Kermin Elliott Fleming.
3 Trace group support is Copyright (C) 2009-2019 Donald Baltus.
4 GHW and additional GUI support is Copyright (C) 2005-2019 Tristan Gingold.
5 Analog support is Copyright (C) 2005-2019 Thomas Sailer.
6 External DnD support is Copyright (C) 2008-2019 Concept Engineering GmbH.
7 FastLZ is Copyright (C) 2005-2019 Ariya Hidayat.
0 GTKWave Wave Viewer is Copyright (C) 1999-2020 Tony Bybell.
1 Windows compatibility and PS/MIF routines are Copyright (C) 1999-2020 Udi Finkelstein.
2 Context support is Copyright (C) 2007-2020 Kermin Elliott Fleming.
3 Trace group support is Copyright (C) 2009-2020 Donald Baltus.
4 GHW and additional GUI support is Copyright (C) 2005-2020 Tristan Gingold.
5 Analog support is Copyright (C) 2005-2020 Thomas Sailer.
6 External DnD support is Copyright (C) 2008-2020 Concept Engineering GmbH.
7 FastLZ is Copyright (C) 2005-2020 Ariya Hidayat.
88 Some public domain clip art by contributors at http://www.sxc.hu/ website.
99 Hierarchy marker icons from the Silk icons set by Mark James found at the http://www.famfamfam.com/lab/icons/silk/ website.
1010 Portions of the TCL implementation, tcl_np.c and tcl_np.h are copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState Corporation, and other parties.
11 NSAlert is Copyright (C) 2011-2019 Philipp Mayerhofer.
12 LZ4 is Copyright (C) 2011-2019 Yann Collet.
11 NSAlert is Copyright (C) 2011-2020 Philipp Mayerhofer.
12 LZ4 is Copyright (C) 2011-2020 Yann Collet.
17171717 Fix to make the coloration red on 'u' traces. (Bug from
17181718 Dinotrace-like rendering in 3.3.96.)
17191719 Typo fix on missing group start on vectors.
1720 3.3.104 24jan20 Added support for loading .vf files (provided FSDB reader
1721 libraries are enabled).
1722 Added support for dumping variable types in vcd saveer, not
1723 just using "wire" for non-reals/strings.
1724 Fix for uninitialized values at time 0 for FST, FSDB loaders.
00 ##########################################################################
11
2 GTKWave 3.3.103 Wave Viewer is Copyright (C) 1999-2019 Tony Bybell.
3 Portions of GTKWave are Copyright (C) 1999-2019 Udi Finkelstein.
4 Context support is Copyright (C) 2007-2019 Kermin Elliott Fleming.
5 Trace group support is Copyright (C) 2009-2019 Donald Baltus.
6 GHW and additional GUI support is Copyright (C) 2005-2019 Tristan Gingold.
7 Analog support is Copyright (C) 2005-2019 Thomas Sailer.
8 External DnD support is Copyright (C) 2008-2019 Concept Engineering GmbH.
9 FastLZ is Copyright (C) 2005-2019 Ariya Hidayat.
10 LZ4 is Copyright (C) 2011-2019 Yann Collet.
2 GTKWave 3.3.104 Wave Viewer is Copyright (C) 1999-2020 Tony Bybell.
3 Portions of GTKWave are Copyright (C) 1999-2020 Udi Finkelstein.
4 Context support is Copyright (C) 2007-2020 Kermin Elliott Fleming.
5 Trace group support is Copyright (C) 2009-2020 Donald Baltus.
6 GHW and additional GUI support is Copyright (C) 2005-2020 Tristan Gingold.
7 Analog support is Copyright (C) 2005-2020 Thomas Sailer.
8 External DnD support is Copyright (C) 2008-2020 Concept Engineering GmbH.
9 FastLZ is Copyright (C) 2005-2020 Ariya Hidayat.
10 LZ4 is Copyright (C) 2011-2020 Yann Collet.
1111
1212 This program is free software; you can redistribute it and/or modify it
1313 under the terms of the GNU General Public License as published by the Free
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.69 for gtkwave 3.3.103.
2 # Generated by GNU Autoconf 2.69 for gtkwave 3.3.104.
33 #
44 # Report bugs to <bybell@rocketmail.com>.
55 #
579579 # Identity of this package.
580580 PACKAGE_NAME='gtkwave'
581581 PACKAGE_TARNAME='gtkwave'
582 PACKAGE_VERSION='3.3.103'
583 PACKAGE_STRING='gtkwave 3.3.103'
582 PACKAGE_VERSION='3.3.104'
583 PACKAGE_STRING='gtkwave 3.3.104'
584584 PACKAGE_BUGREPORT='bybell@rocketmail.com'
585585 PACKAGE_URL=''
586586
14041404 # Omit some internal or obsolete options to make the list less imposing.
14051405 # This message is too long to be a string in the A/UX 3.1 sh.
14061406 cat <<_ACEOF
1407 \`configure' configures gtkwave 3.3.103 to adapt to many kinds of systems.
1407 \`configure' configures gtkwave 3.3.104 to adapt to many kinds of systems.
14081408
14091409 Usage: $0 [OPTION]... [VAR=VALUE]...
14101410
14701470
14711471 if test -n "$ac_init_help"; then
14721472 case $ac_init_help in
1473 short | recursive ) echo "Configuration of gtkwave 3.3.103:";;
1473 short | recursive ) echo "Configuration of gtkwave 3.3.104:";;
14741474 esac
14751475 cat <<\_ACEOF
14761476
16291629 test -n "$ac_init_help" && exit $ac_status
16301630 if $ac_init_version; then
16311631 cat <<\_ACEOF
1632 gtkwave configure 3.3.103
1632 gtkwave configure 3.3.104
16331633 generated by GNU Autoconf 2.69
16341634
16351635 Copyright (C) 2012 Free Software Foundation, Inc.
22732273 This file contains any messages produced by compilers while
22742274 running configure, to aid debugging if configure makes a mistake.
22752275
2276 It was created by gtkwave $as_me 3.3.103, which was
2276 It was created by gtkwave $as_me 3.3.104, which was
22772277 generated by GNU Autoconf 2.69. Invocation command line was
22782278
22792279 $ $0 $@
31403140
31413141 # Define the identity of the package.
31423142 PACKAGE='gtkwave'
3143 VERSION='3.3.103'
3143 VERSION='3.3.104'
31443144
31453145
31463146 cat >>confdefs.h <<_ACEOF
1149811498 # report actual input values of CONFIG_FILES etc. instead of their
1149911499 # values after options handling.
1150011500 ac_log="
11501 This file was extended by gtkwave $as_me 3.3.103, which was
11501 This file was extended by gtkwave $as_me 3.3.104, which was
1150211502 generated by GNU Autoconf 2.69. Invocation command line was
1150311503
1150411504 CONFIG_FILES = $CONFIG_FILES
1156411564 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1156511565 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1156611566 ac_cs_version="\\
11567 gtkwave config.status 3.3.103
11567 gtkwave config.status 3.3.104
1156811568 configured by $0, generated by GNU Autoconf 2.69,
1156911569 with options \\"\$ac_cs_config\\"
1157011570
11 # Process this file with autoconf to produce a configure script.
22
33 AC_PREREQ(2.59)
4 AC_INIT(gtkwave, 3.3.103, bybell@rocketmail.com)
4 AC_INIT(gtkwave, 3.3.104, bybell@rocketmail.com)
55 AC_CONFIG_SRCDIR([src/vcd.c])
66 AM_INIT_AUTOMAKE
77 AC_CONFIG_HEADER([config.h])
77 <key>CFBundleExecutable</key>
88 <string>gtkwave</string>
99 <key>CFBundleGetInfoString</key>
10 <string>3.3.101, (C) 1999-2019 Tony Bybell http://gtkwave.sourceforge.net</string>
10 <string>3.3.104, (C) 1999-2020 Tony Bybell http://gtkwave.sourceforge.net</string>
1111 <key>CFBundleIconFile</key>
1212 <string>gtkwave.icns</string>
1313 <key>CFBundleIdentifier</key>
1717 <key>CFBundlePackageType</key>
1818 <string>APPL</string>
1919 <key>CFBundleShortVersionString</key>
20 <string>3.3.101</string>
20 <string>3.3.104</string>
2121 <key>CFBundleSignature</key>
2222 <string>????</string>
2323 <key>CFBundleVersion</key>
24 <string>3.3.101</string>
24 <string>3.3.104</string>
2525 <key>NSHumanReadableCopyright</key>
26 <string>Copyright 1999 - 2019 Tony Bybell, GNU General Public License.</string>
26 <string>Copyright 1999 - 2020 Tony Bybell, GNU General Public License.</string>
2727 <key>LSMinimumSystemVersion</key>
2828 <string>10.6</string>
2929
21702170 */
21712171 void import_extload_trace(nptr np)
21722172 {
2173 struct HistEnt *htemp, *histent_tail;
2173 struct HistEnt *htemp, *htempx=NULL, *histent_tail;
21742174 int len, i;
21752175 struct fac *f;
21762176 int txidx, txidx_in_trace;
23582358 htemp->v.h_val = AN_X; /* x */
23592359 }
23602360 }
2361 htempx = htemp;
23612362 htemp->time = MAX_HISTENT_TIME-1;
23622363 htemp->next = histent_tail;
23632364
24012402 {
24022403 if(len>1)
24032404 {
2404 htemp2->v.h_vector = htemp->v.h_vector;
2405 htemp2->v.h_vector = htempx->v.h_vector;
24052406 }
24062407 else
24072408 {
2408 htemp2->v.h_val = htemp->v.h_val;
2409 htemp2->v.h_val = htempx->v.h_val;
24092410 }
24102411 }
24112412 htemp2->next = htemp;
16631663 else
16641664 {
16651665 htemp->v.h_val = AN_X; /* x */
1666 htempx = htemp;
16661667 }
16671668 htemp->time = MAX_HISTENT_TIME-1;
16681669 htemp->next = histent_tail;
17041705 }
17051706 else
17061707 {
1707 htemp2->v.h_val = htemp->v.h_val;
1708 htemp2->v.h_val = htempx->v.h_val;
17081709 }
17091710 htemp2->next = htemp;
17101711 htemp = htemp2;
19201921 else
19211922 {
19221923 htemp->v.h_val = AN_X; /* x */
1924 htempx = htemp;
19231925 }
19241926 htemp->time = MAX_HISTENT_TIME-1;
19251927 htemp->next = histent_tail;
19611963 }
19621964 else
19631965 {
1964 htemp2->v.h_val = htemp->v.h_val;
1966 htemp2->v.h_val = htempx->v.h_val;
19651967 }
19661968 htemp2->next = htemp;
19671969 htemp = htemp2;
2525 /* 12345678901234567 */
2626 #define WAVE_GCONF_DIR_LEN (17)
2727
28 int wave_rpc_id;
28 extern int wave_rpc_id;
2929
3030 void wave_gconf_init(int argc, char **argv);
3131 gboolean wave_gconf_client_set_string(const gchar *key, const gchar *val);
3636 *
3737 */
3838
39 #include <config.h>
39 #ifndef FST_CONFIG_INCLUDE
40 # define FST_CONFIG_INCLUDE <config.h>
41 #endif
42 #include FST_CONFIG_INCLUDE
4043
4144 #include "fstapi.h"
4245 #include "fastlz.h"
126129 #if defined(__APPLE__) && defined(__MACH__)
127130 #define FST_MACOSX
128131 #include <sys/sysctl.h>
132 #endif
133
134 #ifdef __GNUC__
135 /* Boolean expression more often true than false */
136 #define FST_LIKELY(x) __builtin_expect(!!(x), 1)
137 /* Boolean expression more often false than true */
138 #define FST_UNLIKELY(x) __builtin_expect(!!(x), 0)
139 #else
140 #define FST_LIKELY(x) (!!(x))
141 #define FST_UNLIKELY(x) (!!(x))
129142 #endif
130143
131144 #define FST_APIMESS "FSTAPI | "
722735
723736 uint32_t *valpos_mem;
724737 unsigned char *curval_mem;
738
739 unsigned char *outval_mem; /* for two-state / Verilator-style value changes */
740 uint32_t outval_alloc_siz;
725741
726742 char *filename;
727743
19121928 xc->skip_writing_section_hdr = 1;
19131929 if(!xc->size_limit_locked)
19141930 {
1915 if(xc->is_initial_time) /* simulation time never advanced so mock up the changes as time zero ones */
1931 if(FST_UNLIKELY(xc->is_initial_time)) /* simulation time never advanced so mock up the changes as time zero ones */
19161932 {
19171933 fstHandle dupe_idx;
19181934
19301946 }
19311947 }
19321948 fstDestroyMmaps(xc, 1);
1949 if(xc->outval_mem)
1950 {
1951 free(xc->outval_mem); xc->outval_mem = NULL;
1952 xc->outval_alloc_siz = 0;
1953 }
19331954
19341955 /* write out geom section */
19351956 fflush(xc->geom_handle);
28742895 uint32_t offs;
28752896 int len;
28762897
2877 if((xc) && (handle <= xc->maxhandle))
2898 if(FST_LIKELY((xc) && (handle <= xc->maxhandle)))
28782899 {
28792900 uint32_t fpos;
28802901 uint32_t *vm4ip;
28812902
2882 if(!xc->valpos_mem)
2903 if(FST_UNLIKELY(!xc->valpos_mem))
28832904 {
28842905 xc->vc_emitted = 1;
28852906 fstWriterCreateMmaps(xc);
28892910 vm4ip = &(xc->valpos_mem[4*handle]);
28902911
28912912 len = vm4ip[1];
2892 if(len) /* len of zero = variable length, use fstWriterEmitVariableLengthValueChange */
2893 {
2894 if(!xc->is_initial_time)
2913 if(FST_LIKELY(len)) /* len of zero = variable length, use fstWriterEmitVariableLengthValueChange */
2914 {
2915 if(FST_LIKELY(!xc->is_initial_time))
28952916 {
28962917 fpos = xc->vchg_siz;
28972918
2898 if((fpos + len + 10) > xc->vchg_alloc_siz)
2919 if(FST_UNLIKELY((fpos + len + 10) > xc->vchg_alloc_siz))
28992920 {
29002921 xc->vchg_alloc_siz += (xc->fst_break_add_size + len); /* +len added in the case of extremely long vectors and small break add sizes */
29012922 xc->vchg_mem = (unsigned char *)realloc(xc->vchg_mem, xc->vchg_alloc_siz);
2902 if(!xc->vchg_mem)
2923 if(FST_UNLIKELY(!xc->vchg_mem))
29032924 {
29042925 fprintf(stderr, FST_APIMESS "Could not realloc() in fstWriterEmitValueChange, exiting.\n");
29052926 exit(255);
29843005 }
29853006 }
29863007
3008 void fstWriterEmitValueChange32(void *ctx, fstHandle handle,
3009 uint32_t bits, uint32_t val) {
3010 char buf[32];
3011 char *s = buf;
3012 uint32_t i;
3013 for (i = 0; i < bits; ++i)
3014 {
3015 *s++ = '0' + ((val >> (bits - i - 1)) & 1);
3016 }
3017 fstWriterEmitValueChange(ctx, handle, buf);
3018 }
3019 void fstWriterEmitValueChange64(void *ctx, fstHandle handle,
3020 uint32_t bits, uint64_t val) {
3021 char buf[64];
3022 char *s = buf;
3023 uint32_t i;
3024 for (i = 0; i < bits; ++i)
3025 {
3026 *s++ = '0' + ((val >> (bits - i - 1)) & 1);
3027 }
3028 fstWriterEmitValueChange(ctx, handle, buf);
3029 }
3030 void fstWriterEmitValueChangeVec32(void *ctx, fstHandle handle,
3031 uint32_t bits, const uint32_t *val) {
3032 struct fstWriterContext *xc = (struct fstWriterContext *)ctx;
3033 if (FST_UNLIKELY(bits <= 32))
3034 {
3035 fstWriterEmitValueChange32(ctx, handle, bits, val[0]);
3036 }
3037 else if(FST_LIKELY(xc))
3038 {
3039 int bq = bits / 32;
3040 int br = bits & 31;
3041 int i;
3042 int w;
3043 uint32_t v;
3044 unsigned char* s;
3045 if (FST_UNLIKELY(bits > xc->outval_alloc_siz))
3046 {
3047 xc->outval_alloc_siz = bits*2 + 1;
3048 xc->outval_mem = (unsigned char*)realloc(xc->outval_mem, xc->outval_alloc_siz);
3049 if (FST_UNLIKELY(!xc->outval_mem))
3050 {
3051 fprintf(stderr,
3052 FST_APIMESS "Could not realloc() in fstWriterEmitValueChangeVec32, exiting.\n");
3053 exit(255);
3054 }
3055 }
3056 s = xc->outval_mem;
3057 {
3058 w = bq;
3059 v = val[w];
3060 for (i = 0; i < br; ++i)
3061 {
3062 *s++ = '0' + ((v >> (br - i - 1)) & 1);
3063 }
3064 }
3065 for (w = bq - 1; w >= 0; --w)
3066 {
3067 v = val[w];
3068 for (i = (32 - 4); i >= 0; i -= 4) {
3069 s[0] = '0' + ((v >> (i + 3)) & 1);
3070 s[1] = '0' + ((v >> (i + 2)) & 1);
3071 s[2] = '0' + ((v >> (i + 1)) & 1);
3072 s[3] = '0' + ((v >> (i + 0)) & 1);
3073 s += 4;
3074 }
3075 }
3076 fstWriterEmitValueChange(ctx, handle, xc->outval_mem);
3077 }
3078 }
3079 void fstWriterEmitValueChangeVec64(void *ctx, fstHandle handle,
3080 uint32_t bits, const uint64_t *val) {
3081 struct fstWriterContext *xc = (struct fstWriterContext *)ctx;
3082 if (FST_UNLIKELY(bits <= 64))
3083 {
3084 fstWriterEmitValueChange64(ctx, handle, bits, val[0]);
3085 }
3086 else if(FST_LIKELY(xc))
3087 {
3088 int bq = bits / 64;
3089 int br = bits & 63;
3090 int i;
3091 int w;
3092 uint32_t v;
3093 unsigned char* s;
3094 if (FST_UNLIKELY(bits > xc->outval_alloc_siz))
3095 {
3096 xc->outval_alloc_siz = bits*2 + 1;
3097 xc->outval_mem = (unsigned char*)realloc(xc->outval_mem, xc->outval_alloc_siz);
3098 if (FST_UNLIKELY(!xc->outval_mem))
3099 {
3100 fprintf(stderr,
3101 FST_APIMESS "Could not realloc() in fstWriterEmitValueChangeVec64, exiting.\n");
3102 exit(255);
3103 }
3104 }
3105 s = xc->outval_mem;
3106 {
3107 w = bq;
3108 v = val[w];
3109 for (i = 0; i < br; ++i)
3110 {
3111 *s++ = '0' + ((v >> (br - i - 1)) & 1);
3112 }
3113 }
3114 for (w = bq - 1; w >= 0; --w) {
3115 v = val[w];
3116 for (i = (64 - 4); i >= 0; i -= 4)
3117 {
3118 s[0] = '0' + ((v >> (i + 3)) & 1);
3119 s[1] = '0' + ((v >> (i + 2)) & 1);
3120 s[2] = '0' + ((v >> (i + 1)) & 1);
3121 s[3] = '0' + ((v >> (i + 0)) & 1);
3122 s += 4;
3123 }
3124 }
3125 fstWriterEmitValueChange(ctx, handle, xc->outval_mem);
3126 }
3127 }
3128
29873129
29883130 void fstWriterEmitVariableLengthValueChange(void *ctx, fstHandle handle, const void *val, uint32_t len)
29893131 {
29903132 struct fstWriterContext *xc = (struct fstWriterContext *)ctx;
29913133 const unsigned char *buf = (const unsigned char *)val;
29923134
2993 if((xc) && (handle <= xc->maxhandle))
3135 if(FST_LIKELY((xc) && (handle <= xc->maxhandle)))
29943136 {
29953137 uint32_t fpos;
29963138 uint32_t *vm4ip;
29973139
2998 if(!xc->valpos_mem)
3140 if(FST_UNLIKELY(!xc->valpos_mem))
29993141 {
30003142 xc->vc_emitted = 1;
30013143 fstWriterCreateMmaps(xc);
30053147 vm4ip = &(xc->valpos_mem[4*handle]);
30063148
30073149 /* there is no initial time dump for variable length value changes */
3008 if(!vm4ip[1]) /* len of zero = variable length */
3150 if(FST_LIKELY(!vm4ip[1])) /* len of zero = variable length */
30093151 {
30103152 fpos = xc->vchg_siz;
30113153
3012 if((fpos + len + 10 + 5) > xc->vchg_alloc_siz)
3154 if(FST_UNLIKELY((fpos + len + 10 + 5) > xc->vchg_alloc_siz))
30133155 {
30143156 xc->vchg_alloc_siz += (xc->fst_break_add_size + len + 5); /* +len added in the case of extremely long vectors and small break add sizes */
30153157 xc->vchg_mem = (unsigned char *)realloc(xc->vchg_mem, xc->vchg_alloc_siz);
3016 if(!xc->vchg_mem)
3158 if(FST_UNLIKELY(!xc->vchg_mem))
30173159 {
30183160 fprintf(stderr, FST_APIMESS "Could not realloc() in fstWriterEmitVariableLengthValueChange, exiting.\n");
30193161 exit(255);
30353177 int skip = 0;
30363178 if(xc)
30373179 {
3038 if(xc->is_initial_time)
3180 if(FST_UNLIKELY(xc->is_initial_time))
30393181 {
30403182 if(xc->size_limit_locked) /* this resets xc->is_initial_time to one */
30413183 {
354354 void fstWriterEmitDumpActive(void *ctx, int enable);
355355 void fstWriterEmitEnumTableRef(void *ctx, fstEnumHandle handle);
356356 void fstWriterEmitValueChange(void *ctx, fstHandle handle, const void *val);
357 void fstWriterEmitValueChange32(void *ctx, fstHandle handle,
358 uint32_t bits, uint32_t val);
359 void fstWriterEmitValueChange64(void *ctx, fstHandle handle,
360 uint32_t bits, uint64_t val);
361 void fstWriterEmitValueChangeVec32(void *ctx, fstHandle handle,
362 uint32_t bits, const uint32_t *val);
363 void fstWriterEmitValueChangeVec64(void *ctx, fstHandle handle,
364 uint32_t bits, const uint64_t *val);
357365 void fstWriterEmitVariableLengthValueChange(void *ctx, fstHandle handle, const void *val, uint32_t len);
358366 void fstWriterEmitTimeChange(void *ctx, uint64_t tim);
359367 void fstWriterFlushContext(void *ctx);
14661466 #if defined(EXTLOAD_SUFFIX)
14671467 if(
14681468 (suffix_check(GLOBALS->loaded_file_name, "."EXTLOAD_SUFFIX ) && !opt_vcd) ||
1469 (suffix_check(GLOBALS->loaded_file_name, ".vf" ) && !opt_vcd) || /* virtual file */
14691470 (suffix_check(GLOBALS->loaded_file_name, "."EXTLOAD_SUFFIX".gz" ) && !opt_vcd) || /* loader automatically does gzip -cd */
14701471 (suffix_check(GLOBALS->loaded_file_name, "."EXTLOAD_SUFFIX".bz2") && !opt_vcd) /* loader automatically does bzip2 -cd */
14711472 )
1313 #include "ghw.h"
1414 #include "hierpack.h"
1515 #include <time.h>
16
17 WAVE_NODEVARTYPE_STR
1618
1719 static void w32redirect_fprintf(int is_trans, FILE *sfd, const char *format, ...)
1820 {
607609 }
608610 else
609611 {
610 w32redirect_fprintf(is_trans, GLOBALS->f_vcd_saver_c_1, "$var wire 1 %s %s $end\n", vcdid(GLOBALS->hp_vcd_saver_c_1[i]->val, export_typ), netname);
612 w32redirect_fprintf(is_trans, GLOBALS->f_vcd_saver_c_1, "$var %s 1 %s %s $end\n", vartype_strings[GLOBALS->hp_vcd_saver_c_1[i]->item->vartype], vcdid(GLOBALS->hp_vcd_saver_c_1[i]->val, export_typ), netname);
611613 }
612614 }
613615 else
619621 }
620622 else
621623 {
622 w32redirect_fprintf(is_trans, GLOBALS->f_vcd_saver_c_1, "$var wire %d %s %s $end\n", len, vcdid(GLOBALS->hp_vcd_saver_c_1[i]->val, export_typ), netname);
624 w32redirect_fprintf(is_trans, GLOBALS->f_vcd_saver_c_1, "$var %s %d %s %s $end\n", vartype_strings[GLOBALS->hp_vcd_saver_c_1[i]->item->vartype], len, vcdid(GLOBALS->hp_vcd_saver_c_1[i]->val, export_typ), netname);
623625 }
624626 GLOBALS->hp_vcd_saver_c_1[i]->len = len;
625627 if(len > max_len) max_len = len;
99 #ifndef WAVE_VERSION_H
1010 #define WAVE_VERSION_H
1111
12 #define WAVE_VERSION_INFO "GTKWave Analyzer v" PACKAGE_VERSION " (w)1999-2019 BSI"
12 #define WAVE_VERSION_INFO "GTKWave Analyzer v" PACKAGE_VERSION " (w)1999-2020 BSI"
1313
1414 #endif