Default behavior for recv_vec8 methods.
This commit is contained in:
parent
e8a6835d36
commit
fe91ebe77c
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* 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 "compile.h"
|
||||||
# include "vvp_net.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_);
|
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,
|
void compile_concat(char*label, unsigned w0, unsigned w1,
|
||||||
unsigned w2, unsigned w3,
|
unsigned w2, unsigned w3,
|
||||||
unsigned argc, struct symb_s*argv)
|
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 $
|
* $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
|
* Revision 1.2 2005/02/07 22:42:42 steve
|
||||||
* Add .repeat functor and BIFIF functors.
|
* Add .repeat functor and BIFIF functors.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* 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 "vvp_net.h"
|
||||||
# include "schedule.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);
|
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",
|
recv_vec4(port, reduce4(bit));
|
||||||
typeid(*this).name());
|
|
||||||
assert(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void vvp_net_fun_t::recv_real(vvp_net_ptr_t, double)
|
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 $
|
* $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
|
* Revision 1.21 2005/04/03 05:45:51 steve
|
||||||
* Rework the vvp_delay_t class.
|
* Rework the vvp_delay_t class.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
* 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 <stdio.h>
|
||||||
# include "config.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
|
* 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
|
* input. The bit may be a single data bit, a bit vector, various
|
||||||
* sorts of numbers or aggregate objects.
|
* 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 {
|
class vvp_net_fun_t {
|
||||||
|
|
||||||
|
|
@ -425,7 +432,6 @@ class vvp_fun_concat : public vvp_net_fun_t {
|
||||||
~vvp_fun_concat();
|
~vvp_fun_concat();
|
||||||
|
|
||||||
void recv_vec4(vvp_net_ptr_t port, vvp_vector4_t bit);
|
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:
|
private:
|
||||||
unsigned wid_[4];
|
unsigned wid_[4];
|
||||||
|
|
@ -678,6 +684,9 @@ class vvp_wide_fun_t : public vvp_net_fun_t {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: vvp_net.h,v $
|
* $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
|
* Revision 1.21 2005/04/03 05:45:51 steve
|
||||||
* Rework the vvp_delay_t class.
|
* Rework the vvp_delay_t class.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue