add dumpvars_compiletf to check first argument.
This commit is contained in:
parent
c0046e845e
commit
dd564ab321
|
|
@ -17,10 +17,11 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CVS_IDENT
|
#ifdef HAVE_CVS_IDENT
|
||||||
#ident "$Id: sys_lxt.c,v 1.10 2002/08/12 01:35:04 steve Exp $"
|
#ident "$Id: sys_lxt.c,v 1.11 2002/08/15 02:12:20 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
# include "sys_priv.h"
|
||||||
# include "lxt_write.h"
|
# include "lxt_write.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -805,7 +806,7 @@ void sys_lxt_register()
|
||||||
tf_data.type = vpiSysTask;
|
tf_data.type = vpiSysTask;
|
||||||
tf_data.tfname = "$dumpvars";
|
tf_data.tfname = "$dumpvars";
|
||||||
tf_data.calltf = sys_dumpvars_calltf;
|
tf_data.calltf = sys_dumpvars_calltf;
|
||||||
tf_data.compiletf = 0;
|
tf_data.compiletf = sys_vcd_dumpvars_compiletf;
|
||||||
tf_data.sizetf = 0;
|
tf_data.sizetf = 0;
|
||||||
tf_data.user_data = "$dumpvars";
|
tf_data.user_data = "$dumpvars";
|
||||||
vpi_register_systf(&tf_data);
|
vpi_register_systf(&tf_data);
|
||||||
|
|
@ -813,6 +814,9 @@ void sys_lxt_register()
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: sys_lxt.c,v $
|
* $Log: sys_lxt.c,v $
|
||||||
|
* Revision 1.11 2002/08/15 02:12:20 steve
|
||||||
|
* add dumpvars_compiletf to check first argument.
|
||||||
|
*
|
||||||
* Revision 1.10 2002/08/12 01:35:04 steve
|
* Revision 1.10 2002/08/12 01:35:04 steve
|
||||||
* conditional ident string using autoconfig.
|
* conditional ident string using autoconfig.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
#ifndef __vpi_sys_priv_H
|
||||||
|
#define __vpi_sys_priv_H
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2002 Stephen Williams (steve@icarus.com)
|
||||||
|
*
|
||||||
|
* This source code is free software; you can redistribute it
|
||||||
|
* and/or modify it in source code form 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.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
*/
|
||||||
|
#ifdef HAVE_CVS_IDENT
|
||||||
|
#ident "$Id: sys_priv.h,v 1.1 2002/08/15 02:12:20 steve Exp $"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This function is used by sys_vcd and sys_lxt as the dumpvars
|
||||||
|
* compiletf function.
|
||||||
|
*/
|
||||||
|
extern int sys_vcd_dumpvars_compiletf(char*name);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* $Log: sys_priv.h,v $
|
||||||
|
* Revision 1.1 2002/08/15 02:12:20 steve
|
||||||
|
* add dumpvars_compiletf to check first argument.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#endif
|
||||||
|
|
@ -17,10 +17,11 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CVS_IDENT
|
#ifdef HAVE_CVS_IDENT
|
||||||
#ident "$Id: sys_vcd.c,v 1.36 2002/08/12 01:35:05 steve Exp $"
|
#ident "$Id: sys_vcd.c,v 1.37 2002/08/15 02:12:20 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
|
# include "sys_priv.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This file contains the implementations of the VCD related
|
* This file contains the implementations of the VCD related
|
||||||
|
|
@ -685,6 +686,48 @@ static int draw_scope(vpiHandle item)
|
||||||
return depth;
|
return depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This function is also used in sys_lxt to check the arguments of the
|
||||||
|
* lxt variant of $dumpvars.
|
||||||
|
*/
|
||||||
|
int sys_vcd_dumpvars_compiletf(char*name)
|
||||||
|
{
|
||||||
|
vpiHandle sys = vpi_handle(vpiSysTfCall, 0);
|
||||||
|
vpiHandle argv = vpi_iterate(vpiArgument, sys);
|
||||||
|
vpiHandle tmp;
|
||||||
|
|
||||||
|
if (argv == 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
tmp = vpi_scan(argv);
|
||||||
|
assert(tmp);
|
||||||
|
|
||||||
|
switch (vpi_get(vpiType, tmp)) {
|
||||||
|
case vpiConstant:
|
||||||
|
if (vpi_get(vpiConstType, tmp) == vpiStringConst) {
|
||||||
|
vpi_printf("ERROR: %s argument must be "
|
||||||
|
"a number constant.\n", name);
|
||||||
|
vpi_control(vpiFinish, 1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case vpiNet:
|
||||||
|
case vpiReg:
|
||||||
|
case vpiIntegerVar:
|
||||||
|
case vpiMemoryWord:
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
vpi_printf("ERROR: %s argument must be "
|
||||||
|
"a number constant.\n", name);
|
||||||
|
vpi_control(vpiFinish, 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
vpi_free_object(argv);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int sys_dumpvars_calltf(char*name)
|
static int sys_dumpvars_calltf(char*name)
|
||||||
{
|
{
|
||||||
unsigned depth;
|
unsigned depth;
|
||||||
|
|
@ -793,7 +836,7 @@ void sys_vcd_register()
|
||||||
tf_data.type = vpiSysTask;
|
tf_data.type = vpiSysTask;
|
||||||
tf_data.tfname = "$dumpvars";
|
tf_data.tfname = "$dumpvars";
|
||||||
tf_data.calltf = sys_dumpvars_calltf;
|
tf_data.calltf = sys_dumpvars_calltf;
|
||||||
tf_data.compiletf = 0;
|
tf_data.compiletf = sys_vcd_dumpvars_compiletf;
|
||||||
tf_data.sizetf = 0;
|
tf_data.sizetf = 0;
|
||||||
tf_data.user_data = "$dumpvars";
|
tf_data.user_data = "$dumpvars";
|
||||||
vpi_register_systf(&tf_data);
|
vpi_register_systf(&tf_data);
|
||||||
|
|
@ -801,6 +844,9 @@ void sys_vcd_register()
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: sys_vcd.c,v $
|
* $Log: sys_vcd.c,v $
|
||||||
|
* Revision 1.37 2002/08/15 02:12:20 steve
|
||||||
|
* add dumpvars_compiletf to check first argument.
|
||||||
|
*
|
||||||
* Revision 1.36 2002/08/12 01:35:05 steve
|
* Revision 1.36 2002/08/12 01:35:05 steve
|
||||||
* conditional ident string using autoconfig.
|
* conditional ident string using autoconfig.
|
||||||
*
|
*
|
||||||
|
|
@ -871,49 +917,5 @@ void sys_vcd_register()
|
||||||
*
|
*
|
||||||
* Revision 1.14 2001/01/01 08:10:35 steve
|
* Revision 1.14 2001/01/01 08:10:35 steve
|
||||||
* Handle function scopes in dumpvars scn (PR#95)
|
* Handle function scopes in dumpvars scn (PR#95)
|
||||||
*
|
|
||||||
* Revision 1.13 2000/11/01 06:05:44 steve
|
|
||||||
* VCD scans tasks (PR#35)
|
|
||||||
*
|
|
||||||
* Revision 1.12 2000/07/31 03:34:31 steve
|
|
||||||
* Report error when dumpfile is missing.
|
|
||||||
*
|
|
||||||
* Revision 1.11 2000/07/26 04:07:59 steve
|
|
||||||
* Get VCD timescale from design precision.
|
|
||||||
*
|
|
||||||
* Revision 1.10 2000/06/03 02:22:15 steve
|
|
||||||
* Interpret the depth paramter of dumpvars.
|
|
||||||
*
|
|
||||||
* Revision 1.9 2000/04/09 04:18:16 steve
|
|
||||||
* Catch duplicate $dumpvars of symbols (ajb)
|
|
||||||
*
|
|
||||||
* Revision 1.8 2000/04/08 05:28:39 steve
|
|
||||||
* Revamped VCD id generation and duplicates removal. (ajb)
|
|
||||||
*
|
|
||||||
* Revision 1.8 2000/04/06 21:00:00 ajb
|
|
||||||
* Revamped VCD id generation and duplicates removal.
|
|
||||||
*
|
|
||||||
* Revision 1.7 2000/02/23 02:56:56 steve
|
|
||||||
* Macintosh compilers do not support ident.
|
|
||||||
*
|
|
||||||
* Revision 1.6 2000/02/17 06:04:30 steve
|
|
||||||
* Fix overlap of identifiers when multiple modules used.
|
|
||||||
*
|
|
||||||
* Revision 1.5 2000/01/23 23:54:36 steve
|
|
||||||
* Compile time problems with vpi_user.h
|
|
||||||
*
|
|
||||||
* Revision 1.4 2000/01/20 06:04:55 steve
|
|
||||||
* $dumpall checkpointing in VCD dump.
|
|
||||||
*
|
|
||||||
* Revision 1.3 2000/01/13 04:48:50 steve
|
|
||||||
* Catch some parameter problems.
|
|
||||||
*
|
|
||||||
* Revision 1.2 1999/11/28 00:56:08 steve
|
|
||||||
* Build up the lists in the scope of a module,
|
|
||||||
* and get $dumpvars to scan the scope for items.
|
|
||||||
*
|
|
||||||
* Revision 1.1 1999/11/07 20:33:30 steve
|
|
||||||
* Add VCD output and related system tasks.
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue