Support scheduling vvp_vector8_t objects.
This commit is contained in:
parent
55b5bf9d39
commit
2e6d2f8e98
|
|
@ -17,7 +17,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CVS_IDENT
|
#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
|
#endif
|
||||||
|
|
||||||
# include "schedule.h"
|
# include "schedule.h"
|
||||||
|
|
@ -96,6 +96,18 @@ void assign_vector4_event_s::run_run(void)
|
||||||
vvp_send_vec4(ptr, val);
|
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 {
|
struct generic_event_s : public event_s {
|
||||||
vvp_gen_event_t obj;
|
vvp_gen_event_t obj;
|
||||||
unsigned char val;
|
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);
|
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,
|
void schedule_generic(vvp_gen_event_t obj, unsigned char val,
|
||||||
vvp_time64_t delay, bool sync_flag)
|
vvp_time64_t delay, bool sync_flag)
|
||||||
{
|
{
|
||||||
|
|
@ -558,6 +578,9 @@ void schedule_simulate(void)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: schedule.cc,v $
|
* $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
|
* Revision 1.30 2005/01/29 17:53:25 steve
|
||||||
* Use scheduler to initialize constant functor inputs.
|
* Use scheduler to initialize constant functor inputs.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CVS_IDENT
|
#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
|
#endif
|
||||||
|
|
||||||
# include "vthread.h"
|
# 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
|
* 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
|
* value (a compile time constant) to the input of a functor. This
|
||||||
* creates an event in the active queue.
|
* 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_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 $
|
* $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
|
* Revision 1.18 2005/01/29 17:53:25 steve
|
||||||
* Use scheduler to initialize constant functor inputs.
|
* Use scheduler to initialize constant functor inputs.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue