diff --git a/vvp/logic.cc b/vvp/logic.cc index 5ffece35b..585ce8e52 100644 --- a/vvp/logic.cc +++ b/vvp/logic.cc @@ -43,7 +43,7 @@ table_functor_s::table_functor_s(truth_t t) : table(t) { - count_functors_table += 1; + count_functors_logic += 1; } table_functor_s::~table_functor_s() @@ -125,6 +125,7 @@ void vvp_fun_boolean_::recv_vec4_pv(vvp_net_ptr_t ptr, const vvp_vector4_t&bit, vvp_fun_and::vvp_fun_and(unsigned wid, bool invert) : vvp_fun_boolean_(wid), invert_(invert) { + count_functors_logic += 1; } vvp_fun_and::~vvp_fun_and() @@ -160,6 +161,7 @@ void vvp_fun_and::run_run() vvp_fun_eeq::vvp_fun_eeq(unsigned wid, bool invert) : vvp_fun_boolean_(wid), invert_(invert) { + count_functors_logic += 1; } vvp_fun_eeq::~vvp_fun_eeq() @@ -188,7 +190,7 @@ void vvp_fun_eeq::run_run() vvp_fun_buf::vvp_fun_buf() { net_ = 0; - count_functors_table += 1; + count_functors_logic += 1; } vvp_fun_buf::~vvp_fun_buf() @@ -227,7 +229,7 @@ void vvp_fun_buf::run_run() vvp_fun_bufz::vvp_fun_bufz() { - count_functors_table += 1; + count_functors_logic += 1; } vvp_fun_bufz::~vvp_fun_bufz() @@ -257,7 +259,7 @@ void vvp_fun_bufz::recv_real(vvp_net_ptr_t ptr, double bit) vvp_fun_muxr::vvp_fun_muxr() : a_(0.0), b_(0.0) { - count_functors_table += 1; + count_functors_logic += 1; select_ = 2; } @@ -333,7 +335,7 @@ void vvp_fun_muxr::recv_real(vvp_net_ptr_t ptr, double bit) vvp_fun_muxz::vvp_fun_muxz(unsigned wid) : a_(wid), b_(wid) { - count_functors_table += 1; + count_functors_logic += 1; select_ = 2; for (unsigned idx = 0 ; idx < wid ; idx += 1) { a_.set_bit(idx, BIT4_X); @@ -408,7 +410,7 @@ void vvp_fun_muxz::recv_vec4(vvp_net_ptr_t ptr, const vvp_vector4_t&bit) vvp_fun_not::vvp_fun_not() { net_ = 0; - count_functors_table += 1; + count_functors_logic += 1; } vvp_fun_not::~vvp_fun_not() @@ -452,6 +454,7 @@ void vvp_fun_not::run_run() vvp_fun_or::vvp_fun_or(unsigned wid, bool invert) : vvp_fun_boolean_(wid), invert_(invert) { + count_functors_logic += 1; } vvp_fun_or::~vvp_fun_or() @@ -487,6 +490,7 @@ void vvp_fun_or::run_run() vvp_fun_xor::vvp_fun_xor(unsigned wid, bool invert) : vvp_fun_boolean_(wid), invert_(invert) { + count_functors_logic += 1; } vvp_fun_xor::~vvp_fun_xor() diff --git a/vvp/main.cc b/vvp/main.cc index 5bf72a593..cecdd6990 100644 --- a/vvp/main.cc +++ b/vvp/main.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001 Stephen Williams (steve@icarus.com) + * Copyright (c) 2001-2007 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 @@ -16,9 +16,6 @@ * 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: main.cc,v 1.44 2007/02/16 23:30:14 steve Exp $" -#endif # include "config.h" # include "parse_misc.h" @@ -267,10 +264,10 @@ int main(int argc, char*argv[]) if (verbose_flag) { vpi_mcd_printf(1, " ... %8lu functors\n", count_functors); - vpi_mcd_printf(1, " %8lu table\n", count_functors_table); + vpi_mcd_printf(1, " %8lu logic\n", count_functors_logic); vpi_mcd_printf(1, " %8lu bufif\n", count_functors_bufif); vpi_mcd_printf(1, " %8lu resolv\n",count_functors_resolv); - vpi_mcd_printf(1, " %8lu variable\n", count_functors_var); + vpi_mcd_printf(1, " %8lu signals\n", count_functors_sig); vpi_mcd_printf(1, " ... %8lu opcodes (%lu bytes)\n", count_opcodes, (unsigned long)size_opcodes); vpi_mcd_printf(1, " ... %8lu nets\n", count_vpi_nets); @@ -306,89 +303,3 @@ int main(int argc, char*argv[]) return 0; } -/* - * $Log: main.cc,v $ - * Revision 1.44 2007/02/16 23:30:14 steve - * Get page size from sysconf. - * - * Revision 1.43 2006/04/28 15:44:37 steve - * Include math.h with lround implementation. - * - * Revision 1.42 2006/04/28 15:40:30 steve - * lround takes double, not float. - * - * Revision 1.41 2006/04/27 05:04:59 steve - * Detect missing lround function. - * - * Revision 1.40 2005/01/29 06:28:19 steve - * Add the -s flag to start up interactive. - * - * Revision 1.39 2004/10/04 01:10:59 steve - * Clean up spurious trailing white space. - * - * Revision 1.38 2003/06/25 04:04:19 steve - * Fix mingw portability problems. - * - * Revision 1.37 2003/06/13 19:51:08 steve - * Include verbose messages in log output. - * - * Revision 1.36 2003/05/15 16:51:09 steve - * Arrange for mcd id=00_00_00_01 to go to stdout - * as well as a user specified log file, set log - * file to buffer lines. - * - * Add vpi_flush function, and clear up some cunfused - * return codes from other vpi functions. - * - * Adjust $display and vcd/lxt messages to use the - * standard output/log file. - * - * Revision 1.35 2003/03/13 04:36:57 steve - * Remove the obsolete functor delete functions. - * - * Revision 1.34 2003/02/07 02:45:05 steve - * Mke getopt ignore options after the file name. - * - * Revision 1.33 2003/01/18 23:55:35 steve - * Add a means to clear the module search path. - * - * Revision 1.32 2003/01/06 23:57:26 steve - * Schedule wait lists of threads as a single event, - * to save on events. Also, improve efficiency of - * event_s allocation. Add some event statistics to - * get an idea where performance is really going. - * - * Revision 1.31 2002/09/18 03:34:07 steve - * printf size warning. - * - * Revision 1.30 2002/08/12 01:35:08 steve - * conditional ident string using autoconfig. - * - * Revision 1.29 2002/07/15 00:21:42 steve - * Fix initialization of symbol table string heap. - * - * Revision 1.28 2002/07/05 20:08:44 steve - * Count different types of functors. - * - * Revision 1.27 2002/07/05 17:14:15 steve - * Names of vpi objects allocated as vpip_strings. - * - * Revision 1.26 2002/07/05 03:47:06 steve - * Track opcode memory space. - * - * Revision 1.25 2002/07/05 02:50:58 steve - * Remove the vpi object symbol table after compile. - * - * Revision 1.24 2002/04/12 02:44:02 steve - * Formally define extended arguments to vvp. - * - * Revision 1.23 2002/03/01 05:43:14 steve - * Add cleanup to verbose messages. - * - * Revision 1.22 2002/01/09 03:15:23 steve - * Add vpi_get_vlog_info support. - * - * Revision 1.21 2001/10/20 01:03:42 steve - * Print memory usage information if requested (Stephan Boettcher) - */ - diff --git a/vvp/resolv.cc b/vvp/resolv.cc index 5bf36ff28..e375b5c41 100644 --- a/vvp/resolv.cc +++ b/vvp/resolv.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001-2004 Stephen Williams (steve@icarus.com) + * Copyright (c) 2001-2007 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 @@ -16,9 +16,6 @@ * 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: resolv.cc,v 1.26 2005/06/22 18:30:12 steve Exp $" -#endif # include "resolv.h" # include "schedule.h" @@ -31,6 +28,7 @@ resolv_functor::resolv_functor(vvp_scalar_t hiz_value, const char*debug_l) : hiz_(hiz_value), debug_label_(debug_l) { + count_functors_resolv += 1; } resolv_functor::~resolv_functor() @@ -95,9 +93,3 @@ void resolv_functor::recv_vec8(vvp_net_ptr_t port, vvp_vector8_t bit) vvp_send_vec8(ptr->out, out); } - - -/* - * $Log: resolv.cc,v $ - */ - diff --git a/vvp/statistics.cc b/vvp/statistics.cc index 024599f3c..79bb19d24 100644 --- a/vvp/statistics.cc +++ b/vvp/statistics.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002 Stephen Williams (steve@icarus.com) + * Copyright (c) 2002-2007 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 @@ -16,9 +16,6 @@ * 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: statistics.cc,v 1.5 2002/08/12 01:35:08 steve Exp $" -#endif # include "statistics.h" @@ -28,10 +25,10 @@ unsigned long count_opcodes = 0; unsigned long count_functors = 0; -unsigned long count_functors_table = 0; +unsigned long count_functors_logic = 0; unsigned long count_functors_bufif = 0; unsigned long count_functors_resolv= 0; -unsigned long count_functors_var = 0; +unsigned long count_functors_sig = 0; unsigned long count_vpi_nets = 0; @@ -41,23 +38,3 @@ unsigned long count_vpi_scopes = 0; size_t size_opcodes = 0; - -/* - * $Log: statistics.cc,v $ - * Revision 1.5 2002/08/12 01:35:08 steve - * conditional ident string using autoconfig. - * - * Revision 1.4 2002/07/05 20:08:44 steve - * Count different types of functors. - * - * Revision 1.3 2002/07/05 17:14:15 steve - * Names of vpi objects allocated as vpip_strings. - * - * Revision 1.2 2002/07/05 03:46:43 steve - * Track opcode memory space. - * - * Revision 1.1 2002/07/05 02:50:58 steve - * Remove the vpi object symbol table after compile. - * - */ - diff --git a/vvp/statistics.h b/vvp/statistics.h index 848b06699..1bd6e3bee 100644 --- a/vvp/statistics.h +++ b/vvp/statistics.h @@ -1,7 +1,7 @@ #ifndef __statistics_H #define __statistics_H /* - * Copyright (c) 2002 Stephen Williams (steve@icarus.com) + * Copyright (c) 2002-2007 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 @@ -18,40 +18,19 @@ * 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: statistics.h,v 1.5 2002/08/12 01:35:08 steve Exp $" -#endif # include extern unsigned long count_opcodes; extern unsigned long count_functors; -extern unsigned long count_functors_table; +extern unsigned long count_functors_logic; extern unsigned long count_functors_bufif; extern unsigned long count_functors_resolv; -extern unsigned long count_functors_var; +extern unsigned long count_functors_sig; extern unsigned long count_vpi_nets; extern unsigned long count_vpi_scopes; extern unsigned long count_vpi_memories; extern size_t size_opcodes; -/* - * $Log: statistics.h,v $ - * Revision 1.5 2002/08/12 01:35:08 steve - * conditional ident string using autoconfig. - * - * Revision 1.4 2002/07/05 20:08:44 steve - * Count different types of functors. - * - * Revision 1.3 2002/07/05 17:14:15 steve - * Names of vpi objects allocated as vpip_strings. - * - * Revision 1.2 2002/07/05 03:46:43 steve - * Track opcode memory space. - * - * Revision 1.1 2002/07/05 02:50:58 steve - * Remove the vpi object symbol table after compile. - * - */ #endif diff --git a/vvp/vvp_net.cc b/vvp/vvp_net.cc index 595f02443..e1eade218 100644 --- a/vvp/vvp_net.cc +++ b/vvp/vvp_net.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2005 Stephen Williams (steve@icarus.com) + * Copyright (c) 2004-2007 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 @@ -16,11 +16,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ -#ident "$Id: vvp_net.cc,v 1.64 2007/06/12 02:36:58 steve Exp $" # include "config.h" # include "vvp_net.h" # include "schedule.h" +# include "statistics.h" # include # include # include @@ -1406,6 +1406,7 @@ ostream& operator<<(ostream&out, const vvp_vector8_t&that) vvp_net_fun_t::vvp_net_fun_t() { + count_functors += 1; } vvp_net_fun_t::~vvp_net_fun_t() @@ -1477,6 +1478,7 @@ vvp_fun_signal_base::vvp_fun_signal_base() continuous_assign_active_ = false; force_link = 0; cassign_link = 0; + count_functors_sig += 1; } void vvp_fun_signal_base::deassign()