From 8b581cef46b5eb7298d1ca47efa20ca3fd773117 Mon Sep 17 00:00:00 2001 From: steve Date: Tue, 26 Sep 2000 01:35:42 +0000 Subject: [PATCH] Remove the obsolete NetEIdent class. --- design_dump.cc | 48 +---------- emit.cc | 122 +-------------------------- netlist.cc | 80 +----------------- netlist.h | 218 +------------------------------------------------ t-verilog.cc | 52 +----------- t-vvm.cc | 148 +-------------------------------- target.cc | 138 +------------------------------ target.h | 37 +-------- 8 files changed, 32 insertions(+), 811 deletions(-) diff --git a/design_dump.cc b/design_dump.cc index 95806bc92..758505417 100644 --- a/design_dump.cc +++ b/design_dump.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: design_dump.cc,v 1.97 2000/09/17 21:26:15 steve Exp $" +#ident "$Id: design_dump.cc,v 1.98 2000/09/26 01:35:42 steve Exp $" #endif /* @@ -871,11 +871,6 @@ void NetEConst::dump(ostream&o) const o << value_; } -void NetEIdent::dump(ostream&o) const -{ - o << name_; -} - void NetEScope::dump(ostream&o) const { o << "name() << ">"; @@ -976,6 +971,9 @@ void Design::dump(ostream&o) const /* * $Log: design_dump.cc,v $ + * Revision 1.98 2000/09/26 01:35:42 steve + * Remove the obsolete NetEIdent class. + * * Revision 1.97 2000/09/17 21:26:15 steve * Add support for modulus (Eric Aardoom) * @@ -1063,43 +1061,5 @@ void Design::dump(ostream&o) const * Get synthesis working with the NetEvWait class, * and get started supporting multiple events in a * wait in vvm. - * - * Revision 1.75 2000/04/12 04:23:57 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.74 2000/04/10 05:26:05 steve - * All events now use the NetEvent class. - * - * Revision 1.73 2000/04/04 03:20:15 steve - * Simulate named event trigger and waits. - * - * Revision 1.72 2000/04/02 04:26:06 steve - * Remove the useless sref template. - * - * Revision 1.71 2000/04/01 21:40:22 steve - * Add support for integer division. - * - * Revision 1.70 2000/03/29 04:37:10 steve - * New and improved combinational primitives. - * - * Revision 1.69 2000/03/12 17:09:40 steve - * Support localparam. - * - * Revision 1.68 2000/03/08 04:36:53 steve - * Redesign the implementation of scopes and parameters. - * I now generate the scopes and notice the parameters - * in a separate pass over the pform. Once the scopes - * are generated, I can process overrides and evalutate - * paremeters before elaboration begins. */ diff --git a/emit.cc b/emit.cc index 418ab7071..3ee29d4d0 100644 --- a/emit.cc +++ b/emit.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: emit.cc,v 1.53 2000/09/17 21:26:15 steve Exp $" +#ident "$Id: emit.cc,v 1.54 2000/09/26 01:35:42 steve Exp $" #endif /* @@ -417,11 +417,6 @@ void NetEConst::expr_scan(struct expr_scan_t*tgt) const tgt->expr_const(this); } -void NetEIdent::expr_scan(struct expr_scan_t*tgt) const -{ - tgt->expr_ident(this); -} - void NetEMemory::expr_scan(struct expr_scan_t*tgt) const { tgt->expr_memory(this); @@ -481,6 +476,9 @@ bool emit(const Design*des, const char*type) /* * $Log: emit.cc,v $ + * Revision 1.54 2000/09/26 01:35:42 steve + * Remove the obsolete NetEIdent class. + * * Revision 1.53 2000/09/17 21:26:15 steve * Add support for modulus (Eric Aardoom) * @@ -540,117 +538,5 @@ bool emit(const Design*des, const char*type) * Do not generate NetPEvent or NetNEvent objects in * elaboration. NetEvent, NetEvWait and NetEvProbe * take over those functions in the netlist. - * - * Revision 1.38 2000/04/10 05:26:06 steve - * All events now use the NetEvent class. - * - * Revision 1.37 2000/04/04 03:20:15 steve - * Simulate named event trigger and waits. - * - * Revision 1.36 2000/04/01 21:40:22 steve - * Add support for integer division. - * - * Revision 1.35 2000/03/29 04:37:11 steve - * New and improved combinational primitives. - * - * Revision 1.34 2000/03/08 04:36:53 steve - * Redesign the implementation of scopes and parameters. - * I now generate the scopes and notice the parameters - * in a separate pass over the pform. Once the scopes - * are generated, I can process overrides and evalutate - * paremeters before elaboration begins. - * - * Revision 1.33 2000/02/23 02:56:54 steve - * Macintosh compilers do not support ident. - * - * Revision 1.32 2000/01/13 03:35:35 steve - * Multiplication all the way to simulation. - * - * Revision 1.31 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.30 1999/11/27 19:07:57 steve - * Support the creation of scopes. - * - * Revision 1.29 1999/11/21 00:13:08 steve - * Support memories in continuous assignments. - * - * Revision 1.28 1999/11/14 23:43:45 steve - * Support combinatorial comparators. - * - * Revision 1.27 1999/11/14 20:24:28 steve - * Add support for the LPM_CLSHIFT device. - * - * Revision 1.26 1999/11/04 03:53:26 steve - * Patch to synthesize unary ~ and the ternary operator. - * Thanks to Larry Doolittle . - * - * Add the LPM_MUX device, and integrate it with the - * ternary synthesis from Larry. Replace the lpm_mux - * generator in t-xnf.cc to use XNF EQU devices to - * put muxs into function units. - * - * Rewrite elaborate_net for the PETernary class to - * also use the LPM_MUX device. - * - * Revision 1.25 1999/11/01 02:07:40 steve - * Add the synth functor to do generic synthesis - * and add the LPM_FF device to handle rows of - * flip-flops. - * - * Revision 1.24 1999/10/10 01:59:54 steve - * Structural case equals device. - * - * Revision 1.23 1999/09/22 16:57:23 steve - * Catch parallel blocks in vvm emit. - * - * Revision 1.22 1999/09/20 02:21:10 steve - * Elaborate parameters in phases. - * - * Revision 1.21 1999/09/15 01:55:06 steve - * Elaborate non-blocking assignment to memories. - * - * Revision 1.20 1999/09/03 04:28:38 steve - * elaborate the binary plus operator. - * - * Revision 1.19 1999/08/31 22:38:29 steve - * Elaborate and emit to vvm procedural functions. - * - * Revision 1.18 1999/07/17 19:50:59 steve - * netlist support for ternary operator. - * - * Revision 1.17 1999/07/17 03:39:11 steve - * simplified process scan for targets. - * - * Revision 1.16 1999/07/07 04:20:57 steve - * Emit vvm for user defined tasks. - * - * Revision 1.15 1999/07/03 02:12:51 steve - * Elaborate user defined tasks. - * - * Revision 1.14 1999/06/19 21:06:16 steve - * Elaborate and supprort to vvm the forever - * and repeat statements. - * - * Revision 1.13 1999/06/09 03:00:06 steve - * Add support for procedural concatenation expression. - * - * Revision 1.12 1999/06/06 20:45:38 steve - * Add parse and elaboration of non-blocking assignments, - * Replace list with an svector version, - * Add integer support. - * - * Revision 1.11 1999/05/12 04:03:19 steve - * emit NetAssignMem objects in vvm target. - * - * Revision 1.10 1999/05/07 01:21:18 steve - * Handle total lack of nodes and signals. - * - * Revision 1.9 1999/05/01 02:57:53 steve - * Handle much more complex event expressions. - * - * Revision 1.8 1999/04/25 00:44:10 steve - * Core handles subsignal expressions. */ diff --git a/netlist.cc b/netlist.cc index 00d6ae9c6..fcce36da2 100644 --- a/netlist.cc +++ b/netlist.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: netlist.cc,v 1.137 2000/09/24 15:44:44 steve Exp $" +#ident "$Id: netlist.cc,v 1.138 2000/09/26 01:35:42 steve Exp $" #endif # include @@ -1945,11 +1945,6 @@ NetEConst* NetEConst::dup_expr() const return tmp; } -NetEIdent* NetEIdent::dup_expr() const -{ - assert(0); -} - NetEMemory::NetEMemory(NetMemory*m, NetExpr*i) : NetExpr(m->width()), mem_(m), idx_(i) { @@ -2400,6 +2395,9 @@ bool NetUDP::sequ_glob_(string input, char output) /* * $Log: netlist.cc,v $ + * Revision 1.138 2000/09/26 01:35:42 steve + * Remove the obsolete NetEIdent class. + * * Revision 1.137 2000/09/24 15:44:44 steve * Move some NetNet method out of the header file. * @@ -2465,75 +2463,5 @@ bool NetUDP::sequ_glob_(string input, char output) * Revision 1.122 2000/05/04 03:37:58 steve * Add infrastructure for system functions, move * $time to that structure and add $random. - * - * Revision 1.121 2000/05/02 03:13:31 steve - * Move memories to the NetScope object. - * - * Revision 1.120 2000/05/02 00:58:12 steve - * Move signal tables to the NetScope class. - * - * Revision 1.119 2000/04/28 18:43:23 steve - * integer division in expressions properly get width. - * - * Revision 1.118 2000/04/23 03:45:24 steve - * Add support for the procedural release statement. - * - * Revision 1.117 2000/04/22 04:20:19 steve - * Add support for force assignment. - * - * Revision 1.116 2000/04/18 01:02:54 steve - * Minor cleanup of NetTaskDef. - * - * Revision 1.115 2000/04/16 23:32:19 steve - * Synthesis of comparator in expressions. - * - * Connect the NetEvent and related classes - * together better. - * - * Revision 1.114 2000/04/15 19:51:30 steve - * fork-join support in vvm. - * - * Revision 1.113 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.112 2000/04/04 03:20:15 steve - * Simulate named event trigger and waits. - * - * Revision 1.111 2000/04/02 04:26:06 steve - * Remove the useless sref template. - * - * Revision 1.110 2000/04/01 21:40:22 steve - * Add support for integer division. - * - * Revision 1.109 2000/03/29 04:37:11 steve - * New and improved combinational primitives. - * - * Revision 1.108 2000/03/12 17:09:41 steve - * Support localparam. - * - * Revision 1.107 2000/03/10 06:20:48 steve - * Handle defparam to partial hierarchical names. - * - * Revision 1.106 2000/03/08 04:36:53 steve - * Redesign the implementation of scopes and parameters. - * I now generate the scopes and notice the parameters - * in a separate pass over the pform. Once the scopes - * are generated, I can process overrides and evalutate - * paremeters before elaboration begins. - * - * Revision 1.105 2000/02/23 02:56:54 steve - * Macintosh compilers do not support ident. - * - * Revision 1.104 2000/01/13 03:35:35 steve - * Multiplication all the way to simulation. - * - * Revision 1.103 2000/01/10 01:35:24 steve - * Elaborate parameters afer binding of overrides. - * - * Revision 1.102 1999/12/30 04:19:12 steve - * Propogate constant 0 in low bits of adders. */ diff --git a/netlist.h b/netlist.h index a48abbf2b..0a9080b0a 100644 --- a/netlist.h +++ b/netlist.h @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: netlist.h,v 1.166 2000/09/24 17:41:13 steve Exp $" +#ident "$Id: netlist.h,v 1.167 2000/09/26 01:35:42 steve Exp $" #endif /* @@ -2393,24 +2393,6 @@ class NetEUBits : public NetEUnary { }; -/* System identifiers are represented here. */ -class NetEIdent : public NetExpr { - - public: - NetEIdent(const string&n, unsigned w) - : NetExpr(w), name_(n) { } - - const string& name() const { return name_; } - - NetEIdent* dup_expr() const; - - virtual void expr_scan(struct expr_scan_t*) const; - virtual void dump(ostream&) const; - - private: - string name_; -}; - /* * A reference to a memory is represented by this expression. If the * index is not supplied, then the node is only valid in certain @@ -2799,6 +2781,9 @@ extern ostream& operator << (ostream&, NetNet::Type); /* * $Log: netlist.h,v $ + * Revision 1.167 2000/09/26 01:35:42 steve + * Remove the obsolete NetEIdent class. + * * Revision 1.166 2000/09/24 17:41:13 steve * fix null pointer when elaborating undefined task. * @@ -2837,200 +2822,5 @@ extern ostream& operator << (ostream&, NetNet::Type); * * Revision 1.155 2000/08/09 03:43:45 steve * Move all file manipulation out of target class. - * - * Revision 1.154 2000/08/08 01:50:42 steve - * target methods need not take a file stream. - * - * Revision 1.153 2000/08/02 14:48:15 steve - * cleanup. - * - * Revision 1.152 2000/08/01 02:48:42 steve - * Support <= in synthesis of DFF and ram devices. - * - * Revision 1.151 2000/07/30 18:25:44 steve - * Rearrange task and function elaboration so that the - * NetTaskDef and NetFuncDef functions are created during - * signal enaboration, and carry these objects in the - * NetScope class instead of the extra, useless map in - * the Design class. - * - * Revision 1.150 2000/07/29 16:21:08 steve - * Report code generation errors through proc_delay. - * - * Revision 1.149 2000/07/27 05:13:44 steve - * Support elaboration of disable statements. - * - * Revision 1.148 2000/07/22 22:09:04 steve - * Parse and elaborate timescale to scopes. - * - * Revision 1.147 2000/07/16 04:56:08 steve - * Handle some edge cases during node scans. - * - * Revision 1.146 2000/07/15 05:13:44 steve - * Detect muxing Vz as a bufufN. - * - * Revision 1.145 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.144 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. - * - * Revision 1.143 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.142 2000/06/24 22:55:20 steve - * Get rid of useless next_link method. - * - * Revision 1.141 2000/06/13 03:24:48 steve - * Index in memory assign should be a NetExpr. - * - * Revision 1.140 2000/05/31 02:26:49 steve - * Globally merge redundant event objects. - * - * Revision 1.139 2000/05/27 19:33:23 steve - * Merge similar probes within a module. - * - * Revision 1.138 2000/05/11 23:37:27 steve - * Add support for procedural continuous assignment. - * - * Revision 1.137 2000/05/07 18:20:07 steve - * Import MCD support from Stephen Tell, and add - * system function parameter support to the IVL core. - * - * Revision 1.136 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.135 2000/05/04 03:37:58 steve - * Add infrastructure for system functions, move - * $time to that structure and add $random. - * - * Revision 1.134 2000/05/02 03:13:31 steve - * Move memories to the NetScope object. - * - * Revision 1.133 2000/05/02 00:58:12 steve - * Move signal tables to the NetScope class. - * - * Revision 1.132 2000/04/28 18:43:23 steve - * integer division in expressions properly get width. - * - * Revision 1.131 2000/04/28 16:50:53 steve - * Catch memory word parameters to tasks. - * - * Revision 1.130 2000/04/23 21:17:31 steve - * Better comments about bufif devices. - * - * Revision 1.129 2000/04/23 21:15:07 steve - * Emit code for the bufif devices. - * - * Revision 1.128 2000/04/23 03:45:24 steve - * Add support for the procedural release statement. - * - * Revision 1.127 2000/04/22 04:20:19 steve - * Add support for force assignment. - * - * Revision 1.126 2000/04/20 00:28:03 steve - * Catch some simple identity compareoptimizations. - * - * Revision 1.125 2000/04/18 04:50:20 steve - * Clean up unneeded NetEvent objects. - * - * Revision 1.124 2000/04/18 01:02:54 steve - * Minor cleanup of NetTaskDef. - * - * Revision 1.123 2000/04/16 23:32:19 steve - * Synthesis of comparator in expressions. - * - * Connect the NetEvent and related classes - * together better. - * - * Revision 1.122 2000/04/15 19:51:30 steve - * fork-join support in vvm. - * - * Revision 1.121 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.120 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.119 2000/04/10 05:26:06 steve - * All events now use the NetEvent class. - * - * Revision 1.118 2000/04/04 03:20:15 steve - * Simulate named event trigger and waits. - * - * Revision 1.117 2000/04/02 04:26:06 steve - * Remove the useless sref template. - * - * Revision 1.116 2000/04/01 21:40:22 steve - * Add support for integer division. - * - * Revision 1.115 2000/03/29 04:37:11 steve - * New and improved combinational primitives. - * - * Revision 1.114 2000/03/12 17:09:41 steve - * Support localparam. - * - * Revision 1.113 2000/03/11 03:25:52 steve - * Locate scopes in statements. - * - * Revision 1.112 2000/03/10 06:20:48 steve - * Handle defparam to partial hierarchical names. - * - * Revision 1.111 2000/03/08 04:36:54 steve - * Redesign the implementation of scopes and parameters. - * I now generate the scopes and notice the parameters - * in a separate pass over the pform. Once the scopes - * are generated, I can process overrides and evalutate - * paremeters before elaboration begins. - * - * Revision 1.110 2000/02/23 02:56:55 steve - * Macintosh compilers do not support ident. - * - * Revision 1.109 2000/02/13 04:35:43 steve - * Include some block matching from Larry. - * - * Revision 1.108 2000/01/13 03:35:35 steve - * Multiplication all the way to simulation. - * - * Revision 1.107 2000/01/10 01:35:24 steve - * Elaborate parameters afer binding of overrides. - * - * Revision 1.106 2000/01/01 06:18:00 steve - * Handle synthesis of concatenation. - * - * Revision 1.105 1999/12/30 04:19:12 steve - * Propogate constant 0 in low bits of adders. - * - * Revision 1.104 1999/12/17 06:18:16 steve - * Rewrite the cprop functor to use the functor_t interface. - * - * Revision 1.103 1999/12/17 03:38:46 steve - * NetConst can now hold wide constants. */ #endif diff --git a/t-verilog.cc b/t-verilog.cc index 0eb5824c7..0a44ad4bf 100644 --- a/t-verilog.cc +++ b/t-verilog.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: t-verilog.cc,v 1.14 2000/08/14 04:39:57 steve Exp $" +#ident "$Id: t-verilog.cc,v 1.15 2000/09/26 01:35:42 steve Exp $" #endif /* @@ -179,10 +179,6 @@ void target_verilog::emit_expr_(ostream&os, const NetExpr*expr) os << pp->value(); - } else if (const NetEIdent*pp = dynamic_cast(expr)) { - - os << mangle(pp->name()); - } else if (const NetEUnary*pp = dynamic_cast(expr)) { os << pp->op() << "("; @@ -223,9 +219,6 @@ static void vtask_parm(ostream&os, const NetExpr*ex) else os << pp->value(); - } else if (const NetEIdent*pp = dynamic_cast(ex)) { - os << mangle(pp->name()); - } else { } } @@ -265,6 +258,9 @@ const struct target tgt_verilog = { /* * $Log: t-verilog.cc,v $ + * Revision 1.15 2000/09/26 01:35:42 steve + * Remove the obsolete NetEIdent class. + * * Revision 1.14 2000/08/14 04:39:57 steve * add th t-dll functions for net_const, net_bufz and processes. * @@ -289,45 +285,5 @@ const struct target tgt_verilog = { * Do not generate NetPEvent or NetNEvent objects in * elaboration. NetEvent, NetEvWait and NetEvProbe * take over those functions in the netlist. - * - * Revision 1.9 2000/02/23 02:56:55 steve - * Macintosh compilers do not support ident. - * - * Revision 1.8 1999/09/22 16:57:24 steve - * Catch parallel blocks in vvm emit. - * - * Revision 1.7 1999/08/01 16:34:50 steve - * Parse and elaborate rise/fall/decay times - * for gates, and handle the rules for partial - * lists of times. - * - * Revision 1.6 1999/07/03 02:12:52 steve - * Elaborate user defined tasks. - * - * Revision 1.5 1999/06/13 16:30:06 steve - * Unify the NetAssign constructors a bit. - * - * Revision 1.4 1999/05/01 02:57:53 steve - * Handle much more complex event expressions. - * - * Revision 1.3 1998/12/01 00:42:15 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.2 1998/11/23 00:20:23 steve - * NetAssign handles lvalues as pin links - * instead of a signal pointer, - * Wire attributes added, - * Ability to parse UDP descriptions added, - * XNF generates EXT records for signals with - * the PAD attribute. - * - * Revision 1.1 1998/11/03 23:29:05 steve - * Introduce verilog to CVS. - * */ diff --git a/t-vvm.cc b/t-vvm.cc index 5a08ca895..cf5207ecb 100644 --- a/t-vvm.cc +++ b/t-vvm.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: t-vvm.cc,v 1.176 2000/09/20 02:53:15 steve Exp $" +#ident "$Id: t-vvm.cc,v 1.177 2000/09/26 01:35:42 steve Exp $" #endif # include @@ -341,7 +341,6 @@ class vvm_proc_rval : public expr_scan_t { private: virtual void expr_const(const NetEConst*); virtual void expr_concat(const NetEConcat*); - virtual void expr_ident(const NetEIdent*); virtual void expr_memory(const NetEMemory*mem); virtual void expr_sfunc(const NetESFunc*); virtual void expr_signal(const NetESignal*); @@ -434,11 +433,6 @@ void vvm_proc_rval::expr_const(const NetEConst*expr) result = tname; } -void vvm_proc_rval::expr_ident(const NetEIdent*expr) -{ - result = mangle(expr->name()); -} - /* * a bitset rval that is a memory reference. */ @@ -3391,6 +3385,9 @@ extern const struct target tgt_vvm = { }; /* * $Log: t-vvm.cc,v $ + * Revision 1.177 2000/09/26 01:35:42 steve + * Remove the obsolete NetEIdent class. + * * Revision 1.176 2000/09/20 02:53:15 steve * Correctly measure comples l-values of assignments. * @@ -3461,142 +3458,5 @@ extern const struct target tgt_vvm = { * * Revision 1.156 2000/06/06 02:32:45 steve * Expand constants in its special case assignment. (Stephan Boettcher) - * - * Revision 1.155 2000/06/03 02:13:43 steve - * Do not attach temporaries to scopes. - * - * Revision 1.154 2000/05/31 03:52:07 steve - * The NetESignal shortcut cannot expand an rvalue. - * - * Revision 1.153 2000/05/25 06:02:12 steve - * Emin init code only once per nexus. - * - * Revision 1.152 2000/05/25 01:45:35 steve - * Optimize assignment from signals. - * - * Revision 1.151 2000/05/20 02:48:51 steve - * Add vpi numbers to the bits table. - * - * Revision 1.150 2000/05/20 02:26:23 steve - * Combine constants into a bit table. - * - * Revision 1.149 2000/05/11 23:37:27 steve - * Add support for procedural continuous assignment. - * - * Revision 1.148 2000/05/09 21:16:35 steve - * Give strengths to logic and bufz devices. - * - * Revision 1.147 2000/05/07 21:17:21 steve - * non-blocking assignment to a bit select. - * - * Revision 1.146 2000/05/07 19:40:26 steve - * Fix connection of Direction of LMP_CLSHIFT - * to constant values. Remember to add a signal - * to the nexus and connect the receiver in vvm. - * - * Revision 1.145 2000/05/07 18:20:07 steve - * Import MCD support from Stephen Tell, and add - * system function parameter support to the IVL core. - * - * Revision 1.144 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.143 2000/05/04 03:37:59 steve - * Add infrastructure for system functions, move - * $time to that structure and add $random. - * - * Revision 1.142 2000/05/02 00:58:12 steve - * Move signal tables to the NetScope class. - * - * Revision 1.141 2000/04/28 18:43:23 steve - * integer division in expressions properly get width. - * - * Revision 1.140 2000/04/26 18:35:11 steve - * Handle assigning small values to big registers. - * - * Revision 1.139 2000/04/23 03:45:24 steve - * Add support for the procedural release statement. - * - * Revision 1.138 2000/04/22 04:20:19 steve - * Add support for force assignment. - * - * Revision 1.137 2000/04/15 19:51:30 steve - * fork-join support in vvm. - * - * Revision 1.136 2000/04/15 02:25:32 steve - * Support chained events. - * - * Revision 1.135 2000/04/14 23:31:53 steve - * No more class derivation from vvm_thread. - * - * Revision 1.134 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.133 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.132 2000/04/10 05:26:06 steve - * All events now use the NetEvent class. - * - * Revision 1.131 2000/04/09 16:55:42 steve - * Donot create tables that have no entries. - * - * Revision 1.130 2000/04/04 03:20:15 steve - * Simulate named event trigger and waits. - * - * Revision 1.129 2000/04/02 04:26:07 steve - * Remove the useless sref template. - * - * Revision 1.128 2000/04/01 21:40:23 steve - * Add support for integer division. - * - * Revision 1.127 2000/03/29 04:37:11 steve - * New and improved combinational primitives. - * - * Revision 1.126 2000/03/26 16:28:31 steve - * vvm_bitset_t is no longer a template. - * - * Revision 1.125 2000/03/25 05:02:24 steve - * signal bits are referenced at run time by the vpiSignal struct. - * - * Revision 1.124 2000/03/25 02:43:56 steve - * Remove all remain vvm_bitset_t return values, - * and disallow vvm_bitset_t copying. - * - * Revision 1.123 2000/03/24 03:47:01 steve - * Update vvm_ram_dq to nexus style. - * - * Revision 1.122 2000/03/24 02:43:36 steve - * vvm_unop and vvm_binop pass result by reference - * instead of returning a value. - * - * Revision 1.121 2000/03/23 03:24:39 steve - * Do not create 0 length parameters to system tasks. - * - * Revision 1.120 2000/03/22 04:26:40 steve - * Replace the vpip_bit_t with a typedef and - * define values for all the different bit - * values, including strengths. - * - * Revision 1.119 2000/03/20 17:40:33 steve - * Do not link adder pins that ar unconnected. */ diff --git a/target.cc b/target.cc index 51967266d..3e24bf8a7 100644 --- a/target.cc +++ b/target.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: target.cc,v 1.48 2000/09/17 21:26:16 steve Exp $" +#ident "$Id: target.cc,v 1.49 2000/09/26 01:35:42 steve Exp $" #endif # include "target.h" @@ -332,12 +332,6 @@ void expr_scan_t::expr_concat(const NetEConcat*that) typeid(*this).name() << "): unhandled expr_concat." << endl; } -void expr_scan_t::expr_ident(const NetEIdent*that) -{ - cerr << that->get_line() << ": expr_scan_t (" << - typeid(*this).name() << "): unhandled expr_ident." << endl; -} - void expr_scan_t::expr_memory(const NetEMemory*) { cerr << "expr_scan_t (" << typeid(*this).name() << "): " @@ -394,6 +388,9 @@ void expr_scan_t::expr_binary(const NetEBinary*ex) /* * $Log: target.cc,v $ + * Revision 1.49 2000/09/26 01:35:42 steve + * Remove the obsolete NetEIdent class. + * * Revision 1.48 2000/09/17 21:26:16 steve * Add support for modulus (Eric Aardoom) * @@ -458,132 +455,5 @@ void expr_scan_t::expr_binary(const NetEBinary*ex) * * Revision 1.32 2000/04/01 21:40:23 steve * Add support for integer division. - * - * Revision 1.31 2000/03/29 04:37:11 steve - * New and improved combinational primitives. - * - * Revision 1.30 2000/02/23 02:56:56 steve - * Macintosh compilers do not support ident. - * - * Revision 1.29 2000/01/13 03:35:35 steve - * Multiplication all the way to simulation. - * - * Revision 1.28 1999/11/28 23:42:03 steve - * NetESignal object no longer need to be NetNode - * objects. Let them keep a pointer to NetNet objects. - * - * Revision 1.27 1999/11/27 19:07:58 steve - * Support the creation of scopes. - * - * Revision 1.26 1999/11/21 00:13:09 steve - * Support memories in continuous assignments. - * - * Revision 1.25 1999/11/14 23:43:45 steve - * Support combinatorial comparators. - * - * Revision 1.24 1999/11/14 20:24:28 steve - * Add support for the LPM_CLSHIFT device. - * - * Revision 1.23 1999/11/04 03:53:26 steve - * Patch to synthesize unary ~ and the ternary operator. - * Thanks to Larry Doolittle . - * - * Add the LPM_MUX device, and integrate it with the - * ternary synthesis from Larry. Replace the lpm_mux - * generator in t-xnf.cc to use XNF EQU devices to - * put muxs into function units. - * - * Rewrite elaborate_net for the PETernary class to - * also use the LPM_MUX device. - * - * Revision 1.22 1999/11/01 02:07:41 steve - * Add the synth functor to do generic synthesis - * and add the LPM_FF device to handle rows of - * flip-flops. - * - * Revision 1.21 1999/10/10 01:59:55 steve - * Structural case equals device. - * - * Revision 1.20 1999/09/22 16:57:24 steve - * Catch parallel blocks in vvm emit. - * - * Revision 1.19 1999/09/15 01:55:06 steve - * Elaborate non-blocking assignment to memories. - * - * Revision 1.18 1999/09/03 04:28:38 steve - * elaborate the binary plus operator. - * - * Revision 1.17 1999/08/31 22:38:29 steve - * Elaborate and emit to vvm procedural functions. - * - * Revision 1.16 1999/08/18 04:00:02 steve - * Fixup spelling and some error messages. - * - * Revision 1.15 1999/07/17 19:51:00 steve - * netlist support for ternary operator. - * - * Revision 1.14 1999/07/17 03:39:11 steve - * simplified process scan for targets. - * - * Revision 1.13 1999/07/03 02:12:52 steve - * Elaborate user defined tasks. - * - * Revision 1.12 1999/06/19 21:06:16 steve - * Elaborate and supprort to vvm the forever - * and repeat statements. - * - * Revision 1.11 1999/06/09 03:00:06 steve - * Add support for procedural concatenation expression. - * - * Revision 1.10 1999/06/06 20:45:39 steve - * Add parse and elaboration of non-blocking assignments, - * Replace list with an svector version, - * Add integer support. - * - * Revision 1.9 1999/05/12 04:03:19 steve - * emit NetAssignMem objects in vvm target. - * - * Revision 1.8 1999/05/01 02:57:53 steve - * Handle much more complex event expressions. - * - * Revision 1.7 1999/04/25 00:44:10 steve - * Core handles subsignal expressions. - * - * Revision 1.6 1999/04/19 01:59:37 steve - * Add memories to the parse and elaboration phases. - * - * Revision 1.5 1999/02/08 02:49:56 steve - * Turn the NetESignal into a NetNode so - * that it can connect to the netlist. - * Implement the case statement. - * Convince t-vvm to output code for - * the case statement. - * - * Revision 1.4 1998/12/01 00:42:15 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.3 1998/11/09 18:55:34 steve - * Add procedural while loops, - * Parse procedural for loops, - * Add procedural wait statements, - * Add constant nodes, - * Add XNOR logic gate, - * Make vvm output look a bit prettier. - * - * Revision 1.2 1998/11/07 17:05:06 steve - * Handle procedural conditional, and some - * of the conditional expressions. - * - * Elaborate signals and identifiers differently, - * allowing the netlist to hold signal information. - * - * Revision 1.1 1998/11/03 23:29:06 steve - * Introduce verilog to CVS. - * */ diff --git a/target.h b/target.h index b30ebb5d6..c419b010a 100644 --- a/target.h +++ b/target.h @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: target.h,v 1.46 2000/09/17 21:26:16 steve Exp $" +#ident "$Id: target.h,v 1.47 2000/09/26 01:35:43 steve Exp $" #endif # include "netlist.h" @@ -131,7 +131,6 @@ struct expr_scan_t { virtual ~expr_scan_t(); virtual void expr_const(const NetEConst*); virtual void expr_concat(const NetEConcat*); - virtual void expr_ident(const NetEIdent*); virtual void expr_memory(const NetEMemory*); virtual void expr_scope(const NetEScope*); virtual void expr_sfunc(const NetESFunc*); @@ -160,6 +159,9 @@ extern const struct target *target_table[]; /* * $Log: target.h,v $ + * Revision 1.47 2000/09/26 01:35:43 steve + * Remove the obsolete NetEIdent class. + * * Revision 1.46 2000/09/17 21:26:16 steve * Add support for modulus (Eric Aardoom) * @@ -193,36 +195,5 @@ extern const struct target *target_table[]; * Revision 1.37 2000/05/04 03:37:59 steve * Add infrastructure for system functions, move * $time to that structure and add $random. - * - * Revision 1.36 2000/04/23 03:45:25 steve - * Add support for the procedural release statement. - * - * Revision 1.35 2000/04/22 04:20:20 steve - * Add support for force assignment. - * - * Revision 1.34 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.33 2000/04/10 05:26:06 steve - * All events now use the NetEvent class. - * - * Revision 1.32 2000/04/04 03:20:15 steve - * Simulate named event trigger and waits. - * - * Revision 1.31 2000/04/01 21:40:23 steve - * Add support for integer division. - * - * Revision 1.30 2000/03/29 04:37:11 steve - * New and improved combinational primitives. */ #endif