|
From: Cary R. <cy...@ya...> - 2009-02-26 23:59:41
|
I'm working on adding compiletf routines for the two scanf functions
and ran into some interesting issues regarding what is an assignable
object. The standards mentions variables for the assignable arguments,
but $deposit can assign to either a net or a reg. The scan routines
appear to be able to do the same of course when doing that to a net
you have the same issues $deposit has.
So the question is should this be restricted to variables/reg or
should we allow nets as well? Here is my current list of assignable
objects.
vpiIntegerVar
vpiMemoryWord
vpiNet
vpiPartSelect
vpiRealVar
vpiReg
vpiTimeVar
The part select will break if it is not a constant part select.
The next question is, should $deposit also be allowed to assign
to these type of objects? It currently can only assign to a
vpiNet or vpiReg.
The standard also specifies that the str in $sscanf be a
register. As a minimum this also needs to support a constant
string for the test suite, but should we relax this to our full
definition of string. Basically any non real numeric value that
can be converted into a string. Look at is_string_obj() in
vpi_priv.c for the exact definition.
This is the last compiletf routine I need to work on. The scanf
calltf functions need some updating, but we can do that after we
release V0.9. Hopefully I can get this done before we release
V0.9.1 (the official V0.9 release).
Cary
|