Add support to dump the two-state variables.
Add support to dump the two-state variables (bit, byte, short, int and long) using the fst, lxt, lxt2 and vcd dumpers.
This commit is contained in:
parent
dd9962c221
commit
8383188292
|
|
@ -503,11 +503,16 @@ static void scan_item(unsigned depth, vpiHandle item, int skip)
|
||||||
item_type = vpi_get(vpiType, item);
|
item_type = vpi_get(vpiType, item);
|
||||||
switch (item_type) {
|
switch (item_type) {
|
||||||
case vpiNamedEvent: type = FST_VT_VCD_EVENT; break;
|
case vpiNamedEvent: type = FST_VT_VCD_EVENT; break;
|
||||||
|
case vpiIntVar:
|
||||||
case vpiIntegerVar: type = FST_VT_VCD_INTEGER; break;
|
case vpiIntegerVar: type = FST_VT_VCD_INTEGER; break;
|
||||||
case vpiParameter: type = FST_VT_VCD_PARAMETER; break;
|
case vpiParameter: type = FST_VT_VCD_PARAMETER; break;
|
||||||
/* Icarus converts realtime to real. */
|
/* Icarus converts realtime to real. */
|
||||||
case vpiRealVar: type = FST_VT_VCD_REAL; break;
|
case vpiRealVar: type = FST_VT_VCD_REAL; break;
|
||||||
case vpiMemoryWord:
|
case vpiMemoryWord:
|
||||||
|
case vpiBitVar:
|
||||||
|
case vpiByteVar:
|
||||||
|
case vpiShortIntVar:
|
||||||
|
case vpiLongIntVar:
|
||||||
case vpiReg: type = FST_VT_VCD_REG; break;
|
case vpiReg: type = FST_VT_VCD_REG; break;
|
||||||
/* Icarus converts a time to a plain register. */
|
/* Icarus converts a time to a plain register. */
|
||||||
case vpiTimeVar: type = FST_VT_VCD_TIME; break;
|
case vpiTimeVar: type = FST_VT_VCD_TIME; break;
|
||||||
|
|
@ -572,6 +577,11 @@ static void scan_item(unsigned depth, vpiHandle item, int skip)
|
||||||
|
|
||||||
case vpiNamedEvent:
|
case vpiNamedEvent:
|
||||||
case vpiIntegerVar:
|
case vpiIntegerVar:
|
||||||
|
case vpiBitVar:
|
||||||
|
case vpiByteVar:
|
||||||
|
case vpiShortIntVar:
|
||||||
|
case vpiIntVar:
|
||||||
|
case vpiLongIntVar:
|
||||||
case vpiRealVar:
|
case vpiRealVar:
|
||||||
case vpiMemoryWord:
|
case vpiMemoryWord:
|
||||||
case vpiReg:
|
case vpiReg:
|
||||||
|
|
@ -791,6 +801,11 @@ static PLI_INT32 sys_dumpvars_calltf(ICARUS_VPI_CONST PLI_BYTE8*name)
|
||||||
* been included. */
|
* been included. */
|
||||||
switch (item_type) {
|
switch (item_type) {
|
||||||
case vpiIntegerVar:
|
case vpiIntegerVar:
|
||||||
|
case vpiBitVar:
|
||||||
|
case vpiByteVar:
|
||||||
|
case vpiShortIntVar:
|
||||||
|
case vpiIntVar:
|
||||||
|
case vpiLongIntVar:
|
||||||
case vpiMemoryWord:
|
case vpiMemoryWord:
|
||||||
case vpiNamedEvent:
|
case vpiNamedEvent:
|
||||||
case vpiNet:
|
case vpiNet:
|
||||||
|
|
|
||||||
|
|
@ -557,6 +557,11 @@ static void scan_item(unsigned depth, vpiHandle item, int skip)
|
||||||
item = vpi_handle_by_index(array, idx);
|
item = vpi_handle_by_index(array, idx);
|
||||||
}
|
}
|
||||||
case vpiIntegerVar:
|
case vpiIntegerVar:
|
||||||
|
case vpiBitVar:
|
||||||
|
case vpiByteVar:
|
||||||
|
case vpiShortIntVar:
|
||||||
|
case vpiIntVar:
|
||||||
|
case vpiLongIntVar:
|
||||||
case vpiTimeVar:
|
case vpiTimeVar:
|
||||||
case vpiReg: type = "reg"; }
|
case vpiReg: type = "reg"; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -620,6 +620,11 @@ static void scan_item(unsigned depth, vpiHandle item, int skip)
|
||||||
item = vpi_handle_by_index(array, idx);
|
item = vpi_handle_by_index(array, idx);
|
||||||
}
|
}
|
||||||
case vpiIntegerVar:
|
case vpiIntegerVar:
|
||||||
|
case vpiBitVar:
|
||||||
|
case vpiByteVar:
|
||||||
|
case vpiShortIntVar:
|
||||||
|
case vpiIntVar:
|
||||||
|
case vpiLongIntVar:
|
||||||
case vpiTimeVar:
|
case vpiTimeVar:
|
||||||
case vpiReg: type = "reg"; }
|
case vpiReg: type = "reg"; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -532,11 +532,16 @@ static void scan_item(unsigned depth, vpiHandle item, int skip)
|
||||||
item_type = vpi_get(vpiType, item);
|
item_type = vpi_get(vpiType, item);
|
||||||
switch (item_type) {
|
switch (item_type) {
|
||||||
case vpiNamedEvent: type = "event"; break;
|
case vpiNamedEvent: type = "event"; break;
|
||||||
|
case vpiIntVar:
|
||||||
case vpiIntegerVar: type = "integer"; break;
|
case vpiIntegerVar: type = "integer"; break;
|
||||||
case vpiParameter: type = "parameter"; break;
|
case vpiParameter: type = "parameter"; break;
|
||||||
/* Icarus converts realtime to real. */
|
/* Icarus converts realtime to real. */
|
||||||
case vpiRealVar: type = "real"; break;
|
case vpiRealVar: type = "real"; break;
|
||||||
case vpiMemoryWord:
|
case vpiMemoryWord:
|
||||||
|
case vpiBitVar:
|
||||||
|
case vpiByteVar:
|
||||||
|
case vpiShortIntVar:
|
||||||
|
case vpiLongIntVar:
|
||||||
case vpiReg: type = "reg"; break;
|
case vpiReg: type = "reg"; break;
|
||||||
/* Icarus converts a time to a plain register. */
|
/* Icarus converts a time to a plain register. */
|
||||||
case vpiTimeVar: type = "time"; break;
|
case vpiTimeVar: type = "time"; break;
|
||||||
|
|
@ -601,12 +606,18 @@ static void scan_item(unsigned depth, vpiHandle item, int skip)
|
||||||
|
|
||||||
case vpiNamedEvent:
|
case vpiNamedEvent:
|
||||||
case vpiIntegerVar:
|
case vpiIntegerVar:
|
||||||
|
case vpiBitVar:
|
||||||
|
case vpiByteVar:
|
||||||
|
case vpiShortIntVar:
|
||||||
|
case vpiIntVar:
|
||||||
|
case vpiLongIntVar:
|
||||||
case vpiRealVar:
|
case vpiRealVar:
|
||||||
case vpiMemoryWord:
|
case vpiMemoryWord:
|
||||||
case vpiReg:
|
case vpiReg:
|
||||||
case vpiTimeVar:
|
case vpiTimeVar:
|
||||||
case vpiNet:
|
case vpiNet:
|
||||||
|
|
||||||
|
|
||||||
/* If we are skipping all signal or this is in an automatic
|
/* If we are skipping all signal or this is in an automatic
|
||||||
* scope then just return. */
|
* scope then just return. */
|
||||||
if (skip || vpi_get(vpiAutomatic, item)) return;
|
if (skip || vpi_get(vpiAutomatic, item)) return;
|
||||||
|
|
@ -787,6 +798,11 @@ static PLI_INT32 sys_dumpvars_calltf(ICARUS_VPI_CONST PLI_BYTE8*name)
|
||||||
* been included. */
|
* been included. */
|
||||||
switch (item_type) {
|
switch (item_type) {
|
||||||
case vpiIntegerVar:
|
case vpiIntegerVar:
|
||||||
|
case vpiBitVar:
|
||||||
|
case vpiByteVar:
|
||||||
|
case vpiShortIntVar:
|
||||||
|
case vpiIntVar:
|
||||||
|
case vpiLongIntVar:
|
||||||
case vpiMemoryWord:
|
case vpiMemoryWord:
|
||||||
case vpiNamedEvent:
|
case vpiNamedEvent:
|
||||||
case vpiNet:
|
case vpiNet:
|
||||||
|
|
|
||||||
|
|
@ -189,6 +189,11 @@ PLI_INT32 sys_dumpvars_compiletf(ICARUS_VPI_CONST PLI_BYTE8 *name)
|
||||||
case vpiNet:
|
case vpiNet:
|
||||||
case vpiReg:
|
case vpiReg:
|
||||||
case vpiIntegerVar:
|
case vpiIntegerVar:
|
||||||
|
case vpiBitVar:
|
||||||
|
case vpiByteVar:
|
||||||
|
case vpiShortIntVar:
|
||||||
|
case vpiIntVar:
|
||||||
|
case vpiLongIntVar:
|
||||||
case vpiTimeVar:
|
case vpiTimeVar:
|
||||||
case vpiRealVar:
|
case vpiRealVar:
|
||||||
case vpiNamedEvent:
|
case vpiNamedEvent:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue