diff --git a/vpi/sys_fst.c b/vpi/sys_fst.c index 4e0e5a8f0..228e4ea04 100644 --- a/vpi/sys_fst.c +++ b/vpi/sys_fst.c @@ -503,11 +503,16 @@ static void scan_item(unsigned depth, vpiHandle item, int skip) item_type = vpi_get(vpiType, item); switch (item_type) { case vpiNamedEvent: type = FST_VT_VCD_EVENT; break; + case vpiIntVar: case vpiIntegerVar: type = FST_VT_VCD_INTEGER; break; case vpiParameter: type = FST_VT_VCD_PARAMETER; break; /* Icarus converts realtime to real. */ case vpiRealVar: type = FST_VT_VCD_REAL; break; case vpiMemoryWord: + case vpiBitVar: + case vpiByteVar: + case vpiShortIntVar: + case vpiLongIntVar: case vpiReg: type = FST_VT_VCD_REG; break; /* Icarus converts a time to a plain register. */ 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 vpiIntegerVar: + case vpiBitVar: + case vpiByteVar: + case vpiShortIntVar: + case vpiIntVar: + case vpiLongIntVar: case vpiRealVar: case vpiMemoryWord: case vpiReg: @@ -791,6 +801,11 @@ static PLI_INT32 sys_dumpvars_calltf(ICARUS_VPI_CONST PLI_BYTE8*name) * been included. */ switch (item_type) { case vpiIntegerVar: + case vpiBitVar: + case vpiByteVar: + case vpiShortIntVar: + case vpiIntVar: + case vpiLongIntVar: case vpiMemoryWord: case vpiNamedEvent: case vpiNet: diff --git a/vpi/sys_lxt.c b/vpi/sys_lxt.c index 1576229f8..7879cba81 100644 --- a/vpi/sys_lxt.c +++ b/vpi/sys_lxt.c @@ -557,6 +557,11 @@ static void scan_item(unsigned depth, vpiHandle item, int skip) item = vpi_handle_by_index(array, idx); } case vpiIntegerVar: + case vpiBitVar: + case vpiByteVar: + case vpiShortIntVar: + case vpiIntVar: + case vpiLongIntVar: case vpiTimeVar: case vpiReg: type = "reg"; } diff --git a/vpi/sys_lxt2.c b/vpi/sys_lxt2.c index 3032f6345..0a558138c 100644 --- a/vpi/sys_lxt2.c +++ b/vpi/sys_lxt2.c @@ -620,6 +620,11 @@ static void scan_item(unsigned depth, vpiHandle item, int skip) item = vpi_handle_by_index(array, idx); } case vpiIntegerVar: + case vpiBitVar: + case vpiByteVar: + case vpiShortIntVar: + case vpiIntVar: + case vpiLongIntVar: case vpiTimeVar: case vpiReg: type = "reg"; } diff --git a/vpi/sys_vcd.c b/vpi/sys_vcd.c index e027608af..22ba24621 100644 --- a/vpi/sys_vcd.c +++ b/vpi/sys_vcd.c @@ -532,11 +532,16 @@ static void scan_item(unsigned depth, vpiHandle item, int skip) item_type = vpi_get(vpiType, item); switch (item_type) { case vpiNamedEvent: type = "event"; break; + case vpiIntVar: case vpiIntegerVar: type = "integer"; break; case vpiParameter: type = "parameter"; break; /* Icarus converts realtime to real. */ case vpiRealVar: type = "real"; break; case vpiMemoryWord: + case vpiBitVar: + case vpiByteVar: + case vpiShortIntVar: + case vpiLongIntVar: case vpiReg: type = "reg"; break; /* Icarus converts a time to a plain register. */ case vpiTimeVar: type = "time"; break; @@ -601,12 +606,18 @@ static void scan_item(unsigned depth, vpiHandle item, int skip) case vpiNamedEvent: case vpiIntegerVar: + case vpiBitVar: + case vpiByteVar: + case vpiShortIntVar: + case vpiIntVar: + case vpiLongIntVar: case vpiRealVar: case vpiMemoryWord: case vpiReg: case vpiTimeVar: case vpiNet: + /* If we are skipping all signal or this is in an automatic * scope then just 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. */ switch (item_type) { case vpiIntegerVar: + case vpiBitVar: + case vpiByteVar: + case vpiShortIntVar: + case vpiIntVar: + case vpiLongIntVar: case vpiMemoryWord: case vpiNamedEvent: case vpiNet: diff --git a/vpi/vcd_priv.c b/vpi/vcd_priv.c index dcbb59fbe..e95a87309 100644 --- a/vpi/vcd_priv.c +++ b/vpi/vcd_priv.c @@ -189,6 +189,11 @@ PLI_INT32 sys_dumpvars_compiletf(ICARUS_VPI_CONST PLI_BYTE8 *name) case vpiNet: case vpiReg: case vpiIntegerVar: + case vpiBitVar: + case vpiByteVar: + case vpiShortIntVar: + case vpiIntVar: + case vpiLongIntVar: case vpiTimeVar: case vpiRealVar: case vpiNamedEvent: