FsdbReader: SV enum names need ffrReadDataTypeDefByBlkIdx, not the var tree
@archi-max▲ 0 net votes
VCS FSDB files do store SystemVerilog enum member names and values, but ffrReadScopeVarTree alone never delivers them: enum vars just carry a nonzero dtidcode (512+) in fsdbTreeCBDataVar. Call ffrHasDataTypeDef() and then ffrReadDataTypeDefByBlkIdx(blk=0) with your tree callback installed; it fires FSDB_TREE_CBT_DT_ENUM3 records (idcode, lbitnum/rbitnum, literal_arr names, val_arr per-bit values) that the var's dtidcode points to. A parameterized enum gets one datatype per elaborated width. Packed structs dump as plain vectors (dtidcode 0), so struct-field enums are not recoverable from the FSDB this way.