diff --git a/Attrib.cc b/Attrib.cc index 543768d2b..ee93d1814 100644 --- a/Attrib.cc +++ b/Attrib.cc @@ -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: Attrib.cc,v 1.6 2004/02/20 18:53:33 steve Exp $" -#endif # include "config.h" @@ -102,37 +99,3 @@ const verinum& Attrib::attr_value(unsigned idx) const assert(idx < nlist_); return list_[idx].val; } - - -/* - * $Log: Attrib.cc,v $ - * Revision 1.6 2004/02/20 18:53:33 steve - * Addtrbute keys are perm_strings. - * - * Revision 1.5 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.4 2002/05/26 01:39:02 steve - * Carry Verilog 2001 attributes with processes, - * all the way through to the ivl_target API. - * - * Divide signal reference counts between rval - * and lval references. - * - * Revision 1.3 2002/05/23 03:08:50 steve - * Add language support for Verilog-2001 attribute - * syntax. Hook this support into existing $attribute - * handling, and add number and void value types. - * - * Add to the ivl_target API new functions for access - * of complex attributes attached to gates. - * - * Revision 1.2 2001/07/25 03:10:48 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.1 2000/12/04 17:37:03 steve - * Add Attrib class for holding NetObj attributes. - * - */ - diff --git a/Attrib.h b/Attrib.h index cdec41378..67e65372b 100644 --- a/Attrib.h +++ b/Attrib.h @@ -18,9 +18,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: Attrib.h,v 1.5 2004/02/20 18:53:33 steve Exp $" -#endif # include "StringHeap.h" # include "verinum.h" @@ -60,31 +57,4 @@ class Attrib { Attrib& operator= (const Attrib&); }; -/* - * $Log: Attrib.h,v $ - * Revision 1.5 2004/02/20 18:53:33 steve - * Addtrbute keys are perm_strings. - * - * Revision 1.4 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.3 2002/05/26 01:39:02 steve - * Carry Verilog 2001 attributes with processes, - * all the way through to the ivl_target API. - * - * Divide signal reference counts between rval - * and lval references. - * - * Revision 1.2 2002/05/23 03:08:50 steve - * Add language support for Verilog-2001 attribute - * syntax. Hook this support into existing $attribute - * handling, and add number and void value types. - * - * Add to the ivl_target API new functions for access - * of complex attributes attached to gates. - * - * Revision 1.1 2000/12/04 17:37:03 steve - * Add Attrib class for holding NetObj attributes. - * - */ #endif diff --git a/HName.cc b/HName.cc index c0db77008..f1194aaf2 100644 --- a/HName.cc +++ b/HName.cc @@ -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: HName.cc,v 1.8 2007/06/02 03:42:12 steve Exp $" -#endif # include "config.h" # include "HName.h" @@ -120,33 +117,3 @@ ostream& operator<< (ostream&out, const hname_t&that) return out; } -/* - * $Log: HName.cc,v $ - * Revision 1.8 2007/06/02 03:42:12 steve - * Properly evaluate scope path expressions. - * - * Revision 1.7 2007/05/16 19:12:33 steve - * Fix hname_t use of space for 1 perm_string. - * - * Revision 1.6 2007/04/26 03:06:21 steve - * Rework hname_t to use perm_strings. - * - * Revision 1.5 2002/11/02 03:27:52 steve - * Allow named events to be referenced by - * hierarchical names. - * - * Revision 1.4 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.3 2002/01/05 04:36:06 steve - * include malloc.h only when available. - * - * Revision 1.2 2001/12/18 04:52:45 steve - * Include config.h for namespace declaration. - * - * Revision 1.1 2001/12/03 04:47:14 steve - * Parser and pform use hierarchical names as hname_t - * objects instead of encoded strings. - * - */ - diff --git a/PDelays.h b/PDelays.h index 644c4bd02..d9dffb703 100644 --- a/PDelays.h +++ b/PDelays.h @@ -18,9 +18,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: PDelays.h,v 1.9 2006/01/03 05:22:14 steve Exp $" -#endif # include "svector.h" # include @@ -72,34 +69,4 @@ class PDelays { ostream& operator << (ostream&o, const PDelays&); -/* - * $Log: PDelays.h,v $ - * Revision 1.9 2006/01/03 05:22:14 steve - * Handle complex net node delays. - * - * Revision 1.8 2006/01/02 05:33:19 steve - * Node delays can be more general expressions in structural contexts. - * - * Revision 1.7 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.6 2002/06/14 03:25:51 steve - * Compiler portability. - * - * Revision 1.5 2001/12/29 20:19:31 steve - * Do not delete delay expressions of UDP instances. - * - * Revision 1.4 2001/11/22 06:20:59 steve - * Use NetScope instead of string for scope path. - * - * Revision 1.3 2001/01/16 02:44:17 steve - * Use the iosfwd header if available. - * - * Revision 1.2 2000/02/23 02:56:53 steve - * Macintosh compilers do not support ident. - * - * Revision 1.1 1999/09/04 19:11:46 steve - * Add support for delayed non-blocking assignments. - * - */ #endif diff --git a/PEvent.cc b/PEvent.cc index fac553fa9..9334f00a6 100644 --- a/PEvent.cc +++ b/PEvent.cc @@ -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: PEvent.cc,v 1.5 2004/02/19 06:57:10 steve Exp $" -#endif # include "config.h" @@ -38,26 +35,3 @@ perm_string PEvent::name() const return name_; } -/* - * $Log: PEvent.cc,v $ - * Revision 1.5 2004/02/19 06:57:10 steve - * Memory and Event names use perm_string. - * - * Revision 1.4 2003/03/01 06:25:30 steve - * Add the lex_strings string handler, and put - * scope names and system task/function names - * into this table. Also, permallocate event - * names from the beginning. - * - * Revision 1.3 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.2 2001/07/25 03:10:48 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.1 2000/04/01 19:31:57 steve - * Named events as far as the pform. - * - */ - diff --git a/PEvent.h b/PEvent.h index 71a1b6616..5cf4f5af9 100644 --- a/PEvent.h +++ b/PEvent.h @@ -18,9 +18,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: PEvent.h,v 1.9 2004/02/19 06:57:10 steve Exp $" -#endif # include "LineInfo.h" # include "StringHeap.h" @@ -54,38 +51,4 @@ class PEvent : public LineInfo { PEvent& operator= (const PEvent&); }; -/* - * $Log: PEvent.h,v $ - * Revision 1.9 2004/02/19 06:57:10 steve - * Memory and Event names use perm_string. - * - * Revision 1.8 2003/03/01 06:25:30 steve - * Add the lex_strings string handler, and put - * scope names and system task/function names - * into this table. Also, permallocate event - * names from the beginning. - * - * Revision 1.7 2003/01/30 16:23:07 steve - * Spelling fixes. - * - * Revision 1.6 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.5 2001/12/03 04:47:14 steve - * Parser and pform use hierarchical names as hname_t - * objects instead of encoded strings. - * - * Revision 1.4 2001/01/16 02:44:18 steve - * Use the iosfwd header if available. - * - * Revision 1.3 2000/04/09 17:44:30 steve - * Catch event declarations during scope elaborate. - * - * Revision 1.2 2000/04/04 03:20:15 steve - * Simulate named event trigger and waits. - * - * Revision 1.1 2000/04/01 19:31:57 steve - * Named events as far as the pform. - * - */ #endif diff --git a/PGenerate.cc b/PGenerate.cc index 360344df8..539eeba12 100644 --- a/PGenerate.cc +++ b/PGenerate.cc @@ -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: PGenerate.cc,v 1.4 2007/06/02 03:42:12 steve Exp $" -#endif # include "PGenerate.h" # include "PWire.h" diff --git a/PSpec.cc b/PSpec.cc index 3d4464504..976c533e7 100644 --- a/PSpec.cc +++ b/PSpec.cc @@ -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: PSpec.cc,v 1.2 2007/02/12 01:52:21 steve Exp $" -#endif # include "PSpec.h" diff --git a/PSpec.h b/PSpec.h index ce8f8d3a7..dd75c33a0 100644 --- a/PSpec.h +++ b/PSpec.h @@ -18,9 +18,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: PSpec.h,v 1.3 2007/04/13 02:34:35 steve Exp $" -#endif # include "LineInfo.h" # include "StringHeap.h" diff --git a/PUdp.cc b/PUdp.cc index 18c6f1969..55a72c5e0 100644 --- a/PUdp.cc +++ b/PUdp.cc @@ -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: PUdp.cc,v 1.3 2004/03/08 00:47:44 steve Exp $" -#endif # include "PUdp.h" @@ -38,16 +35,3 @@ unsigned PUdp::find_port(const char*name) return ports.count(); } -/* - * $Log: PUdp.cc,v $ - * Revision 1.3 2004/03/08 00:47:44 steve - * primitive ports can bind bi name. - * - * Revision 1.2 2004/02/18 17:11:54 steve - * Use perm_strings for named langiage items. - * - * Revision 1.1 2003/07/15 05:07:13 steve - * Move PUdp constructor into compiled file. - * - */ - diff --git a/PUdp.h b/PUdp.h index ea623d62b..a0fbfdfe2 100644 --- a/PUdp.h +++ b/PUdp.h @@ -18,9 +18,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: PUdp.h,v 1.12 2004/03/08 00:47:44 steve Exp $" -#endif # include # include "StringHeap.h" @@ -78,53 +75,4 @@ class PUdp { PUdp& operator= (const PUdp&); }; -/* - * $Log: PUdp.h,v $ - * Revision 1.12 2004/03/08 00:47:44 steve - * primitive ports can bind bi name. - * - * Revision 1.11 2004/02/18 17:11:54 steve - * Use perm_strings for named langiage items. - * - * Revision 1.10 2003/07/15 05:07:13 steve - * Move PUdp constructor into compiled file. - * - * Revision 1.9 2003/07/15 03:49:22 steve - * Spelling fixes. - * - * Revision 1.8 2003/01/30 16:23:07 steve - * Spelling fixes. - * - * Revision 1.7 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.6 2002/05/23 03:08:51 steve - * Add language support for Verilog-2001 attribute - * syntax. Hook this support into existing $attribute - * handling, and add number and void value types. - * - * Add to the ivl_target API new functions for access - * of complex attributes attached to gates. - * - * Revision 1.5 2001/04/22 23:09:45 steve - * More UDP consolidation from Stephan Boettcher. - * - * Revision 1.4 2000/02/23 02:56:53 steve - * Macintosh compilers do not support ident. - * - * Revision 1.3 1999/06/15 03:44:53 steve - * Get rid of the STL vector template. - * - * Revision 1.2 1998/12/01 00:42:13 steve - * Elaborate UDP devices, - * Support UDP type attributes, and - * pass those attributes to nodes that - * are instantiated by elaboration, - * Put modules into a map instead of - * a simple list. - * - * Revision 1.1 1998/11/25 02:35:53 steve - * Parse UDP primitives all the way to pform. - * - */ #endif diff --git a/StringHeap.cc b/StringHeap.cc index 9bc244d2c..dc2909e69 100644 --- a/StringHeap.cc +++ b/StringHeap.cc @@ -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: StringHeap.cc,v 1.6 2004/02/18 17:11:54 steve Exp $" -#endif # include "StringHeap.h" #ifdef HAVE_MALLOC_H @@ -179,28 +176,3 @@ bool operator < (perm_string a, perm_string b) return false; } -/* - * $Log: StringHeap.cc,v $ - * Revision 1.6 2004/02/18 17:11:54 steve - * Use perm_strings for named langiage items. - * - * Revision 1.5 2003/03/01 06:25:30 steve - * Add the lex_strings string handler, and put - * scope names and system task/function names - * into this table. Also, permallocate event - * names from the beginning. - * - * Revision 1.4 2003/01/27 05:09:17 steve - * Spelling fixes. - * - * Revision 1.3 2003/01/16 21:44:46 steve - * Keep some debugging status. - * - * Revision 1.2 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.1 2002/08/04 19:13:16 steve - * dll uses StringHeap for named items. - * - */ - diff --git a/StringHeap.h b/StringHeap.h index 0948c12a5..a8d76ed7d 100644 --- a/StringHeap.h +++ b/StringHeap.h @@ -18,9 +18,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: StringHeap.h,v 1.6 2005/06/14 19:13:43 steve Exp $" -#endif # include "config.h" # include @@ -120,28 +117,4 @@ class StringHeapLex : private StringHeap { StringHeapLex& operator= (const StringHeapLex&); }; -/* - * $Log: StringHeap.h,v $ - * Revision 1.6 2005/06/14 19:13:43 steve - * gcc3/4 compile errors. - * - * Revision 1.5 2004/02/18 17:11:54 steve - * Use perm_strings for named langiage items. - * - * Revision 1.4 2003/03/01 06:25:30 steve - * Add the lex_strings string handler, and put - * scope names and system task/function names - * into this table. Also, permallocate event - * names from the beginning. - * - * Revision 1.3 2003/01/16 21:44:46 steve - * Keep some debugging status. - * - * Revision 1.2 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.1 2002/08/04 19:13:16 steve - * dll uses StringHeap for named items. - * - */ #endif diff --git a/_pli_types.h.in b/_pli_types.h.in index 4de089f20..c64828c12 100644 --- a/_pli_types.h.in +++ b/_pli_types.h.in @@ -18,9 +18,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: _pli_types.h.in,v 1.8 2007/06/05 21:32:30 steve Exp $" -#endif # undef HAVE_INTTYPES_H @@ -88,42 +85,4 @@ typedef char PLI_BYTE8; typedef unsigned char PLI_UBYTE8; #endif -/* - * $Log: _pli_types.h.in,v $ - * Revision 1.8 2007/06/05 21:32:30 steve - * More standard PLI_BYTE8. - * - * Revision 1.7 2003/11/12 02:38:44 steve - * Clean up manual definitions of PLI_UINT64_FMT. - * - * Revision 1.6 2003/11/08 20:06:21 steve - * Spelling fixes in comments. - * - * Revision 1.5 2003/10/29 03:28:27 steve - * Add the PLU_UINT64_FMT string for formatting output. - * - * Revision 1.4 2003/10/29 03:23:12 steve - * Portably handle time format of VCD prints. - * - * Revision 1.3 2003/10/02 21:30:06 steve - * Use configured TIME_FMT in vcd dump printf. - * - * Revision 1.2 2003/10/02 19:33:44 steve - * Put libraries in libdir64. - * - * Revision 1.1 2003/09/30 01:33:13 steve - * Add PLI_UINT64 to _pli_types.h. - * - * Revision 1.2 2003/05/26 04:39:16 steve - * Typo type name. - * - * Revision 1.1 2003/02/17 06:39:47 steve - * Add at least minimal implementations for several - * acc_ functions. Add support for standard ACC - * string handling. - * - * Add the _pli_types.h header file to carry the - * IEEE1364-2001 standard PLI type declarations. - * - */ #endif diff --git a/acc_user.h b/acc_user.h index 204baa3ab..0b2bd7a97 100644 --- a/acc_user.h +++ b/acc_user.h @@ -18,9 +18,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: acc_user.h,v 1.20 2003/12/17 15:45:07 steve Exp $" -#endif /* * This header file contains the definitions and declarations needed @@ -273,82 +270,4 @@ extern char* acc_version(void); EXTERN_C_END -/* - * $Log: acc_user.h,v $ - * Revision 1.20 2003/12/17 15:45:07 steve - * Add acc_set_scope function. - * - * Revision 1.19 2003/10/10 02:57:45 steve - * Some PLI1 stubs. - * - * Revision 1.18 2003/06/13 19:23:41 steve - * Add a bunch more PLI1 routines. - * - * Revision 1.17 2003/06/04 01:56:20 steve - * 1) Adds configure logic to clean up compiler warnings - * 2) adds acc_compare_handle, acc_fetch_range, acc_next_scope and - * tf_isetrealdelay, acc_handle_scope - * 3) makes acc_next reentrant - * 4) adds basic vpiWire type support - * 5) fills in some acc_object_of_type() and acc_fetch_{full}type() - * 6) add vpiLeftRange/RigthRange to signals - * - * Revision 1.16 2003/05/30 04:18:31 steve - * Add acc_next function. - * - * Revision 1.15 2003/05/29 02:35:41 steve - * acc_fetch_type supports module. - * - * Revision 1.14 2003/05/29 02:21:45 steve - * Implement acc_fetch_defname and its infrastructure in vvp. - * - * Revision 1.13 2003/05/24 03:02:04 steve - * Add implementation of acc_handle_by_name. - * - * Revision 1.12 2003/05/18 00:16:35 steve - * Add PLI_TRACE tracing of PLI1 modules. - * - * Add tf_isetdelay and friends, and add - * callback return values for acc_vcl support. - * - * Revision 1.11 2003/04/24 18:57:05 steve - * Add acc_fetch_fulltype function. - * - * Revision 1.10 2003/04/20 02:48:39 steve - * Support value change callbacks. - * - * Revision 1.9 2003/04/12 18:57:13 steve - * More acc_ function stubs. - * - * Revision 1.8 2003/03/13 04:35:09 steve - * Add a bunch of new acc_ and tf_ functions. - * - * Revision 1.7 2003/02/17 06:39:47 steve - * Add at least minimal implementations for several - * acc_ functions. Add support for standard ACC - * string handling. - * - * Add the _pli_types.h header file to carry the - * IEEE1364-2001 standard PLI type declarations. - * - * Revision 1.6 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.5 2002/06/11 15:19:12 steve - * Add acc_fetch_argc/argv/version (mruff) - * - * Revision 1.4 2002/06/07 02:58:58 steve - * Add a bunch of acc/tf functions. (mruff) - * - * Revision 1.3 2002/06/02 19:03:29 steve - * Add acc_handle_tfarg and acc_next_topmode - * - * Revision 1.2 2002/05/30 02:06:05 steve - * Implement acc_product_version. - * - * Revision 1.1 2002/05/23 03:46:42 steve - * Add the acc_user.h header file. - * - */ - #endif diff --git a/cadpli/ivl_dlfcn.h b/cadpli/ivl_dlfcn.h index 59d4bd9fb..46043e5c3 100644 --- a/cadpli/ivl_dlfcn.h +++ b/cadpli/ivl_dlfcn.h @@ -18,9 +18,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: ivl_dlfcn.h,v 1.3 2004/10/04 01:10:56 steve Exp $" -#endif #if defined(__MINGW32__) # include @@ -94,20 +91,4 @@ static __inline__ const char*dlerror(void) { return strerror( errno ); } #endif -/* - * $Log: ivl_dlfcn.h,v $ - * Revision 1.3 2004/10/04 01:10:56 steve - * Clean up spurious trailing white space. - * - * Revision 1.2 2003/12/12 05:43:08 steve - * Some systems dlsym requires leading _ or not on whim. - * - * Revision 1.1 2003/02/17 00:01:25 steve - * Use a variant of ivl_dlfcn to do dynamic loading - * from within the cadpli module. - * - * Change the +cadpli flag to -cadpli, to keep the - * plusargs namespace clear. - * - */ #endif diff --git a/config.h.in b/config.h.in index 091c1e3c4..7ba02b763 100644 --- a/config.h.in +++ b/config.h.in @@ -18,9 +18,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: config.h.in,v 1.12 2007/02/02 04:33:00 steve Exp $" -#endif #if defined(__cplusplus) # if !defined(__GNUC__) @@ -53,44 +50,4 @@ # include #endif -/* - * $Log: config.h.in,v $ - * Revision 1.12 2007/02/02 04:33:00 steve - * Use inttypes.h instead of stdint.h for portability. - * - * Revision 1.11 2004/10/04 01:10:52 steve - * Clean up spurious trailing white space. - * - * Revision 1.10 2003/08/26 16:26:01 steve - * ifdef idents correctly. - * - * Revision 1.9 2003/07/03 16:29:55 steve - * spemm WORDS_BIGENDIAN correctly. - * - * Revision 1.8 2003/03/07 02:44:33 steve - * Implement $realtobits. - * - * Revision 1.7 2003/02/20 00:49:24 steve - * detect -lz and -lbz2 libraries. - * - * Revision 1.6 2003/01/10 19:01:04 steve - * Only use libiberty.h if available. - * - * Revision 1.5 2002/08/11 23:39:33 steve - * Remove VVM option. - * - * Revision 1.4 2002/02/16 03:18:53 steve - * Make vvm optional, normally off. - * - * Revision 1.3 2001/10/18 16:16:23 steve - * Include HAVE_SYS_WAIT in config.h (PR#306) - * - * Revision 1.2 2001/09/15 18:27:04 steve - * Make configure detect malloc.h - * - * Revision 1.1 2001/07/25 03:10:48 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - */ #endif /* __config_H */ diff --git a/driver/globals.h b/driver/globals.h index ec6e193b8..0cc16728b 100644 --- a/driver/globals.h +++ b/driver/globals.h @@ -18,9 +18,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: globals.h,v 1.21 2007/04/19 02:52:53 steve Exp $" -#endif # include @@ -78,36 +75,4 @@ extern char warning_flags[]; extern char* library_flags; extern char* library_flags2; -/* - * $Log: globals.h,v $ - * Revision 1.21 2007/04/19 02:52:53 steve - * Add support for -v flag in command file. - * - * Revision 1.20 2007/03/07 04:24:59 steve - * Make integer width controllable. - * - * Revision 1.19 2003/11/18 06:31:46 steve - * Remove the iverilog.conf file. - * - * Revision 1.18 2003/11/13 04:09:49 steve - * Pass flags through the temporary config file. - * - * Revision 1.17 2003/11/01 04:21:57 steve - * Add support for a target static config file. - * - * Revision 1.16 2002/08/12 01:35:01 steve - * conditional ident string using autoconfig. - * - * Revision 1.15 2002/06/23 20:10:51 steve - * Variable substitution in command files. - * - * Revision 1.14 2002/05/28 20:40:37 steve - * ivl indexes the search path for libraries, and - * supports case insensitive module-to-file lookup. - * - * Revision 1.13 2002/05/28 00:50:40 steve - * Add the ivl -C flag for bulk configuration - * from the driver, and use that to run library - * modules through the preprocessor. - */ #endif diff --git a/driver/main.c b/driver/main.c index 3b049f278..f6cb3ab09 100644 --- a/driver/main.c +++ b/driver/main.c @@ -262,17 +262,24 @@ static const char*my_tempfile(const char*str, FILE**fout) static int t_version_only(void) { + int rc; remove(source_path); free(source_path); fflush(0); snprintf(tmp, sizeof tmp, "%s%civlpp -V", pbase, sep); - system(tmp); + rc = system(tmp); + if (rc != 0) { + fprintf(stderr, "Unable to get version from \"%s\"\n", tmp); + } fflush(0); snprintf(tmp, sizeof tmp, "%s%civl -V -C%s -C%s", pbase, sep, iconfig_path, iconfig_common_path); - system(tmp); + rc = system(tmp); + if (rc != 0) { + fprintf(stderr, "Unable to get version from \"%s\"\n", tmp); + } if ( ! getenv("IVERILOG_ICONFIG")) { remove(iconfig_path); diff --git a/elab_anet.cc b/elab_anet.cc index 7323c7ee3..7dedae83e 100644 --- a/elab_anet.cc +++ b/elab_anet.cc @@ -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: elab_anet.cc,v 1.13 2007/03/22 16:08:14 steve Exp $" -#endif # include "config.h" @@ -167,47 +164,3 @@ NetNet* PEIdent::elaborate_anet(Design*des, NetScope*scope) const return sig; } -/* - * $Log: elab_anet.cc,v $ - * Revision 1.13 2007/03/22 16:08:14 steve - * Spelling fixes from Larry - * - * Revision 1.12 2006/05/01 20:47:58 steve - * More explicit datatype setup. - * - * Revision 1.11 2005/07/11 16:56:50 steve - * Remove NetVariable and ivl_variable_t structures. - * - * Revision 1.10 2004/10/04 01:10:52 steve - * Clean up spurious trailing white space. - * - * Revision 1.9 2003/09/19 03:50:12 steve - * Remove find_memory method from Design class. - * - * Revision 1.8 2003/06/21 01:21:43 steve - * Harmless fixup of warnings. - * - * Revision 1.7 2003/03/06 00:28:41 steve - * All NetObj objects have lex_string base names. - * - * Revision 1.6 2003/01/27 05:09:17 steve - * Spelling fixes. - * - * Revision 1.5 2002/08/12 01:34:58 steve - * conditional ident string using autoconfig. - * - * Revision 1.4 2001/12/03 04:47:14 steve - * Parser and pform use hierarchical names as hname_t - * objects instead of encoded strings. - * - * Revision 1.3 2001/07/25 03:10:48 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.2 2001/01/06 02:29:36 steve - * Support arrays of integers. - * - * Revision 1.1 2000/12/06 06:31:09 steve - * Check lvalue of procedural continuous assign (PR#29) - * - */ diff --git a/elab_expr.cc b/elab_expr.cc index 8cb1b164f..39360ab30 100644 --- a/elab_expr.cc +++ b/elab_expr.cc @@ -2526,16 +2526,26 @@ NetExpr* PEIdent::elaborate_expr_net_idx_up_(Design*des, NetScope*scope, // well. In this case it can be converted to a conventional // part select. if (NetEConst*base_c = dynamic_cast (base)) { - long lsv = base_c->value().as_long(); + NetExpr*ex; + if (base_c->value().is_defined()) { + long lsv = base_c->value().as_long(); - // If the part select covers exactly the entire - // vector, then do not bother with it. Return the - // signal itself. - if (net->sig()->sb_to_idx(lsv) == 0 && wid == net->vector_width()) - return net; + // If the part select covers exactly the entire + // vector, then do not bother with it. Return the + // signal itself. + if (net->sig()->sb_to_idx(lsv) == 0 && + wid == net->vector_width()) { + delete base; + return net; + } - // Otherwise, make a part select that covers the right range. - NetExpr*ex = new NetEConst(verinum(net->sig()->sb_to_idx(lsv))); + // Otherwise, make a part select that covers the right + // range. + ex = new NetEConst(verinum(net->sig()->sb_to_idx(lsv))); + } else { + // Return 'bx for an undefined base. + ex = new NetEConst(verinum(verinum::Vx, 1, false)); + } NetESelect*ss = new NetESelect(net, ex, wid); ss->set_line(*this); @@ -2569,14 +2579,7 @@ NetExpr* PEIdent::elaborate_expr_net_idx_up_(Design*des, NetScope*scope, NetExpr* PEIdent::elaborate_expr_net_idx_do_(Design*des, NetScope*scope, NetESignal*net, NetScope*found_in)const { - const name_component_t&name_tail = path_.back(); - ivl_assert(*this, ! name_tail.index.empty()); - - const index_component_t&index_tail = name_tail.index.back(); - ivl_assert(*this, index_tail.lsb != 0); - ivl_assert(*this, index_tail.msb != 0); - - NetExpr*base = elab_and_eval(des, scope, index_tail.msb, -1); + NetExpr*base = calculate_up_do_base_(des, scope); unsigned long wid = 0; calculate_up_do_width_(des, scope, wid); @@ -2585,17 +2588,26 @@ NetExpr* PEIdent::elaborate_expr_net_idx_do_(Design*des, NetScope*scope, // well. In this case it can be converted to a conventional // part select. if (NetEConst*base_c = dynamic_cast (base)) { - long lsv = base_c->value().as_long(); + NetExpr*ex; + if (base_c->value().is_defined()) { + long lsv = base_c->value().as_long(); - // If the part select covers exactly the entire - // vector, then do not bother with it. Return the - // signal itself. - if (net->sig()->sb_to_idx(lsv) == (signed) (wid-1) && - wid == net->vector_width()) - return net; + // If the part select covers exactly the entire + // vector, then do not bother with it. Return the + // signal itself. + if (net->sig()->sb_to_idx(lsv) == (signed) (wid-1) && + wid == net->vector_width()) { + delete base; + return net; + } - // Otherwise, make a part select that covers the right range. - NetExpr*ex = new NetEConst(verinum(net->sig()->sb_to_idx(lsv)-wid+1)); + // Otherwise, make a part select that covers the right + // range. + ex = new NetEConst(verinum(net->sig()->sb_to_idx(lsv)-wid+1)); + } else { + // Return 'bx for an undefined base. + ex = new NetEConst(verinum(verinum::Vx, 1, false)); + } NetESelect*ss = new NetESelect(net, ex, wid); ss->set_line(*this); diff --git a/elaborate.cc b/elaborate.cc index 010a43e05..61a2a6ef9 100644 --- a/elaborate.cc +++ b/elaborate.cc @@ -285,7 +285,8 @@ unsigned PGBuiltin::calculate_output_count_(void) const switch (type()) { case BUF: case NOT: - output_count = pin_count() - 1; + if (pin_count() > 2) output_count = pin_count() - 1; + else output_count = 1; break; case PULLDOWN: case PULLUP: @@ -319,8 +320,14 @@ NetNode* PGBuiltin::create_gate_for_output_(Design*des, NetScope*scope, break; case BUF: - gate = new NetLogic(scope, gate_name, 2, - NetLogic::BUF, instance_width); + if (pin_count() < 2) { + cerr << get_fileline() << ": error: the BUF " + "primitive must have an input." << endl; + des->errors += 1; + } else { + gate = new NetLogic(scope, gate_name, 2, + NetLogic::BUF, instance_width); + } break; case BUFIF0: @@ -390,8 +397,14 @@ NetNode* PGBuiltin::create_gate_for_output_(Design*des, NetScope*scope, break; case NOT: - gate = new NetLogic(scope, gate_name, 2, - NetLogic::NOT, instance_width); + if (pin_count() < 2) { + cerr << get_fileline() << ": error: the NOT " + "primitive must have an input." << endl; + des->errors += 1; + } else { + gate = new NetLogic(scope, gate_name, 2, + NetLogic::NOT, instance_width); + } break; case NOTIF0: @@ -2215,6 +2228,7 @@ NetProc* PCase::elaborate(Design*des, NetScope*scope) const { assert(scope); + probe_expr_width(des, scope, expr_); NetExpr*expr = elab_and_eval(des, scope, expr_, -1); if (expr == 0) { cerr << get_fileline() << ": error: Unable to elaborate this case" @@ -2267,6 +2281,7 @@ NetProc* PCase::elaborate(Design*des, NetScope*scope) const NetExpr*gu = 0; NetProc*st = 0; assert(cur->expr[e]); + probe_expr_width(des, scope, cur->expr[e]); gu = elab_and_eval(des, scope, cur->expr[e], -1); if (cur->stat) @@ -2543,14 +2558,15 @@ NetProc* PCallTask::elaborate_usr(Design*des, NetScope*scope) const NetAssign_*lv = new NetAssign_(port); unsigned wid = count_lval_width(lv); + ivl_variable_type_t lv_type = lv->expr_type(); - ivl_variable_type_t tmp_type = IVL_VT_NO_TYPE; - bool flag = false; - parms_[idx]->test_width(des, scope, 0, wid, tmp_type, flag); + NetExpr*rv = elaborate_rval_expr(des, scope, lv_type, wid, parms_[idx]); + if (wid > rv->expr_width()) { + rv->set_width(wid); + rv = pad_to_width(rv, wid, *this); + } + ivl_assert(*this, rv->expr_width() >= wid); - NetExpr*rv = elab_and_eval(des, scope, parms_[idx], wid); - rv->set_width(wid); - rv = pad_to_width(rv, wid, *this); NetAssign*pr = new NetAssign(lv, rv); block->append(pr); } diff --git a/eval_attrib.cc b/eval_attrib.cc index ecb717230..c0c7cc23d 100644 --- a/eval_attrib.cc +++ b/eval_attrib.cc @@ -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: eval_attrib.cc,v 1.9 2007/06/04 19:14:06 steve Exp $" -#endif # include "config.h" # include "util.h" @@ -76,38 +73,3 @@ attrib_list_t* evaluate_attributes(const map&att, return table; } -/* - * $Log: eval_attrib.cc,v $ - * Revision 1.9 2007/06/04 19:14:06 steve - * Build errors in picky GCC compilers. - * - * Revision 1.8 2005/11/27 17:01:57 steve - * Fix for stubborn compiler. - * - * Revision 1.7 2004/02/20 18:53:35 steve - * Addtrbute keys are perm_strings. - * - * Revision 1.6 2003/01/27 05:09:17 steve - * Spelling fixes. - * - * Revision 1.5 2002/08/12 01:34:59 steve - * conditional ident string using autoconfig. - * - * Revision 1.4 2002/08/10 21:59:39 steve - * The default attribute value is 1. - * - * Revision 1.3 2002/06/06 18:57:18 steve - * Use standard name for iostream. - * - * Revision 1.2 2002/06/03 03:55:14 steve - * compile warnings. - * - * Revision 1.1 2002/05/23 03:08:51 steve - * Add language support for Verilog-2001 attribute - * syntax. Hook this support into existing $attribute - * handling, and add number and void value types. - * - * Add to the ivl_target API new functions for access - * of complex attributes attached to gates. - * - */ diff --git a/expr_synth.cc b/expr_synth.cc index 89fd2d2b8..3ac8ce9f0 100644 --- a/expr_synth.cc +++ b/expr_synth.cc @@ -974,31 +974,49 @@ NetNet* NetESelect::synthesize(Design *des, NetScope*scope) // it is constant. In this case we can generate fixed part selects. if (NetEConst*base_const = dynamic_cast(base_)) { verinum base_tmp = base_const->value(); - ivl_assert(*this, base_tmp.is_defined()); + unsigned select_width = expr_width(); + + // Return 'bx for a constant undefined selections. + if (!base_tmp.is_defined()) { + NetNet*result = make_const_x(des, scope, select_width); + result->set_line(*this); + return result; + } long base_val = base_tmp.as_long(); - unsigned select_width = expr_width(); // Any below X bits? NetNet*below = 0; if (base_val < 0) { unsigned below_width = abs(base_val); base_val = 0; - ivl_assert(*this, below_width < select_width); - select_width -= below_width; + if (below_width > select_width) { + below_width = select_width; + select_width = 0; + } else { + select_width -= below_width; + } below = make_const_x(des, scope, below_width); below->set_line(*this); + // All the selected bits are below the signal. + if (select_width == 0) return below; } // Any above bits? NetNet*above = 0; if ((unsigned)base_val+select_width > sub->vector_width()) { - select_width = sub->vector_width() - base_val; + if (base_val > (long)sub->vector_width()) { + select_width = 0; + } else { + select_width = sub->vector_width() - base_val; + } unsigned above_width = expr_width() - select_width; above = make_const_x(des, scope, above_width); above->set_line(*this); + // All the selected bits are above the signal. + if (select_width == 0) return above; } // Make the make part select. diff --git a/ivl.def b/ivl.def index 764976cd1..0d0153d75 100644 --- a/ivl.def +++ b/ivl.def @@ -37,12 +37,14 @@ ivl_event_scope ivl_expr_type ivl_expr_bits +ivl_expr_branch ivl_expr_def ivl_expr_dvalue ivl_expr_event ivl_expr_file ivl_expr_lineno ivl_expr_name +ivl_expr_nature ivl_expr_opcode ivl_expr_oper1 ivl_expr_oper2 diff --git a/ivl_assert.h b/ivl_assert.h index 32d05dd06..c32683d0f 100644 --- a/ivl_assert.h +++ b/ivl_assert.h @@ -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: ivl_assert.h,v 1.1 2007/01/31 04:21:10 steve Exp $" -#endif #ifndef __ivl_assert_h #define __ivl_assert_h diff --git a/ivlpp/lexor.lex b/ivlpp/lexor.lex index d0a086e2e..58f0f9c82 100644 --- a/ivlpp/lexor.lex +++ b/ivlpp/lexor.lex @@ -1463,12 +1463,7 @@ static void do_include() else { *cp = '\0'; - - /* We do not need a strdup here since the path is read before - * it is overridden. If the search order is changed add a - * strdup here and a free below. - */ - include_dir[0] = path; + include_dir[0] = strdup(path); } for (idx = start ; idx < include_cnt ; idx += 1) @@ -1491,6 +1486,7 @@ static void do_include() code_that_switches_buffers: /* Clear the current files path from the search list. */ + free(include_dir[0]); include_dir[0] = 0; if(depend_file) diff --git a/lexor_keyword.h b/lexor_keyword.h index 269b427e0..8e7f05a79 100644 --- a/lexor_keyword.h +++ b/lexor_keyword.h @@ -18,19 +18,7 @@ * 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: lexor_keyword.h,v 1.2 2002/08/12 01:34:59 steve Exp $" -#endif extern int lexor_keyword_code (const char*str, unsigned len); -/* - * $Log: lexor_keyword.h,v $ - * Revision 1.2 2002/08/12 01:34:59 steve - * conditional ident string using autoconfig. - * - * Revision 1.1 2000/03/12 17:09:41 steve - * Support localparam. - * - */ #endif diff --git a/libveriuser/config.h.in b/libveriuser/config.h.in index d8fbc6a12..4d3b3e825 100644 --- a/libveriuser/config.h.in +++ b/libveriuser/config.h.in @@ -18,9 +18,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: config.h.in,v 1.2 2003/08/26 16:26:02 steve Exp $" -#endif # define SIZEOF_UNSIGNED_LONG_LONG 0 # define SIZEOF_UNSIGNED_LONG 0 @@ -40,19 +37,4 @@ typedef unsigned long ivl_u64_t; # endif #endif -/* - * $Log: config.h.in,v $ - * Revision 1.2 2003/08/26 16:26:02 steve - * ifdef idents correctly. - * - * Revision 1.1 2003/06/04 01:56:20 steve - * 1) Adds configure logic to clean up compiler warnings - * 2) adds acc_compare_handle, acc_fetch_range, acc_next_scope and - * tf_isetrealdelay, acc_handle_scope - * 3) makes acc_next reentrant - * 4) adds basic vpiWire type support - * 5) fills in some acc_object_of_type() and acc_fetch_{full}type() - * 6) add vpiLeftRange/RigthRange to signals - * - */ #endif diff --git a/libveriuser/priv.h b/libveriuser/priv.h index 7f9f5bdce..36c1faeec 100644 --- a/libveriuser/priv.h +++ b/libveriuser/priv.h @@ -18,9 +18,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: priv.h,v 1.2 2003/05/18 00:16:35 steve Exp $" -#endif # include @@ -36,21 +33,4 @@ extern char* __acc_newstring(const char*txt); */ FILE* pli_trace; -/* - * $Log: priv.h,v $ - * Revision 1.2 2003/05/18 00:16:35 steve - * Add PLI_TRACE tracing of PLI1 modules. - * - * Add tf_isetdelay and friends, and add - * callback return values for acc_vcl support. - * - * Revision 1.1 2003/02/17 06:39:47 steve - * Add at least minimal implementations for several - * acc_ functions. Add support for standard ACC - * string handling. - * - * Add the _pli_types.h header file to carry the - * IEEE1364-2001 standard PLI type declarations. - * - */ #endif diff --git a/link_const.cc b/link_const.cc index fb2096835..72ff1ad23 100644 --- a/link_const.cc +++ b/link_const.cc @@ -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: link_const.cc,v 1.18 2007/04/14 03:10:51 steve Exp $" -#endif # include "config.h" @@ -175,80 +172,3 @@ verinum::V Nexus::driven_value() const return val; } -/* - * $Log: link_const.cc,v $ - * Revision 1.18 2007/04/14 03:10:51 steve - * Properly account for tri0 connected to otherwise open mux input. - * - * Revision 1.17 2004/10/04 01:10:53 steve - * Clean up spurious trailing white space. - * - * Revision 1.16 2003/06/21 01:21:43 steve - * Harmless fixup of warnings. - * - * Revision 1.15 2002/08/12 01:34:59 steve - * conditional ident string using autoconfig. - * - * Revision 1.14 2002/06/25 01:33:22 steve - * Cache calculated driven value. - * - * Revision 1.13 2002/06/24 01:49:39 steve - * Make link_drive_constant cache its results in - * the Nexus, to improve cprop performance. - * - * Revision 1.12 2002/06/19 04:18:46 steve - * Shuffle link_drivers_constant for speed. - * - * Revision 1.11 2001/08/25 23:50:03 steve - * Change the NetAssign_ class to refer to the signal - * instead of link into the netlist. This is faster - * and uses less space. Make the NetAssignNB carry - * the delays instead of the NetAssign_ lval objects. - * - * Change the vvp code generator to support multiple - * l-values, i.e. concatenations of part selects. - * - * Revision 1.10 2001/07/25 03:10:49 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.9 2001/07/07 03:01:37 steve - * Detect and make available to t-dll the right shift. - * - * Revision 1.8 2001/02/16 03:27:07 steve - * links to root inputs are not constant. - * - * Revision 1.7 2000/11/20 01:41:12 steve - * Whoops, return the calculated constant value rom driven_value. - * - * Revision 1.6 2000/11/20 00:58:40 steve - * Add support for supply nets (PR#17) - * - * Revision 1.5 2000/07/14 06:12:57 steve - * Move inital value handling from NetNet to Nexus - * objects. This allows better propogation of inital - * values. - * - * Clean up constant propagation a bit to account - * for regs that are not really values. - * - * Revision 1.4 2000/06/25 19:59:42 steve - * Redesign Links to include the Nexus class that - * carries properties of the connected set of links. - * - * Revision 1.3 2000/05/14 17:55:04 steve - * Support initialization of FF Q value. - * - * Revision 1.2 2000/05/07 04:37:56 steve - * Carry strength values from Verilog source to the - * pform and netlist for gates. - * - * Change vvm constants to use the driver_t to drive - * a constant value. This works better if there are - * multiple drivers on a signal. - * - * Revision 1.1 2000/04/20 00:28:03 steve - * Catch some simple identity compareoptimizations. - * - */ - diff --git a/load_module.cc b/load_module.cc index 5dc55cce1..862d205be 100644 --- a/load_module.cc +++ b/load_module.cc @@ -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: load_module.cc,v 1.13 2005/03/22 15:53:48 steve Exp $" -#endif # include "config.h" # include "util.h" @@ -193,49 +190,3 @@ int build_library_index(const char*path, bool key_case_sensitive) return 0; } -/* - * $Log: load_module.cc,v $ - * Revision 1.13 2005/03/22 15:53:48 steve - * popen must be matched by pclose. - * - * Revision 1.12 2003/06/05 04:31:09 steve - * INclude missing assert.h in load_module. - * - * Revision 1.11 2002/08/12 01:34:59 steve - * conditional ident string using autoconfig. - * - * Revision 1.10 2002/08/03 22:30:00 steve - * Fix suffix parsing of library index. - * - * Revision 1.9 2002/07/10 04:34:18 steve - * Library dir case insensitivity includes the suffix. - * - * Revision 1.8 2002/06/06 18:57:18 steve - * Use standard name for iostream. - * - * Revision 1.7 2002/05/28 20:40:37 steve - * ivl indexes the search path for libraries, and - * supports case insensitive module-to-file lookup. - * - * Revision 1.6 2002/05/28 00:50:39 steve - * Add the ivl -C flag for bulk configuration - * from the driver, and use that to run library - * modules through the preprocessor. - * - * Revision 1.5 2002/04/04 05:26:13 steve - * Add dependency generation. - * - * Revision 1.4 2001/11/20 23:36:34 steve - * Close library files after parsing. - * - * Revision 1.3 2001/11/16 05:07:19 steve - * Add support for +libext+ in command files. - * - * Revision 1.2 2001/10/22 02:05:21 steve - * Handle activating tasks in another root. - * - * Revision 1.1 2001/10/20 23:02:40 steve - * Add automatic module libraries. - * - */ - diff --git a/named.h b/named.h index 66575dc21..77ad68f62 100644 --- a/named.h +++ b/named.h @@ -18,9 +18,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: named.h,v 1.4 2004/02/20 06:22:56 steve Exp $" -#endif # include "StringHeap.h" @@ -34,19 +31,4 @@ template struct named { T parm; }; -/* - * $Log: named.h,v $ - * Revision 1.4 2004/02/20 06:22:56 steve - * parameter keys are per_strings. - * - * Revision 1.3 2002/08/12 01:34:59 steve - * conditional ident string using autoconfig. - * - * Revision 1.2 2000/02/23 02:56:54 steve - * Macintosh compilers do not support ident. - * - * Revision 1.1 2000/01/09 05:50:49 steve - * Support named parameter override lists. - * - */ #endif diff --git a/net_event.cc b/net_event.cc index ba9c5d3cc..da496ae7e 100644 --- a/net_event.cc +++ b/net_event.cc @@ -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: net_event.cc,v 1.27 2007/06/02 03:42:13 steve Exp $" -#endif # include "config.h" # include "compiler.h" @@ -452,110 +449,3 @@ NetProc* NetEvWait::statement() return statement_; } -/* - * $Log: net_event.cc,v $ - * Revision 1.27 2007/06/02 03:42:13 steve - * Properly evaluate scope path expressions. - * - * Revision 1.26 2004/10/04 01:10:54 steve - * Clean up spurious trailing white space. - * - * Revision 1.25 2004/02/19 06:57:10 steve - * Memory and Event names use perm_string. - * - * Revision 1.24 2004/02/18 17:11:56 steve - * Use perm_strings for named langiage items. - * - * Revision 1.23 2003/04/22 04:48:29 steve - * Support event names as expressions elements. - * - * Revision 1.22 2003/03/06 00:28:41 steve - * All NetObj objects have lex_string base names. - * - * Revision 1.21 2003/03/01 06:25:30 steve - * Add the lex_strings string handler, and put - * scope names and system task/function names - * into this table. Also, permallocate event - * names from the beginning. - * - * Revision 1.20 2002/08/12 01:34:59 steve - * conditional ident string using autoconfig. - * - * Revision 1.19 2002/07/24 16:24:45 steve - * Rewrite find_similar_event to support doing - * all event matching and replacement in one - * shot, saving time in the scans. - * - * Revision 1.18 2002/06/30 02:21:31 steve - * Add structure for asynchronous logic synthesis. - * - * Revision 1.17 2002/02/02 06:13:38 steve - * event find_similar should not find self. - * - * Revision 1.16 2001/10/28 01:14:53 steve - * NetObj constructor finally requires a scope. - * - * Revision 1.15 2001/07/25 03:10:49 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.14 2001/03/29 02:52:19 steve - * Add const probe method to NetEvent. - * - * Revision 1.13 2001/03/28 06:07:39 steve - * Add the ivl_event_t to ivl_target, and use that to generate - * .event statements in vvp way ahead of the thread that uses it. - * - * Revision 1.12 2000/12/15 17:45:07 steve - * Remove limits from the similar events search. - * - * Revision 1.11 2000/10/04 16:30:39 steve - * Use char8 instead of string to store name. - * - * Revision 1.10 2000/09/19 03:00:36 steve - * Typo stepping ot next probe in delete. - * - * Revision 1.9 2000/07/29 03:55:38 steve - * fix problem coalescing events w/ probes. - * - * Revision 1.8 2000/05/31 02:26:49 steve - * Globally merge redundant event objects. - * - * Revision 1.7 2000/05/27 19:33:23 steve - * Merge similar probes within a module. - * - * Revision 1.6 2000/04/18 04:50:20 steve - * Clean up unneeded NetEvent objects. - * - * Revision 1.5 2000/04/16 23:32:18 steve - * Synthesis of comparator in expressions. - * - * Connect the NetEvent and related classes - * together better. - * - * Revision 1.4 2000/04/12 20:02:53 steve - * Finally remove the NetNEvent and NetPEvent classes, - * Get synthesis working with the NetEvWait class, - * and get started supporting multiple events in a - * wait in vvm. - * - * Revision 1.3 2000/04/12 04:23:58 steve - * Named events really should be expressed with PEIdent - * objects in the pform, - * - * Handle named events within the mix of net events - * and edges. As a unified lot they get caught together. - * wait statements are broken into more complex statements - * that include a conditional. - * - * Do not generate NetPEvent or NetNEvent objects in - * elaboration. NetEvent, NetEvWait and NetEvProbe - * take over those functions in the netlist. - * - * Revision 1.2 2000/04/10 05:26:06 steve - * All events now use the NetEvent class. - * - * Revision 1.1 2000/04/04 03:20:15 steve - * Simulate named event trigger and waits. - * - */ diff --git a/net_proc.cc b/net_proc.cc index 90592d974..b79b7bd88 100644 --- a/net_proc.cc +++ b/net_proc.cc @@ -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: net_proc.cc,v 1.7 2006/08/08 05:11:37 steve Exp $" -#endif # include "config.h" @@ -173,35 +170,3 @@ const NetExpr* NetRepeat::expr() const return expr_; } - - -/* - * $Log: net_proc.cc,v $ - * Revision 1.7 2006/08/08 05:11:37 steve - * Handle 64bit delay constants. - * - * Revision 1.6 2002/08/12 01:34:59 steve - * conditional ident string using autoconfig. - * - * Revision 1.5 2002/07/28 23:58:45 steve - * Fix NetBlock destructor to delete substatements. - * - * Revision 1.4 2002/04/21 04:59:08 steve - * Add support for conbinational events by finding - * the inputs to expressions and some statements. - * Get case and assignment statements working. - * - * Revision 1.3 2001/07/25 03:10:49 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.2 2000/07/27 05:13:44 steve - * Support elaboration of disable statements. - * - * Revision 1.1 2000/07/07 04:53:54 steve - * Add support for non-constant delays in delay statements, - * Support evaluating ! in constant expressions, and - * move some code from netlist.cc to net_proc.cc. - * - */ - diff --git a/net_udp.cc b/net_udp.cc index 8924027f5..b5c6dd5de 100644 --- a/net_udp.cc +++ b/net_udp.cc @@ -17,9 +17,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: net_udp.cc,v 1.10 2004/10/04 01:10:54 steve Exp $" -#endif # include "config.h" # include "compiler.h" @@ -86,40 +83,3 @@ char NetUDP::get_initial() const assert(0); return 'x'; } - - -/* - * $Log: net_udp.cc,v $ - * Revision 1.10 2004/10/04 01:10:54 steve - * Clean up spurious trailing white space. - * - * Revision 1.9 2004/02/18 17:11:56 steve - * Use perm_strings for named langiage items. - * - * Revision 1.8 2003/03/06 00:28:42 steve - * All NetObj objects have lex_string base names. - * - * Revision 1.7 2002/08/12 01:34:59 steve - * conditional ident string using autoconfig. - * - * Revision 1.6 2001/07/25 03:10:49 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.5 2001/04/24 02:23:58 steve - * Support for UDP devices in VVP (Stephen Boettcher) - * - * Revision 1.4 2001/04/22 23:09:46 steve - * More UDP consolidation from Stephan Boettcher. - * - * Revision 1.3 2000/12/15 01:24:17 steve - * Accept x in outputs of primitive. (PR#84) - * - * Revision 1.2 2000/11/04 06:36:24 steve - * Apply sequential UDP rework from Stephan Boettcher (PR#39) - * - * Revision 1.1 2000/03/29 04:37:11 steve - * New and improved combinational primitives. - * - */ - diff --git a/nodangle.cc b/nodangle.cc index cb24eccfe..2dc24d2be 100644 --- a/nodangle.cc +++ b/nodangle.cc @@ -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: nodangle.cc,v 1.21 2004/02/20 18:53:35 steve Exp $" -#endif # include "config.h" @@ -231,85 +228,3 @@ void nodangle(Design*des) } -/* - * $Log: nodangle.cc,v $ - * Revision 1.21 2004/02/20 18:53:35 steve - * Addtrbute keys are perm_strings. - * - * Revision 1.20 2004/01/15 06:04:19 steve - * Remove duplicate NetEvProbe objects in nodangle. - * - * Revision 1.19 2003/06/25 04:46:03 steve - * Do not elide ports of cells. - * - * Revision 1.18 2003/04/22 04:48:30 steve - * Support event names as expressions elements. - * - * Revision 1.17 2002/08/12 01:35:00 steve - * conditional ident string using autoconfig. - * - * Revision 1.16 2002/07/24 16:24:45 steve - * Rewrite find_similar_event to support doing - * all event matching and replacement in one - * shot, saving time in the scans. - * - * Revision 1.15 2002/05/26 01:39:02 steve - * Carry Verilog 2001 attributes with processes, - * all the way through to the ivl_target API. - * - * Divide signal reference counts between rval - * and lval references. - * - * Revision 1.14 2002/02/02 06:13:38 steve - * event find_similar should not find self. - * - * Revision 1.13 2001/07/27 02:41:55 steve - * Fix binding of dangling function ports. do not elide them. - * - * Revision 1.12 2001/07/25 03:10:49 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.11 2001/02/17 05:14:35 steve - * Cannot elide task ports. - * - * Revision 1.10 2000/11/19 20:48:53 steve - * Killing some signals might make others killable. - * - * Revision 1.9 2000/11/18 05:12:45 steve - * Delete unreferenced signals no matter what. - * - * Revision 1.8 2000/06/25 19:59:42 steve - * Redesign Links to include the Nexus class that - * carries properties of the connected set of links. - * - * Revision 1.7 2000/05/31 02:26:49 steve - * Globally merge redundant event objects. - * - * Revision 1.6 2000/05/07 04:37:56 steve - * Carry strength values from Verilog source to the - * pform and netlist for gates. - * - * Change vvm constants to use the driver_t to drive - * a constant value. This works better if there are - * multiple drivers on a signal. - * - * Revision 1.5 2000/04/28 21:00:29 steve - * Over agressive signal elimination in constant probadation. - * - * Revision 1.4 2000/04/18 04:50:20 steve - * Clean up unneeded NetEvent objects. - * - * Revision 1.3 2000/02/23 02:56:55 steve - * Macintosh compilers do not support ident. - * - * Revision 1.2 1999/11/28 23:42:02 steve - * NetESignal object no longer need to be NetNode - * objects. Let them keep a pointer to NetNet objects. - * - * Revision 1.1 1999/11/18 03:52:20 steve - * Turn NetTmp objects into normal local NetNet objects, - * and add the nodangle functor to clean up the local - * symbols generated by elaboration and other steps. - * - */ diff --git a/parse_api.h b/parse_api.h index 808c81df6..76ea71531 100644 --- a/parse_api.h +++ b/parse_api.h @@ -18,9 +18,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: parse_api.h,v 1.3 2004/02/18 17:11:57 steve Exp $" -#endif # include # include "StringHeap.h" @@ -49,16 +46,4 @@ extern int pform_parse(const char*path, FILE*file =0); extern string vl_file; -/* - * $Log: parse_api.h,v $ - * Revision 1.3 2004/02/18 17:11:57 steve - * Use perm_strings for named langiage items. - * - * Revision 1.2 2002/08/12 01:35:00 steve - * conditional ident string using autoconfig. - * - * Revision 1.1 2001/10/21 20:18:56 steve - * clean up API for restarting parser. - * - */ #endif diff --git a/parse_misc.cc b/parse_misc.cc index 546dec7cf..ed631d0b3 100644 --- a/parse_misc.cc +++ b/parse_misc.cc @@ -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: parse_misc.cc,v 1.7 2002/08/12 01:35:00 steve Exp $" -#endif # include "config.h" diff --git a/parse_misc.h b/parse_misc.h index 1d3e721a5..d82b3c8f9 100644 --- a/parse_misc.h +++ b/parse_misc.h @@ -18,9 +18,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: parse_misc.h,v 1.7 2003/03/08 20:58:18 steve Exp $" -#endif # include # include diff --git a/symbol_search.cc b/symbol_search.cc index 8a50ae1c6..643fcd4db 100644 --- a/symbol_search.cc +++ b/symbol_search.cc @@ -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: symbol_search.cc,v 1.7 2007/06/02 03:42:13 steve Exp $" -#endif # include "netlist.h" # include "netmisc.h" diff --git a/syn-rules.y b/syn-rules.y index 1a3f66ee3..80dbad7c4 100644 --- a/syn-rules.y +++ b/syn-rules.y @@ -356,7 +356,7 @@ static int yylex() { if (ptr_ == 0) { yylval = 0; - return EOF; + return 0; } yylval = ptr_; diff --git a/tgt-fpga/edif.h b/tgt-fpga/edif.h index b48629afb..5fb99e260 100644 --- a/tgt-fpga/edif.h +++ b/tgt-fpga/edif.h @@ -18,9 +18,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: edif.h,v 1.8 2007/02/26 19:49:49 steve Exp $" -#endif # include # include @@ -229,32 +226,4 @@ extern void edif_add_to_joint(edif_joint_t jnt, */ extern void edif_print(FILE*fd, edif_t design); -/* - * $Log: edif.h,v $ - * Revision 1.8 2007/02/26 19:49:49 steve - * Spelling fixes (larry doolittle) - * - * Revision 1.7 2003/09/03 23:34:09 steve - * Support synchronous set of LPM_FF devices. - * - * Revision 1.6 2003/08/07 05:18:04 steve - * Add support for OR/NOR/bufif0/bufif1. - * - * Revision 1.5 2003/08/07 04:04:01 steve - * Add an LPM device type. - * - * Revision 1.4 2003/06/24 03:55:00 steve - * Add ivl_synthesis_cell support for virtex2. - * - * Revision 1.3 2003/04/04 04:59:03 steve - * Add xlibrary celltable. - * - * Revision 1.2 2003/03/24 02:29:04 steve - * Give proper basenames to PAD signals. - * - * Revision 1.1 2003/03/24 00:47:54 steve - * Add new virtex2 architecture family, and - * also the new edif.h EDIF management functions. - * - */ #endif diff --git a/tgt-fpga/fpga_priv.h b/tgt-fpga/fpga_priv.h index 45ad3a517..156bd4cf2 100644 --- a/tgt-fpga/fpga_priv.h +++ b/tgt-fpga/fpga_priv.h @@ -18,9 +18,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: fpga_priv.h,v 1.8 2003/07/02 00:48:03 steve Exp $" -#endif # include # include "device.h" @@ -51,34 +48,4 @@ extern void xnf_mangle_lpm_name(ivl_lpm_t net, char*buf, size_t nbuf); extern const char*xnf_mangle_nexus_name(ivl_nexus_t net); -/* - * $Log: fpga_priv.h,v $ - * Revision 1.8 2003/07/02 00:48:03 steve - * No longer export generic-edif functions. - * - * Revision 1.7 2003/06/24 03:55:00 steve - * Add ivl_synthesis_cell support for virtex2. - * - * Revision 1.6 2002/08/12 01:35:03 steve - * conditional ident string using autoconfig. - * - * Revision 1.5 2002/08/11 23:47:04 steve - * Add missing Log and Ident strings. - * - * Revision 1.4 2001/09/06 04:28:40 steve - * Separate the virtex and generic-edif code generators. - * - * Revision 1.3 2001/09/02 21:33:07 steve - * Rearrange the XNF code generator to be generic-xnf - * so that non-XNF code generation is also possible. - * - * Start into the virtex EDIF output driver. - * - * Revision 1.2 2001/08/30 04:31:04 steve - * Mangle nexus names. - * - * Revision 1.1 2001/08/28 04:14:20 steve - * Add the fpga target. - * - */ #endif diff --git a/tgt-pal/priv.h b/tgt-pal/priv.h index c5cb9eca8..d846201f8 100644 --- a/tgt-pal/priv.h +++ b/tgt-pal/priv.h @@ -18,9 +18,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: priv.h,v 1.8 2007/02/26 19:49:50 steve Exp $" -#endif # include # include @@ -100,31 +97,4 @@ extern int fit_logic(void); extern int emit_jedec(const char*path); -/* - * $Log: priv.h,v $ - * Revision 1.8 2007/02/26 19:49:50 steve - * Spelling fixes (larry doolittle) - * - * Revision 1.7 2002/08/12 01:35:03 steve - * conditional ident string using autoconfig. - * - * Revision 1.6 2001/05/16 03:55:30 steve - * Update to new LPM API for flip-flops. - * - * Revision 1.5 2001/01/15 00:05:39 steve - * Add client data pointer for scope and process scanners. - * - * Revision 1.4 2001/01/09 03:10:48 steve - * Generate the jedec to configure the macrocells. - * - * Revision 1.3 2000/12/14 23:37:47 steve - * Start support for fitting the logic. - * - * Revision 1.2 2000/12/09 03:42:52 steve - * Stuff registers into macrocells. - * - * Revision 1.1 2000/12/09 01:17:38 steve - * Add the pal loadable target. - * - */ #endif diff --git a/tgt-stub/expression.c b/tgt-stub/expression.c index 0070b45e1..192ba9679 100644 --- a/tgt-stub/expression.c +++ b/tgt-stub/expression.c @@ -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: expression.c,v 1.6 2007/04/21 03:20:47 steve Exp $" -#endif # include "config.h" # include "priv.h" diff --git a/tgt-stub/memory.c b/tgt-stub/memory.c index 1676e29d6..70cb94aa3 100644 --- a/tgt-stub/memory.c +++ b/tgt-stub/memory.c @@ -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: memory.c,v 1.1 2005/03/03 04:34:42 steve Exp $" -#endif # include "config.h" # include "priv.h" diff --git a/tgt-stub/priv.h b/tgt-stub/priv.h index f13e5b408..e96c4683b 100644 --- a/tgt-stub/priv.h +++ b/tgt-stub/priv.h @@ -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: priv.h,v 1.5 2007/01/17 05:00:12 steve Exp $" -#endif # include # include diff --git a/tgt-vhdl/process.cc b/tgt-vhdl/process.cc index cc2d9b649..dc6a82755 100644 --- a/tgt-vhdl/process.cc +++ b/tgt-vhdl/process.cc @@ -56,10 +56,15 @@ static int generate_vhdl_process(vhdl_entity *ent, ivl_process_t proc) // However, if no statements were added to the container // by draw_stmt, don't bother adding a wait as `emit' // will optimise the process out of the output - if (ivl_process_type(proc) == IVL_PR_INITIAL - && !vhdl_proc->get_container()->empty()) { - vhdl_wait_stmt *wait = new vhdl_wait_stmt(); - vhdl_proc->get_container()->add_stmt(wait); + if (ivl_process_type(proc) == IVL_PR_INITIAL) { + // Get rid of any useless `wait for 0 ns's at the end of the process + prune_wait_for_0(vhdl_proc->get_container()); + + // The above pruning might have removed all logic from the process + if (!vhdl_proc->get_container()->empty()) { + vhdl_wait_stmt *wait = new vhdl_wait_stmt(); + vhdl_proc->get_container()->add_stmt(wait); + } } // Add a comment indicating where it came from @@ -81,6 +86,10 @@ int draw_process(ivl_process_t proc, void *cd) { ivl_scope_t scope = ivl_process_scope(proc); + debug_msg("Translating process in %s (%s:%d)", + ivl_scope_name(scope), ivl_process_file(proc), + ivl_process_lineno(proc)); + // A process should occur in a module scope, therefore it // should have already been assigned a VHDL entity assert(ivl_scope_type(scope) == IVL_SCT_MODULE); diff --git a/tgt-vhdl/scope.cc b/tgt-vhdl/scope.cc index 98426bc36..a54ff5b7d 100644 --- a/tgt-vhdl/scope.cc +++ b/tgt-vhdl/scope.cc @@ -129,7 +129,7 @@ static string visible_nexus_signal_name(nexus_private_t *priv, vhdl_scope *scope * Generates VHDL code to fully represent a nexus. */ void draw_nexus(ivl_nexus_t nexus) -{ +{ nexus_private_t *priv = new nexus_private_t; int nexus_signal_width = -1; priv->const_driver = NULL; @@ -275,6 +275,8 @@ vhdl_var_ref *nexus_to_var_ref(vhdl_scope *scope, ivl_nexus_t nexus) */ static void declare_logic(vhdl_arch *arch, ivl_scope_t scope) { + debug_msg("Declaring logic in scope %s", ivl_scope_name(scope)); + int nlogs = ivl_scope_logs(scope); for (int i = 0; i < nlogs; i++) draw_logic(arch, ivl_scope_log(scope, i)); @@ -321,6 +323,8 @@ static string make_safe_name(ivl_signal_t sig) */ static void declare_signals(vhdl_entity *ent, ivl_scope_t scope) { + debug_msg("Declaring signals in scope %s", ivl_scope_name(scope)); + int nsigs = ivl_scope_sigs(scope); for (int i = 0; i < nsigs; i++) { ivl_signal_t sig = ivl_scope_sig(scope, i); @@ -518,6 +522,9 @@ static int draw_function(ivl_scope_t scope, ivl_scope_t parent) { assert(ivl_scope_type(scope) == IVL_SCT_FUNCTION); + debug_msg("Generating function %s (%s)", ivl_scope_tname(scope), + ivl_scope_name(scope)); + // Find the containing entity vhdl_entity *ent = find_entity(ivl_scope_name(parent)); assert(ent); @@ -528,6 +535,14 @@ static int draw_function(ivl_scope_t scope, ivl_scope_t parent) // The return type is worked out from the output port vhdl_function *func = new vhdl_function(funcname, NULL); + + // Set the parent scope of this function to be the containing + // architecture. This allows us to look up non-local variables + // referenced in the body, but if we do the `impure' flag must + // be set on the function + // (There are actually two VHDL scopes in a function: the local + // variables and the formal parameters hence the call to get_parent) + func->get_scope()->get_parent()->set_parent(ent->get_arch()->get_scope()); int nsigs = ivl_scope_sigs(scope); for (int i = 0; i < nsigs; i++) { @@ -663,6 +678,8 @@ static void create_skeleton_entity_for(ivl_scope_t scope) */ static int draw_skeleton_scope(ivl_scope_t scope, void *_parent) { + debug_msg("Initial visit to scope %s", ivl_scope_name(scope)); + switch (ivl_scope_type(scope)) { case IVL_SCT_MODULE: create_skeleton_entity_for(scope); @@ -742,7 +759,8 @@ static int draw_constant_drivers(ivl_scope_t scope, void *_parent) vhdl_scope *arch_scope = ent->get_arch()->get_scope(); - if (priv->const_driver) { + if (priv->const_driver + && ivl_signal_port(sig) != IVL_SIP_INPUT) { // Don't drive inputs assert(j == 0); // TODO: Make work for more words vhdl_var_ref *ref = nexus_to_var_ref(arch_scope, nex); diff --git a/tgt-vhdl/stmt.cc b/tgt-vhdl/stmt.cc index 69b98b31d..19e4ea3ad 100644 --- a/tgt-vhdl/stmt.cc +++ b/tgt-vhdl/stmt.cc @@ -162,10 +162,45 @@ static bool assignment_lvals(ivl_statement_t stmt, vhdl_procedural *proc, return true; } +/* + * Generate the right sort of assignment statement for assigning + * `lhs' to `rhs'. + */ +static vhdl_abstract_assign_stmt * +assign_for(vhdl_decl::assign_type_t atype, vhdl_var_ref *lhs, vhdl_expr *rhs) +{ + switch (atype) { + case vhdl_decl::ASSIGN_BLOCK: + return new vhdl_assign_stmt(lhs, rhs); + case vhdl_decl::ASSIGN_NONBLOCK: + return new vhdl_nbassign_stmt(lhs, rhs); + default: + assert(false); + } +} + +/* + * Check that this assignment type is valid within the context of `proc'. + * For example, a <= assignment is not valid within a function. + */ +bool check_valid_assignment(vhdl_decl::assign_type_t atype, vhdl_procedural *proc, + ivl_statement_t stmt) +{ + if (atype == vhdl_decl::ASSIGN_NONBLOCK && + !proc->get_scope()->allow_signal_assignment()) { + error("Unable to translate assignment at %s:%d\n" + " Translating this would require generating a non-blocking (<=)\n" + " assignment in a VHDL context where this is disallowed (e.g.\n" + " a function).", ivl_stmt_file(stmt), ivl_stmt_lineno(stmt)); + return false; + } + else + return true; +} + /* * Generate an assignment of type T for the Verilog statement stmt. */ -template void make_assignment(vhdl_procedural *proc, stmt_container *container, ivl_statement_t stmt, bool blocking) { @@ -192,6 +227,11 @@ void make_assignment(vhdl_procedural *proc, stmt_container *container, vhdl_expr *after = NULL; if ((i_delay = ivl_stmt_delay_expr(stmt)) != NULL) after = translate_time_expr(i_delay); + + // Find the declaration of the LHS so we know what type + // of assignment statement to generate (is it a signal, + // a variable, etc?) + vhdl_decl *decl = proc->get_scope()->get_decl(lhs->get_name()); // A small optimisation is to expand ternary RHSs into an // if statement (eliminates a function call and produces @@ -207,9 +247,13 @@ void make_assignment(vhdl_procedural *proc, stmt_container *container, vhdl_if_stmt *vhdif = new vhdl_if_stmt(test); + if (!check_valid_assignment(decl->assignment_type(), proc, stmt)) + return; + // True part { - T *a = new T(lhs, rhs); + vhdl_abstract_assign_stmt *a = + assign_for(decl->assignment_type(), lhs, rhs); if (after) a->set_after(after); vhdif->get_then_container()->add_stmt(a); @@ -217,7 +261,8 @@ void make_assignment(vhdl_procedural *proc, stmt_container *container, // False part { - T *a = new T(lhs2, rhs2); + vhdl_abstract_assign_stmt *a = + assign_for(decl->assignment_type(), lhs2, rhs2); if (after) a->set_after(translate_time_expr(i_delay)); vhdif->get_else_container()->add_stmt(a); @@ -242,7 +287,6 @@ void make_assignment(vhdl_procedural *proc, stmt_container *container, // The second test ensures that we only try to initialise // internal signals not ports ivl_lval_t lval = ivl_stmt_lval(stmt, 0); - vhdl_decl *decl = proc->get_scope()->get_decl(lhs->get_name()); if (proc->get_scope()->initializing() && ivl_signal_port(ivl_lval_sig(lval)) == IVL_SIP_NONE && !decl->has_initial() @@ -260,8 +304,12 @@ void make_assignment(vhdl_procedural *proc, stmt_container *container, return; } } - - T *a = new T(lhs, rhs); + + if (!check_valid_assignment(decl->assignment_type(), proc, stmt)) + return; + + vhdl_abstract_assign_stmt *a = + assign_for(decl->assignment_type(), lhs, rhs); container->add_stmt(a); if (after != NULL) @@ -276,7 +324,7 @@ void make_assignment(vhdl_procedural *proc, stmt_container *container, ostringstream ss; ss << "Verilog_Assign_Tmp_" << tmp_count++; string tmpname = ss.str(); - + proc->get_scope()->add_decl (new vhdl_var_decl(tmpname.c_str(), new vhdl_type(*rhs->get_type()))); @@ -299,7 +347,16 @@ void make_assignment(vhdl_procedural *proc, stmt_container *container, if ((i_delay = ivl_stmt_delay_expr(stmt)) != NULL) after = translate_time_expr(i_delay); - T *a = new T(*it, tmp_rhs); + // Find the declaration of the LHS so we know what type + // of assignment statement to generate (is it a signal, + // a variable, etc?) + vhdl_decl *decl = proc->get_scope()->get_decl((*it)->get_name()); + + if (!check_valid_assignment(decl->assignment_type(), proc, stmt)) + return; + + vhdl_abstract_assign_stmt *a = + assign_for(decl->assignment_type(), *it, tmp_rhs); if (after) a->set_after(after); @@ -320,7 +377,7 @@ static int draw_nbassign(vhdl_procedural *proc, stmt_container *container, { assert(proc->get_scope()->allow_signal_assignment()); - make_assignment(proc, container, stmt, false); + make_assignment(proc, container, stmt, false); return 0; } @@ -333,20 +390,41 @@ static int draw_assign(vhdl_procedural *proc, stmt_container *container, // followed by a zero-time wait // This follows the Verilog semantics fairly closely. - make_assignment(proc, container, stmt, false); + make_assignment(proc, container, stmt, false); // Don't generate a zero-wait if this is the last statement in // the process if (!is_last) container->add_stmt - (new vhdl_wait_stmt(VHDL_WAIT_FOR, new vhdl_const_time(0))); + (new vhdl_wait_stmt(VHDL_WAIT_FOR0)); } else - make_assignment(proc, container, stmt, true); + make_assignment(proc, container, stmt, true); return 0; } +/* + * The VHDL code generator inserts `wait for 0 ns' after each + * not-last-in-block blocking assignment. + * If this is immediately followed by another `wait for ...' then + * we might as well not emit the first zero-time wait. + */ +void prune_wait_for_0(stmt_container *container) +{ + vhdl_wait_stmt *wait0; + stmt_container::stmt_list_t &stmts = container->get_stmts(); + while (stmts.size() > 0 + && (wait0 = dynamic_cast(stmts.back()))) { + if (wait0->get_type() == VHDL_WAIT_FOR0) { + delete wait0; + stmts.pop_back(); + } + else + break; + } +} + /* * Delay statements are equivalent to the `wait for' form of the * VHDL wait statement. @@ -372,6 +450,8 @@ static int draw_delay(vhdl_procedural *proc, stmt_container *container, return 1; } + prune_wait_for_0(container); + ivl_statement_t sub_stmt = ivl_stmt_sub_stmt(stmt); vhdl_wait_stmt *wait = new vhdl_wait_stmt(VHDL_WAIT_FOR, time); diff --git a/tgt-vhdl/vhdl.cc b/tgt-vhdl/vhdl.cc index f871bec7f..e3ab25fe9 100644 --- a/tgt-vhdl/vhdl.cc +++ b/tgt-vhdl/vhdl.cc @@ -87,6 +87,24 @@ void error(const char *fmt, ...) g_errors++; } +/* + * Print a message only if -pdebug was specified. + */ +void debug_msg(const char *fmt, ...) +{ + std::va_list args; + + va_start(args, fmt); + + if (std::strcmp(ivl_design_flag(g_design, "debug"), "")) { + std::fputs("[DEBUG] ", stdout); + std::vprintf(fmt, args); + std::putchar('\n'); + } + + va_end(args); +} + /* * Find an entity given a scope name. */ diff --git a/tgt-vhdl/vhdl_syntax.cc b/tgt-vhdl/vhdl_syntax.cc index b40176b85..c610e10c5 100644 --- a/tgt-vhdl/vhdl_syntax.cc +++ b/tgt-vhdl/vhdl_syntax.cc @@ -316,6 +316,9 @@ void vhdl_wait_stmt::emit(std::ostream &of, int level) const of << " for "; expr_->emit(of, level); break; + case VHDL_WAIT_FOR0: + of << " for 0 ns"; + break; case VHDL_WAIT_UNTIL: assert(expr_); of << " until "; diff --git a/tgt-vhdl/vhdl_syntax.hh b/tgt-vhdl/vhdl_syntax.hh index 9b8f1a325..d7f30c43c 100644 --- a/tgt-vhdl/vhdl_syntax.hh +++ b/tgt-vhdl/vhdl_syntax.hh @@ -21,6 +21,8 @@ #ifndef INC_VHDL_SYNTAX_HH #define INC_VHDL_SYNTAX_HH +#include +#include #include "vhdl_element.hh" #include "vhdl_type.hh" @@ -333,8 +335,11 @@ public: void add_stmt(vhdl_seq_stmt *stmt); void emit(std::ostream &of, int level, bool newline=true) const; bool empty() const { return stmts_.empty(); } + + typedef std::list stmt_list_t; + stmt_list_t &get_stmts() { return stmts_; } private: - std::list stmts_; + stmt_list_t stmts_; }; @@ -379,6 +384,7 @@ public: enum vhdl_wait_type_t { VHDL_WAIT_INDEF, // Suspend indefinitely VHDL_WAIT_FOR, // Wait for a constant amount of time + VHDL_WAIT_FOR0, // Special wait for zero time VHDL_WAIT_UNTIL, // Wait on an expression VHDL_WAIT_ON, // Wait on a sensitivity list }; @@ -396,6 +402,7 @@ public: void emit(std::ostream &of, int level) const; void add_sensitivity(const std::string &s) { sensitivity_.push_back(s); } + vhdl_wait_type_t get_type() const { return type_; } private: vhdl_wait_type_t type_; vhdl_expr *expr_; @@ -541,6 +548,16 @@ public: void set_type(vhdl_type *t) { type_ = t; } void set_initial(vhdl_expr *initial); bool has_initial() const { return has_initial_; } + + // The different sorts of assignment statement + enum assign_type_t { ASSIGN_BLOCK, ASSIGN_NONBLOCK }; + + // Get the sort of assignment statement to generate for + // assignemnts to this declaration + // For some sorts of declarations it doesn't make sense + // to assign to it so calling assignment_type just raises + // an assertion failure + virtual assign_type_t assignment_type() const { assert(false); } protected: std::string name_; vhdl_type *type_; @@ -576,7 +593,6 @@ public: void emit(std::ostream &of, int level) const; }; - /* * A variable declaration inside a process (although this isn't * enforced here). @@ -586,6 +602,7 @@ public: vhdl_var_decl(const char *name, vhdl_type *type) : vhdl_decl(name, type) {} void emit(std::ostream &of, int level) const; + assign_type_t assignment_type() const { return ASSIGN_BLOCK; } }; @@ -597,6 +614,7 @@ public: vhdl_signal_decl(const char *name, vhdl_type *type) : vhdl_decl(name, type) {} virtual void emit(std::ostream &of, int level) const; + assign_type_t assignment_type() const { return ASSIGN_NONBLOCK; } }; @@ -631,6 +649,7 @@ public: void emit(std::ostream &of, int level) const; vhdl_port_mode_t get_mode() const { return mode_; } void set_mode(vhdl_port_mode_t m) { mode_ = m; } + assign_type_t assignment_type() const { return ASSIGN_NONBLOCK; } private: vhdl_port_mode_t mode_; }; diff --git a/tgt-vhdl/vhdl_target.h b/tgt-vhdl/vhdl_target.h index 5d5753379..031428d9a 100644 --- a/tgt-vhdl/vhdl_target.h +++ b/tgt-vhdl/vhdl_target.h @@ -14,6 +14,7 @@ using namespace std; void error(const char *fmt, ...); +void debug_msg(const char *fmt, ...); int draw_scope(ivl_scope_t scope, void *_parent); int draw_process(ivl_process_t net, void *cd); @@ -43,7 +44,7 @@ ivl_signal_t find_signal_named(const string &name, const vhdl_scope *scope); int draw_stask_display(vhdl_procedural *proc, stmt_container *container, ivl_statement_t stmt, bool newline = true); - +void prune_wait_for_0(stmt_container *container); void require_support_function(support_function_t f); #endif /* #ifndef INC_VHDL_TARGET_H */ diff --git a/tgt-vvp/vector.c b/tgt-vvp/vector.c index f1f4bff50..bdbf3ec1d 100644 --- a/tgt-vvp/vector.c +++ b/tgt-vvp/vector.c @@ -15,9 +15,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: vector.c,v 1.15 2007/04/01 05:26:17 steve Exp $" -#endif # include "vvp_priv.h" # include @@ -378,57 +375,3 @@ unsigned allocate_vector_exp(ivl_expr_t exp, unsigned wid, return la; } -/* - * $Log: vector.c,v $ - * Revision 1.15 2007/04/01 05:26:17 steve - * Fix that save expression lookaside always clears cached variable values. - * - * Revision 1.14 2007/03/22 16:08:18 steve - * Spelling fixes from Larry - * - * Revision 1.13 2007/03/20 04:26:56 steve - * Clear lookaside even if source bit is a constant. - * - * Revision 1.12 2007/02/26 19:49:50 steve - * Spelling fixes (larry doolittle) - * - * Revision 1.11 2007/02/06 04:43:53 steve - * Expression lookaside cannot hold complex expressions - * - * Revision 1.10 2007/01/19 02:30:19 steve - * Fix bad lookaside references in vvp thread code generator. - * - * Revision 1.9 2007/01/18 00:59:48 steve - * Do not match array words in expression lookaside. - * - * Revision 1.8 2007/01/16 05:44:16 steve - * Major rework of array handling. Memories are replaced with the - * more general concept of arrays. The NetMemory and NetEMemory - * classes are removed from the ivl core program, and the IVL_LPM_RAM - * lpm type is removed from the ivl_target API. - * - * Revision 1.7 2005/09/17 01:01:00 steve - * More robust use of precalculated expressions, and - * Separate lookaside for written variables that can - * also be reused. - * - * Revision 1.6 2005/09/15 02:50:13 steve - * Preserve precalculated expressions when possible. - * - * Revision 1.5 2005/01/24 05:08:02 steve - * Part selects are done in the compiler, not here. - * - * Revision 1.4 2003/07/03 17:44:10 steve - * Wider thread vector limit. - * - * Revision 1.3 2003/06/17 19:17:42 steve - * Remove short int restrictions from vvp opcodes. - * - * Revision 1.2 2003/06/05 04:18:50 steve - * Better width testing for thread vector allocation. - * - * Revision 1.1 2002/09/27 16:33:34 steve - * Add thread expression lookaside map. - * - */ - diff --git a/tgt-vvp/vvp_config.h.in b/tgt-vvp/vvp_config.h.in index a5cd66e4c..940d3a07e 100644 --- a/tgt-vvp/vvp_config.h.in +++ b/tgt-vvp/vvp_config.h.in @@ -18,9 +18,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: vvp_config.h.in,v 1.2 2005/12/07 03:43:30 steve Exp $" -#endif #if defined(__cplusplus) # if !defined(__GNUC__) @@ -37,13 +34,4 @@ # undef _LARGEFILE_SOURCE # undef _LARGEFILE64_SOURCE -/* - * $Log: vvp_config.h.in,v $ - * Revision 1.2 2005/12/07 03:43:30 steve - * Include stdint.h if it is present. - * - * Revision 1.1 2004/01/20 21:00:47 steve - * Isolate configure from containing config.h - * - */ #endif /* __vvp_config_H */ diff --git a/util.h b/util.h index 2654484e0..29f208dce 100644 --- a/util.h +++ b/util.h @@ -18,9 +18,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: util.h,v 1.9 2007/06/04 19:14:06 steve Exp $" -#endif # include # include "StringHeap.h" @@ -48,33 +45,4 @@ extern attrib_list_t* evaluate_attributes(const map&att, unsigned&natt, Design*des, NetScope*scope); -/* - * $Log: util.h,v $ - * Revision 1.9 2007/06/04 19:14:06 steve - * Build errors in picky GCC compilers. - * - * Revision 1.8 2005/11/27 17:01:57 steve - * Fix for stubborn compiler. - * - * Revision 1.7 2004/02/20 18:53:36 steve - * Addtrbute keys are perm_strings. - * - * Revision 1.6 2002/08/12 01:35:01 steve - * conditional ident string using autoconfig. - * - * Revision 1.5 2002/05/23 03:08:52 steve - * Add language support for Verilog-2001 attribute - * syntax. Hook this support into existing $attribute - * handling, and add number and void value types. - * - * Add to the ivl_target API new functions for access - * of complex attributes attached to gates. - * - * Revision 1.4 2001/12/03 04:47:15 steve - * Parser and pform use hierarchical names as hname_t - * objects instead of encoded strings. - * - * Revision 1.3 2001/10/20 23:02:40 steve - * Add automatic module libraries. - */ #endif diff --git a/verinum.cc b/verinum.cc index 67a57e81b..f85509381 100644 --- a/verinum.cc +++ b/verinum.cc @@ -315,9 +315,10 @@ verinum::verinum(int64_t that) { int64_t tmp; - tmp = that/2; + if (that < 0) tmp = (that+1)/2; + else tmp = that/2; nbits_ = 1; - while ((tmp != 0) && (tmp != -1)) { + while (tmp != 0) { nbits_ += 1; tmp /= 2; } diff --git a/verireal.cc b/verireal.cc index b07c013a0..3e188796e 100644 --- a/verireal.cc +++ b/verireal.cc @@ -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: verireal.cc,v 1.19 2007/04/07 04:46:18 steve Exp $" -#endif # include "config.h" @@ -174,63 +171,3 @@ ostream& operator<< (ostream&out, const verireal&v) return out; } -/* - * $Log: verireal.cc,v $ - * Revision 1.19 2007/04/07 04:46:18 steve - * Handle evaluate of addition of real valued constants. - * - * Revision 1.18 2006/10/03 05:06:00 steve - * Support real valued specify delays, properly scaled. - * - * Revision 1.17 2006/08/08 05:11:37 steve - * Handle 64bit delay constants. - * - * Revision 1.16 2006/07/31 03:50:18 steve - * Add support for power in constant expressions. - * - * Revision 1.15 2004/06/04 23:33:51 steve - * Add unary minus as operator supported by verireal. - * - * Revision 1.14 2003/03/07 06:10:13 steve - * Use strtod to convert text to doubles. - * - * Revision 1.13 2003/03/05 03:45:01 steve - * Restore verireal constructor to match vvp processing of reals. - * - * Revision 1.11 2003/02/07 06:13:44 steve - * Store real values as native double. - * - * Revision 1.10 2003/02/07 02:48:43 steve - * NetEBDiv handles real value constant expressions. - * - * Revision 1.9 2003/01/26 21:15:59 steve - * Rework expression parsing and elaboration to - * accommodate real/realtime values and expressions. - * - * Revision 1.8 2002/08/12 01:35:01 steve - * conditional ident string using autoconfig. - * - * Revision 1.7 2002/06/15 02:35:49 steve - * Rounding error. - * - * Revision 1.6 2001/11/06 06:11:55 steve - * Support more real arithmetic in delay constants. - * - * Revision 1.5 2001/07/25 03:10:50 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.4 2001/07/07 20:20:10 steve - * Pass parameters to system functions. - * - * Revision 1.3 2000/12/10 22:01:36 steve - * Support decimal constants in behavioral delays. - * - * Revision 1.2 2000/02/23 02:56:56 steve - * Macintosh compilers do not support ident. - * - * Revision 1.1 1999/06/15 02:50:02 steve - * Add lexical support for real numbers. - * - */ - diff --git a/verireal.h b/verireal.h index 51fccb086..4dbb74778 100644 --- a/verireal.h +++ b/verireal.h @@ -18,9 +18,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: verireal.h,v 1.16 2007/04/07 04:46:19 steve Exp $" -#endif # include "config.h" #ifdef HAVE_IOSFWD @@ -85,56 +82,4 @@ extern verireal operator% (const verireal&, const verinum&); extern verireal pow(const verireal&, const verireal&); extern verireal operator- (const verireal&); -/* - * $Log: verireal.h,v $ - * Revision 1.16 2007/04/07 04:46:19 steve - * Handle evaluate of addition of real valued constants. - * - * Revision 1.15 2007/02/02 04:33:01 steve - * Use inttypes.h instead of stdint.h for portability. - * - * Revision 1.14 2006/10/03 05:06:00 steve - * Support real valued specify delays, properly scaled. - * - * Revision 1.13 2006/08/08 05:11:37 steve - * Handle 64bit delay constants. - * - * Revision 1.12 2006/07/31 03:50:18 steve - * Add support for power in constant expressions. - * - * Revision 1.11 2005/06/14 19:13:43 steve - * gcc3/4 compile errors. - * - * Revision 1.10 2004/06/04 23:33:51 steve - * Add unary minus as operator supported by verireal. - * - * Revision 1.9 2003/02/07 06:13:44 steve - * Store real values as native double. - * - * Revision 1.8 2003/02/07 02:48:43 steve - * NetEBDiv handles real value constant expressions. - * - * Revision 1.7 2003/01/26 21:15:59 steve - * Rework expression parsing and elaboration to - * accommodate real/realtime values and expressions. - * - * Revision 1.6 2002/08/12 01:35:01 steve - * conditional ident string using autoconfig. - * - * Revision 1.5 2001/11/06 06:11:55 steve - * Support more real arithmetic in delay constants. - * - * Revision 1.4 2001/01/16 02:44:18 steve - * Use the iosfwd header if available. - * - * Revision 1.3 2000/12/10 22:01:36 steve - * Support decimal constants in behavioral delays. - * - * Revision 1.2 2000/02/23 02:56:56 steve - * Macintosh compilers do not support ident. - * - * Revision 1.1 1999/06/15 02:50:02 steve - * Add lexical support for real numbers. - * - */ #endif diff --git a/veriuser.h b/veriuser.h index e0f056540..a92c69e0c 100644 --- a/veriuser.h +++ b/veriuser.h @@ -18,9 +18,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: veriuser.h,v 1.34 2003/10/10 02:57:45 steve Exp $" -#endif /* * This header file contains the definitions and declarations needed diff --git a/vpi/mt19937int.c b/vpi/mt19937int.c index 40223164d..8e057af63 100644 --- a/vpi/mt19937int.c +++ b/vpi/mt19937int.c @@ -10,9 +10,6 @@ * * Change the function prototypes to use ANSI/ISO C syntax. */ -#ifdef HAVE_CVS_IDENT -#ident "$Id: mt19937int.c,v 1.5 2004/10/04 01:10:58 steve Exp $" -#endif /* A C-program for MT19937: Integer version (1998/4/6) */ /* genrand() generates one pseudorandom unsigned integer (32bit) */ @@ -124,18 +121,3 @@ genrand(struct context_s *context) return y; } -/* - * $Log: mt19937int.c,v $ - * Revision 1.5 2004/10/04 01:10:58 steve - * Clean up spurious trailing white space. - * - * Revision 1.4 2003/05/14 04:18:16 steve - * Use seed to store random number context. - * - * Revision 1.3 2002/08/12 01:35:04 steve - * conditional ident string using autoconfig. - * - * Revision 1.2 2002/08/11 23:47:04 steve - * Add missing Log and Ident strings. - * - */ diff --git a/vpi/stringheap.c b/vpi/stringheap.c index badd7c470..051b9aa9e 100644 --- a/vpi/stringheap.c +++ b/vpi/stringheap.c @@ -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: stringheap.c,v 1.3 2004/01/21 01:22:53 steve Exp $" -#endif # include "sys_priv.h" # include "stringheap.h" @@ -63,16 +60,3 @@ const char*strdup_sh(struct stringheap_s*hp, const char*txt) return res; } -/* - * $Log: stringheap.c,v $ - * Revision 1.3 2004/01/21 01:22:53 steve - * Give the vip directory its own configure and vpi_config.h - * - * Revision 1.2 2003/04/28 01:03:11 steve - * Fix stringheap list management failure. - * - * Revision 1.1 2003/02/13 18:13:28 steve - * Make lxt use stringheap to perm-allocate strings. - * - */ - diff --git a/vpi/stringheap.h b/vpi/stringheap.h index 9db1e6d06..f0c6546a4 100644 --- a/vpi/stringheap.h +++ b/vpi/stringheap.h @@ -18,9 +18,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: stringheap.h,v 1.1 2003/02/13 18:13:28 steve Exp $" -#endif struct stringheap_cell; @@ -34,10 +31,4 @@ struct stringheap_s { */ const char*strdup_sh(struct stringheap_s*hp, const char*str); -/* - * $Log: stringheap.h,v $ - * Revision 1.1 2003/02/13 18:13:28 steve - * Make lxt use stringheap to perm-allocate strings. - * - */ #endif diff --git a/vpi/sys_deposit.c b/vpi/sys_deposit.c index a17f54737..e0170d075 100644 --- a/vpi/sys_deposit.c +++ b/vpi/sys_deposit.c @@ -17,9 +17,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: sys_deposit.c,v 1.7 2007/03/14 04:05:51 steve Exp $" -#endif # include "vpi_config.h" @@ -106,30 +103,3 @@ void sys_deposit_register() vpi_register_systf(&tf_data); } - -/* - * $Log: sys_deposit.c,v $ - * Revision 1.7 2007/03/14 04:05:51 steve - * VPI tasks take PLI_BYTE* by the standard. - * - * Revision 1.6 2006/10/30 22:45:37 steve - * Updates for Cygwin portability (pr1585922) - * - * Revision 1.5 2004/10/04 01:10:58 steve - * Clean up spurious trailing white space. - * - * Revision 1.4 2004/01/21 01:22:53 steve - * Give the vip directory its own configure and vpi_config.h - * - * Revision 1.3 2002/08/12 01:35:04 steve - * conditional ident string using autoconfig. - * - * Revision 1.2 2001/07/25 03:10:50 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.1 2001/04/26 00:01:33 steve - * Support $deposit to a wire or reg. - * - */ - diff --git a/vpi/sys_random.c b/vpi/sys_random.c index 41c91d110..dc27b0466 100644 --- a/vpi/sys_random.c +++ b/vpi/sys_random.c @@ -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: sys_random.c,v 1.16 2007/03/14 04:05:51 steve Exp $" -#endif # include "sys_priv.h" diff --git a/vpi/sys_random_mti.c b/vpi/sys_random_mti.c index c19942d7e..8945ca9e8 100644 --- a/vpi/sys_random_mti.c +++ b/vpi/sys_random_mti.c @@ -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: sys_random_mti.c,v 1.5 2007/03/14 04:05:51 steve Exp $" -#endif # include "sys_priv.h" @@ -200,23 +197,3 @@ void sys_random_mti_register() vpi_register_systf(&tf_data); } -/* - * $Log: sys_random_mti.c,v $ - * Revision 1.5 2007/03/14 04:05:51 steve - * VPI tasks take PLI_BYTE* by the standard. - * - * Revision 1.4 2006/10/30 22:45:37 steve - * Updates for Cygwin portability (pr1585922) - * - * Revision 1.3 2004/10/04 01:10:58 steve - * Clean up spurious trailing white space. - * - * Revision 1.2 2004/10/04 00:14:08 steve - * MTI functions only user Mersene Twister - * - * Revision 1.1 2004/06/09 22:14:10 steve - * Move Mersenne Twister to $mti_random, and make - * the standard $random standard. Also, add $dist_poisson. - * - */ - diff --git a/vpi/sys_readmem.c b/vpi/sys_readmem.c index 402280c28..614f6548a 100644 --- a/vpi/sys_readmem.c +++ b/vpi/sys_readmem.c @@ -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: sys_readmem.c,v 1.19 2007/03/14 04:05:51 steve Exp $" -#endif # include "vpi_config.h" @@ -584,65 +581,3 @@ void sys_readmem_register() vpi_register_systf(&tf_data); } -/* - * $Log: sys_readmem.c,v $ - * Revision 1.19 2007/03/14 04:05:51 steve - * VPI tasks take PLI_BYTE* by the standard. - * - * Revision 1.18 2006/10/30 22:45:37 steve - * Updates for Cygwin portability (pr1585922) - * - * Revision 1.17 2006/04/25 05:00:12 steve - * Warning when file is inadequate for requested range. - * - * Revision 1.16 2004/10/04 01:10:58 steve - * Clean up spurious trailing white space. - * - * Revision 1.15 2004/01/21 01:22:53 steve - * Give the vip directory its own configure and vpi_config.h - * - * Revision 1.14 2003/12/19 01:27:10 steve - * Fix various unsigned compare warnings. - * - * Revision 1.13 2003/05/10 16:06:50 steve - * $readmem more flexible with file name argument. - * - * Revision 1.12 2003/04/23 04:57:41 steve - * Accept string parameters for file name argument. - * - * Revision 1.11 2002/08/12 01:35:05 steve - * conditional ident string using autoconfig. - * - * Revision 1.10 2002/02/06 04:50:22 steve - * Add writememb (Tom Verbeure) - * - * Revision 1.9 2002/01/31 04:28:17 steve - * Full support for $readmem ranges (Tom Verbeure) - * - * Revision 1.8 2001/12/01 02:40:10 steve - * Support addresses in readmemh. - * - * Revision 1.7 2001/11/09 03:39:21 steve - * Support $writememh - * - * Revision 1.6 2001/07/25 03:10:50 steve - * Create a config.h.in file to hold all the config - * junk, and support gcc 3.0. (Stephan Boettcher) - * - * Revision 1.5 2000/02/23 02:56:56 steve - * Macintosh compilers do not support ident. - * - * Revision 1.4 2000/01/23 23:54:36 steve - * Compile time problems with vpi_user.h - * - * Revision 1.3 1999/12/15 04:35:34 steve - * Add readmemb. - * - * Revision 1.2 1999/12/15 04:02:38 steve - * Excess warning. - * - * Revision 1.1 1999/12/15 04:01:14 steve - * Add the VPI implementation of $readmemh. - * - */ - diff --git a/vpi/sys_readmem_lex.h b/vpi/sys_readmem_lex.h index 903f69532..d8258b98a 100644 --- a/vpi/sys_readmem_lex.h +++ b/vpi/sys_readmem_lex.h @@ -18,9 +18,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: sys_readmem_lex.h,v 1.4 2002/08/12 01:35:05 steve Exp $" -#endif # include # include "vpi_user.h" @@ -32,19 +29,4 @@ extern void sys_readmem_start_file(FILE*in, int bin_flag, unsigned width, struct t_vpi_vecval*val); extern int readmemlex(); -/* - * $Log: sys_readmem_lex.h,v $ - * Revision 1.4 2002/08/12 01:35:05 steve - * conditional ident string using autoconfig. - * - * Revision 1.3 2000/08/20 17:49:05 steve - * Clean up warnings and portability issues. - * - * Revision 1.2 2000/01/23 23:54:36 steve - * Compile time problems with vpi_user.h - * - * Revision 1.1 1999/12/15 04:01:14 steve - * Add the VPI implementation of $readmemh. - * - */ #endif diff --git a/vpi/sys_readmem_lex.lex b/vpi/sys_readmem_lex.lex index 1755d25af..5205507c8 100644 --- a/vpi/sys_readmem_lex.lex +++ b/vpi/sys_readmem_lex.lex @@ -21,9 +21,7 @@ * 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_readmem_lex.lex,v 1.8 2003/08/26 16:26:02 steve Exp $" -#endif + # include "sys_readmem_lex.h" # include static void make_addr(); diff --git a/vvp/bufif.cc b/vvp/bufif.cc index 9b11e2ee3..edd9170fa 100644 --- a/vvp/bufif.cc +++ b/vvp/bufif.cc @@ -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: bufif.cc,v 1.14 2005/06/22 00:04:48 steve Exp $" -#endif # include "bufif.h" # include "schedule.h" @@ -84,35 +81,3 @@ void vvp_fun_bufif::recv_vec4(vvp_net_ptr_t ptr, const vvp_vector4_t&bit, vvp_send_vec8(ptr.ptr()->out, out); } - - -/* - * $Log: bufif.cc,v $ - * Revision 1.14 2005/06/22 00:04:48 steve - * Reduce vvp_vector4 copies by using const references. - * - * Revision 1.13 2005/06/02 16:02:11 steve - * Add support for notif0/1 gates. - * Make delay nodes support inertial delay. - * Add the %force/link instruction. - * - * Revision 1.12 2005/04/13 06:34:20 steve - * Add vvp driver functor for logic outputs, - * Add ostream output operators for debugging. - * - * Revision 1.11 2005/03/12 04:27:42 steve - * Implement VPI access to signal strengths, - * Fix resolution of ambiguous drive pairs, - * Fix spelling of scalar. - * - * Revision 1.10 2005/02/07 22:42:42 steve - * Add .repeat functor and BIFIF functors. - * - * Revision 1.9 2002/09/06 04:56:28 steve - * Add support for %v is the display system task. - * Change the encoding of H and L outputs from - * the bufif devices so that they are logic x. - * - * Revision 1.8 2002/08/12 01:35:07 steve - * conditional ident string using autoconfig. - */ diff --git a/vvp/bufif.h b/vvp/bufif.h index 6c55c21f8..133018fe4 100644 --- a/vvp/bufif.h +++ b/vvp/bufif.h @@ -18,9 +18,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: bufif.h,v 1.8 2005/06/22 00:04:48 steve Exp $" -#endif # include "vvp_net.h" @@ -52,36 +49,4 @@ class vvp_fun_bufif : public vvp_net_fun_t { unsigned drive1_ : 8; }; -/* - * $Log: bufif.h,v $ - * Revision 1.8 2005/06/22 00:04:48 steve - * Reduce vvp_vector4 copies by using const references. - * - * Revision 1.7 2005/02/07 22:42:42 steve - * Add .repeat functor and BIFIF functors. - * - * Revision 1.6 2002/09/06 04:56:29 steve - * Add support for %v is the display system task. - * Change the encoding of H and L outputs from - * the bufif devices so that they are logic x. - * - * Revision 1.5 2002/08/12 01:35:07 steve - * conditional ident string using autoconfig. - * - * Revision 1.4 2002/07/05 20:08:44 steve - * Count different types of functors. - * - * Revision 1.3 2001/12/14 06:03:17 steve - * Arrange bufif to support notif as well. - * - * Revision 1.2 2001/10/31 04:27:46 steve - * Rewrite the functor type to have fewer functor modes, - * and use objects to manage the different types. - * (Stephan Boettcher) - * - * Revision 1.1 2001/05/31 04:12:43 steve - * Make the bufif0 and bufif1 gates strength aware, - * and accurately propagate strengths of outputs. - * - */ #endif diff --git a/vvp/codes.cc b/vvp/codes.cc index 8c161c4aa..7499e071d 100644 --- a/vvp/codes.cc +++ b/vvp/codes.cc @@ -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: codes.cc,v 1.14 2003/08/01 00:58:03 steve Exp $" -#endif # include "codes.h" # include "statistics.h" @@ -95,21 +92,3 @@ vvp_code_t codespace_null(void) return first_chunk + 0; } -/* - * $Log: codes.cc,v $ - * Revision 1.14 2003/08/01 00:58:03 steve - * Initialize allocated memory. - * - * Revision 1.13 2003/07/03 20:03:36 steve - * Remove the vvp_cpoint_t indirect code pointer. - * - * Revision 1.12 2002/08/12 01:35:07 steve - * conditional ident string using autoconfig. - * - * Revision 1.11 2002/07/05 03:46:43 steve - * Track opcode memory space. - * - * Revision 1.10 2002/07/05 02:50:58 steve - * Remove the vpi object symbol table after compile. - */ - diff --git a/vvp/concat.cc b/vvp/concat.cc index b17562459..bab8f2ab2 100644 --- a/vvp/concat.cc +++ b/vvp/concat.cc @@ -16,7 +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 */ -#ident "$Id: concat.cc,v 1.5 2005/06/22 00:04:48 steve Exp $" # include "compile.h" # include "vvp_net.h" diff --git a/vvp/dff.h b/vvp/dff.h index 884541334..2915ee960 100644 --- a/vvp/dff.h +++ b/vvp/dff.h @@ -18,7 +18,6 @@ * 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: dff.h,v 1.2 2005/06/22 00:04:49 steve Exp $" # include "vvp_net.h" diff --git a/vvp/extend.cc b/vvp/extend.cc index 4927026fa..93dc1e99c 100644 --- a/vvp/extend.cc +++ b/vvp/extend.cc @@ -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: extend.cc,v 1.3 2005/06/22 00:04:49 steve Exp $" -#endif # include "vvp_net.h" # include "compile.h" diff --git a/vvp/ivl_dlfcn.h b/vvp/ivl_dlfcn.h index f6d71a030..129c959f0 100644 --- a/vvp/ivl_dlfcn.h +++ b/vvp/ivl_dlfcn.h @@ -18,9 +18,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: ivl_dlfcn.h,v 1.10 2004/10/04 01:10:59 steve Exp $" -#endif #if defined(__MINGW32__) # include @@ -94,41 +91,4 @@ inline const char*dlerror(void) { return strerror( errno ); } #endif -/* - * $Log: ivl_dlfcn.h,v $ - * Revision 1.10 2004/10/04 01:10:59 steve - * Clean up spurious trailing white space. - * - * Revision 1.9 2003/12/12 05:43:08 steve - * Some systems dlsym requires leading _ or not on whim. - * - * Revision 1.8 2003/02/16 05:42:06 steve - * Take the global_flag to ivl_dlopen. - * - * Revision 1.7 2003/02/16 02:21:20 steve - * Support .vpl files as loadable LIBRARIES. - * - * Revision 1.6 2002/11/05 02:11:56 steve - * Better error message for load failure on Windows. - * - * Revision 1.5 2002/08/12 01:35:08 steve - * conditional ident string using autoconfig. - * - * Revision 1.4 2002/01/23 04:54:38 steve - * Load modules with RTLD_LAZY - * - * Revision 1.3 2001/05/22 02:14:47 steve - * Update the mingw build to not require cygwin files. - * - * Revision 1.2 2001/05/20 15:09:40 steve - * Mingw32 support (Venkat Iyer) - * - * Revision 1.1 2001/03/16 01:44:34 steve - * Add structures for VPI support, and all the %vpi_call - * instruction. Get linking of VPI modules to work. - * - * Revision 1.1 2001/01/14 17:12:59 steve - * possible HP/UX portability support. - * - */ #endif diff --git a/vvp/libvpi.c b/vvp/libvpi.c index aa65970a1..369a6df06 100644 --- a/vvp/libvpi.c +++ b/vvp/libvpi.c @@ -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: libvpi.c,v 1.2 2003/01/19 00:03:23 steve Exp $" -#endif /* * Things that should be statically linked by VPI modules go here. @@ -27,13 +24,3 @@ void __libvpi_c_dummy_function() { } - -/* - * $Log: libvpi.c,v $ - * Revision 1.2 2003/01/19 00:03:23 steve - * Add a dummy function to reduce confusion on some systems. - * - * Revision 1.1 2003/01/10 03:06:32 steve - * Remove vpithunk, and move libvpi to vvp directory. - * - */ diff --git a/vvp/npmos.cc b/vvp/npmos.cc index 1d8db67b5..72464ef68 100644 --- a/vvp/npmos.cc +++ b/vvp/npmos.cc @@ -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: npmos.cc,v 1.14 2007/06/12 02:25:00 steve Exp $" -#endif # include "npmos.h" diff --git a/vvp/npmos.h b/vvp/npmos.h index 31d36400a..c5defe087 100644 --- a/vvp/npmos.h +++ b/vvp/npmos.h @@ -18,9 +18,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: npmos.h,v 1.8 2005/06/22 00:04:49 steve Exp $" -#endif # include "vvp_net.h" diff --git a/vvp/parse_misc.cc b/vvp/parse_misc.cc index 08d68fe36..641b03127 100644 --- a/vvp/parse_misc.cc +++ b/vvp/parse_misc.cc @@ -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: parse_misc.cc,v 1.9 2006/09/23 04:57:20 steve Exp $" -#endif # include "parse_misc.h" # include "compile.h" @@ -103,38 +100,3 @@ void argv_sym_lookup(struct argv_s*obj) free(obj->syms); } -/* - * $Log: parse_misc.cc,v $ - * Revision 1.9 2006/09/23 04:57:20 steve - * Basic support for specify timing. - * - * Revision 1.8 2002/08/12 01:35:08 steve - * conditional ident string using autoconfig. - * - * Revision 1.7 2001/09/15 18:27:05 steve - * Make configure detect malloc.h - * - * Revision 1.6 2001/07/11 04:43:57 steve - * support postpone of $systask parameters. (Stephan Boettcher) - * - * Revision 1.5 2001/05/02 23:16:50 steve - * Document memory related opcodes, - * parser uses numbv_s structures instead of the - * symbv_s and a mess of unions, - * Add the %is/sub instruction. - * (Stephan Boettcher) - * - * Revision 1.4 2001/05/01 01:09:39 steve - * Add support for memory objects. (Stephan Boettcher) - * - * Revision 1.3 2001/03/20 06:16:24 steve - * Add support for variable vectors. - * - * Revision 1.2 2001/03/18 04:35:18 steve - * Add support for string constants to VPI. - * - * Revision 1.1 2001/03/11 00:29:39 steve - * Add the vvp engine to cvs. - * - */ - diff --git a/vvp/pointers.h b/vvp/pointers.h index a74e7a513..2823c62c7 100644 --- a/vvp/pointers.h +++ b/vvp/pointers.h @@ -18,9 +18,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: pointers.h,v 1.11 2005/04/03 05:45:51 steve Exp $" -#endif /* * This header file describes the various "pointer" integral types @@ -105,44 +102,4 @@ typedef struct vvp_fvector_s *vvp_fvector_t; /* Forward declarations. */ class vvp_delay_t; -/* - * $Log: pointers.h,v $ - * Revision 1.11 2005/04/03 05:45:51 steve - * Rework the vvp_delay_t class. - * - * Revision 1.10 2003/07/03 20:03:36 steve - * Remove the vvp_cpoint_t indirect code pointer. - * - * Revision 1.9 2002/08/12 01:35:08 steve - * conditional ident string using autoconfig. - * - * Revision 1.8 2001/12/06 03:31:25 steve - * Support functor delays for gates and UDP devices. - * (Stephan Boettcher) - * - * Revision 1.7 2001/11/07 03:34:42 steve - * Use functor pointers where vvp_ipoint_t is unneeded. - * - * Revision 1.6 2001/10/31 04:27:47 steve - * Rewrite the functor type to have fewer functor modes, - * and use objects to manage the different types. - * (Stephan Boettcher) - * - * Revision 1.5 2001/08/08 01:05:06 steve - * Initial implementation of vvp_fvectors. - * (Stephan Boettcher) - * - * Revision 1.4 2001/04/26 03:10:55 steve - * Redo and simplify UDP behavior. - * - * Revision 1.3 2001/03/26 04:00:39 steve - * Add the .event statement and the %wait instruction. - * - * Revision 1.2 2001/03/20 06:16:24 steve - * Add support for variable vectors. - * - * Revision 1.1 2001/03/11 00:29:39 steve - * Add the vvp engine to cvs. - * - */ #endif diff --git a/vvp/reduce.cc b/vvp/reduce.cc index 0ed283daf..d1e936662 100644 --- a/vvp/reduce.cc +++ b/vvp/reduce.cc @@ -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: reduce.cc,v 1.4 2006/05/01 20:47:03 steve Exp $" -#endif # include "compile.h" # include "schedule.h" diff --git a/vvp/udp.h b/vvp/udp.h index 313f516e8..80c5d0648 100644 --- a/vvp/udp.h +++ b/vvp/udp.h @@ -21,9 +21,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: udp.h,v 1.20 2006/05/18 05:13:45 steve Exp $" -#endif # include # include @@ -242,27 +239,4 @@ class vvp_udp_fun_core : public vvp_wide_fun_core, private vvp_gen_event_s { udp_levels_table current_; }; - - -/* - * $Log: udp.h,v $ - * Revision 1.20 2006/05/18 05:13:45 steve - * Synchronous primitives only follow edges. - * - * Revision 1.19 2005/06/11 16:21:08 steve - * UD delays use delay node. - * - * Revision 1.18 2005/06/09 05:04:45 steve - * Support UDP initial values. - * - * Revision 1.17 2005/06/09 04:12:30 steve - * Support sequential UDP devices. - * - * Revision 1.16 2005/04/03 05:45:51 steve - * Rework the vvp_delay_t class. - * - * Revision 1.15 2005/04/01 06:02:45 steve - * Reimplement combinational UDPs. - * - */ #endif diff --git a/vvp/vpi_iter.cc b/vvp/vpi_iter.cc index 8ffff0528..47678117b 100644 --- a/vvp/vpi_iter.cc +++ b/vvp/vpi_iter.cc @@ -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: vpi_iter.cc,v 1.7 2003/02/25 01:17:28 steve Exp $" -#endif /* * Find here the methods functions in support of iterator objects. diff --git a/vvp/vpi_mcd.cc b/vvp/vpi_mcd.cc index f81e1d381..9d2ff2aa8 100644 --- a/vvp/vpi_mcd.cc +++ b/vvp/vpi_mcd.cc @@ -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: vpi_mcd.cc,v 1.13 2006/08/03 05:05:31 steve Exp $" -#endif # include "vpi_priv.h" # include @@ -244,35 +241,3 @@ extern "C" FILE *vpi_get_file(PLI_INT32 fd) return fd_table[FD_IDX(fd)].fp; } -/* - * $Log: vpi_mcd.cc,v $ - * Revision 1.13 2006/08/03 05:05:31 steve - * Better comments for vpi_fopen function. - * - * Revision 1.12 2004/10/04 01:10:59 steve - * Clean up spurious trailing white space. - * - * Revision 1.11 2003/07/21 01:20:59 steve - * vpi_mcd_vprintf can only scan the va_list once. - * - * Revision 1.10 2003/05/23 04:04:02 steve - * Add vpi_fopen and vpi_get_file. - * - * Revision 1.9 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.8 2002/08/12 01:35:09 steve - * conditional ident string using autoconfig. - * - * Revision 1.7 2002/08/11 23:47:05 steve - * Add missing Log and Ident strings. - * - */ diff --git a/vvp/vvp_vpi.cc b/vvp/vvp_vpi.cc index db2622b01..f532c0135 100644 --- a/vvp/vvp_vpi.cc +++ b/vvp/vvp_vpi.cc @@ -1,6 +1,3 @@ -#ifdef HAVE_CVS_IDENT -#ident "$Id: vvp_vpi.cc,v 1.8 2003/01/10 19:01:38 steve Exp $" -#endif #include #include "vpi_user.h" @@ -10,9 +7,3 @@ void vvp_vpi_init() { } -/* - * $Log: vvp_vpi.cc,v $ - * Revision 1.8 2003/01/10 19:01:38 steve - * Remove thunks from vpi init. - * - */