allow runtime selection of VCD vs LXT.
This commit is contained in:
parent
c98c24b9ff
commit
ac4fbb3e41
|
|
@ -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.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue