Add the $dumpflush function

This commit is contained in:
steve 2004-02-15 20:46:01 +00:00
parent 0fd5a79760
commit 6f9ebb1e60
3 changed files with 66 additions and 3 deletions

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: sys_lxt.c,v 1.24 2004/01/21 01:22:53 steve Exp $"
#ident "$Id: sys_lxt.c,v 1.25 2004/02/15 20:46:01 steve Exp $"
#endif
# include "sys_priv.h"
@ -467,6 +467,14 @@ static int sys_dumpfile_calltf(char*name)
return 0;
}
/*
* The LXT1 format has no concept of file flushing.
*/
static int sys_dumpflush_calltf(char*name)
{
return 0;
}
static void scan_item(unsigned depth, vpiHandle item, int skip)
{
struct t_cb_data cb;
@ -792,6 +800,14 @@ void sys_lxt_register()
tf_data.user_data = "$dumpfile";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$dumpflush";
tf_data.calltf = sys_dumpflush_calltf;
tf_data.compiletf = 0;
tf_data.sizetf = 0;
tf_data.user_data = "$dumpflush";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$dumpvars";
tf_data.calltf = sys_dumpvars_calltf;
@ -803,6 +819,9 @@ void sys_lxt_register()
/*
* $Log: sys_lxt.c,v $
* Revision 1.25 2004/02/15 20:46:01 steve
* Add the $dumpflush function
*
* Revision 1.24 2004/01/21 01:22:53 steve
* Give the vip directory its own configure and vpi_config.h
*

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: sys_lxt2.c,v 1.6 2004/02/06 18:23:30 steve Exp $"
#ident "$Id: sys_lxt2.c,v 1.7 2004/02/15 20:46:01 steve Exp $"
#endif
# include "sys_priv.h"
@ -472,6 +472,20 @@ static int sys_dumpfile_calltf(char*name)
return 0;
}
/*
* The LXT2 format is a binary format, but a $dumpflush causes what is
* in the binary file at the moment to be consistent with itself so
* that the waveforms can be read by another process. LXT2 normally
* writes checkpoints out, but this makes it happen at a specific
* time.
*/
static int sys_dumpflush_calltf(char*name)
{
if (dump_file) lxt2_wr_flush(dump_file);
return 0;
}
static void scan_item(unsigned depth, vpiHandle item, int skip)
{
struct t_cb_data cb;
@ -806,6 +820,14 @@ void sys_lxt2_register()
tf_data.user_data = "$dumpfile";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$dumpflush";
tf_data.calltf = sys_dumpflush_calltf;
tf_data.compiletf = 0;
tf_data.sizetf = 0;
tf_data.user_data = "$dumpflush";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$dumpvars";
tf_data.calltf = sys_dumpvars_calltf;
@ -817,6 +839,9 @@ void sys_lxt2_register()
/*
* $Log: sys_lxt2.c,v $
* Revision 1.7 2004/02/15 20:46:01 steve
* Add the $dumpflush function
*
* Revision 1.6 2004/02/06 18:23:30 steve
* Add support for lxt2 break size
*

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: sys_vcd.c,v 1.54 2004/02/15 03:17:15 steve Exp $"
#ident "$Id: sys_vcd.c,v 1.55 2004/02/15 20:46:01 steve Exp $"
#endif
# include "sys_priv.h"
@ -450,6 +450,14 @@ static int sys_dumpfile_calltf(char*name)
return 0;
}
static int sys_dumpflush_calltf(char*name)
{
if (dump_file)
fflush(dump_file);
return 0;
}
static void scan_item(unsigned depth, vpiHandle item, int skip)
{
struct t_cb_data cb;
@ -808,6 +816,14 @@ void sys_vcd_register()
tf_data.user_data = "$dumpfile";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$dumpflush";
tf_data.calltf = sys_dumpflush_calltf;
tf_data.compiletf = 0;
tf_data.sizetf = 0;
tf_data.user_data = "$dumpflush";
vpi_register_systf(&tf_data);
tf_data.type = vpiSysTask;
tf_data.tfname = "$dumpvars";
tf_data.calltf = sys_dumpvars_calltf;
@ -819,6 +835,9 @@ void sys_vcd_register()
/*
* $Log: sys_vcd.c,v $
* Revision 1.55 2004/02/15 20:46:01 steve
* Add the $dumpflush function
*
* Revision 1.54 2004/02/15 03:17:15 steve
* dumpfile selects file at compiletf time.
*