Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Support delays on continuous assignment from idents. (PR#40)

  • Loading branch information...
commit 9ddd0491f78390f5dd1cdfe87454532c4f93cb77 1 parent 245472c
steve authored
View
9 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.105 2000/12/04 17:37:03 steve Exp $"
+#ident "$Id: design_dump.cc,v 1.106 2000/12/10 06:41:59 steve Exp $"
#endif
/*
@@ -228,7 +228,9 @@ void NetAssign_::dump_node(ostream&o, unsigned ind) const
void NetBUFZ::dump_node(ostream&o, unsigned ind) const
{
o << setw(ind) << "" << "NetBUFZ: " << name()
- << " scope=" << (scope()? scope()->name() : "") << endl;
+ << " scope=" << (scope()? scope()->name() : "")
+ << " delay=(" << rise_time() << "," << fall_time() << "," <<
+ decay_time() << ")" << endl;
dump_node_pins(o, ind+4);
}
@@ -994,6 +996,9 @@ void Design::dump(ostream&o) const
/*
* $Log: design_dump.cc,v $
+ * Revision 1.106 2000/12/10 06:41:59 steve
+ * Support delays on continuous assignment from idents. (PR#40)
+ *
* Revision 1.105 2000/12/04 17:37:03 steve
* Add Attrib class for holding NetObj attributes.
*
View
10 elaborate.cc
@@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
-#ident "$Id: elaborate.cc,v 1.199 2000/12/06 06:31:09 steve Exp $"
+#ident "$Id: elaborate.cc,v 1.200 2000/12/10 06:41:59 steve Exp $"
#endif
/*
@@ -118,7 +118,7 @@ void PGAssign::elaborate(Design*des, const string&path) const
if (rid->pin_count() < cnt)
cnt = rid->pin_count();
- if (rid->type() == lval->type()) {
+ if ((rid->type() == lval->type()) && (rise_time == 0)) {
unsigned idx;
for (idx = 0 ; idx < cnt; idx += 1)
connect(lval->pin(idx), rid->pin(idx));
@@ -139,6 +139,9 @@ void PGAssign::elaborate(Design*des, const string&path) const
des->local_symbol(path));
connect(lval->pin(idx), dev->pin(0));
connect(rid->pin(idx), dev->pin(1));
+ dev->rise_time(rise_time);
+ dev->fall_time(fall_time);
+ dev->decay_time(decay_time);
dev->pin(0).drive0(drive0);
dev->pin(0).drive1(drive1);
des->add_node(dev);
@@ -2333,6 +2336,9 @@ Design* elaborate(const map<string,Module*>&modules,
/*
* $Log: elaborate.cc,v $
+ * Revision 1.200 2000/12/10 06:41:59 steve
+ * Support delays on continuous assignment from idents. (PR#40)
+ *
* Revision 1.199 2000/12/06 06:31:09 steve
* Check lvalue of procedural continuous assign (PR#29)
*
View
9 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.187 2000/12/09 06:17:20 steve Exp $"
+#ident "$Id: t-vvm.cc,v 1.188 2000/12/10 06:41:59 steve Exp $"
#endif
# include <iostream>
@@ -1906,8 +1906,8 @@ bool target_vvm::bufz(const NetBUFZ*gate)
string nexus;
unsigned ncode;
- out << "static vvm_bufz " << mname << ";" << endl;
-
+ out << "static vvm_bufz " << mname
+ << "(" << gate->rise_time() << ");" << endl;
nexus = gate->pin(0).nexus()->name();
ncode = nexus_wire_map[nexus];
@@ -3370,6 +3370,9 @@ extern const struct target tgt_vvm = {
};
/*
* $Log: t-vvm.cc,v $
+ * Revision 1.188 2000/12/10 06:41:59 steve
+ * Support delays on continuous assignment from idents. (PR#40)
+ *
* Revision 1.187 2000/12/09 06:17:20 steve
* unary expressions as parameters (PR#42, PR#68)
*
View
9 vvm/vvm_gates.cc
@@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
-#ident "$Id: vvm_gates.cc,v 1.19 2000/11/11 01:52:09 steve Exp $"
+#ident "$Id: vvm_gates.cc,v 1.20 2000/12/10 06:42:00 steve Exp $"
#endif
# include "vvm_gates.h"
@@ -313,8 +313,8 @@ void vvm_bufif1::take_value(unsigned key, vpip_bit_t val)
}
}
-vvm_bufz::vvm_bufz()
-: vvm_1bit_out(0)
+vvm_bufz::vvm_bufz(unsigned delay)
+: vvm_1bit_out(delay)
{
}
@@ -665,6 +665,9 @@ void vvm_notif1::take_value(unsigned key, vpip_bit_t val)
/*
* $Log: vvm_gates.cc,v $
+ * Revision 1.20 2000/12/10 06:42:00 steve
+ * Support delays on continuous assignment from idents. (PR#40)
+ *
* Revision 1.19 2000/11/11 01:52:09 steve
* change set for support of nmos, pmos, rnmos, rpmos, notif0, and notif1
* change set to correct behavior of bufif0 and bufif1
View
7 vvm/vvm_gates.h
@@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
-#ident "$Id: vvm_gates.h,v 1.67 2000/11/11 01:52:09 steve Exp $"
+#ident "$Id: vvm_gates.h,v 1.68 2000/12/10 06:42:00 steve Exp $"
#endif
# include "vvm.h"
@@ -901,7 +901,7 @@ class vvm_udp_sequ1 : public vvm_udp_comb
*/
class vvm_bufz : public vvm_nexus::recvr_t, public vvm_1bit_out {
public:
- explicit vvm_bufz();
+ explicit vvm_bufz(unsigned delay =0);
~vvm_bufz();
void init_I(unsigned idx, vpip_bit_t val);
@@ -1006,6 +1006,9 @@ class vvm_posedge : public vvm_nexus::recvr_t {
/*
* $Log: vvm_gates.h,v $
+ * Revision 1.68 2000/12/10 06:42:00 steve
+ * Support delays on continuous assignment from idents. (PR#40)
+ *
* Revision 1.67 2000/11/11 01:52:09 steve
* change set for support of nmos, pmos, rnmos, rpmos, notif0, and notif1
* change set to correct behavior of bufif0 and bufif1
Please sign in to comment.
Something went wrong with that request. Please try again.