allow runtime selection of VCD vs LXT.

This commit is contained in:
steve 2002-04-06 21:33:29 +00:00
parent c98c24b9ff
commit ac4fbb3e41
2 changed files with 58 additions and 15 deletions

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
#ident "$Id: sys_lxt.c,v 1.2 2002/04/06 20:25:45 steve Exp $"
#ident "$Id: sys_lxt.c,v 1.3 2002/04/06 21:33:29 steve Exp $"
#endif
# include "config.h"
@ -730,48 +730,51 @@ void sys_lxt_register()
s_vpi_systf_data tf_data;
tf_data.type = vpiSysTask;
tf_data.tfname = "$lxtdumpall";
tf_data.tfname = "$dumpall";
tf_data.calltf = sys_dumpall_calltf;
tf_data.compiletf = 0;
tf_data.sizetf = 0;
tf_data.user_data = "$lxtdumpall";
tf_data.user_data = "$dumpall";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$lxtdumpoff";
tf_data.tfname = "$dumpoff";
tf_data.calltf = sys_dumpoff_calltf;
tf_data.compiletf = 0;
tf_data.sizetf = 0;
tf_data.user_data = "$lxtdumpoff";
tf_data.user_data = "$dumpoff";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$lxtdumpon";
tf_data.tfname = "$dumpon";
tf_data.calltf = sys_dumpon_calltf;
tf_data.compiletf = 0;
tf_data.sizetf = 0;
tf_data.user_data = "$lxtdumpon";
tf_data.user_data = "$dumpon";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$lxtdumpfile";
tf_data.tfname = "$dumpfile";
tf_data.calltf = sys_dumpfile_calltf;
tf_data.compiletf = 0;
tf_data.sizetf = 0;
tf_data.user_data = "$lxtdumpfile";
tf_data.user_data = "$dumpfile";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$lxtdumpvars";
tf_data.tfname = "$dumpvars";
tf_data.calltf = sys_dumpvars_calltf;
tf_data.compiletf = 0;
tf_data.sizetf = 0;
tf_data.user_data = "$lxtdumpvars";
tf_data.user_data = "$dumpvars";
vpi_register_systf(&tf_data);
}
/*
* $Log: sys_lxt.c,v $
* Revision 1.3 2002/04/06 21:33:29 steve
* allow runtime selection of VCD vs LXT.
*
* Revision 1.2 2002/04/06 20:25:45 steve
* cbValueChange automatically replays.
*

View File

@ -17,11 +17,14 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
#ident "$Id: sys_table.c,v 1.14 2002/03/09 21:54:49 steve Exp $"
#ident "$Id: sys_table.c,v 1.15 2002/04/06 21:33:29 steve Exp $"
#endif
# include "config.h"
#include "vpi_user.h"
# include "vpi_user.h"
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
extern void sys_finish_register();
extern void sys_deposit_register();
@ -32,6 +35,41 @@ extern void sys_time_register();
extern void sys_vcd_register();
extern void sys_lxt_register();
static void sys_lxt_or_vcd_register()
{
char*dumper;
/* Get the dumper of choice from the IVERILOG_DUMPER
environment variable. */
dumper = getenv("IVERILOG_DUMPER");
if (dumper) {
char*cp = strchr(dumper,'=');
if (cp != 0)
dumper = cp + 1;
} else {
dumper = "vcd";
}
if (strcmp(dumper, "vcd") == 0)
sys_vcd_register();
else if (strcmp(dumper, "VCD") == 0)
sys_vcd_register();
else if (strcmp(dumper, "lxt") == 0)
sys_lxt_register();
else if (strcmp(dumper, "LXT") == 0)
sys_lxt_register();
else {
fprintf(stderr, "system.vpi: Unknown dumper format: %s\n",
dumper);
sys_vcd_register();
}
}
void (*vlog_startup_routines[])() = {
sys_finish_register,
sys_deposit_register,
@ -39,14 +77,16 @@ void (*vlog_startup_routines[])() = {
sys_random_register,
sys_readmem_register,
sys_time_register,
sys_vcd_register,
sys_lxt_register,
sys_lxt_or_vcd_register,
0
};
/*
* $Log: sys_table.c,v $
* Revision 1.15 2002/04/06 21:33:29 steve
* allow runtime selection of VCD vs LXT.
*
* Revision 1.14 2002/03/09 21:54:49 steve
* Add LXT dumper support. (Anthony Bybell)
*