From 0a3bda87d6409b3d9e6c0c039b0ab50521432424 Mon Sep 17 00:00:00 2001 From: steve Date: Sat, 16 Dec 2000 16:57:43 +0000 Subject: [PATCH] Observe delays in non-blocking assignments (PR#83) --- t-vvm.cc | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/t-vvm.cc b/t-vvm.cc index 0f603775a..6c195b739 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.194 2000/12/15 21:54:43 steve Exp $" +#ident "$Id: t-vvm.cc,v 1.195 2000/12/16 16:57:43 steve Exp $" #endif # include @@ -2449,6 +2449,7 @@ void target_vvm::proc_assign_nb_rval(const NetAssign_*lv, unsigned off) { const verinum value = rv->value(); + const unsigned rise_time = lv->rise_time(); /* This condition catches the special case of assigning to a non-constant bit select. This cal be something like: @@ -2484,7 +2485,9 @@ void target_vvm::proc_assign_nb_rval(const NetAssign_*lv, defn << " case " << idx << ":" << endl; defn << " vvm_delayed_assign(nexus_wire_table[" - <rise_time(); /* Now, if there is a mux on the l-value, generate a code to assign a single bit to one of the bits of the @@ -2545,7 +2549,8 @@ void target_vvm::proc_assign_nb_rval(const NetAssign_*lv, defn << " case " << idx << ":" << endl; defn << " vvm_delayed_assign(nexus_wire_table[" - <pin_count(); idx += 1) { string nexus = lv->pin(idx).nexus()->name(); unsigned ncode = nexus_wire_map[nexus]; defn << " vvm_delayed_assign(nexus_wire_table[" - <