parent
3f1cd14f6c
commit
ccbb1e5f5a
|
|
@ -27,7 +27,7 @@
|
||||||
* Picture Elements, Inc., 777 Panoramic Way, Berkeley, CA 94704.
|
* Picture Elements, Inc., 777 Panoramic Way, Berkeley, CA 94704.
|
||||||
*/
|
*/
|
||||||
#if !defined(WINNT) && !defined(macintosh)
|
#if !defined(WINNT) && !defined(macintosh)
|
||||||
#ident "$Id: vpi_memory.cc,v 1.12 2002/07/03 02:09:38 steve Exp $"
|
#ident "$Id: vpi_memory.cc,v 1.13 2002/07/03 23:16:27 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# include "vpi_priv.h"
|
# include "vpi_priv.h"
|
||||||
|
|
@ -494,7 +494,7 @@ static void memory_word_get_value(vpiHandle ref, s_vpi_value*vp)
|
||||||
|
|
||||||
op->aval = op->bval = 0;
|
op->aval = op->bval = 0;
|
||||||
for (unsigned idx = 0 ; idx < width ; idx += 1) {
|
for (unsigned idx = 0 ; idx < width ; idx += 1) {
|
||||||
switch (memory_get(rfp->mem->mem, idx)) {
|
switch (memory_get(rfp->mem->mem, bidx+idx)) {
|
||||||
case 0:
|
case 0:
|
||||||
op->aval &= ~(1 << idx % 32);
|
op->aval &= ~(1 << idx % 32);
|
||||||
op->bval &= ~(1 << idx % 32);
|
op->bval &= ~(1 << idx % 32);
|
||||||
|
|
@ -504,11 +504,11 @@ static void memory_word_get_value(vpiHandle ref, s_vpi_value*vp)
|
||||||
op->bval &= ~(1 << idx % 32);
|
op->bval &= ~(1 << idx % 32);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
op->aval &= ~(1 << idx % 32);
|
op->aval |= (1 << idx % 32);
|
||||||
op->bval |= (1 << idx % 32);
|
op->bval |= (1 << idx % 32);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
op->aval |= (1 << idx % 32);
|
op->aval &= ~(1 << idx % 32);
|
||||||
op->bval |= (1 << idx % 32);
|
op->bval |= (1 << idx % 32);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -583,6 +583,10 @@ vpiHandle vpip_make_memory(vvp_memory_t mem)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: vpi_memory.cc,v $
|
* $Log: vpi_memory.cc,v $
|
||||||
|
* Revision 1.13 2002/07/03 23:16:27 steve
|
||||||
|
* don't pollute name space
|
||||||
|
* fix vecval for Z/X cases
|
||||||
|
*
|
||||||
* Revision 1.12 2002/07/03 02:09:38 steve
|
* Revision 1.12 2002/07/03 02:09:38 steve
|
||||||
* vpiName, vpiFullName support in memory types,
|
* vpiName, vpiFullName support in memory types,
|
||||||
* length checks for *_get_str() buffers,
|
* length checks for *_get_str() buffers,
|
||||||
|
|
|
||||||
|
|
@ -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: vpi_signal.cc,v 1.37 2002/07/03 02:09:38 steve Exp $"
|
#ident "$Id: vpi_signal.cc,v 1.38 2002/07/03 23:16:27 steve Exp $"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -146,7 +146,7 @@ static vpiHandle signal_get_handle(int code, vpiHandle ref)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char *signal_vpiDecStrVal(struct __vpiSignal*rfp, s_vpi_value*vp)
|
static char *signal_vpiDecStrVal(struct __vpiSignal*rfp, s_vpi_value*vp)
|
||||||
{
|
{
|
||||||
unsigned wid = (rfp->msb >= rfp->lsb)
|
unsigned wid = (rfp->msb >= rfp->lsb)
|
||||||
? (rfp->msb - rfp->lsb + 1)
|
? (rfp->msb - rfp->lsb + 1)
|
||||||
|
|
@ -169,7 +169,7 @@ char *signal_vpiDecStrVal(struct __vpiSignal*rfp, s_vpi_value*vp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char *signal_vpiStringVal(struct __vpiSignal*rfp, s_vpi_value*vp)
|
static char *signal_vpiStringVal(struct __vpiSignal*rfp, s_vpi_value*vp)
|
||||||
{
|
{
|
||||||
unsigned wid = (rfp->msb >= rfp->lsb)
|
unsigned wid = (rfp->msb >= rfp->lsb)
|
||||||
? (rfp->msb - rfp->lsb + 1)
|
? (rfp->msb - rfp->lsb + 1)
|
||||||
|
|
@ -360,11 +360,11 @@ static void signal_get_value(vpiHandle ref, s_vpi_value*vp)
|
||||||
op->bval &= ~(1 << obit);
|
op->bval &= ~(1 << obit);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
op->aval &= ~(1 << obit);
|
op->aval |= (1 << obit);
|
||||||
op->bval |= (1 << obit);
|
op->bval |= (1 << obit);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
op->aval |= (1 << obit);
|
op->aval &= ~(1 << obit);
|
||||||
op->bval |= (1 << obit);
|
op->bval |= (1 << obit);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -674,6 +674,10 @@ vpiHandle vpip_make_net(char*name, int msb, int lsb, bool signed_flag,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Log: vpi_signal.cc,v $
|
* $Log: vpi_signal.cc,v $
|
||||||
|
* Revision 1.38 2002/07/03 23:16:27 steve
|
||||||
|
* don't pollute name space
|
||||||
|
* fix vecval for Z/X cases
|
||||||
|
*
|
||||||
* Revision 1.37 2002/07/03 02:09:38 steve
|
* Revision 1.37 2002/07/03 02:09:38 steve
|
||||||
* vpiName, vpiFullName support in memory types,
|
* vpiName, vpiFullName support in memory types,
|
||||||
* length checks for *_get_str() buffers,
|
* length checks for *_get_str() buffers,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue