Default behavior for recv_vec8 methods.

This commit is contained in:
steve 2005-04-09 05:30:38 +00:00
parent e8a6835d36
commit fe91ebe77c
3 changed files with 21 additions and 13 deletions

View File

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ident "$Id: concat.cc,v 1.2 2005/02/07 22:42:42 steve Exp $"
#ident "$Id: concat.cc,v 1.3 2005/04/09 05:30:38 steve Exp $"
# include "compile.h"
# include "vvp_net.h"
@ -61,11 +61,6 @@ void vvp_fun_concat::recv_vec4(vvp_net_ptr_t port, vvp_vector4_t bit)
vvp_send_vec4(port.ptr()->out, val_);
}
void vvp_fun_concat::recv_vec8(vvp_net_ptr_t port, vvp_vector8_t bit)
{
recv_vec4(port, reduce4(bit));
}
void compile_concat(char*label, unsigned w0, unsigned w1,
unsigned w2, unsigned w3,
unsigned argc, struct symb_s*argv)
@ -123,6 +118,9 @@ void compile_repeat(char*label, long width, long repeat, struct symb_s arg)
/*
* $Log: concat.cc,v $
* Revision 1.3 2005/04/09 05:30:38 steve
* Default behavior for recv_vec8 methods.
*
* Revision 1.2 2005/02/07 22:42:42 steve
* Add .repeat functor and BIFIF functors.
*

View File

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ident "$Id: vvp_net.cc,v 1.21 2005/04/03 05:45:51 steve Exp $"
#ident "$Id: vvp_net.cc,v 1.22 2005/04/09 05:30:38 steve Exp $"
# include "vvp_net.h"
# include "schedule.h"
@ -584,11 +584,9 @@ void vvp_net_fun_t::recv_vec4_pv(vvp_net_ptr_t, vvp_vector4_t,
assert(0);
}
void vvp_net_fun_t::recv_vec8(vvp_net_ptr_t, vvp_vector8_t)
void vvp_net_fun_t::recv_vec8(vvp_net_ptr_t port, vvp_vector8_t bit)
{
fprintf(stderr, "internal error: %s: recv_vec8 not implemented\n",
typeid(*this).name());
assert(0);
recv_vec4(port, reduce4(bit));
}
void vvp_net_fun_t::recv_real(vvp_net_ptr_t, double)
@ -1238,6 +1236,9 @@ vvp_bit4_t compare_gtge_signed(const vvp_vector4_t&a,
/*
* $Log: vvp_net.cc,v $
* Revision 1.22 2005/04/09 05:30:38 steve
* Default behavior for recv_vec8 methods.
*
* Revision 1.21 2005/04/03 05:45:51 steve
* Rework the vvp_delay_t class.
*

View File

@ -18,7 +18,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ident "$Id: vvp_net.h,v 1.21 2005/04/03 05:45:51 steve Exp $"
#ident "$Id: vvp_net.h,v 1.22 2005/04/09 05:30:38 steve Exp $"
# include <stdio.h>
# include "config.h"
@ -383,6 +383,13 @@ extern void vvp_send_vec4_pv(vvp_net_ptr_t ptr, vvp_vector4_t val,
* In this context, a "bit" is the thing that arrives at a single
* input. The bit may be a single data bit, a bit vector, various
* sorts of numbers or aggregate objects.
*
* recv_vec4 is the most common way for a datum to arrive at a
* port. The value is a vvp_vector4_t.
*
* Most nodes do not care about the specific strengths of bits, so the
* default behavior for recv_vec8 is to reduce the operand to a
* vvp_vector4_t and pass it on to the recv_vec4 method.
*/
class vvp_net_fun_t {
@ -425,7 +432,6 @@ class vvp_fun_concat : public vvp_net_fun_t {
~vvp_fun_concat();
void recv_vec4(vvp_net_ptr_t port, vvp_vector4_t bit);
void recv_vec8(vvp_net_ptr_t port, vvp_vector8_t bit);
private:
unsigned wid_[4];
@ -678,6 +684,9 @@ class vvp_wide_fun_t : public vvp_net_fun_t {
/*
* $Log: vvp_net.h,v $
* Revision 1.22 2005/04/09 05:30:38 steve
* Default behavior for recv_vec8 methods.
*
* Revision 1.21 2005/04/03 05:45:51 steve
* Rework the vvp_delay_t class.
*