Eliminate use of vpiInternalScope.

This commit is contained in:
steve 2002-07-12 02:08:10 +00:00
parent b7aaf51fbd
commit 2354a90e9f
1 changed files with 25 additions and 9 deletions

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
#if !defined(WINNT) && !defined(macintosh) #if !defined(WINNT) && !defined(macintosh)
#ident "$Id: sys_vcd.c,v 1.30 2002/06/21 04:59:36 steve Exp $" #ident "$Id: sys_vcd.c,v 1.31 2002/07/12 02:08:10 steve Exp $"
#endif #endif
# include "config.h" # include "config.h"
@ -531,6 +531,21 @@ static void scan_item(unsigned depth, vpiHandle item, int skip)
const char* ident; const char* ident;
int nexus_id; int nexus_id;
/* list of types to iterate upon */
int i, types[] = {
/* Scope */
vpiFunction,
vpiModule,
vpiNamedBegin,
vpiNamedFork,
vpiTask,
/* Value */
vpiNet,
vpiReg,
vpiIntegerVar,
-1
};
switch (vpi_get(vpiType, item)) { switch (vpi_get(vpiType, item)) {
case vpiMemory: case vpiMemory:
@ -623,13 +638,11 @@ static void scan_item(unsigned depth, vpiHandle item, int skip)
fprintf(dump_file, "$scope %s %s $end\n", type, name); fprintf(dump_file, "$scope %s %s $end\n", type, name);
argv = vpi_iterate(vpiInternalScope, item); for (i=0; types[i]>0; i++) {
if (argv) { vpiHandle hand;
for (item = vpi_scan(argv) ; argv = vpi_iterate(types[i], item);
item ; while (argv && (hand = vpi_scan(argv))) {
item = vpi_scan(argv)) { scan_item(depth-1, hand, nskip);
scan_item(depth-1, item, nskip);
} }
} }
@ -786,6 +799,9 @@ void sys_vcd_register()
/* /*
* $Log: sys_vcd.c,v $ * $Log: sys_vcd.c,v $
* Revision 1.31 2002/07/12 02:08:10 steve
* Eliminate use of vpiInternalScope.
*
* Revision 1.30 2002/06/21 04:59:36 steve * Revision 1.30 2002/06/21 04:59:36 steve
* Carry integerness throughout the compilation. * Carry integerness throughout the compilation.
* *