Do not push values through logic gates.
This commit is contained in:
parent
f77c7f3d18
commit
f5049c2f14
14
vvp/logic.cc
14
vvp/logic.cc
|
|
@ -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
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT)
|
#if !defined(WINNT)
|
||||||
#ident "$Id: logic.cc,v 1.7 2002/01/12 04:02:16 steve Exp $"
|
#ident "$Id: logic.cc,v 1.8 2002/03/17 05:48:49 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "logic.h"
|
# include "logic.h"
|
||||||
|
|
@ -51,6 +51,7 @@ table_functor_s::~table_functor_s()
|
||||||
|
|
||||||
void table_functor_s::set(vvp_ipoint_t ptr, bool push, unsigned v, unsigned)
|
void table_functor_s::set(vvp_ipoint_t ptr, bool push, unsigned v, unsigned)
|
||||||
{
|
{
|
||||||
|
/* Load the new value into the standard ival vector. */
|
||||||
put(ptr, v);
|
put(ptr, v);
|
||||||
|
|
||||||
/* Locate the new output value in the table. */
|
/* Locate the new output value in the table. */
|
||||||
|
|
@ -58,7 +59,13 @@ void table_functor_s::set(vvp_ipoint_t ptr, bool push, unsigned v, unsigned)
|
||||||
val >>= 2 * (ival&0x03);
|
val >>= 2 * (ival&0x03);
|
||||||
val &= 0x03;
|
val &= 0x03;
|
||||||
|
|
||||||
put_oval(val, push);
|
/* Send the output. Do *not* push the value, because logic
|
||||||
|
devices in Verilog are supposed to suppress 0-time
|
||||||
|
pulses. If we were to push the value, The gate on this
|
||||||
|
device's output would receive every change that happened,
|
||||||
|
thus allowing full transport propagation, instead of the
|
||||||
|
proper ballistic propagation. */
|
||||||
|
put_oval(val, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -155,6 +162,9 @@ void compile_functor(char*label, char*type,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: logic.cc,v $
|
* $Log: logic.cc,v $
|
||||||
|
* Revision 1.8 2002/03/17 05:48:49 steve
|
||||||
|
* Do not push values through logic gates.
|
||||||
|
*
|
||||||
* Revision 1.7 2002/01/12 04:02:16 steve
|
* Revision 1.7 2002/01/12 04:02:16 steve
|
||||||
* Support the BUFZ logic device.
|
* Support the BUFZ logic device.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue