diff --git a/vvp/schedule.cc b/vvp/schedule.cc index 6e0021945..376505196 100644 --- a/vvp/schedule.cc +++ b/vvp/schedule.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #ifdef HAVE_CVS_IDENT -#ident "$Id: schedule.cc,v 1.30 2005/01/29 17:53:25 steve Exp $" +#ident "$Id: schedule.cc,v 1.31 2005/02/12 03:26:14 steve Exp $" #endif # include "schedule.h" @@ -96,6 +96,18 @@ void assign_vector4_event_s::run_run(void) vvp_send_vec4(ptr, val); } +struct assign_vector8_event_s : public event_s { + vvp_net_ptr_t ptr; + vvp_vector8_t val; + void run_run(void); +}; + +void assign_vector8_event_s::run_run(void) +{ + count_assign_events += 1; + vvp_send_vec8(ptr, val); +} + struct generic_event_s : public event_s { vvp_gen_event_t obj; unsigned char val; @@ -420,6 +432,14 @@ void schedule_set_vector(vvp_net_ptr_t ptr, vvp_vector4_t bit) schedule_event_(cur, 0, SEQ_ACTIVE); } +void schedule_set_vector(vvp_net_ptr_t ptr, vvp_vector8_t bit) +{ + struct assign_vector8_event_s*cur = new struct assign_vector8_event_s; + cur->ptr = ptr; + cur->val = bit; + schedule_event_(cur, 0, SEQ_ACTIVE); +} + void schedule_generic(vvp_gen_event_t obj, unsigned char val, vvp_time64_t delay, bool sync_flag) { @@ -558,6 +578,9 @@ void schedule_simulate(void) /* * $Log: schedule.cc,v $ + * Revision 1.31 2005/02/12 03:26:14 steve + * Support scheduling vvp_vector8_t objects. + * * Revision 1.30 2005/01/29 17:53:25 steve * Use scheduler to initialize constant functor inputs. * diff --git a/vvp/schedule.h b/vvp/schedule.h index 25926ab8d..ec7412a37 100644 --- a/vvp/schedule.h +++ b/vvp/schedule.h @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #ifdef HAVE_CVS_IDENT -#ident "$Id: schedule.h,v 1.18 2005/01/29 17:53:25 steve Exp $" +#ident "$Id: schedule.h,v 1.19 2005/02/12 03:26:14 steve Exp $" #endif # include "vthread.h" @@ -50,11 +50,12 @@ extern void schedule_assign_vector(vvp_net_ptr_t ptr, /* * This is very similar to schedule_assign_vector, but generates an - * even in the active queue. It is used at link time to set an initial + * event in the active queue. It is used at link time to set an initial * value (a compile time constant) to the input of a functor. This * creates an event in the active queue. */ extern void schedule_set_vector(vvp_net_ptr_t ptr, vvp_vector4_t val); +extern void schedule_set_vector(vvp_net_ptr_t ptr, vvp_vector8_t val); /* @@ -120,6 +121,9 @@ extern unsigned long count_event_pool; /* * $Log: schedule.h,v $ + * Revision 1.19 2005/02/12 03:26:14 steve + * Support scheduling vvp_vector8_t objects. + * * Revision 1.18 2005/01/29 17:53:25 steve * Use scheduler to initialize constant functor inputs. *